@savvy-web/silk 3.15.2 → 4.0.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.
@@ -34,11 +34,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
34
34
  enumerable: true
35
35
  }) : target, mod));
36
36
  //#endregion
37
- let _effected_templates = require("@effected/templates");
38
37
  let effect = require("effect");
38
+ let _effected_templates = require("@effected/templates");
39
+ let _effected_workspaces = require("@effected/workspaces");
39
40
  let node_path = require("node:path");
40
41
  node_path = __toESM(node_path, 1);
41
- let _effected_workspaces = require("@effected/workspaces");
42
42
  let node_fs_promises = require("node:fs/promises");
43
43
  node_fs_promises = __toESM(node_fs_promises, 1);
44
44
  let node_util = require("node:util");
@@ -79,7 +79,7 @@ let semver_functions_gt_js = require("semver/functions/gt.js");
79
79
  semver_functions_gt_js = __toESM(semver_functions_gt_js, 1);
80
80
  let semver_functions_inc_js = require("semver/functions/inc.js");
81
81
  semver_functions_inc_js = __toESM(semver_functions_inc_js, 1);
82
- //#region ../silk-effects/dist/dev/pkg/errors/ChangesetConfigError.js
82
+ //#region ../silk-core/dist/dev/pkg/errors/ChangesetConfigError.js
83
83
  /**
84
84
  * Raised when the `.changeset/config.json` file cannot be read or decoded.
85
85
  *
@@ -96,7 +96,441 @@ var ChangesetConfigError = class extends effect.Data.TaggedError("ChangesetConfi
96
96
  }
97
97
  };
98
98
  //#endregion
99
- //#region ../silk-effects/dist/dev/pkg/schemas/VersioningSchemas.js
99
+ //#region ../silk-core/dist/dev/pkg/errors/PublishTargetBindingError.js
100
+ /**
101
+ * Raised when publishability detection selects a directory that the package's
102
+ * `dist/prod/targets.json` binding does not describe.
103
+ *
104
+ * @remarks
105
+ * The bundler's prod build writes `targets.json` naming every byte-group
106
+ * directory it produced. Once that binding exists it is authoritative: the only
107
+ * directories whose bytes may be published are the ones it lists. A detector
108
+ * that returns anything else — most often `publishConfig.directory` pointing at
109
+ * a **dev** build, because silk mode was misdetected — is about to pack an
110
+ * unresolved workspace manifest and ship it to a registry.
111
+ *
112
+ * That is the `yaml-effect@0.7.1` failure: detection picked `dist/dev/pkg`, the
113
+ * dev manifest still carried `catalog:` specifiers, and the published package
114
+ * was uninstallable (`EUNSUPPORTEDPROTOCOL`).
115
+ *
116
+ * @since 3.1.0
117
+ * @public
118
+ */
119
+ var PublishTargetBindingError = class extends effect.Data.TaggedError("PublishTargetBindingError") {
120
+ get message() {
121
+ return `Package ${this.pkg} resolved publish directory "${this.directory}", which is not one of the directories bound by dist/prod/targets.json (${this.boundDirectories.join(", ")}). This means publishability detection did not select the prod build output — refusing to publish before packing an unresolved manifest.`;
122
+ }
123
+ };
124
+ //#endregion
125
+ //#region ../../node_modules/.pnpm/@effected+github-references@0.3.0_effect@4.0.0-rc.115/node_modules/@effected/github-references/IssueReferences.js
126
+ /**
127
+ * GitHub's closing-keyword issue-reference grammar, as pure functions.
128
+ *
129
+ * @remarks
130
+ * GitHub links an issue to a pull request when the PR's description carries
131
+ * `<keyword> #<number>` for one of nine documented keywords. Consumers speak
132
+ * that grammar in two distinct dialects, and this module models exactly those
133
+ * two — no service, no layer, nothing but strings in and values out:
134
+ *
135
+ * - **Inline-in-prose** ({@link harvestIssueReferences}): a reference may appear anywhere in
136
+ * running text — `"fixes #12 and closes #13"` — with mandatory whitespace
137
+ * and **no colon**, because that is the spelling GitHub itself scans PR
138
+ * bodies for. This is the dialect a release pipeline harvests from commit
139
+ * subjects and PR descriptions.
140
+ * - **Bare-line** ({@link parseBareLineReference}): the whole line, after trimming, *is*
141
+ * the reference — `"Closes: #12"` — with an **optional colon**, because a
142
+ * generated references region writes one reference per line and a colon
143
+ * reads better there. GitHub does not require the colon; the region format
144
+ * allows it, so the parser must too. The dialects differ because their
145
+ * producers do: prose is written by humans for GitHub's scanner, the region
146
+ * is written by tooling for humans.
147
+ *
148
+ * Deliberately out of scope this round: cross-repo references
149
+ * (`owner/repo#N`) and full-URL references
150
+ * (`https://github.com/owner/repo/issues/N`). Both are real GitHub spellings;
151
+ * neither dialect's consumers emit them yet, and guessing at their shape here
152
+ * would freeze an API nobody has driven.
153
+ */
154
+ /**
155
+ * The nine closing keywords GitHub documents, lowercased.
156
+ *
157
+ * @public
158
+ */
159
+ const CLOSING_KEYWORDS = [
160
+ "close",
161
+ "closes",
162
+ "closed",
163
+ "fix",
164
+ "fixes",
165
+ "fixed",
166
+ "resolve",
167
+ "resolves",
168
+ "resolved"
169
+ ];
170
+ /**
171
+ * Both patterns derive from {@link CLOSING_KEYWORDS} so the constant and the
172
+ * grammar cannot drift. Alternation order is safe: the regex engine backtracks
173
+ * through alternatives, so `close` matching inside `closes` fails at the
174
+ * mandatory `#`-introducer and retries the longer keyword.
175
+ */
176
+ const KEYWORDS = CLOSING_KEYWORDS.join("|");
177
+ new RegExp(`\\b(${KEYWORDS})\\s+#(\\d+)`, "gi");
178
+ new RegExp(`^(${KEYWORDS}):?[ \\t]+#(\\d+)$`, "i");
179
+ //#endregion
180
+ //#region ../../node_modules/.pnpm/@effected+github-references@0.3.0_effect@4.0.0-rc.115/node_modules/@effected/github-references/ClosingList.js
181
+ /**
182
+ * The closing-list dialect: one whole line naming several issues at once.
183
+ *
184
+ * @remarks
185
+ * The third dialect, alongside the two in `IssueReferences`: after trimming,
186
+ * the **entire** line must be `<keyword>[:] <list>` — keyword
187
+ * case-insensitive (lowercased to canonical form in the result), colon
188
+ * optional, and the list one or more `#<digits>` items separated by `,`,
189
+ * `and`, or the Oxford `, and`. Whitespace inside the line is `[ \t]` only,
190
+ * so an embedded newline cannot smuggle two lines past a parser whose
191
+ * contract is one — the same posture as the bare-line pattern. Any trailing
192
+ * content after the list rejects the line; duplicates are preserved in order,
193
+ * because whether `#1, #1` means one issue or two is the caller's business.
194
+ *
195
+ * Two keyword sets play here. {@link parseClosingList} accepts only the nine
196
+ * closing keywords and yields a {@link ClosingList}; {@link parseReferenceList}
197
+ * additionally accepts the non-closing {@link REFERENCE_KEYWORDS} (`ref`,
198
+ * `refs`, `references`) and reports which set matched via
199
+ * {@link ReferenceList}'s `closing` flag.
200
+ *
201
+ * An item whose digits exceed `Number.MAX_SAFE_INTEGER` rejects the **whole
202
+ * line**, where `harvestIssueReferences` merely skips the one match. The
203
+ * asymmetry is deliberate: a harvest drops one reference out of running
204
+ * prose, but a list line is a single claim about a set of issues, and
205
+ * returning the parseable subset would misrepresent the line as claiming
206
+ * less than it does.
207
+ *
208
+ * Complexity posture: parsing is a single left-to-right character scan —
209
+ * this module contains **no regular expressions at all** — so worst-case
210
+ * time is linear in the line length by construction. There is no
211
+ * backtracking engine to feed, no polynomial blow-up for a scanner to flag,
212
+ * and therefore no input truncation.
213
+ *
214
+ * Beyond the whole-line parsers, {@link harvestReferenceLists} generalizes
215
+ * the same list grammar to the inline-in-prose posture — several lists on
216
+ * one line of running text — and {@link parseClosingLists} /
217
+ * {@link parseReferenceLists} apply the whole-line parsers per line of a
218
+ * multi-line text. All of them ride the same character scan; the no-regex
219
+ * promise above covers every export here.
220
+ */
221
+ /**
222
+ * The non-closing reference keywords the list dialect accepts, lowercased.
223
+ *
224
+ * @remarks
225
+ * GitHub does not act on these — they associate without closing — but a
226
+ * references region writes them, so the parser must read them.
227
+ *
228
+ * @public
229
+ */
230
+ const REFERENCE_KEYWORDS = [
231
+ "ref",
232
+ "refs",
233
+ "references"
234
+ ];
235
+ /**
236
+ * Both keyword tables ARE the exported constants — membership sets built from
237
+ * them once — so the constants and the grammar cannot drift.
238
+ */
239
+ const ALL_KEYWORDS = /* @__PURE__ */ new Set([...CLOSING_KEYWORDS, ...REFERENCE_KEYWORDS]);
240
+ /** Membership test for reporting `closing`, widened once so no call casts. */
241
+ const CLOSING_SET = new Set(CLOSING_KEYWORDS);
242
+ const HASH = 35;
243
+ const COLON = 58;
244
+ const COMMA = 44;
245
+ /** `[ \t]` — the only whitespace the dialect admits, per the module remarks. */
246
+ const isSpaceTab = (code) => code === 32 || code === 9;
247
+ const isDigit$2 = (code) => code >= 48 && code <= 57;
248
+ const isAsciiLetter = (code) => code >= 65 && code <= 90 || code >= 97 && code <= 122;
249
+ /** The index after the run of `[ \t]` starting at `from` (possibly `from` itself). */
250
+ const skipSpaceTab = (line, from) => {
251
+ let index = from;
252
+ while (index < line.length && isSpaceTab(line.charCodeAt(index))) index += 1;
253
+ return index;
254
+ };
255
+ /**
256
+ * One list item at exactly `from`: `#<digits>` and the index one past it.
257
+ * Digits exceeding `Number.MAX_SAFE_INTEGER` report `"unsafe"` rather than a
258
+ * silently rounded issue number, still carrying the index one past the digit
259
+ * run so a caller can skip the item's extent; the whole-line parsers reject
260
+ * on it and {@link harvestReferenceLists} abandons the entire candidate —
261
+ * see the module remarks for why a list never yields a partial reading.
262
+ * Anything that is not `#<digits>` at all is `undefined`.
263
+ */
264
+ const readItem = (line, from) => {
265
+ if (line.charCodeAt(from) !== HASH) return void 0;
266
+ const start = from + 1;
267
+ let index = start;
268
+ while (index < line.length && isDigit$2(line.charCodeAt(index))) index += 1;
269
+ if (index === start) return void 0;
270
+ const value = Number(line.slice(start, index));
271
+ return Number.isSafeInteger(value) ? {
272
+ kind: "item",
273
+ value,
274
+ next: index
275
+ } : {
276
+ kind: "unsafe",
277
+ next: index
278
+ };
279
+ };
280
+ /**
281
+ * One separator at exactly `from`: a comma with optional surrounding `[ \t]`
282
+ * and an optional Oxford `and` (consumed only when its own trailing `[ \t]+`
283
+ * is present), or a bare `and` requiring `[ \t]+` on both sides. `and` is
284
+ * lowercase-only — the keyword head is case-insensitive, the separator is
285
+ * not. Returns the index where the next item must start, or `undefined` when
286
+ * no separator is present.
287
+ */
288
+ const scanSeparator = (line, from) => {
289
+ const afterLeading = skipSpaceTab(line, from);
290
+ if (line.charCodeAt(afterLeading) === COMMA) {
291
+ const afterComma = skipSpaceTab(line, afterLeading + 1);
292
+ if (line.startsWith("and", afterComma)) {
293
+ const afterAnd = skipSpaceTab(line, afterComma + 3);
294
+ if (afterAnd > afterComma + 3) return afterAnd;
295
+ }
296
+ return afterComma;
297
+ }
298
+ if (afterLeading > from && line.startsWith("and", afterLeading)) {
299
+ const afterAnd = skipSpaceTab(line, afterLeading + 3);
300
+ if (afterAnd > afterLeading + 3) return afterAnd;
301
+ }
302
+ };
303
+ /**
304
+ * The scan walk: item, then separator, then item, until the cursor stands
305
+ * exactly at the end of the string. Anything else — a malformed item, an
306
+ * unknown separator, trailing content, an unsafe issue number — is
307
+ * `undefined`, and the caller rejects the whole line.
308
+ */
309
+ const parseItems = (line, from) => {
310
+ const issueNumbers = [];
311
+ let cursor = from;
312
+ for (;;) {
313
+ const item = readItem(line, cursor);
314
+ if (item === void 0 || item.kind === "unsafe") return void 0;
315
+ issueNumbers.push(item.value);
316
+ cursor = item.next;
317
+ if (cursor === line.length) return issueNumbers;
318
+ const next = scanSeparator(line, cursor);
319
+ if (next === void 0) return void 0;
320
+ cursor = next;
321
+ }
322
+ };
323
+ /**
324
+ * The list a whole line carries under either keyword set, or `Option.none()`.
325
+ *
326
+ * @remarks
327
+ * Accepts the nine closing keywords plus {@link REFERENCE_KEYWORDS}, and
328
+ * reports which set matched in the result's `closing` flag. Grammar,
329
+ * whole-line posture and the whole-line rejection of unsafe issue numbers
330
+ * are in the module remarks.
331
+ *
332
+ * @public
333
+ */
334
+ const parseReferenceList = (line) => {
335
+ const trimmed = line.trim();
336
+ let letters = 0;
337
+ while (letters < trimmed.length && isAsciiLetter(trimmed.charCodeAt(letters))) letters += 1;
338
+ if (letters === 0) return effect.Option.none();
339
+ const keyword = trimmed.slice(0, letters).toLowerCase();
340
+ if (!ALL_KEYWORDS.has(keyword)) return effect.Option.none();
341
+ let cursor = letters;
342
+ if (trimmed.charCodeAt(cursor) === COLON) cursor += 1;
343
+ const afterWhitespace = skipSpaceTab(trimmed, cursor);
344
+ if (afterWhitespace === cursor) return effect.Option.none();
345
+ const issueNumbers = parseItems(trimmed, afterWhitespace);
346
+ if (issueNumbers === void 0) return effect.Option.none();
347
+ return effect.Option.some({
348
+ keyword,
349
+ closing: CLOSING_SET.has(keyword),
350
+ issueNumbers
351
+ });
352
+ };
353
+ /**
354
+ * Every reference list a text carries, line by line, across both postures.
355
+ *
356
+ * @remarks
357
+ * The trailer/prose interleave consumers otherwise hand-roll: each line is
358
+ * tried as a whole-line reference list first ({@link parseReferenceList} —
359
+ * colon-tolerant, per the line dialect), and only a line that is not one is
360
+ * harvested inline ({@link harvestReferenceLists} — no colon, per the inline
361
+ * dialect). The preference means a colon-less trailer line contributes its
362
+ * list exactly once, never once per posture.
363
+ *
364
+ * Results carry no offsets, deliberately: this is the line-granular
365
+ * composition, and a consumer that needs spans uses
366
+ * {@link harvestReferenceLists} directly. Duplicates are preserved, in
367
+ * document order.
368
+ *
369
+ * @public
370
+ */
371
+ const collectReferenceLists = (text) => {
372
+ const lists = [];
373
+ for (const line of text.split("\n")) {
374
+ const whole = parseReferenceList(line);
375
+ if (effect.Option.isSome(whole)) {
376
+ lists.push(whole.value);
377
+ continue;
378
+ }
379
+ for (const harvested of harvestReferenceLists(line)) lists.push({
380
+ keyword: harvested.keyword,
381
+ closing: harvested.closing,
382
+ issueNumbers: harvested.issueNumbers
383
+ });
384
+ }
385
+ return lists;
386
+ };
387
+ /** `[A-Za-z0-9_]` — the word-boundary alphabet the inline dialects use. */
388
+ const isWordChar = (code) => isAsciiLetter(code) || isDigit$2(code) || code === 95;
389
+ /**
390
+ * The full JavaScript `\s` set, spelled as a predicate so the module keeps
391
+ * its no-regex promise: ASCII whitespace, NEL-adjacent controls, and the
392
+ * Unicode space separators. Only the keyword→first-item gap of
393
+ * {@link harvestReferenceLists} admits this set — everything inside a list
394
+ * stays `[ \t]`, per the module remarks.
395
+ */
396
+ const isAnyWhitespace = (code) => code === 32 || code >= 9 && code <= 13 || code === 160 || code === 5760 || code >= 8192 && code <= 8202 || code === 8232 || code === 8233 || code === 8239 || code === 8287 || code === 12288 || code === 65279;
397
+ /**
398
+ * Every reference list found inline in `text`, in document order.
399
+ *
400
+ * @remarks
401
+ * The inline-in-prose posture generalized to lists:
402
+ * `Closes #123, Fixes #456` in one line of a commit body yields two
403
+ * single-item lists, where
404
+ * `harvestIssueReferences` reads only the first reference of each and the
405
+ * whole-line parsers read neither. The grammar per candidate:
406
+ *
407
+ * - The keyword is case-insensitive, drawn from either keyword set,
408
+ * lowercased to canonical form in the result, with `closing` reported by
409
+ * set membership. Word boundaries hold on both sides: the characters
410
+ * immediately before and after the keyword's letter run must not be
411
+ * `[A-Za-z0-9_]`, so `recloses #1` and `1closes #1` do not match.
412
+ * - **No colon** — exactly like `harvestIssueReferences`, the colon spelling
413
+ * belongs to the line dialects ({@link parseReferenceList} and the
414
+ * bare-line parser), so `closes: #1` inline yields nothing.
415
+ * - The keyword→first-item gap is any run of whitespace **including
416
+ * newlines**, mirroring the inline dialect's `\s+`.
417
+ * - List continuation uses the `,` / `and` / Oxford separators with `[ \t]`
418
+ * whitespace only, so a list cannot continue past a newline — a later
419
+ * line makes its own claims.
420
+ * - Items are `#<digits>`; duplicates are preserved in order.
421
+ *
422
+ * A list ends at its last valid item: in `closes #1 and fixes #2` the
423
+ * ` and ` before `fixes` fails as a separator because what follows is not
424
+ * `#`, so the text yields `closes: [1]` then `fixes: [2]`. An item past
425
+ * `Number.MAX_SAFE_INTEGER` anywhere in a candidate skips the **entire**
426
+ * candidate — never a partial list, for the same reason
427
+ * {@link parseReferenceList} rejects the whole line — and scanning resumes
428
+ * after the candidate's scanned extent.
429
+ *
430
+ * Like everything in this module, the harvest is a single left-to-right
431
+ * character scan with no regular expressions, so time stays linear in the
432
+ * text length and no input is truncated.
433
+ *
434
+ * @public
435
+ */
436
+ const harvestReferenceLists = (text) => {
437
+ const lists = [];
438
+ let index = 0;
439
+ while (index < text.length) {
440
+ if (!isAsciiLetter(text.charCodeAt(index))) {
441
+ index += 1;
442
+ continue;
443
+ }
444
+ const runStart = index;
445
+ let runEnd = index + 1;
446
+ while (runEnd < text.length && isAsciiLetter(text.charCodeAt(runEnd))) runEnd += 1;
447
+ if (runStart > 0 && isWordChar(text.charCodeAt(runStart - 1)) || runEnd < text.length && isWordChar(text.charCodeAt(runEnd))) {
448
+ index = runEnd;
449
+ continue;
450
+ }
451
+ const keyword = text.slice(runStart, runEnd).toLowerCase();
452
+ if (!ALL_KEYWORDS.has(keyword)) {
453
+ index = runEnd;
454
+ continue;
455
+ }
456
+ let cursor = runEnd;
457
+ while (cursor < text.length && isAnyWhitespace(text.charCodeAt(cursor))) cursor += 1;
458
+ const first = cursor === runEnd ? void 0 : readItem(text, cursor);
459
+ if (first === void 0) {
460
+ index = runEnd;
461
+ continue;
462
+ }
463
+ if (first.kind === "unsafe") {
464
+ index = first.next;
465
+ continue;
466
+ }
467
+ const issueNumbers = [first.value];
468
+ let end = first.next;
469
+ let unsafeNext;
470
+ for (;;) {
471
+ const next = scanSeparator(text, end);
472
+ if (next === void 0) break;
473
+ const item = readItem(text, next);
474
+ if (item === void 0) break;
475
+ if (item.kind === "unsafe") {
476
+ unsafeNext = item.next;
477
+ break;
478
+ }
479
+ issueNumbers.push(item.value);
480
+ end = item.next;
481
+ }
482
+ if (unsafeNext !== void 0) {
483
+ index = unsafeNext;
484
+ continue;
485
+ }
486
+ lists.push({
487
+ keyword,
488
+ closing: CLOSING_SET.has(keyword),
489
+ issueNumbers,
490
+ start: runStart,
491
+ end
492
+ });
493
+ index = end;
494
+ }
495
+ return lists;
496
+ };
497
+ //#endregion
498
+ //#region ../../node_modules/.pnpm/@effected+github-references@0.3.0_effect@4.0.0-rc.115/node_modules/@effected/github-references/KeywordFamily.js
499
+ /**
500
+ * The projection table IS the totality proof: `Record` over the union of
501
+ * both keyword types makes a keyword added to either constant without an
502
+ * entry here fail to compile.
503
+ */
504
+ const FAMILIES = {
505
+ close: "close",
506
+ closes: "close",
507
+ closed: "close",
508
+ fix: "fix",
509
+ fixes: "fix",
510
+ fixed: "fix",
511
+ resolve: "resolve",
512
+ resolves: "resolve",
513
+ resolved: "resolve",
514
+ ref: "ref",
515
+ refs: "ref",
516
+ references: "ref"
517
+ };
518
+ /**
519
+ * The family a keyword belongs to.
520
+ *
521
+ * @remarks
522
+ * Total over both keyword sets by construction — see the module remarks for
523
+ * why an explicit record beats a `startsWith` heuristic. `close`, `closes`
524
+ * and `closed` map to `"close"`; the `fix` and `resolve` conjugations
525
+ * likewise; `ref`, `refs` and `references` map to `"ref"`. The evidence for
526
+ * the projection is downstream: categorized harvesters key maps by family,
527
+ * and each was hand-rolling this collapse.
528
+ *
529
+ * @public
530
+ */
531
+ const keywordFamily = (keyword) => FAMILIES[keyword];
532
+ //#endregion
533
+ //#region ../silk-core/dist/dev/pkg/schemas/VersioningSchemas.js
100
534
  /**
101
535
  * Configuration for how private packages are handled during versioning.
102
536
  *
@@ -168,7 +602,7 @@ const ChangesetConfigFile = effect.Schema.Struct({
168
602
  *
169
603
  * @remarks
170
604
  * Extends {@link (ChangesetConfigFile:type)} with a `_isSilk` marker flag that is automatically
171
- * set to `true`. Detected by {@link ChangesetConfigReader} when the `changelog` field
605
+ * set to `true`. Detected by `ChangesetConfigReader` when the `changelog` field
172
606
  * references `@savvy-web/changesets`.
173
607
  *
174
608
  * @since 0.1.0
@@ -179,6 +613,25 @@ const SilkChangesetConfigFile = effect.Schema.Struct({
179
613
  _isSilk: effect.Schema.Boolean.pipe(effect.Schema.withDecodingDefaultType(effect.Effect.succeed(true)), effect.Schema.withConstructorDefault(effect.Effect.succeed(true)))
180
614
  });
181
615
  //#endregion
616
+ //#region ../silk-core/dist/dev/pkg/utils/TrailingSlash.js
617
+ /**
618
+ * Trim trailing slashes from a string.
619
+ *
620
+ * @remarks
621
+ * Trims trailing slashes with an index scan rather than `/\/+$/`. That regex is
622
+ * unanchored at the start, so the engine retries the match from every position
623
+ * and degrades to O(n²) on a string of many slashes (CodeQL `js/polynomial-redos`).
624
+ * Only a trailing run of slashes is removed; interior slash runs are untouched.
625
+ *
626
+ * @since 0.1.0
627
+ * @public
628
+ */
629
+ const trimTrailingSlashes = (s) => {
630
+ let end = s.length;
631
+ while (end > 0 && s[end - 1] === "/") end -= 1;
632
+ return s.slice(0, end);
633
+ };
634
+ //#endregion
182
635
  //#region ../silk-effects/dist/dev/pkg/services/ChangesetConfigReader.js
183
636
  /**
184
637
  * Substrings that identify a Silk changelog adapter entry in `.changeset/config.json`.
@@ -208,8 +661,8 @@ function isSilkChangelog(changelog) {
208
661
  *
209
662
  * @remarks
210
663
  * Automatically detects whether the config uses the Silk changelog adapter
211
- * (`@savvy-web/changesets`) and decodes as {@link (SilkChangesetConfigFile:type)} or the
212
- * standard {@link (ChangesetConfigFile:type)} accordingly.
664
+ * (`@savvy-web/changesets`) and decodes as `SilkChangesetConfigFile` or the
665
+ * standard `ChangesetConfigFile` accordingly.
213
666
  *
214
667
  * @example
215
668
  * ```typescript
@@ -287,32 +740,6 @@ var ChangesetConfigReader = class extends effect.Context.Service()("@savvy-web/s
287
740
  }));
288
741
  };
289
742
  //#endregion
290
- //#region ../silk-effects/dist/dev/pkg/errors/PublishTargetBindingError.js
291
- /**
292
- * Raised when publishability detection selects a directory that the package's
293
- * `dist/prod/targets.json` binding does not describe.
294
- *
295
- * @remarks
296
- * The bundler's prod build writes `targets.json` naming every byte-group
297
- * directory it produced. Once that binding exists it is authoritative: the only
298
- * directories whose bytes may be published are the ones it lists. A detector
299
- * that returns anything else — most often `publishConfig.directory` pointing at
300
- * a **dev** build, because silk mode was misdetected — is about to pack an
301
- * unresolved workspace manifest and ship it to a registry.
302
- *
303
- * That is the `yaml-effect@0.7.1` failure: detection picked `dist/dev/pkg`, the
304
- * dev manifest still carried `catalog:` specifiers, and the published package
305
- * was uninstallable (`EUNSUPPORTEDPROTOCOL`).
306
- *
307
- * @since 3.1.0
308
- * @public
309
- */
310
- var PublishTargetBindingError = class extends effect.Data.TaggedError("PublishTargetBindingError") {
311
- get message() {
312
- return `Package ${this.pkg} resolved publish directory "${this.directory}", which is not one of the directories bound by dist/prod/targets.json (${this.boundDirectories.join(", ")}). This means publishability detection did not select the prod build output — refusing to publish before packing an unresolved manifest.`;
313
- }
314
- };
315
- //#endregion
316
743
  //#region ../silk-effects/dist/dev/pkg/services/ChangesetConfig.js
317
744
  const isSilk = (cfg) => "_isSilk" in cfg && cfg._isSilk === true;
318
745
  /**
@@ -389,22 +816,6 @@ var ChangesetConfig = class ChangesetConfig extends effect.Context.Service()("@s
389
816
  }));
390
817
  };
391
818
  //#endregion
392
- //#region ../silk-effects/dist/dev/pkg/utils/TrailingSlash.js
393
- /**
394
- * Trim trailing slashes from a string.
395
- *
396
- * @remarks
397
- * Trims trailing slashes with an index scan rather than `/\/+$/`. That regex is
398
- * unanchored at the start, so the engine retries the match from every position
399
- * and degrades to O(n²) on a string of many slashes (CodeQL `js/polynomial-redos`).
400
- * Only a trailing run of slashes is removed; interior slash runs are untouched.
401
- */
402
- const trimTrailingSlashes = (s) => {
403
- let end = s.length;
404
- while (end > 0 && s[end - 1] === "/") end -= 1;
405
- return s.slice(0, end);
406
- };
407
- //#endregion
408
819
  //#region ../silk-effects/dist/dev/pkg/services/SilkPublishability.js
409
820
  const NPM_DEFAULT = "https://registry.npmjs.org/";
