@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.
- package/changesets-changelog.cjs +608 -116
- package/changesets-changelog.js +611 -118
- package/changesets-markdownlint.cjs +608 -116
- package/changesets-markdownlint.js +611 -118
- package/package.json +4 -4
- package/tsconfig/node/dist/tsconfig.tsbuildinfo +1 -1
package/changesets-changelog.js
CHANGED
|
@@ -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.
|
|
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([
|
|
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+
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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 `"` 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("\"", """)}"`;
|
|
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
|
|
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.
|
|
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 `"`), 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.
|
|
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.
|