@savvy-web/silk 3.10.2 → 3.10.3

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.
@@ -2948,7 +2948,7 @@ const DependencyTableRowSchema = Schema.Struct({
2948
2948
  const DependencyTableSchema = Schema.Array(DependencyTableRowSchema).check(Schema.isMinLength(1));
2949
2949
 
2950
2950
  //#endregion
2951
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/MarkdownNode.js
2951
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/MarkdownNode.js
2952
2952
  /**
2953
2953
  * A single point in a source document: 1-based `line` and `column`, 0-based
2954
2954
  * `offset`.
@@ -3272,6 +3272,8 @@ const PhrasingContent = Schema.suspend(() => Schema.Union([
3272
3272
  InlineCode,
3273
3273
  Link,
3274
3274
  LinkReference,
3275
+ MdxJsxTextElement,
3276
+ MdxTextExpression,
3275
3277
  Strong,
3276
3278
  Text
3277
3279
  ]));
@@ -3515,6 +3517,8 @@ const FlowContent = Schema.suspend(() => Schema.Union([
3515
3517
  Heading,
3516
3518
  Html,
3517
3519
  List,
3520
+ MdxFlowExpression,
3521
+ MdxJsxFlowElement,
3518
3522
  Paragraph,
3519
3523
  Table,
3520
3524
  ThematicBreak
@@ -3529,6 +3533,147 @@ const FlowContent = Schema.suspend(() => Schema.Union([
3529
3533
  */
3530
3534
  const ListContent = Schema.suspend(() => Schema.Union([ListItem]));
3531
3535
  /**
3536
+ * MdxJsxAttributeValueExpression — a JSX attribute value written as an
3537
+ * expression (`<a b={c} />`); `value` holds the expression source text
3538
+ * between the braces, never evaluated or parsed.
3539
+ *
3540
+ * The primary construction path is a JSON-encoded prop:
3541
+ * `MdxJsxAttributeValueExpression.make({ value: JSON.stringify(props) })`.
3542
+ *
3543
+ * @public
3544
+ */
3545
+ var MdxJsxAttributeValueExpression = class extends Schema.Class("MdxJsxAttributeValueExpression")({
3546
+ type: Schema.tag("mdxJsxAttributeValueExpression"),
3547
+ value: Schema.String,
3548
+ position: NodePosition
3549
+ }) {};
3550
+ /**
3551
+ * MdxJsxAttribute — a named JSX attribute (`<a b="c" />`). `value` is a
3552
+ * string literal, a {@link MdxJsxAttributeValueExpression}, or — for a
3553
+ * boolean attribute (`<a b />`) — absent or `null`, both of which the
3554
+ * mdast-util-mdx-jsx contract spells (its parser writes `null`; absence is
3555
+ * the constructed-tree spelling). The serializer treats the two identically.
3556
+ *
3557
+ * `name` must be non-empty — an attribute without a name has no MDX spelling,
3558
+ * so the schema refuses it at construction and decode (the oracle's
3559
+ * serialize-time crash, moved to the admission boundary).
3560
+ *
3561
+ * @public
3562
+ */
3563
+ var MdxJsxAttribute = class extends Schema.Class("MdxJsxAttribute")(Schema.Struct({
3564
+ type: Schema.tag("mdxJsxAttribute"),
3565
+ name: Schema.String,
3566
+ value: Schema.optionalKey(Schema.NullOr(Schema.Union([MdxJsxAttributeValueExpression, Schema.String]))),
3567
+ position: NodePosition
3568
+ }).pipe(Schema.check(Schema.makeFilter((attribute) => attribute.name.length === 0 ? "an MDX JSX attribute requires a non-empty name" : void 0)))) {};
3569
+ /**
3570
+ * MdxJsxExpressionAttribute — a JSX attribute written whole as an expression
3571
+ * (`<a {...b} />`); `value` holds the expression source text between the
3572
+ * braces.
3573
+ *
3574
+ * @public
3575
+ */
3576
+ var MdxJsxExpressionAttribute = class extends Schema.Class("MdxJsxExpressionAttribute")({
3577
+ type: Schema.tag("mdxJsxExpressionAttribute"),
3578
+ value: Schema.String,
3579
+ position: NodePosition
3580
+ }) {};
3581
+ /**
3582
+ * The union of every node that may appear in a JSX element's `attributes`
3583
+ * array. A real `Schema.Union` for the construction pass-through documented
3584
+ * on `RowContent`.
3585
+ *
3586
+ * Attribute carriers are node-shaped values — they carry `type` and
3587
+ * `position` per the mdast-util-mdx-jsx contract — but they are **not tree
3588
+ * content**: they never appear in a `children` array, so they are excluded
3589
+ * from `MarkdownNode` and invisible to the visitor and to
3590
+ * `MarkdownDocument.find`.
3591
+ *
3592
+ * @public
3593
+ */
3594
+ const MdxJsxAttributeContent = Schema.Union([MdxJsxAttribute, MdxJsxExpressionAttribute]);
3595
+ /**
3596
+ * MdxJsxFlowElement — a JSX element in flow (block) position (`<Component />`
3597
+ * on its own lines). `name` is `null` for a fragment (`<></>`); children are
3598
+ * flow content, per the oracle's `BlockContent | DefinitionContent` model.
3599
+ *
3600
+ * A fragment cannot carry attributes — that shape has no MDX spelling — so
3601
+ * the schema refuses it at construction and decode. A **named** element's
3602
+ * name must be non-empty on the same terms: `""` has no MDX spelling either
3603
+ * (the oracle's parser only ever produces a real name or `null`, and its
3604
+ * serializer treats a falsy name as the fragment), so `null` is the one
3605
+ * fragment spelling and the empty string fails typed.
3606
+ *
3607
+ * @public
3608
+ */
3609
+ var MdxJsxFlowElement = class extends Schema.Class("MdxJsxFlowElement")(Schema.Struct({
3610
+ type: Schema.tag("mdxJsxFlowElement"),
3611
+ name: Schema.NullOr(Schema.String),
3612
+ attributes: Schema.Array(MdxJsxAttributeContent),
3613
+ children: Schema.Array(Schema.suspend(() => FlowContent)),
3614
+ position: NodePosition
3615
+ }).pipe(Schema.check(Schema.makeFilter((element) => {
3616
+ if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
3617
+ return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
3618
+ })))) {};
3619
+ /**
3620
+ * MdxJsxTextElement — a JSX element in text (phrasing) position
3621
+ * (`a <b>c</b> d`). `name` is `null` for a fragment; children are phrasing
3622
+ * content. Refuses attributes on a fragment and an empty-string name, on the
3623
+ * same terms as {@link MdxJsxFlowElement}.
3624
+ *
3625
+ * @public
3626
+ */
3627
+ var MdxJsxTextElement = class extends Schema.Class("MdxJsxTextElement")(Schema.Struct({
3628
+ type: Schema.tag("mdxJsxTextElement"),
3629
+ name: Schema.NullOr(Schema.String),
3630
+ attributes: Schema.Array(MdxJsxAttributeContent),
3631
+ children: Schema.Array(Schema.suspend(() => PhrasingContent)),
3632
+ position: NodePosition
3633
+ }).pipe(Schema.check(Schema.makeFilter((element) => {
3634
+ if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
3635
+ return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
3636
+ })))) {};
3637
+ /**
3638
+ * MdxFlowExpression — an expression in flow (block) position (`{a + b}` on
3639
+ * its own lines); `value` holds the expression source text between the
3640
+ * braces.
3641
+ *
3642
+ * @public
3643
+ */
3644
+ var MdxFlowExpression = class extends Schema.Class("MdxFlowExpression")({
3645
+ type: Schema.tag("mdxFlowExpression"),
3646
+ value: Schema.String,
3647
+ position: NodePosition
3648
+ }) {};
3649
+ /**
3650
+ * MdxTextExpression — an expression in text (phrasing) position
3651
+ * (`a {b} c`); `value` holds the expression source text between the braces.
3652
+ *
3653
+ * @public
3654
+ */
3655
+ var MdxTextExpression = class extends Schema.Class("MdxTextExpression")({
3656
+ type: Schema.tag("mdxTextExpression"),
3657
+ value: Schema.String,
3658
+ position: NodePosition
3659
+ }) {};
3660
+ /**
3661
+ * MdxjsEsm — an MDX ESM block (`import`/`export` statements); `value` holds
3662
+ * the statement source verbatim.
3663
+ *
3664
+ * Only ever a child of {@link Root}, per the mdast-util-mdxjs-esm content
3665
+ * registration — ESM cannot nest inside a JSX element or any other
3666
+ * container. As with the frontmatter head node, the constraint is structural
3667
+ * (the `Root` children union admits it, no other union does), not validated.
3668
+ *
3669
+ * @public
3670
+ */
3671
+ var MdxjsEsm = class extends Schema.Class("MdxjsEsm")({
3672
+ type: Schema.tag("mdxjsEsm"),
3673
+ value: Schema.String,
3674
+ position: NodePosition
3675
+ }) {};
3676
+ /**
3532
3677
  * The frontmatter formats the capture recognizes, keyed by their opening
3533
3678
  * fence: `---` is yaml, `+++` is toml and `---json` is json.
3534
3679
  *
@@ -3579,13 +3724,18 @@ const FrontmatterContent = Schema.suspend(() => Frontmatter);
3579
3724
  * mdast leaves a root's content model open; a parsed markdown document is
3580
3725
  * flow content, optionally headed by one {@link Frontmatter} node — mdast's
3581
3726
  * `FlowContentFrontmatter` merge, which admits frontmatter at the root and
3582
- * nowhere else.
3727
+ * nowhere else. {@link MdxjsEsm} is likewise admitted at the root and nowhere
3728
+ * else, per mdast-util-mdxjs-esm's `RootContentMap` registration.
3583
3729
  *
3584
3730
  * @public
3585
3731
  */
3586
3732
  var Root = class extends Schema.Class("Root")({
3587
3733
  type: Schema.tag("root"),
3588
- children: Schema.Array(Schema.suspend(() => Schema.Union([Frontmatter, FlowContent]))),
3734
+ children: Schema.Array(Schema.suspend(() => Schema.Union([
3735
+ Frontmatter,
3736
+ MdxjsEsm,
3737
+ FlowContent
3738
+ ]))),
3589
3739
  position: NodePosition
3590
3740
  }) {};
3591
3741
  /**
@@ -3598,13 +3748,69 @@ const MarkdownNode = Schema.suspend(() => Schema.Union([
3598
3748
  FrontmatterContent,
3599
3749
  FlowContent,
3600
3750
  ListContent,
3751
+ MdxjsEsm,
3601
3752
  PhrasingContent,
3602
3753
  RowContent,
3603
3754
  TableContent
3604
3755
  ]));
3605
3756
 
3606
3757
  //#endregion
3607
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncNode.js
3758
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/frontmatter.js
3759
+ const FENCES = /* @__PURE__ */ new Map([
3760
+ ["---", {
3761
+ format: "yaml",
3762
+ close: "---"
3763
+ }],
3764
+ ["+++", {
3765
+ format: "toml",
3766
+ close: "+++"
3767
+ }],
3768
+ ["---json", {
3769
+ format: "json",
3770
+ close: "---"
3771
+ }]
3772
+ ]);
3773
+ /**
3774
+ * Scan the head of a preprocessed document for a frontmatter block.
3775
+ *
3776
+ * `lines` is the preprocessor's line table (U+0000 already replaced,
3777
+ * terminators stripped, absolute `start` offsets); `text` is the original
3778
+ * source, consulted only for the terminators between value lines — a
3779
+ * terminator can never contain U+0000, so slicing it from the source is
3780
+ * exact, and the value keeps CRLF interiors verbatim while the line content
3781
+ * keeps the preprocessor's U+FFFD replacement.
3782
+ *
3783
+ * Returns `null` when the document has no frontmatter — which is the common
3784
+ * case and never an error.
3785
+ */
3786
+ const scanFrontmatter = (lines, text) => {
3787
+ const opening = lines[0];
3788
+ if (opening === void 0 || opening.start !== 0) return null;
3789
+ const rule = FENCES.get(opening.text);
3790
+ if (rule === void 0) return null;
3791
+ for (let index = 1; index < lines.length; index += 1) {
3792
+ const line = lines[index];
3793
+ if (line === void 0 || line.text !== rule.close) continue;
3794
+ const parts = [];
3795
+ for (let inner = 1; inner < index; inner += 1) {
3796
+ const current = lines[inner];
3797
+ const next = lines[inner + 1];
3798
+ if (current === void 0 || next === void 0) break;
3799
+ parts.push(current.text);
3800
+ if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
3801
+ }
3802
+ return {
3803
+ format: rule.format,
3804
+ value: parts.join(""),
3805
+ lineCount: index + 1,
3806
+ endOffset: line.start + line.text.length
3807
+ };
3808
+ }
3809
+ return null;
3810
+ };
3811
+
3812
+ //#endregion
3813
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncNode.js
3608
3814
  /**
3609
3815
  * Discriminator values for JSONC AST node types: the JSON value types
3610
3816
  * (`string`/`number`/`boolean`/`null`), the structural types
@@ -3780,7 +3986,7 @@ function evaluateNode(node, depth) {
3780
3986
  }
3781
3987
 
3782
3988
  //#endregion
3783
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/scanner.js
3989
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/scanner.js
3784
3990
  const isWhitespace = (ch) => ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 65279;
3785
3991
  const isLineBreak$1 = (ch) => ch === 10 || ch === 13 || ch === 8232 || ch === 8233;
3786
3992
  const isDigit$2 = (ch) => ch >= 48 && ch <= 57;
@@ -4075,7 +4281,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4075
4281
  };
4076
4282
 
4077
4283
  //#endregion
4078
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/skip.js
4284
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/skip.js
4079
4285
  /**
4080
4286
  * Iteratively consume the value beginning at the cursor's current token and
4081
4287
  * return its tight end offset (excludes trailing whitespace/comments).
@@ -4106,7 +4312,7 @@ const skipBalancedValue = (cursor) => {
4106
4312
  };
4107
4313
 
4108
4314
  //#endregion
4109
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/parser.js
4315
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/parser.js
4110
4316
  /**
4111
4317
  * The public parse-error code vocabulary. The facade builds its `@public`
4112
4318
  * `JsoncParseErrorCode` schema from this array; the parser produces these codes
@@ -4520,7 +4726,7 @@ const parseTree$2 = (text, flags) => {
4520
4726
  };
4521
4727
 
4522
4728
  //#endregion
4523
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/Jsonc.js
4729
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/Jsonc.js
4524
4730
  /**
4525
4731
  * The single public parse-error code vocabulary, appearing as the `code` field
4526
4732
  * of {@link JsoncParseErrorDetail}.
@@ -5089,7 +5295,7 @@ var Jsonc = class Jsonc {
5089
5295
  };
5090
5296
 
5091
5297
  //#endregion
5092
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncEdit.js
5298
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncEdit.js
5093
5299
  /**
5094
5300
  * A range within a JSONC document, expressed as a zero-based character
5095
5301
  * `offset` and a `length` in UTF-16 code units. Pass to `JsoncFormatter.format`
@@ -5160,7 +5366,7 @@ var JsoncEdit = class extends Schema.Class("JsoncEdit")({
5160
5366
  };
5161
5367
 
5162
5368
  //#endregion
5163
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/navigate.js
5369
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/navigate.js
5164
5370
  /**
5165
5371
  * Resolve `path` against `text`, returning where the target is (or where it
5166
5372
  * would be inserted). `path` must be non-empty — the whole-document case is
@@ -5288,7 +5494,7 @@ function navigate(text, path) {
5288
5494
  }
5289
5495
 
5290
5496
  //#endregion
5291
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncModifier.js
5497
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncModifier.js
5292
5498
  /**
5293
5499
  * Raised when `JsoncModifier.modify` cannot navigate the requested path: the
5294
5500
  * value at `depth` is not the container kind (`expected`) the next path segment
@@ -5417,7 +5623,7 @@ var JsoncModifier = class {
5417
5623
  };
5418
5624
 
5419
5625
  //#endregion
5420
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/carriers.js
5626
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/carriers.js
5421
5627
  /**
5422
5628
  * P1's error-code vocabulary. Widens as later phases add parse-error kinds;
5423
5629
  * P1 registers exactly one, the hardening-guard trip.
@@ -5458,7 +5664,7 @@ var GuardExceeded$1 = class extends Error {
5458
5664
  const isGuardExceeded$1 = (u) => u instanceof GuardExceeded$1;
5459
5665
 
5460
5666
  //#endregion
5461
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/MarkdownDiagnostic.js
5667
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/MarkdownDiagnostic.js
5462
5668
  /**
5463
5669
  * Error codes `Markdown.parse`/`MarkdownDocument.parse` can fail with. P1
5464
5670
  * registers exactly the hardening-guard trip; later phases widen the union
@@ -5539,7 +5745,7 @@ function lineChar(text, offset) {
5539
5745
  }
5540
5746
 
5541
5747
  //#endregion
5542
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blockTypes.js
5748
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockTypes.js
5543
5749
  /** Narrow materialized children to the flow content most constructs contain. */
5544
5750
  const flowChildren = (children) => children.filter((child) => child.type !== "root" && child.type !== "listItem" && child.type !== "tableRow" && child.type !== "tableCell");
5545
5751
  /** Narrow materialized children to the list items a list contains. */
@@ -5565,7 +5771,7 @@ const makeBlockNode = (type, startOffset, startLine, depth = 0) => ({
5565
5771
  });
5566
5772
 
5567
5773
  //#endregion
5568
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/preprocess.js
5774
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/preprocess.js
5569
5775
  /**
5570
5776
  * Split `text` into lines, preserving each line's absolute start offset.
5571
5777
  *
@@ -5620,7 +5826,7 @@ const peekCode = (line, position) => position >= 0 && position < line.length ? l
5620
5826
  const columnsToNextTabStop = (column) => 4 - column % 4;
5621
5827
 
5622
5828
  //#endregion
5623
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/htmlTags.js
5829
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/htmlTags.js
5624
5830
  const TAGNAME = "[A-Za-z][A-Za-z0-9-]*";
5625
5831
  /** An opening tag, with any attributes and an optional self-closing slash. */
5626
5832
  const OPENTAG = `<${TAGNAME}(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*/?>`;
@@ -5632,7 +5838,7 @@ const HTMLTAG = `(?:${OPENTAG}|${CLOSETAG}|<!-->|<!--->|<!--[\\s\\S]*?-->|[<][?]
5632
5838
  const reHtmlTag = new RegExp(`^${HTMLTAG}`);
5633
5839
 
5634
5840
  //#endregion
5635
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
5841
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
5636
5842
  const C_LESSTHAN$3 = 60;
5637
5843
  const reHtmlBlockOpen = [
5638
5844
  /./,
@@ -5699,7 +5905,7 @@ const htmlBlockStart = {
5699
5905
  };
5700
5906
 
5701
5907
  //#endregion
5702
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/atxHeading.js
5908
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/atxHeading.js
5703
5909
  const reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/;
5704
5910
  const reOnlyTrailingHashes = /^[ \t]*#+[ \t]*$/;
5705
5911
  const reClosingHashes = /[ \t]+#+[ \t]*$/;
@@ -5750,7 +5956,7 @@ const atxHeadingStart = {
5750
5956
  };
5751
5957
 
5752
5958
  //#endregion
5753
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/blockquote.js
5959
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/blockquote.js
5754
5960
  const C_GREATERTHAN = 62;
5755
5961
  /** Blockquote: continues while each line carries its `>` marker. */
5756
5962
  const blockquoteConstruct = {
@@ -5785,12 +5991,12 @@ const blockquoteStart = {
5785
5991
  };
5786
5992
 
5787
5993
  //#endregion
5788
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/entityMap.js
5994
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/entityMap.js
5789
5995
  /** The HTML5 named character references, keyed without `&` or `;`. */
5790
5996
  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\",\"‌\"]]"));
5791
5997
 
5792
5998
  //#endregion
5793
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/entities.js
5999
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/entities.js
5794
6000
  /** The largest code point Unicode defines. */
5795
6001
  const MAX_CODE_POINT = 1114111;
5796
6002
  /**
@@ -5813,7 +6019,7 @@ const decodeEntity = (entity) => {
5813
6019
  };
5814
6020
 
5815
6021
  //#endregion
5816
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/unescape.js
6022
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/unescape.js
5817
6023
  /** The punctuation set a backslash may escape, per the spec. */
5818
6024
  const ESCAPABLE$1 = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
5819
6025
  /** One entity, in any of the three spec forms. */
@@ -5828,7 +6034,7 @@ const unescapeChar = (source) => {
5828
6034
  const unescapeString = (source) => reBackslashOrAmp.test(source) ? source.replace(reEntityOrEscapedChar, unescapeChar) : source;
5829
6035
 
5830
6036
  //#endregion
5831
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/code.js
6037
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/code.js
5832
6038
  const reBlankLine = /^[ \t]*$/;
5833
6039
  const reClosingCodeFence = /^(?:`{3,}|~{3,})(?=[ \t]*$)/;
5834
6040
  /**
@@ -5913,7 +6119,7 @@ const codeConstruct = {
5913
6119
  };
5914
6120
 
5915
6121
  //#endregion
5916
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/document.js
6122
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/document.js
5917
6123
  /** The document root: contains everything except a bare list item. */
5918
6124
  const documentConstruct = {
5919
6125
  type: "document",
@@ -5927,7 +6133,7 @@ const documentConstruct = {
5927
6133
  };
5928
6134
 
5929
6135
  //#endregion
5930
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/fencedCode.js
6136
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/fencedCode.js
5931
6137
  const reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;
5932
6138
  const fenceCharOf = (char) => char === "`" || char === "~" ? char : void 0;
5933
6139
  /** The fenced-code block start: three or more backticks or tildes. */
@@ -5952,7 +6158,7 @@ const fencedCodeStart = {
5952
6158
  };
5953
6159
 
5954
6160
  //#endregion
5955
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/patterns.js
6161
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/patterns.js
5956
6162
  const stickyCache = /* @__PURE__ */ new WeakMap();
5957
6163
  const globalCache = /* @__PURE__ */ new WeakMap();
5958
6164
  const clone = (pattern, flag, dropCaret) => {
@@ -5977,7 +6183,7 @@ const globalOf = (pattern) => {
5977
6183
  };
5978
6184
 
5979
6185
  //#endregion
5980
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/references.js
6186
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/references.js
5981
6187
  const ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
5982
6188
  const ESCAPED_CHAR = `\\\\${ESCAPABLE}`;
5983
6189
  const reLinkTitle = new RegExp(`^(?:"(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\"\\x00])*"|'(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\'\\x00])*'|\\((${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\()\\x00])*\\))`);
@@ -6152,7 +6358,7 @@ const parseReference = (text) => {
6152
6358
  };
6153
6359
 
6154
6360
  //#endregion
6155
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6361
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6156
6362
  /**
6157
6363
  * `_scan_footnote_definition` from `src/scanners.re`:
6158
6364
  *
@@ -6230,7 +6436,7 @@ const footnoteDefinitionStart = {
6230
6436
  };
6231
6437
 
6232
6438
  //#endregion
6233
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6439
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6234
6440
  /** The indented-code block start: four columns of indentation. */
6235
6441
  const indentedCodeStart = {
6236
6442
  name: "indentedCode",
@@ -6245,7 +6451,7 @@ const indentedCodeStart = {
6245
6451
  };
6246
6452
 
6247
6453
  //#endregion
6248
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/segments.js
6454
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/segments.js
6249
6455
  /**
6250
6456
  * The absolute source offset of `textIndex` within a segmented content run.
6251
6457
  *
@@ -6280,7 +6486,7 @@ const sliceWithSegments = (segments, from, to) => {
6280
6486
  };
6281
6487
 
6282
6488
  //#endregion
6283
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6489
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6284
6490
  const C_OPEN_BRACKET$1 = 91;
6285
6491
  /**
6286
6492
  * Split every leading link reference definition out of `block`, inserting one
@@ -6346,7 +6552,7 @@ const definitionConstruct = {
6346
6552
  };
6347
6553
 
6348
6554
  //#endregion
6349
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/list.js
6555
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/list.js
6350
6556
  const reBulletListMarker = /^[*+-]/;
6351
6557
  const reOrderedListMarker = /^(\d{1,9})([.)])/;
6352
6558
  const reNonSpace$1 = /[^ \t\f\v\r\n]/;
@@ -6500,7 +6706,7 @@ const listItemStart = {
6500
6706
  };
6501
6707
 
6502
6708
  //#endregion
6503
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/paragraph.js
6709
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/paragraph.js
6504
6710
  /** Paragraph: absorbs lines until a blank one, and contains nothing. */
6505
6711
  const paragraphConstruct = {
6506
6712
  type: "paragraph",
@@ -6523,7 +6729,7 @@ const paragraphConstruct = {
6523
6729
  };
6524
6730
 
6525
6731
  //#endregion
6526
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/setextHeading.js
6732
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/setextHeading.js
6527
6733
  const reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/;
6528
6734
  /** The setext heading block start: a run of `=` or `-` under a paragraph. */
6529
6735
  const setextHeadingStart = {
@@ -6544,7 +6750,7 @@ const setextHeadingStart = {
6544
6750
  };
6545
6751
 
6546
6752
  //#endregion
6547
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/table.js
6753
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/table.js
6548
6754
  /**
6549
6755
  * Upstream's `MAX_AUTOCOMPLETED_CELLS`: the ceiling on cells the parser
6550
6756
  * invents to pad short rows, which is what stops a wide header followed by a
@@ -6916,7 +7122,7 @@ const tableCellConstruct = {
6916
7122
  };
6917
7123
 
6918
7124
  //#endregion
6919
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/taskListItem.js
7125
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/taskListItem.js
6920
7126
  /**
6921
7127
  * `_scan_tasklist`, as the generated scanner accepts it.
6922
7128
  *
@@ -6951,7 +7157,7 @@ const taskListItemStart = {
6951
7157
  };
6952
7158
 
6953
7159
  //#endregion
6954
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
7160
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
6955
7161
  const reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/;
6956
7162
  const markerCharOf$1 = (char) => char === "-" || char === "_" || char === "*" ? char : void 0;
6957
7163
  /** Thematic break: one line, no children. */
@@ -6983,7 +7189,7 @@ const thematicBreakStart = {
6983
7189
  };
6984
7190
 
6985
7191
  //#endregion
6986
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blockRegistry.js
7192
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockRegistry.js
6987
7193
  const constructTable = (constructs) => new Map(constructs.map((construct) => [construct.type, construct]));
6988
7194
  const commonmarkDialect$1 = {
6989
7195
  constructs: constructTable([
@@ -7056,62 +7262,7 @@ const blockDialect = (dialect) => {
7056
7262
  };
7057
7263
 
7058
7264
  //#endregion
7059
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/frontmatter.js
7060
- const FENCES = /* @__PURE__ */ new Map([
7061
- ["---", {
7062
- format: "yaml",
7063
- close: "---"
7064
- }],
7065
- ["+++", {
7066
- format: "toml",
7067
- close: "+++"
7068
- }],
7069
- ["---json", {
7070
- format: "json",
7071
- close: "---"
7072
- }]
7073
- ]);
7074
- /**
7075
- * Scan the head of a preprocessed document for a frontmatter block.
7076
- *
7077
- * `lines` is the preprocessor's line table (U+0000 already replaced,
7078
- * terminators stripped, absolute `start` offsets); `text` is the original
7079
- * source, consulted only for the terminators between value lines — a
7080
- * terminator can never contain U+0000, so slicing it from the source is
7081
- * exact, and the value keeps CRLF interiors verbatim while the line content
7082
- * keeps the preprocessor's U+FFFD replacement.
7083
- *
7084
- * Returns `null` when the document has no frontmatter — which is the common
7085
- * case and never an error.
7086
- */
7087
- const scanFrontmatter = (lines, text) => {
7088
- const opening = lines[0];
7089
- if (opening === void 0 || opening.start !== 0) return null;
7090
- const rule = FENCES.get(opening.text);
7091
- if (rule === void 0) return null;
7092
- for (let index = 1; index < lines.length; index += 1) {
7093
- const line = lines[index];
7094
- if (line === void 0 || line.text !== rule.close) continue;
7095
- const parts = [];
7096
- for (let inner = 1; inner < index; inner += 1) {
7097
- const current = lines[inner];
7098
- const next = lines[inner + 1];
7099
- if (current === void 0 || next === void 0) break;
7100
- parts.push(current.text);
7101
- if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
7102
- }
7103
- return {
7104
- format: rule.format,
7105
- value: parts.join(""),
7106
- lineCount: index + 1,
7107
- endOffset: line.start + line.text.length
7108
- };
7109
- }
7110
- return null;
7111
- };
7112
-
7113
- //#endregion
7114
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/lineIndex.js
7265
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/lineIndex.js
7115
7266
  /**
7116
7267
  * A precomputed index of line-start offsets over a fixed source text,
7117
7268
  * answering `positionAt(offset)` in `O(log n)` via binary search rather than
@@ -7186,7 +7337,7 @@ var LineIndex = class LineIndex {
7186
7337
  };
7187
7338
 
7188
7339
  //#endregion
7189
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlineNode.js
7340
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineNode.js
7190
7341
  /** Open a node with no links. */
7191
7342
  const makeInlineNode = (type, start, end, value = "") => ({
7192
7343
  type,
@@ -7239,7 +7390,7 @@ const childrenOf = (node) => {
7239
7390
  };
7240
7391
 
7241
7392
  //#endregion
7242
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/emphasis.js
7393
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/emphasis.js
7243
7394
  const C_ASTERISK$1 = 42;
7244
7395
  const C_UNDERSCORE$1 = 95;
7245
7396
  const rePunctuation = /^[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\p{P}\p{S}]/u;
@@ -7317,7 +7468,7 @@ const emphasisConstruct = {
7317
7468
  };
7318
7469
 
7319
7470
  //#endregion
7320
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7471
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7321
7472
  /**
7322
7473
  * Consume a `~` run as literal text and, when it is a viable one- or
7323
7474
  * two-tilde run, push it onto the shared delimiter stack.
@@ -7392,7 +7543,7 @@ const strikethroughConstruct = {
7392
7543
  };
7393
7544
 
7394
7545
  //#endregion
7395
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/autolink.js
7546
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/autolink.js
7396
7547
  const C_LESSTHAN$1 = 60;
7397
7548
  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])?)*)>/;
7398
7549
  const reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\0- ]*>/i;
@@ -7425,7 +7576,7 @@ const autolinkConstruct = {
7425
7576
  };
7426
7577
 
7427
7578
  //#endregion
7428
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7579
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7429
7580
  const C_LOWER_W = 119;
7430
7581
  const C_COLON = 58;
7431
7582
  /** `cmark_isspace`: ASCII only, deliberately — upstream's URL scan uses it. */
@@ -7796,7 +7947,7 @@ const linkifyEmails = (root) => {
7796
7947
  };
7797
7948
 
7798
7949
  //#endregion
7799
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/codeSpan.js
7950
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/codeSpan.js
7800
7951
  const C_BACKTICK$1 = 96;
7801
7952
  const reTicksHere = /^`+/;
7802
7953
  const reNewline = /\n/gm;
@@ -7825,7 +7976,7 @@ const codeSpanConstruct = {
7825
7976
  };
7826
7977
 
7827
7978
  //#endregion
7828
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/entity.js
7979
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/entity.js
7829
7980
  const C_AMPERSAND = 38;
7830
7981
  const reEntityHere = new RegExp(`^${ENTITY}`, "i");
7831
7982
  /** A named, decimal or hexadecimal character reference. */
@@ -7842,7 +7993,7 @@ const entityConstruct = {
7842
7993
  };
7843
7994
 
7844
7995
  //#endregion
7845
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/escape.js
7996
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/escape.js
7846
7997
  const C_BACKSLASH = 92;
7847
7998
  const C_NEWLINE$1 = 10;
7848
7999
  const reEscapable = new RegExp(`^${ESCAPABLE$1}`);
@@ -7872,7 +8023,7 @@ const escapeConstruct = {
7872
8023
  };
7873
8024
 
7874
8025
  //#endregion
7875
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/link.js
8026
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/link.js
7876
8027
  const C_BANG = 33;
7877
8028
  const C_CARET$1 = 94;
7878
8029
  const C_OPEN_BRACKET = 91;
@@ -8080,7 +8231,7 @@ const makeLinkCloseConstruct = (onNoMatch) => ({
8080
8231
  const linkCloseConstruct = makeLinkCloseConstruct();
8081
8232
 
8082
8233
  //#endregion
8083
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
8234
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
8084
8235
  const C_CARET = 94;
8085
8236
  /**
8086
8237
  * Whether the bracket that just closed looks like `[^...]` with something
@@ -8138,7 +8289,7 @@ const gfmLinkCloseConstruct = makeLinkCloseConstruct(footnoteReferenceFallback);
8138
8289
  const gfmImageOpenConstruct = makeImageOpenConstruct(false);
8139
8290
 
8140
8291
  //#endregion
8141
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8292
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8142
8293
  const C_NEWLINE = 10;
8143
8294
  const reInitialSpace = /^ */;
8144
8295
  /** A soft or hard line break. */
@@ -8160,7 +8311,7 @@ const lineBreakConstruct = {
8160
8311
  };
8161
8312
 
8162
8313
  //#endregion
8163
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8314
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8164
8315
  const C_LESSTHAN = 60;
8165
8316
  /** The raw-HTML forms that scan forward for a fixed closing sequence. */
8166
8317
  const UNTERMINATED_FORMS = [
@@ -8183,7 +8334,7 @@ const rawHtmlConstruct = {
8183
8334
  };
8184
8335
 
8185
8336
  //#endregion
8186
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/text.js
8337
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/text.js
8187
8338
  const reMain = /^[^\n`[\]\\!<&*_'"]+/;
8188
8339
  const reMainGfm = /^[^\n`[\]\\!<&*_'"~w:]+/;
8189
8340
  /** Consume a run of ordinary characters, stopping before any construct's. */
@@ -8204,7 +8355,7 @@ const textConstruct = runConstruct("text", reMain);
8204
8355
  const gfmTextConstruct = runConstruct("text", reMainGfm);
8205
8356
 
8206
8357
  //#endregion
8207
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlineRegistry.js
8358
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineRegistry.js
8208
8359
  const triggerTable = (constructs) => {
8209
8360
  const table = /* @__PURE__ */ new Map();
8210
8361
  for (const construct of constructs) for (const trigger of construct.triggers) {
@@ -8258,7 +8409,7 @@ const inlineDialect = (dialect) => {
8258
8409
  };
8259
8410
 
8260
8411
  //#endregion
8261
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlineParser.js
8412
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineParser.js
8262
8413
  const C_UNDERSCORE = 95;
8263
8414
  const C_ASTERISK = 42;
8264
8415
  const reTrailingSpaces = / +$/;
@@ -8653,12 +8804,14 @@ var InlineParser = class {
8653
8804
  const parseInlines = (source, refmap, position, dialect = "commonmark", footnoteLabels = /* @__PURE__ */ new Set()) => new InlineParser(source, inlineDialect(dialect), position, refmap, footnoteLabels).parse();
8654
8805
 
8655
8806
  //#endregion
8656
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/rawInline.js
8807
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/rawInline.js
8657
8808
  const reWhitespace = /\s/;
8658
8809
  const reCmarkSpace = /[ \t\n\r]/;
8659
8810
  /**
8660
8811
  * Trim `text` the way commonmark.js does before inline parsing, carrying the
8661
8812
  * segment table along so the surviving characters keep their source offsets.
8813
+ * Exported for the phrasing-level parse entry point (`phrasing.ts`), which
8814
+ * prepares content the same way a paragraph does.
8662
8815
  */
8663
8816
  const trimWithSegments = (text, segments, whitespace) => {
8664
8817
  let start = 0;
@@ -8707,7 +8860,7 @@ const prepareInline = (block, position, refmap, dialect = "commonmark", footnote
8707
8860
  };
8708
8861
 
8709
8862
  //#endregion
8710
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blockParser.js
8863
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockParser.js
8711
8864
  /** Upstream's cheap pre-filter: a line that cannot start any block. */
8712
8865
  const reMaybeSpecial = /^[#`~*+_=<>0-9-]/;
8713
8866
  var BlockParser = class {
@@ -9115,7 +9268,57 @@ var BlockParser = class {
9115
9268
  const parseBlocks = (text, dialect = "commonmark", frontmatter = false) => new BlockParser(text, blockDialect(dialect), dialect, frontmatter).parse();
9116
9269
 
9117
9270
  //#endregion
9118
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/stringify.js
9271
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/phrasing.js
9272
+ const EMPTY_REFMAP = /* @__PURE__ */ new Map();
9273
+ const EMPTY_FOOTNOTE_LABELS = /* @__PURE__ */ new Set();
9274
+ /**
9275
+ * Parse a text fragment as a single paragraph's inline content.
9276
+ */
9277
+ const parsePhrasingText = (text, dialect) => {
9278
+ const lines = preprocessLines(text);
9279
+ const segments = [];
9280
+ let content = "";
9281
+ for (const line of lines) {
9282
+ segments.push({
9283
+ textOffset: content.length,
9284
+ sourceOffset: line.start,
9285
+ length: line.text.length
9286
+ });
9287
+ content += `${line.text}\n`;
9288
+ }
9289
+ const trimmed = trimWithSegments(content, segments, /\s/);
9290
+ if (trimmed.text.length === 0) return [];
9291
+ const first = trimmed.segments[0];
9292
+ const startOffset = first === void 0 ? 0 : first.sourceOffset;
9293
+ const lineIndex = LineIndex.fromLineStarts(text, lines.map((line) => line.start));
9294
+ const sourceLength = text.length;
9295
+ const positionOf = (start, end) => {
9296
+ const clampedStart = Math.min(Math.max(start, 0), sourceLength);
9297
+ const clampedEnd = Math.min(Math.max(end, clampedStart), sourceLength);
9298
+ const startPoint = lineIndex.positionAt(clampedStart);
9299
+ const endPoint = lineIndex.positionAt(clampedEnd);
9300
+ return Position.make({
9301
+ start: Point.make({
9302
+ line: startPoint.line,
9303
+ column: startPoint.column,
9304
+ offset: clampedStart
9305
+ }),
9306
+ end: Point.make({
9307
+ line: endPoint.line,
9308
+ column: endPoint.column,
9309
+ offset: clampedEnd
9310
+ })
9311
+ });
9312
+ };
9313
+ return parseInlines({
9314
+ text: trimmed.text,
9315
+ startOffset,
9316
+ segments: trimmed.segments
9317
+ }, EMPTY_REFMAP, positionOf, dialect, EMPTY_FOOTNOTE_LABELS);
9318
+ };
9319
+
9320
+ //#endregion
9321
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/stringify.js
9119
9322
  const FLOW_CONTEXT = {
9120
9323
  singleLine: false,
9121
9324
  inTable: false,
@@ -9187,7 +9390,7 @@ const isSchemeColon = (value, index) => {
9187
9390
  * Escape one text value into `out`, tracking line starts. Returns whether the
9188
9391
  * emission ended at a line start.
9189
9392
  */
9190
- const escapeText = (value, context, atLineStart) => {
9393
+ const escapeText = (value, context, atLineStart, mdx) => {
9191
9394
  let out = "";
9192
9395
  let lineStart = atLineStart;
9193
9396
  for (let index = 0; index < value.length; index += 1) {
@@ -9240,6 +9443,10 @@ const escapeText = (value, context, atLineStart) => {
9240
9443
  out += `\\${char}`;
9241
9444
  continue;
9242
9445
  }
9446
+ if (mdx && char === "{") {
9447
+ out += "\\{";
9448
+ continue;
9449
+ }
9243
9450
  if (context.inHeading && char === "#") {
9244
9451
  out += "\\#";
9245
9452
  continue;
@@ -9329,7 +9536,7 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
9329
9536
  };
9330
9537
  switch (child.type) {
9331
9538
  case "text": {
9332
- const escaped = escapeText(child.value, context, atLineStart);
9539
+ const escaped = escapeText(child.value, context, atLineStart, state.mdx);
9333
9540
  out += escaped.text;
9334
9541
  atLineStart = escaped.atLineStart;
9335
9542
  break;
@@ -9406,12 +9613,126 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
9406
9613
  case "footnoteReference":
9407
9614
  out += `[^${escapeLabel(child.label ?? child.identifier)}]`;
9408
9615
  atLineStart = false;
9616
+ break;
9617
+ case "mdxJsxTextElement":
9618
+ out += serializeMdxJsxText(child, context, state);
9619
+ atLineStart = false;
9620
+ break;
9621
+ case "mdxTextExpression":
9622
+ out += mdxExpression(child.value);
9623
+ atLineStart = false;
9409
9624
  }
9410
9625
  index += 1;
9411
9626
  unguard(state);
9412
9627
  }
9413
9628
  return out;
9414
9629
  };
9630
+ /** The tag string of every MDX node type. */
9631
+ const MDX_NODE_TYPES = /* @__PURE__ */ new Set([
9632
+ "mdxJsxFlowElement",
9633
+ "mdxJsxTextElement",
9634
+ "mdxFlowExpression",
9635
+ "mdxTextExpression",
9636
+ "mdxjsEsm"
9637
+ ]);
9638
+ /** Whether the tree carries any MDX node — iterative, deliberately unguarded. */
9639
+ const treeContainsMdx = (root) => {
9640
+ const stack = [root];
9641
+ while (stack.length > 0) {
9642
+ const node = stack.pop();
9643
+ if (MDX_NODE_TYPES.has(node.type)) return true;
9644
+ if (node.children !== void 0) for (const child of node.children) stack.push(child);
9645
+ }
9646
+ return false;
9647
+ };
9648
+ /**
9649
+ * The oracle's `indentLines` line model (mdast-util-to-markdown
9650
+ * `lib/util/indent-lines.js`): lines split on every terminator spelling
9651
+ * (`\r\n`, `\n`, bare `\r`), terminators preserved verbatim between the
9652
+ * mapped lines, and `blank` meaning an empty line — so a blank CRLF line
9653
+ * stays bare instead of having a retained `\r` treated as content.
9654
+ */
9655
+ const mapMdxLines = (value, map) => {
9656
+ const eol = /\r?\n|\r/g;
9657
+ const result = [];
9658
+ let start = 0;
9659
+ let index = 0;
9660
+ for (let match = eol.exec(value); match !== null; match = eol.exec(value)) {
9661
+ const line = value.slice(start, match.index);
9662
+ result.push(map(line, index, line === ""), match[0]);
9663
+ start = match.index + match[0].length;
9664
+ index += 1;
9665
+ }
9666
+ const last = value.slice(start);
9667
+ result.push(map(last, index, last === ""));
9668
+ return result.join("");
9669
+ };
9670
+ /**
9671
+ * Serialize an MDX expression body between braces. Continuation lines take
9672
+ * the oracle's two-space indent; the first line and blank lines take none.
9673
+ */
9674
+ const mdxExpression = (value) => `{${mapMdxLines(value, (line, index, blank) => index === 0 || blank ? line : ` ${line}`)}}`;
9675
+ /**
9676
+ * Serialize one JSX attribute. A `null` or absent value is a boolean
9677
+ * attribute; a string value is quoted with `"` (the oracle default), the
9678
+ * quote itself escaped as `&#x22;` exactly as `stringify-entities` spells
9679
+ * it; an expression value goes between braces.
9680
+ */
9681
+ const serializeMdxAttribute = (attribute) => {
9682
+ if (attribute.type === "mdxJsxExpressionAttribute") return `{${attribute.value}}`;
9683
+ const value = attribute.value;
9684
+ if (value === void 0 || value === null) return attribute.name;
9685
+ if (typeof value === "string") return `${attribute.name}="${value.replaceAll("\"", "&#x22;")}"`;
9686
+ return `${attribute.name}={${value.value}}`;
9687
+ };
9688
+ /** Serialize a text (phrasing) JSX element. */
9689
+ const serializeMdxJsxText = (node, context, state) => {
9690
+ const attributes = node.attributes.map(serializeMdxAttribute);
9691
+ const selfClosing = node.name !== null && node.children.length === 0;
9692
+ let out = `<${node.name ?? ""}`;
9693
+ if (attributes.length > 0) out += ` ${attributes.join(" ")}`;
9694
+ if (selfClosing) return `${out} />`;
9695
+ out += ">";
9696
+ out += serializeInlines(node.children, context, state, false);
9697
+ out += `</${node.name ?? ""}>`;
9698
+ return out;
9699
+ };
9700
+ /** Prefix every line of a rendered child block; blank lines stay bare. */
9701
+ const indentBlockLines = (content, indent) => mapMdxLines(content, (line, _index, blank) => blank ? line : `${indent}${line}`);
9702
+ /**
9703
+ * Serialize a flow (block) JSX element: opening tag (attributes on their own
9704
+ * lines when one carries a line ending), children as indented block layout,
9705
+ * closing tag — the oracle's `mdxElement` flow branch.
9706
+ */
9707
+ const serializeMdxJsxFlow = (node, state) => {
9708
+ const currentIndent = " ".repeat(state.jsxDepth);
9709
+ const attributes = node.attributes.map(serializeMdxAttribute);
9710
+ const selfClosing = node.name !== null && node.children.length === 0;
9711
+ const attributesOnOneLine = attributes.join(" ");
9712
+ const attributesOnTheirOwnLine = /[\r\n]/.test(attributesOnOneLine);
9713
+ let value = `${currentIndent}<${node.name ?? ""}`;
9714
+ if (attributesOnTheirOwnLine) value += `\n${attributes.map((attribute) => `${currentIndent} ${attribute}`).join("\n")}\n${currentIndent}`;
9715
+ else if (attributesOnOneLine !== "") value += ` ${attributesOnOneLine}`;
9716
+ if (selfClosing) value += `${attributesOnTheirOwnLine ? "" : " "}/`;
9717
+ value += ">";
9718
+ if (node.children.length > 0) {
9719
+ state.jsxDepth += 1;
9720
+ const childIndent = " ".repeat(state.jsxDepth);
9721
+ const parts = node.children.map((child) => {
9722
+ if (child.type === "mdxJsxFlowElement") {
9723
+ guard(state, child);
9724
+ const rendered = serializeMdxJsxFlow(child, state);
9725
+ unguard(state);
9726
+ return rendered;
9727
+ }
9728
+ return indentBlockLines(serializeBlocks([child], state), childIndent);
9729
+ });
9730
+ state.jsxDepth -= 1;
9731
+ value += `\n${parts.join("\n\n")}\n`;
9732
+ }
9733
+ if (!selfClosing) value += `${currentIndent}</${node.name ?? ""}>`;
9734
+ return value;
9735
+ };
9415
9736
  /** Prefix every line of `content`; blank lines take the trimmed prefix. */
9416
9737
  const prefixLines = (content, prefix, blankPrefix) => content.split("\n").map((line) => line === "" ? blankPrefix : `${prefix}${line}`).join("\n");
9417
9738
  /** First line gets `marker`, continuation lines get spaces of its width. */
@@ -9496,7 +9817,10 @@ const effectiveListMarker = (list, flipped) => {
9496
9817
  };
9497
9818
  const serializeListItem = (item, marker, state, tight) => {
9498
9819
  guard(state, item);
9820
+ const savedJsxDepth = state.jsxDepth;
9821
+ state.jsxDepth = 0;
9499
9822
  const inner = serializeBlocks(item.children, state, tight);
9823
+ state.jsxDepth = savedJsxDepth;
9500
9824
  unguard(state);
9501
9825
  const content = `${item.checked === void 0 ? "" : item.checked ? "[x] " : "[ ] "}${inner}`;
9502
9826
  if (content === "") return marker.trimEnd();
@@ -9570,7 +9894,10 @@ const serializeBlocks = (children, state, tight = false) => {
9570
9894
  previousListMarker = void 0;
9571
9895
  break;
9572
9896
  case "blockquote": {
9897
+ const savedJsxDepth = state.jsxDepth;
9898
+ state.jsxDepth = 0;
9573
9899
  const inner = serializeBlocks(child.children, state);
9900
+ state.jsxDepth = savedJsxDepth;
9574
9901
  parts.push(prefixLines(inner, "> ", ">"));
9575
9902
  previousListMarker = void 0;
9576
9903
  break;
@@ -9600,6 +9927,17 @@ const serializeBlocks = (children, state, tight = false) => {
9600
9927
  previousListMarker = void 0;
9601
9928
  break;
9602
9929
  }
9930
+ case "mdxJsxFlowElement":
9931
+ parts.push(serializeMdxJsxFlow(child, state));
9932
+ previousListMarker = void 0;
9933
+ break;
9934
+ case "mdxFlowExpression":
9935
+ parts.push(mdxExpression(child.value));
9936
+ previousListMarker = void 0;
9937
+ break;
9938
+ case "mdxjsEsm":
9939
+ parts.push(child.value);
9940
+ previousListMarker = void 0;
9603
9941
  }
9604
9942
  previous = child;
9605
9943
  nodes.push(child);
@@ -9625,12 +9963,17 @@ const serializeBlocks = (children, state, tight = false) => {
9625
9963
  * empty for an empty root and ends with exactly one newline otherwise.
9626
9964
  */
9627
9965
  const stringifyTree = (root) => {
9628
- const body = serializeBlocks(root.children, { depth: 0 });
9966
+ const state = {
9967
+ depth: 0,
9968
+ jsxDepth: 0,
9969
+ mdx: treeContainsMdx(root)
9970
+ };
9971
+ const body = serializeBlocks(root.children, state);
9629
9972
  return body === "" ? "" : `${body}\n`;
9630
9973
  };
9631
9974
 
9632
9975
  //#endregion
9633
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/Markdown.js
9976
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/Markdown.js
9634
9977
  /**
9635
9978
  * The markdown dialects the parser can be pointed at. `"gfm"` — CommonMark
9636
9979
  * 0.31.2 plus the GitHub extensions (tables, strikethrough, autolink
@@ -9801,6 +10144,79 @@ var Markdown = class Markdown {
9801
10144
  */
9802
10145
  static parse = Effect.fn("Markdown.parse")((text, options) => Effect.fromResult(Markdown.parseResult(text, options)));
9803
10146
  /**
10147
+ * Parse a text fragment as a single paragraph's inline content,
10148
+ * synchronously, as a `Result` — the phrasing-level twin of
10149
+ * {@link Markdown.parseResult}, for callers holding already-markdown
10150
+ * prose (a link-carrying sentence, a backtick span) who want its
10151
+ * phrasing nodes without a full document parse and a paragraph splice.
10152
+ *
10153
+ * @remarks
10154
+ * The whole input is prepared exactly the way the block pass prepares one
10155
+ * paragraph's content — leading and trailing whitespace trimmed, line
10156
+ * terminators normalized to `\n` — and handed to the inline pass, so the
10157
+ * result matches the `children` of the paragraph a full parse of the same
10158
+ * fragment would produce. Node positions are correct relative to the
10159
+ * input string.
10160
+ *
10161
+ * Two consequences of the single-paragraph contract:
10162
+ *
10163
+ * - **Blank lines do not break blocks.** A `\n\n` in the input stays
10164
+ * inline content (literal newlines in a text node); nothing at this
10165
+ * level opens a heading, list or code block — `# foo` is the text
10166
+ * `# foo`.
10167
+ * - **No reference context exists.** The fragment carries no definitions,
10168
+ * so `[foo]`, `![foo]` and `[^foo]` remain literal text — the same
10169
+ * result a full parse of the isolated fragment produces.
10170
+ *
10171
+ * `options.dialect` selects the inline dialect (default `"gfm"`);
10172
+ * `options.frontmatter` has no effect at phrasing level. Failure is rare
10173
+ * by design, on {@link Markdown.parseResult}'s terms: only a
10174
+ * hardening-guard trip (delimiter or bracket nesting past the cap) fails.
10175
+ *
10176
+ * @example
10177
+ * ```ts
10178
+ * import { Markdown } from "@effected/markdown";
10179
+ * import { Result } from "effect";
10180
+ *
10181
+ * const ok = Markdown.parsePhrasingResult("see [the docs](./docs.md)");
10182
+ * if (Result.isSuccess(ok)) {
10183
+ * console.log(ok.success.map((node) => node.type)); // => ["text", "link"]
10184
+ * }
10185
+ * ```
10186
+ *
10187
+ * @param text - The prose fragment to parse.
10188
+ * @param options - Optional {@link MarkdownParseOptions}; the dialect
10189
+ * defaults to `"gfm"`.
10190
+ * @returns A `Result` succeeding with the fragment's phrasing content, or
10191
+ * failing with {@link MarkdownParseError}.
10192
+ */
10193
+ static parsePhrasingResult(text, options) {
10194
+ try {
10195
+ return Result.succeed(parsePhrasingText(text, dialectOf(options)));
10196
+ } catch (caught) {
10197
+ if (isGuardExceeded$1(caught)) return Result.fail(new MarkdownParseError({ diagnostic: MarkdownDiagnostic.fromRaw(text, {
10198
+ code: caught.reason,
10199
+ message: caught.message,
10200
+ offset: caught.offset,
10201
+ length: 0
10202
+ }) }));
10203
+ throw caught;
10204
+ }
10205
+ }
10206
+ /**
10207
+ * Parse a text fragment as a single paragraph's inline content. Defined
10208
+ * in terms of {@link Markdown.parsePhrasingResult} — synchronous callers
10209
+ * can use that variant directly; the single-paragraph contract (blank
10210
+ * lines stay inline, references never form) is documented there.
10211
+ *
10212
+ * @param text - The prose fragment to parse.
10213
+ * @param options - Optional {@link MarkdownParseOptions}; the dialect
10214
+ * defaults to `"gfm"`.
10215
+ * @returns An `Effect` that succeeds with the fragment's phrasing
10216
+ * content, or fails with {@link MarkdownParseError}.
10217
+ */
10218
+ static parsePhrasing = Effect.fn("Markdown.parsePhrasing")((text, options) => Effect.fromResult(Markdown.parsePhrasingResult(text, options)));
10219
+ /**
9804
10220
  * Serialize a {@link Root} tree to canonical markdown, synchronously, as a
9805
10221
  * `Result`. The pure primitive twin of {@link Markdown.stringify}, on the
9806
10222
  * same terms as {@link Markdown.parseResult}.
@@ -9860,6 +10276,18 @@ var Markdown = class Markdown {
9860
10276
  * post-decode walk that reaches nested nodes. The choice then leaves the
9861
10277
  * emitter entirely and no output depends on a node's neighbours.
9862
10278
  *
10279
+ * **MDX nodes (constructed trees only — the parser reads no MDX syntax)**
10280
+ * serialize to valid MDX with the mdast-util-mdx defaults, and these
10281
+ * choices are part of the same stability commitment: attribute values
10282
+ * quote with `"` (the quote escaped as `&#x22;`), an empty element
10283
+ * self-closes spaced (`<a />`), a fragment is `<></>`, flow children take
10284
+ * block layout indented two spaces per JSX ancestor, attributes move onto
10285
+ * their own lines only when one carries a line ending, expressions emit
10286
+ * `{expr}` with two-space continuation indent, and ESM values emit
10287
+ * verbatim. A tree containing any MDX node additionally escapes `{` in
10288
+ * text — MDX makes it significant — while a tree with none serializes
10289
+ * byte-identically to the table above.
10290
+ *
9863
10291
  * To *normalize* a document to different choices — a `-` list rewritten to
9864
10292
  * `*`, setext headings rewritten to ATX — use `MarkdownFormat` with
9865
10293
  * `MarkdownFormattingOptions`. That is the configurable surface; this one
@@ -9939,7 +10367,7 @@ var Markdown = class Markdown {
9939
10367
  };
9940
10368
 
9941
10369
  //#endregion
9942
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/Mdast.js
10370
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/Mdast.js
9943
10371
  /**
9944
10372
  * The remark-ecosystem interop boundary: projection between this package's
9945
10373
  * node classes and plain mdast JSON.
@@ -10143,8 +10571,40 @@ const projectNode = (node) => {
10143
10571
  value: node.value,
10144
10572
  position
10145
10573
  };
10574
+ case "mdxJsxFlowElement":
10575
+ case "mdxJsxTextElement": return {
10576
+ type: node.type,
10577
+ name: node.name,
10578
+ attributes: node.attributes.map((attribute) => projectMdxAttribute(attribute)),
10579
+ children: projectChildren(node.children),
10580
+ position
10581
+ };
10582
+ case "mdxFlowExpression":
10583
+ case "mdxTextExpression":
10584
+ case "mdxjsEsm": return {
10585
+ type: node.type,
10586
+ value: node.value,
10587
+ position
10588
+ };
10146
10589
  }
10147
10590
  };
10591
+ const projectMdxAttribute = (attribute) => {
10592
+ if (attribute.type === "mdxJsxExpressionAttribute") return {
10593
+ type: "mdxJsxExpressionAttribute",
10594
+ value: attribute.value,
10595
+ position: projectPosition(attribute.position)
10596
+ };
10597
+ const value = attribute.value;
10598
+ return {
10599
+ type: "mdxJsxAttribute",
10600
+ name: attribute.name,
10601
+ value: value === void 0 || value === null ? null : typeof value === "string" ? value : {
10602
+ type: "mdxJsxAttributeValueExpression",
10603
+ value: value.value
10604
+ },
10605
+ position: projectPosition(attribute.position)
10606
+ };
10607
+ };
10148
10608
  /** The frontmatter literal node types foreign mdast spells per format. */
10149
10609
  const frontmatterTypes = /* @__PURE__ */ new Map([
10150
10610
  ["yaml", "yaml"],
@@ -10208,7 +10668,10 @@ const admittedFields = {
10208
10668
  "spread"
10209
10669
  ],
10210
10670
  listItem: ["spread", "checked"],
10211
- table: ["align"]
10671
+ table: ["align"],
10672
+ mdxFlowExpression: ["value"],
10673
+ mdxTextExpression: ["value"],
10674
+ mdxjsEsm: ["value"]
10212
10675
  };
10213
10676
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
10214
10677
  const completePoint = (value) => isRecord(value) && typeof value.line === "number" && typeof value.column === "number" && typeof value.offset === "number";
@@ -10241,6 +10704,13 @@ const normalizeNode = (value) => {
10241
10704
  value: value.value,
10242
10705
  position: normalizePosition(value.position)
10243
10706
  };
10707
+ if (type === "mdxJsxFlowElement" || type === "mdxJsxTextElement") return {
10708
+ type,
10709
+ name: value.name,
10710
+ attributes: Array.isArray(value.attributes) ? value.attributes.map(normalizeMdxAttribute) : value.attributes,
10711
+ children: Array.isArray(value.children) ? value.children.map(normalizeNode) : value.children,
10712
+ position: normalizePosition(value.position)
10713
+ };
10244
10714
  const admitted = admittedFields[type];
10245
10715
  if (admitted === void 0) return value;
10246
10716
  const normalized = { type };
@@ -10256,6 +10726,29 @@ const normalizeNode = (value) => {
10256
10726
  normalized.position = normalizePosition(value.position);
10257
10727
  return normalized;
10258
10728
  };
10729
+ const normalizeMdxAttribute = (value) => {
10730
+ if (!isRecord(value) || typeof value.type !== "string") return value;
10731
+ if (value.type === "mdxJsxExpressionAttribute") return {
10732
+ type: "mdxJsxExpressionAttribute",
10733
+ value: value.value,
10734
+ position: normalizePosition(value.position)
10735
+ };
10736
+ if (value.type === "mdxJsxAttribute") {
10737
+ const raw = value.value;
10738
+ const normalized = {
10739
+ type: "mdxJsxAttribute",
10740
+ name: value.name,
10741
+ position: normalizePosition(value.position)
10742
+ };
10743
+ if (raw !== void 0) normalized.value = isRecord(raw) && raw.type === "mdxJsxAttributeValueExpression" ? {
10744
+ type: "mdxJsxAttributeValueExpression",
10745
+ value: raw.value,
10746
+ position: normalizePosition(raw.position)
10747
+ } : raw;
10748
+ return normalized;
10749
+ }
10750
+ return value;
10751
+ };
10259
10752
  const decodeRoot = Schema.decodeUnknownResult(Root);
10260
10753
  /**
10261
10754
  * The mdast projection facade — the remark-ecosystem interop boundary.