410
821
  /**
@@ -527,7 +938,7 @@ var SilkPublishability = class SilkPublishability {
527
938
  * directories it names. A directory outside the binding means detection did
528
939
  * not select the prod output — the `yaml-effect@0.7.1` shape, where a dev
529
940
  * manifest carrying `catalog:` specifiers was packed and published. Rather
530
- * than ship those bytes, fail with {@link PublishTargetBindingError}.
941
+ * than ship those bytes, fail with `PublishTargetBindingError`.
531
942
  *
532
943
  * Before the prod build runs there is no binding, and the detector's
533
944
  * placeholder directories are left alone.
@@ -2655,6 +3066,66 @@ function makeGitHubTest(responses) {
2655
3066
  } });
2656
3067
  }
2657
3068
  //#endregion
3069
+ //#region ../silk-effects/dist/dev/pkg/changesets/utils/logger.js
3070
+ /**
3071
+ * Warning output for changelog generation, parameterised by a
3072
+ * {@link ChangesetLogMode} reference instead of an ambient environment read.
3073
+ *
3074
+ * @remarks
3075
+ * This module is engine code shared by every front end, so it must not read
3076
+ * `process` — a `process.env` read here would bake one host's environment
3077
+ * into every other. The mode is a `Context.Reference` with a default of
3078
+ * `"stderr"`; a front end that knows it runs under GitHub Actions or a test
3079
+ * runner provides `"github"` or `"silent"` from its own `process.env` read.
3080
+ *
3081
+ * @packageDocumentation
3082
+ */
3083
+ /**
3084
+ * The reference that selects the {@link ChangesetLogModeValue}.
3085
+ *
3086
+ * @remarks
3087
+ * Defaults to `"stderr"` when no front end provides it, so a program that
3088
+ * never touches the reference still reports. Provide with
3089
+ * `Layer.succeed(ChangesetLogMode, "github")` or
3090
+ * `Effect.provideService(ChangesetLogMode, "silent")`.
3091
+ *
3092
+ * @example
3093
+ * ```typescript
3094
+ * import { Effect } from "effect";
3095
+ * import { Changesets } from "\@savvy-web/silk-effects";
3096
+ *
3097
+ * const mode = process.env.GITHUB_ACTIONS === "true" ? "github" : "stderr";
3098
+ * program.pipe(Effect.provideService(Changesets.ChangesetLogMode, mode));
3099
+ * ```
3100
+ *
3101
+ * @public
3102
+ */
3103
+ const ChangesetLogMode = effect.Context.Reference("@savvy-web/silk-effects/Changesets/ChangesetLogMode", { defaultValue: () => "stderr" });
3104
+ /**
3105
+ * Log a warning message according to the {@link ChangesetLogMode} in context.
3106
+ *
3107
+ * @param message - The warning message
3108
+ * @param args - Additional arguments (concatenated with a space in `"github"` mode)
3109
+ * @returns An `Effect` that never fails
3110
+ *
3111
+ * @internal
3112
+ */
3113
+ function logWarning(message, ...args) {
3114
+ return effect.Effect.gen(function* () {
3115
+ switch (yield* ChangesetLogMode) {
3116
+ case "silent": return;
3117
+ case "github": {
3118
+ const text = args.length > 0 ? `${message} ${args.join(" ")}` : message;
3119
+ console.warn(`::warning::${text}`);
3120
+ return;
3121
+ }
3122
+ case "stderr":
3123
+ console.warn(message, ...args);
3124
+ return;
3125
+ }
3126
+ });
3127
+ }
3128
+ //#endregion
2658
3129
  //#region ../silk-effects/dist/dev/pkg/changesets/schemas/primitives.js
2659
3130
  /**
2660
3131
  * Primitive reusable schemas for common constrained types.
@@ -2934,7 +3405,7 @@ const DependencyTableRowSchema = effect.Schema.Struct({
2934
3405
  */
2935
3406
  const DependencyTableSchema = effect.Schema.Array(DependencyTableRowSchema).check(effect.Schema.isMinLength(1));
2936
3407
  //#endregion
