mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-11-04 12:54:08 +01:00 
			
		
		
		
	Compare commits
	
		
			7 Commits
		
	
	
		
			v10.2.0
			...
			sidv/remov
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					92dfe5c61e | ||
| 
						 | 
					5c94632130 | ||
| 
						 | 
					ba2c076ead | ||
| 
						 | 
					3c9b169ac2 | ||
| 
						 | 
					8142ac4bb2 | ||
| 
						 | 
					5f5143fd8f | ||
| 
						 | 
					d1b9e44075 | 
@@ -65,6 +65,7 @@
 | 
			
		||||
    "mdast",
 | 
			
		||||
    "mdbook",
 | 
			
		||||
    "mermerd",
 | 
			
		||||
    "micromark",
 | 
			
		||||
    "mindaugas",
 | 
			
		||||
    "mindmap",
 | 
			
		||||
    "mindmaps",
 | 
			
		||||
@@ -83,6 +84,7 @@
 | 
			
		||||
    "rect",
 | 
			
		||||
    "rects",
 | 
			
		||||
    "redmine",
 | 
			
		||||
    "rehype",
 | 
			
		||||
    "roledescription",
 | 
			
		||||
    "sandboxed",
 | 
			
		||||
    "setupgraphviewbox",
 | 
			
		||||
 
 | 
			
		||||
@@ -63,10 +63,15 @@
 | 
			
		||||
    "elkjs": "^0.8.2",
 | 
			
		||||
    "khroma": "^2.0.0",
 | 
			
		||||
    "lodash-es": "^4.17.21",
 | 
			
		||||
    "mdast-util-from-markdown": "^1.3.0",
 | 
			
		||||
    "non-layered-tidy-tree-layout": "^2.0.2",
 | 
			
		||||
    "rehype-sanitize": "^5.0.1",
 | 
			
		||||
    "rehype-stringify": "^9.0.3",
 | 
			
		||||
    "remark-breaks": "^3.0.2",
 | 
			
		||||
    "remark-parse": "^10.0.1",
 | 
			
		||||
    "remark-rehype": "^10.1.0",
 | 
			
		||||
    "stylis": "^4.1.3",
 | 
			
		||||
    "ts-dedent": "^2.2.0",
 | 
			
		||||
    "unified": "^10.1.2",
 | 
			
		||||
    "uuid": "^9.0.0",
 | 
			
		||||
    "web-worker": "^1.2.0"
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,85 +0,0 @@
 | 
			
		||||
import { fromMarkdown } from 'mdast-util-from-markdown';
 | 
			
		||||
import { dedent } from 'ts-dedent';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @param {string} markdown markdown to process
 | 
			
		||||
 * @returns {string} processed markdown
 | 
			
		||||
 */
 | 
			
		||||