2937
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/MarkdownNode.js
3408
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/MarkdownNode.js
2938
3409
  /**
2939
3410
  * A single point in a source document: 1-based `line` and `column`, 0-based
2940
3411
  * `offset`.
@@ -3735,7 +4206,7 @@ effect.Schema.suspend(() => effect.Schema.Union([
3735
4206
  TableContent
3736
4207
  ]));
3737
4208
  //#endregion
3738
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/frontmatter.js
4209
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/frontmatter.js
3739
4210
  const FENCES = /* @__PURE__ */ new Map([
3740
4211
  ["---", {
3741
4212
  format: "yaml",
@@ -3789,7 +4260,7 @@ const scanFrontmatter = (lines, text) => {
3789
4260
  return null;
3790
4261
  };
3791
4262
  //#endregion
3792
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/JsoncNode.js
4263
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/JsoncNode.js
3793
4264
  /**
3794
4265
  * Discriminator values for JSONC AST node types: the JSON value types
3795
4266
  * (`string`/`number`/`boolean`/`null`), the structural types
@@ -3964,10 +4435,10 @@ function evaluateNode(node, depth) {
3964
4435
  }
3965
4436
  }
3966
4437
  //#endregion
3967
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/internal/scanner.js
4438
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/internal/scanner.js
3968
4439
  const isWhitespace = (ch) => ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 65279;
3969
4440
  const isLineBreak$1 = (ch) => ch === 10 || ch === 13 || ch === 8232 || ch === 8233;
3970
- const isDigit$2 = (ch) => ch >= 48 && ch <= 57;
4441
+ const isDigit$1 = (ch) => ch >= 48 && ch <= 57;
3971
4442
  /**
3972
4443
  * Create a stateful {@link Scanner} for the given JSONC string.
3973
4444
  *
@@ -4072,31 +4543,31 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4072
4543
  if (text.charCodeAt(pos) === 45) pos++;
4073
4544
  if (text.charCodeAt(pos) === 48) pos++;
4074
4545
  else {
4075
- if (!isDigit$2(text.charCodeAt(pos))) {
4546
+ if (!isDigit$1(text.charCodeAt(pos))) {
4076
4547
  tokenError = "UnexpectedEndOfNumber";
4077
4548
  return text.substring(start, pos);
4078
4549
  }
4079
4550
  pos++;
4080
- while (pos < len && isDigit$2(text.charCodeAt(pos))) pos++;
4551
+ while (pos < len && isDigit$1(text.charCodeAt(pos))) pos++;
4081
4552
  }
4082
4553
  if (pos < len && text.charCodeAt(pos) === 46) {
4083
4554
  pos++;
4084
- if (!isDigit$2(text.charCodeAt(pos))) {
4555
+ if (!isDigit$1(text.charCodeAt(pos))) {
4085
4556
  tokenError = "UnexpectedEndOfNumber";
4086
4557
  return text.substring(start, pos);
4087
4558
  }
4088
4559
  pos++;
4089
- while (pos < len && isDigit$2(text.charCodeAt(pos))) pos++;
4560
+ while (pos < len && isDigit$1(text.charCodeAt(pos))) pos++;
4090
4561
  }
4091
4562
  if (pos < len && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) {
4092
4563
  pos++;
4093
4564
  if (pos < len && (text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45)) pos++;
4094
- if (!isDigit$2(text.charCodeAt(pos))) {
4565
+ if (!isDigit$1(text.charCodeAt(pos))) {
4095
4566
  tokenError = "UnexpectedEndOfNumber";
4096
4567
  return text.substring(start, pos);
4097
4568
  }
4098
4569
  pos++;
4099
- while (pos < len && isDigit$2(text.charCodeAt(pos))) pos++;
4570
+ while (pos < len && isDigit$1(text.charCodeAt(pos))) pos++;
4100
4571
  }
4101
4572
  return text.substring(start, pos);
4102
4573
  };
@@ -4202,7 +4673,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4202
4673
  return token;
4203
4674
  }
4204
4675
  case 45:
4205
- if (pos + 1 < len && isDigit$2(text.charCodeAt(pos + 1))) {
4676
+ if (pos + 1 < len && isDigit$1(text.charCodeAt(pos + 1))) {
4206
4677
  tokenValue = scanNumber();
4207
4678
  token = "Number";
4208
4679
  return token;
@@ -4213,7 +4684,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4213
4684
  tokenError = "InvalidSymbol";
4214
4685
  return token;
4215
4686
  default:
4216
- if (isDigit$2(ch)) {
4687
+ if (isDigit$1(ch)) {
4217
4688
  tokenValue = scanNumber();
4218
4689
  token = "Number";
4219
4690
  return token;
@@ -4265,7 +4736,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4265
4736
  };
4266
4737
  };
4267
4738
  //#endregion
4268
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/internal/skip.js
4739
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/internal/skip.js
4269
4740
  /**
4270
4741
  * Iteratively consume the value beginning at the cursor's current token and
4271
4742
  * return its tight end offset (excludes trailing whitespace/comments).
@@ -4295,7 +4766,7 @@ const skipBalancedValue = (cursor) => {
4295
4766
  return end;
4296
4767
  };
4297
4768
  //#endregion
4298
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/internal/parser.js
4769
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/internal/parser.js
4299
4770
  /**
4300
4771
  * The public parse-error code vocabulary. The facade builds its `@public`
4301
4772
  * `JsoncParseErrorCode` schema from this array; the parser produces these codes
@@ -4708,7 +5179,7 @@ const parseTree$2 = (text, flags) => {
4708
5179
  };
4709
5180
  };
4710
5181
  //#endregion
4711
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/Jsonc.js
5182
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/Jsonc.js
4712
5183
  /**
4713
5184
  * The single public parse-error code vocabulary, appearing as the `code` field
4714
5185
  * of {@link JsoncParseErrorDetail}.
@@ -5168,7 +5639,7 @@ var Jsonc = class Jsonc {
5168
5639
  */
5169
5640
  static fromString(options) {
5170
5641
  const flags = toFlags(options);
5171
- return effect.Schema.String.pipe(effect.Schema.decodeTo(effect.Schema.Unknown, effect.SchemaTransformation.transformOrFail({
5642
+ return effect.Schema.String.pipe(effect.Schema.decodeTo(effect.Schema.Unknown, effect.SchemaTransformation.transformEffect({
5172
5643
  decode: (input) => {
5173
5644
  const { value, errors } = parseValue(input, flags);
5174
5645
  if (errors.length > 0) {
@@ -5312,7 +5783,7 @@ var JsoncEdit = class extends effect.Schema.Class("JsoncEdit")({
5312
5783
  }
5313
5784
  };
5314
5785
  //#endregion
5315
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/internal/navigate.js
5786
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/internal/navigate.js
5316
5787
  /**
5317
5788
  * Resolve `path` against `text`, returning where the target is (or where it
5318
5789
  * would be inserted). `path` must be non-empty — the whole-document case is
@@ -5439,7 +5910,7 @@ function navigate(text, path) {
5439
5910
  return { _tag: "NoOp" };
5440
5911
  }
5441
5912
  //#endregion
5442
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.9.0_effect@4.0.0-rc.112/node_modules/@effected/jsonc/JsoncModifier.js
5913
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.11.0_effect@4.0.0-rc.115/node_modules/@effected/jsonc/JsoncModifier.js
5443
5914
  /**
5444
5915
  * Raised when `JsoncModifier.modify` cannot navigate the requested path: the
5445
5916
  * value at `depth` is not the container kind (`expected`) the next path segment
@@ -5567,7 +6038,7 @@ var JsoncModifier = class {
5567
6038
  });
5568
6039
  };
5569
6040
  //#endregion
5570
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/carriers.js
6041
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/carriers.js
5571
6042
  /**
5572
6043
  * P1's error-code vocabulary. Widens as later phases add parse-error kinds;
5573
6044
  * P1 registers exactly one, the hardening-guard trip.
@@ -5607,7 +6078,7 @@ var GuardExceeded$1 = class extends Error {
5607
6078
  /** Narrows `unknown` to {@link GuardExceeded}; never a bare `instanceof` at a call site. */
5608
6079
  const isGuardExceeded$1 = (u) => u instanceof GuardExceeded$1;
5609
6080
  //#endregion
5610
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/MarkdownDiagnostic.js
6081
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/MarkdownDiagnostic.js
5611
6082
  /**
5612
6083
  * Error codes `Markdown.parse`/`MarkdownDocument.parse` can fail with. P1
5613
6084
  * registers exactly the hardening-guard trip; later phases widen the union
@@ -5687,7 +6158,7 @@ function lineChar(text, offset) {
5687
6158
  };
5688
6159
  }
5689
6160
  //#endregion
5690
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blockTypes.js
6161
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blockTypes.js
5691
6162
  /** Narrow materialized children to the flow content most constructs contain. */
5692
6163
  const flowChildren = (children) => children.filter((child) => child.type !== "root" && child.type !== "listItem" && child.type !== "tableRow" && child.type !== "tableCell");
5693
6164
  /** Narrow materialized children to the list items a list contains. */
@@ -5712,7 +6183,7 @@ const makeBlockNode = (type, startOffset, startLine, depth = 0) => ({
5712
6183
  data: {}
5713
6184
  });
5714
6185
  //#endregion
5715
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/preprocess.js
6186
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/preprocess.js
5716
6187
  /**
5717
6188
  * Split `text` into lines, preserving each line's absolute start offset.
5718
6189
  *
@@ -5766,7 +6237,7 @@ const peekCode = (line, position) => position >= 0 && position < line.length ? l
5766
6237
  */
5767
6238
  const columnsToNextTabStop = (column) => 4 - column % 4;
5768
6239
  //#endregion
5769
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/htmlTags.js
6240
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/htmlTags.js
5770
6241
  const TAGNAME = "[A-Za-z][A-Za-z0-9-]*";
5771
6242
  /** An opening tag, with any attributes and an optional self-closing slash. */
5772
6243
  const OPENTAG = `<${TAGNAME}(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*/?>`;
@@ -5777,7 +6248,7 @@ const HTMLTAG = `(?:${OPENTAG}|${CLOSETAG}|<!-->|<!--->|<!--[\\s\\S]*?-->|[<][?]
5777
6248
  /** {@link HTMLTAG}, anchored for matching at a cursor. */
5778
6249
  const reHtmlTag = new RegExp(`^${HTMLTAG}`);
5779
6250
  //#endregion
5780
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
6251
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
5781
6252
  const C_LESSTHAN$3 = 60;
5782
6253
  const reHtmlBlockOpen = [
5783
6254
  /./,
@@ -5843,7 +6314,7 @@ const htmlBlockStart = {
5843
6314
  }
5844
6315
  };
5845
6316
  //#endregion
5846
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/atxHeading.js
6317
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/atxHeading.js
5847
6318
  const reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/;
5848
6319
  const reOnlyTrailingHashes = /^[ \t]*#+[ \t]*$/;
5849
6320
  const reClosingHashes = /[ \t]+#+[ \t]*$/;
@@ -5893,7 +6364,7 @@ const atxHeadingStart = {
5893
6364
  }
5894
6365
  };
5895
6366
  //#endregion
5896
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/blockquote.js
6367
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/blockquote.js
5897
6368
  const C_GREATERTHAN = 62;
5898
6369
  /** Blockquote: continues while each line carries its `>` marker. */
5899
6370
  const blockquoteConstruct = {
@@ -5927,11 +6398,11 @@ const blockquoteStart = {
5927
6398
  }
5928
6399
  };
5929
6400
  //#endregion
5930
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/entityMap.js
6401
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/entityMap.js
5931
6402
  /** The HTML5 named character references, keyed without `&` or `;`. */
5932
6403
  const ENTITY_MAP = new Map(JSON.parse("[[\"AElig\",\"Æ\"],[\"AMP\",\"&\"],[\"Aacute\",\"Á\"],[\"Abreve\",\"Ă\"],[\"Acirc\",\"Â\"],[\"Acy\",\"А\"],[\"Afr\",\"𝔄\"],[\"Agrave\",\"À\"],[\"Alpha\",\"Α\"],[\"Amacr\",\"Ā\"],[\"And\",\"⩓\"],[\"Aogon\",\"Ą\"],[\"Aopf\",\"𝔸\"],[\"ApplyFunction\",\"⁡\"],[\"Aring\",\"Å\"],[\"Ascr\",\"𝒜\"],[\"Assign\",\"≔\"],[\"Atilde\",\"Ã\"],[\"Auml\",\"Ä\"],[\"Backslash\",\"∖\"],[\"Barv\",\"⫧\"],[\"Barwed\",\"⌆\"],[\"Bcy\",\"Б\"],[\"Because\",\"∵\"],[\"Bernoullis\",\"ℬ\"],[\"Beta\",\"Β\"],[\"Bfr\",\"𝔅\"],[\"Bopf\",\"𝔹\"],[\"Breve\",\"˘\"],[\"Bscr\",\"ℬ\"],[\"Bumpeq\",\"≎\"],[\"CHcy\",\"Ч\"],[\"COPY\",\"©\"],[\"Cacute\",\"Ć\"],[\"Cap\",\"⋒\"],[\"CapitalDifferentialD\",\"ⅅ\"],[\"Cayleys\",\"ℭ\"],[\"Ccaron\",\"Č\"],[\"Ccedil\",\"Ç\"],[\"Ccirc\",\"Ĉ\"],[\"Cconint\",\"∰\"],[\"Cdot\",\"Ċ\"],[\"Cedilla\",\"¸\"],[\"CenterDot\",\"·\"],[\"Cfr\",\"ℭ\"],[\"Chi\",\"Χ\"],[\"CircleDot\",\"⊙\"],[\"CircleMinus\",\"⊖\"],[\"CirclePlus\",\"⊕\"],[\"CircleTimes\",\"⊗\"],[\"ClockwiseContourIntegral\",\"∲\"],[\"CloseCurlyDoubleQuote\",\"”\"],[\"CloseCurlyQuote\",\"’\"],[\"Colon\",\"∷\"],[\"Colone\",\"⩴\"],[\"Congruent\",\"≡\"],[\"Conint\",\"∯\"],[\"ContourIntegral\",\"∮\"],[\"Copf\",\"ℂ\"],[\"Coproduct\",\"∐\"],[\"CounterClockwiseContourIntegral\",\"∳\"],[\"Cross\",\"⨯\"],[\"Cscr\",\"𝒞\"],[\"Cup\",\"⋓\"],[\"CupCap\",\"≍\"],[\"DD\",\"ⅅ\"],[\"DDotrahd\",\"⤑\"],[\"DJcy\",\"Ђ\"],[\"DScy\",\"Ѕ\"],[\"DZcy\",\"Џ\"],[\"Dagger\",\"‡\"],[\"Darr\",\"↡\"],[\"Dashv\",\"⫤\"],[\"Dcaron\",\"Ď\"],[\"Dcy\",\"Д\"],[\"Del\",\"∇\"],[\"Delta\",\"Δ\"],[\"Dfr\",\"𝔇\"],[\"DiacriticalAcute\",\"´\"],[\"DiacriticalDot\",\"˙\"],[\"DiacriticalDoubleAcute\",\"˝\"],[\"DiacriticalGrave\",\"`\"],[\"DiacriticalTilde\",\"˜\"],[\"Diamond\",\"⋄\"],[\"DifferentialD\",\"ⅆ\"],[\"Dopf\",\"𝔻\"],[\"Dot\",\"¨\"],[\"DotDot\",\"⃜\"],[\"DotEqual\",\"≐\"],[\"DoubleContourIntegral\",\"∯\"],[\"DoubleDot\",\"¨\"],[\"DoubleDownArrow\",\"⇓\"],[\"DoubleLeftArrow\",\"⇐\"],[\"DoubleLeftRightArrow\",\"⇔\"],[\"DoubleLeftTee\",\"⫤\"],[\"DoubleLongLeftArrow\",\"⟸\"],[\"DoubleLongLeftRightArrow\",\"⟺\"],[\"DoubleLongRightArrow\",\"⟹\"],[\"DoubleRightArrow\",\"⇒\"],[\"DoubleRightTee\",\"⊨\"],[\"DoubleUpArrow\",\"⇑\"],[\"DoubleUpDownArrow\",\"⇕\"],[\"DoubleVerticalBar\",\"∥\"],[\"DownArrow\",\"↓\"],[\"DownArrowBar\",\"⤓\"],[\"DownArrowUpArrow\",\"⇵\"],[\"DownBreve\",\"̑\"],[\"DownLeftRightVector\",\"⥐\"],[\"DownLeftTeeVector\",\"⥞\"],[\"DownLeftVector\",\"↽\"],[\"DownLeftVectorBar\",\"⥖\"],[\"DownRightTeeVector\",\"⥟\"],[\"DownRightVector\",\"⇁\"],[\"DownRightVectorBar\",\"⥗\"],[\"DownTee\",\"⊤\"],[\"DownTeeArrow\",\"↧\"],[\"Downarrow\",\"⇓\"],[\"Dscr\",\"𝒟\"],[\"Dstrok\",\"Đ\"],[\"ENG\",\"Ŋ\"],[\"ETH\",\"Ð\"],[\"Eacute\",\"É\"],[\"Ecaron\",\"Ě\"],[\"Ecirc\",\"Ê\"],[\"Ecy\",\"Э\"],[\"Edot\",\"Ė\"],[\"Efr\",\"𝔈\"],[\"Egrave\",\"È\"],[\"Element\",\"∈\"],[\"Emacr\",\"Ē\"],[\"EmptySmallSquare\",\"◻\"],[\"EmptyVerySmallSquare\",\"▫\"],[\"Eogon\",\"Ę\"],[\"Eopf\",\"𝔼\"],[\"Epsilon\",\"Ε\"],[\"Equal\",\"⩵\"],[\"EqualTilde\",\"≂\"],[\"Equilibrium\",\"⇌\"],[\"Escr\",\"ℰ\"],[\"Esim\",\"⩳\"],[\"Eta\",\"Η\"],[\"Euml\",\"Ë\"],[\"Exists\",\"∃\"],[\"ExponentialE\",\"ⅇ\"],[\"Fcy\",\"Ф\"],[\"Ffr\",\"𝔉\"],[\"FilledSmallSquare\",\"◼\"],[\"FilledVerySmallSquare\",\"▪\"],[\"Fopf\",\"𝔽\"],[\"ForAll\",\"∀\"],[\"Fouriertrf\",\"ℱ\"],[\"Fscr\",\"ℱ\"],[\"GJcy\",\"Ѓ\"],[\"GT\",\">\"],[\"Gamma\",\"Γ\"],[\"Gammad\",\"Ϝ\"],[\"Gbreve\",\"Ğ\"],[\"Gcedil\",\"Ģ\"],[\"Gcirc\",\"Ĝ\"],[\"Gcy\",\"Г\"],[\"Gdot\",\"Ġ\"],[\"Gfr\",\"𝔊\"],[\"Gg\",\"⋙\"],[\"Gopf\",\"𝔾\"],[\"GreaterEqual\",\"≥\"],[\"GreaterEqualLess\",\"⋛\"],[\"GreaterFullEqual\",\"≧\"],[\"GreaterGreater\",\"⪢\"],[\"GreaterLess\",\"≷\"],[\"GreaterSlantEqual\",\"⩾\"],[\"GreaterTilde\",\"≳\"],[\"Gscr\",\"𝒢\"],[\"Gt\",\"≫\"],[\"HARDcy\",\"Ъ\"],[\"Hacek\",\"ˇ\"],[\"Hat\",\"^\"],[\"Hcirc\",\"Ĥ\"],[\"Hfr\",\"ℌ\"],[\"HilbertSpace\",\"ℋ\"],[\"Hopf\",\"ℍ\"],[\"HorizontalLine\",\"─\"],[\"Hscr\",\"ℋ\"],[\"Hstrok\",\"Ħ\"],[\"HumpDownHump\",\"≎\"],[\"HumpEqual\",\"≏\"],[\"IEcy\",\"Е\"],[\"IJlig\",\"IJ\"],[\"IOcy\",\"Ё\"],[\"Iacute\",\"Í\"],[\"Icirc\",\"Î\"],[\"Icy\",\"И\"],[\"Idot\",\"İ\"],[\"Ifr\",\"ℑ\"],[\"Igrave\",\"Ì\"],[\"Im\",\"ℑ\"],[\"Imacr\",\"Ī\"],[\"ImaginaryI\",\"ⅈ\"],[\"Implies\",\"⇒\"],[\"Int\",\"∬\"],[\"Integral\",\"∫\"],[\"Intersection\",\"⋂\"],[\"InvisibleComma\",\"⁣\"],[\"InvisibleTimes\",\"⁢\"],[\"Iogon\",\"Į\"],[\"Iopf\",\"𝕀\"],[\"Iota\",\"Ι\"],[\"Iscr\",\"ℐ\"],[\"Itilde\",\"Ĩ\"],[\"Iukcy\",\"І\"],[\"Iuml\",\"Ï\"],[\"Jcirc\",\"Ĵ\"],[\"Jcy\",\"Й\"],[\"Jfr\",\"𝔍\"],[\"Jopf\",\"𝕁\"],[\"Jscr\",\"𝒥\"],[\"Jsercy\",\"Ј\"],[\"Jukcy\",\"Є\"],[\"KHcy\",\"Х\"],[\"KJcy\",\"Ќ\"],[\"Kappa\",\"Κ\"],[\"Kcedil\",\"Ķ\"],[\"Kcy\",\"К\"],[\"Kfr\",\"𝔎\"],[\"Kopf\",\"𝕂\"],[\"Kscr\",\"𝒦\"],[\"LJcy\",\"Љ\"],[\"LT\",\"<\"],[\"Lacute\",\"Ĺ\"],[\"Lambda\",\"Λ\"],[\"Lang\",\"⟪\"],[\"Laplacetrf\",\"ℒ\"],[\"Larr\",\"↞\"],[\"Lcaron\",\"Ľ\"],[\"Lcedil\",\"Ļ\"],[\"Lcy\",\"Л\"],[\"LeftAngleBracket\",\"⟨\"],[\"LeftArrow\",\"←\"],[\"LeftArrowBar\",\"⇤\"],[\"LeftArrowRightArrow\",\"⇆\"],[\"LeftCeiling\",\"⌈\"],[\"LeftDoubleBracket\",\"⟦\"],[\"LeftDownTeeVector\",\"⥡\"],[\"LeftDownVector\",\"⇃\"],[\"LeftDownVectorBar\",\"⥙\"],[\"LeftFloor\",\"⌊\"],[\"LeftRightArrow\",\"↔\"],[\"LeftRightVector\",\"⥎\"],[\"LeftTee\",\"⊣\"],[\"LeftTeeArrow\",\"↤\"],[\"LeftTeeVector\",\"⥚\"],[\"LeftTriangle\",\"⊲\"],[\"LeftTriangleBar\",\"⧏\"],[\"LeftTriangleEqual\",\"⊴\"],[\"LeftUpDownVector\",\"⥑\"],[\"LeftUpTeeVector\",\"⥠\"],[\"LeftUpVector\",\"↿\"],[\"LeftUpVectorBar\",\"⥘\"],[\"LeftVector\",\"↼\"],[\"LeftVectorBar\",\"⥒\"],[\"Leftarrow\",\"⇐\"],[\"Leftrightarrow\",\"⇔\"],[\"LessEqualGreater\",\"⋚\"],[\"LessFullEqual\",\"≦\"],[\"LessGreater\",\"≶\"],[\"LessLess\",\"⪡\"],[\"LessSlantEqual\",\"⩽\"],[\"LessTilde\",\"≲\"],[\"Lfr\",\"𝔏\"],[\"Ll\",\"⋘\"],[\"Lleftarrow\",\"⇚\"],[\"Lmidot\",\"Ŀ\"],[\"LongLeftArrow\",\"⟵\"],[\"LongLeftRightArrow\",\"⟷\"],[\"LongRightArrow\",\"⟶\"],[\"Longleftarrow\",\"⟸\"],[\"Longleftrightarrow\",\"⟺\"],[\"Longrightarrow\",\"⟹\"],[\"Lopf\",\"𝕃\"],[\"LowerLeftArrow\",\"↙\"],[\"LowerRightArrow\",\"↘\"],[\"Lscr\",\"ℒ\"],[\"Lsh\",\"↰\"],[\"Lstrok\",\"Ł\"],[\"Lt\",\"≪\"],[\"Map\",\"⤅\"],[\"Mcy\",\"М\"],[\"MediumSpace\",\" \"],[\"Mellintrf\",\"ℳ\"],[\"Mfr\",\"𝔐\"],[\"MinusPlus\",\"∓\"],[\"Mopf\",\"𝕄\"],[\"Mscr\",\"ℳ\"],[\"Mu\",\"Μ\"],[\"NJcy\",\"Њ\"],[\"Nacute\",\"Ń\"],[\"Ncaron\",\"Ň\"],[\"Ncedil\",\"Ņ\"],[\"Ncy\",\"Н\"],[\"NegativeMediumSpace\",\"​\"],[\"NegativeThickSpace\",\"​\"],[\"NegativeThinSpace\",\"​\"],[\"NegativeVeryThinSpace\",\"​\"],[\"NestedGreaterGreater\",\"≫\"],[\"NestedLessLess\",\"≪\"],[\"NewLine\",\"\\n\"],[\"Nfr\",\"𝔑\"],[\"NoBreak\",\"⁠\"],[\"NonBreakingSpace\",\"\xA0\"],[\"Nopf\",\"ℕ\"],[\"Not\",\"⫬\"],[\"NotCongruent\",\"≢\"],[\"NotCupCap\",\"≭\"],[\"NotDoubleVerticalBar\",\"∦\"],[\"NotElement\",\"∉\"],[\"NotEqual\",\"≠\"],[\"NotEqualTilde\",\"≂̸\"],[\"NotExists\",\"∄\"],[\"NotGreater\",\"≯\"],[\"NotGreaterEqual\",\"≱\"],[\"NotGreaterFullEqual\",\"≧̸\"],[\"NotGreaterGreater\",\"≫̸\"],[\"NotGreaterLess\",\"≹\"],[\"NotGreaterSlantEqual\",\"⩾̸\"],[\"NotGreaterTilde\",\"≵\"],[\"NotHumpDownHump\",\"≎̸\"],[\"NotHumpEqual\",\"≏̸\"],[\"NotLeftTriangle\",\"⋪\"],[\"NotLeftTriangleBar\",\"⧏̸\"],[\"NotLeftTriangleEqual\",\"⋬\"],[\"NotLess\",\"≮\"],[\"NotLessEqual\",\"≰\"],[\"NotLessGreater\",\"≸\"],[\"NotLessLess\",\"≪̸\"],[\"NotLessSlantEqual\",\"⩽̸\"],[\"NotLessTilde\",\"≴\"],[\"NotNestedGreaterGreater\",\"⪢̸\"],[\"NotNestedLessLess\",\"⪡̸\"],[\"NotPrecedes\",\"⊀\"],[\"NotPrecedesEqual\",\"⪯̸\"],[\"NotPrecedesSlantEqual\",\"⋠\"],[\"NotReverseElement\",\"∌\"],[\"NotRightTriangle\",\"⋫\"],[\"NotRightTriangleBar\",\"⧐̸\"],[\"NotRightTriangleEqual\",\"⋭\"],[\"NotSquareSubset\",\"⊏̸\"],[\"NotSquareSubsetEqual\",\"⋢\"],[\"NotSquareSuperset\",\"⊐̸\"],[\"NotSquareSupersetEqual\",\"⋣\"],[\"NotSubset\",\"⊂⃒\"],[\"NotSubsetEqual\",\"⊈\"],[\"NotSucceeds\",\"⊁\"],[\"NotSucceedsEqual\",\"⪰̸\"],[\"NotSucceedsSlantEqual\",\"⋡\"],[\"NotSucceedsTilde\",\"≿̸\"],[\"NotSuperset\",\"⊃⃒\"],[\"NotSupersetEqual\",\"⊉\"],[\"NotTilde\",\"≁\"],[\"NotTildeEqual\",\"≄\"],[\"NotTildeFullEqual\",\"≇\"],[\"NotTildeTilde\",\"≉\"],[\"NotVerticalBar\",\"∤\"],[\"Nscr\",\"𝒩\"],[\"Ntilde\",\"Ñ\"],[\"Nu\",\"Ν\"],[\"OElig\",\"Œ\"],[\"Oacute\",\"Ó\"],[\"Ocirc\",\"Ô\"],[\"Ocy\",\"О\"],[\"Odblac\",\"Ő\"],[\"Ofr\",\"𝔒\"],[\"Ograve\",\"Ò\"],[\"Omacr\",\"Ō\"],[\"Omega\",\"Ω\"],[\"Omicron\",\"Ο\"],[\"Oopf\",\"𝕆\"],[\"OpenCurlyDoubleQuote\",\"“\"],[\"OpenCurlyQuote\",\"‘\"],[\"Or\",\"⩔\"],[\"Oscr\",\"𝒪\"],[\"Oslash\",\"Ø\"],[\"Otilde\",\"Õ\"],[\"Otimes\",\"⨷\"],[\"Ouml\",\"Ö\"],[\"OverBar\",\"‾\"],[\"OverBrace\",\"⏞\"],[\"OverBracket\",\"⎴\"],[\"OverParenthesis\",\"⏜\"],[\"PartialD\",\"∂\"],[\"Pcy\",\"П\"],[\"Pfr\",\"𝔓\"],[\"Phi\",\"Φ\"],[\"Pi\",\"Π\"],[\"PlusMinus\",\"±\"],[\"Poincareplane\",\"ℌ\"],[\"Popf\",\"ℙ\"],[\"Pr\",\"⪻\"],[\"Precedes\",\"≺\"],[\"PrecedesEqual\",\"⪯\"],[\"PrecedesSlantEqual\",\"≼\"],[\"PrecedesTilde\",\"≾\"],[\"Prime\",\"″\"],[\"Product\",\"∏\"],[\"Proportion\",\"∷\"],[\"Proportional\",\"∝\"],[\"Pscr\",\"𝒫\"],[\"Psi\",\"Ψ\"],[\"QUOT\",\"\\\"\"],[\"Qfr\",\"𝔔\"],[\"Qopf\",\"ℚ\"],[\"Qscr\",\"𝒬\"],[\"RBarr\",\"⤐\"],[\"REG\",\"®\"],[\"Racute\",\"Ŕ\"],[\"Rang\",\"⟫\"],[\"Rarr\",\"↠\"],[\"Rarrtl\",\"⤖\"],[\"Rcaron\",\"Ř\"],[\"Rcedil\",\"Ŗ\"],[\"Rcy\",\"Р\"],[\"Re\",\"ℜ\"],[\"ReverseElement\",\"∋\"],[\"ReverseEquilibrium\",\"⇋\"],[\"ReverseUpEquilibrium\",\"⥯\"],[\"Rfr\",\"ℜ\"],[\"Rho\",\"Ρ\"],[\"RightAngleBracket\",\"⟩\"],[\"RightArrow\",\"→\"],[\"RightArrowBar\",\"⇥\"],[\"RightArrowLeftArrow\",\"⇄\"],[\"RightCeiling\",\"⌉\"],[\"RightDoubleBracket\",\"⟧\"],[\"RightDownTeeVector\",\"⥝\"],[\"RightDownVector\",\"⇂\"],[\"RightDownVectorBar\",\"⥕\"],[\"RightFloor\",\"⌋\"],[\"RightTee\",\"⊢\"],[\"RightTeeArrow\",\"↦\"],[\"RightTeeVector\",\"⥛\"],[\"RightTriangle\",\"⊳\"],[\"RightTriangleBar\",\"⧐\"],[\"RightTriangleEqual\",\"⊵\"],[\"RightUpDownVector\",\"⥏\"],[\"RightUpTeeVector\",\"⥜\"],[\"RightUpVector\",\"↾\"],[\"RightUpVectorBar\",\"⥔\"],[\"RightVector\",\"⇀\"],[\"RightVectorBar\",\"⥓\"],[\"Rightarrow\",\"⇒\"],[\"Ropf\",\"ℝ\"],[\"RoundImplies\",\"⥰\"],[\"Rrightarrow\",\"⇛\"],[\"Rscr\",\"ℛ\"],[\"Rsh\",\"↱\"],[\"RuleDelayed\",\"⧴\"],[\"SHCHcy\",\"Щ\"],[\"SHcy\",\"Ш\"],[\"SOFTcy\",\"Ь\"],[\"Sacute\",\"Ś\"],[\"Sc\",\"⪼\"],[\"Scaron\",\"Š\"],[\"Scedil\",\"Ş\"],[\"Scirc\",\"Ŝ\"],[\"Scy\",\"С\"],[\"Sfr\",\"𝔖\"],[\"ShortDownArrow\",\"↓\"],[\"ShortLeftArrow\",\"←\"],[\"ShortRightArrow\",\"→\"],[\"ShortUpArrow\",\"↑\"],[\"Sigma\",\"Σ\"],[\"SmallCircle\",\"∘\"],[\"Sopf\",\"𝕊\"],[\"Sqrt\",\"√\"],[\"Square\",\"□\"],[\"SquareIntersection\",\"⊓\"],[\"SquareSubset\",\"⊏\"],[\"SquareSubsetEqual\",\"⊑\"],[\"SquareSuperset\",\"⊐\"],[\"SquareSupersetEqual\",\"⊒\"],[\"SquareUnion\",\"⊔\"],[\"Sscr\",\"𝒮\"],[\"Star\",\"⋆\"],[\"Sub\",\"⋐\"],[\"Subset\",\"⋐\"],[\"SubsetEqual\",\"⊆\"],[\"Succeeds\",\"≻\"],[\"SucceedsEqual\",\"⪰\"],[\"SucceedsSlantEqual\",\"≽\"],[\"SucceedsTilde\",\"≿\"],[\"SuchThat\",\"∋\"],[\"Sum\",\"∑\"],[\"Sup\",\"⋑\"],[\"Superset\",\"⊃\"],[\"SupersetEqual\",\"⊇\"],[\"Supset\",\"⋑\"],[\"THORN\",\"Þ\"],[\"TRADE\",\"™\"],[\"TSHcy\",\"Ћ\"],[\"TScy\",\"Ц\"],[\"Tab\",\"\\t\"],[\"Tau\",\"Τ\"],[\"Tcaron\",\"Ť\"],[\"Tcedil\",\"Ţ\"],[\"Tcy\",\"Т\"],[\"Tfr\",\"𝔗\"],[\"Therefore\",\"∴\"],[\"Theta\",\"Θ\"],[\"ThickSpace\",\"  \"],[\"ThinSpace\",\" \"],[\"Tilde\",\"∼\"],[\"TildeEqual\",\"≃\"],[\"TildeFullEqual\",\"≅\"],[\"TildeTilde\",\"≈\"],[\"Topf\",\"𝕋\"],[\"TripleDot\",\"⃛\"],[\"Tscr\",\"𝒯\"],[\"Tstrok\",\"Ŧ\"],[\"Uacute\",\"Ú\"],[\"Uarr\",\"↟\"],[\"Uarrocir\",\"⥉\"],[\"Ubrcy\",\"Ў\"],[\"Ubreve\",\"Ŭ\"],[\"Ucirc\",\"Û\"],[\"Ucy\",\"У\"],[\"Udblac\",\"Ű\"],[\"Ufr\",\"𝔘\"],[\"Ugrave\",\"Ù\"],[\"Umacr\",\"Ū\"],[\"UnderBar\",\"_\"],[\"UnderBrace\",\"⏟\"],[\"UnderBracket\",\"⎵\"],[\"UnderParenthesis\",\"⏝\"],[\"Union\",\"⋃\"],[\"UnionPlus\",\"⊎\"],[\"Uogon\",\"Ų\"],[\"Uopf\",\"𝕌\"],[\"UpArrow\",\"↑\"],[\"UpArrowBar\",\"⤒\"],[\"UpArrowDownArrow\",\"⇅\"],[\"UpDownArrow\",\"↕\"],[\"UpEquilibrium\",\"⥮\"],[\"UpTee\",\"⊥\"],[\"UpTeeArrow\",\"↥\"],[\"Uparrow\",\"⇑\"],[\"Updownarrow\",\"⇕\"],[\"UpperLeftArrow\",\"↖\"],[\"UpperRightArrow\",\"↗\"],[\"Upsi\",\"ϒ\"],[\"Upsilon\",\"Υ\"],[\"Uring\",\"Ů\"],[\"Uscr\",\"𝒰\"],[\"Utilde\",\"Ũ\"],[\"Uuml\",\"Ü\"],[\"VDash\",\"⊫\"],[\"Vbar\",\"⫫\"],[\"Vcy\",\"В\"],[\"Vdash\",\"⊩\"],[\"Vdashl\",\"⫦\"],[\"Vee\",\"⋁\"],[\"Verbar\",\"‖\"],[\"Vert\",\"‖\"],[\"VerticalBar\",\"∣\"],[\"VerticalLine\",\"|\"],[\"VerticalSeparator\",\"❘\"],[\"VerticalTilde\",\"≀\"],[\"VeryThinSpace\",\" \"],[\"Vfr\",\"𝔙\"],[\"Vopf\",\"𝕍\"],[\"Vscr\",\"𝒱\"],[\"Vvdash\",\"⊪\"],[\"Wcirc\",\"Ŵ\"],[\"Wedge\",\"⋀\"],[\"Wfr\",\"𝔚\"],[\"Wopf\",\"𝕎\"],[\"Wscr\",\"𝒲\"],[\"Xfr\",\"𝔛\"],[\"Xi\",\"Ξ\"],[\"Xopf\",\"𝕏\"],[\"Xscr\",\"𝒳\"],[\"YAcy\",\"Я\"],[\"YIcy\",\"Ї\"],[\"YUcy\",\"Ю\"],[\"Yacute\",\"Ý\"],[\"Ycirc\",\"Ŷ\"],[\"Ycy\",\"Ы\"],[\"Yfr\",\"𝔜\"],[\"Yopf\",\"𝕐\"],[\"Yscr\",\"𝒴\"],[\"Yuml\",\"Ÿ\"],[\"ZHcy\",\"Ж\"],[\"Zacute\",\"Ź\"],[\"Zcaron\",\"Ž\"],[\"Zcy\",\"З\"],[\"Zdot\",\"Ż\"],[\"ZeroWidthSpace\",\"​\"],[\"Zeta\",\"Ζ\"],[\"Zfr\",\"ℨ\"],[\"Zopf\",\"ℤ\"],[\"Zscr\",\"𝒵\"],[\"aacute\",\"á\"],[\"abreve\",\"ă\"],[\"ac\",\"∾\"],[\"acE\",\"∾̳\"],[\"acd\",\"∿\"],[\"acirc\",\"â\"],[\"acute\",\"´\"],[\"acy\",\"а\"],[\"aelig\",\"æ\"],[\"af\",\"⁡\"],[\"afr\",\"𝔞\"],[\"agrave\",\"à\"],[\"alefsym\",\"ℵ\"],[\"aleph\",\"ℵ\"],[\"alpha\",\"α\"],[\"amacr\",\"ā\"],[\"amalg\",\"⨿\"],[\"amp\",\"&\"],[\"and\",\"∧\"],[\"andand\",\"⩕\"],[\"andd\",\"⩜\"],[\"andslope\",\"⩘\"],[\"andv\",\"⩚\"],[\"ang\",\"∠\"],[\"ange\",\"⦤\"],[\"angle\",\"∠\"],[\"angmsd\",\"∡\"],[\"angmsdaa\",\"⦨\"],[\"angmsdab\",\"⦩\"],[\"angmsdac\",\"⦪\"],[\"angmsdad\",\"⦫\"],[\"angmsdae\",\"⦬\"],[\"angmsdaf\",\"⦭\"],[\"angmsdag\",\"⦮\"],[\"angmsdah\",\"⦯\"],[\"angrt\",\"∟\"],[\"angrtvb\",\"⊾\"],[\"angrtvbd\",\"⦝\"],[\"angsph\",\"∢\"],[\"angst\",\"Å\"],[\"angzarr\",\"⍼\"],[\"aogon\",\"ą\"],[\"aopf\",\"𝕒\"],[\"ap\",\"≈\"],[\"apE\",\"⩰\"],[\"apacir\",\"⩯\"],[\"ape\",\"≊\"],[\"apid\",\"≋\"],[\"apos\",\"'\"],[\"approx\",\"≈\"],[\"approxeq\",\"≊\"],[\"aring\",\"å\"],[\"ascr\",\"𝒶\"],[\"ast\",\"*\"],[\"asymp\",\"≈\"],[\"asympeq\",\"≍\"],[\"atilde\",\"ã\"],[\"auml\",\"ä\"],[\"awconint\",\"∳\"],[\"awint\",\"⨑\"],[\"bNot\",\"⫭\"],[\"backcong\",\"≌\"],[\"backepsilon\",\"϶\"],[\"backprime\",\"‵\"],[\"backsim\",\"∽\"],[\"backsimeq\",\"⋍\"],[\"barvee\",\"⊽\"],[\"barwed\",\"⌅\"],[\"barwedge\",\"⌅\"],[\"bbrk\",\"⎵\"],[\"bbrktbrk\",\"⎶\"],[\"bcong\",\"≌\"],[\"bcy\",\"б\"],[\"bdquo\",\"„\"],[\"becaus\",\"∵\"],[\"because\",\"∵\"],[\"bemptyv\",\"⦰\"],[\"bepsi\",\"϶\"],[\"bernou\",\"ℬ\"],[\"beta\",\"β\"],[\"beth\",\"ℶ\"],[\"between\",\"≬\"],[\"bfr\",\"𝔟\"],[\"bigcap\",\"⋂\"],[\"bigcirc\",\"◯\"],[\"bigcup\",\"⋃\"],[\"bigodot\",\"⨀\"],[\"bigoplus\",\"⨁\"],[\"bigotimes\",\"⨂\"],[\"bigsqcup\",\"⨆\"],[\"bigstar\",\"★\"],[\"bigtriangledown\",\"▽\"],[\"bigtriangleup\",\"△\"],[\"biguplus\",\"⨄\"],[\"bigvee\",\"⋁\"],[\"bigwedge\",\"⋀\"],[\"bkarow\",\"⤍\"],[\"blacklozenge\",\"⧫\"],[\"blacksquare\",\"▪\"],[\"blacktriangle\",\"▴\"],[\"blacktriangledown\",\"▾\"],[\"blacktriangleleft\",\"◂\"],[\"blacktriangleright\",\"▸\"],[\"blank\",\"␣\"],[\"blk12\",\"▒\"],[\"blk14\",\"░\"],[\"blk34\",\"▓\"],[\"block\",\"█\"],[\"bne\",\"=⃥\"],[\"bnequiv\",\"≡⃥\"],[\"bnot\",\"⌐\"],[\"bopf\",\"𝕓\"],[\"bot\",\"⊥\"],[\"bottom\",\"⊥\"],[\"bowtie\",\"⋈\"],[\"boxDL\",\"╗\"],[\"boxDR\",\"╔\"],[\"boxDl\",\"╖\"],[\"boxDr\",\"╓\"],[\"boxH\",\"═\"],[\"boxHD\",\"╦\"],[\"boxHU\",\"╩\"],[\"boxHd\",\"╤\"],[\"boxHu\",\"╧\"],[\"boxUL\",\"╝\"],[\"boxUR\",\"╚\"],[\"boxUl\",\"╜\"],[\"boxUr\",\"╙\"],[\"boxV\",\"║\"],[\"boxVH\",\"╬\"],[\"boxVL\",\"╣\"],[\"boxVR\",\"╠\"],[\"boxVh\",\"╫\"],[\"boxVl\",\"╢\"],[\"boxVr\",\"╟\"],[\"boxbox\",\"⧉\"],[\"boxdL\",\"╕\"],[\"boxdR\",\"╒\"],[\"boxdl\",\"┐\"],[\"boxdr\",\"┌\"],[\"boxh\",\"─\"],[\"boxhD\",\"╥\"],[\"boxhU\",\"╨\"],[\"boxhd\",\"┬\"],[\"boxhu\",\"┴\"],[\"boxminus\",\"⊟\"],[\"boxplus\",\"⊞\"],[\"boxtimes\",\"⊠\"],[\"boxuL\",\"╛\"],[\"boxuR\",\"╘\"],[\"boxul\",\"┘\"],[\"boxur\",\"└\"],[\"boxv\",\"│\"],[\"boxvH\",\"╪\"],[\"boxvL\",\"╡\"],[\"boxvR\",\"╞\"],[\"boxvh\",\"┼\"],[\"boxvl\",\"┤\"],[\"boxvr\",\"├\"],[\"bprime\",\"‵\"],[\"breve\",\"˘\"],[\"brvbar\",\"¦\"],[\"bscr\",\"𝒷\"],[\"bsemi\",\"⁏\"],[\"bsim\",\"∽\"],[\"bsime\",\"⋍\"],[\"bsol\",\"\\\\\"],[\"bsolb\",\"⧅\"],[\"bsolhsub\",\"⟈\"],[\"bull\",\"•\"],[\"bullet\",\"•\"],[\"bump\",\"≎\"],[\"bumpE\",\"⪮\"],[\"bumpe\",\"≏\"],[\"bumpeq\",\"≏\"],[\"cacute\",\"ć\"],[\"cap\",\"∩\"],[\"capand\",\"⩄\"],[\"capbrcup\",\"⩉\"],[\"capcap\",\"⩋\"],[\"capcup\",\"⩇\"],[\"capdot\",\"⩀\"],[\"caps\",\"∩︀\"],[\"caret\",\"⁁\"],[\"caron\",\"ˇ\"],[\"ccaps\",\"⩍\"],[\"ccaron\",\"č\"],[\"ccedil\",\"ç\"],[\"ccirc\",\"ĉ\"],[\"ccups\",\"⩌\"],[\"ccupssm\",\"⩐\"],[\"cdot\",\"ċ\"],[\"cedil\",\"¸\"],[\"cemptyv\",\"⦲\"],[\"cent\",\"¢\"],[\"centerdot\",\"·\"],[\"cfr\",\"𝔠\"],[\"chcy\",\"ч\"],[\"check\",\"✓\"],[\"checkmark\",\"✓\"],[\"chi\",\"χ\"],[\"cir\",\"○\"],[\"cirE\",\"⧃\"],[\"circ\",\"ˆ\"],[\"circeq\",\"≗\"],[\"circlearrowleft\",\"↺\"],[\"circlearrowright\",\"↻\"],[\"circledR\",\"®\"],[\"circledS\",\"Ⓢ\"],[\"circledast\",\"⊛\"],[\"circledcirc\",\"⊚\"],[\"circleddash\",\"⊝\"],[\"cire\",\"≗\"],[\"cirfnint\",\"⨐\"],[\"cirmid\",\"⫯\"],[\"cirscir\",\"⧂\"],[\"clubs\",\"♣\"],[\"clubsuit\",\"♣\"],[\"colon\",\":\"],[\"colone\",\"≔\"],[\"coloneq\",\"≔\"],[\"comma\",\",\"],[\"commat\",\"@\"],[\"comp\",\"∁\"],[\"compfn\",\"∘\"],[\"complement\",\"∁\"],[\"complexes\",\"ℂ\"],[\"cong\",\"≅\"],[\"congdot\",\"⩭\"],[\"conint\",\"∮\"],[\"copf\",\"𝕔\"],[\"coprod\",\"∐\"],[\"copy\",\"©\"],[\"copysr\",\"℗\"],[\"crarr\",\"↵\"],[\"cross\",\"✗\"],[\"cscr\",\"𝒸\"],[\"csub\",\"⫏\"],[\"csube\",\"⫑\"],[\"csup\",\"⫐\"],[\"csupe\",\"⫒\"],[\"ctdot\",\"⋯\"],[\"cudarrl\",\"⤸\"],[\"cudarrr\",\"⤵\"],[\"cuepr\",\"⋞\"],[\"cuesc\",\"⋟\"],[\"cularr\",\"↶\"],[\"cularrp\",\"⤽\"],[\"cup\",\"∪\"],[\"cupbrcap\",\"⩈\"],[\"cupcap\",\"⩆\"],[\"cupcup\",\"⩊\"],[\"cupdot\",\"⊍\"],[\"cupor\",\"⩅\"],[\"cups\",\"∪︀\"],[\"curarr\",\"↷\"],[\"curarrm\",\"⤼\"],[\"curlyeqprec\",\"⋞\"],[\"curlyeqsucc\",\"⋟\"],[\"curlyvee\",\"⋎\"],[\"curlywedge\",\"⋏\"],[\"curren\",\"¤\"],[\"curvearrowleft\",\"↶\"],[\"curvearrowright\",\"↷\"],[\"cuvee\",\"⋎\"],[\"cuwed\",\"⋏\"],[\"cwconint\",\"∲\"],[\"cwint\",\"∱\"],[\"cylcty\",\"⌭\"],[\"dArr\",\"⇓\"],[\"dHar\",\"⥥\"],[\"dagger\",\"†\"],[\"daleth\",\"ℸ\"],[\"darr\",\"↓\"],[\"dash\",\"‐\"],[\"dashv\",\"⊣\"],[\"dbkarow\",\"⤏\"],[\"dblac\",\"˝\"],[\"dcaron\",\"ď\"],[\"dcy\",\"д\"],[\"dd\",\"ⅆ\"],[\"ddagger\",\"‡\"],[\"ddarr\",\"⇊\"],[\"ddotseq\",\"⩷\"],[\"deg\",\"°\"],[\"delta\",\"δ\"],[\"demptyv\",\"⦱\"],[\"dfisht\",\"⥿\"],[\"dfr\",\"𝔡\"],[\"dharl\",\"⇃\"],[\"dharr\",\"⇂\"],[\"diam\",\"⋄\"],[\"diamond\",\"⋄\"],[\"diamondsuit\",\"♦\"],[\"diams\",\"♦\"],[\"die\",\"¨\"],[\"digamma\",\"ϝ\"],[\"disin\",\"⋲\"],[\"div\",\"÷\"],[\"divide\",\"÷\"],[\"divideontimes\",\"⋇\"],[\"divonx\",\"⋇\"],[\"djcy\",\"ђ\"],[\"dlcorn\",\"⌞\"],[\"dlcrop\",\"⌍\"],[\"dollar\",\"$\"],[\"dopf\",\"𝕕\"],[\"dot\",\"˙\"],[\"doteq\",\"≐\"],[\"doteqdot\",\"≑\"],[\"dotminus\",\"∸\"],[\"dotplus\",\"∔\"],[\"dotsquare\",\"⊡\"],[\"doublebarwedge\",\"⌆\"],[\"downarrow\",\"↓\"],[\"downdownarrows\",\"⇊\"],[\"downharpoonleft\",\"⇃\"],[\"downharpoonright\",\"⇂\"],[\"drbkarow\",\"⤐\"],[\"drcorn\",\"⌟\"],[\"drcrop\",\"⌌\"],[\"dscr\",\"𝒹\"],[\"dscy\",\"ѕ\"],[\"dsol\",\"⧶\"],[\"dstrok\",\"đ\"],[\"dtdot\",\"⋱\"],[\"dtri\",\"▿\"],[\"dtrif\",\"▾\"],[\"duarr\",\"⇵\"],[\"duhar\",\"⥯\"],[\"dwangle\",\"⦦\"],[\"dzcy\",\"џ\"],[\"dzigrarr\",\"⟿\"],[\"eDDot\",\"⩷\"],[\"eDot\",\"≑\"],[\"eacute\",\"é\"],[\"easter\",\"⩮\"],[\"ecaron\",\"ě\"],[\"ecir\",\"≖\"],[\"ecirc\",\"ê\"],[\"ecolon\",\"≕\"],[\"ecy\",\"э\"],[\"edot\",\"ė\"],[\"ee\",\"ⅇ\"],[\"efDot\",\"≒\"],[\"efr\",\"𝔢\"],[\"eg\",\"⪚\"],[\"egrave\",\"è\"],[\"egs\",\"⪖\"],[\"egsdot\",\"⪘\"],[\"el\",\"⪙\"],[\"elinters\",\"⏧\"],[\"ell\",\"ℓ\"],[\"els\",\"⪕\"],[\"elsdot\",\"⪗\"],[\"emacr\",\"ē\"],[\"empty\",\"∅\"],[\"emptyset\",\"∅\"],[\"emptyv\",\"∅\"],[\"emsp\",\" \"],[\"emsp13\",\" \"],[\"emsp14\",\" \"],[\"eng\",\"ŋ\"],[\"ensp\",\" \"],[\"eogon\",\"ę\"],[\"eopf\",\"𝕖\"],[\"epar\",\"⋕\"],[\"eparsl\",\"⧣\"],[\"eplus\",\"⩱\"],[\"epsi\",\"ε\"],[\"epsilon\",\"ε\"],[\"epsiv\",\"ϵ\"],[\"eqcirc\",\"≖\"],[\"eqcolon\",\"≕\"],[\"eqsim\",\"≂\"],[\"eqslantgtr\",\"⪖\"],[\"eqslantless\",\"⪕\"],[\"equals\",\"=\"],[\"equest\",\"≟\"],[\"equiv\",\"≡\"],[\"equivDD\",\"⩸\"],[\"eqvparsl\",\"⧥\"],[\"erDot\",\"≓\"],[\"erarr\",\"⥱\"],[\"escr\",\"ℯ\"],[\"esdot\",\"≐\"],[\"esim\",\"≂\"],[\"eta\",\"η\"],[\"eth\",\"ð\"],[\"euml\",\"ë\"],[\"euro\",\"€\"],[\"excl\",\"!\"],[\"exist\",\"∃\"],[\"expectation\",\"ℰ\"],[\"exponentiale\",\"ⅇ\"],[\"fallingdotseq\",\"≒\"],[\"fcy\",\"ф\"],[\"female\",\"♀\"],[\"ffilig\",\"ffi\"],[\"fflig\",\"ff\"],[\"ffllig\",\"ffl\"],[\"ffr\",\"𝔣\"],[\"filig\",\"fi\"],[\"fjlig\",\"fj\"],[\"flat\",\"♭\"],[\"fllig\",\"fl\"],[\"fltns\",\"▱\"],[\"fnof\",\"ƒ\"],[\"fopf\",\"𝕗\"],[\"forall\",\"∀\"],[\"fork\",\"⋔\"],[\"forkv\",\"⫙\"],[\"fpartint\",\"⨍\"],[\"frac12\",\"½\"],[\"frac13\",\"⅓\"],[\"frac14\",\"¼\"],[\"frac15\",\"⅕\"],[\"frac16\",\"⅙\"],[\"frac18\",\"⅛\"],[\"frac23\",\"⅔\"],[\"frac25\",\"⅖\"],[\"frac34\",\"¾\"],[\"frac35\",\"⅗\"],[\"frac38\",\"⅜\"],[\"frac45\",\"⅘\"],[\"frac56\",\"⅚\"],[\"frac58\",\"⅝\"],[\"frac78\",\"⅞\"],[\"frasl\",\"⁄\"],[\"frown\",\"⌢\"],[\"fscr\",\"𝒻\"],[\"gE\",\"≧\"],[\"gEl\",\"⪌\"],[\"gacute\",\"ǵ\"],[\"gamma\",\"γ\"],[\"gammad\",\"ϝ\"],[\"gap\",\"⪆\"],[\"gbreve\",\"ğ\"],[\"gcirc\",\"ĝ\"],[\"gcy\",\"г\"],[\"gdot\",\"ġ\"],[\"ge\",\"≥\"],[\"gel\",\"⋛\"],[\"geq\",\"≥\"],[\"geqq\",\"≧\"],[\"geqslant\",\"⩾\"],[\"ges\",\"⩾\"],[\"gescc\",\"⪩\"],[\"gesdot\",\"⪀\"],[\"gesdoto\",\"⪂\"],[\"gesdotol\",\"⪄\"],[\"gesl\",\"⋛︀\"],[\"gesles\",\"⪔\"],[\"gfr\",\"𝔤\"],[\"gg\",\"≫\"],[\"ggg\",\"⋙\"],[\"gimel\",\"ℷ\"],[\"gjcy\",\"ѓ\"],[\"gl\",\"≷\"],[\"glE\",\"⪒\"],[\"gla\",\"⪥\"],[\"glj\",\"⪤\"],[\"gnE\",\"≩\"],[\"gnap\",\"⪊\"],[\"gnapprox\",\"⪊\"],[\"gne\",\"⪈\"],[\"gneq\",\"⪈\"],[\"gneqq\",\"≩\"],[\"gnsim\",\"⋧\"],[\"gopf\",\"𝕘\"],[\"grave\",\"`\"],[\"gscr\",\"ℊ\"],[\"gsim\",\"≳\"],[\"gsime\",\"⪎\"],[\"gsiml\",\"⪐\"],[\"gt\",\">\"],[\"gtcc\",\"⪧\"],[\"gtcir\",\"⩺\"],[\"gtdot\",\"⋗\"],[\"gtlPar\",\"⦕\"],[\"gtquest\",\"⩼\"],[\"gtrapprox\",\"⪆\"],[\"gtrarr\",\"⥸\"],[\"gtrdot\",\"⋗\"],[\"gtreqless\",\"⋛\"],[\"gtreqqless\",\"⪌\"],[\"gtrless\",\"≷\"],[\"gtrsim\",\"≳\"],[\"gvertneqq\",\"≩︀\"],[\"gvnE\",\"≩︀\"],[\"hArr\",\"⇔\"],[\"hairsp\",\" \"],[\"half\",\"½\"],[\"hamilt\",\"ℋ\"],[\"hardcy\",\"ъ\"],[\"harr\",\"↔\"],[\"harrcir\",\"⥈\"],[\"harrw\",\"↭\"],[\"hbar\",\"ℏ\"],[\"hcirc\",\"ĥ\"],[\"hearts\",\"♥\"],[\"heartsuit\",\"♥\"],[\"hellip\",\"…\"],[\"hercon\",\"⊹\"],[\"hfr\",\"𝔥\"],[\"hksearow\",\"⤥\"],[\"hkswarow\",\"⤦\"],[\"hoarr\",\"⇿\"],[\"homtht\",\"∻\"],[\"hookleftarrow\",\"↩\"],[\"hookrightarrow\",\"↪\"],[\"hopf\",\"𝕙\"],[\"horbar\",\"―\"],[\"hscr\",\"𝒽\"],[\"hslash\",\"ℏ\"],[\"hstrok\",\"ħ\"],[\"hybull\",\"⁃\"],[\"hyphen\",\"‐\"],[\"iacute\",\"í\"],[\"ic\",\"⁣\"],[\"icirc\",\"î\"],[\"icy\",\"и\"],[\"iecy\",\"е\"],[\"iexcl\",\"¡\"],[\"iff\",\"⇔\"],[\"ifr\",\"𝔦\"],[\"igrave\",\"ì\"],[\"ii\",\"ⅈ\"],[\"iiiint\",\"⨌\"],[\"iiint\",\"∭\"],[\"iinfin\",\"⧜\"],[\"iiota\",\"℩\"],[\"ijlig\",\"ij\"],[\"imacr\",\"ī\"],[\"image\",\"ℑ\"],[\"imagline\",\"ℐ\"],[\"imagpart\",\"ℑ\"],[\"imath\",\"ı\"],[\"imof\",\"⊷\"],[\"imped\",\"Ƶ\"],[\"in\",\"∈\"],[\"incare\",\"℅\"],[\"infin\",\"∞\"],[\"infintie\",\"⧝\"],[\"inodot\",\"ı\"],[\"int\",\"∫\"],[\"intcal\",\"⊺\"],[\"integers\",\"ℤ\"],[\"intercal\",\"⊺\"],[\"intlarhk\",\"⨗\"],[\"intprod\",\"⨼\"],[\"iocy\",\"ё\"],[\"iogon\",\"į\"],[\"iopf\",\"𝕚\"],[\"iota\",\"ι\"],[\"iprod\",\"⨼\"],[\"iquest\",\"¿\"],[\"iscr\",\"𝒾\"],[\"isin\",\"∈\"],[\"isinE\",\"⋹\"],[\"isindot\",\"⋵\"],[\"isins\",\"⋴\"],[\"isinsv\",\"⋳\"],[\"isinv\",\"∈\"],[\"it\",\"⁢\"],[\"itilde\",\"ĩ\"],[\"iukcy\",\"і\"],[\"iuml\",\"ï\"],[\"jcirc\",\"ĵ\"],[\"jcy\",\"й\"],[\"jfr\",\"𝔧\"],[\"jmath\",\"ȷ\"],[\"jopf\",\"𝕛\"],[\"jscr\",\"𝒿\"],[\"jsercy\",\"ј\"],[\"jukcy\",\"є\"],[\"kappa\",\"κ\"],[\"kappav\",\"ϰ\"],[\"kcedil\",\"ķ\"],[\"kcy\",\"к\"],[\"kfr\",\"𝔨\"],[\"kgreen\",\"ĸ\"],[\"khcy\",\"х\"],[\"kjcy\",\"ќ\"],[\"kopf\",\"𝕜\"],[\"kscr\",\"𝓀\"],[\"lAarr\",\"⇚\"],[\"lArr\",\"⇐\"],[\"lAtail\",\"⤛\"],[\"lBarr\",\"⤎\"],[\"lE\",\"≦\"],[\"lEg\",\"⪋\"],[\"lHar\",\"⥢\"],[\"lacute\",\"ĺ\"],[\"laemptyv\",\"⦴\"],[\"lagran\",\"ℒ\"],[\"lambda\",\"λ\"],[\"lang\",\"⟨\"],[\"langd\",\"⦑\"],[\"langle\",\"⟨\"],[\"lap\",\"⪅\"],[\"laquo\",\"«\"],[\"larr\",\"←\"],[\"larrb\",\"⇤\"],[\"larrbfs\",\"⤟\"],[\"larrfs\",\"⤝\"],[\"larrhk\",\"↩\"],[\"larrlp\",\"↫\"],[\"larrpl\",\"⤹\"],[\"larrsim\",\"⥳\"],[\"larrtl\",\"↢\"],[\"lat\",\"⪫\"],[\"latail\",\"⤙\"],[\"late\",\"⪭\"],[\"lates\",\"⪭︀\"],[\"lbarr\",\"⤌\"],[\"lbbrk\",\"❲\"],[\"lbrace\",\"{\"],[\"lbrack\",\"[\"],[\"lbrke\",\"⦋\"],[\"lbrksld\",\"⦏\"],[\"lbrkslu\",\"⦍\"],[\"lcaron\",\"ľ\"],[\"lcedil\",\"ļ\"],[\"lceil\",\"⌈\"],[\"lcub\",\"{\"],[\"lcy\",\"л\"],[\"ldca\",\"⤶\"],[\"ldquo\",\"“\"],[\"ldquor\",\"„\"],[\"ldrdhar\",\"⥧\"],[\"ldrushar\",\"⥋\"],[\"ldsh\",\"↲\"],[\"le\",\"≤\"],[\"leftarrow\",\"←\"],[\"leftarrowtail\",\"↢\"],[\"leftharpoondown\",\"↽\"],[\"leftharpoonup\",\"↼\"],[\"leftleftarrows\",\"⇇\"],[\"leftrightarrow\",\"↔\"],[\"leftrightarrows\",\"⇆\"],[\"leftrightharpoons\",\"⇋\"],[\"leftrightsquigarrow\",\"↭\"],[\"leftthreetimes\",\"⋋\"],[\"leg\",\"⋚\"],[\"leq\",\"≤\"],[\"leqq\",\"≦\"],[\"leqslant\",\"⩽\"],[\"les\",\"⩽\"],[\"lescc\",\"⪨\"],[\"lesdot\",\"⩿\"],[\"lesdoto\",\"⪁\"],[\"lesdotor\",\"⪃\"],[\"lesg\",\"⋚︀\"],[\"lesges\",\"⪓\"],[\"lessapprox\",\"⪅\"],[\"lessdot\",\"⋖\"],[\"lesseqgtr\",\"⋚\"],[\"lesseqqgtr\",\"⪋\"],[\"lessgtr\",\"≶\"],[\"lesssim\",\"≲\"],[\"lfisht\",\"⥼\"],[\"lfloor\",\"⌊\"],[\"lfr\",\"𝔩\"],[\"lg\",\"≶\"],[\"lgE\",\"⪑\"],[\"lhard\",\"↽\"],[\"lharu\",\"↼\"],[\"lharul\",\"⥪\"],[\"lhblk\",\"▄\"],[\"ljcy\",\"љ\"],[\"ll\",\"≪\"],[\"llarr\",\"⇇\"],[\"llcorner\",\"⌞\"],[\"llhard\",\"⥫\"],[\"lltri\",\"◺\"],[\"lmidot\",\"ŀ\"],[\"lmoust\",\"⎰\"],[\"lmoustache\",\"⎰\"],[\"lnE\",\"≨\"],[\"lnap\",\"⪉\"],[\"lnapprox\",\"⪉\"],[\"lne\",\"⪇\"],[\"lneq\",\"⪇\"],[\"lneqq\",\"≨\"],[\"lnsim\",\"⋦\"],[\"loang\",\"⟬\"],[\"loarr\",\"⇽\"],[\"lobrk\",\"⟦\"],[\"longleftarrow\",\"⟵\"],[\"longleftrightarrow\",\"⟷\"],[\"longmapsto\",\"⟼\"],[\"longrightarrow\",\"⟶\"],[\"looparrowleft\",\"↫\"],[\"looparrowright\",\"↬\"],[\"lopar\",\"⦅\"],[\"lopf\",\"𝕝\"],[\"loplus\",\"⨭\"],[\"lotimes\",\"⨴\"],[\"lowast\",\"∗\"],[\"lowbar\",\"_\"],[\"loz\",\"◊\"],[\"lozenge\",\"◊\"],[\"lozf\",\"⧫\"],[\"lpar\",\"(\"],[\"lparlt\",\"⦓\"],[\"lrarr\",\"⇆\"],[\"lrcorner\",\"⌟\"],[\"lrhar\",\"⇋\"],[\"lrhard\",\"⥭\"],[\"lrm\",\"‎\"],[\"lrtri\",\"⊿\"],[\"lsaquo\",\"‹\"],[\"lscr\",\"𝓁\"],[\"lsh\",\"↰\"],[\"lsim\",\"≲\"],[\"lsime\",\"⪍\"],[\"lsimg\",\"⪏\"],[\"lsqb\",\"[\"],[\"lsquo\",\"‘\"],[\"lsquor\",\"‚\"],[\"lstrok\",\"ł\"],[\"lt\",\"<\"],[\"ltcc\",\"⪦\"],[\"ltcir\",\"⩹\"],[\"ltdot\",\"⋖\"],[\"lthree\",\"⋋\"],[\"ltimes\",\"⋉\"],[\"ltlarr\",\"⥶\"],[\"ltquest\",\"⩻\"],[\"ltrPar\",\"⦖\"],[\"ltri\",\"◃\"],[\"ltrie\",\"⊴\"],[\"ltrif\",\"◂\"],[\"lurdshar\",\"⥊\"],[\"luruhar\",\"⥦\"],[\"lvertneqq\",\"≨︀\"],[\"lvnE\",\"≨︀\"],[\"mDDot\",\"∺\"],[\"macr\",\"¯\"],[\"male\",\"♂\"],[\"malt\",\"✠\"],[\"maltese\",\"✠\"],[\"map\",\"↦\"],[\"mapsto\",\"↦\"],[\"mapstodown\",\"↧\"],[\"mapstoleft\",\"↤\"],[\"mapstoup\",\"↥\"],[\"marker\",\"▮\"],[\"mcomma\",\"⨩\"],[\"mcy\",\"м\"],[\"mdash\",\"—\"],[\"measuredangle\",\"∡\"],[\"mfr\",\"𝔪\"],[\"mho\",\"℧\"],[\"micro\",\"µ\"],[\"mid\",\"∣\"],[\"midast\",\"*\"],[\"midcir\",\"⫰\"],[\"middot\",\"·\"],[\"minus\",\"−\"],[\"minusb\",\"⊟\"],[\"minusd\",\"∸\"],[\"minusdu\",\"⨪\"],[\"mlcp\",\"⫛\"],[\"mldr\",\"…\"],[\"mnplus\",\"∓\"],[\"models\",\"⊧\"],[\"mopf\",\"𝕞\"],[\"mp\",\"∓\"],[\"mscr\",\"𝓂\"],[\"mstpos\",\"∾\"],[\"mu\",\"μ\"],[\"multimap\",\"⊸\"],[\"mumap\",\"⊸\"],[\"nGg\",\"⋙̸\"],[\"nGt\",\"≫⃒\"],[\"nGtv\",\"≫̸\"],[\"nLeftarrow\",\"⇍\"],[\"nLeftrightarrow\",\"⇎\"],[\"nLl\",\"⋘̸\"],[\"nLt\",\"≪⃒\"],[\"nLtv\",\"≪̸\"],[\"nRightarrow\",\"⇏\"],[\"nVDash\",\"⊯\"],[\"nVdash\",\"⊮\"],[\"nabla\",\"∇\"],[\"nacute\",\"ń\"],[\"nang\",\"∠⃒\"],[\"nap\",\"≉\"],[\"napE\",\"⩰̸\"],[\"napid\",\"≋̸\"],[\"napos\",\"ʼn\"],[\"napprox\",\"≉\"],[\"natur\",\"♮\"],[\"natural\",\"♮\"],[\"naturals\",\"ℕ\"],[\"nbsp\",\"\xA0\"],[\"nbump\",\"≎̸\"],[\"nbumpe\",\"≏̸\"],[\"ncap\",\"⩃\"],[\"ncaron\",\"ň\"],[\"ncedil\",\"ņ\"],[\"ncong\",\"≇\"],[\"ncongdot\",\"⩭̸\"],[\"ncup\",\"⩂\"],[\"ncy\",\"н\"],[\"ndash\",\"–\"],[\"ne\",\"≠\"],[\"neArr\",\"⇗\"],[\"nearhk\",\"⤤\"],[\"nearr\",\"↗\"],[\"nearrow\",\"↗\"],[\"nedot\",\"≐̸\"],[\"nequiv\",\"≢\"],[\"nesear\",\"⤨\"],[\"nesim\",\"≂̸\"],[\"nexist\",\"∄\"],[\"nexists\",\"∄\"],[\"nfr\",\"𝔫\"],[\"ngE\",\"≧̸\"],[\"nge\",\"≱\"],[\"ngeq\",\"≱\"],[\"ngeqq\",\"≧̸\"],[\"ngeqslant\",\"⩾̸\"],[\"nges\",\"⩾̸\"],[\"ngsim\",\"≵\"],[\"ngt\",\"≯\"],[\"ngtr\",\"≯\"],[\"nhArr\",\"⇎\"],[\"nharr\",\"↮\"],[\"nhpar\",\"⫲\"],[\"ni\",\"∋\"],[\"nis\",\"⋼\"],[\"nisd\",\"⋺\"],[\"niv\",\"∋\"],[\"njcy\",\"њ\"],[\"nlArr\",\"⇍\"],[\"nlE\",\"≦̸\"],[\"nlarr\",\"↚\"],[\"nldr\",\"‥\"],[\"nle\",\"≰\"],[\"nleftarrow\",\"↚\"],[\"nleftrightarrow\",\"↮\"],[\"nleq\",\"≰\"],[\"nleqq\",\"≦̸\"],[\"nleqslant\",\"⩽̸\"],[\"nles\",\"⩽̸\"],[\"nless\",\"≮\"],[\"nlsim\",\"≴\"],[\"nlt\",\"≮\"],[\"nltri\",\"⋪\"],[\"nltrie\",\"⋬\"],[\"nmid\",\"∤\"],[\"nopf\",\"𝕟\"],[\"not\",\"¬\"],[\"notin\",\"∉\"],[\"notinE\",\"⋹̸\"],[\"notindot\",\"⋵̸\"],[\"notinva\",\"∉\"],[\"notinvb\",\"⋷\"],[\"notinvc\",\"⋶\"],[\"notni\",\"∌\"],[\"notniva\",\"∌\"],[\"notnivb\",\"⋾\"],[\"notnivc\",\"⋽\"],[\"npar\",\"∦\"],[\"nparallel\",\"∦\"],[\"nparsl\",\"⫽⃥\"],[\"npart\",\"∂̸\"],[\"npolint\",\"⨔\"],[\"npr\",\"⊀\"],[\"nprcue\",\"⋠\"],[\"npre\",\"⪯̸\"],[\"nprec\",\"⊀\"],[\"npreceq\",\"⪯̸\"],[\"nrArr\",\"⇏\"],[\"nrarr\",\"↛\"],[\"nrarrc\",\"⤳̸\"],[\"nrarrw\",\"↝̸\"],[\"nrightarrow\",\"↛\"],[\"nrtri\",\"⋫\"],[\"nrtrie\",\"⋭\"],[\"nsc\",\"⊁\"],[\"nsccue\",\"⋡\"],[\"nsce\",\"⪰̸\"],[\"nscr\",\"𝓃\"],[\"nshortmid\",\"∤\"],[\"nshortparallel\",\"∦\"],[\"nsim\",\"≁\"],[\"nsime\",\"≄\"],[\"nsimeq\",\"≄\"],[\"nsmid\",\"∤\"],[\"nspar\",\"∦\"],[\"nsqsube\",\"⋢\"],[\"nsqsupe\",\"⋣\"],[\"nsub\",\"⊄\"],[\"nsubE\",\"⫅̸\"],[\"nsube\",\"⊈\"],[\"nsubset\",\"⊂⃒\"],[\"nsubseteq\",\"⊈\"],[\"nsubseteqq\",\"⫅̸\"],[\"nsucc\",\"⊁\"],[\"nsucceq\",\"⪰̸\"],[\"nsup\",\"⊅\"],[\"nsupE\",\"⫆̸\"],[\"nsupe\",\"⊉\"],[\"nsupset\",\"⊃⃒\"],[\"nsupseteq\",\"⊉\"],[\"nsupseteqq\",\"⫆̸\"],[\"ntgl\",\"≹\"],[\"ntilde\",\"ñ\"],[\"ntlg\",\"≸\"],[\"ntriangleleft\",\"⋪\"],[\"ntrianglelefteq\",\"⋬\"],[\"ntriangleright\",\"⋫\"],[\"ntrianglerighteq\",\"⋭\"],[\"nu\",\"ν\"],[\"num\",\"#\"],[\"numero\",\"№\"],[\"numsp\",\" \"],[\"nvDash\",\"⊭\"],[\"nvHarr\",\"⤄\"],[\"nvap\",\"≍⃒\"],[\"nvdash\",\"⊬\"],[\"nvge\",\"≥⃒\"],[\"nvgt\",\">⃒\"],[\"nvinfin\",\"⧞\"],[\"nvlArr\",\"⤂\"],[\"nvle\",\"≤⃒\"],[\"nvlt\",\"<⃒\"],[\"nvltrie\",\"⊴⃒\"],[\"nvrArr\",\"⤃\"],[\"nvrtrie\",\"⊵⃒\"],[\"nvsim\",\"∼⃒\"],[\"nwArr\",\"⇖\"],[\"nwarhk\",\"⤣\"],[\"nwarr\",\"↖\"],[\"nwarrow\",\"↖\"],[\"nwnear\",\"⤧\"],[\"oS\",\"Ⓢ\"],[\"oacute\",\"ó\"],[\"oast\",\"⊛\"],[\"ocir\",\"⊚\"],[\"ocirc\",\"ô\"],[\"ocy\",\"о\"],[\"odash\",\"⊝\"],[\"odblac\",\"ő\"],[\"odiv\",\"⨸\"],[\"odot\",\"⊙\"],[\"odsold\",\"⦼\"],[\"oelig\",\"œ\"],[\"ofcir\",\"⦿\"],[\"ofr\",\"𝔬\"],[\"ogon\",\"˛\"],[\"ograve\",\"ò\"],[\"ogt\",\"⧁\"],[\"ohbar\",\"⦵\"],[\"ohm\",\"Ω\"],[\"oint\",\"∮\"],[\"olarr\",\"↺\"],[\"olcir\",\"⦾\"],[\"olcross\",\"⦻\"],[\"oline\",\"‾\"],[\"olt\",\"⧀\"],[\"omacr\",\"ō\"],[\"omega\",\"ω\"],[\"omicron\",\"ο\"],[\"omid\",\"⦶\"],[\"ominus\",\"⊖\"],[\"oopf\",\"𝕠\"],[\"opar\",\"⦷\"],[\"operp\",\"⦹\"],[\"oplus\",\"⊕\"],[\"or\",\"∨\"],[\"orarr\",\"↻\"],[\"ord\",\"⩝\"],[\"order\",\"ℴ\"],[\"orderof\",\"ℴ\"],[\"ordf\",\"ª\"],[\"ordm\",\"º\"],[\"origof\",\"⊶\"],[\"oror\",\"⩖\"],[\"orslope\",\"⩗\"],[\"orv\",\"⩛\"],[\"oscr\",\"ℴ\"],[\"oslash\",\"ø\"],[\"osol\",\"⊘\"],[\"otilde\",\"õ\"],[\"otimes\",\"⊗\"],[\"otimesas\",\"⨶\"],[\"ouml\",\"ö\"],[\"ovbar\",\"⌽\"],[\"par\",\"∥\"],[\"para\",\"¶\"],[\"parallel\",\"∥\"],[\"parsim\",\"⫳\"],[\"parsl\",\"⫽\"],[\"part\",\"∂\"],[\"pcy\",\"п\"],[\"percnt\",\"%\"],[\"period\",\".\"],[\"permil\",\"‰\"],[\"perp\",\"⊥\"],[\"pertenk\",\"‱\"],[\"pfr\",\"𝔭\"],[\"phi\",\"φ\"],[\"phiv\",\"ϕ\"],[\"phmmat\",\"ℳ\"],[\"phone\",\"☎\"],[\"pi\",\"π\"],[\"pitchfork\",\"⋔\"],[\"piv\",\"ϖ\"],[\"planck\",\"ℏ\"],[\"planckh\",\"ℎ\"],[\"plankv\",\"ℏ\"],[\"plus\",\"+\"],[\"plusacir\",\"⨣\"],[\"plusb\",\"⊞\"],[\"pluscir\",\"⨢\"],[\"plusdo\",\"∔\"],[\"plusdu\",\"⨥\"],[\"pluse\",\"⩲\"],[\"plusmn\",\"±\"],[\"plussim\",\"⨦\"],[\"plustwo\",\"⨧\"],[\"pm\",\"±\"],[\"pointint\",\"⨕\"],[\"popf\",\"𝕡\"],[\"pound\",\"£\"],[\"pr\",\"≺\"],[\"prE\",\"⪳\"],[\"prap\",\"⪷\"],[\"prcue\",\"≼\"],[\"pre\",\"⪯\"],[\"prec\",\"≺\"],[\"precapprox\",\"⪷\"],[\"preccurlyeq\",\"≼\"],[\"preceq\",\"⪯\"],[\"precnapprox\",\"⪹\"],[\"precneqq\",\"⪵\"],[\"precnsim\",\"⋨\"],[\"precsim\",\"≾\"],[\"prime\",\"′\"],[\"primes\",\"ℙ\"],[\"prnE\",\"⪵\"],[\"prnap\",\"⪹\"],[\"prnsim\",\"⋨\"],[\"prod\",\"∏\"],[\"profalar\",\"⌮\"],[\"profline\",\"⌒\"],[\"profsurf\",\"⌓\"],[\"prop\",\"∝\"],[\"propto\",\"∝\"],[\"prsim\",\"≾\"],[\"prurel\",\"⊰\"],[\"pscr\",\"𝓅\"],[\"psi\",\"ψ\"],[\"puncsp\",\" \"],[\"qfr\",\"𝔮\"],[\"qint\",\"⨌\"],[\"qopf\",\"𝕢\"],[\"qprime\",\"⁗\"],[\"qscr\",\"𝓆\"],[\"quaternions\",\"ℍ\"],[\"quatint\",\"⨖\"],[\"quest\",\"?\"],[\"questeq\",\"≟\"],[\"quot\",\"\\\"\"],[\"rAarr\",\"⇛\"],[\"rArr\",\"⇒\"],[\"rAtail\",\"⤜\"],[\"rBarr\",\"⤏\"],[\"rHar\",\"⥤\"],[\"race\",\"∽̱\"],[\"racute\",\"ŕ\"],[\"radic\",\"√\"],[\"raemptyv\",\"⦳\"],[\"rang\",\"⟩\"],[\"rangd\",\"⦒\"],[\"range\",\"⦥\"],[\"rangle\",\"⟩\"],[\"raquo\",\"»\"],[\"rarr\",\"→\"],[\"rarrap\",\"⥵\"],[\"rarrb\",\"⇥\"],[\"rarrbfs\",\"⤠\"],[\"rarrc\",\"⤳\"],[\"rarrfs\",\"⤞\"],[\"rarrhk\",\"↪\"],[\"rarrlp\",\"↬\"],[\"rarrpl\",\"⥅\"],[\"rarrsim\",\"⥴\"],[\"rarrtl\",\"↣\"],[\"rarrw\",\"↝\"],[\"ratail\",\"⤚\"],[\"ratio\",\"∶\"],[\"rationals\",\"ℚ\"],[\"rbarr\",\"⤍\"],[\"rbbrk\",\"❳\"],[\"rbrace\",\"}\"],[\"rbrack\",\"]\"],[\"rbrke\",\"⦌\"],[\"rbrksld\",\"⦎\"],[\"rbrkslu\",\"⦐\"],[\"rcaron\",\"ř\"],[\"rcedil\",\"ŗ\"],[\"rceil\",\"⌉\"],[\"rcub\",\"}\"],[\"rcy\",\"р\"],[\"rdca\",\"⤷\"],[\"rdldhar\",\"⥩\"],[\"rdquo\",\"”\"],[\"rdquor\",\"”\"],[\"rdsh\",\"↳\"],[\"real\",\"ℜ\"],[\"realine\",\"ℛ\"],[\"realpart\",\"ℜ\"],[\"reals\",\"ℝ\"],[\"rect\",\"▭\"],[\"reg\",\"®\"],[\"rfisht\",\"⥽\"],[\"rfloor\",\"⌋\"],[\"rfr\",\"𝔯\"],[\"rhard\",\"⇁\"],[\"rharu\",\"⇀\"],[\"rharul\",\"⥬\"],[\"rho\",\"ρ\"],[\"rhov\",\"ϱ\"],[\"rightarrow\",\"→\"],[\"rightarrowtail\",\"↣\"],[\"rightharpoondown\",\"⇁\"],[\"rightharpoonup\",\"⇀\"],[\"rightleftarrows\",\"⇄\"],[\"rightleftharpoons\",\"⇌\"],[\"rightrightarrows\",\"⇉\"],[\"rightsquigarrow\",\"↝\"],[\"rightthreetimes\",\"⋌\"],[\"ring\",\"˚\"],[\"risingdotseq\",\"≓\"],[\"rlarr\",\"⇄\"],[\"rlhar\",\"⇌\"],[\"rlm\",\"‏\"],[\"rmoust\",\"⎱\"],[\"rmoustache\",\"⎱\"],[\"rnmid\",\"⫮\"],[\"roang\",\"⟭\"],[\"roarr\",\"⇾\"],[\"robrk\",\"⟧\"],[\"ropar\",\"⦆\"],[\"ropf\",\"𝕣\"],[\"roplus\",\"⨮\"],[\"rotimes\",\"⨵\"],[\"rpar\",\")\"],[\"rpargt\",\"⦔\"],[\"rppolint\",\"⨒\"],[\"rrarr\",\"⇉\"],[\"rsaquo\",\"›\"],[\"rscr\",\"𝓇\"],[\"rsh\",\"↱\"],[\"rsqb\",\"]\"],[\"rsquo\",\"’\"],[\"rsquor\",\"’\"],[\"rthree\",\"⋌\"],[\"rtimes\",\"⋊\"],[\"rtri\",\"▹\"],[\"rtrie\",\"⊵\"],[\"rtrif\",\"▸\"],[\"rtriltri\",\"⧎\"],[\"ruluhar\",\"⥨\"],[\"rx\",\"℞\"],[\"sacute\",\"ś\"],[\"sbquo\",\"‚\"],[\"sc\",\"≻\"],[\"scE\",\"⪴\"],[\"scap\",\"⪸\"],[\"scaron\",\"š\"],[\"sccue\",\"≽\"],[\"sce\",\"⪰\"],[\"scedil\",\"ş\"],[\"scirc\",\"ŝ\"],[\"scnE\",\"⪶\"],[\"scnap\",\"⪺\"],[\"scnsim\",\"⋩\"],[\"scpolint\",\"⨓\"],[\"scsim\",\"≿\"],[\"scy\",\"с\"],[\"sdot\",\"⋅\"],[\"sdotb\",\"⊡\"],[\"sdote\",\"⩦\"],[\"seArr\",\"⇘\"],[\"searhk\",\"⤥\"],[\"searr\",\"↘\"],[\"searrow\",\"↘\"],[\"sect\",\"§\"],[\"semi\",\";\"],[\"seswar\",\"⤩\"],[\"setminus\",\"∖\"],[\"setmn\",\"∖\"],[\"sext\",\"✶\"],[\"sfr\",\"𝔰\"],[\"sfrown\",\"⌢\"],[\"sharp\",\"♯\"],[\"shchcy\",\"щ\"],[\"shcy\",\"ш\"],[\"shortmid\",\"∣\"],[\"shortparallel\",\"∥\"],[\"shy\",\"­\"],[\"sigma\",\"σ\"],[\"sigmaf\",\"ς\"],[\"sigmav\",\"ς\"],[\"sim\",\"∼\"],[\"simdot\",\"⩪\"],[\"sime\",\"≃\"],[\"simeq\",\"≃\"],[\"simg\",\"⪞\"],[\"simgE\",\"⪠\"],[\"siml\",\"⪝\"],[\"simlE\",\"⪟\"],[\"simne\",\"≆\"],[\"simplus\",\"⨤\"],[\"simrarr\",\"⥲\"],[\"slarr\",\"←\"],[\"smallsetminus\",\"∖\"],[\"smashp\",\"⨳\"],[\"smeparsl\",\"⧤\"],[\"smid\",\"∣\"],[\"smile\",\"⌣\"],[\"smt\",\"⪪\"],[\"smte\",\"⪬\"],[\"smtes\",\"⪬︀\"],[\"softcy\",\"ь\"],[\"sol\",\"/\"],[\"solb\",\"⧄\"],[\"solbar\",\"⌿\"],[\"sopf\",\"𝕤\"],[\"spades\",\"♠\"],[\"spadesuit\",\"♠\"],[\"spar\",\"∥\"],[\"sqcap\",\"⊓\"],[\"sqcaps\",\"⊓︀\"],[\"sqcup\",\"⊔\"],[\"sqcups\",\"⊔︀\"],[\"sqsub\",\"⊏\"],[\"sqsube\",\"⊑\"],[\"sqsubset\",\"⊏\"],[\"sqsubseteq\",\"⊑\"],[\"sqsup\",\"⊐\"],[\"sqsupe\",\"⊒\"],[\"sqsupset\",\"⊐\"],[\"sqsupseteq\",\"⊒\"],[\"squ\",\"□\"],[\"square\",\"□\"],[\"squarf\",\"▪\"],[\"squf\",\"▪\"],[\"srarr\",\"→\"],[\"sscr\",\"𝓈\"],[\"ssetmn\",\"∖\"],[\"ssmile\",\"⌣\"],[\"sstarf\",\"⋆\"],[\"star\",\"☆\"],[\"starf\",\"★\"],[\"straightepsilon\",\"ϵ\"],[\"straightphi\",\"ϕ\"],[\"strns\",\"¯\"],[\"sub\",\"⊂\"],[\"subE\",\"⫅\"],[\"subdot\",\"⪽\"],[\"sube\",\"⊆\"],[\"subedot\",\"⫃\"],[\"submult\",\"⫁\"],[\"subnE\",\"⫋\"],[\"subne\",\"⊊\"],[\"subplus\",\"⪿\"],[\"subrarr\",\"⥹\"],[\"subset\",\"⊂\"],[\"subseteq\",\"⊆\"],[\"subseteqq\",\"⫅\"],[\"subsetneq\",\"⊊\"],[\"subsetneqq\",\"⫋\"],[\"subsim\",\"⫇\"],[\"subsub\",\"⫕\"],[\"subsup\",\"⫓\"],[\"succ\",\"≻\"],[\"succapprox\",\"⪸\"],[\"succcurlyeq\",\"≽\"],[\"succeq\",\"⪰\"],[\"succnapprox\",\"⪺\"],[\"succneqq\",\"⪶\"],[\"succnsim\",\"⋩\"],[\"succsim\",\"≿\"],[\"sum\",\"∑\"],[\"sung\",\"♪\"],[\"sup\",\"⊃\"],[\"sup1\",\"¹\"],[\"sup2\",\"²\"],[\"sup3\",\"³\"],[\"supE\",\"⫆\"],[\"supdot\",\"⪾\"],[\"supdsub\",\"⫘\"],[\"supe\",\"⊇\"],[\"supedot\",\"⫄\"],[\"suphsol\",\"⟉\"],[\"suphsub\",\"⫗\"],[\"suplarr\",\"⥻\"],[\"supmult\",\"⫂\"],[\"supnE\",\"⫌\"],[\"supne\",\"⊋\"],[\"supplus\",\"⫀\"],[\"supset\",\"⊃\"],[\"supseteq\",\"⊇\"],[\"supseteqq\",\"⫆\"],[\"supsetneq\",\"⊋\"],[\"supsetneqq\",\"⫌\"],[\"supsim\",\"⫈\"],[\"supsub\",\"⫔\"],[\"supsup\",\"⫖\"],[\"swArr\",\"⇙\"],[\"swarhk\",\"⤦\"],[\"swarr\",\"↙\"],[\"swarrow\",\"↙\"],[\"swnwar\",\"⤪\"],[\"szlig\",\"ß\"],[\"target\",\"⌖\"],[\"tau\",\"τ\"],[\"tbrk\",\"⎴\"],[\"tcaron\",\"ť\"],[\"tcedil\",\"ţ\"],[\"tcy\",\"т\"],[\"tdot\",\"⃛\"],[\"telrec\",\"⌕\"],[\"tfr\",\"𝔱\"],[\"there4\",\"∴\"],[\"therefore\",\"∴\"],[\"theta\",\"θ\"],[\"thetasym\",\"ϑ\"],[\"thetav\",\"ϑ\"],[\"thickapprox\",\"≈\"],[\"thicksim\",\"∼\"],[\"thinsp\",\" \"],[\"thkap\",\"≈\"],[\"thksim\",\"∼\"],[\"thorn\",\"þ\"],[\"tilde\",\"˜\"],[\"times\",\"×\"],[\"timesb\",\"⊠\"],[\"timesbar\",\"⨱\"],[\"timesd\",\"⨰\"],[\"tint\",\"∭\"],[\"toea\",\"⤨\"],[\"top\",\"⊤\"],[\"topbot\",\"⌶\"],[\"topcir\",\"⫱\"],[\"topf\",\"𝕥\"],[\"topfork\",\"⫚\"],[\"tosa\",\"⤩\"],[\"tprime\",\"‴\"],[\"trade\",\"™\"],[\"triangle\",\"▵\"],[\"triangledown\",\"▿\"],[\"triangleleft\",\"◃\"],[\"trianglelefteq\",\"⊴\"],[\"triangleq\",\"≜\"],[\"triangleright\",\"▹\"],[\"trianglerighteq\",\"⊵\"],[\"tridot\",\"◬\"],[\"trie\",\"≜\"],[\"triminus\",\"⨺\"],[\"triplus\",\"⨹\"],[\"trisb\",\"⧍\"],[\"tritime\",\"⨻\"],[\"trpezium\",\"⏢\"],[\"tscr\",\"𝓉\"],[\"tscy\",\"ц\"],[\"tshcy\",\"ћ\"],[\"tstrok\",\"ŧ\"],[\"twixt\",\"≬\"],[\"twoheadleftarrow\",\"↞\"],[\"twoheadrightarrow\",\"↠\"],[\"uArr\",\"⇑\"],[\"uHar\",\"⥣\"],[\"uacute\",\"ú\"],[\"uarr\",\"↑\"],[\"ubrcy\",\"ў\"],[\"ubreve\",\"ŭ\"],[\"ucirc\",\"û\"],[\"ucy\",\"у\"],[\"udarr\",\"⇅\"],[\"udblac\",\"ű\"],[\"udhar\",\"⥮\"],[\"ufisht\",\"⥾\"],[\"ufr\",\"𝔲\"],[\"ugrave\",\"ù\"],[\"uharl\",\"↿\"],[\"uharr\",\"↾\"],[\"uhblk\",\"▀\"],[\"ulcorn\",\"⌜\"],[\"ulcorner\",\"⌜\"],[\"ulcrop\",\"⌏\"],[\"ultri\",\"◸\"],[\"umacr\",\"ū\"],[\"uml\",\"¨\"],[\"uogon\",\"ų\"],[\"uopf\",\"𝕦\"],[\"uparrow\",\"↑\"],[\"updownarrow\",\"↕\"],[\"upharpoonleft\",\"↿\"],[\"upharpoonright\",\"↾\"],[\"uplus\",\"⊎\"],[\"upsi\",\"υ\"],[\"upsih\",\"ϒ\"],[\"upsilon\",\"υ\"],[\"upuparrows\",\"⇈\"],[\"urcorn\",\"⌝\"],[\"urcorner\",\"⌝\"],[\"urcrop\",\"⌎\"],[\"uring\",\"ů\"],[\"urtri\",\"◹\"],[\"uscr\",\"𝓊\"],[\"utdot\",\"⋰\"],[\"utilde\",\"ũ\"],[\"utri\",\"▵\"],[\"utrif\",\"▴\"],[\"uuarr\",\"⇈\"],[\"uuml\",\"ü\"],[\"uwangle\",\"⦧\"],[\"vArr\",\"⇕\"],[\"vBar\",\"⫨\"],[\"vBarv\",\"⫩\"],[\"vDash\",\"⊨\"],[\"vangrt\",\"⦜\"],[\"varepsilon\",\"ϵ\"],[\"varkappa\",\"ϰ\"],[\"varnothing\",\"∅\"],[\"varphi\",\"ϕ\"],[\"varpi\",\"ϖ\"],[\"varpropto\",\"∝\"],[\"varr\",\"↕\"],[\"varrho\",\"ϱ\"],[\"varsigma\",\"ς\"],[\"varsubsetneq\",\"⊊︀\"],[\"varsubsetneqq\",\"⫋︀\"],[\"varsupsetneq\",\"⊋︀\"],[\"varsupsetneqq\",\"⫌︀\"],[\"vartheta\",\"ϑ\"],[\"vartriangleleft\",\"⊲\"],[\"vartriangleright\",\"⊳\"],[\"vcy\",\"в\"],[\"vdash\",\"⊢\"],[\"vee\",\"∨\"],[\"veebar\",\"⊻\"],[\"veeeq\",\"≚\"],[\"vellip\",\"⋮\"],[\"verbar\",\"|\"],[\"vert\",\"|\"],[\"vfr\",\"𝔳\"],[\"vltri\",\"⊲\"],[\"vnsub\",\"⊂⃒\"],[\"vnsup\",\"⊃⃒\"],[\"vopf\",\"𝕧\"],[\"vprop\",\"∝\"],[\"vrtri\",\"⊳\"],[\"vscr\",\"𝓋\"],[\"vsubnE\",\"⫋︀\"],[\"vsubne\",\"⊊︀\"],[\"vsupnE\",\"⫌︀\"],[\"vsupne\",\"⊋︀\"],[\"vzigzag\",\"⦚\"],[\"wcirc\",\"ŵ\"],[\"wedbar\",\"⩟\"],[\"wedge\",\"∧\"],[\"wedgeq\",\"≙\"],[\"weierp\",\"℘\"],[\"wfr\",\"𝔴\"],[\"wopf\",\"𝕨\"],[\"wp\",\"℘\"],[\"wr\",\"≀\"],[\"wreath\",\"≀\"],[\"wscr\",\"𝓌\"],[\"xcap\",\"⋂\"],[\"xcirc\",\"◯\"],[\"xcup\",\"⋃\"],[\"xdtri\",\"▽\"],[\"xfr\",\"𝔵\"],[\"xhArr\",\"⟺\"],[\"xharr\",\"⟷\"],[\"xi\",\"ξ\"],[\"xlArr\",\"⟸\"],[\"xlarr\",\"⟵\"],[\"xmap\",\"⟼\"],[\"xnis\",\"⋻\"],[\"xodot\",\"⨀\"],[\"xopf\",\"𝕩\"],[\"xoplus\",\"⨁\"],[\"xotime\",\"⨂\"],[\"xrArr\",\"⟹\"],[\"xrarr\",\"⟶\"],[\"xscr\",\"𝓍\"],[\"xsqcup\",\"⨆\"],[\"xuplus\",\"⨄\"],[\"xutri\",\"△\"],[\"xvee\",\"⋁\"],[\"xwedge\",\"⋀\"],[\"yacute\",\"ý\"],[\"yacy\",\"я\"],[\"ycirc\",\"ŷ\"],[\"ycy\",\"ы\"],[\"yen\",\"¥\"],[\"yfr\",\"𝔶\"],[\"yicy\",\"ї\"],[\"yopf\",\"𝕪\"],[\"yscr\",\"𝓎\"],[\"yucy\",\"ю\"],[\"yuml\",\"ÿ\"],[\"zacute\",\"ź\"],[\"zcaron\",\"ž\"],[\"zcy\",\"з\"],[\"zdot\",\"ż\"],[\"zeetrf\",\"ℨ\"],[\"zeta\",\"ζ\"],[\"zfr\",\"𝔷\"],[\"zhcy\",\"ж\"],[\"zigrarr\",\"⇝\"],[\"zopf\",\"𝕫\"],[\"zscr\",\"𝓏\"],[\"zwj\",\"‍\"],[\"zwnj\",\"‌\"]]"));
5933
6404
  //#endregion
5934
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/entities.js
6405
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/entities.js
5935
6406
  /** The largest code point Unicode defines. */
5936
6407
  const MAX_CODE_POINT = 1114111;
5937
6408
  /**
@@ -5953,7 +6424,7 @@ const decodeEntity = (entity) => {
5953
6424
  return String.fromCodePoint(code);
5954
6425
  };
5955
6426
  //#endregion
5956
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/unescape.js
6427
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/unescape.js
5957
6428
  /** The punctuation set a backslash may escape, per the spec. */
5958
6429
  const ESCAPABLE$1 = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
5959
6430
  /** One entity, in any of the three spec forms. */
@@ -5967,7 +6438,7 @@ const unescapeChar = (source) => {
5967
6438
  /** Replace every backslash escape and character reference with its literal. */
5968
6439
  const unescapeString = (source) => reBackslashOrAmp.test(source) ? source.replace(reEntityOrEscapedChar, unescapeChar) : source;
5969
6440
  //#endregion
5970
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/code.js
6441
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/code.js
5971
6442
  const reBlankLine = /^[ \t]*$/;
5972
6443
  const reClosingCodeFence = /^(?:`{3,}|~{3,})(?=[ \t]*$)/;
5973
6444
  /**
@@ -6051,7 +6522,7 @@ const codeConstruct = {
6051
6522
  }
6052
6523
  };
6053
6524
  //#endregion
6054
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/document.js
6525
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/document.js
6055
6526
  /** The document root: contains everything except a bare list item. */
6056
6527
  const documentConstruct = {
6057
6528
  type: "document",
@@ -6064,7 +6535,7 @@ const documentConstruct = {
6064
6535
  })
6065
6536
  };
6066
6537
  //#endregion
6067
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/fencedCode.js
6538
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/fencedCode.js
6068
6539
  const reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;
6069
6540
  const fenceCharOf = (char) => char === "`" || char === "~" ? char : void 0;
6070
6541
  /** The fenced-code block start: three or more backticks or tildes. */
@@ -6088,7 +6559,7 @@ const fencedCodeStart = {
6088
6559
  }
6089
6560
  };
6090
6561
  //#endregion
6091
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/patterns.js
6562
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/patterns.js
6092
6563
  const stickyCache = /* @__PURE__ */ new WeakMap();
6093
6564
  const globalCache = /* @__PURE__ */ new WeakMap();
6094
6565
  const clone = (pattern, flag, dropCaret) => {
@@ -6112,7 +6583,7 @@ const globalOf = (pattern) => {
6112
6583
  return made;
6113
6584
  };
6114
6585
  //#endregion
6115
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/references.js
6586
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/references.js
6116
6587
  const ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
6117
6588
  const ESCAPED_CHAR = `\\\\${ESCAPABLE}`;
6118
6589
  const reLinkTitle = new RegExp(`^(?:"(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\"\\x00])*"|'(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\'\\x00])*'|\\((${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\()\\x00])*\\))`);
@@ -6286,7 +6757,7 @@ const parseReference = (text) => {
6286
6757
  };
6287
6758
  };
6288
6759
  //#endregion
6289
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6760
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6290
6761
  /**
6291
6762
  * `_scan_footnote_definition` from `src/scanners.re`:
6292
6763
  *
@@ -6363,7 +6834,7 @@ const footnoteDefinitionStart = {
6363
6834
  }
6364
6835
  };
6365
6836
  //#endregion
6366
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6837
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6367
6838
  /** The indented-code block start: four columns of indentation. */
6368
6839
  const indentedCodeStart = {
6369
6840
  name: "indentedCode",
@@ -6377,7 +6848,7 @@ const indentedCodeStart = {
6377
6848
  }
6378
6849
  };
6379
6850
  //#endregion
6380
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/segments.js
6851
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/segments.js
6381
6852
  /**
6382
6853
  * The absolute source offset of `textIndex` within a segmented content run.
6383
6854
  *
@@ -6411,7 +6882,7 @@ const sliceWithSegments = (segments, from, to) => {
6411
6882
  return sliced;
6412
6883
  };
6413
6884
  //#endregion
6414
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6885
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6415
6886
  const C_OPEN_BRACKET$1 = 91;
6416
6887
  /**
6417
6888
  * Split every leading link reference definition out of `block`, inserting one
@@ -6476,7 +6947,7 @@ const definitionConstruct = {
6476
6947
  }
6477
6948
  };
6478
6949
  //#endregion
6479
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/list.js
6950
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/list.js
6480
6951
  const reBulletListMarker = /^[*+-]/;
6481
6952
  const reOrderedListMarker = /^(\d{1,9})([.)])/;
6482
6953
  const reNonSpace$1 = /[^ \t\f\v\r\n]/;
@@ -6629,7 +7100,7 @@ const listItemStart = {
6629
7100
  }
6630
7101
  };
6631
7102
  //#endregion
6632
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/paragraph.js
7103
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/paragraph.js
6633
7104
  /** Paragraph: absorbs lines until a blank one, and contains nothing. */
6634
7105
  const paragraphConstruct = {
6635
7106
  type: "paragraph",
@@ -6651,7 +7122,7 @@ const paragraphConstruct = {
6651
7122
  }
6652
7123
  };
6653
7124
  //#endregion
6654
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/setextHeading.js
7125
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/setextHeading.js
6655
7126
  const reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/;
6656
7127
  /** The setext heading block start: a run of `=` or `-` under a paragraph. */
6657
7128
  const setextHeadingStart = {
@@ -6671,7 +7142,7 @@ const setextHeadingStart = {
6671
7142
  }
6672
7143
  };
6673
7144
  //#endregion
6674
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/table.js
7145
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/table.js
6675
7146
  /**
6676
7147
  * Upstream's `MAX_AUTOCOMPLETED_CELLS`: the ceiling on cells the parser
6677
7148
  * invents to pad short rows, which is what stops a wide header followed by a
@@ -7042,7 +7513,7 @@ const tableCellConstruct = {
7042
7513
  }
7043
7514
  };
7044
7515
  //#endregion
7045
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/taskListItem.js
7516
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/taskListItem.js
7046
7517
  /**
7047
7518
  * `_scan_tasklist`, as the generated scanner accepts it.
7048
7519
  *
@@ -7076,7 +7547,7 @@ const taskListItemStart = {
7076
7547
  }
7077
7548
  };
7078
7549
  //#endregion
7079
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
7550
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
7080
7551
  const reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/;
7081
7552
  const markerCharOf$1 = (char) => char === "-" || char === "_" || char === "*" ? char : void 0;
7082
7553
  /** Thematic break: one line, no children. */
@@ -7107,7 +7578,7 @@ const thematicBreakStart = {
7107
7578
  }
7108
7579
  };
7109
7580
  //#endregion
7110
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blockRegistry.js
7581
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blockRegistry.js
7111
7582
  const constructTable = (constructs) => new Map(constructs.map((construct) => [construct.type, construct]));
7112
7583
  const commonmarkDialect$1 = {
7113
7584
  constructs: constructTable([
@@ -7179,7 +7650,7 @@ const blockDialect = (dialect) => {
7179
7650
  return found;
7180
7651
  };
7181
7652
  //#endregion
7182
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/lineIndex.js
7653
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/lineIndex.js
7183
7654
  /**
7184
7655
  * A precomputed index of line-start offsets over a fixed source text,
7185
7656
  * answering `positionAt(offset)` in `O(log n)` via binary search rather than
@@ -7253,7 +7724,7 @@ var LineIndex = class LineIndex {
7253
7724
  }
7254
7725
  };
7255
7726
  //#endregion
7256
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlineNode.js
7727
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlineNode.js
7257
7728
  /** Open a node with no links. */
7258
7729
  const makeInlineNode = (type, start, end, value = "") => ({
7259
7730
  type,
@@ -7305,7 +7776,7 @@ const childrenOf = (node) => {
7305
7776
  return children;
7306
7777
  };
7307
7778
  //#endregion
7308
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/emphasis.js
7779
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/emphasis.js
7309
7780
  const C_ASTERISK$1 = 42;
7310
7781
  const C_UNDERSCORE$1 = 95;
7311
7782
  const rePunctuation = /^[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\p{P}\p{S}]/u;
@@ -7382,7 +7853,7 @@ const emphasisConstruct = {
7382
7853
  parse: (scanner) => handleDelim(scanner, scanner.peek())
7383
7854
  };
7384
7855
  //#endregion
7385
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7856
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7386
7857
  /**
7387
7858
  * Consume a `~` run as literal text and, when it is a viable one- or
7388
7859
  * two-tilde run, push it onto the shared delimiter stack.
@@ -7456,7 +7927,7 @@ const strikethroughConstruct = {
7456
7927
  parse: (scanner) => handleTilde(scanner)
7457
7928
  };
7458
7929
  //#endregion
7459
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/autolink.js
7930
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/autolink.js
7460
7931
  const C_LESSTHAN$1 = 60;
7461
7932
  const reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;
7462
7933
  const reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\0- ]*>/i;
@@ -7488,7 +7959,7 @@ const autolinkConstruct = {
7488
7959
  }
7489
7960
  };
7490
7961
  //#endregion
7491
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7962
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7492
7963
  const C_LOWER_W = 119;
7493
7964
  const C_COLON = 58;
7494
7965
  /** `cmark_isspace`: ASCII only, deliberately — upstream's URL scan uses it. */
@@ -7858,7 +8329,7 @@ const linkifyEmails = (root) => {
7858
8329
  }
7859
8330
  };
7860
8331
  //#endregion
7861
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/codeSpan.js
8332
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/codeSpan.js
7862
8333
  const C_BACKTICK$1 = 96;
7863
8334
  const reTicksHere = /^`+/;
7864
8335
  const reNewline = /\n/gm;
@@ -7886,7 +8357,7 @@ const codeSpanConstruct = {
7886
8357
  }
7887
8358
  };
7888
8359
  //#endregion
7889
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/entity.js
8360
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/entity.js
7890
8361
  const C_AMPERSAND = 38;
7891
8362
  const reEntityHere = new RegExp(`^${ENTITY}`, "i");
7892
8363
  /** A named, decimal or hexadecimal character reference. */
@@ -7902,7 +8373,7 @@ const entityConstruct = {
7902
8373
  }
7903
8374
  };
7904
8375
  //#endregion
7905
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/escape.js
8376
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/escape.js
7906
8377
  const C_BACKSLASH = 92;
7907
8378
  const C_NEWLINE$1 = 10;
7908
8379
  const reEscapable = new RegExp(`^${ESCAPABLE$1}`);
@@ -7931,7 +8402,7 @@ const escapeConstruct = {
7931
8402
  }
7932
8403
  };
7933
8404
  //#endregion
7934
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/link.js
8405
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/link.js
7935
8406
  const C_BANG = 33;
7936
8407
  const C_CARET$1 = 94;
7937
8408
  const C_OPEN_BRACKET = 91;
@@ -8138,7 +8609,7 @@ const makeLinkCloseConstruct = (onNoMatch) => ({
8138
8609
  /** `]` — closes a link or image, or stays literal. The CommonMark spelling. */
8139
8610
  const linkCloseConstruct = makeLinkCloseConstruct();
8140
8611
  //#endregion
8141
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
8612
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
8142
8613
  const C_CARET = 94;
8143
8614
  /**
8144
8615
  * Whether the bracket that just closed looks like `[^...]` with something
@@ -8195,7 +8666,7 @@ const gfmLinkCloseConstruct = makeLinkCloseConstruct(footnoteReferenceFallback);
8195
8666
  */
8196
8667
  const gfmImageOpenConstruct = makeImageOpenConstruct(false);
8197
8668
  //#endregion
8198
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8669
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8199
8670
  const C_NEWLINE = 10;
8200
8671
  const reInitialSpace = /^ */;
8201
8672
  /** A soft or hard line break. */
@@ -8216,7 +8687,7 @@ const lineBreakConstruct = {
8216
8687
  }
8217
8688
  };
8218
8689
  //#endregion
8219
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8690
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8220
8691
  const C_LESSTHAN = 60;
8221
8692
  /** The raw-HTML forms that scan forward for a fixed closing sequence. */
8222
8693
  const UNTERMINATED_FORMS = [
@@ -8238,7 +8709,7 @@ const rawHtmlConstruct = {
8238
8709
  }
8239
8710
  };
8240
8711
  //#endregion
8241
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlines/text.js
8712
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlines/text.js
8242
8713
  const reMain = /^[^\n`[\]\\!<&*_'"]+/;
8243
8714
  const reMainGfm = /^[^\n`[\]\\!<&*_'"~w:]+/;
8244
8715
  /** Consume a run of ordinary characters, stopping before any construct's. */
@@ -8258,7 +8729,7 @@ const textConstruct = runConstruct("text", reMain);
8258
8729
  /** Ordinary text under `gfm`, which has three more characters to yield to. */
8259
8730
  const gfmTextConstruct = runConstruct("text", reMainGfm);
8260
8731
  //#endregion
8261
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlineRegistry.js
8732
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlineRegistry.js
8262
8733
  const triggerTable = (constructs) => {
8263
8734
  const table = /* @__PURE__ */ new Map();
8264
8735
  for (const construct of constructs) for (const trigger of construct.triggers) {
@@ -8311,7 +8782,7 @@ const inlineDialect = (dialect) => {
8311
8782
  return found;
8312
8783
  };
8313
8784
  //#endregion
8314
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/inlineParser.js
8785
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/inlineParser.js
8315
8786
  const C_UNDERSCORE = 95;
8316
8787
  const C_ASTERISK = 42;
8317
8788
  const reTrailingSpaces = / +$/;
@@ -8705,7 +9176,7 @@ var InlineParser = class {
8705
9176
  */
8706
9177
  const parseInlines = (source, refmap, position, dialect = "commonmark", footnoteLabels = /* @__PURE__ */ new Set()) => new InlineParser(source, inlineDialect(dialect), position, refmap, footnoteLabels).parse();
8707
9178
  //#endregion
8708
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/rawInline.js
9179
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/rawInline.js
8709
9180
  const reWhitespace = /\s/;
8710
9181
  const reCmarkSpace = /[ \t\n\r]/;
8711
9182
  /**
@@ -8760,7 +9231,7 @@ const prepareInline = (block, position, refmap, dialect = "commonmark", footnote
8760
9231
  };
8761
9232
  };
8762
9233
  //#endregion
8763
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/blockParser.js
9234
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/blockParser.js
8764
9235
  /** Upstream's cheap pre-filter: a line that cannot start any block. */
8765
9236
  const reMaybeSpecial = /^[#`~*+_=<>0-9-]/;
8766
9237
  var BlockParser = class {
@@ -9167,7 +9638,7 @@ var BlockParser = class {
9167
9638
  */
9168
9639
  const parseBlocks = (text, dialect = "commonmark", frontmatter = false) => new BlockParser(text, blockDialect(dialect), dialect, frontmatter).parse();
9169
9640
  //#endregion
9170
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/phrasing.js
9641
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/phrasing.js
9171
9642
  const EMPTY_REFMAP = /* @__PURE__ */ new Map();
9172
9643
  const EMPTY_FOOTNOTE_LABELS = /* @__PURE__ */ new Set();
9173
9644
  /**
@@ -9216,7 +9687,7 @@ const parsePhrasingText = (text, dialect) => {
9216
9687
  }, EMPTY_REFMAP, positionOf, dialect, EMPTY_FOOTNOTE_LABELS);
9217
9688
  };
9218
9689
  //#endregion
9219
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/internal/stringify.js
9690
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/internal/stringify.js
9220
9691
  const FLOW_CONTEXT = {
9221
9692
  singleLine: false,
9222
9693
  inTable: false,
@@ -9912,7 +10383,7 @@ const stringifyTree = (root) => {
9912
10383
  return body === "" ? "" : `${body}\n`;
9913
10384
  };
9914
10385
  //#endregion
9915
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/Markdown.js
10386
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/Markdown.js
9916
10387
  /**
9917
10388
  * The markdown dialects the parser can be pointed at. `"gfm"` — CommonMark
9918
10389
  * 0.31.2 plus the GitHub extensions (tables, strikethrough, autolink
@@ -10276,7 +10747,7 @@ var Markdown = class Markdown {
10276
10747
  * @returns A `Schema.Codec<Root, string>`.
10277
10748
  */
10278
10749
  static fromString(options) {
10279
- return effect.Schema.String.pipe(effect.Schema.decodeTo(Root, effect.SchemaTransformation.transformOrFail({
10750
+ return effect.Schema.String.pipe(effect.Schema.decodeTo(Root, effect.SchemaTransformation.transformEffect({
10280
10751
  decode: (input) => effect.Effect.mapError(Markdown.parse(input, options), (error) => new effect.SchemaIssue.InvalidValue({ message: error.message }, input)),
10281
10752
  encode: (value) => effect.Effect.mapError(Markdown.stringify(value), (error) => new effect.SchemaIssue.InvalidValue({ message: error.message }, value))
10282
10753
  })));
@@ -10288,7 +10759,7 @@ var Markdown = class Markdown {
10288
10759
  static MarkdownFromString = Markdown.fromString();
10289
10760
  };
10290
10761
  //#endregion
10291
- //#region ../../node_modules/.pnpm/@effected+markdown@0.9.1_@effected+jsonc@0.9.0_effect@4.0.0-rc.112__@effected+toml@0.6._0ab5922234f3f49b1f06bf2c0ce581fc/node_modules/@effected/markdown/Mdast.js
10762
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.10.0_@effected+jsonc@0.11.0_effect@4.0.0-rc.115__@effected+toml@0._fef2d84f4989873ee8536485b8b3c1ec/node_modules/@effected/markdown/Mdast.js
10292
10763
  /**
10293
10764
  * The remark-ecosystem interop boundary: projection between this package's
10294
10765
  * node classes and plain mdast JSON.
@@ -24698,7 +25169,7 @@ function gfmStrikethrough(options) {
24698
25169
  }
24699
25170
  }
24700
25171
  //#endregion
24701
- //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/edit-map.js
25172
+ //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/edit-map.js
24702
25173
  /**
24703
25174
  * @import {Event} from 'micromark-util-types'
24704
25175
  */
@@ -24720,14 +25191,25 @@ var EditMap = class {
24720
25191
  * @type {Array<Change>}
24721
25192
  */
24722
25193
  this.map = [];
25194
+ /**
25195
+ * Changes by index, so `add` does not scan `map` (quadratic on
25196
+ * table-heavy documents).
25197
+ *
25198
+ * @type {Map<number, Change>}
25199
+ */
25200
+ this.index = /* @__PURE__ */ new Map();
24723
25201
  }
24724
25202
  /**
24725
25203
  * Create an edit: a remove and/or add at a certain place.
24726
25204
  *
24727
25205
  * @param {number} index
25206
+ * Index at which to apply the edit.
24728
25207
  * @param {number} remove
25208
+ * Count of items to remove at the index.
24729
25209
  * @param {Array<Event>} add
25210
+ * Items to add at the index.
24730
25211
  * @returns {undefined}
25212
+ * Nothing.
24731
25213
  */
24732
25214
  add(index, remove, add) {
24733
25215
  addImplementation(this, index, remove, add);
@@ -24736,7 +25218,9 @@ var EditMap = class {
24736
25218
  * Done, change the events.
24737
25219
  *
24738
25220
  * @param {Array<Event>} events
25221
+ * List of events to apply the edits to.
24739
25222
  * @returns {undefined}
25223
+ * Nothing.
24740
25224
  */
24741
25225
  consume(events) {
24742
25226
  this.map.sort(function(a, b) {
@@ -24760,37 +25244,43 @@ var EditMap = class {
24760
25244
  slice = vecs.pop();
24761
25245
  }
24762
25246
  this.map.length = 0;
25247
+ this.index.clear();
24763
25248
  }
24764
25249
  };
24765
25250
  /**
24766
25251
  * Create an edit.
24767
25252
  *
24768
25253
  * @param {EditMap} editMap
25254
+ * Edit map to apply to.
24769
25255
  * @param {number} at
25256
+ * Index at which to apply the edit.
24770
25257
  * @param {number} remove
25258
+ * Count of items to remove at the index.
24771
25259
  * @param {Array<Event>} add
25260
+ * Items to add at the index.
24772
25261
  * @returns {undefined}
25262
+ * Nothing.
24773
25263
  */
24774
25264
  function addImplementation(editMap, at, remove, add) {
24775
- let index = 0;
24776
25265
  /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */
24777
25266
  if (remove === 0 && add.length === 0) return;
24778
- while (index < editMap.map.length) {
24779
- if (editMap.map[index][0] === at) {
24780
- editMap.map[index][1] += remove;
24781
- editMap.map[index][2].push(...add);
24782
- return;
24783
- }
24784
- index += 1;
25267
+ const existing = editMap.index.get(at);
25268
+ if (existing) {
25269
+ existing[1] += remove;
25270
+ existing[2].push(...add);
25271
+ return;
24785
25272
  }
24786
- editMap.map.push([
25273
+ /** @type {Change} */
25274
+ const change = [
24787
25275
  at,
24788
25276
  remove,
24789
25277
  add
24790
- ]);
25278
+ ];
25279
+ editMap.map.push(change);
25280
+ editMap.index.set(at, change);
24791
25281
  }
24792
25282
  //#endregion
24793
- //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/infer.js
25283
+ //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/infer.js
24794
25284
  /**
24795
25285
  * @import {Event} from 'micromark-util-types'
24796
25286
  */
@@ -24828,7 +25318,7 @@ function gfmTableAlign(events, index) {
24828
25318
  return align;
24829
25319
  }
24830
25320
  //#endregion
24831
- //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/syntax.js
25321
+ //#region ../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.2/node_modules/micromark-extension-gfm-table/lib/syntax.js
24832
25322
  /**
24833
25323
  * @import {Event, Extension, Point, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'
24834
25324
  */
@@ -24854,6 +25344,8 @@ function gfmTable() {
24854
25344
  } } };
24855
25345
  }
24856
25346
  /**
25347
+ * Tokenizer for GFM tables.
25348
+ *
24857
25349
  * @this {TokenizeContext}
24858
25350
  * @type {Tokenizer}
24859
25351
  */
@@ -24883,7 +25375,7 @@ function tokenizeTable(effects, ok, nok) {
24883
25375
  function start(code) {
24884
25376
  let index = self.events.length - 1;
24885
25377
  while (index > -1) {
24886
- const type = self.events[index][1].type;
25378
+ const { type } = self.events[index][1];
24887
25379
  if (type === "lineEnding" || type === "linePrefix") index--;
24888
25380
  else break;
24889
25381
  }
@@ -25412,12 +25904,19 @@ function resolveTable(events, context) {
25412
25904
  * Generate a cell.
25413
25905
  *
25414
25906
  * @param {EditMap} map
25907
+ * Edit map to apply to.
25415
25908
  * @param {Readonly<TokenizeContext>} context
25909
+ * Tokenize context.
25416
25910
  * @param {Readonly<Range>} range
25911
+ * Range of the cell within events.
25417
25912
  * @param {RowKind} rowKind
25913
+ * Type of row.
25418
25914
  * @param {number | undefined} rowEnd
25915
+ * Index of the end of the row, if known.
25419
25916
  * @param {Token | undefined} previousCell
25917
+ * Previous cell token, if any.
25420
25918
  * @returns {Token | undefined}
25919
+ * Current cell token after flushing, if any.
25421
25920
  */
25422
25921
  function flushCell(map, context, range, rowKind, rowEnd, previousCell) {
25423
25922
  const groupName = rowKind === 1 ? "tableHeader" : rowKind === 2 ? "tableDelimiter" : "tableData";
@@ -25488,10 +25987,17 @@ function flushCell(map, context, range, rowKind, rowEnd, previousCell) {
25488
25987
  * Generate table end (and table body end).
25489
25988
  *
25490
25989
  * @param {Readonly<EditMap>} map
25990
+ * Edit map to apply to.
25491
25991
  * @param {Readonly<TokenizeContext>} context
25992
+ * Tokenize context.
25492
25993
  * @param {number} index
25994
+ * Index within the events where the table end should be inserted.
25493
25995
  * @param {Token} table
25996
+ * Table token.
25494
25997
  * @param {Token | undefined} tableBody
25998
+ * Table body token, if any.
25999
+ * @returns {undefined}
26000
+ * Nothing.
25495
26001
  */
25496
26002
  function flushTableEnd(map, context, index, table, tableBody) {
25497
26003
  /** @type {Array<Event>} */
@@ -25514,9 +26020,14 @@ function flushTableEnd(map, context, index, table, tableBody) {
25514
26020
  map.add(index + 1, 0, exits);
25515
26021
  }
25516
26022
  /**
26023
+ * Get the point (start or end) for a given event in the list of events.
26024
+ *
25517
26025
  * @param {Readonly<Array<Event>>} events
26026
+ * List of events.
25518
26027
  * @param {number} index
26028
+ * Index of the event to get the point for.
25519
26029
  * @returns {Readonly<Point>}
26030
+ * Start point for enter and end point for exit.
25520
26031
  */
25521
26032
  function getPoint(events, index) {
25522
26033
  const event = events[index];
@@ -30944,414 +31455,6 @@ function parseCommitMessage(message) {
30944
31455
  return { description: message };
30945
31456
  }
30946
31457
  //#endregion
30947
- //#region ../../node_modules/.pnpm/@effected+github-references@0.2.0_effect@4.0.0-rc.112/node_modules/@effected/github-references/IssueReferences.js
30948
- /**
30949
- * GitHub's closing-keyword issue-reference grammar, as pure functions.
30950
- *
30951
- * @remarks
30952
- * GitHub links an issue to a pull request when the PR's description carries
30953
- * `<keyword> #<number>` for one of nine documented keywords. Consumers speak
30954
- * that grammar in two distinct dialects, and this module models exactly those
30955
- * two — no service, no layer, nothing but strings in and values out:
30956
- *
30957
- * - **Inline-in-prose** ({@link harvestIssueReferences}): a reference may appear anywhere in
30958
- * running text — `"fixes #12 and closes #13"` — with mandatory whitespace
30959
- * and **no colon**, because that is the spelling GitHub itself scans PR
30960
- * bodies for. This is the dialect a release pipeline harvests from commit
30961
- * subjects and PR descriptions.
30962
- * - **Bare-line** ({@link parseBareLineReference}): the whole line, after trimming, *is*
30963
- * the reference — `"Closes: #12"` — with an **optional colon**, because a
30964
- * generated references region writes one reference per line and a colon
30965
- * reads better there. GitHub does not require the colon; the region format
30966
- * allows it, so the parser must too. The dialects differ because their
30967
- * producers do: prose is written by humans for GitHub's scanner, the region
30968
- * is written by tooling for humans.
30969
- *
30970
- * Deliberately out of scope this round: cross-repo references
30971
- * (`owner/repo#N`) and full-URL references
30972
- * (`https://github.com/owner/repo/issues/N`). Both are real GitHub spellings;
30973
- * neither dialect's consumers emit them yet, and guessing at their shape here
30974
- * would freeze an API nobody has driven.
30975
- */
30976
- /**
30977
- * The nine closing keywords GitHub documents, lowercased.
30978
- *
30979
- * @public
30980
- */
30981
- const CLOSING_KEYWORDS = [
30982
- "close",
30983
- "closes",
30984
- "closed",
30985
- "fix",
30986
- "fixes",
30987
- "fixed",
30988
- "resolve",
30989
- "resolves",
30990
- "resolved"
30991
- ];
30992
- /**
30993
- * Both patterns derive from {@link CLOSING_KEYWORDS} so the constant and the
30994
- * grammar cannot drift. Alternation order is safe: the regex engine backtracks
30995
- * through alternatives, so `close` matching inside `closes` fails at the
30996
- * mandatory `#`-introducer and retries the longer keyword.
30997
- */
30998
- const KEYWORDS = CLOSING_KEYWORDS.join("|");
30999
- new RegExp(`\\b(${KEYWORDS})\\s+#(\\d+)`, "gi");
31000
- new RegExp(`^(${KEYWORDS}):?[ \\t]+#(\\d+)$`, "i");
31001
- //#endregion
31002
- //#region ../../node_modules/.pnpm/@effected+github-references@0.2.0_effect@4.0.0-rc.112/node_modules/@effected/github-references/ClosingList.js
31003
- /**
31004
- * The closing-list dialect: one whole line naming several issues at once.
31005
- *
31006
- * @remarks
31007
- * The third dialect, alongside the two in `IssueReferences`: after trimming,
31008
- * the **entire** line must be `<keyword>[:] <list>` — keyword
31009
- * case-insensitive (lowercased to canonical form in the result), colon
31010
- * optional, and the list one or more `#<digits>` items separated by `,`,
31011
- * `and`, or the Oxford `, and`. Whitespace inside the line is `[ \t]` only,
31012
- * so an embedded newline cannot smuggle two lines past a parser whose
31013
- * contract is one — the same posture as the bare-line pattern. Any trailing
31014
- * content after the list rejects the line; duplicates are preserved in order,
31015
- * because whether `#1, #1` means one issue or two is the caller's business.
31016
- *
31017
- * Two keyword sets play here. {@link parseClosingList} accepts only the nine
31018
- * closing keywords and yields a {@link ClosingList}; {@link parseReferenceList}
31019
- * additionally accepts the non-closing {@link REFERENCE_KEYWORDS} (`ref`,
31020
- * `refs`, `references`) and reports which set matched via
31021
- * {@link ReferenceList}'s `closing` flag.
31022
- *
31023
- * An item whose digits exceed `Number.MAX_SAFE_INTEGER` rejects the **whole
31024
- * line**, where `harvestIssueReferences` merely skips the one match. The
31025
- * asymmetry is deliberate: a harvest drops one reference out of running
31026
- * prose, but a list line is a single claim about a set of issues, and
31027
- * returning the parseable subset would misrepresent the line as claiming
31028
- * less than it does.
31029
- *
31030
- * Complexity posture: parsing is a single left-to-right character scan —
31031
- * this module contains **no regular expressions at all** — so worst-case
31032
- * time is linear in the line length by construction. There is no
31033
- * backtracking engine to feed, no polynomial blow-up for a scanner to flag,
31034
- * and therefore no input truncation.
31035
- *
31036
- * Beyond the whole-line parsers, {@link harvestReferenceLists} generalizes
31037
- * the same list grammar to the inline-in-prose posture — several lists on
31038
- * one line of running text — and {@link parseClosingLists} /
31039
- * {@link parseReferenceLists} apply the whole-line parsers per line of a
31040
- * multi-line text. All of them ride the same character scan; the no-regex
31041
- * promise above covers every export here.
31042
- */
31043
- /**
31044
- * The non-closing reference keywords the list dialect accepts, lowercased.
31045
- *
31046
- * @remarks
31047
- * GitHub does not act on these — they associate without closing — but a
31048
- * references region writes them, so the parser must read them.
31049
- *
31050
- * @public
31051
- */
31052
- const REFERENCE_KEYWORDS = [
31053
- "ref",
31054
- "refs",
31055
- "references"
31056
- ];
31057
- /**
31058
- * Both keyword tables ARE the exported constants — membership sets built from
31059
- * them once — so the constants and the grammar cannot drift.
31060
- */
31061
- const ALL_KEYWORDS = /* @__PURE__ */ new Set([...CLOSING_KEYWORDS, ...REFERENCE_KEYWORDS]);
31062
- /** Membership test for reporting `closing`, widened once so no call casts. */
31063
- const CLOSING_SET = new Set(CLOSING_KEYWORDS);
31064
- const HASH = 35;
31065
- const COLON = 58;
31066
- const COMMA = 44;
31067
- /** `[ \t]` — the only whitespace the dialect admits, per the module remarks. */
31068
- const isSpaceTab = (code) => code === 32 || code === 9;
31069
- const isDigit$1 = (code) => code >= 48 && code <= 57;
31070
- const isAsciiLetter = (code) => code >= 65 && code <= 90 || code >= 97 && code <= 122;
31071
- /** The index after the run of `[ \t]` starting at `from` (possibly `from` itself). */
31072
- const skipSpaceTab = (line, from) => {
31073
- let index = from;
31074
- while (index < line.length && isSpaceTab(line.charCodeAt(index))) index += 1;
31075
- return index;
31076
- };
31077
- /**
31078
- * One list item at exactly `from`: `#<digits>` and the index one past it.
31079
- * Digits exceeding `Number.MAX_SAFE_INTEGER` report `"unsafe"` rather than a
31080
- * silently rounded issue number, still carrying the index one past the digit
31081
- * run so a caller can skip the item's extent; the whole-line parsers reject
31082
- * on it and {@link harvestReferenceLists} abandons the entire candidate —
31083
- * see the module remarks for why a list never yields a partial reading.
31084
- * Anything that is not `#<digits>` at all is `undefined`.
31085
- */
31086
- const readItem = (line, from) => {
31087
- if (line.charCodeAt(from) !== HASH) return void 0;
31088
- const start = from + 1;
31089
- let index = start;
31090
- while (index < line.length && isDigit$1(line.charCodeAt(index))) index += 1;
31091
- if (index === start) return void 0;
31092
- const value = Number(line.slice(start, index));
31093
- return Number.isSafeInteger(value) ? {
31094
- kind: "item",
31095
- value,
31096
- next: index
31097
- } : {
31098
- kind: "unsafe",
31099
- next: index
31100
- };
31101
- };
31102
- /**
31103
- * One separator at exactly `from`: a comma with optional surrounding `[ \t]`
31104
- * and an optional Oxford `and` (consumed only when its own trailing `[ \t]+`
31105
- * is present), or a bare `and` requiring `[ \t]+` on both sides. `and` is
31106
- * lowercase-only — the keyword head is case-insensitive, the separator is
31107
- * not. Returns the index where the next item must start, or `undefined` when
31108
- * no separator is present.
31109
- */
31110
- const scanSeparator = (line, from) => {
31111
- const afterLeading = skipSpaceTab(line, from);
31112
- if (line.charCodeAt(afterLeading) === COMMA) {
31113
- const afterComma = skipSpaceTab(line, afterLeading + 1);
31114
- if (line.startsWith("and", afterComma)) {
31115
- const afterAnd = skipSpaceTab(line, afterComma + 3);
31116
- if (afterAnd > afterComma + 3) return afterAnd;
31117
- }
31118
- return afterComma;
31119
- }
31120
- if (afterLeading > from && line.startsWith("and", afterLeading)) {
31121
- const afterAnd = skipSpaceTab(line, afterLeading + 3);
31122
- if (afterAnd > afterLeading + 3) return afterAnd;
31123
- }
31124
- };
31125
- /**
31126
- * The scan walk: item, then separator, then item, until the cursor stands
31127
- * exactly at the end of the string. Anything else — a malformed item, an
31128
- * unknown separator, trailing content, an unsafe issue number — is
31129
- * `undefined`, and the caller rejects the whole line.
31130
- */
31131
- const parseItems = (line, from) => {
31132
- const issueNumbers = [];
31133
- let cursor = from;
31134
- for (;;) {
31135
- const item = readItem(line, cursor);
31136
- if (item === void 0 || item.kind === "unsafe") return void 0;
31137
- issueNumbers.push(item.value);
31138
- cursor = item.next;
31139
- if (cursor === line.length) return issueNumbers;
31140
- const next = scanSeparator(line, cursor);
31141
- if (next === void 0) return void 0;
31142
- cursor = next;
31143
- }
31144
- };
31145
- /**
31146
- * The list a whole line carries under either keyword set, or `Option.none()`.
31147
- *
31148
- * @remarks
31149
- * Accepts the nine closing keywords plus {@link REFERENCE_KEYWORDS}, and
31150
- * reports which set matched in the result's `closing` flag. Grammar,
31151
- * whole-line posture and the whole-line rejection of unsafe issue numbers
31152
- * are in the module remarks.
31153
- *
31154
- * @public
31155
- */
31156
- const parseReferenceList = (line) => {
31157
- const trimmed = line.trim();
31158
- let letters = 0;
31159
- while (letters < trimmed.length && isAsciiLetter(trimmed.charCodeAt(letters))) letters += 1;
31160
- if (letters === 0) return effect.Option.none();
31161
- const keyword = trimmed.slice(0, letters).toLowerCase();
31162
- if (!ALL_KEYWORDS.has(keyword)) return effect.Option.none();
31163
- let cursor = letters;
31164
- if (trimmed.charCodeAt(cursor) === COLON) cursor += 1;
31165
- const afterWhitespace = skipSpaceTab(trimmed, cursor);
31166
- if (afterWhitespace === cursor) return effect.Option.none();
31167
- const issueNumbers = parseItems(trimmed, afterWhitespace);
31168
- if (issueNumbers === void 0) return effect.Option.none();
31169
- return effect.Option.some({
31170
- keyword,
31171
- closing: CLOSING_SET.has(keyword),
31172
- issueNumbers
31173
- });
31174
- };
31175
- /**
31176
- * Every reference list a text carries, line by line, across both postures.
31177
- *
31178
- * @remarks
31179
- * The trailer/prose interleave consumers otherwise hand-roll: each line is
31180
- * tried as a whole-line reference list first ({@link parseReferenceList} —
31181
- * colon-tolerant, per the line dialect), and only a line that is not one is
31182
- * harvested inline ({@link harvestReferenceLists} — no colon, per the inline
31183
- * dialect). The preference means a colon-less trailer line contributes its
31184
- * list exactly once, never once per posture.
31185
- *
31186
- * Results carry no offsets, deliberately: this is the line-granular
31187
- * composition, and a consumer that needs spans uses
31188
- * {@link harvestReferenceLists} directly. Duplicates are preserved, in
31189
- * document order.
31190
- *
31191
- * @public
31192
- */
31193
- const collectReferenceLists = (text) => {
31194
- const lists = [];
31195
- for (const line of text.split("\n")) {
31196
- const whole = parseReferenceList(line);
31197
- if (effect.Option.isSome(whole)) {
31198
- lists.push(whole.value);
31199
- continue;
31200
- }
31201
- for (const harvested of harvestReferenceLists(line)) lists.push({
31202
- keyword: harvested.keyword,
31203
- closing: harvested.closing,
31204
- issueNumbers: harvested.issueNumbers
31205
- });
31206
- }
31207
- return lists;
31208
- };
31209
- /** `[A-Za-z0-9_]` — the word-boundary alphabet the inline dialects use. */
31210
- const isWordChar = (code) => isAsciiLetter(code) || isDigit$1(code) || code === 95;
31211
- /**
31212
- * The full JavaScript `\s` set, spelled as a predicate so the module keeps
31213
- * its no-regex promise: ASCII whitespace, NEL-adjacent controls, and the
31214
- * Unicode space separators. Only the keyword→first-item gap of
31215
- * {@link harvestReferenceLists} admits this set — everything inside a list
31216
- * stays `[ \t]`, per the module remarks.
31217
- */
31218
- const isAnyWhitespace = (code) => code === 32 || code >= 9 && code <= 13 || code === 160 || code === 5760 || code >= 8192 && code <= 8202 || code === 8232 || code === 8233 || code === 8239 || code === 8287 || code === 12288 || code === 65279;
31219
- /**
31220
- * Every reference list found inline in `text`, in document order.
31221
- *
31222
- * @remarks
31223
- * The inline-in-prose posture generalized to lists:
31224
- * `Closes #123, Fixes #456` in one line of a commit body yields two
31225
- * single-item lists, where
31226
- * `harvestIssueReferences` reads only the first reference of each and the
31227
- * whole-line parsers read neither. The grammar per candidate:
31228
- *
31229
- * - The keyword is case-insensitive, drawn from either keyword set,
31230
- * lowercased to canonical form in the result, with `closing` reported by
31231
- * set membership. Word boundaries hold on both sides: the characters
31232
- * immediately before and after the keyword's letter run must not be
31233
- * `[A-Za-z0-9_]`, so `recloses #1` and `1closes #1` do not match.
31234
- * - **No colon** — exactly like `harvestIssueReferences`, the colon spelling
31235
- * belongs to the line dialects ({@link parseReferenceList} and the
31236
- * bare-line parser), so `closes: #1` inline yields nothing.
31237
- * - The keyword→first-item gap is any run of whitespace **including
31238
- * newlines**, mirroring the inline dialect's `\s+`.
31239
- * - List continuation uses the `,` / `and` / Oxford separators with `[ \t]`
31240
- * whitespace only, so a list cannot continue past a newline — a later
31241
- * line makes its own claims.
31242
- * - Items are `#<digits>`; duplicates are preserved in order.
31243
- *
31244
- * A list ends at its last valid item: in `closes #1 and fixes #2` the
31245
- * ` and ` before `fixes` fails as a separator because what follows is not
31246
- * `#`, so the text yields `closes: [1]` then `fixes: [2]`. An item past
31247
- * `Number.MAX_SAFE_INTEGER` anywhere in a candidate skips the **entire**
31248
- * candidate — never a partial list, for the same reason
31249
- * {@link parseReferenceList} rejects the whole line — and scanning resumes
31250
- * after the candidate's scanned extent.
31251
- *
31252
- * Like everything in this module, the harvest is a single left-to-right
31253
- * character scan with no regular expressions, so time stays linear in the
31254
- * text length and no input is truncated.
31255
- *
31256
- * @public
31257
- */
31258
- const harvestReferenceLists = (text) => {
31259
- const lists = [];
31260
- let index = 0;
31261
- while (index < text.length) {
31262
- if (!isAsciiLetter(text.charCodeAt(index))) {
31263
- index += 1;
31264
- continue;
31265
- }
31266
- const runStart = index;
31267
- let runEnd = index + 1;
31268
- while (runEnd < text.length && isAsciiLetter(text.charCodeAt(runEnd))) runEnd += 1;
31269
- if (runStart > 0 && isWordChar(text.charCodeAt(runStart - 1)) || runEnd < text.length && isWordChar(text.charCodeAt(runEnd))) {
31270
- index = runEnd;
31271
- continue;
31272
- }
31273
- const keyword = text.slice(runStart, runEnd).toLowerCase();
31274
- if (!ALL_KEYWORDS.has(keyword)) {
31275
- index = runEnd;
31276
- continue;
31277
- }
31278
- let cursor = runEnd;
31279
- while (cursor < text.length && isAnyWhitespace(text.charCodeAt(cursor))) cursor += 1;
31280
- const first = cursor === runEnd ? void 0 : readItem(text, cursor);
31281
- if (first === void 0) {
31282
- index = runEnd;
31283
- continue;
31284
- }
31285
- if (first.kind === "unsafe") {
31286
- index = first.next;
31287
- continue;
31288
- }
31289
- const issueNumbers = [first.value];
31290
- let end = first.next;
31291
- let unsafeNext;
31292
- for (;;) {
31293
- const next = scanSeparator(text, end);
31294
- if (next === void 0) break;
31295
- const item = readItem(text, next);
31296
- if (item === void 0) break;
31297
- if (item.kind === "unsafe") {
31298
- unsafeNext = item.next;
31299
- break;
31300
- }
31301
- issueNumbers.push(item.value);
31302
- end = item.next;
31303
- }
31304
- if (unsafeNext !== void 0) {
31305
- index = unsafeNext;
31306
- continue;
31307
- }
31308
- lists.push({
31309
- keyword,
31310
- closing: CLOSING_SET.has(keyword),
31311
- issueNumbers,
31312
- start: runStart,
31313
- end
31314
- });
31315
- index = end;
31316
- }
31317
- return lists;
31318
- };
31319
- //#endregion
31320
- //#region ../../node_modules/.pnpm/@effected+github-references@0.2.0_effect@4.0.0-rc.112/node_modules/@effected/github-references/KeywordFamily.js
31321
- /**
31322
- * The projection table IS the totality proof: `Record` over the union of
31323
- * both keyword types makes a keyword added to either constant without an
31324
- * entry here fail to compile.
31325
- */
31326
- const FAMILIES = {
31327
- close: "close",
31328
- closes: "close",
31329
- closed: "close",
31330
- fix: "fix",
31331
- fixes: "fix",
31332
- fixed: "fix",
31333
- resolve: "resolve",
31334
- resolves: "resolve",
31335
- resolved: "resolve",
31336
- ref: "ref",
31337
- refs: "ref",
31338
- references: "ref"
31339
- };
31340
- /**
31341
- * The family a keyword belongs to.
31342
- *
31343
- * @remarks
31344
- * Total over both keyword sets by construction — see the module remarks for
31345
- * why an explicit record beats a `startsWith` heuristic. `close`, `closes`
31346
- * and `closed` map to `"close"`; the `fix` and `resolve` conjugations
31347
- * likewise; `ref`, `refs` and `references` map to `"ref"`. The evidence for
31348
- * the projection is downstream: categorized harvesters key maps by family,
31349
- * and each was hand-rolling this collapse.
31350
- *
31351
- * @public
31352
- */
31353
- const keywordFamily = (keyword) => FAMILIES[keyword];
31354
- //#endregion
31355
31458
  //#region ../silk-effects/dist/dev/pkg/changesets/utils/issue-refs.js
31356
31459
  /**
31357
31460
  * The output category each keyword family lands in.
@@ -31418,41 +31521,6 @@ function parseIssueReferences(commitMessage) {
31418
31521
  return references;
31419
31522
  }
31420
31523
  //#endregion
31421
- //#region ../silk-effects/dist/dev/pkg/changesets/utils/logger.js
31422
- /**
31423
- * Log a warning message.
31424
- *
31425
- * @remarks
31426
- * Detection order:
31427
- * 1. If `process.env.VITEST` is set, the message is silently discarded.
31428
- * 2. If `process.env.GITHUB_ACTIONS === "true"`, the message is emitted
31429
- * as a `::warning::` annotation.
31430
- * 3. Otherwise, `console.warn` is used.
31431
- *
31432
- * @param message - The warning message
31433
- * @param args - Additional arguments (concatenated with a space in CI mode)
31434
- *
31435
- * @example
31436
- * ```typescript
31437
- * import { logWarning } from "../utils/logger.js";
31438
- *
31439
- * logWarning("Duplicate dependency entry", "effect@3.19.0");
31440
- * // In CI: "::warning::Duplicate dependency entry effect@3.19.0"
31441
- * // Locally: console.warn("Duplicate dependency entry", "effect@3.19.0")
31442
- * ```
31443
- *
31444
- * @internal
31445
- */
31446
- function logWarning(message, ...args) {
31447
- /* v8 ignore start — environment-specific */
31448
- if (typeof process !== "undefined" && process.env.VITEST) return;
31449
- if (typeof process !== "undefined" && process.env.GITHUB_ACTIONS === "true") {
31450
- const text = args.length > 0 ? `${message} ${args.join(" ")}` : message;
31451
- console.warn(`::warning::${text}`);
31452
- } else console.warn(message, ...args);
31453
- /* v8 ignore stop */
31454
- }
31455
- //#endregion
31456
31524
  //#region ../silk-effects/dist/dev/pkg/changesets/utils/section-parser.js
31457
31525
  /**
31458
31526
  * Parse a changeset summary into structured sections.
@@ -31822,10 +31890,7 @@ function getReleaseLine(changeset, versionType, options) {
31822
31890
  if (changeset.commit) commitInfo = yield* (yield* GitHubService).getInfo({
31823
31891
  commit: changeset.commit,
31824
31892
  repo: options.repo
31825
- }).pipe(effect.Effect.flatMap((raw) => effect.Schema.decodeUnknownEffect(GitHubInfoSchema)(raw).pipe(effect.Effect.map(() => raw), effect.Effect.catch(() => effect.Effect.succeed(raw)))), effect.Effect.catch((error) => {
31826
- logWarning("Could not fetch GitHub info for commit:", changeset.commit ?? "", String(error));
31827
- return effect.Effect.succeed(null);
31828
- }));
31893
+ }).pipe(effect.Effect.flatMap((raw) => effect.Schema.decodeUnknownEffect(GitHubInfoSchema)(raw).pipe(effect.Effect.map(() => raw), effect.Effect.catch(() => effect.Effect.succeed(raw)))), effect.Effect.catch((error) => logWarning("Could not fetch GitHub info for commit:", changeset.commit ?? "", String(error)).pipe(effect.Effect.as(null))));
31829
31894
  const parsed = parseChangesetSections(changeset.summary);
31830
31895
  const firstLine = changeset.summary.split("\n")[0];
31831
31896
  const commitMsg = parseCommitMessage(firstLine);
@@ -31920,29 +31985,48 @@ function getReleaseLine(changeset, versionType, options) {
31920
31985
  */
31921
31986
  const MainLayer = GitHubService.layer;
31922
31987
  /**
31923
- * Changesets API `ChangelogFunctions` implementation.
31988
+ * Build a Changesets `ChangelogFunctions` implementation bound to a warning
31989
+ * mode.
31990
+ *
31991
+ * @remarks
31992
+ * This module is engine code and reads no environment; the host that installs
31993
+ * the functions (the `\@savvy-web/changelog` package under the changesets CLI)
31994
+ * decides the mode from its own `process.env` and passes it here. Each method
31995
+ * validates options, runs the corresponding Effect program with the merged
31996
+ * service layer and the chosen {@link ChangesetLogMode}, and returns a
31997
+ * `Promise<string>`.
31924
31998
  *
31925
- * This object satisfies the `ChangelogFunctions` contract from
31926
- * `\@changesets/types`. Each method validates options, runs the
31927
- * corresponding Effect program with the merged service layer, and
31928
- * returns a `Promise<string>`.
31999
+ * @param options - The warning mode to provide
32000
+ * @returns A `ChangelogFunctions` object for `.changeset/config.json`
31929
32001
  *
31930
- * @internal
32002
+ * @public
31931
32003
  */
31932
- const changelogFunctions$1 = {
31933
- getReleaseLine: async (changeset, versionType, options) => {
31934
- const program = effect.Effect.gen(function* () {
32004
+ function makeChangelogFunctions(options = {}) {
32005
+ const run = (program) => {
32006
+ const provided = program.pipe(effect.Effect.provide(MainLayer));
32007
+ return effect.Effect.runPromise(options.logMode === void 0 ? provided : provided.pipe(effect.Effect.provideService(ChangesetLogMode, options.logMode)));
32008
+ };
32009
+ return {
32010
+ getReleaseLine: async (changeset, versionType, options) => run(effect.Effect.gen(function* () {
31935
32011
  return yield* getReleaseLine(changeset, versionType, yield* validateChangesetOptions(options));
31936
- });
31937
- return effect.Effect.runPromise(program.pipe(effect.Effect.provide(MainLayer)));
31938
- },
31939
- getDependencyReleaseLine: async (changesets, dependenciesUpdated, options) => {
31940
- const program = effect.Effect.gen(function* () {
32012
+ })),
32013
+ getDependencyReleaseLine: async (changesets, dependenciesUpdated, options) => run(effect.Effect.gen(function* () {
31941
32014
  return yield* getDependencyReleaseLine(changesets, dependenciesUpdated, yield* validateChangesetOptions(options));
31942
- });
31943
- return effect.Effect.runPromise(program.pipe(effect.Effect.provide(MainLayer)));
31944
- }
31945
- };
32015
+ }))
32016
+ };
32017
+ }
32018
+ /**
32019
+ * Changesets API `ChangelogFunctions` implementation with the default warning
32020
+ * mode (`"stderr"`).
32021
+ *
32022
+ * @remarks
32023
+ * Equivalent to `makeChangelogFunctions()`. A host that runs under GitHub
32024
+ * Actions or a test runner should call {@link makeChangelogFunctions} with the
32025
+ * mode it detects instead.
32026
+ *
32027
+ * @internal
32028
+ */
32029
+ const changelogFunctions$1 = makeChangelogFunctions();
31946
32030
  //#endregion
31947
32031
  //#region ../silk-effects/dist/dev/pkg/changesets/api/changelog.js
31948
32032
  /**
@@ -32047,10 +32131,13 @@ var Changelog = class {
32047
32131
  * @param versionType - The semantic version bump type (`"major"`, `"minor"`, or `"patch"`)
32048
32132
  * @param options - Configuration object; must include `repo` in `"owner/repo"` format.
32049
32133
  * Pass `null` to use defaults (no GitHub link resolution).
32134
+ * @param logMode - How a failed GitHub lookup is reported (`"stderr"` when omitted);
32135
+ * the host reads its own environment and passes `"github"` / `"silent"` — this
32136
+ * engine never does. See `ChangesetLogMode`.
32050
32137
  * @returns A promise resolving to the formatted markdown string
32051
32138
  */
32052
- static async formatReleaseLine(changeset, versionType, options) {
32053
- return changelogFunctions$1.getReleaseLine(changeset, versionType, options);
32139
+ static async formatReleaseLine(changeset, versionType, options, logMode) {
32140
+ return makeChangelogFunctions(logMode === void 0 ? {} : { logMode }).getReleaseLine(changeset, versionType, options);
32054
32141
  }
32055
32142
  /**
32056
32143
  * Format dependency update release lines into a markdown table.
@@ -32065,11 +32152,13 @@ var Changelog = class {
32065
32152
  * old/new versions and package metadata
32066
32153
  * @param options - Configuration object; must include `repo` in `"owner/repo"` format.
32067
32154
  * Pass `null` to use defaults.
32155
+ * @param logMode - How a failed GitHub lookup is reported (`"stderr"` when omitted);
32156
+ * see {@link Changelog.formatReleaseLine}.
32068
32157
  * @returns A promise resolving to the formatted markdown string containing
32069
32158
  * the dependency update table
32070
32159
  */
32071
- static async formatDependencyReleaseLine(changesets, dependenciesUpdated, options) {
32072
- return changelogFunctions$1.getDependencyReleaseLine(changesets, dependenciesUpdated, options);
32160
+ static async formatDependencyReleaseLine(changesets, dependenciesUpdated, options, logMode) {
32161
+ return makeChangelogFunctions(logMode === void 0 ? {} : { logMode }).getDependencyReleaseLine(changesets, dependenciesUpdated, options);
32073
32162
  }
32074
32163
  };
32075
32164
  //#endregion
@@ -33815,7 +33904,7 @@ _effected_templates.SectionId.make({
33815
33904
  commentStyle: _effected_templates.CommentStyle.hash
33816
33905
  });
33817
33906
  //#endregion
33818
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/limits.js
33907
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/limits.js
33819
33908
  /** Hard cap on pattern length. Upstream minimatch's MAX_PATTERN_LENGTH (64KB). */
33820
33909
  const MAX_PATTERN_LENGTH = 65536;
33821
33910
  /** Default brace-expansion output budget. Upstream brace-expansion's EXPANSION_MAX. */
@@ -33849,7 +33938,7 @@ const assertCap = (name, value) => {
33849
33938
  return value;
33850
33939
  };
33851
33940
  //#endregion
33852
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/unescape.js
33941
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/unescape.js
33853
33942
  /**
33854
33943
  * Un-escape a string that has been escaped with `escape`.
33855
33944
  *
@@ -33872,11 +33961,11 @@ const unescapePattern = (s, { windowsPathsNoEscape = false, magicalBraces = true
33872
33961
  return windowsPathsNoEscape ? s.replace(/\[([^/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^/\\{}])\]/g, "$1$2").replace(/\\([^/{}])/g, "$1");
33873
33962
  };
33874
33963
  //#endregion
33875
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/types.js
33964
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/types.js
33876
33965
  /** The globstar marker in a compiled pattern set. */
33877
33966
  const GLOBSTAR = Symbol("globstar **");
33878
33967
  //#endregion
33879
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/escape.js
33968
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/escape.js
33880
33969
  /**
33881
33970
  * Escape all magic characters in a glob pattern.
33882
33971
  *
@@ -33894,13 +33983,13 @@ const escapePattern = (s, { windowsPathsNoEscape = false, magicalBraces = false
33894
33983
  return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
33895
33984
  };
33896
33985
  //#endregion
33897
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/assertValidPattern.js
33986
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/assertValidPattern.js
33898
33987
  const assertValidPattern = (pattern) => {
33899
33988
  if (typeof pattern !== "string") throw new TypeError("invalid pattern");
33900
33989
  if (pattern.length > 65536) throw new GuardExceeded("PatternTooLong", MAX_PATTERN_LENGTH, pattern.length);
33901
33990
  };
33902
33991
  //#endregion
33903
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/braceExpressions.js
33992
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/braceExpressions.js
33904
33993
  const posixClasses = {
33905
33994
  "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
33906
33995
  "[:alpha:]": ["\\p{L}\\p{Nl}", true],
@@ -34023,7 +34112,7 @@ const parseClass = (glob, position) => {
34023
34112
  ];
34024
34113
  };
34025
34114
  //#endregion
34026
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/ast.js
34115
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/ast.js
34027
34116
  const types = /* @__PURE__ */ new Set([
34028
34117
  "!",
34029
34118
  "?",
@@ -34540,7 +34629,7 @@ var AST = class AST {
34540
34629
  }
34541
34630
  };
34542
34631
  //#endregion
34543
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/balancedMatch.js
34632
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/balancedMatch.js
34544
34633
  const maybeMatch = (reg, str) => {
34545
34634
  const m = str.match(reg);
34546
34635
  return m ? m[0] : null;
@@ -34598,7 +34687,7 @@ const range = (a, b, str) => {
34598
34687
  return result;
34599
34688
  };
34600
34689
  //#endregion
34601
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/braceExpansion.js
34690
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/braceExpansion.js
34602
34691
  const escSlash = `\0SLASH${Math.random()}\0`;
34603
34692
  const escOpen = `\0OPEN${Math.random()}\0`;
34604
34693
  const escClose = `\0CLOSE${Math.random()}\0`;
@@ -34745,7 +34834,7 @@ function expand_(str, max, isTopInput, depth) {
34745
34834
  }
34746
34835
  }
34747
34836
  //#endregion
34748
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/internal/minimatch.js
34837
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/internal/minimatch.js
34749
34838
  const starDotExtRE = /^\*+([^+@!?*[(]*)$/;
34750
34839
  const starDotExtTest = (ext) => (f) => !f.startsWith(".") && f.endsWith(ext);
34751
34840
  const starDotExtTestDot = (ext) => (f) => f.endsWith(ext);
@@ -35318,7 +35407,7 @@ var Minimatch = class {
35318
35407
  }
35319
35408
  };
35320
35409
  //#endregion
35321
- //#region ../../node_modules/.pnpm/@effected+glob@0.5.0_effect@4.0.0-rc.112/node_modules/@effected/glob/GlobPattern.js
35410
+ //#region ../../node_modules/.pnpm/@effected+glob@0.6.0_effect@4.0.0-rc.115/node_modules/@effected/glob/GlobPattern.js
35322
35411
  /**
35323
35412
  * Typed failure raised when a glob pattern trips a compile-time guard:
35324
35413
  * over-length, brace-expansion budget exhaustion, or nesting past the depth
@@ -35597,7 +35686,7 @@ var GlobPattern = class GlobPattern extends effect.Schema.Class("GlobPattern")(e
35597
35686
  })));
35598
35687
  };
35599
35688
  //#endregion
35600
- //#region ../../node_modules/.pnpm/@effected+walker@0.7.0_@effected+glob@0.5.0_effect@4.0.0-rc.112__effect@4.0.0-rc.112/node_modules/@effected/walker/Descend.js
35689
+ //#region ../../node_modules/.pnpm/@effected+walker@0.8.0_@effected+glob@0.6.0_effect@4.0.0-rc.115__effect@4.0.0-rc.115/node_modules/@effected/walker/Descend.js
35601
35690
  /**
35602
35691
  * Typed failure raised by `descend`: a directory mid-walk was unreadable
35603
35692
  * (under `onUnreadable: "fail"`), or the walk descended past `maxDepth`. Depth
@@ -35715,7 +35804,7 @@ function descend(pattern, options) {
35715
35804
  return descendImpl(pattern, options);
35716
35805
  }
35717
35806
  //#endregion
35718
- //#region ../../node_modules/.pnpm/@effected+walker@0.7.0_@effected+glob@0.5.0_effect@4.0.0-rc.112__effect@4.0.0-rc.112/node_modules/@effected/walker/Expand.js
35807
+ //#region ../../node_modules/.pnpm/@effected+walker@0.8.0_@effected+glob@0.6.0_effect@4.0.0-rc.115__effect@4.0.0-rc.115/node_modules/@effected/walker/Expand.js
35719
35808
  /**
35720
35809
  * Typed failure raised by {@link compileAndExpand}: the single error the
35721
35810
  * compile+expand recipe fails with, so a caller catches one tag rather than
@@ -40715,7 +40804,7 @@ function globSync(globInput, options) {
40715
40804
  return crawler ? formatPaths(crawler.sync(), relative) : [];
40716
40805
  }
40717
40806
  //#endregion
40718
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/identity.js
40807
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/identity.js
40719
40808
  var require_identity = /* @__PURE__ */ __commonJSMin(((exports) => {
40720
40809
  const ALIAS = Symbol.for("yaml.alias");
40721
40810
  const DOC = Symbol.for("yaml.document");
@@ -40765,7 +40854,7 @@ var require_identity = /* @__PURE__ */ __commonJSMin(((exports) => {
40765
40854
  exports.isSeq = isSeq;
40766
40855
  }));
40767
40856
  //#endregion
40768
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/visit.js
40857
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/visit.js
40769
40858
  var require_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
40770
40859
  var identity = require_identity();
40771
40860
  const BREAK = Symbol("break visit");
@@ -40956,7 +41045,7 @@ var require_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
40956
41045
  exports.visitAsync = visitAsync;
40957
41046
  }));
40958
41047
  //#endregion
40959
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/directives.js
41048
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/directives.js
40960
41049
  var require_directives = /* @__PURE__ */ __commonJSMin(((exports) => {
40961
41050
  var identity = require_identity();
40962
41051
  var visit = require_visit();
@@ -41120,7 +41209,7 @@ var require_directives = /* @__PURE__ */ __commonJSMin(((exports) => {
41120
41209
  exports.Directives = Directives;
41121
41210
  }));
41122
41211
  //#endregion
41123
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/anchors.js
41212
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/anchors.js
41124
41213
  var require_anchors = /* @__PURE__ */ __commonJSMin(((exports) => {
41125
41214
  var identity = require_identity();
41126
41215
  var visit = require_visit();
@@ -41187,7 +41276,7 @@ var require_anchors = /* @__PURE__ */ __commonJSMin(((exports) => {
41187
41276
  exports.findNewAnchor = findNewAnchor;
41188
41277
  }));
41189
41278
  //#endregion
41190
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/applyReviver.js
41279
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/applyReviver.js
41191
41280
  var require_applyReviver = /* @__PURE__ */ __commonJSMin(((exports) => {
41192
41281
  /**
41193
41282
  * Applies the JSON.parse reviver algorithm as defined in the ECMA-262 spec,
@@ -41229,7 +41318,7 @@ var require_applyReviver = /* @__PURE__ */ __commonJSMin(((exports) => {
41229
41318
  exports.applyReviver = applyReviver;
41230
41319
  }));
41231
41320
  //#endregion
41232
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/toJS.js
41321
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/toJS.js
41233
41322
  var require_toJS = /* @__PURE__ */ __commonJSMin(((exports) => {
41234
41323
  var identity = require_identity();
41235
41324
  /**
@@ -41266,7 +41355,7 @@ var require_toJS = /* @__PURE__ */ __commonJSMin(((exports) => {
41266
41355
  exports.toJS = toJS;
41267
41356
  }));
41268
41357
  //#endregion
41269
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Node.js
41358
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Node.js
41270
41359
  var require_Node = /* @__PURE__ */ __commonJSMin(((exports) => {
41271
41360
  var applyReviver = require_applyReviver();
41272
41361
  var identity = require_identity();
@@ -41300,7 +41389,7 @@ var require_Node = /* @__PURE__ */ __commonJSMin(((exports) => {
41300
41389
  exports.NodeBase = NodeBase;
41301
41390
  }));
41302
41391
  //#endregion
41303
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Alias.js
41392
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Alias.js
41304
41393
  var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
41305
41394
  var anchors = require_anchors();
41306
41395
  var visit = require_visit();
@@ -41335,29 +41424,31 @@ var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
41335
41424
  if (node === this) break;
41336
41425
  if (node.anchor === this.source) found = node;
41337
41426
  }
41427
+ if (found && ctx) {
41428
+ const { anchors, doc, maxAliasCount } = ctx;
41429
+ let data = anchors.get(found);
41430
+ if (!data) {
41431
+ toJS.toJS(found, null, ctx);
41432
+ data = anchors.get(found);
41433
+ }
41434
+ /* istanbul ignore if */
41435
+ if (data?.res === void 0) throw new ReferenceError("This should not happen: Alias anchor was not resolved?");
41436
+ if (maxAliasCount >= 0) {
41437
+ data.count += 1;
41438
+ if (data.aliasCount === 0) data.aliasCount = getAliasCount(doc, found, anchors);
41439
+ if (data.count * data.aliasCount > maxAliasCount) throw new ReferenceError("Excessive alias count indicates a resource exhaustion attack");
41440
+ }
41441
+ }
41338
41442
  return found;
41339
41443
  }
41340
41444
  toJSON(_arg, ctx) {
41341
41445
  if (!ctx) return { source: this.source };
41342
- const { anchors, doc, maxAliasCount } = ctx;
41343
- const source = this.resolve(doc, ctx);
41446
+ const source = this.resolve(ctx.doc, ctx);
41344
41447
  if (!source) {
41345
41448
  const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
41346
41449
  throw new ReferenceError(msg);
41347
41450
  }
41348
- let data = anchors.get(source);
41349
- if (!data) {
41350
- toJS.toJS(source, null, ctx);
41351
- data = anchors.get(source);
41352
- }
41353
- /* istanbul ignore if */
41354
- if (data?.res === void 0) throw new ReferenceError("This should not happen: Alias anchor was not resolved?");
41355
- if (maxAliasCount >= 0) {
41356
- data.count += 1;
41357
- if (data.aliasCount === 0) data.aliasCount = getAliasCount(doc, source, anchors);
41358
- if (data.count * data.aliasCount > maxAliasCount) throw new ReferenceError("Excessive alias count indicates a resource exhaustion attack");
41359
- }
41360
- return data.res;
41451
+ return ctx.anchors.get(source).res;
41361
41452
  }
41362
41453
  toString(ctx, _onComment, _onChompKeep) {
41363
41454
  const src = `*${this.source}`;
@@ -41394,7 +41485,7 @@ var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
41394
41485
  exports.Alias = Alias;
41395
41486
  }));
41396
41487
  //#endregion
41397
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Scalar.js
41488
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Scalar.js
41398
41489
  var require_Scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
41399
41490
  var identity = require_identity();
41400
41491
  var Node = require_Node();
@@ -41421,7 +41512,7 @@ var require_Scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
41421
41512
  exports.isScalarValue = isScalarValue;
41422
41513
  }));
41423
41514
  //#endregion
41424
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/createNode.js
41515
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/createNode.js
41425
41516
  var require_createNode = /* @__PURE__ */ __commonJSMin(((exports) => {
41426
41517
  var Alias = require_Alias();
41427
41518
  var identity = require_identity();
@@ -41484,7 +41575,7 @@ var require_createNode = /* @__PURE__ */ __commonJSMin(((exports) => {
41484
41575
  exports.createNode = createNode;
41485
41576
  }));
41486
41577
  //#endregion
41487
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Collection.js
41578
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Collection.js
41488
41579
  var require_Collection = /* @__PURE__ */ __commonJSMin(((exports) => {
41489
41580
  var createNode = require_createNode();
41490
41581
  var identity = require_identity();
@@ -41605,7 +41696,7 @@ var require_Collection = /* @__PURE__ */ __commonJSMin(((exports) => {
41605
41696
  exports.isEmptyPath = isEmptyPath;
41606
41697
  }));
41607
41698
  //#endregion
41608
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyComment.js
41699
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyComment.js
41609
41700
  var require_stringifyComment = /* @__PURE__ */ __commonJSMin(((exports) => {
41610
41701
  /**
41611
41702
  * Stringifies a comment.
@@ -41625,7 +41716,7 @@ var require_stringifyComment = /* @__PURE__ */ __commonJSMin(((exports) => {
41625
41716
  exports.stringifyComment = stringifyComment;
41626
41717
  }));
41627
41718
  //#endregion
41628
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/foldFlowLines.js
41719
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/foldFlowLines.js
41629
41720
  var require_foldFlowLines = /* @__PURE__ */ __commonJSMin(((exports) => {
41630
41721
  const FOLD_FLOW = "flow";
41631
41722
  const FOLD_BLOCK = "block";
@@ -41745,7 +41836,7 @@ var require_foldFlowLines = /* @__PURE__ */ __commonJSMin(((exports) => {
41745
41836
  exports.foldFlowLines = foldFlowLines;
41746
41837
  }));
41747
41838
  //#endregion
41748
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyString.js
41839
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyString.js
41749
41840
  var require_stringifyString = /* @__PURE__ */ __commonJSMin(((exports) => {
41750
41841
  var Scalar = require_Scalar();
41751
41842
  var foldFlowLines = require_foldFlowLines();
@@ -41969,7 +42060,7 @@ var require_stringifyString = /* @__PURE__ */ __commonJSMin(((exports) => {
41969
42060
  exports.stringifyString = stringifyString;
41970
42061
  }));
41971
42062
  //#endregion
41972
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringify.js
42063
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringify.js
41973
42064
  var require_stringify$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
41974
42065
  var anchors = require_anchors();
41975
42066
  var identity = require_identity();
@@ -42077,7 +42168,7 @@ var require_stringify$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42077
42168
  exports.stringify = stringify;
42078
42169
  }));
42079
42170
  //#endregion
42080
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyPair.js
42171
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyPair.js
42081
42172
  var require_stringifyPair = /* @__PURE__ */ __commonJSMin(((exports) => {
42082
42173
  var identity = require_identity();
42083
42174
  var Scalar = require_Scalar();
@@ -42174,7 +42265,7 @@ var require_stringifyPair = /* @__PURE__ */ __commonJSMin(((exports) => {
42174
42265
  exports.stringifyPair = stringifyPair;
42175
42266
  }));
42176
42267
  //#endregion
42177
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/log.js
42268
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/log.js
42178
42269
  var require_log = /* @__PURE__ */ __commonJSMin(((exports) => {
42179
42270
  var node_process$3 = require("process");
42180
42271
  function debug(logLevel, ...messages) {
@@ -42190,7 +42281,7 @@ var require_log = /* @__PURE__ */ __commonJSMin(((exports) => {
42190
42281
  exports.warn = warn;
42191
42282
  }));
42192
42283
  //#endregion
42193
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/merge.js
42284
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/merge.js
42194
42285
  var require_merge = /* @__PURE__ */ __commonJSMin(((exports) => {
42195
42286
  var identity = require_identity();
42196
42287
  var Scalar = require_Scalar();
@@ -42233,7 +42324,7 @@ var require_merge = /* @__PURE__ */ __commonJSMin(((exports) => {
42233
42324
  exports.merge = merge;
42234
42325
  }));
42235
42326
  //#endregion
42236
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/addPairToJSMap.js
42327
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/addPairToJSMap.js
42237
42328
  var require_addPairToJSMap = /* @__PURE__ */ __commonJSMin(((exports) => {
42238
42329
  var log = require_log();
42239
42330
  var merge = require_merge();
@@ -42284,7 +42375,7 @@ var require_addPairToJSMap = /* @__PURE__ */ __commonJSMin(((exports) => {
42284
42375
  exports.addPairToJSMap = addPairToJSMap;
42285
42376
  }));
42286
42377
  //#endregion
42287
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/Pair.js
42378
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Pair.js
42288
42379
  var require_Pair = /* @__PURE__ */ __commonJSMin(((exports) => {
42289
42380
  var createNode = require_createNode();
42290
42381
  var stringifyPair = require_stringifyPair();
@@ -42317,7 +42408,7 @@ var require_Pair = /* @__PURE__ */ __commonJSMin(((exports) => {
42317
42408
  exports.createPair = createPair;
42318
42409
  }));
42319
42410
  //#endregion
42320
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyCollection.js
42411
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyCollection.js
42321
42412
  var require_stringifyCollection = /* @__PURE__ */ __commonJSMin(((exports) => {
42322
42413
  var identity = require_identity();
42323
42414
  var stringify = require_stringify$1();
@@ -42435,7 +42526,7 @@ var require_stringifyCollection = /* @__PURE__ */ __commonJSMin(((exports) => {
42435
42526
  exports.stringifyCollection = stringifyCollection;
42436
42527
  }));
42437
42528
  //#endregion
42438
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/YAMLMap.js
42529
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/YAMLMap.js
42439
42530
  var require_YAMLMap = /* @__PURE__ */ __commonJSMin(((exports) => {
42440
42531
  var stringifyCollection = require_stringifyCollection();
42441
42532
  var addPairToJSMap = require_addPairToJSMap();
@@ -42544,7 +42635,7 @@ var require_YAMLMap = /* @__PURE__ */ __commonJSMin(((exports) => {
42544
42635
  exports.findPair = findPair;
42545
42636
  }));
42546
42637
  //#endregion
42547
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/map.js
42638
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/common/map.js
42548
42639
  var require_map = /* @__PURE__ */ __commonJSMin(((exports) => {
42549
42640
  var identity = require_identity();
42550
42641
  var YAMLMap = require_YAMLMap();
@@ -42561,7 +42652,7 @@ var require_map = /* @__PURE__ */ __commonJSMin(((exports) => {
42561
42652
  };
42562
42653
  }));
42563
42654
  //#endregion
42564
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/nodes/YAMLSeq.js
42655
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/YAMLSeq.js
42565
42656
  var require_YAMLSeq = /* @__PURE__ */ __commonJSMin(((exports) => {
42566
42657
  var createNode = require_createNode();
42567
42658
  var stringifyCollection = require_stringifyCollection();
@@ -42667,7 +42758,7 @@ var require_YAMLSeq = /* @__PURE__ */ __commonJSMin(((exports) => {
42667
42758
  exports.YAMLSeq = YAMLSeq;
42668
42759
  }));
42669
42760
  //#endregion
42670
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/seq.js
42761
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/common/seq.js
42671
42762
  var require_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
42672
42763
  var identity = require_identity();
42673
42764
  var YAMLSeq = require_YAMLSeq();
@@ -42684,7 +42775,7 @@ var require_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
42684
42775
  };
42685
42776
  }));
42686
42777
  //#endregion
42687
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/string.js
42778
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/common/string.js
42688
42779
  var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
42689
42780
  var stringifyString = require_stringifyString();
42690
42781
  exports.string = {
@@ -42699,7 +42790,7 @@ var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
42699
42790
  };
42700
42791
  }));
42701
42792
  //#endregion
42702
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/common/null.js
42793
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/common/null.js
42703
42794
  var require_null = /* @__PURE__ */ __commonJSMin(((exports) => {
42704
42795
  var Scalar = require_Scalar();
42705
42796
  const nullTag = {
@@ -42714,7 +42805,7 @@ var require_null = /* @__PURE__ */ __commonJSMin(((exports) => {
42714
42805
  exports.nullTag = nullTag;
42715
42806
  }));
42716
42807
  //#endregion
42717
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/bool.js
42808
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/core/bool.js
42718
42809
  var require_bool$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42719
42810
  var Scalar = require_Scalar();
42720
42811
  const boolTag = {
@@ -42733,7 +42824,7 @@ var require_bool$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42733
42824
  exports.boolTag = boolTag;
42734
42825
  }));
42735
42826
  //#endregion
42736
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyNumber.js
42827
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyNumber.js
42737
42828
  var require_stringifyNumber = /* @__PURE__ */ __commonJSMin(((exports) => {
42738
42829
  function stringifyNumber({ format, minFractionDigits, tag, value }) {
42739
42830
  if (typeof value === "bigint") return String(value);
@@ -42754,7 +42845,7 @@ var require_stringifyNumber = /* @__PURE__ */ __commonJSMin(((exports) => {
42754
42845
  exports.stringifyNumber = stringifyNumber;
42755
42846
  }));
42756
42847
  //#endregion
42757
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/float.js
42848
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/core/float.js
42758
42849
  var require_float$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42759
42850
  var Scalar = require_Scalar();
42760
42851
  var stringifyNumber = require_stringifyNumber();
@@ -42795,7 +42886,7 @@ var require_float$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42795
42886
  exports.floatNaN = floatNaN;
42796
42887
  }));
42797
42888
  //#endregion
42798
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/int.js
42889
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/core/int.js
42799
42890
  var require_int$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42800
42891
  var stringifyNumber = require_stringifyNumber();
42801
42892
  const intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -42836,7 +42927,7 @@ var require_int$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42836
42927
  exports.intOct = intOct;
42837
42928
  }));
42838
42929
  //#endregion
42839
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/core/schema.js
42930
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/core/schema.js
42840
42931
  var require_schema$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
42841
42932
  var map = require_map();
42842
42933
  var _null = require_null();
@@ -42860,7 +42951,7 @@ var require_schema$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
42860
42951
  ];
42861
42952
  }));
42862
42953
  //#endregion
42863
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/json/schema.js
42954
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/json/schema.js
42864
42955
  var require_schema$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42865
42956
  var Scalar = require_Scalar();
42866
42957
  var map = require_map();
@@ -42922,7 +43013,7 @@ var require_schema$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
42922
43013
  });
42923
43014
  }));
42924
43015
  //#endregion
42925
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/binary.js
43016
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/binary.js
42926
43017
  var require_binary = /* @__PURE__ */ __commonJSMin(((exports) => {
42927
43018
  var node_buffer = require("buffer");
42928
43019
  var Scalar = require_Scalar();
@@ -42978,7 +43069,7 @@ var require_binary = /* @__PURE__ */ __commonJSMin(((exports) => {
42978
43069
  };
42979
43070
  }));
42980
43071
  //#endregion
42981
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
43072
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
42982
43073
  var require_pairs = /* @__PURE__ */ __commonJSMin(((exports) => {
42983
43074
  var identity = require_identity();
42984
43075
  var Pair = require_Pair();
@@ -43039,7 +43130,7 @@ var require_pairs = /* @__PURE__ */ __commonJSMin(((exports) => {
43039
43130
  exports.resolvePairs = resolvePairs;
43040
43131
  }));
43041
43132
  //#endregion
43042
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/omap.js
43133
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/omap.js
43043
43134
  var require_omap = /* @__PURE__ */ __commonJSMin(((exports) => {
43044
43135
  var identity = require_identity();
43045
43136
  var toJS = require_toJS();
@@ -43104,7 +43195,7 @@ var require_omap = /* @__PURE__ */ __commonJSMin(((exports) => {
43104
43195
  exports.omap = omap;
43105
43196
  }));
43106
43197
  //#endregion
43107
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/bool.js
43198
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/bool.js
43108
43199
  var require_bool = /* @__PURE__ */ __commonJSMin(((exports) => {
43109
43200
  var Scalar = require_Scalar();
43110
43201
  function boolStringify({ value, source }, ctx) {
@@ -43131,7 +43222,7 @@ var require_bool = /* @__PURE__ */ __commonJSMin(((exports) => {
43131
43222
  exports.trueTag = trueTag;
43132
43223
  }));
43133
43224
  //#endregion
43134
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/float.js
43225
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/float.js
43135
43226
  var require_float = /* @__PURE__ */ __commonJSMin(((exports) => {
43136
43227
  var Scalar = require_Scalar();
43137
43228
  var stringifyNumber = require_stringifyNumber();
@@ -43175,7 +43266,7 @@ var require_float = /* @__PURE__ */ __commonJSMin(((exports) => {
43175
43266
  exports.floatNaN = floatNaN;
43176
43267
  }));
43177
43268
  //#endregion
43178
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/int.js
43269
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/int.js
43179
43270
  var require_int = /* @__PURE__ */ __commonJSMin(((exports) => {
43180
43271
  var stringifyNumber = require_stringifyNumber();
43181
43272
  const intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -43248,7 +43339,7 @@ var require_int = /* @__PURE__ */ __commonJSMin(((exports) => {
43248
43339
  exports.intOct = intOct;
43249
43340
  }));
43250
43341
  //#endregion
43251
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/set.js
43342
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/set.js
43252
43343
  var require_set = /* @__PURE__ */ __commonJSMin(((exports) => {
43253
43344
  var identity = require_identity();
43254
43345
  var Pair = require_Pair();
@@ -43317,7 +43408,7 @@ var require_set = /* @__PURE__ */ __commonJSMin(((exports) => {
43317
43408
  exports.set = set;
43318
43409
  }));
43319
43410
  //#endregion
43320
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
43411
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
43321
43412
  var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports) => {
43322
43413
  var stringifyNumber = require_stringifyNumber();
43323
43414
  /** Internal types handle bigint as number, because TS can't figure it out. */
@@ -43400,7 +43491,7 @@ var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports) => {
43400
43491
  exports.timestamp = timestamp;
43401
43492
  }));
43402
43493
  //#endregion
43403
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/yaml-1.1/schema.js
43494
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/yaml-1.1/schema.js
43404
43495
  var require_schema = /* @__PURE__ */ __commonJSMin(((exports) => {
43405
43496
  var map = require_map();
43406
43497
  var _null = require_null();
@@ -43440,7 +43531,7 @@ var require_schema = /* @__PURE__ */ __commonJSMin(((exports) => {
43440
43531
  ];
43441
43532
  }));
43442
43533
  //#endregion
43443
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/tags.js
43534
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/tags.js
43444
43535
  var require_tags = /* @__PURE__ */ __commonJSMin(((exports) => {
43445
43536
  var map = require_map();
43446
43537
  var _null = require_null();
@@ -43526,7 +43617,7 @@ var require_tags = /* @__PURE__ */ __commonJSMin(((exports) => {
43526
43617
  exports.getTags = getTags;
43527
43618
  }));
43528
43619
  //#endregion
43529
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/schema/Schema.js
43620
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/schema/Schema.js
43530
43621
  var require_Schema = /* @__PURE__ */ __commonJSMin(((exports) => {
43531
43622
  var identity = require_identity();
43532
43623
  var map = require_map();
@@ -43554,7 +43645,7 @@ var require_Schema = /* @__PURE__ */ __commonJSMin(((exports) => {
43554
43645
  };
43555
43646
  }));
43556
43647
  //#endregion
43557
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/stringify/stringifyDocument.js
43648
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyDocument.js
43558
43649
  var require_stringifyDocument = /* @__PURE__ */ __commonJSMin(((exports) => {
43559
43650
  var identity = require_identity();
43560
43651
  var stringify = require_stringify$1();
@@ -43616,7 +43707,7 @@ var require_stringifyDocument = /* @__PURE__ */ __commonJSMin(((exports) => {
43616
43707
  exports.stringifyDocument = stringifyDocument;
43617
43708
  }));
43618
43709
  //#endregion
43619
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/doc/Document.js
43710
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/Document.js
43620
43711
  var require_Document = /* @__PURE__ */ __commonJSMin(((exports) => {
43621
43712
  var Alias = require_Alias();
43622
43713
  var Collection = require_Collection();
@@ -43897,7 +43988,7 @@ var require_Document = /* @__PURE__ */ __commonJSMin(((exports) => {
43897
43988
  exports.Document = Document;
43898
43989
  }));
43899
43990
  //#endregion
43900
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/errors.js
43991
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/errors.js
43901
43992
  var require_errors = /* @__PURE__ */ __commonJSMin(((exports) => {
43902
43993
  var YAMLError = class extends Error {
43903
43994
  constructor(name, pos, code, message) {
@@ -43950,7 +44041,7 @@ var require_errors = /* @__PURE__ */ __commonJSMin(((exports) => {
43950
44041
  exports.prettifyError = prettifyError;
43951
44042
  }));
43952
44043
  //#endregion
43953
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-props.js
44044
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-props.js
43954
44045
  var require_resolve_props = /* @__PURE__ */ __commonJSMin(((exports) => {
43955
44046
  function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
43956
44047
  let spaceBefore = false;
@@ -44057,7 +44148,7 @@ var require_resolve_props = /* @__PURE__ */ __commonJSMin(((exports) => {
44057
44148
  exports.resolveProps = resolveProps;
44058
44149
  }));
44059
44150
  //#endregion
44060
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-contains-newline.js
44151
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/util-contains-newline.js
44061
44152
  var require_util_contains_newline = /* @__PURE__ */ __commonJSMin(((exports) => {
44062
44153
  function containsNewline(key) {
44063
44154
  if (!key) return null;
@@ -44086,7 +44177,7 @@ var require_util_contains_newline = /* @__PURE__ */ __commonJSMin(((exports) =>
44086
44177
  exports.containsNewline = containsNewline;
44087
44178
  }));
44088
44179
  //#endregion
44089
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-flow-indent-check.js
44180
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/util-flow-indent-check.js
44090
44181
  var require_util_flow_indent_check = /* @__PURE__ */ __commonJSMin(((exports) => {
44091
44182
  var utilContainsNewline = require_util_contains_newline();
44092
44183
  function flowIndentCheck(indent, fc, onError) {
@@ -44098,7 +44189,7 @@ var require_util_flow_indent_check = /* @__PURE__ */ __commonJSMin(((exports) =>
44098
44189
  exports.flowIndentCheck = flowIndentCheck;
44099
44190
  }));
44100
44191
  //#endregion
44101
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-map-includes.js
44192
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/util-map-includes.js
44102
44193
  var require_util_map_includes = /* @__PURE__ */ __commonJSMin(((exports) => {
44103
44194
  var identity = require_identity();
44104
44195
  function mapIncludes(ctx, items, search) {
@@ -44110,7 +44201,7 @@ var require_util_map_includes = /* @__PURE__ */ __commonJSMin(((exports) => {
44110
44201
  exports.mapIncludes = mapIncludes;
44111
44202
  }));
44112
44203
  //#endregion
44113
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-block-map.js
44204
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-block-map.js
44114
44205
  var require_resolve_block_map = /* @__PURE__ */ __commonJSMin(((exports) => {
44115
44206
  var Pair = require_Pair();
44116
44207
  var YAMLMap = require_YAMLMap();
@@ -44198,7 +44289,7 @@ var require_resolve_block_map = /* @__PURE__ */ __commonJSMin(((exports) => {
44198
44289
  exports.resolveBlockMap = resolveBlockMap;
44199
44290
  }));
44200
44291
  //#endregion
44201
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-block-seq.js
44292
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-block-seq.js
44202
44293
  var require_resolve_block_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
44203
44294
  var YAMLSeq = require_YAMLSeq();
44204
44295
  var resolveProps = require_resolve_props();
@@ -44243,7 +44334,7 @@ var require_resolve_block_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
44243
44334
  exports.resolveBlockSeq = resolveBlockSeq;
44244
44335
  }));
44245
44336
  //#endregion
44246
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-end.js
44337
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-end.js
44247
44338
  var require_resolve_end = /* @__PURE__ */ __commonJSMin(((exports) => {
44248
44339
  function resolveEnd(end, offset, reqSpace, onError) {
44249
44340
  let comment = "";
@@ -44281,7 +44372,7 @@ var require_resolve_end = /* @__PURE__ */ __commonJSMin(((exports) => {
44281
44372
  exports.resolveEnd = resolveEnd;
44282
44373
  }));
44283
44374
  //#endregion
44284
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-flow-collection.js
44375
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-flow-collection.js
44285
44376
  var require_resolve_flow_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
44286
44377
  var identity = require_identity();
44287
44378
  var Pair = require_Pair();
@@ -44444,7 +44535,7 @@ var require_resolve_flow_collection = /* @__PURE__ */ __commonJSMin(((exports) =
44444
44535
  exports.resolveFlowCollection = resolveFlowCollection;
44445
44536
  }));
44446
44537
  //#endregion
44447
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-collection.js
44538
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/compose-collection.js
44448
44539
  var require_compose_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
44449
44540
  var identity = require_identity();
44450
44541
  var Scalar = require_Scalar();
@@ -44496,7 +44587,7 @@ var require_compose_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
44496
44587
  exports.composeCollection = composeCollection;
44497
44588
  }));
44498
44589
  //#endregion
44499
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-block-scalar.js
44590
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-block-scalar.js
44500
44591
  var require_resolve_block_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44501
44592
  var Scalar = require_Scalar();
44502
44593
  function resolveBlockScalar(ctx, scalar, onError) {
@@ -44673,7 +44764,7 @@ var require_resolve_block_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44673
44764
  exports.resolveBlockScalar = resolveBlockScalar;
44674
44765
  }));
44675
44766
  //#endregion
44676
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/resolve-flow-scalar.js
44767
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/resolve-flow-scalar.js
44677
44768
  var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44678
44769
  var Scalar = require_Scalar();
44679
44770
  var resolveEnd = require_resolve_end();
@@ -44743,40 +44834,41 @@ var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44743
44834
  case "`": badChar = `reserved character ${source[0]}`;
44744
44835
  }
44745
44836
  if (badChar) onError(0, "BAD_SCALAR_START", `Plain value cannot start with ${badChar}`);
44746
- return foldLines(source);
44837
+ return unfoldLines(source);
44747
44838
  }
44748
44839
  function singleQuotedValue(source, onError) {
44749
44840
  if (source[source.length - 1] !== "'" || source.length === 1) onError(source.length, "MISSING_CHAR", "Missing closing 'quote");
44750
- return foldLines(source.slice(1, -1)).replace(/''/g, "'");
44841
+ return unfoldLines(source.slice(1, -1)).replace(/''/g, "'");
44751
44842
  }
44752
- function foldLines(source) {
44843
+ function unfoldLines(source) {
44844
+ const line = /(.*?)\r?\n/sy;
44845
+ let match = line.exec(source);
44846
+ if (!match) return source;
44753
44847
  /**
44754
- * The negative lookbehind here and in the `re` RegExp is to
44848
+ * The negative lookbehinds in these RegExps are to
44755
44849
  * prevent causing a polynomial search time in certain cases.
44756
44850
  *
44757
- * The try-catch is for Safari, which doesn't support this yet:
44851
+ * The try-catch is for Safari < 16.4 and other old browsers:
44758
44852
  * https://caniuse.com/js-regexp-lookbehind
44759
44853
  */
44760
- let first, line;
44854
+ let trimEnd, trimBoth;
44761
44855
  try {
44762
- first = new RegExp("(.*?)(?<![ ])[ ]*\r?\n", "sy");
44763
- line = new RegExp("[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?\n", "sy");
44856
+ trimEnd = new RegExp("(?<![ ])[ ]+$");
44857
+ trimBoth = new RegExp("^[ ]+|(?<![ ])[ ]+$", "g");
44764
44858
  } catch {
44765
- first = /(.*?)[ \t]*\r?\n/sy;
44766
- line = /[ \t]*(.*?)[ \t]*\r?\n/sy;
44859
+ trimEnd = /[ \t]+$/;
44860
+ trimBoth = /^[ \t]+|[ \t]+$/g;
44767
44861
  }
44768
- let match = first.exec(source);
44769
- if (!match) return source;
44770
- let res = match[1];
44862
+ let res = match[1].replace(trimEnd, "");
44771
44863
  let sep = " ";
44772
- let pos = first.lastIndex;
44773
- line.lastIndex = pos;
44864
+ let pos = line.lastIndex;
44774
44865
  while (match = line.exec(source)) {
44775
- if (match[1] === "") {
44866
+ const lm = match[1].replace(trimBoth, "");
44867
+ if (lm === "") {
44776
44868
  if (sep === "\n") res += sep;
44777
44869
  else sep = "\n";
44778
44870
  } else {
44779
- res += sep + match[1];
44871
+ res += sep + lm;
44780
44872
  sep = " ";
44781
44873
  }
44782
44874
  pos = line.lastIndex;
@@ -44877,7 +44969,7 @@ var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44877
44969
  exports.resolveFlowScalar = resolveFlowScalar;
44878
44970
  }));
44879
44971
  //#endregion
44880
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-scalar.js
44972
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/compose-scalar.js
44881
44973
  var require_compose_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44882
44974
  var identity = require_identity();
44883
44975
  var Scalar = require_Scalar();
@@ -44938,7 +45030,7 @@ var require_compose_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
44938
45030
  exports.composeScalar = composeScalar;
44939
45031
  }));
44940
45032
  //#endregion
44941
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/util-empty-scalar-position.js
45033
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/util-empty-scalar-position.js
44942
45034
  var require_util_empty_scalar_position = /* @__PURE__ */ __commonJSMin(((exports) => {
44943
45035
  function emptyScalarPosition(offset, before, pos) {
44944
45036
  if (before) {
@@ -44965,7 +45057,7 @@ var require_util_empty_scalar_position = /* @__PURE__ */ __commonJSMin(((exports
44965
45057
  exports.emptyScalarPosition = emptyScalarPosition;
44966
45058
  }));
44967
45059
  //#endregion
44968
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-node.js
45060
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/compose-node.js
44969
45061
  var require_compose_node = /* @__PURE__ */ __commonJSMin(((exports) => {
44970
45062
  var Alias = require_Alias();
44971
45063
  var identity = require_identity();
@@ -45056,7 +45148,7 @@ var require_compose_node = /* @__PURE__ */ __commonJSMin(((exports) => {
45056
45148
  exports.composeNode = composeNode;
45057
45149
  }));
45058
45150
  //#endregion
45059
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/compose-doc.js
45151
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/compose-doc.js
45060
45152
  var require_compose_doc = /* @__PURE__ */ __commonJSMin(((exports) => {
45061
45153
  var Document = require_Document();
45062
45154
  var composeNode = require_compose_node();
@@ -45098,7 +45190,7 @@ var require_compose_doc = /* @__PURE__ */ __commonJSMin(((exports) => {
45098
45190
  exports.composeDoc = composeDoc;
45099
45191
  }));
45100
45192
  //#endregion
45101
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/compose/composer.js
45193
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/compose/composer.js
45102
45194
  var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
45103
45195
  var node_process$2 = require("process");
45104
45196
  var directives = require_directives();
@@ -45296,7 +45388,7 @@ var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
45296
45388
  exports.Composer = Composer;
45297
45389
  }));
45298
45390
  //#endregion
45299
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst-scalar.js
45391
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/cst-scalar.js
45300
45392
  var require_cst_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
45301
45393
  var resolveBlockScalar = require_resolve_block_scalar();
45302
45394
  var resolveFlowScalar = require_resolve_flow_scalar();
@@ -45563,7 +45655,7 @@ var require_cst_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
45563
45655
  exports.setScalarValue = setScalarValue;
45564
45656
  }));
45565
45657
  //#endregion
45566
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst-stringify.js
45658
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/cst-stringify.js
45567
45659
  var require_cst_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
45568
45660
  /**
45569
45661
  * Stringify a CST document, token, or collection item
@@ -45614,7 +45706,7 @@ var require_cst_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
45614
45706
  exports.stringify = stringify;
45615
45707
  }));
45616
45708
  //#endregion
45617
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst-visit.js
45709
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/cst-visit.js
45618
45710
  var require_cst_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
45619
45711
  const BREAK = Symbol("break visit");
45620
45712
  const SKIP = Symbol("skip children");
@@ -45705,7 +45797,7 @@ var require_cst_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
45705
45797
  exports.visit = visit;
45706
45798
  }));
45707
45799
  //#endregion
45708
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/cst.js
45800
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/cst.js
45709
45801
  var require_cst = /* @__PURE__ */ __commonJSMin(((exports) => {
45710
45802
  var cstScalar = require_cst_scalar();
45711
45803
  var cstStringify = require_cst_stringify();
@@ -45784,7 +45876,7 @@ var require_cst = /* @__PURE__ */ __commonJSMin(((exports) => {
45784
45876
  exports.tokenType = tokenType;
45785
45877
  }));
45786
45878
  //#endregion
45787
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/lexer.js
45879
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/lexer.js
45788
45880
  var require_lexer = /* @__PURE__ */ __commonJSMin(((exports) => {
45789
45881
  var cst = require_cst();
45790
45882
  function isEmpty(ch) {
@@ -46317,7 +46409,7 @@ var require_lexer = /* @__PURE__ */ __commonJSMin(((exports) => {
46317
46409
  exports.Lexer = Lexer;
46318
46410
  }));
46319
46411
  //#endregion
46320
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/line-counter.js
46412
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/line-counter.js
46321
46413
  var require_line_counter = /* @__PURE__ */ __commonJSMin(((exports) => {
46322
46414
  /**
46323
46415
  * Tracks newlines during parsing in order to provide an efficient API for
@@ -46364,7 +46456,7 @@ var require_line_counter = /* @__PURE__ */ __commonJSMin(((exports) => {
46364
46456
  exports.LineCounter = LineCounter;
46365
46457
  }));
46366
46458
  //#endregion
46367
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/parse/parser.js
46459
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/parse/parser.js
46368
46460
  var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
46369
46461
  var node_process$1 = require("process");
46370
46462
  var cst = require_cst();
@@ -47230,7 +47322,7 @@ var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
47230
47322
  exports.Parser = Parser;
47231
47323
  }));
47232
47324
  //#endregion
47233
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/public-api.js
47325
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/public-api.js
47234
47326
  var require_public_api = /* @__PURE__ */ __commonJSMin(((exports) => {
47235
47327
  var composer = require_composer();
47236
47328
  var Document = require_Document();
@@ -47319,7 +47411,7 @@ var require_public_api = /* @__PURE__ */ __commonJSMin(((exports) => {
47319
47411
  exports.stringify = stringify;
47320
47412
  }));
47321
47413
  //#endregion
47322
- //#region ../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/dist/index.js
47414
+ //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/index.js
47323
47415
  var require_dist = /* @__PURE__ */ __commonJSMin(((exports) => {
47324
47416
  var composer = require_composer();
47325
47417
  var Document = require_Document();
@@ -55712,6 +55804,7 @@ var changesets_exports = /* @__PURE__ */ __exportAll({
55712
55804
  ChangelogTransformer: () => ChangelogTransformer,
55713
55805
  ChangesetIOError: () => ChangesetIOError,
55714
55806
  ChangesetLinter: () => ChangesetLinter,
55807
+ ChangesetLogMode: () => ChangesetLogMode,
55715
55808
  ChangesetOptionsSchema: () => ChangesetOptionsSchema,
55716
55809
  ChangesetPreviewSchema: () => ChangesetPreviewSchema,
55717
55810
  ChangesetSchema: () => ChangesetSchema,
@@ -55798,6 +55891,7 @@ var changesets_exports = /* @__PURE__ */ __exportAll({
55798
55891
  isPureDependencyChangeset: () => isPureDependencyChangeset,
55799
55892
  listPublishablePackageNames: () => listPublishablePackageNames,
55800
55893
  makeBranchAnalyzerTest: () => makeBranchAnalyzerTest,
55894
+ makeChangelogFunctions: () => makeChangelogFunctions,
55801
55895
  makeConfigInspectorTest: () => makeConfigInspectorTest,
55802
55896
  makeDepsRegenDefault: () => makeDepsRegenDefault,
55803
55897
  makeGitHubTest: () => makeGitHubTest,