function preprocessMarkdown(markdown) {
 | 
			
		||||
  // Replace multiple newlines with a single newline
 | 
			
		||||
  const withoutMultipleNewlines = markdown.replace(/\n{2,}/g, '\n');
 | 
			
		||||
  // Remove extra spaces at the beginning of each line
 | 
			
		||||
  const withoutExtraSpaces = dedent(withoutMultipleNewlines);
 | 
			
		||||
  return withoutExtraSpaces;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @param {string} markdown markdown to split into lines
 | 
			
		||||
 */
 | 
			
		||||
export function markdownToLines(markdown) {
 | 
			
		||||
  const preprocessedMarkdown = preprocessMarkdown(markdown);
 | 
			
		||||
  const { children } = fromMarkdown(preprocessedMarkdown);
 | 
			
		||||
  const lines = [[]];
 | 
			
		||||
  let currentLine = 0;
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * @param {import('mdast').Content} node
 | 
			
		||||
   * @param {string} [parentType]
 | 
			
		||||
   */
 | 
			
		||||
  function processNode(node, parentType = 'normal') {
 | 
			
		||||
    if (node.type === 'text') {
 | 
			
		||||
      const textLines = node.value.split('\n');
 | 
			
		||||
      textLines.forEach((textLine, index) => {
 | 
			
		||||
        if (index !== 0) {
 | 
			
		||||
          currentLine++;
 | 
			
		||||
          lines.push([]);
 | 
			
		||||
        }
 | 
			
		||||
        textLine.split(' ').forEach((word) => {
 | 
			
		||||
          if (word) {
 | 
			
		||||
            lines[currentLine].push({ content: word, type: parentType });
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      });
 | 
			
		||||
    } else if (node.type === 'strong' || node.type === 'emphasis') {
 | 
			
		||||
      node.children.forEach((contentNode) => {
 | 
			
		||||
        processNode(contentNode, node.type);
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  children.forEach((treeNode) => {
 | 
			
		||||
    if (treeNode.type === 'paragraph') {
 | 
			
		||||
      treeNode.children.forEach((contentNode) => {
 | 
			
		||||
        processNode(contentNode);
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  return lines;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @param {string} markdown markdown to convert to HTML
 | 
			
		||||
 * @returns {string} HTML
 | 
			
		||||
 */
 | 
			
		||||
export function markdownToHTML(markdown) {
 | 
			
		||||
  const { children } = fromMarkdown(markdown);
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * @param {import('mdast').Content} node
 | 
			
		||||
   */
 | 
			
		||||
  function output(node) {
 | 
			
		||||
    if (node.type === 'text') {
 | 
			
		||||
      return node.value.replace(/\n/g, '<br/>');
 | 
			
		||||
    } else if (node.type === 'strong') {
 | 
			
		||||
      return `<strong>${node.children.map(output).join('')}</strong>`;
 | 
			
		||||
    } else if (node.type === 'emphasis') {
 | 
			
		||||
      return `<em>${node.children.map(output).join('')}</em>`;
 | 
			
		||||
    } else if (node.type === 'paragraph') {
 | 
			
		||||
      return `<p>${node.children.map(output).join('')}</p>`;
 | 
			
		||||
    }
 | 
			
		||||
    return `Unsupported markdown: ${node.type}`;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return children.map(output).join('');
 | 
			
		||||
}
 | 
			
		||||
@@ -195,29 +195,32 @@ Word!`;
 | 
			
		||||
test('markdownToHTML - Basic test', () => {
 | 
			
		||||
  const input = `This is regular text
 | 
			
		||||
Here is a new line
 | 
			
		||||
 | 
			
		||||
There is some words **with a bold** section
 | 
			
		||||
Here is a line *with an italic* section`;
 | 
			
		||||
 | 
			
		||||
  const expectedOutput = `<p>This is regular text<br/>Here is a new line<br/>There is some words <strong>with a bold</strong> section<br/>Here is a line <em>with an italic</em> section</p>`;
 | 
			
		||||
 | 
			
		||||
  const output = markdownToHTML(input);
 | 
			
		||||
  expect(output).toEqual(expectedOutput);
 | 
			
		||||
  expect(markdownToHTML(input)).toMatchInlineSnapshot(`
 | 
			
		||||
    "<p>This is regular text<br>
 | 
			
		||||
    Here is a new line</p>
 | 
			
		||||
    <p>There is some words <strong>with a bold</strong> section<br>
 | 
			
		||||
    Here is a line <em>with an italic</em> section</p>"
 | 
			
		||||
  `);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('markdownToHTML - Empty input', () => {
 | 
			
		||||
  const input = '';
 | 
			
		||||
  const expectedOutput = '';
 | 
			
		||||
  const output = markdownToHTML(input);
 | 
			
		||||
  expect(output).toEqual(expectedOutput);
 | 
			
		||||
  expect(markdownToHTML('')).toEqual('');
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('markdownToHTML - No formatting', () => {
 | 
			
		||||
  const input = `This is a simple test
 | 
			
		||||
with no formatting`;
 | 
			
		||||
 | 
			
		||||
  const expectedOutput = `<p>This is a simple test<br/>with no formatting</p>`;
 | 
			
		||||
  const output = markdownToHTML(input);
 | 
			
		||||
  expect(output).toEqual(expectedOutput);
 | 
			
		||||
  expect(
 | 
			
		||||
    markdownToHTML(`This is a simple test
 | 
			
		||||
with no formatting`)
 | 
			
		||||
  ).toMatchInlineSnapshot(`
 | 
			
		||||
    "<p>This is a simple test<br>
 | 
			
		||||
    with no formatting</p>"
 | 
			
		||||
  `);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('markdownToHTML - Only bold formatting', () => {
 | 
			
		||||
@@ -237,17 +240,27 @@ test('markdownToHTML - Only italic formatting', () => {
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('markdownToHTML - Mixed formatting', () => {
 | 
			
		||||
  const input = `*Italic* and **bold** formatting`;
 | 
			
		||||
  const expectedOutput = `<p><em>Italic</em> and <strong>bold</strong> formatting</p>`;
 | 
			
		||||
  const output = markdownToHTML(input);
 | 
			
		||||
  expect(output).toEqual(expectedOutput);
 | 
			
		||||
  expect(markdownToHTML(`*Italic* and **bold** formatting`)).toMatchInlineSnapshot(
 | 
			
		||||
    '"<p><em>Italic</em> and <strong>bold</strong> formatting</p>"'
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  expect(markdownToHTML('special characters: `<p>hi</p>`')).toMatchInlineSnapshot(
 | 
			
		||||
    '"<p>special characters: <code><p>hi</p></code></p>"'
 | 
			
		||||
  );
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('markdownToHTML - Unsupported formatting', () => {
 | 
			
		||||
test('markdownToHTML - List formatting', () => {
 | 
			
		||||
  expect(
 | 
			
		||||
    markdownToHTML(`Hello
 | 
			
		||||
  - l1
 | 
			
		||||
  - l2
 | 
			
		||||
  - l3`)
 | 
			
		||||
  ).toMatchInlineSnapshot('"<p>Hello</p>Unsupported markdown: list"');
 | 
			
		||||
  ).toMatchInlineSnapshot(`
 | 
			
		||||
    "<p>Hello</p>
 | 
			
		||||
    <ul>
 | 
			
		||||
    <li>l1</li>
 | 
			
		||||
    <li>l2</li>
 | 
			
		||||
    <li>l3</li>
 | 
			
		||||
    </ul>"
 | 
			
		||||
  `);
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										58
									
								
								packages/mermaid/src/rendering-util/handle-markdown-text.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								packages/mermaid/src/rendering-util/handle-markdown-text.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
import { unified } from 'unified';
 | 
			
		||||
import remarkParse from 'remark-parse';
 | 
			
		||||
import remarkBreaks from 'remark-breaks';
 | 
			
		||||
import remarkRehype from 'remark-rehype';
 | 
			
		||||
import rehypeSanitize from 'rehype-sanitize';
 | 
			
		||||
import rehypeStringify from 'rehype-stringify';
 | 
			
		||||
import type { Content } from 'mdast';
 | 
			
		||||
 | 
			
		||||
export function markdownToLines(markdown: string) {
 | 
			
		||||
  const { children } = unified().use(remarkParse).use(remarkBreaks).parse(markdown);
 | 
			
		||||
  const lines: { content: string; type: string }[][] = [[]];
 | 
			
		||||
  let currentLine = 0;
 | 
			
		||||
 | 
			
		||||
  function processNode(node: Content, parentType?: string) {
 | 
			
		||||
    if (node.type === 'text') {
 | 
			
		||||
      const textLines = node.value.split('\n');
 | 
			
		||||
      textLines.forEach((textLine, index) => {
 | 
			
		||||
        if (index !== 0) {
 | 
			
		||||
          currentLine++;
 | 
			
		||||
          lines.push([]);
 | 
			
		||||
        }
 | 
			
		||||
        textLine.split(' ').forEach((word) => {
 | 
			
		||||
          if (word) {
 | 
			
		||||
            lines[currentLine].push({ content: word, type: parentType || 'normal' });
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      });
 | 
			
		||||
    } else if (node.type === 'strong' || node.type === 'emphasis') {
 | 
			
		||||
      node.children.forEach((contentNode) => {
 | 
			
		||||
        processNode(contentNode, node.type);
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  children.forEach((treeNode) => {
 | 
			
		||||
    if (treeNode.type === 'paragraph') {
 | 
			
		||||
      treeNode.children.forEach((contentNode) => {
 | 
			
		||||
        processNode(contentNode);
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  return lines;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function markdownToHTML(markdown: string): string {
 | 
			
		||||
  return (
 | 
			
		||||
    unified()
 | 
			
		||||
      .use(remarkParse)
 | 
			
		||||
      .use(remarkBreaks)
 | 
			
		||||
      .use(remarkRehype)
 | 
			
		||||
      .use(rehypeSanitize)
 | 
			
		||||
      // @ts-ignore - rehype-stringify types are incorrect
 | 
			
		||||
      .use(rehypeStringify)
 | 
			
		||||
      .processSync(markdown)
 | 
			
		||||
      .toString()
 | 
			
		||||
  );
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										254
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										254
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							@@ -211,18 +211,33 @@ importers:
 | 
			
		||||
      lodash-es:
 | 
			
		||||
        specifier: ^4.17.21
 | 
			
		||||
        version: 4.17.21
 | 
			
		||||
      mdast-util-from-markdown:
 | 
			
		||||
        specifier: ^1.3.0
 | 
			
		||||
        version: 1.3.0
 | 
			
		||||
      non-layered-tidy-tree-layout:
 | 
			
		||||
        specifier: ^2.0.2
 | 
			
		||||
        version: 2.0.2
 | 
			
		||||
      rehype-sanitize:
 | 
			
		||||
        specifier: ^5.0.1
 | 
			
		||||
        version: 5.0.1
 | 
			
		||||
      rehype-stringify:
 | 
			
		||||
        specifier: ^9.0.3
 | 
			
		||||
        version: 9.0.3
 | 
			
		||||
      remark-breaks:
 | 
			
		||||
        specifier: ^3.0.2
 | 
			
		||||
        version: 3.0.2
 | 
			
		||||
      remark-parse:
 | 
			
		||||
        specifier: ^10.0.1
 | 
			
		||||
        version: 10.0.1
 | 
			
		||||
      remark-rehype:
 | 
			
		||||
        specifier: ^10.1.0
 | 
			
		||||
        version: 10.1.0
 | 
			
		||||
      stylis:
 | 
			
		||||
        specifier: ^4.1.3
 | 
			
		||||
        version: 4.1.3
 | 
			
		||||
      ts-dedent:
 | 
			
		||||
        specifier: ^2.2.0
 | 
			
		||||
        version: 2.2.0
 | 
			
		||||
      unified:
 | 
			
		||||
        specifier: ^10.1.2
 | 
			
		||||
        version: 10.1.2
 | 
			
		||||
      uuid:
 | 
			
		||||
        specifier: ^9.0.0
 | 
			
		||||
        version: 9.0.0
 | 
			
		||||
@@ -2992,6 +3007,12 @@ packages:
 | 
			
		||||
      '@types/node': 18.16.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /@types/hast@2.3.4:
 | 
			
		||||
    resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /@types/http-cache-semantics@4.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -3116,6 +3137,10 @@ packages:
 | 
			
		||||
    resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /@types/parse5@6.0.3:
 | 
			
		||||
    resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /@types/prettier@2.7.2:
 | 
			
		||||
    resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -4237,7 +4262,6 @@ packages:
 | 
			
		||||
 | 
			
		||||
  /bail@2.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /balanced-match@1.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
 | 
			
		||||
@@ -4510,7 +4534,6 @@ packages:
 | 
			
		||||
 | 
			
		||||
  /ccount@2.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /chai@4.3.7:
 | 
			
		||||
    resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
 | 
			
		||||
@@ -4577,10 +4600,18 @@ packages:
 | 
			
		||||
    engines: {node: '>=10'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /character-entities-html4@2.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /character-entities-legacy@1.1.4:
 | 
			
		||||
    resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /character-entities-legacy@3.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /character-entities@1.2.4:
 | 
			
		||||
    resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -4786,6 +4817,10 @@ packages:
 | 
			
		||||
      delayed-stream: 1.0.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /comma-separated-tokens@2.0.3:
 | 
			
		||||
    resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /commander@10.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
 | 
			
		||||
    engines: {node: '>=14'}
 | 
			
		||||
@@ -6560,7 +6595,6 @@ packages:
 | 
			
		||||
 | 
			
		||||
  /extend@3.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /extract-zip@2.0.1(supports-color@8.1.1):
 | 
			
		||||
    resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
 | 
			
		||||
@@ -7260,6 +7294,87 @@ packages:
 | 
			
		||||
      function-bind: 1.1.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /hast-util-from-parse5@7.1.2:
 | 
			
		||||
    resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
      hastscript: 7.2.0
 | 
			
		||||
      property-information: 6.2.0
 | 
			
		||||
      vfile: 5.3.5
 | 
			
		||||
      vfile-location: 4.1.0
 | 
			
		||||
      web-namespaces: 2.0.1
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /hast-util-parse-selector@3.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /hast-util-raw@7.2.3:
 | 
			
		||||
    resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
      '@types/parse5': 6.0.3
 | 
			
		||||
      hast-util-from-parse5: 7.1.2
 | 
			
		||||
      hast-util-to-parse5: 7.1.0
 | 
			
		||||
      html-void-elements: 2.0.1
 | 
			
		||||
      parse5: 6.0.1
 | 
			
		||||
      unist-util-position: 4.0.4
 | 
			
		||||
      unist-util-visit: 4.1.1
 | 
			
		||||
      vfile: 5.3.5
 | 
			
		||||
      web-namespaces: 2.0.1
 | 
			
		||||
      zwitch: 2.0.4
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /hast-util-sanitize@4.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-Hd9tU0ltknMGRDv+d6Ro/4XKzBqQnP/EZrpiTbpFYfXv/uOhWeKc+2uajcbEvAEH98VZd7eII2PiXm13RihnLw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /hast-util-to-html@8.0.4:
 | 
			
		||||
    resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
      ccount: 2.0.1
 | 
			
		||||
      comma-separated-tokens: 2.0.3
 | 
			
		||||
      hast-util-raw: 7.2.3
 | 
			
		||||
      hast-util-whitespace: 2.0.1
 | 
			
		||||
      html-void-elements: 2.0.1
 | 
			
		||||
      property-information: 6.2.0
 | 
			
		||||
      space-separated-tokens: 2.0.2
 | 
			
		||||
      stringify-entities: 4.0.3
 | 
			
		||||
      zwitch: 2.0.4
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /hast-util-to-parse5@7.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
      comma-separated-tokens: 2.0.3
 | 
			
		||||
      property-information: 6.2.0
 | 
			
		||||
      space-separated-tokens: 2.0.2
 | 
			
		||||
      web-namespaces: 2.0.1
 | 
			
		||||
      zwitch: 2.0.4
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /hast-util-whitespace@2.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /hastscript@7.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
      comma-separated-tokens: 2.0.3
 | 
			
		||||
      hast-util-parse-selector: 3.1.1
 | 
			
		||||
      property-information: 6.2.0
 | 
			
		||||
      space-separated-tokens: 2.0.2
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /heap@0.2.7:
 | 
			
		||||
    resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
 | 
			
		||||
    dev: false
 | 
			
		||||
@@ -7299,6 +7414,10 @@ packages:
 | 
			
		||||
    resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /html-void-elements@2.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /htmlparser2@8.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
@@ -7590,7 +7709,6 @@ packages:
 | 
			
		||||
  /is-buffer@2.0.5:
 | 
			
		||||
    resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
 | 
			
		||||
    engines: {node: '>=4'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /is-builtin-module@3.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==}
 | 
			
		||||
@@ -7694,7 +7812,6 @@ packages:
 | 
			
		||||
  /is-plain-obj@4.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
 | 
			
		||||
    engines: {node: '>=12'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /is-plain-object@2.0.4:
 | 
			
		||||
    resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
 | 
			
		||||
@@ -8884,6 +9001,14 @@ packages:
 | 
			
		||||
      blueimp-md5: 2.19.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /mdast-util-definitions@5.1.2:
 | 
			
		||||
    resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/mdast': 3.0.11
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
      unist-util-visit: 4.1.1
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /mdast-util-find-and-replace@2.2.1:
 | 
			
		||||
    resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
@@ -8911,7 +9036,7 @@ packages:
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
      decode-named-character-reference: 1.0.2
 | 
			
		||||
      mdast-util-to-string: 3.1.0
 | 
			
		||||
      micromark: 3.0.10
 | 
			
		||||
      micromark: 3.1.0
 | 
			
		||||
      micromark-util-decode-numeric-character-reference: 1.0.0
 | 
			
		||||
      micromark-util-decode-string: 1.0.2
 | 
			
		||||
      micromark-util-normalize-identifier: 1.0.0
 | 
			
		||||
@@ -8984,6 +9109,19 @@ packages:
 | 
			
		||||
      - supports-color
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /mdast-util-to-hast@12.3.0:
 | 
			
		||||
    resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
      '@types/mdast': 3.0.11
 | 
			
		||||
      mdast-util-definitions: 5.1.2
 | 
			
		||||
      micromark-util-sanitize-uri: 1.1.0
 | 
			
		||||
      trim-lines: 3.0.1
 | 
			
		||||
      unist-util-generated: 2.0.1
 | 
			
		||||
      unist-util-position: 4.0.4
 | 
			
		||||
      unist-util-visit: 4.1.1
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /mdast-util-to-markdown@1.3.0:
 | 
			
		||||
    resolution: {integrity: sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
@@ -9275,6 +9413,14 @@ packages:
 | 
			
		||||
      micromark-util-encode: 1.0.1
 | 
			
		||||
      micromark-util-symbol: 1.0.1
 | 
			
		||||
 | 
			
		||||
  /micromark-util-sanitize-uri@1.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      micromark-util-character: 1.1.0
 | 
			
		||||
      micromark-util-encode: 1.0.1
 | 
			
		||||
      micromark-util-symbol: 1.0.1
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /micromark-util-subtokenize@1.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
@@ -9298,8 +9444,8 @@ packages:
 | 
			
		||||
      - supports-color
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /micromark@3.0.10:
 | 
			
		||||
    resolution: {integrity: sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==}
 | 
			
		||||
  /micromark@3.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/debug': 4.1.7
 | 
			
		||||
      debug: 4.3.4
 | 
			
		||||
@@ -9884,7 +10030,6 @@ packages:
 | 
			
		||||
 | 
			
		||||
  /parse5@6.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /parse5@7.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==}
 | 
			
		||||
@@ -10170,6 +10315,10 @@ packages:
 | 
			
		||||
      sisteransi: 1.0.5
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /property-information@6.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /proxy-addr@2.0.7:
 | 
			
		||||
    resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
 | 
			
		||||
    engines: {node: '>= 0.10'}
 | 
			
		||||
@@ -10417,6 +10566,30 @@ packages:
 | 
			
		||||
      jsesc: 0.5.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /rehype-sanitize@5.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-da/jIOjq8eYt/1r9GN6GwxIR3gde7OZ+WV8pheu1tL8K0D9KxM2AyMh+UEfke+FfdM3PvGHeYJU0Td5OWa7L5A==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
      hast-util-sanitize: 4.1.0
 | 
			
		||||
      unified: 10.1.2
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /rehype-stringify@9.0.3:
 | 
			
		||||
    resolution: {integrity: sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
      hast-util-to-html: 8.0.4
 | 
			
		||||
      unified: 10.1.2
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /remark-breaks@3.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-x96YDJ9X+Ry0/JNZFKfr1hpcAKvGYWfUTszxY9RbxKEqq6uzPPoLCuHdZsLPZZUdAv3nCROyc7FPrQLWr2rxyw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/mdast': 3.0.11
 | 
			
		||||
      unified: 10.1.2
 | 
			
		||||
      unist-util-visit: 4.1.1
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /remark-frontmatter@4.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
@@ -10445,7 +10618,15 @@ packages:
 | 
			
		||||
      unified: 10.1.2
 | 
			
		||||
    transitivePeerDependencies:
 | 
			
		||||
      - supports-color
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /remark-rehype@10.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/hast': 2.3.4
 | 
			
		||||
      '@types/mdast': 3.0.11
 | 
			
		||||
      mdast-util-to-hast: 12.3.0
 | 
			
		||||
      unified: 10.1.2
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /remark-stringify@10.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==}
 | 
			
		||||
@@ -11060,6 +11241,10 @@ packages:
 | 
			
		||||
    deprecated: Please use @jridgewell/sourcemap-codec instead
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /space-separated-tokens@2.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /spawn-command@0.0.2-1:
 | 
			
		||||
    resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -11247,6 +11432,13 @@ packages:
 | 
			
		||||
      safe-buffer: 5.2.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /stringify-entities@4.0.3:
 | 
			
		||||
    resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      character-entities-html4: 2.1.0
 | 
			
		||||
      character-entities-legacy: 3.0.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /strip-ansi@3.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
 | 
			
		||||
    engines: {node: '>=0.10.0'}
 | 
			
		||||
@@ -11573,6 +11765,10 @@ packages:
 | 
			
		||||
    hasBin: true
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /trim-lines@3.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /trim-newlines@3.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
 | 
			
		||||
    engines: {node: '>=8'}
 | 
			
		||||
@@ -11585,7 +11781,6 @@ packages:
 | 
			
		||||
 | 
			
		||||
  /trough@2.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /ts-dedent@2.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
 | 
			
		||||
@@ -11786,7 +11981,6 @@ packages:
 | 
			
		||||
      is-plain-obj: 4.1.0
 | 
			
		||||
      trough: 2.1.0
 | 
			
		||||
      vfile: 5.3.5
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /unique-string@2.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
 | 
			
		||||
@@ -11799,9 +11993,18 @@ packages:
 | 
			
		||||
    resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /unist-util-generated@2.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /unist-util-is@5.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /unist-util-position@4.0.4:
 | 
			
		||||
    resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /unist-util-stringify-position@2.0.3:
 | 
			
		||||
    resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
 | 
			
		||||
@@ -11819,7 +12022,6 @@ packages:
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
      unist-util-is: 5.1.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /unist-util-visit@4.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==}
 | 
			
		||||
@@ -11827,7 +12029,6 @@ packages:
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
      unist-util-is: 5.1.1
 | 
			
		||||
      unist-util-visit-parents: 5.1.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /universalify@0.1.2:
 | 
			
		||||
    resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
 | 
			
		||||
@@ -11947,12 +12148,18 @@ packages:
 | 
			
		||||
      extsprintf: 1.3.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /vfile-location@4.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
      vfile: 5.3.5
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /vfile-message@3.1.2:
 | 
			
		||||
    resolution: {integrity: sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      '@types/unist': 2.0.6
 | 
			
		||||
      unist-util-stringify-position: 3.0.2
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /vfile@5.3.5:
 | 
			
		||||
    resolution: {integrity: sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==}
 | 
			
		||||
@@ -11961,7 +12168,6 @@ packages:
 | 
			
		||||
      is-buffer: 2.0.5
 | 
			
		||||
      unist-util-stringify-position: 3.0.2
 | 
			
		||||
      vfile-message: 3.1.2
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /vite-node@0.30.1(@types/node@18.16.0):
 | 
			
		||||
    resolution: {integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==}
 | 
			
		||||
@@ -12295,6 +12501,10 @@ packages:
 | 
			
		||||
      minimalistic-assert: 1.0.1
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /web-namespaces@2.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /web-worker@1.2.0:
 | 
			
		||||
    resolution: {integrity: sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==}
 | 
			
		||||
    dev: false
 | 
			
		||||
@@ -12790,3 +13000,7 @@ packages:
 | 
			
		||||
  /zwitch@2.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /zwitch@2.0.4:
 | 
			
		||||
    resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user