From 5594a7122d97b890aff55e89318a857293f4c971 Mon Sep 17 00:00:00 2001 From: Eric Williams Date: Wed, 27 Jan 2021 22:54:00 +0100 Subject: [PATCH] Reorg and cleanup of economics section of docs (#14868) * reorg validator economics * overview cleanup * terminology * terminology formatting * katex for docusaurus * adjusted staking yield writeup * more reorg * move section header * rm unlinked mds * add new mds * Update docs/src/inflation/terminology.md Co-authored-by: Dan Albert * Update docs/src/inflation/terminology.md Co-authored-by: Dan Albert * Update docs/src/inflation/terminology.md Co-authored-by: Dan Albert * Update docs/src/inflation/terminology.md Co-authored-by: Dan Albert * Update docs/src/inflation/terminology.md Co-authored-by: Dan Albert * Update docs/src/transaction_fees.md Co-authored-by: Dan Albert * addressing Dans comments in #14868 * incorporating pr commits * trailing whitespaces * more trailing whitespaces * remove services link and add plot * add plots Co-authored-by: Dan Albert --- docs/docusaurus.config.js | 13 + docs/package-lock.json | 73 +- docs/package.json | 2 +- docs/sidebars.js | 488 +- docs/src/economics_overview.md | 20 + docs/src/inflation/adjusted_staking_yield.md | 124 + docs/src/inflation/inflation_schedule.md | 40 + docs/src/inflation/terminology.md | 54 + docs/src/storage_rent_economics.md | 17 + docs/src/transaction_fees.md | 21 + .../img/p_ex_adjusted_staked_yields.png | Bin 0 -> 565142 bytes docs/static/img/p_ex_relative_dilution.png | Bin 0 -> 445785 bytes ...ex_staked_supply_w_range_initial_stake.png | Bin 0 -> 521287 bytes docs/static/img/p_ex_unstaked_dilution.png | Bin 0 -> 389981 bytes docs/static/img/p_inflation_schedule.png | Bin 0 -> 327755 bytes docs/static/img/p_total_supply.png | Bin 0 -> 276555 bytes docs/static/katex/README.md | 91 + docs/static/katex/contrib/auto-render.js | 350 + docs/static/katex/contrib/auto-render.min.js | 1 + docs/static/katex/contrib/auto-render.mjs | 226 + docs/static/katex/contrib/copy-tex.css | 13 + docs/static/katex/contrib/copy-tex.js | 213 + docs/static/katex/contrib/copy-tex.min.css | 1 + docs/static/katex/contrib/copy-tex.min.js | 1 + docs/static/katex/contrib/copy-tex.mjs | 85 + .../katex/contrib/mathtex-script-type.js | 137 + .../katex/contrib/mathtex-script-type.min.js | 1 + .../katex/contrib/mathtex-script-type.mjs | 24 + docs/static/katex/contrib/mhchem.js | 3241 +++ docs/static/katex/contrib/mhchem.min.js | 1 + docs/static/katex/contrib/mhchem.mjs | 3109 +++ .../katex/contrib/render-a11y-string.js | 870 + .../katex/contrib/render-a11y-string.min.js | 1 + .../katex/contrib/render-a11y-string.mjs | 753 + docs/static/katex/fonts/KaTeX_AMS-Regular.ttf | Bin 0 -> 70936 bytes .../static/katex/fonts/KaTeX_AMS-Regular.woff | Bin 0 -> 36912 bytes .../katex/fonts/KaTeX_AMS-Regular.woff2 | Bin 0 -> 31136 bytes .../katex/fonts/KaTeX_Caligraphic-Bold.ttf | Bin 0 -> 15416 bytes .../katex/fonts/KaTeX_Caligraphic-Bold.woff | Bin 0 -> 9376 bytes .../katex/fonts/KaTeX_Caligraphic-Bold.woff2 | Bin 0 -> 8392 bytes .../katex/fonts/KaTeX_Caligraphic-Regular.ttf | Bin 0 -> 14908 bytes .../fonts/KaTeX_Caligraphic-Regular.woff | Bin 0 -> 9148 bytes .../fonts/KaTeX_Caligraphic-Regular.woff2 | Bin 0 -> 8248 bytes .../static/katex/fonts/KaTeX_Fraktur-Bold.ttf | Bin 0 -> 24400 bytes .../katex/fonts/KaTeX_Fraktur-Bold.woff | Bin 0 -> 16208 bytes .../katex/fonts/KaTeX_Fraktur-Bold.woff2 | Bin 0 -> 13912 bytes .../katex/fonts/KaTeX_Fraktur-Regular.ttf | Bin 0 -> 23904 bytes .../katex/fonts/KaTeX_Fraktur-Regular.woff | Bin 0 -> 15880 bytes .../katex/fonts/KaTeX_Fraktur-Regular.woff2 | Bin 0 -> 13668 bytes docs/static/katex/fonts/KaTeX_Main-Bold.ttf | Bin 0 -> 59972 bytes docs/static/katex/fonts/KaTeX_Main-Bold.woff | Bin 0 -> 35056 bytes docs/static/katex/fonts/KaTeX_Main-Bold.woff2 | Bin 0 -> 29932 bytes .../katex/fonts/KaTeX_Main-BoldItalic.ttf | Bin 0 -> 42872 bytes .../katex/fonts/KaTeX_Main-BoldItalic.woff | Bin 0 -> 24500 bytes .../katex/fonts/KaTeX_Main-BoldItalic.woff2 | Bin 0 -> 21244 bytes docs/static/katex/fonts/KaTeX_Main-Italic.ttf | Bin 0 -> 46028 bytes .../static/katex/fonts/KaTeX_Main-Italic.woff | Bin 0 -> 25352 bytes .../katex/fonts/KaTeX_Main-Italic.woff2 | Bin 0 -> 22076 bytes .../static/katex/fonts/KaTeX_Main-Regular.ttf | Bin 0 -> 68880 bytes .../katex/fonts/KaTeX_Main-Regular.woff | Bin 0 -> 37856 bytes .../katex/fonts/KaTeX_Main-Regular.woff2 | Bin 0 -> 32312 bytes .../katex/fonts/KaTeX_Math-BoldItalic.ttf | Bin 0 -> 42300 bytes .../katex/fonts/KaTeX_Math-BoldItalic.woff | Bin 0 -> 23980 bytes .../katex/fonts/KaTeX_Math-BoldItalic.woff2 | Bin 0 -> 21192 bytes docs/static/katex/fonts/KaTeX_Math-Italic.ttf | Bin 0 -> 44484 bytes .../static/katex/fonts/KaTeX_Math-Italic.woff | Bin 0 -> 24668 bytes .../katex/fonts/KaTeX_Math-Italic.woff2 | Bin 0 -> 21668 bytes .../katex/fonts/KaTeX_SansSerif-Bold.ttf | Bin 0 -> 32588 bytes .../katex/fonts/KaTeX_SansSerif-Bold.woff | Bin 0 -> 17988 bytes .../katex/fonts/KaTeX_SansSerif-Bold.woff2 | Bin 0 -> 15296 bytes .../katex/fonts/KaTeX_SansSerif-Italic.ttf | Bin 0 -> 29860 bytes .../katex/fonts/KaTeX_SansSerif-Italic.woff | Bin 0 -> 17044 bytes .../katex/fonts/KaTeX_SansSerif-Italic.woff2 | Bin 0 -> 14484 bytes .../katex/fonts/KaTeX_SansSerif-Regular.ttf | Bin 0 -> 28708 bytes .../katex/fonts/KaTeX_SansSerif-Regular.woff | Bin 0 -> 15712 bytes .../katex/fonts/KaTeX_SansSerif-Regular.woff2 | Bin 0 -> 13300 bytes .../katex/fonts/KaTeX_Script-Regular.ttf | Bin 0 -> 23520 bytes .../katex/fonts/KaTeX_Script-Regular.woff | Bin 0 -> 12992 bytes .../katex/fonts/KaTeX_Script-Regular.woff2 | Bin 0 -> 11792 bytes .../katex/fonts/KaTeX_Size1-Regular.ttf | Bin 0 -> 11932 bytes .../katex/fonts/KaTeX_Size1-Regular.woff | Bin 0 -> 6300 bytes .../katex/fonts/KaTeX_Size1-Regular.woff2 | Bin 0 -> 5332 bytes .../katex/fonts/KaTeX_Size2-Regular.ttf | Bin 0 -> 11080 bytes .../katex/fonts/KaTeX_Size2-Regular.woff | Bin 0 -> 6012 bytes .../katex/fonts/KaTeX_Size2-Regular.woff2 | Bin 0 -> 5080 bytes .../katex/fonts/KaTeX_Size3-Regular.ttf | Bin 0 -> 7028 bytes .../katex/fonts/KaTeX_Size3-Regular.woff | Bin 0 -> 4148 bytes .../katex/fonts/KaTeX_Size3-Regular.woff2 | Bin 0 -> 3400 bytes .../katex/fonts/KaTeX_Size4-Regular.ttf | Bin 0 -> 10008 bytes .../katex/fonts/KaTeX_Size4-Regular.woff | Bin 0 -> 5820 bytes .../katex/fonts/KaTeX_Size4-Regular.woff2 | Bin 0 -> 4720 bytes .../katex/fonts/KaTeX_Typewriter-Regular.ttf | Bin 0 -> 34560 bytes .../katex/fonts/KaTeX_Typewriter-Regular.woff | Bin 0 -> 19700 bytes .../fonts/KaTeX_Typewriter-Regular.woff2 | Bin 0 -> 16868 bytes docs/static/katex/katex.css | 1034 + docs/static/katex/katex.js | 17308 ++++++++++++++++ docs/static/katex/katex.min.css | 1 + docs/static/katex/katex.min.js | 1 + docs/static/katex/katex.mjs | 16911 +++++++++++++++ 99 files changed, 44906 insertions(+), 319 deletions(-) create mode 100644 docs/src/economics_overview.md create mode 100644 docs/src/inflation/adjusted_staking_yield.md create mode 100644 docs/src/inflation/inflation_schedule.md create mode 100644 docs/src/inflation/terminology.md create mode 100644 docs/src/storage_rent_economics.md create mode 100644 docs/src/transaction_fees.md create mode 100644 docs/static/img/p_ex_adjusted_staked_yields.png create mode 100644 docs/static/img/p_ex_relative_dilution.png create mode 100644 docs/static/img/p_ex_staked_supply_w_range_initial_stake.png create mode 100644 docs/static/img/p_ex_unstaked_dilution.png create mode 100644 docs/static/img/p_inflation_schedule.png create mode 100644 docs/static/img/p_total_supply.png create mode 100644 docs/static/katex/README.md create mode 100644 docs/static/katex/contrib/auto-render.js create mode 100644 docs/static/katex/contrib/auto-render.min.js create mode 100644 docs/static/katex/contrib/auto-render.mjs create mode 100644 docs/static/katex/contrib/copy-tex.css create mode 100644 docs/static/katex/contrib/copy-tex.js create mode 100644 docs/static/katex/contrib/copy-tex.min.css create mode 100644 docs/static/katex/contrib/copy-tex.min.js create mode 100644 docs/static/katex/contrib/copy-tex.mjs create mode 100644 docs/static/katex/contrib/mathtex-script-type.js create mode 100644 docs/static/katex/contrib/mathtex-script-type.min.js create mode 100644 docs/static/katex/contrib/mathtex-script-type.mjs create mode 100644 docs/static/katex/contrib/mhchem.js create mode 100644 docs/static/katex/contrib/mhchem.min.js create mode 100644 docs/static/katex/contrib/mhchem.mjs create mode 100644 docs/static/katex/contrib/render-a11y-string.js create mode 100644 docs/static/katex/contrib/render-a11y-string.min.js create mode 100644 docs/static/katex/contrib/render-a11y-string.mjs create mode 100644 docs/static/katex/fonts/KaTeX_AMS-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_AMS-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_AMS-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Caligraphic-Bold.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Caligraphic-Bold.woff create mode 100644 docs/static/katex/fonts/KaTeX_Caligraphic-Bold.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Caligraphic-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Caligraphic-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_Caligraphic-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Fraktur-Bold.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Fraktur-Bold.woff create mode 100644 docs/static/katex/fonts/KaTeX_Fraktur-Bold.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Fraktur-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Fraktur-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_Fraktur-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Main-Bold.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Main-Bold.woff create mode 100644 docs/static/katex/fonts/KaTeX_Main-Bold.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Main-BoldItalic.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Main-BoldItalic.woff create mode 100644 docs/static/katex/fonts/KaTeX_Main-BoldItalic.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Main-Italic.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Main-Italic.woff create mode 100644 docs/static/katex/fonts/KaTeX_Main-Italic.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Main-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Main-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_Main-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Math-BoldItalic.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Math-BoldItalic.woff create mode 100644 docs/static/katex/fonts/KaTeX_Math-BoldItalic.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Math-Italic.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Math-Italic.woff create mode 100644 docs/static/katex/fonts/KaTeX_Math-Italic.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_SansSerif-Bold.ttf create mode 100644 docs/static/katex/fonts/KaTeX_SansSerif-Bold.woff create mode 100644 docs/static/katex/fonts/KaTeX_SansSerif-Bold.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_SansSerif-Italic.ttf create mode 100644 docs/static/katex/fonts/KaTeX_SansSerif-Italic.woff create mode 100644 docs/static/katex/fonts/KaTeX_SansSerif-Italic.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_SansSerif-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_SansSerif-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_SansSerif-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Script-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Script-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_Script-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Size1-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Size1-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_Size1-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Size2-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Size2-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_Size2-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Size3-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Size3-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_Size3-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Size4-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Size4-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_Size4-Regular.woff2 create mode 100644 docs/static/katex/fonts/KaTeX_Typewriter-Regular.ttf create mode 100644 docs/static/katex/fonts/KaTeX_Typewriter-Regular.woff create mode 100644 docs/static/katex/fonts/KaTeX_Typewriter-Regular.woff2 create mode 100644 docs/static/katex/katex.css create mode 100644 docs/static/katex/katex.js create mode 100644 docs/static/katex/katex.min.css create mode 100644 docs/static/katex/katex.min.js create mode 100644 docs/static/katex/katex.mjs diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 57a1d12f8..d16db1f88 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -1,3 +1,5 @@ +const math = require('remark-math'); +const katex = require('rehype-katex'); module.exports = { title: "Solana Docs", tagline: @@ -8,6 +10,15 @@ module.exports = { organizationName: "solana-labs", // Usually your GitHub org/user name. projectName: "solana", // Usually your repo name. onBrokenLinks: 'throw', + stylesheets: [ + { + href: '/katex/katex.min.css', + type: 'text/css', + integrity: + 'sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X', + crossorigin: 'anonymous', + }, + ], themeConfig: { navbar: { logo: { @@ -112,6 +123,8 @@ module.exports = { path: "src", routeBasePath: "/", sidebarPath: require.resolve("./sidebars.js"), + remarkPlugins: [math], + rehypePlugins: [katex], }, theme: { customCss: require.resolve("./src/css/custom.css"), diff --git a/docs/package-lock.json b/docs/package-lock.json index acdda6399..b20c89ff5 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -3942,11 +3942,6 @@ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" }, - "character-entities-html4": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", - "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==" - }, "character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", @@ -8538,11 +8533,6 @@ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", "integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==" }, - "longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", - "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==" - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -8632,16 +8622,6 @@ "unist-util-visit": "^2.0.0" } }, - "mdast-util-math": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-0.1.0.tgz", - "integrity": "sha512-5L5k1fiOf74i9iQ/Khqz8WT6vU6LNTcV0jFeD89CkMx7Uu9pmDF6UFvBXU1n5pgQ8Grqgkk8wBG1V64HqrS16A==", - "requires": { - "longest-streak": "^2.0.0", - "mdast-util-to-markdown": "^0.4.0", - "repeat-string": "^1.0.0" - } - }, "mdast-util-to-hast": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-9.1.2.tgz", @@ -8657,19 +8637,6 @@ "unist-util-visit": "^2.0.0" } }, - "mdast-util-to-markdown": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.4.3.tgz", - "integrity": "sha512-hGC1uAqmvCgCJ9m9JsyUi4UZ3+EZzk2qFJZx2IDv0sodg9LfoRiPKIpefTQdwdt1fANZRHupuZlPSV+UQMeRfw==", - "requires": { - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "stringify-entities": "^3.0.0", - "zwitch": "^1.0.0" - } - }, "mdast-util-to-string": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", @@ -8768,24 +8735,6 @@ "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" }, - "micromark": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.9.2.tgz", - "integrity": "sha512-W9P8sexN1Erab68sZBz4ugkNmuHy1L6O9fwxQ6TVDbgqopAeJA3+d/Nsdq1ClydGqWc/c3tf4r7ZmLMHgxbdbQ==", - "requires": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - } - }, - "micromark-extension-math": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-0.1.0.tgz", - "integrity": "sha512-BvvrHIOYH8YxWg97WIH8CJUcuM9Xq1OknqgOrYElenyZ5Jsks9pTFHZe5eBZKrPoqfsu20spCM29kxvwGC6msA==", - "requires": { - "katex": "^0.12.0", - "micromark": "~2.9.0" - } - }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -11977,13 +11926,9 @@ "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" }, "remark-math": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-4.0.0.tgz", - "integrity": "sha512-lH7SoQenXtQrvL0bm+mjZbvOk//YWNuyR+MxV18Qyv8rgFmMEGNuB0TSCQDkoDaiJ40FCnG8lxErc/zhcedYbw==", - "requires": { - "mdast-util-math": "^0.1.0", - "micromark-extension-math": "^0.1.0" - } + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-3.0.1.tgz", + "integrity": "sha512-epT77R/HK0x7NqrWHdSV75uNLwn8g9qTyMqCRCDujL0vj/6T6+yhdrR7mjELWtkse+Fw02kijAaBuVcHBor1+Q==" }, "remark-mdx": { "version": "1.6.21", @@ -13289,18 +13234,6 @@ } } }, - "stringify-entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.0.1.tgz", - "integrity": "sha512-Lsk3ISA2++eJYqBMPKcr/8eby1I6L0gP0NlxF8Zja6c05yr/yCYyb2c9PwXjd08Ib3If1vn1rbs1H5ZtVuOfvQ==", - "requires": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.2", - "is-hexadecimal": "^1.0.0" - } - }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", diff --git a/docs/package.json b/docs/package.json index 51b7fa9f0..c0530e815 100644 --- a/docs/package.json +++ b/docs/package.json @@ -26,7 +26,7 @@ "react": "^16.8.4", "react-dom": "^16.8.4", "rehype-katex": "^4.0.0", - "remark-math": "^4.0.0" + "remark-math": "^3.0.1" }, "browserslist": { "production": [ diff --git a/docs/sidebars.js b/docs/sidebars.js index 4c7a60269..53056976e 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -1,253 +1,245 @@ module.exports = { - docs: { - "About": [ - "introduction", - "terminology", - "history", - ], - "Wallets": [ - "wallet-guide", - "wallet-guide/apps", - { - type: "category", - label: "Web Wallets", - items: [ - "wallet-guide/web-wallets", - "wallet-guide/solflare", - ], - }, - { - type: "category", - label: "Hardware Wallets", - items: [ - "wallet-guide/ledger-live", - ], - }, - { - type: "category", - label: "Command-line Wallets", - items: [ - "wallet-guide/cli", - "wallet-guide/paper-wallet", - { - type: "category", - label: "Hardware Wallets", - items: [ - "wallet-guide/hardware-wallets", - "wallet-guide/hardware-wallets/ledger", - ], - }, - "wallet-guide/file-system-wallet", - ], - }, - "wallet-guide/support", - ], - "Staking": [ - "staking", - "staking/stake-accounts", - "staking/stake-programming", - ], - "Command Line": [ - "cli", - "cli/install-solana-cli-tools", - "cli/conventions", - "cli/choose-a-cluster", - "cli/transfer-tokens", - "cli/delegate-stake", - "cli/manage-stake-accounts", - "offline-signing", - "offline-signing/durable-nonce", - "cli/usage", - ], - "Developing": [ - { - type: "category", - label: "Programming Model", - items: [ - "developing/programming-model/overview", - "developing/programming-model/transactions", - "developing/programming-model/accounts", - "developing/programming-model/runtime", - "developing/programming-model/calling-between-programs", - ], - }, - { - type: "category", - label: "Clients", - items: [ - "developing/clients/jsonrpc-api", - "developing/clients/javascript-api", - ], - }, - { - type: "category", - label: "Builtins", - items: [ - "developing/builtins/programs", - "developing/builtins/sysvars", - ], - }, - { - type: "category", - label: "Deployed Programs", - items: [ - "developing/deployed-programs/overview", - "developing/deployed-programs/developing-rust", - "developing/deployed-programs/developing-c", - "developing/deployed-programs/deploying", - "developing/deployed-programs/debugging", - "developing/deployed-programs/examples", - "developing/deployed-programs/faq", - ], - }, - "developing/backwards-compatibility", - ], - "Integrating": ["integrations/exchange"], - "Validating": [ - "running-validator", - "running-validator/validator-reqs", - "running-validator/validator-start", - "running-validator/vote-accounts", - "running-validator/validator-stake", - "running-validator/validator-monitor", - "running-validator/validator-info", - { - type: "category", - label: "Incenvitized Testnet", - items: [ - "tour-de-sol", - { - type: "category", - label: "Registration", - items: [ - "tour-de-sol/registration/how-to-register", - "tour-de-sol/registration/terms-of-participation", - "tour-de-sol/registration/rewards", - "tour-de-sol/registration/confidentiality", - "tour-de-sol/registration/validator-registration-and-rewards-faq", - ], - }, - { - type: "category", - label: "Participation", - items: [ - "tour-de-sol/participation/validator-technical-requirements", - "tour-de-sol/participation/validator-public-key-registration", - "tour-de-sol/participation/steps-to-create-a-validator", - ], - }, - "tour-de-sol/useful-links", - "tour-de-sol/submitting-bugs", - ], - }, - "running-validator/validator-troubleshoot", - ], - "Clusters": [ - "clusters", - "cluster/rpc-endpoints", - "cluster/bench-tps", - "cluster/performance-metrics" - ], - "Architecture": [ - { - type: "category", - label: "Cluster", - items: [ - "cluster/overview", - "cluster/synchronization", - "cluster/leader-rotation", - "cluster/fork-generation", - "cluster/managing-forks", - "cluster/turbine-block-propagation", - "cluster/vote-signing", - "cluster/stake-delegation-and-rewards", - ], - }, - { - type: "category", - label: "Validator", - items: [ - "validator/anatomy", - "validator/tpu", - "validator/tvu", - "validator/blockstore", - "validator/gossip", - "validator/runtime", - ], - }, - ], - "Design Proposals": [ - { - type: "category", - label: "Implemented", - items: [ - "implemented-proposals/implemented-proposals", - { - type: "category", - label: "Economic Design", - items: [ - "implemented-proposals/ed_overview/ed_overview", - { + docs: { + "About": [ + "introduction", + "terminology", + "history", + ], + "Wallets": [ + "wallet-guide", + "wallet-guide/apps", + { + type: "category", + label: "Web Wallets", + items: [ + "wallet-guide/web-wallets", + "wallet-guide/solflare", + ], + }, + { + type: "category", + label: "Hardware Wallets", + items: [ + "wallet-guide/ledger-live", + ], + }, + { + type: "category", + label: "Command-line Wallets", + items: [ + "wallet-guide/cli", + "wallet-guide/paper-wallet", + { + type: "category", + label: "Hardware Wallets", + items: [ + "wallet-guide/hardware-wallets", + "wallet-guide/hardware-wallets/ledger", + ], + }, + "wallet-guide/file-system-wallet", + ], + }, + "wallet-guide/support", + ], + "Staking": [ + "staking", + "staking/stake-accounts", + ], + "Command Line": [ + "cli", + "cli/install-solana-cli-tools", + "cli/conventions", + "cli/choose-a-cluster", + "cli/transfer-tokens", + "cli/delegate-stake", + "cli/manage-stake-accounts", + "offline-signing", + "offline-signing/durable-nonce", + "cli/usage", + ], + "Developing": [ + { + type: "category", + label: "Programming Model", + items: [ + "developing/programming-model/overview", + "developing/programming-model/transactions", + "developing/programming-model/accounts", + "developing/programming-model/runtime", + "developing/programming-model/calling-between-programs", + ], + }, + { + type: "category", + label: "Clients", + items: [ + "developing/clients/jsonrpc-api", + "developing/clients/javascript-api", + ], + }, + { + type: "category", + label: "Builtins", + items: [ + "developing/builtins/programs", + "developing/builtins/sysvars", + ], + }, + { + type: "category", + label: "Deployed Programs", + items: [ + "developing/deployed-programs/overview", + "developing/deployed-programs/developing-rust", + "developing/deployed-programs/developing-c", + "developing/deployed-programs/deploying", + "developing/deployed-programs/debugging", + "developing/deployed-programs/examples", + "developing/deployed-programs/faq", + ], + }, + "developing/backwards-compatibility", + ], + "Integrating": ["integrations/exchange"], + "Validating": [ + "running-validator", + "running-validator/validator-reqs", + "running-validator/validator-start", + "running-validator/vote-accounts", + "running-validator/validator-stake", + "running-validator/validator-monitor", + "running-validator/validator-info", + { + type: "category", + label: "Incenvitized Testnet", + items: [ + "tour-de-sol", + { + type: "category", + label: "Registration", + items: [ + "tour-de-sol/registration/how-to-register", + "tour-de-sol/registration/terms-of-participation", + "tour-de-sol/registration/rewards", + "tour-de-sol/registration/confidentiality", + "tour-de-sol/registration/validator-registration-and-rewards-faq", + ], + }, + { + type: "category", + label: "Participation", + items: [ + "tour-de-sol/participation/validator-technical-requirements", + "tour-de-sol/participation/validator-public-key-registration", + "tour-de-sol/participation/steps-to-create-a-validator", + ], + }, + "tour-de-sol/useful-links", + "tour-de-sol/submitting-bugs", + ], + }, + "running-validator/validator-troubleshoot", + ], + "Clusters": [ + "clusters", + "cluster/rpc-endpoints", + "cluster/bench-tps", + "cluster/performance-metrics" + ], + "Architecture": [ + { + type: "category", + label: "Cluster", + items: [ + "cluster/overview", + "cluster/synchronization", + "cluster/leader-rotation", + "cluster/fork-generation", + "cluster/managing-forks", + "cluster/turbine-block-propagation", + "cluster/vote-signing", + "cluster/stake-delegation-and-rewards", + ], + }, + { + type: "category", + label: "Validator", + items: [ + "validator/anatomy", + "validator/tpu", + "validator/tvu", + "validator/blockstore", + "validator/gossip", + "validator/runtime", + ], + }, + ], + "Economics": [ + "economics_overview", + { type: "category", - label: "Validation Client Economics", + label: "Inflation Design", items: [ - "implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_overview", - "implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_protocol_based_rewards", - "implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_state_validation_transaction_fees", - "implemented-proposals/ed_overview/ed_validation_client_economics/ed_vce_validation_stake_delegation", + "inflation/terminology", + "inflation/inflation_schedule", + "inflation/adjusted_staking_yield", ], - }, - "implemented-proposals/ed_overview/ed_storage_rent_economics", - "implemented-proposals/ed_overview/ed_economic_sustainability", - "implemented-proposals/ed_overview/ed_mvp", - "implemented-proposals/ed_overview/ed_references", - ], - }, - "implemented-proposals/abi-management", - "implemented-proposals/bank-timestamp-correction", - "implemented-proposals/commitment", - "implemented-proposals/durable-tx-nonces", - "implemented-proposals/installer", - "implemented-proposals/instruction_introspection", - "implemented-proposals/leader-leader-transition", - "implemented-proposals/leader-validator-transition", - "implemented-proposals/persistent-account-storage", - "implemented-proposals/readonly-accounts", - "implemented-proposals/reliable-vote-transmission", - "implemented-proposals/rent", - "implemented-proposals/repair-service", - "implemented-proposals/rpc-transaction-history", - "implemented-proposals/snapshot-verification", - "implemented-proposals/staking-rewards", - "implemented-proposals/testing-programs", - "implemented-proposals/tower-bft", - "implemented-proposals/transaction-fees", - "implemented-proposals/validator-timestamp-oracle", - ], - }, - { - type: "category", - label: "Accepted", - items: [ - "proposals/accepted-design-proposals", - "proposals/ledger-replication-to-implement", - "proposals/optimistic-confirmation-and-slashing", - "proposals/vote-signing-to-implement", - "proposals/cluster-test-framework", - "proposals/validator-proposal", - "proposals/simple-payment-and-state-verification", - "proposals/interchain-transaction-verification", - "proposals/snapshot-verification", - "proposals/bankless-leader", - "proposals/slashing", - "proposals/tick-verification", - "proposals/block-confirmation", - "proposals/rust-clients", - "proposals/optimistic_confirmation", - "proposals/embedding-move", - "proposals/rip-curl", - ] - }, - ], - }, + }, + "transaction_fees", + "storage_rent_economics" + ], + "Design Proposals": [ + { + type: "category", + label: "Implemented", + items: [ + "implemented-proposals/implemented-proposals", + "implemented-proposals/abi-management", + "implemented-proposals/bank-timestamp-correction", + "implemented-proposals/commitment", + "implemented-proposals/durable-tx-nonces", + "implemented-proposals/installer", + "implemented-proposals/instruction_introspection", + "implemented-proposals/leader-leader-transition", + "implemented-proposals/leader-validator-transition", + "implemented-proposals/persistent-account-storage", + "implemented-proposals/readonly-accounts", + "implemented-proposals/reliable-vote-transmission", + "implemented-proposals/rent", + "implemented-proposals/repair-service", + "implemented-proposals/rpc-transaction-history", + "implemented-proposals/snapshot-verification", + "implemented-proposals/staking-rewards", + "implemented-proposals/testing-programs", + "implemented-proposals/tower-bft", + "implemented-proposals/transaction-fees", + "implemented-proposals/validator-timestamp-oracle", + ], + }, + { + type: "category", + label: "Accepted", + items: [ + "proposals/accepted-design-proposals", + "proposals/ledger-replication-to-implement", + "proposals/optimistic-confirmation-and-slashing", + "proposals/vote-signing-to-implement", + "proposals/cluster-test-framework", + "proposals/validator-proposal", + "proposals/simple-payment-and-state-verification", + "proposals/interchain-transaction-verification", + "proposals/snapshot-verification", + "proposals/bankless-leader", + "proposals/slashing", + "proposals/tick-verification", + "proposals/block-confirmation", + "proposals/rust-clients", + "proposals/optimistic_confirmation", + "proposals/embedding-move", + "proposals/rip-curl", + ] + }, + ], + }, }; diff --git a/docs/src/economics_overview.md b/docs/src/economics_overview.md new file mode 100644 index 000000000..6d140e070 --- /dev/null +++ b/docs/src/economics_overview.md @@ -0,0 +1,20 @@ +--- +title: Solana Economics Overview +--- + +**Subject to change.** + +Solana’s crypto-economic system is designed to promote a healthy, long term self-sustaining economy with participant incentives aligned to the security and decentralization of the network. The main participants in this economy are validation-clients. Their contributions to the network, state validation, and their requisite incentive mechanisms are discussed below. + +The main channels of participant remittances are referred to as +protocol-based rewards and transaction fees. Protocol-based rewards +are generated from inflationary issuances from a protocol-defined inflation schedule. These rewards will constitute the total protocol-based reward delivered to validation clients, the remaining sourced from transaction fees. In the early days of the network, it is likely that protocol-based rewards, deployed based on predefined issuance schedule, will drive the majority of participant incentives to participate in the network. + +These protocol-based rewards are calculated per epoch and distributed across the active +delegated stake and validator set (per validator commission). As discussed further below, the per annum inflation rate is based on a pre-determined disinflationary schedule. This provides the network with supply predictability which supports long term economic stability and security. + +Transaction fees are participant-to-participant transfers, attached to network interactions as a motivation and compensation for the inclusion and execution of a proposed transaction. A mechanism for long-term economic stability and forking protection through partial burning of each transaction fee is also discussed below. + +First an overview of the inflation design is presented. This section starts with defining and clarifying [Terminology](inflation/terminology.md) commonly used subsequently in the discussion of inflation and the related components. Following that, we outline Solana's proposed [Inflation Schedule](inflation/inflation_schedule.md), i.e. the specific parameters that uniquely parameterize the protocol-driven inflationary issuance over time. Next is a brief section on [Adjusted Staking Yield](inflation/adjusted_staking_yield.md), and how token dilution might influence staking behavior. + +A overview of [Transaction Fees](transaction_fees.md) on Solana is followed by a discussion of [Storage Rent Economics](storage_rent_economics.md) in which we describe an implementation of storage rent to account for the externality costs of maintaining the active state of the ledger. diff --git a/docs/src/inflation/adjusted_staking_yield.md b/docs/src/inflation/adjusted_staking_yield.md new file mode 100644 index 000000000..12aeeef84 --- /dev/null +++ b/docs/src/inflation/adjusted_staking_yield.md @@ -0,0 +1,124 @@ +--- +title: Adjusted Staking Yield +--- + + +### Token Dilution + +Similarly we can look at the expected *Staked Dilution* (i.e. *Adjusted Staking Yield*) and *Un-staked Dilution* as previously defined. Again, *dilution* in this context is defined as the change in fractional representation (i.e. ownership) of a set of tokens within a larger set. In this sense, dilution can be a positive value: an increase in fractional ownership (staked dilution / *Adjusted Staking Yield*), or a negative value: a decrease in fractional ownership (un-staked dilution). + +We are interested in the relative change in ownership of staked vs un-staked tokens as the overall token pool increases with inflation issuance. As discussed, this issuance is distributed only to staked token holders, increasing the staked token fractional representation of the *Total Current Supply*. + +Continuing with the same *Inflation Schedule* parameters as above, we see the fraction of staked supply grow as shown below. + +![](/img/p_ex_staked_supply_w_range_initial_stake.png) + +Due to this relative change in representation, the proportion of stake of any token holder will also change as a function of the *Inflation Schedule* and the proportion of all tokens that are staked. + +Of initial interest, however, is the *dilution of **un-staked** tokens*, or $D_{us}$. In the case of un-staked tokens, token dilution is only a function of the *Inflation Schedule* because the amount of un-staked tokens doesn't change over time. + +This can be seen by explicitly calculating un-staked dilution as $D_{us}$. The un-staked proportion of the token pool at time $t$ is $P_{us}(t_{N})$ and $I_{t}$ is the incremental inflation rate applied between any two consecutive time points. $SOL_{us}(t)$ and $SOL_{total}(t)$ is the amount of un-staked and total SOL on the network, respectively, at time $t$. Therefore $P_{us}(t) = SOL_{us}(t)/SOL_{total}(t)$. + +$$ +\begin{aligned} + D_{us} &= \left( \frac{P_{us}(t_{1}) - P_{us}(t_{0})}{P_{us}(t_{0})} \right)\\ + &= \left( \frac{ \left( \frac{SOL_{us}(t_{2})}{SOL_{total}(t_{2})} \right) - \left( \frac{SOL_{us}(t_{1})}{SOL_{total}(t_{1})} \right)}{ \left( \frac{SOL_{us}(t_{1})}{SOL_{total}(t_{1})} \right) } \right)\\ + +\end{aligned} +$$ + +However, because inflation issuance only increases the total amount and the un-staked supply doesn't change: + +$$ +\begin{aligned} + SOL_{us}(t_2) &= SOL_{us}(t_1)\\ + SOL_{total}(t_2) &= SOL_{total}(t_1)\times (1 + I_{t_1})\\ +\end{aligned} + +$$ + +So $D_{us}$ becomes: + +$$ +\begin{aligned} + D_{us} &= \left( \frac{ \left( \frac{SOL_{us}(t_{1})}{SOL_{total}(t_{1})\times (1 + I_{1})} \right) - \left( \frac{SOL_{us}(t_{1})}{SOL_{total}(t_{1})} \right)}{ \left( \frac{SOL_{us}(t_{1})}{SOL_{total}(t_{1})} \right) } \right)\\ + D_{us} &= \frac{1}{(1 + I_{1})} - 1\\ +\end{aligned} +$$ + +Or generally, dilution for un-staked tokens over any time frame undergoing inflation $I$: + +$$ +D_{us} = -\frac{I}{I + 1} \\ +$$ + +So as guessed, this dilution is independent of the total proportion of staked tokens and only depends on inflation rate. This can be seen with our example *Inflation Schedule* here: + + +![p_ex_unstaked_dilution](/img/p_ex_unstaked_dilution.png) + + +### Estimated Adjusted Staked Yield + +We can do a similar calculation to determine the *dilution* of staked token holders, or as we've defined here as the ***Adjusted Staked Yield***, keeping in mind that dilution in this context is an *increase* in proportional ownership over time. We'll use the terminology *Adjusted Staked Yield* to avoid confusion going forward. + +To see the functional form, we calculate, $Y_{adj}$, or the *Adjusted Staked Yield* (to be compared to *D_{us}* the dilution of un-staked tokens above), where $P_{s}(t)$ is the staked proportion of token pool at time $t$ and $I_{t}$ is the incremental inflation rate applied between any two consecutive time points. The definition of $Y_{adj}$ is therefore: + +$$ + Y_{adj} = \frac{P_s(t_2) - P_s(t_1)}{P_s(t_1)}\\ +$$ + +As seen in the plot above, the proportion of staked tokens increases with inflation issuance. Letting $SOL_s(t)$ and $SOL_{\text{total}}(t)$ represent the amount of staked and total SOL at time $t$ respectively: + +$$ + P_s(t_2) = \frac{SOL_s(t_1) + SOL_{\text{total}}(t_1)\times I(t_1)}{SOL_{\text{total}}(t_1)\times (1 + I(t_1))}\\ +$$ + +Where $SOL_{\text{total}}(t_1)\times I(t_1)$ is the additional inflation issuance added to the staked token pool. Now we can write $Y_{adj}$ in common terms $t_1 = t$: + +$$ +\begin{aligned} +Y_{adj} &= \frac{\frac{SOL_s(t) + SOL_{\text{total}}(t)\times I(t)}{SOL_{\text{total}}(t)\times (1 + I(t))} - \frac{SOL_s(t)}{SOL_{\text{total}}(t)} }{ \frac{SOL_s(t)}{SOL_{\text{total}}(t)} } \\ + &= \frac{ SOL_{\text{total}}(t)\times (SOL_s(t) + SOL_{\text{total}}(t)\times I(t)) }{ SOL_s(t)\times SOL_{\text{total}}\times (1 + I(t)) } -1 \\ +\end{aligned} +$$ + +which simplifies to: + +$$ +Y_{adj} = \frac{ 1 + I(t)/P_s(t) }{ 1 + I(t) } - 1\\ +$$ + +So we see that the *Adjusted Staked Yield* a function of the inflation rate and the percent of staked tokens on the network. We can see this plotted for various staking fractions here: + + +![p_ex_adjusted_staked_yields](/img/p_ex_adjusted_staked_yields.png) + + +It is also clear that in all cases, dilution of un-staked tokens $>$ adjusted staked yield (i.e. dilution of staked tokens). Explicitly we can look at the *relative dilution of un-staked tokens to staked tokens:* $D_{us}/Y_{adj}$. Here the relationship to inflation drops out and the relative dilution, i.e. the impact of staking tokens vs not staking tokens, is purely a function of the % of the total token supply staked. From above + +$$ +\begin{aligned} +Y_{adj} &= \frac{ 1 + I/P_s }{ 1 + I } - 1,~\text{and}\\ +D_{us} &= -\frac{I}{I + 1},~\text{so} \\ +\frac{D_{us}}{Y_{adj}} &= \frac{ \frac{I}{I + 1} }{ \frac{ 1 + I/P_s }{ 1 + I } - 1 } \\ +\end{aligned} +$$ + +which simplifies as, + +$$ + \begin{aligned} + \frac{D_{us}}{Y_{adj}} &= \frac{ I }{ 1 + \frac{I}{P_s} - (1 + I)}\\ + &= \frac{ I }{ \frac{I}{P_s} - I}\\ + \frac{D_{us}}{Y_{adj}}&= \frac{ P_s }{ 1 - P_s}\\ + \end{aligned} +$$ + +Where we can see a primary dependence of the relative dilution of un-staked tokens to staked tokens is on the function of the proportion of total tokens staked. As shown above, the proportion of total tokens staked changes over time (i.e. $P_s = P_s(t)$ due to the re-staking of inflation issuance thus we see relative dilution grow over time as: + +![p_ex_relative_dilution](/img/p_ex_relative_dilution.png) + +As might be intuitive, as the total fraction of staked tokens increases the relative dilution of un-staked tokens grows dramatically. E.g. with $80\%$ of the network tokens staked, an un-staked token holder will experience ~$400\%$ more dilution than a staked holder. + +Again, this represents the change in fractional change in ownership of staked tokens and illustrates the built-in incentive for token holder to stake their tokens to earn *Staked Yield* and avoid *Un-staked Dilution*. diff --git a/docs/src/inflation/inflation_schedule.md b/docs/src/inflation/inflation_schedule.md new file mode 100644 index 000000000..ddfa22c2c --- /dev/null +++ b/docs/src/inflation/inflation_schedule.md @@ -0,0 +1,40 @@ +--- +title: Solana's Proposed Inflation Schedule +--- + +As mentioned above, the network's *Inflation Schedule* is uniquely described by three parameters: *Initial Inflation Rate*, *Dis-inflation Rate* and *Long-term Inflation Rate*. When considering these numbers, there are many factors to take into account: + +- A large portion of the SOL issued via inflation will be distributed to stake-holders in proportion to the SOL they have staked. We want to ensure that the *Inflation Schedule* design results in reasonable *Staking Yields* for token holders who delegate SOL and for validation service providers (via commissions taken from *Staking Yields*). +- The primary driver of *Staked Yield* is the amount of SOL staked divided by the total amount of SOL (% of total SOL staked). Therefore the distribution and delegation of tokens across validators are important factors to understand when determining initial inflation parameters. +- [Yield throttling](https://forums.solana.com/t/validator-yield-throttling-proposal-discussion/855/5) is a mechanism currently under consideration that would impact *staking-yields*. **This is not taken into consideration in the discussion here or the modeling below.** +- Overall token issuance - i.e. what do we expect the Current Total Supply to be in 10 years, or 20 years? +- Long-term, steady-state inflation is an important consideration not only for sustainable support for the validator ecosystem and the Solana Foundation grant programs, but also should be tuned in consideration with expected token losses and burning over time. +- The rate at which we expect network usage to grow, as a consideration to the dis-inflationary rate. Over time, we plan for inflation to drop and expect that usage will grow. + +Based on these considerations and the community discussions following the initial [design](https://forums.solana.com/t/solana-inflation-design-overview/920), the Solana Foundation proposes the following Inflation Schedule parameters: + +> Initial Inflation Rate: $8\%$ +> Dis-inflation Rate: $-15\%$ +> Long-term Inflation Rate: $1.5\%$ + +These parameters define the proposed *Inflation Schedule*. Below we show implications of these parameters. These plots only show the impact of inflation issuances given the Inflation Schedule as parameterized above. They *do not account* for other factors that may impact the Total Supply such as fee/rent burning, slashing or other unforeseen future token destruction events. Therefore, what is presented here is an **upper limit** on the amount of SOL issued via inflation. + +![](/img/p_inflation_schedule.png) + +In the above graph we see the annual inflation rate [$\%$] over time, given the inflation parameters proposed above. + +![](/img/p_total_supply.png) + +Similarly, here we see the *Total Current Supply* of SOL [MM] over time, assuming an initial *Total Current Supply* of `488,587,349 SOL` (i.e. for this example, taking the *Total Current Supply* as of `2020-01-25` and simulating inflation starting from that day). + +The expected Staking Yield and Adjusted Staking Yield metrics are then primarily a function of the % of total SOL staked on the network. Therefore we can we can estimate the *Staking Yield*, if we introduce an additional parameter *% of Staked SOL*: + +$$ +\%~\text{SOL Staked} = \frac{\text{Total SOL Staked}}{\text{Total Current Supply}} +$$ + +This parameter must be estimated because it is a dynamic property of the token holders and staking incentives. The values of *% of Staked SOL* presented here range from $60\% - 90\%$, which we feel covers the likely range we expect to observe, based on feedback from the investor and validator communities as well as what is observed on comparable Proof-of-Stake protocols. + +![](/img/p_ex_staked_yields.png) + +Again, the above shows an example *Staked Yield* that a staker might expect over time on the Solana network with the *Inflation Schedule* as specified. This is an idealized *Staked Yield* as it neglects validator uptime impact on rewards, validator commissions, potential yield throttling and potential slashing incidents. It additionally ignores that *% of Staked SOL* is dynamic by design - the economic incentives set up by this *Inflation Schedule* are more clearly seen when *Token Dilution* is taken into account (see the **Adjusted Staking Yield** section below). diff --git a/docs/src/inflation/terminology.md b/docs/src/inflation/terminology.md new file mode 100644 index 000000000..bc8dd554e --- /dev/null +++ b/docs/src/inflation/terminology.md @@ -0,0 +1,54 @@ +--- +title: Terminology +--- + + +Many terms are thrown around when discussing inflation and the related components (e.g. rewards/yield/interest), we try to define and clarify some commonly used concept here: + +### Total Current Supply [SOL] +The total amount of tokens (locked or unlocked) that have been generated (via genesis block or protocol inflation) minus any tokens that have been burnt (via transaction fees or other mechanism) or slashed. At network launch, 500,000,000 SOL were instantiated in the genesis block. Since then the Total Current Supply has been reduced by the burning of transaction fees and a planned token reduction event. Solana’s *Total Current Supply* can be found at https://explorer.solana.com/supply + + +### Inflation Rate [%] +The Solana protocol will automatically create new tokens on a predetermined inflation schedule (discussed below). The *Inflation Rate [%]* is the annualized growth rate of the *Total Current Supply* at any point in time. + + +### Inflation Schedule +A deterministic description of token issuance over time. The Solana Foundation is proposing a dis-inflationary *Inflation Schedule*. I.e. Inflation starts at its highest value, the rate reduces over time until stabilizing at a predetermined long-term inflation rate (see discussion below). This schedule is completely and uniquely parameterized by three numbers: + +- **Initial Inflation Rate [%]**: The starting *Inflation Rate* for when inflation is first enabled. Token issuance rate can only decrease from this point. +- **Dis-inflation Rate [%]**: The rate at which the *Inflation Rate* is reduced. +- **Long-term Inflation Rate [%]**: The stable, long-term *Inflation Rate* to be expected. + + +### Effective Inflation Rate [%] + +The inflation rate actually observed on the Solana network after accounting for other factors that might decrease the *Total Current Supply*. Note that it is not possible for tokens to be created outside of what is described by the *Inflation Schedule*. + +- While the *Inflation Schedule* determines how the protocol issues SOL, this neglects the concurrent elimination of tokens in the ecosystem due to various factors. The primary token burning mechanism is the burning of a portion of each transaction fee. While $100\%$ of each transaction fee is currently being destroyed, it is planned on reducing this burn rate to $50\%$ of each transaction fee, with the remaining fee to be retained by the validator that processes the transaction. +- Additional factors such as loss of private keys and slashing events should also be considered in a holistic analysis of the *Effective Inflation Rate*. For example, it’s estimated that $10-20\%$ of all BTC have been lost and are unrecoverable and that networks may experience similar yearly losses at the rate of $1-2\%$. + +### Staking Yield [%] +The rate of return (aka *interest*) earned on SOL staked on the network. It is often quoted as an annualized rate (e.g. "the network *staking yield* is currently $10\%$ per year"). +- *Staking yield* is of great interest to validators and token-holders holders who wish to delegate their tokens to avoid token dilution due to inflation (the extent of which is discussed below). +- $100\%$ of inflationary issuances are to be distributed to staked token-holders in proportion to the SOL they have staked with validators. + - There may be future consideration for an additional split of inflation issuance with the introduction of *Archivers* into the economy. *Archivers* are network participants who provide a decentralized storage service and should also be incentivized with token distribution from inflation issuances for this service. + - Similarly, early designs specified a fixed percentage of inflationary issuance to be delivered to the Foundation treasury for operational expenses and future grants. However, inflation will be launching without any portion allocated to the Foundation. +- *Staking yield* can be calculated from the *Inflation Schedule* along with the fraction of the *Total Current Supply* that is staked at any given time. Since inflation interest is split between staked-token holders, the Foundation pool and, potentially, *Archivers* - only the portion delivered to validators should be considered in the calculation of *Staking Yield*. Currently, the only split discussed is the $5\%$ to the Foundation, which is likely to be directly staked upon receipt, so not impacting the yield calculation. Below, this is specified by setting the 'Fraction to Validators' to $100\%$. The explicit relationship is given by: + +$$ +\begin{aligned} +\text{Staking Yield} &= \text{Inflation Rate}\times \text{Fraction to Validators}\times \left( \frac{1}{\%~\text{SOL Staked}} \right) \\ +\text{where:}\\ +\%~\text{SOL Staked} &= \frac{\text{Total SOL Staked}}{\text{Total Current Supply}} +\end{aligned} +$$ + + +### Token Dilution [%] + +Dilution is defined here as the change in proportional representation of a set of tokens within a larger set due to the introduction of new tokens. In practical terms, we discuss the dilution of staked or un-staked tokens due to the introduction and distribution of inflation issuance across the network. As will be shown below, while dilution impacts every token holder, the *relative* dilution between staked and un-staked tokens should be the primary concern to un-staked token holders. Staking tokens, which will receive their proportional distribution of inflation issuance, should assuage any dilution concerns for staked token holders. I.e. dilution from 'inflation' is offset by the distribution of new tokens to staked token holders, nullifying the 'dilutive' effects of the inflation for that group. + +### Adjusted Staking Yield [%] + +A complete appraisal of earning potential from staking tokens should take into account staked *Token Dilution* and its impact on the *Staking Yield*. For this, we define the *Adjusted Staking Yield* as the change in fractional token supply ownership of staked tokens due to the distribution of inflation issuance. I.e. the positive dilutive effects of inflation. diff --git a/docs/src/storage_rent_economics.md b/docs/src/storage_rent_economics.md new file mode 100644 index 000000000..986467da8 --- /dev/null +++ b/docs/src/storage_rent_economics.md @@ -0,0 +1,17 @@ +--- +title: Storage Rent Economics +--- + +Each transaction that is submitted to the Solana ledger imposes costs. Transaction fees paid by the submitter, and collected by a validator, in theory, account for the acute, transactional, costs of validating and adding that data to the ledger. Unaccounted in this process is the mid-term storage of active ledger state, necessarily maintained by the rotating validator set. This type of storage imposes costs not only to validators but also to the broader network as active state grows so does data transmission and validation overhead. To account for these costs, we describe here our preliminary design and implementation of storage rent. + +Storage rent can be paid via one of two methods: + +Method 1: Set it and forget it + +With this approach, accounts with two-years worth of rent deposits secured are exempt from network rent charges. By maintaining this minimum-balance, the broader network benefits from reduced liquidity and the account holder can trust that their `Account::data` will be retained for continual access/usage. + +Method 2: Pay per byte + +If an account has less than two-years worth of deposited rent the network charges rent on a per-epoch basis, in credit for the next epoch. This rent is deducted at a rate specified in genesis, in lamports per kilobyte-year. + +For information on the technical implementation details of this design, see the [Rent](implemented-proposals/rent.md) section. diff --git a/docs/src/transaction_fees.md b/docs/src/transaction_fees.md new file mode 100644 index 000000000..454dbffec --- /dev/null +++ b/docs/src/transaction_fees.md @@ -0,0 +1,21 @@ +--- +title: Transaction Fees +--- + +**Subject to change.** + +Each transaction sent through the network, to be processed by the current leader validation-client and confirmed as a global state transaction, contains a transaction fee. Transaction fees offer many benefits in the Solana economic design, for example they: + +- provide unit compensation to the validator network for the CPU/GPU resources necessary to process the state transaction, +- reduce network spam by introducing real cost to transactions, +- and provide potential long-term economic stability of the network through a protocol-captured minimum fee amount per transaction, as described below. + +Network consensus votes are sent as normal system transfers, which means that validators pay transaction fees to participate in consensus. + +Many current blockchain economies \(e.g. Bitcoin, Ethereum\), rely on protocol-based rewards to support the economy in the short term, with the assumption that the revenue generated through transaction fees will support the economy in the long term, when the protocol derived rewards expire. In an attempt to create a sustainable economy through protocol-based rewards and transaction fees, a fixed portion (initially 50%) of each transaction fee is destroyed, with the remaining fee going to the current leader processing the transaction. A scheduled global inflation rate provides a source for rewards distributed to validation-clients, through the process described above. + +Transaction fees are set by the network cluster based on recent historical throughput, see [Congestion Driven Fees](implemented-proposals/transaction-fees.md#congestion-driven-fees). This minimum portion of each transaction fee can be dynamically adjusted depending on historical *signatures-per-slot*. In this way, the protocol can use the minimum fee to target a desired hardware utilization. By monitoring a protocol specified *signatures-per-slot* with respect to a desired, target usage amount, the minimum fee can be raised/lowered which should, in turn, lower/raise the actual *signature-per-slot* per block until it reaches the target amount. This adjustment process can be thought of as similar to the difficulty adjustment algorithm in the Bitcoin protocol, however in this case it is adjusting the minimum transaction fee to guide the transaction processing hardware usage to a desired level. + +As mentioned, a fixed-proportion of each transaction fee is to be destroyed. The intent of this design is to retain leader incentive to include as many transactions as possible within the leader-slot time, while providing an inflation limiting mechanism that protects against "tax evasion" attacks \(i.e. side-channel fee payments\). + +Additionally, the burnt fees can be a consideration in fork selection. In the case of a PoH fork with a malicious, censoring leader, we would expect the total fees destroyed to be less than a comparable honest fork, due to the fees lost from censoring. If the censoring leader is to compensate for these lost protocol fees, they would have to replace the burnt fees on their fork themselves, thus potentially reducing the incentive to censor in the first place. diff --git a/docs/static/img/p_ex_adjusted_staked_yields.png b/docs/static/img/p_ex_adjusted_staked_yields.png new file mode 100644 index 0000000000000000000000000000000000000000..db68e4b0a926c5a9dfc2c08810fa68d0740b6aae GIT binary patch literal 565142 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 z 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%0A=wDI{^KZ)k3=j*9WB&Cl6QpO}Mr@`UW~2n3m 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ꊍW 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 z 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�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ΠFK@*=ZTau?3swRbuN~2frE{ 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 (XFmp^-0* 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̛F@;MDOH-wqg2Iz!?{(4$kEQo&3 z%V@w)an?Q!DJ^~YO&0amR5xR;j=v0ouz;hsJCa)TJWCws4Y@g>J{B9?KUW9MYE;8u z%Lh<)jRxEq-ltE4=I-IE?Qs`gIoc8B&PsZi{qk|rk<@u9=@{O{=rP$AyZ&z>H4QrIy4o=~SUD2j@@iNYaB=&iqkb*GwL}%rGL(%> zjUPdU3QpeT%@6qAodM|2(wL2E(hU<6>|9&W*X?h4i9!Bs8X(*!@5BVDbH2IpMDWKP zQo5o6=}|*CiU57OZduRuTH*fA2AFK9>%7dwh=&o%7!TuDNDE$?9G5?~`F3oV8QGFO zsc3gFK#PK4KURfk;~;g&rD?S9WeLAPGpHsa%ip+djBuUSBnn!Dpm#i1gd($=x?@-! z#@l-BH?K89^co1&PQs3FLlELHA1%ucC8Xt7g=&oQ4SJTp2k^F(h0RE5s;=v(ChDmx zu$sCAdUsoFQ>9>Iw~v0&MTf2Dx#Nh8vOm{ zmp&o7qQ@^Gy_Y~@5{tA>81(apC0JZjFssrr#H zl$wOw*Xs~>Y}CO7^+VV>5a%Ue}QOzjvQUn*w=U2bqx)Z5hb=SgGQk( z2*?`xH6gAP;Xpi9hb}-W;DGVXT~*io^o5F+KwOb%n=UpgD&Vo8j^@mE-t75T$H~|E zHGhz2(7X6%cLmGWkzAiCR%e3u((DcrvBB3~0>rZ^3O|D-S^!QVpdBeV*-^AK^9VZH z2;Ke8bmQ}=2{cAhk}`x&gpTTFY(t`0)vwwDh9q)8 z&mh*Q0ts@YEfU9P`&eO#)8I-yF_C=s-JZd+FNyhlLPDdqSzkqnP~KfLH#pyr;s|tv z=U3;q@s$qjAUdTqbjT<-4?hL)qWP>Uy;CQF@cLm+j4uq}pjwjQzocV`8j*0evNUn} zdhzrfTww9(+bDj%p%e2kE;YcVxSbAM4e}DGi6M1eGcr%0TzB3*f9wM5m7h=vfA=a* zdOtjbyO0NyUU>k|GXtBaa0EK=_K<7}JdU#L)Q{bUzJ4>b@Q*8|iL#Q+wmgN_sF*J5 zMte21ZjcVlBt#Hm4HPSH*WXvgqDd097E5snMs(RiFvN-Ko3gjc-wInSnL&%sCUO#5 z5M@5MlTkDd+De56aeH?~M*2x}^+StPTohx?hlsn}h;ts?VwmY-S<-Spuc;;BHkt%e z>xhH|*4g>7)fB-!FeydQ$V*8_Vm~428g%TdZRT=II*NUI@-J}yQh3GNmD#|G;}#(< z3iu3Z=+|r)j%Lud%2ITGhC-}%;3mk~Z|khsS-4PP-|v|oBHWh}>nBf0<%fW^48m1nkom4m#tj82{QVD zR#~B*=LS(b(f|4y_!SI&fyXPG3WaSP>Y}q{_txk$>z(0(zD`8DcR&;2?rRnrc+WXx z;5D*58gSH=p9@7L?Gk_LEmcn0{Y;S;b8S0!ySGbkgC>l~DLfG}z*f*0OmVz8SNa%% zN`s}v=c?C$c^c<`@M}mr;}b6>8|lf}MCJ3gIZ>XfXG}VC!{4~6OSg>gwRF^p$hHiL zT%9RQQ|A5Rd^V|6p2gHEs`X@f;76%Tf`czkJ?4;OnpDVRTzh0CbF5$Kjnro*$x!3A zbeT&G1AT4Y<))>YJq%ki;Mz4i&-}~g-z+0ZB)(s$@K)w= zyBDPPpi_e66|{#^cfg&xXd3V7VZkLY!s8da?0}%^sEfc|VMXoXX?z4sA9?MNoPth& zm=O#;5t=Y$H6{S7SvMYV6Vm(!3Xk?e<|B?`fAxzXBy!_o?0g%nymey}V%G7E8whbI z`s+kDuhk&k=H_Nd!tA@+Y9r5F{xapqDw8&DZl|u?znM3Cqmz8ry>Q_&^pMYdI0|zB z==imrf1O#cPe{YvytQ)*{u9-wNpYMebsxx~Ech$T_-JfJalrUSnYc;5>CN}yB>d@EOT$*qB#p8A%WB23I9+@%+MpLrHy;iW$ysTfnE9c1vGx8Oa&wC}# zCzq6>Hc!6ttZreZPcA3nSH9fjvv!0)qvKtZ{Vc6h5ud86YLHiAPyM~t#D&7djETV7 zhO-&hrASG$lqE7Tl%1V-J8dI0olB})OiL2vHU$d?xGr?Q7QC?in9-PTWpr$$a!sp6 zRir^m-&V>}EASRTrMpo*KWn!9HxCeP#mcpQ7sTRYDci&aScg87^E+dDszcv ziv_<4Rr)=upv0a3Nb0O-(kGe`gf1C*N50It`;CmW{+16Z-|s*y@m`|JEF>0P@~nI8 z8iftSYcoVy-NP_^IinSR`QSZ-08-k1eRd%GG+;<_?A}5Tvl&?T3)%Ppfp~CMFw<8a z01CpLG>02-euM!z)Hs~r54J}1KvXeK#M7g9El_6}vi>Wy`4IAy2AGWQ?%L4iZRsON z5@1xWHX8yWZUL=T+E}A!TdIb)u-Kawxid^Rj0XEtU%+P556>3v0{D|Lw{r$Ox~q^8 zMzG`Kn5d}cyHt8-5IK<#Ap#xwgh@byfs^JbYx$gIg&D#L2z@I180KP`a~37y^&zX5 z_)7bG>lVwhQ#`^HO4AE^=1PXgX8Up$3fjy*Jy9dikWZws=J|D9!Kl{oMf>_>Y~W(G z^@MwyD(R!AS6W|kM80XeM$t&_8TKa9BdWN~GyIEPTa!S$D(M}!CtvF?fCq>iMdP^D zyO;cR_Yyx)s@GFa2$w!cP3+TrQ?N+?cza9srHFI*>y7oO+}J}hFQaxRD$`<9lg1?9 zgjk*XJZk@ff=Te9DmTurwQ9U^n8KnCB(D&zF^kk*Qp+K-VDd)BIyukM5pW~oSCPWk z36{WnMA|2>N`YedeCz4J{E8HB=~|4h@s|04liY(iKf)>=fmvoc%;HFsl2Hu;VElIZ zIcJL%jM$bh zWbX>RxroLkEw#*rl*{U*-&&fKnaLvu63ALf4zuSA?{q~2wa9-Vhh9>sACP6w`!CT} z*#LLgky0Z4g6Zo3Ez%3d&uJ)E%g`RpS0yav7Pj@=ZEKdVAkFC%WrYM@IhZiiWzLb8 ziL+*bx^PR1n%a{xsBd(M1(zDka%O({$j}{_s4V?&ZNW_&L#X9lx7w&Z$F!)?;>)s~ z`gCbhosn-!JR`mwqYU2gj-GI%*Z)>h9#EF4VO)J~-N^RBTT``L2_c%3vk~;4Yqe#E zmuVSyA_SL5hP1g(jA?R>4eAz~em)!5gCqNLF!9B$+k7%2Sx-_I2DC;-OI}Q7nT`y0 zhOz&$9V&_r#P4kr2!JM*JrJjc`Fv)H0%-Xi0$Rc6_&8_3S)PABdAV=4)hN zj38!}vzux5k}BJE>Q{HF++a+XTD3Ta=(ViQi5JLm4a4#J5jvX@z#?OwUD~=}4U+mW;rccUwWpV#rlc@jT7E%333K8H{8rWnHM*Zk&E6N6vgPm^5Q=!*lO6&G846S|JrGgo#Oaz69#3DN6Wt z$9v?-B?;FKCzW@vr~L|PgxJ4M=HqL(finGzD4(`MSsKbo=Cq-jqS($HLj*Qa_2V z!96r}o>j*CDyXX2Gx@&EgUcC1f%Nr7q-O^-l@M2~yssG)Z!9gWhfBj@R3bQQy2axF zWpn@veLrIq8dF@3v%Q(sdXT{@<($P?1V~7yg+w@XOzU(TgEgmJ|)M@&3u%Fik;v(NVDj3#KeP=#%d5p5PGLr;)V=k0A!|MC#5KxxWHA znVDk7bdv4ODlf;)dc7MUNc~o%rtI{V>@4kaNz@4;1=-GTGOhXgZ11)`$;SvbCz5I< zb0wP?1nvYzwmJmnILB1nD-ADwpUAiq|9PTv0QR{JRm&Y)g%;P_Va9@1*|;HGYFM2- zYFLLef(#~>sDITxh9xmUDjj+w?C$c`wtWD`9A~Nt5$+=8!%j3O`}r_nABh`20tgb-sDjKf3u0&*^9` z3>Znv?f84%y!i-pw-VO7m)skBkRhx+gqI*xL5^Gx$rOSm2ag}?Yt;d#n{UO}Em?X+XRs5zTl!2%+kRPVpG z&GcqNw$E;LdkPHZvxXB3P4e!1g&sbmRn068|3YccWl#BkN>P5V*RPWo%I;jxJ4?}q zg`LM^65Z1}dFPfwpvY6Z*;2K)4t9?1oQGAY3$;xp?=}dQSWW3J2szTkC;s}3KH$AY zDQ)i6b-P##ZwZ;xLNYVd$F}M}D9smYF^2eEAQhAQg=|#!H0XLZU3a>dx4l?T%jtai>oJ#^jpY_0yH17Mi$)AvlRfDP!8t6%@_9dEzrqgNk_ zSXZ0KuI0L>XoU-C^>}GOriz$x6+>idg(HSZL}V*lODxgmpso=O<436xRcjm~8skGb++kVKeW!TxRKJ3}elzs{O`t*u=PlZX(XfPW zpF6GUsAl~-57twlB}v^GO@GfR#J97nNS?=?L0>kW-Y82nFuUQ4V{+`OCCk``T5TEG z3}kYao)w{WyaoB@j><$Nvl5IAII0Czv)MHD9u9;%uA%EZ zCuffGteF=M<8}9!vd{f$SJKpZm9=Y=l5j_33Dw&~JE*8}S|=)uY)&anQ>k3#tXYU5 ze@A7jkbYI?HU$ON!9FZjR{W}}hhYZstnb2yekVL_riw|#B0Aj+h9YD6TyUnD0W0r* z4HP*Y*M?Uk7p{)%U*2R0LbV|sOL8cu-NblXcWmy_h`hX8jNPTaN$CZP%Yp_ zt^yO|BLLD%bA(alMgGgHqzXN|R z9LP2#pwSeoVb*mGc*a;$*-1rD-Ezjzv%@jw(R~M5b8zEjeLlC!`n;jnU9C0w3&;KQ z>;puIMzBYSs11;;*!Bd{LPmt$loTAH=Y)tjRQt3*Y%>9HwNkkW_P(ZMAZ6FAEx6m& zAV4w5ePb^lK517||84S|Q{VIK=mV#0bmVS;NrG-me!Sc>lq3O(1<5iDK}uLV?k=d_ zBPNP&e{@OZgv&U_vWuWSFo*+CSA%;ITCeoz+M9AXst4&`nH}nB4FVpHdTAg14#L($ zVtQnv)9~3;5mEvR_~FArI0xp2J1%}8R9d<0SI5o035Fd*(fD(&dTT|VM!R(dEmEvO z9thb9YN#Mo_BGRf%<%u)J0I)pLZS&Kc5Tk$&l+3KM15 zA@Q@93?D~5=GSk{*J7NEL)t9{(5t~V)Ompo*j4R8DOdmRgCn_^@Qcw1XjkuK_QI|UWzVW8a&(h(4*J9{6 ze8vs=2CQV@NbG)rdh%_wE+~hNXFh@6tr~KsY%^=uR#sG0T%3KHyAO&&*Nq7oOEmaz zv>>x50O!lDF0H#Dd>}+|^b0InX?V%x_V-ofFEtU9ni{`Yr|!~H%7@A8MA0F_qjU(Y ze8;WQpM363X={RqVlz@WLh3_6nC5*dZ969C`S_Eqg13~p;4!H|<4zJJEeHG`vcGPxo9%|9zPD?T z;y!w(887zxVVyfq4;6~^5;r+n&6N7t`VGEixlXFRT=whiTpLF7OQ)yiOQj9+rAFM! zqe=}I7_E)fm+#M=qTV}tCeC(|UbEmcM_ec|NoQUynoiiZO}2GFjuQx1v;%b09Yv3E^Xft27NU@5G{G(Ak6>RKPQGmmjzr|!eAi@%no+r zfJaU-Ym52a*GS%)()i*sA5lo%msZx4T`FCN@E0^!XfNJG3&Ox1ku;Nr$rri1)*7## z(N0|`wi&QEoJ^X*3%vyfhbjKfM$}h*3lXrqu95?=;MY5mWb0Ki>)U^ZDkKCliZ*01 z9zDA31Q>c$;sH{uSs`tIcI#e?@7HAN_ckD=xLO0m%JdkbHx1{f3^N_ zWM2C2G~JR=Sbh}8YJRVjVnd$&MIQq@M&~2?pWfi#o9}@46#F<=-z8=B$4`jYU562k z8ibV&;1tCLX%HbUW<^i8x0##QRO+x(vL@X1LUFLLvqwYxN9``%6XCA0_`>tlF z?zSFlY?m@?A>bRf=UOfi5D_wF%SK#a?inV46jYBpHASt;0w1%_!(l!1f!A(L-(uu= zy4nYBD{)IbOc=p_K`LHo4NHnFiJu()^m=a37KB<;_R2w&b|@5?o8o>_Om!*NFpWZWjQFJYP058jI?jo|XEM-rGC7U9u05j&4%* zuAY6blGIS!+UA{OZ;Mvvra+;f^kBBD`=f$180QE07lGdQ4fTv(x^#c_4cLhR^skMD z7oo-23MIrmI!o^s(WBYha|2I3*k>$D5$KO_z42qI>{m9|#x}}|hC#LL4q!UgC0Mm) z7ij^eQ*?5xZQlBg;y-5)}GU^IV)IiY5BxxVeBNpx4Y}9={P~x>a@+L_izJq=&cdV)PT2NVbub}LUf}TEp z{qxZ&FZ?i`Xr))bh>oStw}~?hZGUX7JjHr=K6~usmb>`XJg>S}x%G$V+-`3fI>7ZW zZirzedGFRWxn(yptcesXW=wChj2u$hTMrMJ9y#)S3$K{G|mDM&b?A*x?PG>3fIDt>5y}8*xd0!*o3- zakHoX^p!2expC`<3i)0Gb7hOCyPr(Et2l0Yt$%!MzH(G|?_~F$!lU#7i2?%lGRzM5 z;gLh(!*gh>`?Ne$VJKZQm-oj0gu2OHd`F&33dY_ zP|MkjM+``jHUd-l^#{%2QKiM+sK$rjRjG?N33Jj3s{7K4t3R?EMmf>FW;gI%J8k{# zGI6dg?{QECz&loqSUZOrtIA&+l;KVBUbU2Am7IN&%v)RO{B`L)(c0?lLJdvNhP$=m z>T?F}`JBVQN^(SZ2sGZxN#8V)RG87*P)^@&by z>@b~mk`&&(vXaa!BV5*eD4ps@Ao%$cx*G>K@oGlPIwDkDN4=}(_Tv$1m-^i7x=gFtAKr!ktzNm5LG<605r5vIi> zJd8(mB)g6)#EwqUCkm++$vhT3wGR*VSC07o`ZAB;#!#0i=HV0ykY=pMT|-d*he0>z{8P>D)=Dd#O#8AM}nv9qtYCNsmYC zOZb>-^13}a$uA@uT|e#SSAa*1hr+?)c?jC$0;FVwho1a@sfhmsU9%d@vqU6XF(&E+ zAQBY`lWIv2He@<|S_*tFS&S(T9+w0d+P>joSAYvCV-TnyBfRa}s+%MtS zV+TxZ?r{LRAo7Tp;N)enzVZuB>rap9zwbfO5~J-#VA=Wx!dv3T5ZlWp3tyWoJJI>B zk?MmD4cR;7|`ifs&LeWUiX5^DVjJ40N;=bEP`xB z#)EVi7{h0_Ev4SMN82C=QJK9%Vr55f$Jr>TFppUv3y> zssjk4F%HZKkXAcF)D8AOw&USB$Pr`G^1Z!!eF6^R(}?;3FmF#=3Gn~40{(w2_)pD& zUdGiBzMA`ut2zR0BJSgz?PIEk&)^A86OVPP9R!X~!}8J{y~bH6WumC~>B6-vv0nx2 z|Gs`aN@)u(#e*(e&=EqNw0lrs*nlKhHnnRgf#XPn^73&h)|0bN z$ccjhU${(PAMGaj9s2AacSDo!mD6?3d{b}PqxL*ETg5OIb}j0Qyx{4)6dyF+pW$;8%#fB@XDHBAzm7xpBe*96o8OMfGQL0mEaw-f&4^Brvp&b zI@L~j;4uJlr3t4Y0Se^yqm>s#OwOUJL^|;5O=TNL^+bT;LZzT(VW^Z0yl@gEUqt2MH!&W2V z?!!80C`L|ZH7E0ul=^o{93bFcffYeX_Xq?NtVSx%&!<8ol^wC*Mq1A)-i`6`19Q=r zZcQ~Kl_s=TY?`N_xUq-kdn@n*NZ*|7d6O?h7srQh+(jMWGJO&y}CZFv_O$X3-#~3Ow`h+^r!g4BmR#Q_Gw(CL#gK$yAt9}xpMGJhckboX=u*<#cBEO5F zKiy$~QUl96Hl~j}lb8TwMXTx&wg*vUxu)Zk%sW(;mI->Kg!9X8(p_mQx^gaED#3Qw zg-*QvkvIKg9nvX=V#?r=ct9dm42+Plj3Rg!tsrovkR|8BX?&oB6RLDg(7Of*+lsf^ zmW(f80K&ik7H5m>{4JyhBMikQ>>fZO>M{765dJT>5TEBYSw5c)s@O|>DoT)MNs86S z#XflVqEeNe7+SpQ!T&t)i;WTt^IPBzBy1p?8>h=FaM1u9#|1%bl;%e z@w{Ufk(QsIpD)}Ub~1Z-?xJYswkL$GGFs-T1%>~LMa;JbYGEt`em(HEKJWkH%7eay zuOSI}i~m76PQ~Zm9W`ays;M?H13Zm~h%?o*t%;dIh^J|gdMPU^k_@^7deM8+`1SNjQe?D= z7>CcZ1i_@|+DpTuzu$mA7LE6nQwEyMxDWO9NJ$9s@wU{NE8-2*!cpc%g7|Ep`mdUGt;&isT)!Y zI0zvBI*dnx=qz$PZ>lK}4kbNxr5SWwj;#n=1^f@EwWtwgq3pMGA9NN&CiI1K@U`mW zW_@Umuw7N=X>^FKs6wfdJBa&yJ`ru$$SYIXmwaBIq2q^(?e}fJ?|-~AF=cM6*8<0s z{?O{?9WLk3IbxU`?3K zoQWYuL>PZB_ngAJ+of0cYU9y3SZ)?-Vk^_vpZS{Sf255K|9$>t#*A#fsmaN^%eCLW zwBg~A%wCM4*uwJ{a$Ut0I6?c{U%vk@NLUPRvlpRagFK`0a5x6M3?vm5pZh3(JUn_) z>FNm;IT&0V&c(&WVZmGHZex$Me=DBS@yPBUXWG6$nytd~I=u@mHhkaP(DpM~8gI0p zNsIN*3obJP=PrAYN4aP10eX!0*1CVmBmc)c7QIDL_;h<7-$$N8tPKx8ehFU4>Bl;(tINuQS9MLXD-Ude z36r7%)Y;!38eQDjaJD0J?@56Ag~34O zUJE!v>w-j!p~y2-e~J+_Wg;N6NuhKrJo~@wCL$F$)Z$?6GKtlbll9K}Fbkg1I?vgi zcUN0Sm&>Do&P@GCE+PKY559NE+uL1!+}S@rrHa#;V~EGLF(HEnWH14~-adXJNy*Ub}Kh?ADa^8@Y>|D)V6mbZ5-Op>SzMZ;}}NX;E;Cc&Fmv zMwdXz_?^InkP1G$3N1f)cbUsg@I>WQyyZuPk^cJiYnOY5|5Hvv#$d3?W>>H#J4~~p zF-cJ#r?sh_`mvlVoXk@^gp@0w1p`KVq6UhhoQi6Nj&E!+a4%6%?h85p+$?}2?|rL( z7%`~meg*Ov42ZwC#9d+i_N460B%g~n$3-_`R?0@D=aLLMc9rjQ?EU|T_bDgaz_Jkx z$2J>M{@G;X?V`^2)$vZECX#YqG39?wcQq(r+g4Ii>teIK$@x6->xc7yGAHJi@pc7U z6IaB`ss?826Kk#}(2XuOZXw$)0zXQ`aiP>^R0}8^r{D;W1T>f~$LrwXVH^m z1HB&kx>Z=>J~Wgt=N+wWFZIn>H!3>xryWo7M6?yt@BHJF3BQjof0w6pB;{UZqpba3 z$nc2qx7v%3L=6a<*5MtlYBxQPI#KG-6Jj3GUwt=qAqtB5xcYlI+RL9d;~R&52~7NN zd?#aX&_6@Q-uj0i@^>s)<1nCzN29Ztr}a_S6}^2rOxry3J;5$_209HKCdYU$ zAM^J3)1~Rsz|K>pwX^XLQS7f%k^v9P$EOXbY|s@Af|P6|!VjJf&Gf7$DY3&wJ|W&L zcPAEhk50IJsPLbDCt3-YkzMpFn3Oa_CxqOmtKQSI642t}Tk#XmuAZx91fITpvx+6` zly9KgKs00Y?_EZ-&wva(V)dRf77u5*56jorr;>WYp7e;-XZ>J7&)eUj$;Lv?BL>;18K*vwAw zpG$}!Ibx+reZ(OfZyj{EU{2ND^KJb0%Rg;$Q7l+{q>9tOFRT7~^CX#i4J`SD`1u^< zmP+Ax_>{q8e%K}wx7P$-mOPEd!(ZomFG^10u*QoacB4*6tkLD-(C@mpNVJa+1>5ncISX2FXOL#wEDwVo?^Wxw$FRDY;|g^}Cb({X22mQBf{NX{nN1xStumKuLsKPE)S=ws~+Kw#@2P$Qhn{ryYuJkc}L;( zT6*1l|Lm?k%y!b|TlxpQfyw@Ai~q>0A5`Igp89`1{}(K)@S3xjD@q562~d7Ga*8*l z1evgNFxDXdYQw@R%Z6S}6*rsN6p!e%eP#AgxZ0oA_yNo;lFWev?_p5=5p0PSnpQqO z{PWMl-+~_~)S%bn@O@@ho?hJwQno8#kBXo$VMwS6bhj~Q$UmVa(}ji2LpSY*y~5QL zeMOP8Xz>0oiIaa-LyQV&y@P%&ZZ!A*(oXvQx8SDzK3_mG6{W6xW(`fvE-lMvJ~7g$ zl*idEm{nh{tu?fI8KAS#{)c+-@R@_+{!q|CFHRK?v{j=8UrGM;jDNZAkr#5`OHGm4 zg9w*{J?kL{E9qQ0S-5@Vk!!|tA4yNsK}QxFreWtUv^$*sa_0V@Tkl<7Aj{5+4sOi) z`#Am04U6_bf#}x6^}Zq7P;BV^)%i%9L`qzI3u#UgN~^e-!4HT5;2$m`>I>$rgX8B& zPycIs;eiaKfC>0MY3V5jMPFmpR4GgE#AxW-UY+hK{ z!V@C){d1net>>MJjSKT+Rv4~7P-kwu@eX*>SfR}~|MZoSMG0gD~lwyuG_~Kp4sU)(K%9zqBk=ri_@%&qRLjT&hc8mh*Y^(^g)Dm{m=a>Gb~IQ z0ute!)t(3AGq-~N?R$8Mwqy1a>zhbIS63&+P)tR$OO+~$b~oO+pS=cU^>)&gB^wuZ zq;?K|d{$0ITzZ0quUPxAB8Rfgi9g2y46JNYX)Uk9c%x$cpR4O%tV6Rf1W#_MW)3h7 zsBa3<9|zcTZ&S7n{d7d+w-i=l&Her9Qp=pA=h!j=*FMUdF1}hrlHq9MvTMXhn2@f;Vm|#oW^26n-su$?s-1TG#7^0hCDMH z$SK>zO~~Hrvom)3C3EV>lcW=dU%XsdMD@qb0xOSO6e9^?AfdDBioF;4EB42}*NwI#(3tcnLcx78 z(}7YR>p@@Tqk3vxJe=COE|`8pHUejkDyu2_`VN^tI2Ky+FRK_G0`GJVxA`+Jx2gA+ zFZO5I*{vNE#5&)aKUn^jc*~YWrGD%Vje}y3N&Zz5=^#_~w&KwFHP^}$XRB~J41GOK zFS(nTOhxwP+*!Oh_weO8Q2L|Z>zMyfnk0IPYTS9Li=cV2G5JK62L7(QdcAPZn+iJ- zih;&U>77(G9bE(Wzm42c-Pk;^nQLX^9urKKSljPRdrCDvzxP`EaadC`!EMtgiN!1@++Vwi^Cwwu z>2TP+E6Tt4=u)imidjngX1!mMW>$TJD^d2-@gyU)fg&9d%nqLMjj^re{FyTyooqJ* zbf@-Qq)s`id~!D2@vw{AlQPdDzv*F$4HzJ~qS-~m#<@6!Ib&=M|nP8LBmL@^Vx=Fm!tuu zHx^#5ZZ)sisq_0K56Z$He^jA653%zpOrPkkOZPfi^<1DbmXomqGVh%vHzyE~Cz*fK>Q z9zo$q!W^6XrNUAC4k5mmE4G6Av_*;LOKUgR$Ez-qWhLO~Q{_v|=KG$w^i>Nh32%T& z!}m58p!%RebbFy}z!=(BDHx9&=lX||rUgKLi5hT_2%*QR@H1eQ zFbQHjO{z|xD(E<_dF!tEvR!#VL!n^`51;IG*NA6%z^Z`yEk2nMb@e-^)M}Y^Lcbm- zFH`TEOa5RlN0xSM?_%S?-8s^FBZhUtI?BcmcDg=1v!23Vt8TK-j@8eS<}r{T;ihkN zASZzaL`TMsDGNok`Y2bO$xf+?=O^yvwJ!k!Sh#KSTrfGNS#{=8yPu;fk;40C@#USQ zZ#LnxmE)GAcR0R%!|%`B+Z>;JR+j0xmn}tDccOzoKloI5mHCq6d)L&@{L|sS1(Hi~ zH~;bLeGBfDgv`N;H`Q8;hb?=H_R$km?Fo62fu?Zjc5dWrD&HdV38lFs^vDCbV7z&s z<+C;EcE_6`T5GOmA_FhFWk!*o`_Fc79ANl*t%9SGW=-Ve9bKBavdn^&bWFn?Pj~yv zSjrseXp`0S)xQv%so(BcxM70Wqf_+p9kC&hyBPl5v5rUCMdITjbP1uuASy&`Tyo)F zIO3&`?g0FsQ9wXI@NaDABlryno=~_+wE|forZ>npD}c%m?E5FQi&=g*Q;m~Br3MHuW+xL^rqa(%d#&v8(;34RL>W=XefWi)IQQW5Iv zJAHLzM=K!5mcTCIp5^J4=8(m;8#}Yyxlh1#q0vJj8TLj*WMogFe12TwgSzr31E(s0 zKB)&*mcG>w3vPH%Ok5u-HVNKA@Rfjh`HqvR9El}!AasYN;!S@y}9M00PAK{bu4yZ<5QX4 z$;+^PZ+!$ft28JFm6$24y{p=)qQ3O8fej1msm&;8AtL1bH^AEz6}gZ_+I2XZ*k)_v z@=i4aTwSj~eRY@G8bRJ}yy}8yv==(PcUrz@E_vWCph-UoTYvVIUU2Msa%k+(`$rFU z_wx5T;Zcr{WQ;ys^zGU>iL{K5ErY*u1ng=i>?r5Bh-agDFWjxbZXBkgh%m}g9aN7aHU_J0X41T_h8 z9tx&pu|}pQhP!ozk%0n&gDop=iiKR9)3fnsIh;pM`6nLx*RiHzEi{K_-8F*$DxHz+ zT29(vZMKgK48@R8_`wxL^RXw$8rE!E$3lxSZWE2E*|Fej}52AVLZ8vuN6K!|4H`v`;pwGon@AU4#UJ@|w z0f6Q`wvr#+l<%JuJ)v4k(qKNWp`=-udA+LUa_WfeYnjyQ7kzJ4DS9owCtq%L6rMrX z2sxkZD-8Z|o$r4nsXyRZ7CaUrw7>a^CdD&zSt@)^90_W*eu-r<1tQ>XVGN4Sk-*1o z102vKZ0cxu8#=&O&L~{C(H_qP-sRz-gyWx=lWzp5nUv&OY4&sH6oB|)u-%=l#=0%2 ze|wTbAXmfDjp+R6r*CZ#F;8_}3Omi5)4M>HBhch?oK>xaG4w%qU@8_7akFK8&XtDJV7yHo;f+W`N zJL-tas|lixV(JBKc4&~@q*I(eQ?sc?y>}0eX#%q z)BqGzXu#<`fDs1yPs_?)Gx10B-u_}t&1D>b#6Ypy?i*AbI%jSqI>vmxQy2Dt`{4$x zfM(E+&It3+eF)$r#G%L@xJWXFhK9|s{Ok1)bj}c{QAuo_Vpq-EEeBBFUB5$#?)LWf zh~&Q0#qOC~*|aZdP^uZ(uX;X-{UbY;&h?rsd7-6df$0-Xfh~tT4&|d;RTn-#i5En} ztUy<;ur%SSY*o-#*R#V(^3!(u@htxS1S=0xZc%luv~n+fWh zFV14z4B3D@JJj9lZIsSql%_+f6jtG;wrZs&!7jnUz8ePr+Nq@pgg|k{KKY{D{#rXg z!63M@MJZ=Z&6?(0&RN0f`4W&hZvlT_I)pRQW1wqB835H{2imT0hHq?a1f&_ ze7!#@hZQZF=@qSSD()l6%%%Y*4zFR7-t~Zit+L8Epsd#qKgV*4=}}Gs9?p7BF5BRk zDkb+y{`%wD_3O0%(s#h+J`e2NN)l=tgSeQaVEi=XR#P@lUzQfsl+073x* zqSSUDT020$$1j(IgChpGE3zQuAhG33Rr=-$4pU;f;d3}B1cI;akKqTrP1y}L0hbdU zWP<7Aq$Z|f*k#K?D4TpvI5x&SdHc4`#B3y!4LKPh7S48jp+PXq+q<8e$o}=F55i5i zk29cN`2v<^iIGI9p(&VnIX<5ot!03J$tAUI3UXv0fA;On2F& zv;vM?(E){_GGIIVWzvgh5SD02M3ADVFEAk`XIBG zBqu8?YpzI42qL@)Y>;~zyhK(jAb5y1l^6%$Mj0)wJ8E>ZMU<92jn|6+ z_mj_2QKP}w@yy3iK2eBX4I4IcCADF~|A3CV47>QKoc~XwBLHB5(zxN^t&89V_IxX1 zi1e(e3qUPjxHluxXzjeUHA;h@T>hX!bltYj{hpg?&*&b=&#!Fow( znpu$_hslrjN=6OVG#A#ttk8BXuX=voxwg*8eSIFZIl=2B5s{C07A7^%i3QkF&kYg4 zIwTT!0jU{HKb7Sx5G5shIsO(lBcC7!5IbBDwbLA!xSiDbt{H#y33Tr*vd4;AAWa>$5c88mJ zy~W6n%-`_w5r~sQeH_pYymaQ@(ljr?utB)hDG==3*Yg9~X5sZF{Gq4T+RY`1!cv-C z0x!M08Wmex1lYTnk5-jc=;UYTSeDheEMKpl(C*42}w`3 zzGXj^ezi4~V4F=ug35~@EVmuYevT9K3ItN2uJlGsLKPYAQXV|U>HBvwfSd~4oEStn zTXH;N8QE}tm_+iOzY(`U?1wZ`nIYpgVIfNITUax_E+6tc=IP%ZK=dVC==Kq-$9>v2 zLlM1jmrN7WcPx$dKAVNBRsBZ*p}im1RL_pLJ$(YN{16hk$xA=#j%4 zneTMbot!z15>vTBi##6<-L?8c+H42Jp%Rp%C3A3b_#g|xct%XiAAl0nDKro>SdlvE z-s>Un9Rg}NreC3$#aRm=JjTmrJfx`sc1eg0RY!`kiAl@D^G29$uYb;~iDX1Y?lfts zFvsBGS{QU`8D|s3XC2uhyA^NU(*%QqLol%2xu#KQc_mTg5%c-eug?5yu+hPeH}>k9 zTWbY{(o{6MA%8uYZ*cZO9oU-|XK2Y>w#E5L$pU6r4?$LMFwzo?deEJK41W_H zM;u$JvWO(FR!@Tan!k3Q@Pr_uO`=X| z4y~)w(VrCLy{|AT@)%@fe8$2BVksM!Affves};0YqC)0+SSN0`rFU`OFR?T!Pn z)nJb^SNqZ_4uf0liRq4(mT>5q9g2zjc^Ex=wc$%#;kYdmMKm@HnX@>}b`=@>6-?v3 zre+_X&EI9erqShx<(O^Q*#BT%!3vMW5O;sx`E$bepQOa>8s>wkf&|3V=AiHYF?QYY zSg-HDWMwNWE0L1NN+dHQAu0_|_Q+OdcJ@jtqEHbJBH4Q;J0W>&WsAt(d;G3X-_wcn zJDqd>IIowJ;`7{}`@Zh$dSCDB{idgHtpTsjLHl+ydK5Y(<1jb^OX)^}()edc%nU(q za_K7|b(E8FI}&^fg|brTP{-0W{^q1(ZQ&9_6xI%7t)o#b05?>8QrqVPCXm5U#*=4( z@_oi)rmYJwbNLNEP&9QMpnsd3CYvPr%%7aQwyusy^tK(Sm#_5RoeqWT@IG3*H6gT1 z?h(D=*&OM+R_s!D_sxUUOS6aGD|=8Gx?mMw0rm8GB=s}B_S4Yef0v-A&;Cxma>HXs zS8iF$>SC|c<%Cf^c&f6hTN{?C5=bt5GW$XDjj#f^8hg_D`AibhCUPD({3RpanYI1A zTIruidV|W$#Z=(`1cJt#%mRMTaDDjko?L*EpsLkBdravW3zE5jkVZWuEGUG02SN5# z^ge=L>u(~4^G*d7Ke2d&p>cnWQ^M3C;+DtZe z!4=+!&?P(thk>Z^0Kf*>$$TR9>W{8e`tL4;SYmLr6`Rpc)$5b^(EUo}GP#FWpX`Ij z#$;Qp^D54%Bris+Sv?r|?P~@q*AFr(AEKFnmj5AZTynO?ad)yz(I?LOA#5_FIzy20yqM{4+kk&Ct6H^bqN*}z7XRtkIyROrwkPt7O z1WcLrU+X0RkhC!6xP*vn>vI9qkhd_AGr0Jo6kjMKLGL|8h%O-l9Yg{dbnoTUwM*zb z)oes|UK0I;x4ZHho|7thS9*g4^iu@>1&>&IRUNxyLP8yGkABFBUli&&3Rm`#2(h)% zI2*(V4Xy*3wU@r~G4J4<8{2ia$g7a&#yWGQLd0IW(>&&{Za53DLl|g;cec?YleO!G z*KfFLc|U32dR~)wCN?ii!-VynTmU}ysfs2|5xz(`3)9oNt zjsVxngXcVg>G?|jdhqK4RpARyVm`^LMZT#V z2Io*7F##~9-Nh@zR^e7~5})5s{C+V<<5`C8c0dN^t_PY{Ac*<-pv^&=hxJch{#`iQ z`DYjfqE}p!DzwT*$Qkdj76@ zuCu)PCD4=C1hv}}#W!ogZ<8Cebt5Lgm?QU)m-(+64uq@L-mNPt&SM0XJYjMv@%U-8 z*2HI(-k(@HH19l80$EkC;-P(AAN39l)nciMPOjx4S z%RaK_rxw6Zyn*ye85uDTZ(1S;OuXA0N?kKmu9HC#zqgwbwy<7KCxo;rCy|iYUPw=h zRl}Q0_x%XAh^2Px4m^7q%A%j6TFl=_yM#?c%54^&<%7#7K~CA z^lhC#FB15jK$bm6H2wVw_>3N3uT(O-i?5z*1puDSL}rcOL{jMD!eSM)R%F)fj$BnK z15Kw4rdy-_0)B3fFJx)7jd`z0aRw)GAtJq@2#mZSc!TSr&SCJ1&Yy#t(!Xmm(2zE7 zX9D2~V$=YD53^GrDVK%WB=&>@F47fVrmUM;uU_5r&%a!ha~2a(P-H|wqckfxGV|+{ z{ry)!1RUd*G*Jsf&o#wt-|)PM~Qt{7G~=C)${`F*o6B_AY=;8ZQ=)P;k$) z&`|0k>xYVKU(O{DfhD%@M2yPnO;QT8{){y4s~&uxsRTxK(a zh^JNVUxfOhqnjEJT0x86VCDdNC_FUF3~D?qZh-m=0A zb)l*`$?KA;Ri=~qwJ?u5FYcBqU@R~ztLbHEAgbmHv+p0B_7LUG)|0fN+41jp*8xAj z0S(*4@I3=wc*GMClDRL=UA&lVL~>X{^U|3C+(Tf3dvyI+r~Jq%u&diPo|fp3Oq|~i zau1m-rn*w(;h~sLq)H~zn(WDcfRL8uHWUV}a;+?pZZ}kOOs-%h zpruA9VA)up!qS~>98_{<%s6#|`Ac0EPE0SK;n0U*se7%fRaI3OiI>k$>iel&QMsr(FqT@KDs*UQ>&w%lB_5c4>;zP>;mc3iSPT&NIj^Ce8 zbZ9AKfmO4_@%p~I&};~P`jqPK6(uo%)il!Ht(lEyf^v%!NEHp|c4$9=0?Lo654s&( zFial;iF-ZR^r$6;9;{@3insH3_S1sQlb^eYRqQLFRV!kOsm@Hc8Hz2_)MnZ*ry=OT z6j&^EN1Qoy2JY#%WW8Mt@Y?`Khl#UBkkk!(-OWA$I|bXe%+Sr$Id6*-}g_D^Km*$4}pRSk4D$V6^m<$wJSoVl^lZv}RxqQRPT` z8yWu7;QG%GP}W54zZKBN`o0ip}(=RmafQA+Rey zq-qFgNqwx9h+zpY-BZ8e)2F-&#ELdk6^O1=uIcr9ySH)Y9}#_7f>PF&RB~*& z3|lvk4B2DzJWrWf)v||w0QJGm9`!{)5@Xzt9Q^rtkWHY>3O;IqDp#=i-6@q8+&1#V&5gzQ;VoV{du0JXWOu&2Ba;6KQta`Zqvm+BX8;Dd;@!8m z(r9zXzPBf-D4u^vr{_zMeErSUcQ{v=wUT{Debd&k58PiXJ!eG(QcbEKVo$@|r!crV zrCgwgk%K# zKdJg$FWsEI()nZF&W!mPH?dN2kxo!KAfrE9sR$1g+T)9`ky6yMk6E?9Xg8bp%>}ce zQyh|`c|jF<#=C?-3W({7@1$m6^!)H#jZ~EnXNmHf7+#)#idpqH3Mm;h4ZDelH(BQu z<);9ZLWMs2zm@_0qr^`YJd{yWg(_8v+9gGZL=qyrp&(02R#b9sal9iOfT|mixtjUn z9)_L0KUET}A=we%CkhtZgRgc-FM2l9VkKc5I5JLs1tGUSrB6(Oi3WKxX45%By0>hX`e<( z4Tx^V3@DOneEat8g0!@>UPLCzua~?R7YFy@zEwOuDHMmJa!v)tU; z1SDkt!hIjs^=hFvQ?Ue`CG5e;5+5 zZ_(s02~(L9(>>90Tq(Zzg!A+Bh;432RFrn7(awvY{~0x3mg~(FeiRXN8doAU{-Z~- zxO*#2nP%>{3Rw1LR+2Crd!|>O04o**5hscG^yx}3YahJI*`~jBuh)jABK0++EBhq&4yhge zDI=vAeX`Ul=2}vNZX7@8Hb^AAlL=eMy?OV~?e1BJ(j7WM?!pjd$tLdiv&`yoj zXe#|&1DEcUsm&R#&LbD!9*_4QF_@>+*_h^Frzc?e_wt7DX`$qEU~hw17or;qSaaOR z%dBW}EZ79E0{seMXYsqNSk>0n-fxTH=lSz__TqBJmjNgWl0wY;Me^H{Z`6bCHwzex zla2)$7{N6+IFG0E<}UPOsf&11$vWX?!t@V(dMP@LWCNL~BW5#vId#!!X|S=&W;^7T z+3p10SBTo&Tjs6f8}p6Jjl~xeWp$C@-=8wR0G%wxO*p*{3p=|Cl7_U{h=+6xS+Xc1 zGi7BI34QV@S(`^8FN>bQ!sZY;BHuwRIK^bz8I9Sz1V6IyA@!(~#BkJr;79){& z0&S;zd!k6!yI(0BtjU5*h=!h!1d{RG^Q4qJg|!ovaNfUr>lNT-B#+Hc!4zR8KA~1m zL{V6xskjiR317TzMNI2I&(!Tk#koN0T=Ay#4tLAMJe$Fjo~uLWtwvPn7<-Ergxj2FI~P&{$eL! zO$)es*q{Fds>V>%-{Dg8T_YA?r`X-dgT6&GO+F)p+!ajd$1-nTPZ+Y#A! z9N@9WV? z)tj{?u_I~L80yg>akOrHHB?ISAW{3!-`=&`x<(ck*wAo0nMgaS>gl*>uttp2R=__0u{ z*S7oZTx(!6E6v zr|fOIN zGJfZ%+KFY)Ko@TqL_UK70`%btaC`?6R#!`$?GVy4DAXPqoV2Z`;a2|Y$PdMFylPkhdC|8`1eu)3suC3+#cmqTY6>lKb@z>k?0X z>JO)mT4<$JrPqcQv=t7ny1q8B{FF=f-8A~xdtQP#QI`hX**tk_OH_6e1`xs5;wm3Q z{&|xAXJrx?0_>wW+=g9KMl7dsfzf3M9^-S-+Z%FGZfmBifSn%YO`qXpRlj11h^aKm z(%$dTn5$!<-_vS#Pkq)BQSbwO4{7V1u>o@Vh^EUBsqZ|Eoh*GGAf#CB(dS}h#R zBv(fsoQjdE2mH4#^oI5c=pu30UJI&W`$I>Lriht%M_I$cy|<*?H}izXL&JMj`3o2| zwHXX!KIb*DRlUH+mOg3}%`d-k6B3#!V@XJy8;pYvvHS-d9m={W9K$=qrcP0mH9O7{ zEDI|Ik{FKaLmiJ6tU&a7LEM5J7|?-dw;WBIU)>k5=!RzQcUG{+4AKp%)?nx6z6iIx zG2RH^scb)82c3@|Jt_|+dCJ$Z%q|d5fb6SURPtnd`<)J!xSoX-h?H5zan2Tf?@Bfx zQ{o3(YbWqU+h`-)=a8WH$vDdCJfK`}%PbOhu7%28eaqefO#hKn0w(zQ4gDBK!b`-? zM8dI|*_Z=*Sk77I*;lWh9g#}qfqbFC7*0YHgTW4W$zL$$U%&Ea_v9z0_!NCs2YPZe ziX-Zr`b`&(>?&sy#c=3pTFvebw=Lj&g=(sQGMMZl-+VA|!c%;Yd+hGq5p41e-X=M<+?5r_@7NgcMUG_s44ps2o~Qn`viy_vB>R~~4$x_u zqiIQacvNrG=?JDfs>jPqN0@!fR?`D|q)OdHYef{U1hI zJ#8rYmWJmp1Pp!&2!8&j3A?ANWgkvesXlQk$m*9m8OD4-|C)X6(m3U85ea6uk7>IKE*fsCR8=cHB0cnEO4kK z<|;lRQi0YmIYeGhRc~{ys;;gD`SX+-Fi|pqvp`v53l<9@At48vicKr{|w} zq>G4%9**9aSE+HpidP4!JyNc!g+ndnF-AoXOM<+N%aMg1yLa~QR!0iQkcNd(+&Kp+ z??-i;J`N2HAFm6V_f4P!nCv+zoPoaotU|t!=`&$m<2ZuD($f&P_4Ru~` zjCA=fiqX^EHpRzp84SoK_@|@sXZi-10!Q|q82r@>U&xrnIDl+Xc*~JbSXd3Pv?D^@ zR^9@jx~_V!naCH>EN6z08-n;|KpMi0q;y|`{76I{rnnG!V0bb3-1@uwxI1?59#4I> zvJXPZ#A)>h`VM4g^>f01gZt3AKTBP1WrW}A8vTc#0J^%z! z4rFiuZl3k^=Q|(u&*k}X$M>rq;9D9Bu>3wS22oVg0!{mIP7OEe$&)xDa_2F28sICt z7F1vkF)ti-3}Q!rqTc<_f946h-YX;|{-5^@Kn`@mVxSzPPOkUDbeDp>JckNhdIt)0 z|6i*#Af%ppnAa_S;v`}oaSlI;(<44- z+c+sV3XfEydc)ofn!dD$rxkY9{JzzG*v*4$XYcBFPu|~2<=@Y{CU@9qxGvNNE?E(> zZXnk3?qZsKq*ODFR`!Q$U7sg2uWbfH_hRj$e*a^5B#AL8hMm{tZDkl^mN_o z@^MrWK$_`$^HJK#sysc>E$9x(fP0!(Av#Z$YPemj4UWC|=|!x&QPAEx`UD^Hxa zE5{z34{&_(O0^Ad)3e;KHs;pJf5-lipL&vo;?CZR?=7$E;T$sxfTw(DTsoKN4~Gbq zAP-=Zq&r%%t97^gnF!%Gcf4rBb4L-9(5q`%Db^+t*ICa(U1b>|F#j3I z-4!YP&!p|jRh=3R{i8zE&z1At536PcNl@S{XxZLxPPoV*=dNa7Ra2uORSsG`xJ*V+ z3QNuZg$uazvQpN@dEfh%Efh~spr9g!=h^TBw=?Qmd_5^hjwi@B+BCAJ&@>(N8}HA* zY!8ek-c26K0&wIYkcUP9ldD{ujQ4{Wa~Q9P(fS82h4MEXzeWmu*Dw_=WfbvRPEr5+ zi4dlIfHAoUiPb$J;e2M0K)4HB`nd!wKM-YmqjP=|81}GB}@nG=<4|!ldt7 zv{BrGCcr0Y#$Em6oyQ5oPqcE{FhZ|Q8BIC;S;q2_rTp5ReOh(dD7#K*2_ zW#Go%4)__unB975y$2M_LWp_0j>8;=vy^4Lzi16931 ziGL8D<_MDvygV2_BHvxaSgV$O&BaJpdFdPVEm|p5M4{y6Csea}g8RIUOt5h=2+ycC+t%x*Ck+M?69Rj}2<-GmIOVp9A=hAQ71Owg0Z^ zfjpyf8V)t9WTG@Q;YE`6RzT;k@EzZE7F)yLc~4VF_GfquK=vA8szSZMEzI#g{hR*f zH2Jh6HfOj;Pb7qmyc+VVL)6}qNu24A-LJXUT|zaFN%;>D66{`TZI*91K44;*$>YpN zGA|wAu>|079W?WXp^76P<&Hqc^3*^pnW5&>!Gi}8+XtJ4mfuQ@T1^nq5zJTTPhhC& z1l&$Vhci>v+O`8;6PEKS7oCKZvDeH`}JNW3yG_` zsR^JZ8bZudAPKfYQ)R1QxPAggA7AE}G*x7##)Xu!NlNUWeKYcJZ2i*x3VLlBZkQE*31Z=11g&_>Z1c9(rROqrT=o!-oU`% z1A-<)s!3Y>9l6H=Eg&zB+|}y;`Qd-83bjrd+|KXfjg)6P_Tj1EhaaY@4Se-h_t~9v zW?pTm=Ot1&y&JAoKN$^`DRxk_K!+WD^?s;vLGO~E#qZDLj(C=6f^+h&VFl2Wj+fkB zwqN|%&=3lzsTMpIhY_;n!gQYwLOW~X^bF36jATR*pCQ0!f`PkSh-S)JR*5@LI_|h6 z*7)1E7%Eei&#pm|3e5`q+zL!4kK!v_C#lO{4QBK96Ox?fSiLyIc~8Ljw})ZZf(##_ z$lhClFgDKzF>@op@;D4_+auFpDRO3JNjc_SXlQpI2hQPBq_quo$hmbes51oLr7X)n ziO(5&-dw5~l3`qGtn}x&l1zOoA;S5LdCN*=GX5r2^tay2)<>almvEMAbbZp}!>6~S zaxaG{Efuq~bc?;pF!%)GDmRymmq#0){KxCIf~aaCl!RPt#sip_7a@T!Wc4Ix5;+Rg zj3xteACFMZVtd*{5BvV&^j{2jZM$V!0j;;I%qGw8mfnTP#Tlc#(*0 z9%NvRSHyV;c7U{dJmXLq_LJ(*!Fu82OVJw$nHMpAhwCqy$O-Ucq#=#Yn1VRT8S1$S zlNxB<^y~Kaj>mx@83Gg_fBV8)9Xy4@VH$`kM7u+3*`vX)U*nNZH8QVP_vm`79kgDy zWK618pgprb@~arSpi$NtrSFReNdq;#X2gjD=Gxegc+M{psC@7m$}n;=-gb)9M#S;1 zQxm&D-yNssFX^?_LH||oGvABYIsMSVMaY`)N=EFNK?fp@&Oq!~zF9ikG`)XR8uh+gTzRJQVhx31!U3MG;l zTfCbRl8LV)9zSMr=(fH`LdREDRJIIqlhh@2xj7m@Qm4Mk2m*jSmp3gIL??4 zo*RQx-#)AzuZn2HBfp2&r9yexIlyu7W7dDe%7I~XVE=XhJu#Ee05f+2bn^#+9478B zNNjK1`3$48Kx7+%Y*sN^!gUD7jKU$ul`T2EOPb%alcp2=epIwBqn2b_7S11o%qEL- z1uQ;pRKJ`307WtnjKn?qhGp;l2K@dzJ_L)!Z3s?&{H1Nk2Iwy%l!UqpU*gT07s7WE z5K}{B_Iq`m_4x+~>7aznXVM0cJ8r|T@{5WcpqGQB``11~;)6h`L-exdH1>tBt+O1v z;-8bB;_7U7Neid4*P{7Psl^_gP+5#L9-;XH3{=(v^V>q@NGm5jjJxG0-85kjg8g|n zH=_|S@7S1f*yNg9OZlY=aM&x;>Tz~%u|!53dgciLoPcQb-ddVDNRFpylojy~5xCW^ zgv2~JERUhJbOplrpsG7WfFG7YNPDuLXq+Q`%v)W27AX9L^j{DnE%ag+mIY0ltN5`Q z7(cej(>JRKlXXy)a$mGTI6w_dNZc2*KZ(>Qxs6Wi{wc6)Majo+Qw97kzBBIbQo1wC zT;aK_6BlOuUmGSt-X-mA-duGpS9*()d0>C`p9kx=A@avJ`gxRN(w{+XjHpMd1p(vl z0pL8ckAOhmRDo`%}x#xYOTxpa4{av?{&b!NY0@h{i}NRP2TD zXk(8QrKI!|cOG^cqWu0PHyLq%N$V=KE5ajO^gBl1i&6m16qM~ecFY~F3=$&pFAU>u zQ7&@|aFsvmVFw4MFo-2m_~gtJ)2Q3hFQtRP$Fj5HwBAoz7o#`MnnqeCPrZ&7cDa6U z@I%dDd?S^zN1v-{-_RV_P6ZwuZ4M{NX=tx`<*%&k5$}Abe+ij8{udLn|N7`2z0q4S zDl%s6DW>8%6)d}T%9K43)5v#QYqto_!#zF>jikp_Rp)B>i)Fm;(DS#B`2t{K==_&1(G)i2IMPqVOTuWaD{?x1X?_Zy>`>Bo(QT$q|`yjR2~ z8#4L_u$b3ZLPn=6clAYfe8RsJu6sOnJugtRkVpuA+xc$y>wp5=yswAT2KZipLE zOY0kc3$|+ziy0YuS_!0%BogOK@@KLlPyDyHxyLgDu=UF3j9nj^)4L3EHV)`-6N`ib zB>-`|B!cPv98cjppiY1|fEwZ9?+b5uc9Ja?u2SA^piT5ApcfY)R^ly&E`5Zgj;R>L zvGU@0GvXk=cxJ~+DOBP<{6a$H}?p;V)2=rFlZLyzRO=Ty%hvJ23RcsO@Jck6( z5qrxj9uWG~B+?)64OFRW`IN%f*-Ju_cj@3|GtHGnHLqWV(m#Ghfd<80Rr+0VQPPmY z5fT8V*Vdpzp*kR5Z*De&Z?qPW=PfZONQ2cAuKe4Z!TZbSO3&u~vykSm-8lnVcnjC~{=6ZPP#=0x7j%cR;KIeU zm|-!V-S%DPQm(5voP(;lYy9L%tI z$Z70ofE@qe|}>S3SQAx4V8Di8wXZI52rHEL`-U6=-ypuG3Z%0$zbw zmN*L=0Zs~_fpD1E-Xmiodf^b!G<`LOJBL%Re-4Jt>cQi1c)EF77vSWjU%3ahBJ>LO zc_))0NGk!pJ76;Fb8!;;FFzUb%78*&>EPwms>J1LznzKoKV2u)2NSV-D-dEt!ljp- zXE$cNH(;1H3+Tfc#_q$RH;V8Hf%~eCx_t(wDUcZQ3QnHh@)b(jA((0gDha1L_qi^_ zo)U0A)Z#U`n1f*?QKP0w|GPe{QkZ!tr^+k!Tr(S(Xt@AQ)6|o#FcQ^Tli@UPgiwVx zYTCb!7vxj~NW2iT3PWz^yx1S4 zN6Fj7bixuR!(Qk~rSid*gP=Jf!w)R5(B{sON02UG03JKrNl4JC*t0TnBW39SwxW^` z39o-Z34vu5F~Wp*0hT_y5ttXfG|7F4$P>U=0q^$4$XVG+A8>B4xxdUrEb52|-N9Me ziaB@HysFg3=b-bIC7^T|0KGa*W1_pTWo#SRKEsfP(OGxs6TqcFh>4>_HBTG+6T z3Nrl5N6+>-9bbUaPqll`0Ao{%68oGqX9E*08lDv)%w4?_e_2dVHXP@c;If3!S*R9h zI_<6}WM^fiFj(L+D_Po5sx$FfIhkG*f^;VnwfPVUq;jP_lpr$T>XZEC9Z>L{U{+)D zB0KQ^5wJDd_-Dp*Q<jKG}4Ln%a z1J0pr=Mrco8lJW%#g&-d6o{bPo9|srN{(+U`6B`x*PT_p!`bjd2-EoLHeZ*s;%`)%66jMa6|< zj04gxQldo9foPuiU{O>>Z?E)b3Uen>ad{mK(w*BEV&4*xRp3iAIsE6|6(*dh5BFJB zJ5VZC<6Mot{+l@{;0m$*IiRP^>z3CeC%EK>F&G%`756O zc$`WeGcbMnSi_=F7Os7Y*;?w{SZ(Erb^+DI@;qSP^bkEOOg%X6${=L%6r8IH&_k$4 znYTAx^6$$~k7)BT`li8Q0cl>P%m4I)*fm zi9nPy4H0^f)yZz>%uZm6(p<>~E9tP>8G)H)m@6)t5W~%P|>VT!yTnzY5l5cRgTAh=bO^{V_%8s&P*9( zKphNRvmP=CT>`(!cIggs&BT#6N92oLA@AYWe@`;LVjnHB?jnKOlh|nA(zy78mFOJ> ze%st*2Kk=*2F=?FpDHAWJP?j&K@vxeJNZR{bcBb(0(GO9W!U|(C(kCf(Ug}!d zBtBK4%o$SE|I$i95;lq!oZ$G}x>+h_u*8K{?$`<6WJ#0gG;M)o+F>J**Z`#o3x}G8 zY`-t`U?)DWw2HQHkYX#(zB zE>2L65Bo7#5Kh>?Z11>OL*aNOJB^)YGTg-#2`bU+#_S4H6jBdw(h``jC%_re(lCz;CuHp z+M1@}g;3}UT&xVFAJu>~(oR3f$0v4tzp1ZX>Z`;yvdIKj$nwKWw>PJ+rfZ8gos>Wf z=i!e2lC0Xe_LA$wi4%#Jjp0d-0i__JRL7Fp2C~$ZKVdP?tb;S=9}o1!vVmH++fl4e zO5BTD>B}uoy@?rH%pl4hh+d;SONnkCaPDo!-n_m5 z6xh_qs=*A;Q6}u9CCX^j5_S6&7-b4Wp8N`gW_(l8Q}sElQQAIlA(`Q4c!1uIm?7(L z(`UQ||5nCLPbPIzD{vH?0}0(W=T9F$l4x=PMLlg{sz)OyOHpqUuH0~#HO8m_C~5#y zQl#9*TO{}d{i|z8t^#vX*%Mv)jivJ5{>UIFOcGc0-Do|>^)M#!WY$k0xK3MlJ1{=W zZn!n;tg`UofvVFt6wDUi4~qp19`2pI1KMyMz;iQ>v_9WTU0e#y9i;4bfj!c`d_VR) zLf>3MnTczqQ5P=yF+vI%j%}=u=_&Y-rDzO!Rsx6-!lMN)A2Q~V=VWRI}Xzxj( zB`<{rlA#EHs#zkf!oAa^->9jXNxILYHcdm%rP?3p1ku5i3q1MVHj26q*qkkg7~0$L zw=UU#Z)VTwI@yAgRn}D3Gs1vSr_b^{#TA&I>4t5^PVWW9ZA#&{JkQ+pJvI$kz zWOur25(H-h9Y?G`k$MJf zvqeuN;b73BVla@>c|$2^d3&pG`w2*rs?{txm$VzJ^i09!845qHV(ru5QqL$Pg5jX= zbI$f_Xm+E722|RHOve`zSS$vlHpv9Qa=XKN+}Jpk%R(sieWKpEpV-h-&9a&2p5=ni z<#4=9pGC7RQFret>n)}<9p!Ce>qVP}bn#1(y}aEkiBXG{52;yuG+$5@eB)YPQ2oD; zf&K56lB_;B^M35HTp;5KxT0*BVBAX7bEKm7~OdK_QWfd<|;p>U@(M8$ER=3J7l@{ zbZw#WBZK8F6&nl9BTkJL2l}=r?R*GQd(1!5C|IwWc1+CMzu}zSPLDcz>Gm;&=-lwC z;}Q4MxA%v1oUSDzr#Z<;^B<nyZmaR*RykP#_`}`O?r99?u;1+mveB0J zm!trV;M&J!a)PohOTUKf4P*|=rJqLe`T;e!TF|-EAQ<>ARs@+)zEWJqiI8=& z1Fv+tYh?2I#eRA;{HuV%!&zURc2EZLOi$nIwl_K;E-8KXD>OOez?I_~GU_Etb-(q3Tg#3pza00T12*^zJN45**v z@`SaGV3#0us6_;9^c32t`PH#1dutvZVuLJ>r)^J+23;obrqcBN zUuDCaNlTuD!ckDN0F=~$Q`MOcZLPHR6DiktX)c3G0>rP?8!ZoB5)UbYh=p2Ub_I7%$>NJUv# zbTls{540tpp- zwg)b0Fo+8cr%Gq4LYp!ob?%cHrqt&*$p+hVyuQMOJ4(H&XL9k(_g7C0Dtz|aKt)|_ ze(8_CPpEX+hsFDu-6SMtFdnSfP^KF;pWo*t@Uu|G>mp6v8$V(d|?ks3_c#A z-C;z&K4xzPQeckMo&MvHD4)i$i_kf?hN(`FG&3{n^aLGAO;%F!FQSNeFJdj41=4!O z_0EXkMkcnn*; zJ^Dj<>3ef^lMW3NWSKUQ3fF^u?YGWNM7(BduXGLOBN-_gsJN=1Kx8|=ntiI}f;%Li zktUD%W@4yiV$BC|0-d??ztQxLcNb=NB~dP#uFQaWIF{gI#Z$g%S9*U`N zY>+92f?s!$<#qXVG`GuK?Qy2)!rZK0Q03t0DR$sB7;o0F?a*>i(<=sG9d~j8dQMcN z=fez%Qza7h&Tno}eL;9kNCTBo%mn`!s|k_{B4dm&YIV+%S>}HYYYgjt6J6zGA~QRw z$~3-b42HTHfrscOl-pdM=}Eapj=Fh!1q@ZH?ik4Uo5bqZ+Sc7bxI!=kVndB!LATu1 z?9A{;N>)w_2?>o-sLQg2so%UAi)1EgMPo_)sh^%jMsh)ci)y<@p4xqL`Yp`LEE!&s|GlL;bxzy#JDpfJV_kR);{-x2V?D>PJ2p|@LF;JLZ0cQZn zrW07=fW?aTP}B{4CL<`3rRIkP<5VP^AyGvb#v*oOPdoT7*lOkzM=r8XgN~TUQZc9) zeJ*t`jVpx|7g<2FjRU6l(Kg zv_#Lzx4@V!de;tWgjOlzi_YwtgxJh1#e3QlDFdz84gsM2(!B4tp||}-kn*9#Hac6R z!kM(_pkPu`7r z&x4@xzCSV)03LA;F%w=TdHKgR%y*R})<)TyGHY-ul|z*yVRU^kHmAV#3XBtYqyI2{!A`3p-#G2>6axd4Gh)8Tc@+hz;;DF#8a>sSj!E3u<- zQ2mMfZZ2OU??+F( zQ6%jgo9+=oe*0^FZQ6hS3I?~>6?H;AWwf=U^wXjH6!0t2c+}G!5|aX{TuQKOYI!WJ~IC7U1j5yigt| zLp{qVr_0AFfBLsnz`raF$0^Te#1v+-1=u{t*+Fbt9RD<$^h$DXQ!Fj^L2j=4eT`zE z8g&JsVYR<35vws;;18^cL?vY5qmPso#^Jg4=!pK(J&>sMnE> zUd>!UvmV`fUuJh%Yo4hycWi7NwE`ZX{l=$zif=4PJ>cHEx%?QthBK^^TeQ&VBOVs! z(Tic_;klIKrLEfqR?D_yttT>)Ra=tLsWvHn2%sO`6a4ZeHv%aDb6`AXUfnMJsQK#L za9~5vJ4InMr_sHw;w?}iz%v&F68@}niInS)7V4zJ_MHN=`%6SI1NA_WQ*EoOk9`sA zsuV?;_z;JBwOC8-Ei(ZbBZVvWri|n^DOZP)-@dOmMlNhLM|#zaG0qOrxSyj3Nw$aK z-RS!v4l8=sv$rn_SjvaK2^yTv7t8Ax3Y}9XcmD_p>wO86O!hKM&df#U8MWhi+T=`+ zdMTcEu-j{g!zugmU5xv^xN1L-Er}0z(YN2yc*bG-6r8khWa}K95u&H)p1>(ijJpP= z+HX&XRMq=&3K1f=Yx}8B^f{$@bLeba$@M`(S0KA^*l=$Nk6?H18#yNqMjlCBKw@Lb z)o&9PXyqSfU=y{Mi|L4%?-94xc2D#6f7!umbyWRfSt^TEzlhRdCeHvDrgQy^IL^$5 zZ9sxoeSL|krf@7=akFN`M29LZbWU313T>%hTH^-g-p!yjC_lph)n)!JCKgYt>@bQg zZ?bfFs^Zwl?V}n=pQL&hk9C9<_?Iy0A5&oke6?~)IiytM-ZM=K^7I>Y#ci`kQKp@A{HxQX~5oqvB- zmd3{gf=0Sn5~5>V0y5so7mo0Cejy>vQ+mqgS?(`a`QHfG2;T5C86k*Qsx*MGyxb|t z0vH4P3^3i->it3zH37D``$u11L+p91i?M2`N)jd!0h3Ma^DH8YA{7=A+TI7gCw+?e zevNV{7f1rRgK2LCViNQ|kV#|3PcLk2~XP=FZ%dGFhct>L< zR|r|j-4YG|Ob8aix0z=}oYP`1!DT`jRCCb&aE!yZ2d}(}HOj1@paoU}XZDZsq3pXAL`vNS=Cy_g) zGhUJQMlDoMI&iBD7o~8CKwWOw(Gz9;{!rSctsgD6&Km(THX!Z=hJrB25ob!9E7Y^y z(yp_!?AwhU=7&MbE700Zj_YB$ov!V#0R|sxI>;75e~nG5{sz$gkajPkcba%MBit1rHKa*3#zH#I9&@g^+mtIq;y*{ZE~zCScw2IL zQ3Ql8C)GNPa|v(5p(l*Ad)Xc^ACn5m*Pl}#R_Drq2h%b9T(5k>3yV2)V8P(l2Jfrk zq6OcS5civsx*62e_%e>q{$XZyR}qnji^G0dH%$wIyA@WHg$Jp70$wDF+R+)yF z7!FTab;(`05HLOlnOleF^Or!z4+d`x?(Um%+jknpjTgTcqTgJt&J=4G6&Nxl5J3&D z==bCod~F#!r>;Q_XJTpMA#w8jY0hv>8)R&}AhCf>JFTxq+B-a^jj+d_M#K-w71ii2XlC`G^VeDh zGrnJxkX}Am5D6n=Rci2_Z|@AW z0v+9JsTz6jRb?Ml6ualOZ_{G^e%}jT`XeMMFK-FRQ|J^^o%|C2f_z>GGiDtd{c&+% zW3kpeojRKrl&uyhI|CP&A4xu#d(qyPzaYvstv0+!#3*dhe>beB-jXx#+^YDvW#C#@ z-09xzx@o(NpxdR!pXWEoZYw^W&hD+cW@%e>7rpw9%z2?~nd`2=+Fk#y1|?{NhL?D3 zuD{(n|GH1nWEe%UCM3Hls!&kc5I!v*lp5FNer-rRc|*rxT^wa~bj`tGvs)H*cJI0n zHS${o3B|HDqYRh78>d!m;Txvc-1$t@S=u-srIPn4c%sLxkw`PYsf!f9TxdMX zre7NtM{&Np+V{b&G0P$H*)xtcOlY*nR$hFmwdq&*McM@GAC~Thi8ucEL=s)4Z)T!Y z-lcmpi^CgdCM|93IxxJ@ zzPP=|xk0c)mDa+CS%z1vee6iihaU!7$PhfpKa^*dTh}ld`w~P5m=3CbYagIFPgF8m zYhE0?*1beI6(k20uGL6OmZ4&k+^b0dyz|j*XFoh0-o6|h__|>H`}XTKtWaIRnXSPn z%aru=vsSne-D}9S!{^-FCU{BK^b5PzZ>$E*bRP0_d(*z0QkJmYPBB43rAP0XMNJ2? zkea|Gl_F?jiNYVsd7<-a67*Y;YZxyzEm|(8PEYS5>J4&XxE2BX2nHCs{rB;#X(P&< zBAhH^bTB!4rIR9{WC9@^!tJ+~FA54iuK>Q=TD3Z85k0+lSL&;D#UsE%0L8Pm);goR zM#*umUv-;=*?GW!OY&|?1l3%0{S~!WeFyjL^QkWJ^t04TSfOF&JG@?<-wRoeiaYnU+lh*A=b9dYOm?!t>6_i?r z_KgOnvW@p$m{{go|G1d%v}qv?`wV`Xkl@dqw$=5ik7}RnO?`FV);0#S(cFDLR&~pQ zP0OhK(h~>H^Y(Sf%HXeU#h04TuI9Vw5Q`UWbuq74-q$w%Fn;x2`hzWooA<02=6O4$ zo=%U)lv?6#k)^~nZObhz>#DErA6>TJ{FJ!u4*Sh5-P_e*UA#W3V|tQW&_p*{M%KN( zk8yHO%sZNH$v79CE1UURec2Q5`>4$C&$;HMw|twoM2?p2ro>G+b#YC7*9#QFQm;rf zuH_%te5V@RmyL5ao8VG-o{3U#!Wc5eG47NGk~+YfIItk&F&=Qme(WAa$%+G%8){ORMO*MbYZogU?CeUkuT!7!qmm1{Z`fD?d@v>=w$Q^w6Pdiq=0%WW8UCXEbT zSXjU~{V$h6#*Pwh*RI>%8xmV6HqhEi9@5O$oI7Sg)#tuUgAyBk6U|{w8_BYN`Q=fC z!+D{v+=ZU_bTKG&>zFZS50vYFEoJ$1VAtjJm!e?D|FT3%Dgm3SV30@{bY8S-#1QIE zOZ1k3mgIPm^wXElO-X1v@H8RUT81L`_y^Dm(+Y1o#Km{3ovZ!=uNav*qE-AB1dgkT z$j2nQlZ?OncC(wqiqf(?^ga1>!R7Ox6NhKec*ibBaalyq1Gsk__@dsVRlOkm{*rZSrNTP#H(Wt?pNV3(|c&*=1dUPS3o3| zYeb;-3@{-HBqjd70-aOp>!!2d)DUv&)0w!(+<{!p7ruhPp>VU_rSA}j5Kx;N)NHh2P+_BpfeJSFs#X;AFIL9W$?LL<2 zrhjE0U_QmS;>Muhoc!o02{7NpgJ?ms-YB;`_M_^5o2w&avAVs#s%G%JS*>h|NiJx- zrd6&Z8dVw5+7ov{`!O_8a~66}hAT4z?Y_mnD$IrBX~hU-E$wT}yuXL`o=Nm`*$xvB zvqn_QV`-^r^9xnBiMiReyIsfDoTcnd?i6QecHD*0cr=L4a|Na&fsRF;`pF*Md>evUW==XcOt0qsycHtx3AcXyrkj04ZQmzRQK>|VlrqXr*)l4URoP@Ed+(9i_t3DjS0ZHZl`S$d zLPTZ?W$(Rz_v5^$ROh^J{r;14@cBNU=eh6ux$f(_?qKgkoJLE(sICLQs%C>l_dtTS zo8yg~gU3Oj~; z#VuUvpeNZj6Fb5^I+}&hdcDjDrzaB6F1Hb`)B-03b6{y}(bzUq8D2Xlm;vw@nd6{& zS2gwZ*@f$kBp+I;q0QevxtIOfr%NeoFhOYDBuSt(jfe=ORs+4VrG7A+6kyF77ssHM zuri&zw?;d6?R)$mqbWL)FHhKwpQ3`>%e}J?M{%lPP6J`ezTvj)T2Wy- zK|Lzprq}=xXqf5B=;10KsVVa6O2Jagb5B=S+voFyc=Q{_>O#yhnw+Jvv9^rHYJ_l_ zYb_DIqDLX_tCf{P^wb0*?%)tBkt0WXRK-pOCiF>iz{IeTf>Yf+DTXUf>M~Tm!pRHVU zS5P)7`-JD5bm6(%p~}dlDxBTBNaF-D4zvBc;lfXiAjOyZH!AwfK?GHy-;3 z(38CvyrnC^M96sE<|b2ctGg{+6vqp0a0%ub_agRzyS`0R|FnDnX->J@d&SJncXOrp zq5H-CI_I)z_8Y@4@NZ5!?bgK$YxfxjFd2-T6h#;{fcivSsU~|_ zbvQvjie}2>$*irf6kpmI@F_85RZe4zq)8r&?QuL}fT@!yKh3~rtc;FowNI6DaU#ce z)A7O4q{dSpzR4O<*p>aQE$n_ydT{e5Cu3+^g=Up{$6C%6vp8NwG z@#I7bulo{KI*(Z>C@6GBp=l`$(7f}?>F~FPSHe`tmF3%+5s^dd%O;wIlcz>T^^usCF{GM$3)dfgv+T(sw9e|>s`}|sRk2Q^VU5rlMkU4{(8M3zlubEz(@lQ#N&48(5d^0vnk{|v!uTV z!dRf_H8jzw2wdn9a#^jPRvf5!qtq`I_@K<-Dsz<6Oardmu@bIc`;VuVi4S)hgG8~D z7btsg)_GM)}(UMBX}>wkY)`e9Xf&^;LC|f+7X3#63H+zEz%iJBPr9zL0wJ! ze%Z3B^f7zgOBKykTDV7^NH2;>8@xS3o11dipoRT>*qob~W^AOh49G41{!IVni(8VB zug)Bd^%ECXgua}`+Q1n;S1@;srD`l4lLyAAW;c9T&%{6pt9xnuCQunpJ8e#GGK5{^ z04w=CAi^njGbt-QNem`rq)C{2MB#OIAFFM#(&Z7iL~$z@PL>sHOUl0%cF#c_e}0i8 zVyz%l5@u%-CR%NdE)Il?5Vz##sWo5P-9~wz9xQ(m;fpgDb#+CC+eJ`<=DU!F9)a8IX*teJ4fP8mT~7sRR84{GU!|9n zBAZuZdkh2ZMZv_IlGeg9A{+gD8_})%q%2?NwB4cue@+FvA*e$udqL!K&DB9%L2~9J znp~SL>V1O8jF^=eXOxAj{P>8Nupc^a+h0YxBvuD!T~s2q#5r!$ON^%HxYdV6JpGP! zQqbm(lM=BK?V`K7;3^hT8=siy_8F)5Q}Vl)R;PdI-9~m`g)?H#IaL*o=PGU;?tZud z*`Xn8`2v|VQn3PwkL7wLB_s|(=DThW{-TXk;XqB|3S#-fI5h7{R1L#v7HnXYh`Tdu ziuBznxzZIG=*GrrD2n1p29$w@vSM>%a`VXkyD(3Og%fjbT*{hr>7#Qrcm`R%5*+tB z_b>`q_ovrFLi1Qzo~Tty&ll%R!{%wVsqji4g)}>jI40eJJ*pOU$z9`hE@g(WzgMjd zn>V;17JS_+|Ncdj6;?PK=G={J2wD}Fc9Z$r4XDFhQ%_FwFYkC^UlBlV@qT9wltgcT z0Uh0fmr&F8L*!!W$be$n6zm#v^k!~vL?*0gh}@x1=2`|D+zRO4A3-m5wui*N1oC}9 z;1NtCegxONp&u6|@8Ag^apep3x4rzI=X z3&jn3#oT0#K{WE18KSkXjXpLSTLj{39pnu!_-b>|X+s-S$mCEDL`2#2Tuqb))#OH| z5yt|MDXwnX4ev2O%emu+&B_0fj_Gkq!_|cp!5m!YRwl+r^1g=cn!-IE<)IS}w9$7) zd2@uFiBw15P94qt#Sfu|BU^)Aj-S-ydS;cKU@J_W&Kr+td6{of9~yj9;D(1Bk~yKOf#+2-_))x&-TMFdc%X) zugfFz{35WzMjwzGSVJV{xJ3Fj$^CWcFljFQmg4g-M_gx1ZNx%VXQ{5q_%(2^e&~Co zLL|XlWNlb}TdV)6Pr_>!-Q(du{P2&f^PhJ%6pTf%Cv2*KUZse`c5X@UgDH$KGES4D zr5el`K#GlB4@aRt^#p+L>Dh?Qi-}3@lfDtOhd%%q%M8G`JP^&JqoPg&%jE=+L6rPS zUjUqB3SEt=$V<*77qxmkA!J$(#)$v0Ns?EvIy&m23Lth+?U!x6c;`!IY=niNfYvM% z!7jQN9zX74^%wlIfFj@qA z+;hR{nd3UlifD)P;oc{1XaW1hvSH=NU_&NHt{C7smK5<`_Go>{%-sqRd#V71LPhBq zjk3A+SZcL&r}tiV&01IgA1~D%-iRp zb!)Sed(3sFVhq1l9{&j`T-p5dh37@i%MTNb=uX1E!`l4rCS>#cU+ z*H&DX6BAeysizhQvfC;NAu=N9q*&YcllJO-dMkHPiE9Jakr+liDa5661rwZ8JdJCP ziUTAMt27yZ7Y#vn`qjyeb1fnbv4VU~czPM7pA0ZH*Oz6AK<&8{)fePug zLs=;J3imWO{SSw(NdPmJteHc!E9p#wdvH#XE5$pD$)~PvDJ$<}kJaxRJr*JsJKW#y z{J+B~1XzsBt;j3X2dSs2L<1|-9+Dk_5O0jC);B6Hpy6Ybvph!?rN9-$UvSOHogw!% zPpAGD*xuuo6JDY}yl;PEw7sPj(rx?Jx+zvC`ew*T-DCwc*v11yk0u{)Wj{}0D-`?7 zhw%^0E^ICXEVaflwnp_}fAMbN z%rd)SOuz}~AYFd~#!V8ctQF1CkABY27Sx!rz7ZwOvJqUk5$MB7o@8X?Ua#NPL$O+0 zp4k0xjw6nkV?AV?1TT#%t$Eu3~1)6pkRI9$R7Rp`n zUIC0t*E=c8K}A&B(8d(TR5W$@I5^rc!!~Ae-k*%F3#e1l4oof5A_fn zd>qUr7!}f2@oD>x z$R`6CFn=7Wc2Y+^f?!&;xm4-ny`A`vV2H{ouq9D4$~yWFOMOV**Ry^!qB=8(w~h*` zEamRGkj3OjZiXxN3YsP+-oFvVEdIdYNAL%GSb+tL&Cs)lcc8I??o$5g#ejCf>iX;0 zw1~4;LLzF4Pjm)f84uO<5joR(=4yWraM1oS|29qI030A)Qb<7UDx zsMv!>Q6cs$yl`~pD*7rt3zOEYOJ>9KKvGLVb!ZD;`2Hcey!ovbGUFYM9HqsBgX|`_ zUr?*3yNYVvd;x(Lp6q;{VZ`gXVHQJX=RF6(Djp&CSRf7!a z6R6*6M%#i1%HT-xrIv22a12E{i!2cTobZNhusWW%O04(&8UOSgU(mT=2Rn(DGaX5% zX>${Vk9KcF2s@8j8vjPFJac$R8rP-93h)gtp%Zs0g9Mgf-W*FPw_i;KOnB-CRkA0z zaI@L+k^Ox0=~RhaDXxTk0|7{?`J?~xA<<0nFoCT%2j5+f%8YHktz|R$T3RcV?ZH1} z*?&3?2Zsi>Fp9gzIjyp=sfrgm5uB1=9&{VPM%OT-0vf9x%lAYJt(YG-6o2G6PUdWo z(0oOxMj52X#L$YeB@G3?GZL)n=L3yf8ECEL8EhvrwKP^NYST(W?LS!kyu|PyFUOT0KL$QI_Alv+Rw{!EhGUm!t{0=F&EQ1KN1$0WMPDYaJ@a_;AAl#Mvm z*QE#@cHei^+bzC5_6B`B%bkwEo+#TUVpYp|puo?3lv|7lyzp!LE|Nd8h5BHu`B7eb z8%9?XxK(-pViEr_yF|$WoCTs26G!Uqv2IJlB?Mc*9vapw-oQ$g2$Hiq&%IbJN8Uk{ z+T8~Oemp>lOR;zj*BYT?$*^xT-mrC5FjpTx4AMlEgz3=<7Q2P9rT0$j@4K}V3W$0N z0ds+Nj0dpeGX-h$df|Rx3Ru$n>uP`&d7w^fuHpSZFlkTut-drnQSWP$CP_|UI~u`0 z%^fBt0GIHsc#wQoshd+Zq4l32S%nq%vN_B6ZBQ&li zpbM|mmTLiMFRl+}u)88PSmMFJp>1zc-Vz5SXU(UDO*{{EqHq$hM$*FGI|wj^E4YM` zL(9HOKG#5jS84T0;?CI52b`9!AZx<>#)}CBwjyVhIz9u(-3?Uy=YnG7jXa>QUtQsP zSRLk^=c}XHHxkf4OdZ8jZ*6V$SzuCXUY3=XCVT*Zce)#ZM$$s_{y09ga9fK{IL|R& z=N9A1JHJCY%B;{)BIC*%b?M&M$!)`>4SI74qu0KVU)w&!ciS5C1uvOEPRTH{hB`;s z1vK`Kt~H>5J1%tGRA3Fb%x*w%4>b5L{_rc}DS-|yAG=tZDuY>6q{Gt-MG7)V8q9Z-Aaza#! zg+;u3?L(ms;{`Om?Vu?=Kx12-$p_w%g5^>RLvEJ#w-Qj^EaxQ#KNG^ckQzc`;I3I1 zWs`rkXT%AJ36>Hww;dzE*`qqmaXv}O><;f1#tDOyn}#$hLFy4CO)561c8WjJe6NN! zllus+D&@Y|!C*NV`^z+UP3A+>LcTCEc?~KO9SV74EBJX~J?b>oKBG>$^8q1ivW?$9 z$Gv!-83DslTInR@PB@zy#EyL`k%i`St;!r8Kh+l($6hWp~IO8XL+cae1&WQk841-VvYkF<;ok#@MHEV}*YWSG%G zf_&t^B%enpdxG90ZXTe(YA9uuK@~3Tlb+FvFQxek`Udau!>T&rH|lrE?m0Mg9IGQS zl-8Na;e-sU%r2?tWn+r&vK-U(D?Jp7!TcQQ`l$uC6VC@H?$=sbAby)vwZOB`t`2$IZr}=4W5S=edo-a-nMg{jHwo_^;CyJ3SiN0X zApt%8BM_;?=wyL~?r{=qK;9PmpXUH>-q`3ZFW-~B+(t+!=K5#8OBsA@qAPZ6hEByl z*IEDkW+N+cC=cdxB<$Gs1M&gbyin?L053y*y020&E(h*C)zDX0Buq-1h9iDHkV#b~ z`z~aE18LZoanhfsg4MlTQA1<-=EO317#N?!n2fwj5L}m1PswScbtT%>2G{Cxtr+ar z25h7uV&YaecZw!fp)&E^0zxa*A;=`7;w4fYS0hMPXnyZrGr;0DnfWp&iAoz;wQ}LQ zuTKD1R2=Jg;p4{@q%_lo1l6rt9{%*6zQ(lgzv#TikEKR>iF@C+`%SpiNAPU%E+ATJ zgJENN05?SecY*F=g8#iG)y;WTs&&VOtcZXLSwaq2kbc0R9Hix(6o}|$PKi~^8|Jju zPN-NzHD>J%gzkXxumiEPbV@LSjPNA5P9#HIzyB#}9>#5574ffUqUkW{&NE$()yBf+ zdc;3JN3|(-^a*jRpI+iV#u_$5Egrh4J6%w7N<;42pW0HayE^(KF#oSR)sPk-cJX{N zk8i7iX`nO#hq5YV>mHf&pQUw;fyzWRZH9r#iMcVhp8$nFf%D{+ zuHS*%zY5$O)M3TQijqT}uz9q@;PB*~UcETo+uPGQi}-CwS`w)uAAx>*l7=%iqYlJP zQq7i7C!q?7z*vlY9Kt~G0^$}*8)JRiMQU)9WeimB?wy}Wz_F4M_kD_pd^;Ml;tKV3 zBAb81H~^4oTbt7mC$U#`O%QM#Kt0beJ(6#$nABd8y;^AnO>#NSbXASEq0ZbhA9a2? zqTWFfH7}F+Rc?F8u}9xt-wv!d2RR@cL>px)gS@N1U^G>~IsP-jo<-=;QF}_X-}UBM zKrQm9bA&K>=1+ z5$GG-1{w_0FcJZM@g)Nz6q(GFZhPQ8^&h=xVKk*w4fRS+>ybqM@&)oZRx1AJ@iae$ zZD@1TRjdTAUJyszGRp?iLB$Qn89!f}E0`A_Z0Y2t(~KetWOj@i8OMhcY@QDh1LU&P zNOv6qr#n=8xom-|G}g($`(+E}mw%zx2io_UR{^upL#N2?B|}IAu(oh-4LIRl*Fnx;$`|n|%X#u22lE=Mfa?UfyGr$nPb2 zJKufk?fL{m^eStZK#-Hd8Ctess=MjVMFO#xz7N#fpY>a&g{Df|k;nY)o#j>AuBwqO zdtzKl!2lv%qXgYMJWlWwP?ki!EV?@@QjiR<1$tPsZe?+_E|x)n?Y8Z2%?0qQuX8>d zlACwM(saN3odgMG<#5qI#2S~WWX>UB*zB9ALBPiNpiw4EO3H0z5Hp(vZ{#{wLhVP{ z;^;bD=cukUcFz+|-RFUk{yxggd&6hArD!qSii_eQ)%HjJ_apKLMhov6xdC-#&-TP? zi7h!_hLGq1mj+0|zVhl=2*eY9fznGwD9I4Cdutd!e+i$oczx<&1ymPLjK4gU8iS1M z4T>l}$je)u-s3PfeR{Qbvn0Nk$#L5Kn#_Sw#)LjKwO&*~-f&uJDd@?@J*Y#0Ngdqp zIk9L!)RUH&aDJ%=>Ic$!y=aQ>lH|W_udRJ%p|Rsdgz-R<-y5xdsLVW_@wwuC?1sK} zEz=YC7A_t=n!1bTem7N;Kj;KMr zBhAuxc0hPYX7MxZ@^{M!LIPfh0Q6vudi_~!;Bqx^0ytj`iIl-7?NKO%F%?|B^tQZ! zd7BaKoh?Imv9??KDfTTFAR^G;%wHWbv=?}|t$6#d+YZw}PL46bNoxj}fdI_gZg<1= z#fR1)M&R<^udfwDIn|)eR5_`_>l9Gke&@|wRafkC2(`S(fpNxmV@#Wm&Xtu7eI`-L zgMp;#P}U(T6YAVdhfms{K?W2Sc;L@Xrx#Zxd?uVQ;k0_bW^;@%NLf^=8&h*T_3{NO z%pBl;`-`y`y_L=zku6jQ8E<8u1*7(qZk#kkW(Dm5%i=ZSqAzs1EEORHf3!pw6mTtG zlVP7xkI87kd6gjY8mL9V+zkM4cQ={j9{TnNp$mgJ2&l8{d!YkLd-aE8R%cz=*_r~0 zkQH=Zx$bky@*2N0)xbiINJ>|k*hK@xH?0_rS_&_Ys1MVUlA51N_%^1!qv4V?zwqK` z(Cxpxi%17-1i}`aW0iT4H=f(ohwjW(N=LhRpLmIU`#FAX!liLzC(_SGCz_v(IM+Pu z)(!$f3u{#s<3vzWbVK?1D_g= z5i+Fcu=9Wmjg=kAWOmE-B*P#@VRj?rJn!Ze;PnFbRlq3Y*G>K_N51JY78x&Q3U~xw z8S2$ls8&A0rTOaHYt=c1VI)$H5(@gja6x|eiRb5AKJl@!h%(8XDFyDHXjMC0a42NP z^c$L?Nb&6fvlK}JeZ9!;qYf)`y3Oa3QgUxWhnad&r`8KfJS&MsBPDR2xb|4i+ zZ#4&@-u955E}odlNpoOG&FgdHfG*OgQ8V?ge1yOMADtZ-dRO(_>f{_kp$Km=vUAFrq;RE-!UU0eN=zB!b2M(I`R0Ip) z+ow~w>+50sg)jJLv1vnJ*o}^d)5;)*!>POJ^B$gJ+cr@JpcN|RO)zmDHLFDX#P|Cr z;mI>DrzP|Ul2XVJ8jL?TnlA$`DqXFN0vZ9J4miht>H|j_=7HDc0arQ-N!DxMBE+ve zR2{BGJ9arhcqklvFw^ez@S&xn>mOC!w0#0fhc`#TE%Mv>w_w4*g!D?dNh+UDfho=B z0eX=oFxHDy!ukX~{ZKA3;Y~AKmlS0T8kb{^YO5Uc<<9pdNBGu09nkN(Psg|N*1Hc9 zT-tuk^C3%sYmk5`iyK^1s=$ZtD56M>FJzxrD|cB++gwSD3jWtEPQkM)A+NF6S@Zn^Pa-nt|VZ$G_z_aGer!nl2XN`OrqSRqS&6Ig~+ zO{~^5?1OD<^}di|zU%*+J&0LM@oicGTu7oGh`kpS0_BM;|w5 zn&rz2urGtj!q$fMP#SJq$ZtpQTcrDYi^F$b*6u}=8VLXAC8-{-1X?f;zbKhcX@@kR z4yr^CL?}rlumOCd678AnF3j!|M-g_xmGGbfoLdIkcWsMKgs(ieekgY&)TbK zOTW$0e;>un`t7YAlxM}>SgPg=eDWGXHZi)H3EOL8C5Wi@dcs=;s zsb-ucnzHn6xt4fO zPC`P0KsDqg2$4mtL~G1wT+_R?Lwy@Gu>b`*tH{dSqx76Lkfj&k;TJkX086A9U=0BO zsviJCnh`soZ5_$kOIq_0f$#vOX0ai=Zc*~&*7RTFs{K_v>pbPJQzGgr;v^jBG5=DJ z5KnjTfqM4v1PQ1sZWI%DPC!vlMVt{k4Z|I3)(%oNf}GgH0y708ISC<)+SDvauOnp< zmFf1C=6b;|A}tzFGs=iqSECPP3woeijP5lx8=qkY z)h-*j-smrO+;L|xi+HBD6Ne7LLYGF}TOj}xQ_3DiG_$>75=I_T_$0snPT_NU9vL#h zb-8hITA-sQ4)0Gy%jhs%z775W>R|7?tTjG+SP9Zu-tmb&e{eI0$+Kx+u@dNGzL}R)O!+DM{c_R3{87gMS;YWB*Pq#lDo13~u91S>@24o<{j6ZbH{!eZffUgz#L<7&W3a6< zjP%332zJU;7gQv2ihRjP4xP33^8@%c`;cAWq@+fhjER%LG485h0w5)g#Sb*yS$8Q<}6Kl4+;qSd5LiB=Q|Iu*IL&*^6`F?+3 z(vca!B7_p3ybXR1T+Zogz71wc)>q}9(G6gEc90k~e7**;CSe@O`-O1h46Jtq1|5wn zE4v9aTmtt^!>JHTv?@7Y2Oy7ZW*3YflP1tNx(%8b#KJtX{{m>{Uu&Ef%qYLw(Ooa#cQiI>HlD58?fm!9p|F(EH&?CD87{s9Ye>W9r7Gv+XZ^{geOt z1A*r>swe}Yl*AQV3B^yHhcvFCLs-aAgeD@sc@agE2>+xsX2t2pa zYCy$W=6e;pO6URk7`H*+GylCZKnW7;((h7NkI~8KiwU~`hOjNnd|SqU{7jfHdoA*? z%XuAE{GYT!9+e}|KYI?m0es)2f$gTSfglD_bxFJ^w9Y~Lmwt9T^uRxOIQX2}<(e2! ztkwC-i{doD5x&kf9OL_`furAJDPnUu0yQ#FRy_)sK#$3B^Ll1Y<4DQo3|tJ_y-sV@ zPK4ucgGZcoADXc{-9`F_s>CiEFwJwnjQDsGirW(3_Pp@VAMo~P94@HoNc58>%-CS| z2ZJjsVY|tz{i1AXVpwX4_7c`;B;UvbxXFKAmLUx+peECWnCACxigK}1oP%?WARM== z@u{f|R6CwR*G)4iyfNg$nT_?{O`ekFH^x<<_H%>FuVf8Hn1Ckujb}hb z*{MWTwiBO&{5sG4JA|5=3p*!}tOB8*B!R^CQ!@-+x+a5LC$mO3_Ws@c+}*)Y{nUgW z2EQ5s5qpDL7`YxqXnBKO4b9^OJSf9{d1mQ_)9Q9m>Ul;se zzX+vidLFX+Vrc>(TkZN_pTgU0%0->Q&y}#$IwxTuod@9ZIm}lER`wm|NROEW8Mx@3 z?dxc90yDQ9)!p2Q>oOb+*KPT=3F}gKr{y3g*TlrcD0H3Ajv-N%c<96?iPeYnB-~@^ zSMuMyaZ`ringJzfC$krn)a`H#^t(J2I-mo22bd&Ypxubiwd3jqmM={S82b+To;V{G ze6SQqYkhDHOC9%HkNb7W0PY9UY_8weK+Atdp6dk%-m+{Hr2B+gP6-2En)kE&Lt615ny3 zfSjk&WmH=WEkDvm-c^Gbmue!0gyuDAf`pXuc4|`qDG(>j2o~_?FxNqsS*AIqWT3*= z>$`n;4I{nd98ag+FkGROEZ%Mv2vvYBK+AesVB&(<%JCMs%xqnYfLc|y$*?q}URDtYVWlnA-+U1Y8iYnc5B@U z-$bt1iVDOhQvv@6rOTf{mq36T+A)m=z+E($I5l?T+lK$&d$H*r(w|%ePNoPP3C^{y z(sjic%9miPdXbivmV_ha5t&u{GfI%eO*x-jBL}0Y4tc=lNxRWZvb$SB!5h1rfM9!i z;mUsr!c*emx3@$SDfxiL+#Q|crKYs~Eq}`({~XXTl9&fsQzEM`ga-gO_drK`EF%^4 z$?bp!nz!yqN=m9*5H3^q;-m)XLNvD&6I^_4F&?}UFV z5B{)x*;#0X#9W;a%2mt)Da2$9-rqDrv?QOu1Z*T=t_RX&KQQ*0T;ssm|KdT^q(ll> z!LD8ihaAv%?{_(T{gGLXYls*%8-$rC2bOKINLw}mH)kYATD6MP9yfRl;p=Ps==849(_n)KD0Xn72$UBupJUbtzn|)bIJ-> zKDICQAyTAtFHnBW8;WwTHT;>Z{2R|gc0KYHh+YzaqjPZr%!Lu?QfvapD#=>0b1Exh zJ^2Int6kQ~S0TL*aP53KOhm~)&mva(eGiXKO; z_iorEra+#qytiX#6f>@i?k3FSRP0$*Ohkq2mQw{?{$8m zLqp9H)XnX8VHzwQK5*^2f#XTr9Gy`I{i(wU+C`#vQ^eRtKv#!BuFfKBn>+Q4#(%(5*$-(JN$9A`yX-%qu7XDj?q? z!l==*TME} z4G$Cp%+TzMlGkSg)kUTapabssK7jW^|G-=A)dQl+?NI5qm-R~_gJ0-y{E*J!k+ZW3 zfLhjF*F?0&{y%?twSN91krcSs$ddT*3FS%WYL2Ba-x3 zAXF|vo_n{E4u058Uw`c1zQA}w2kFUXShQ-T|ir3r|~D z+B`Wg_iUcoh;2Wb(>Ce1smxKV-Rj_ZYjeo!=Gn(ijkF%mC#9i4*?Xm}OP+j_U3pT$ zaGz@9C%jT~G3Dk>(g@L!GQDV%jlpYNPe#c*_Y`AZ4fJN=6~=5*fc*2EMzJT(3}3&) zf$pj)&x=n=Y1jx7i3*7v@r6q_Z5#Cj$FA-RcWSJ)o@cKt5?JLO+>Eek)a!kJimZ4- z+m}$Zw=u{)&M+|d&}*jyy&=6>&5bYDB$qhpPU>4-28XomiM~V4@S)mk zf<21Wt?_7gH*sRG;j651J!fjDTYpxR7bL5Q3l>t5Dfpi`#1BrDyv0tIofzRs3c$#j z+4LqPQ!3Goe}RAA4r4Z0QO|q-{MbE)BK-pXO9X0rqjO)H+;^HX#(diMcHa&sDT7@q zbQ7VBW7AnNM3^uR3z3y;2Slq0rr0aJW^MEEqxy@E+`k}9ocF%?b+Jj|d@j+{)7IP% zo;;l(t0(P}DV03}->7{_$5}KfElZFZU^V-+RV4k*(Kc(^H!tuzDqv7#cNoP(1Pacba$>*Vz_A(oL|=O-Y$Gq|hKTsA zxb;1lfi2@yWU(vIDnfljbY^Z->AClU11DZ@*31RrO`&cEnzTD{_H?)1W}LDtSePKWFDy`SGqmX6Po5T0Ol@RnRmeW(gnpO+&RZZ$f^_3>b*DLL0SBrPu z7iuWg{;ckJpg}ad*Zk9D*@vvoNz2zKIX9mM7{_U+i9Wl!nmnjV%qQAeT{|K~=B8pUdNBo9G(GItNubhnwb6OM0Ea6R6C&R^9#PZ6V^E6;~TdWfIE5T<4epqZ$#{M z@}6}&aKp(T2t%*qsj<)`A1FSexJlzq76DE)G}NNG4G+8!`dMBg38kV4VLY>}l5}a;I=B?GpUc>#4!2w`La?WjAT;KxCD2p7`}iv)88_ zCF(bm=C(E4e>Y>2-HL2Iya#B4Cy<)r;Z>dbfo8Cs0yZdnY|?f;!tWMZkv%xKcrfR} zKcV^FNQP7xVPH;e(kdfY2`*cq7hHZ-FZfTXnm-ITTNq0XHf|r-vgu^`>DBB^0Rn+3 zj7_Nob)2G^y!tk-%|HE$|F%#VS)!rl#AxDu8!5&Pbl?Tv5X_=0c`17h=+{!}AW#(~ z1x)og^e3UR6QBUd6K{^F03Pn@a0ZzHAa4gDp*lhbRf=tMDxP_4r{rPqsipvl zsst;EJ8(=h;38iwt7r&9ENkNoPOYqtYpvagjq<$+?dPKDU%#WngJFYiU7QKD4OvIT z+Eks^QC%p}i(o5Ppb`>Ses?>+8SxT%vjoVgBp92!S4p+b0~eD;uO4P_d?r{RY0dWu zXX~|}9coKajJ5?X8TZD#>Lx3a+#x>fTi)R>wExkMokt?TC_}oIYwSLp5UupBd(7$> z`awh%kLbSt`ouq1pgPJJHgR%;9x3MUgxw{C!RIwa+$qZ(IPa|M!{<{@^;KQxDe3m5 zokC;ARCnFFJ&r_hfT-x)r+|r{il(581DLZ&BG)((o6oeb;^+k}F{A`DZQvY4fOkg; z9iFV5+~5M!m~|Nrv4EhUpxW#2{_4L~hJTmg{B(GEW?4k0`?vGUF$Gw_BTgmN^IJgT zEAH`Zsp1;v`+mqD%74rn@C@PyVcCvwJdViR6B7mxX2L@gV2)9fY-Vk#3vSL4U@n5?g=w@SdcCtz|9$Lkbc;rt#cjpI)|jv97BVjBn`1dKa_QbiT@ zr+|2vS~9^vaDxbYlo76xay>UC>=3x22lfD6g5y8ybpF>V{1(+QY(&6pj_tALvSlx*@(p*p#R_nO`P1bZ8z21k`<x!XO%%)sG!hHv%F%cY&T&b= z3z3Is+#5CxhXbx~3~mAXF?t>m_A|ocv9L=ykox|&7mR4BcB@&;gdBu&YrVEVZ5$B? zgtKTPoD$UT03Q;st?=8Z4{khE4nm$JG6ed={5|>BlOK3sV8;88YR$_;jP6Gm+>n0w zoOC8Hw9}V9GdU@cHfo$_hPLHzKOXT=^TI=eLW)>-C1eS?1dV{e!jJ6A9LUc2Dg@4b z$IeqCsSD~=^dp84^qR89slQy?h6GsPVNh!t$OEaq`LQB)psA*HWhX@Yv*ruh1C(ve z7_ciK+>gd89m%Ow{LI)_!1QD#YGDRaR|~^{7x#_jluWh z4^G4?K^~Yu?5GAkq&f;7x?UDl!~D|B+&zE1Ts0G zRC+UmT5Sa0YC%C-wj{k*tDI)dHJuPZn%J2VkqFi1Yz#n_B-wzaNR|y zlftkrN`?8@6&BBo^9RaSc5MKyB%4knC2x4{gzVWnNgJf@e`yJ=o~UT8~8*b@yUi?#99pHhv1h$gOi>)rUP9!!NP`MW(sTb01M{; z3w1v@ITZj%k-@QYgTk&F5s!=sRNwMjl33CmjC}(W-#yBlcfTKA)|>^%emPSjiw(-t zC@VE}(9Zb~P|nsJaGY`u5Xr2cocz5^`Wd^E1#?bjG!Go&!YdIIEK zy5v83O+LQt*7is2U_=T!ui}7tXAQpT`2!X95x_E|MgY2f*3dHaW;}t~R(h80n{uYx zQ*LH_>*m?5y)DoG%XZwhcZZH*5g9Uj0xJLk?j-PGzO=l-BP`9gQjAS)w>6m7iBzF+k6Au2?n7fePqvZ9Zp)dt)fw`kF(Y_Y#RI@rn z?weCEfC1qdAVvrnrQMb_{%wygZI1QqwkNb)S(-lMdC+!$F`ndey2$2Bp?jXnADkS! zeF>ZBqQrq664>vg1n&38o!IS^5xpngLSo0I(6eO2#V;NgY+f{<_)yI_%14S{WtY23>T6H9$q z_1lgr-~xF>?HIdJH;1dIXAS_@&;ht}LJ?3^#Qrhp*Wv%krTc%`qVEakw@5!w3^R)R zqokd@qKTj6>c4MzUH++Y2@bn9N%wmgu@u5%mrF=1{hCb^05Q+KN}y>!ln*q}fiUBe z49~X@0H&^k{7FH^WnnTFcj&7FJGm2{0gts<32)JICf{-wEvql>eG#RFL6GX{hHzOX zj$cH>&Ba4mGICbCB17J=8?=9XKQ%O@lOUfF1xqAGKtOQ5dl2?pkj}YhAEYZIz!oU& zXs<5Im7*j2NshyymFY*WuBQ90!hGan)O_-48TGtVAA$$h+%dUW>*^XEf!|*eH~yxb zdmipPb{ZC*m-ytNL#I$(f~MuYek2jezav7un0v1812jl%*zHEZJ3avJEA`AaO&88O zM8iD08KCq$QaM^=^69d9khWsut6q0U9_|bb%-bx`N`l(Wq zq|B_~AJ4e;^B4E70PpH9JC5}Gu*9J^H|zsI*iZ*;YjT(je7MKU!-EBD)}j<{#WE%9 z3yKucg}YAM1_4D%o`l_q9_V>f6Pc}D*}4>>f%ME?{p&omoSYqO8^Gl`^5*rBG~9x< z?cbX%4qMaizZ&z`!~8H<>%acfC5T_+T+juuOn>_@4VXc~priAG{%6hWi$||bMK*B4 zNIq35cde!+VEsLZbHiI5%#8;WOEfN9I#If&d#vLFOxRn4di5z6=?~{bslY-Qj3M@S z;i8_s84UPo@7$>?U+P%gZ&Dmm3z?n)hHv{pvszZKEm;@)z{u_Wr;#r@__i4_XP(yk z7_q<|fchDeVc|LlpQR4M-I!6}Zu(VfVTLAdQ z^HVNL9)E04wHMjwtN~0Ix}%XiWqByMk!*9U$%7b1OfPVb0RfsV(|YOn$0mvRo2Qnc zh&cuO#bSs^y%;K9>#^u>rvx_WOzKPE41EThjoibpjTSD2H__a?xf7e!E^^nN6)Et? zKVvK92gDL#V80r4zz9=us3mDY`;(i!ng|ehRh~~Byb2ANTbrr%hJ@2`El+3HB8bml z1MlV2g}j@CYf$%Ud?>p6bl8&jP5V;`6jNa5DtJAwcK7yf)M5X77W;1;mrR<2*?*M7 zq_~Wxq^zafsLPQ~7;Q0~Z*tNcbjLhcQ%K`9kb&vsZplKZ!oXC-ZoCH?=;ORWT}m z-$~wX?JtWkE3pOzD=2b;TwJhcjjF72^jZgi#P5f!dUAP5et$z`GNF|K&b7PBqfu#u zE*an)7`)u6>HXMS^%k}|aQSwGENOc@W+Dvm^X9|A4 z{YPJZrkDcGLi_btjT+zPVqK%vzQ4Ty?5q{-I9O17Kr%`Iw@VTPecXzQ*V%2fPrkcd zm6ylSr3P0_YACuK9+WwM2?yh((*WZy-aSk*E1&zTQ=q@S(lz2eB7dmC=(?o>8=0&F zfpB;>iMTwJVB=mHbqb4$ib7M4c~{qmbviPi6Vl1nn-0N1j^kar+cOEK=*;6MPsW0K ziok|kGLj#Ye({vD9K>iteKbKdh2ab-@M$Pug6NExLdq>xG&!$caB=J^jOQu~TXdJ1cVje40{I7B; z_n)AbO%6`sDcleD)gTyvZX2uHp8ibd@pGvTnCP974;t=VHgo4iYmPY1`u>i;W>5d> z-ber6l4%1KyCcLbH~_V5LFGB8!)tZ zkg(QjKd6GISE$mfl*<)Zd^z*Eu8`ex5Jvt9o0(-|Q-no*=9m6&>-|qh9b->^(EpEe zxCe7I!@F(B;CX!Y4MAU$Mqo$zd&leJXz%D9Q4PT*+uic$YjFv?QjIR%?6XK$r`Zhm z{p%Z`{FDN1jUMN9X=(pM*W_XLxTqaDk@;2rMMnn3Tnpnb?X$qAMl|oI%V^j-jB(0} zn<)Mi&U4fFr6jOCCe;E9tp8AhQ9m%eMTjNX@6YXjZTq|b*CX+m2lIMte4@zO=d|E) zZkS6q)IMPxtu@+SbT_N<6AI`Z#5&cmn~q!me4_pDY2~egTG~Lr1i&~0!wy}O6|blr zW}qK442C@%STB%RCts9i)M|aU*-|+x0 z2HEvj{vVN5A4S%=0Np8QHz_E7jKx2V`Rdh6c65S z24^hCbKZA$X0|ltnX02&)X)tqWIH<73~gXi0u?j!+w)3UBxnwKVD6YK8b$|o%Zylb zSpc-v7T<-lLFm)cT^Qv4INe{(u&VR?PNiEe+qR;xaumijbIh5B%IUaA1s0a5b{vUhq9mw_GzmFp;Tagecqiop~dW&R4 zrLsp#Mu_ZeQ3?^+du3#1?~$3kW$!JrH^0ZL)4A_+&V7GApX&SX@4r(yc)woH=VM%t z>$)D!aQ^zb<9lo7JChz7w8**W%+C)LWEr_b=fhUHFqcbnV5pS$BphJpu5M%)n50os zm@1r17$Suj9R&=QWRa>|I!v)nAB95K%QYgk>6wC{X&vhScK-jjzpFF; z<9#@rz?LK5u&}U4<4}I>4&*^ODzc05wbhUTUbXpvEGJ9+Un>#R&^YH8Zw}IDYI{98lqNZ#<7cC!!9yunY=W|LkmDnRIMsA}AZ%0|x5>U*k9@7xwK& zN79{h`p|DCEE<6QGgU5!X7AwOk&+|0knLHh#3g?{&DE8n(y&P$e;a|FbeY+6u*be0 zmZmcGUdUx%`;eTLnKLOa26No^NYYDM zt6@aet9ejx_U#l?=Nk5&g}d%Y&Z=N-^%>SBz7bKqeuA3UY!6un+}j_y;8N&fg?-h? zOeHI~r~$&)U}%jQ>@Q@qVEL*0{kMy+{QaE4vwaWUuvfAQ6gLlTb>2X~vT-pE1U1Mq z?#O*-OFNkQcopgC5H}Tz{`ILj7qe$rEot;0)tf51@0XZ(KA6uSK=9FHn41^!>b0Uu z4|WV{#Ud|T$-y*`r72W^q9n=PDoHUt0;xcTntDHYpT45e93ea(JPs|OAH?)$bCgDY z=WkyHrRU>@w-DhvMz`W@TdbR&iKd(%vRRI^Y;R1^ADbB&m3;L6+s%Ua2k?&%^dbEZTp(rPe7F_; z96{bceHfI}kEK*I;0{LVcz&94EQ;7nIeMQv6fKSjHHb6o7{#NwWp*uPS z4ij~x$i_-t$NdOCoyLj4Q62f zXvY8cHvh->-+LTN>1d85*t+1wstUKt4n_%H_N7#1Q1>AjJ^cxyqO#w>>Vt(bB#}jW zQD^@ac~^4Fp?#paNf(6fYEw=`bEyv5yZH3!Q?J^dk&+OR=vJ_)fs>LQ50>ueNt@HL=3z_e@c-@UYwCWvOd}0ZtR3->m^? zo@Te{&3LVMAXvwI9?k@|TVRT6k<&7Vl;OQ-uT2D&)*RNkkJlow|;)KNyb7n6yE=F7Ko34`v}P{MlX zgnr{-RZR1Pdsz?tB|9M%@3+MOC<8roSoWZ5dN^+;P*qihY?mGEV!Lu$&;)hKYLN{Z z2)CAt5jJzok(A{2i{dzceblbuDDW{6KOM~hQP{sLS&@3!9-=xE^pt#=$LDf&%s2r^ zzMFVU6aYKJ0jFzO#MsGDy{L<9jT~uN+fg?F!F_~{0za%T)W#GdqT-bV!xs8lwlx4L ze8I#@2Hed;{KYbe|N2vZ>QSJWFe-{L`1Z@G=&S*<-zLBqD6!3ZdchD>qHhdeK(Ig7 zB%N>hRRsZY7W(rzD<`iYZF!RXdxBc+?gIS|rULM-nY3}V}fV+Tw-(_dzPFaZU@5A*4{k{ zJg{H=G$X2Xi4Zitz{0f8U{|1}-DRR80R`$)(j*N@D#nvCpgrUbXp?V5!G$kt1sVq~|Zc{ePYplpyYe3R-l8A#m9|qlyv6)Y-FVF)kg# z{9eBF@W8gsK1&|sDBS{>rGvuZmb5>MzrWbWU%x~D@tdBZKw5m^et52Ru=GhA6i)4B zj*hS0-RnuBAp}TtSHL-!fw;$gD)e^3m0--+*w{yPZ_gkbqovf;)Fe9E-2UUc{*Nj5 zfA|NK627?GV+)`H_=D_G45^C19ZrB2fy<%ll7=iFr_&T7Uu0e6|>dc_4^ zllWuf-d8vv0}$3|1t0%^KXPwzU4@*u@|sn6XhlGyBA>1yJbpVtj;3wo+OH@0|9B07 zv8d9cbcU@_&VUb1nc5LvJoo>8MGY~0a!>q5^Y*uJg*-XB7JL#^(6r`NxxdBW|MDI7UD#qX+=05z4(*Q<9~aT3-H+cWcB{qM*ZG*{r`{E z&p)^S|5*L>b%bLjKE2H|^3MyH$&jJjLaPi^^RP=6(jmP1XCYbne);l+t!Xm*UBjd= zXm`W_i4`6M1FYe=t1s|=t5>Z!PUpmBo!j`gT0@H?1E!_D06{K)$$aFo92OA31iK6T zfs`l%gEP2rT86mM<`Uq~DjFw6-*?3FwS3 zeFzv_`N7&7ap-!^!rUUKk&=dn9TH&xG#Kho|2~{;ke-C`NgzyKY%ELWJ|t^{9n$Z8 zBy#vj`K66sf6ZH3=fA;z1!VUI8w@zD)WWe>z!E?)q7)eh!?1&uN;2pUf@*Wytmy@F zKXPX{cdkFaYr#ncSY;2N0Ur4t5HxOwJ!|@?R{k$7FJW9O3B36?bk`Ep5##{S1RvOkEX99CPib0L4FFGAG+KU67y{XPHjC5Pm=a(IO1f9aD^XwF<@ z`6i>!k&X|J#TbuutA1}t(l@Yc@c|>R8wk9^%Mg_-^^WN?Ou5ehb2;GQx2R2RD$hJ% zUg&py@V^lzcw3DlaP#erc^jg_GVJR*3i5aEycwy18t4&!r|uy*txUqKZF9|lLKUZ3H)(tQFr1F{)lq^F$SpZ7BW2J&)WP~HV-9e}OjMR_Cv#=p>~b8(;5F&DBz{OKow z4PdVLW*TOd*J*8L&fHXm05XBVe!xyrKEb9mqTl2BrjPdc@p1hI!*TE;;CX&*aD1&8 zP?o8*mA?gqf1Jwy{>Qg62=p8V+ytNAtDGdrbnr-FD{o-)<>6CP!-ofXhC{`@W~CII z8f%8roi(uFWddl{Z;_S=PM=Z7<9G`8kX~)jn*`5Txu0 z7?bqt>JT<|v~(Z?T%!-rAh*>K2%3zbF4}ISymtf_i1tDY0|c^pKbSNYzMl@4C}2c% zQv`Tw0geZ&krE~`MY1j&5c1T^T*v{{Vi>CJSdIGi12$0#j3J^ViViPo0lB_BV`J@! znT`Z+Jxly0k0&lq4X5@Zol1#dwa1pG7)h?k{@R`Kvomnu1}x8HcZ|a2O;OI0Si_hB zYmZym5#h*V>Z{Zu?7g6^`DZ2>F{J?cco10h4q1kTP})KZCgOr);pRnixjwz@fCa`d z*l>rBRrIpCU6IdE2%QZRZqc1>q}n=^_s1p&YqXMd#1VmedLC*8x4^+(aop>2sbgP zos?(P-z`53@b3G?WYdGaXV1Xegndx^bhgQ_Pxwvm(OpvX4shUVa!>GvLnsB88=HrouATEbR|(HAz&y?mc&I{QMprO-m5c#nFa^)_D-ya! zb)d@B23#?QQnB$`Ry1M*>_s7Z1)SDv=2Ix-G>fg+xV>_*4k$00a~V94~~F;}n0zWW=c$Y@JL&ZYKp)h)Ki&0TAs57^$*R z)M4}Li%_LdF2kBk^zlza_aio7I{C&UuBrAF&>UdedKsIzuvY)pOxeLYXMc4))hj{3 z;x{vHM2gwlsoxh&IdkXyUvTJ?7}vc{eU#FxSwP9aK;o3uMZ2wxhebuV%UXcj_*tDV zLdNg>89;?{vbXOPz%1fDz?T8hkos3(x~jf*il$OtV$N+vc37;UKPICTA2>`xzaDNR~Z3J9*whALmlw9)gE&hzwXz0Tja=jbe z_&a7H>_ARUx>yOb$I5ztR-@fnLPcH|D+Tw(d3AsczYb0$&Fh+&EjQynSu`__6nfTP zGW%?!S$bwxau|vDV6H?R!6ck_J67V^oZ+wMCRd4as%rmAgY)unuLfZH4m5skWNc;F zpDR0Lw<_C4@Ztp?Io^yOm8YOVH(LRmBV_b0!Q=r1BNe2=4|z&o763$+dRTI%4TP_P ztKWbm-b-JZ z?gr;(BcotGK-h=)p7Z^JCs~zxX8xIfhcj_B0io$Hc%9yH!>Qqp# zRbuRQZ`L@rJUpuP>`3iUPAGRG@{w8l(?K1`R2r;B6c#E-tS0G8Jka)3%TAc}kE(Z}Ulu zaEPPx-_MErL?X<1jmqKY@DRqV4(S8+b4bod$Q>T@*_`km1MzhHO^tYNBF)Tw|O z%9r@=rQ?+3OK4ZaD=&NG+a3Z7w+=+2<7v`2Zg~1g4Rw@b|0^B*S-$>XM+sGjY03wI zI3T1V1|ACc(=l;+v?ov?a|8c*wm&Z&Ce5FOcsq;;=R$xW?ejVvCeSg??jin5z#<3$ zVU>2FqXspy0H7X(Kg>vHIo=KeI2N!b{qQj0N-fQv;U4(i7*Qx21bl`wv3s%d@a4T! zm3wPB+<|_6WZQ7e8f62%-a4&Gah%8?BkEtNSB%bR{u%?xH|B4k`|5q75lz_+in~d( z(@R7pN9#dBJ2A)x&mcP|m>P<6tpTCxf%yI*W%QC=o)3yi^3|3i9Dy=G7Z}SA?f3{b zb`;-(b;@fw)DztGWeb|o4D39dA5^{xEA$>8 z2C3j@O2?Mu%05?!sjgnenT~XJ(pf-Ofg95E#uf~P(Pza(qVuihS+$``8#AAt7P4-& z6&PR5S`6)q5qS98+dJ=T>9bWG)lh!D8p|b5HwgTur;^`SY_YMv z(4f$C+OtvgUQn#vO>FCc=7 zZ6HRlQKabPGBlyBz^aLp-gR}7^p#qm`;G&eYfSHMW{50j);M;uCa2OO+;qf&Er#L( zP8K3*$emq(FqRVVxa&i&rLg(TTO{e%sf`U%{xg{64`8V!aY(6}Dae-zGwWZ8AeAyz zUrcD+#uAMJeoUtMto$sLb9+1U=>hb5bWtL_K^Tl0oK*LavCDJd!7qY5+d zDM3c0nFcdF)kv$#V4m4Sof7xO$icC--b0wGizIx7kyrMUK^4gFqm;2m(1m6qLK%5r ziI3X`3{^b>IcCI#LQvTXwxzfYUE`qz=3He5@S(qpihc_cxyt$W90qRF4N_9lnBe)f zXo`dg;OaobKXLRtGIM@r{jxvg-b1JwYQ%VSp=gEHfA#_9@y94FLEUC3y^aHC0|f2m z%9K3f%WVaYhYpo}MXH=t&5z-}Sq)eKASDk|9vMw2>OGFS@hRO({NrVt1mnkj&DX;u zjOVz-Xv)IK)?zsytR0-SB(IdlevZOIbzLw?g`vgXB7<~hx&=~b1E?oF%P%gaJl}bC z^K_~EQ1LkIZg>j}hi2UTRleqdML*|TR~mHl$k>!x`L6+!`qCDdO&}1M_4BiQN5)}u zm*;gzCF5_Dk@gnzWFJw$&^K?#y~;YJnMGx``(&n4PQo?p*0i+B^;$xeK$5&%tk zy0se(7Ixt>brQS)6a06;7%IDVGyD=Gv_c=3Tf?dN4fQZ*^`nLWGFb|;s9gGNW)c;# z1ff-5TjFztK2O*jEXl}qXc`F$$9G-FFeL1|Yi0HnkB$JMqCG^#tm8jmJ2fv1{n~d7 zMx)I1CapRBE#<|T7mjtkzbh%oA1UXv9NO$Q@ulEdtHL9EwG-&BkK=>aunDOcZ0J3q zM7+t3U&wQr7{DuDvB*38BCCR{xp%NXh2hefhtOx4L2LB}topab8YG@lH)tm)cfl`Os`Q2#8!F%R}Db` z0IMieE4IE68y!(P(1@C83E_QZ0yRyI6?N0%;@x^!eEAw#-Wpixmrbr*m|%^TY%5Mf~LdzlSGF-RI5+^4$lSH_@!uQr{9SfZS- z>(94P2V-{xgrATiK5HKM%H~B?PVX5(*8Oe@pC%9KyFK#9p4lIL{i_9$VFU? zgqx88(6ZKpoOVL6NT(<5UUC5M<4#H5j75Oa{edkk15}Skd(iDqzCIW6_HeiC@EtTH zQUFJ??GKSBM2R$2g%85i;9=-lX6Db`Q=L%)7>HI)&$0?w|MeiG@igp5lzTrkQd%bk zza|?!7Bn6bx|!FU&`Zg~!pzJZBcONTw2b$(xtNdVR5bCgSI}I}4VRo+Lt`K#tUy0S zMO@-!QSD9+ZQ2bX&g-36%AOKc9Z^@L^WdnE7(H&dX&EB>A3$IBf+9Go!dGwe9ES25yFFk(wOUptwrn|Kv3%n5e&KEr@se_Z@shoG z!qQ?f$B=Y^ra;-v;5;)&##6Vk29}hc5T>pc=JQ?MTyTJ*6K~L9M1=c_%)qhH^*{c? zyQg|TVp4-J-9z9y5>p|!WiE}?JEf3j7W(QxtfYMl4= zky~6VaP*pKTN7q2)4=h$+!uTrzR4rn&n?HYB=m9z(>+91i~L%Pu_1%2WEK= z%UX?ATLK1@(XU^?7u*ijqz8GE+0F9(!fz4&wo|2E6KjXgJ=K8wZ&(mg54F@JAXq#Ycoz={e^qh0&&P{JS zDwa00bLJwX+cnXnoX&R=+FhnsZod``WWrKlkaV65WUxsvYmEx7%wZR8XSpV2`c6se z@$qv>_xSX*MyfKB9<&Ly z$6Gz8fI=RK(4gVnpMx#oFDHq&5C+}zrR?EZv-fgyWJ=TXtMTJ!?RYOW-3CPIbgWsL zaux@SBszJb56YMW_`3{90jZf~Tt(sx0rK9H*I0!mgEaf7XOh;Q!ojro?kl>3h zhg%581>J_pt@BFxN}=|1KaaubmPiWtSTd+XqU%SA(Mz_TZ>D^+W^YWEl$IW|xZvVy zeVJ8&jcD0-wR-esgitVNGY@ANLyxHIbaI?Px_P1VBkQz{70r7NMMP)Qi(}Mqs72EK zh8TjD7)QZKQ8A_m>#{oa!s7HrD=f$w5k)u?dck<#F8kkjZEAtmBRav7H;i)`ApRMb zW3(90)>i|zsm@uonsAA)8lgoC=m7H{saI>nD){K5bX<8OzhtQ0Pv+RoQgM5HfusZY7|k8QDz$T^FM=5Xae$n zZgvr?oHBa2$WmeL?(PDwn+_R)<#Mw~qQFO!`pkU8Uhdi6tb}o0y#zkFVD9QIqWIyG ze4eCtBu0Nt_&-w^pt>>7X65!zmM8*;l-GDjZEfre1TT-Fwh>qn@DAs+-K`G_sW#6d zi@meV3Q@{gf;xGEO`~KfNa_CUWhGVSeAB@nKNM4yjzzfg{s4~d`z`wG@9X9h-j|1n ze?D)`C7d3`(8Ebbfqmj#$5K^8^>rCZ=~$)bI4=8FCu6rYtw*u?dx2|;C_D@eT2e;A zdcJ5`xWX0$664}aLi2aSFmTPrnI|;?2b@&8QKGvnu9#vCj(0I zcMdm=?Sb%ILwFrrgNXXcQ|jcwo^lj}sMy=J*dxXN@3-1JdCcTQ+n zIYwBQ`Y~mWh1GrHIXllO?HYfqF)rUd?p)au#T#*EPhY1TKZn&(JMZ!wm4OKz;i8}g z$OUNn_w^CJn%c8T|4cw78ot5!q6^n9i#J}8S0>WxqV>0^f55=848olVp*OunG_9!PpH6138V-sVOSR|RgVIgU2%C38vM@{Y?&Z6(A2 zq5uiE%u(PHg8XM>70t*xg*~}70nup-W5-^+EKsj4^0tr9Y$O)*nd7Ys)kBn?tGl}r zbs7X6&g+}1JK?v>@-FW$w(&=Pvgif(Wp5uYra3w$xXP99UnU>Q zy1GdfF&U>XnV_HA^**k)>0yywW=y{DM`r;HgV&t)TE?Z`mw%67>mP6 zke-VcOTDHXT1+=7*pzNTb_{pgHg+%8eX(d^a#|VcfR^J{ZINdxilYm51%-6kMh?R9 zmXs+kPfDb33pdyc?O*2X(J$h=x@vcEPxeCIK>!d6^bX!k6~tarH`hH7d#Z4=4w5z6 zC*PC{^u|DK<7?fLsP>%E;y4FedHKNiy0>H`iO)8s z#2w1=WZrxFdQOF9zaU7w%4F19M|*8LtQ;Bvqj&d!<18J>VPrrY7Y*opF4`x6e+A`k zmpRz07HQmy7j?attdO(5-4RtrW?GL@%F>Z_v?R9nOtXS1RKUIlgu+_X30&h^^3~9S$ZR0xhFVp*3;)kuZ^S;4qCcEoPIE!dk zH9SUCc6o}nV@PSz%T~uMmalW z;%b)B0d;`GL05~qU+Yo$`o=Q+DJzy}TlU85mYNAo z)0$b*dbv$KqWOyD!(@ZUqHQh9j3*~I+4l1$IV$${nr|xSako(72@az7@1JI`q~V!0 z52<8!;(|oqfeS;?Pf`MZ;1i;xl9%6}|GaeCH_o9kf#NMU8aDn|+*0YJu zl3opsG&|d`3xnB?zIEo3G2AvzK$PWj;Ego?K#sBFc%ii7_d;MY`Rih;f;-OuD|x-dF$IeM48I5xj6b?d=zDD#=DCX-wj&5d&~k zJZ`eHH|1Bt*&1s&kl&W;(eZJ>C5-z7hjM1sAkDX|j#5w*5?IqZS_bhOg)9t}^z&qc zt`)Jlw4EEG9_l>;%k}iMwbp2L(`<1_;^X7%p{Z{a`||6$?z$MD?<%`C7#DRV-mbK) z4{1Y)0J)Zq)Vwkt05G|e!(Isl-xozbF~Ogo*a_7)B;zZz9>p+p5XwM2%&hMr_nM)A zJM3c2Q_|P88uuPtDU-$%QdN&pA$#|#?iImi^l|5b6N&Qg-M_wtegnp_?T2r4V?o8F zkfzo)`<4z?%Evqkf%W8);;u`F z^FxtK05Lx79Zo`o)T*lhSr{4d{vQz5f2n9OfeNiPqO)!44KxQSDCEBmc!T?t!D?QG z{xB##5WTIDJ2DO;gKmT0&bplImTApFD;i2!=HwCFe+pIW;paY(LYtxrm*Y2{> zwQc$ZVjQNIRvl#Jid%8AlfH=I9&nSxyvp2)%o|6KA3y#GG+N&uH2x-x?+hz1TQ2As zmtQ{~WEkUuXUW8)Wq zVcZ??C76(5XA$q1@)`bd`i`Xz=TyN*8sKuLjrAI{6hjgOn_{uHJxo|Oo)!i zg)xpzt_3|zL6+ms28jN0EI`NHJ7(h5xniJ*Jt^P}54TtD8PsyQ{EpON8>t}FY8gbh z3QB@073WBPIFoIWNbb^$`VL>Dd!6^hcY?Ht0VMT4+JW9}vrVLDec0Wl8?(9?Hdd1v zbd>JBF8=UpX?cx~qy__7#b;z;L+=4EwXcuIU<+7#lOX8GB`g9^k|xU{6bI%^CCA7g zHGN5nbknr`%D0+9kOxMI!r&wO@zD*aB@w+~KyFwfxIXAenNu`PeJQoKwd$JA>L3&V zsr7V@_TFbkA+a!==Ms;9Mb+W<)Vo9Ez;^gz}DD6&xt! zB7~R`xcCvCVERF!^czRub7#uWWq}>gSOB1A*qPLQI zFf8l4GUf2pNQR5}qcO#6-^9>*NoSaWf0sW%Ixtj0!&NBuX_4mp0{=&R^jrZxLlf2Wya`Onc)jmQF27%AfPTMYA zP-PMsoCZVl?|hUeg|kdja&p~FH<`g$!SmF`_B$;}gu>@m3&2V2&C7RJRs;W3eYgHa z^$qbyK;Sc>z`*^aJHL*c*A*h^D6hfFRzh4{66Cyw)BAAazkI*@35w|&NUV=6dI`@h z1D@MWx<6#GE2*fy(?@;xn$e|-E#5JBe__-gjwF@(OebctbFREjp_)NQ+v4?pN^})L z>RF$4ylK@da(gQjtxmazd(&5HbT2Mtb$Rvy@2}`?nwm10`!IV8t-Jy!TX95|3IgwU z2vY;>U#Ck#Z}$+qgcoVKVD`9kq!9j25uA+-2N9CAk5mRQ(`&*2apilC&3f+xLwfOw zJNvv9^t$3%$1XkE%aWxJx3t<26)&3!;lG43WNJiC8rl`R;Y&$ z#{O{q?Bf!X%UK9DWCy4r!57=S5ypneHhz9{yyRTW9jH}bH)atWd?vkJ5+!cI%6MB{ zT1q@AsNwW$9`SMplLq#@laYvZw8llN#jvF5vQY4Fd-vUo13{_evM@@)!%}XLGI!8! zwMl|&9GnLgrDSDuJiFLl4fSrZ9XUvu(be7Gvj-BKpoMPoSJ*1*3ydn8sTr6B^Xj)( z-PzQQg&-h-HU-mH;mUP80i!-`JKff(T4dM=K#w-y+Awd8uJHZ%@nZo0Z(Lqw3c4d& z-CtKGBSJ{ypq|b(a|HePBcSEvS}wgrsF6%Jf<^|}VC$oc&uDe`Xcq}QF;jSA8fJHFNf@pbBocQum;n7PY;Kt1mGFLU_wO$2%LzWRYAj-ZZ=L(#HRTqRbTFK z*FdEN-``_LhAlkMRHsvnf6q57rKr9L8Q;Cdf8WwsWgH&1*~o8aRmtB4Q9PDhNFZdK zT4p(>oN()9QR{1z18E}ACVlqhvL56a^vLl_Hb=(n&dTy2qz`xi8@ho6wQDnNV*JKK zh({v{p>$)4AE)NfmQbqlp84>7KcrlQl%YF!u)m8aPmsrin7x6c$T33e#uPn?S{R9V zlrsI*Fz@HGqjMPftLEO>AoeS`Wb7(;UlLL?AuJn22`#q`h^zp241$NUD5e=|Ke`BX zNrZ6i>+8$*Fy|N~t&ng;a+52fN%#*&h;sw9P9oRjDIx=R+uGBqMoQ&e!(ed5<}?L|sBxdLFt$haem=nH zqDD6d5P?^uzmMs&ju(il#2jdHL;Lt13Vpi zg|dy1)h-PH;{w@#913H|0`(Hmd3i3O18>3?{5vIKHlQ6E50&}~%p9a3)fn0TMjfuL z>4f%afqJTevM<+&wMBR{?CHlWD-y&|&c{fc$4mR}S$g_MVALQFHUOS4FK)bmB#;P6 zfS%~h_de{ILb?BxZ?lS$L zBZ_-Zw-!;+#a044U>fq%ii-HP%z{BWGwfV-P0-}QfdakbPRpDGI4gOUSHX<^Gpr`n z!6c&v1Jw|IBNm$uQo_#PF#E)WWu>1+dNnq9tY+J+q*GT;3nv2d`5?W z{N#%;6OeRiL;BS6J6)a_AdeoO{qMohRI}XwElZM&9Ca@?0s-VWy?Tt*!9y6}n@Ejh zkCSB^S|qL>-XVIbbRtsl#c)$1zXi$!Q;p;GP#Bwj@`lXVO4ixH zcJ3>3qvv1G-EGG`<(Z-=xVr55)2h6GC`w0eLQ}P!@b)1FP8`I;-b3Ncr=;}# z_qB_BkKN{Ke@gHMch7NS@ra1~rNhH5U8@eUV|3B(_eHC*yYIAMoM*XKowa)B=FO6< zr`;W^YgRE2CKso}OTs4CinGFY@|?*(;>X-a7bhhn7j2ismE!-rcu*GkxtUwlSGKol z@zeaS^}<7)Ql86`1sT2J;hT29`OymL-)5sBtB=oKIova|+F)moybPObvIjUV@qRo9 z8wI)%{8x?|sarbt+#R31ku>;NVQKYAbMC~_j2&}W@rwxpc0(&=owNT12>F?J+p6vy zhlLA#8k=X(niUo~>Tm9$=-yiHRuP@~0gSX9-6}KAzUori^FjQB>X@-$KclSev`R%q zfV!!;8prHCotL~nIW78+m+Q+0Pe99eGqmepM15f<>G7&~ zqVK8@oqtQHaVPri%b(>Q|KsaW#P}q13tA@pf0{@H(~lgc$f;qbt6x52f&<;@;GUPYnfGSy~!norl8ybdv8gz_J+<)=Pmlp7ZRXEZIuMh(`J z$ltxIEi6Rq-Pzr(;te}7nK?O^NLFF$!g%FMnOH;SpLsz$!pZTP3pv$Vi3X$myoVzi z){|w=uMe?s1}~G>Xhtyp)Q|qhZ%p?UOC>~{ivLw-I)y%O<;%kE>m`)k=~hy*_fG3? z6h3M^yc@s&F~bE{9FKt=WepaC_0Sa4=k?6a#>X=uX8e<@K{8Tww%^g9;qc z0k!8D4+k~$g#(SpALz(+phTO5HGS`3BHo|%>1B0wHKOAA46fRg-7T0uqPTV%DysQh zsX%h-$o-Mz9U_`n26s6>hqNjV#O}UgZ5fQ7&iM0j{L;IQlZfi=r^3y4ak?!=cr+v< zs>`^B5B0^eW8Q5wrI%fn<8%Gd?2_|lB$8stt>&xi8O%kJ=2Xzb2QP6}S5_vVm<${~ z*vRA7u6rwIB+W_&+=wBY8=?HNLtqeD0ISvz=WDI`wzs1iwqF^Mu7_#Zq?Z3a^(YrH}4)E*god5HmF}F7C@z@wB;OZ?YTcsV)6N7pw8`X!6dk7nvYYB)EQ|uK) zuV!g!nLwOdaxQ=H$#&)GgZuY*gkXtE)pY+>WI=qqgq+B>HdrEARgEua=TS}l8L!>3 zFxcb!MsWDX4)Yc4cv#`qTh-;rMp!fXxlgy2jycSeZhn#MExpJMven1UmF@9WeBt zz1Ty%!(d+O9l{0o2bS(%T2OE)AN zPLWO?i|WjNWnitbJ6dry&zfkqU&Y7-XZ3T$Z)JpIT$C4$?YS1Fardviz;Icmk|h^) z#Bq1XzCNFLq4pQ*SVg)O;Vi8PI@WKbD=F$=C*x-aSpCSyKhByqHh%iIA?u&Af1nJ@&k=;s8&#=<_tV-%5mO zsU;(XI=&EK){Ra#ATLK=0%l}U1j()a_R+(g_<=K+#_g2ptF`%_oAnJ1mHev^%t`48j%#6j&xy_v zq_`;tCx(;nrFLPLEtRuNWU7r(h0!bD$tB$!s-9|a-j)y*`$snVi9gacVcM~`ohh%+ zDUjC;Wj_c|)4ved{CE;Y*p;fnG1i5;kIj2$m^B6Ceo-{a%&>q8cfxm=!1_^d^^N23 zUPgi85lfKwH?$(j9NKJzm*!xR8 zuY!u+R~e+Gu2k`Syes6kPOd1`XW#icZ@2O9?sPwM=ITtG1L9{;QCZSa_xM_GU(86l z(2X8?%$C&XTW%5|aiMVP8Hv;b-52OC{%DoYopm%KjvhG?^sHc;6sMd412;~b?rYiy z#3?(5E_cARA+a=Krgh|j_AXG8=!=4Wz@yHX_**^JvU;s|sqG5n<6%ta@`V>O=C~=d zNSZm`*Xj>1zrcE2GW?Iv{;1da+0hU42o>~NH*NeSQ#lVR);}L>(Xv-fCM25VXIifK z^(Xtq90JeX9;IQG?VHKyHnQK0U6LM=QetGYVm)>&rqd|Ydo;O~>h6S9{UjOhe&oSf zm%LsjQZ6!rPCRF(Q;FzTsURzpFu%1#|Ab`p#aKJQYsXf%tHx&w>aRMi_S^@w>-KKu zpk@EH^|n6)PWW+L-mR)l9i(Nj(=Yv4ZSaJ2lha*Q%w^aA6>9_e66Nn4Zxni2()Biy zl!G1x+*Z6JkGoKW1R*lFk2t@<>9dNG>{mi) z$z5GtnXp^pGweoT6cEUxHXv|(Tps3M1V6TFe*LA+9{8vP01o&fp7Q4hInJ`G zZjlr6p$ZeXNVg&jX`jgJUZF)V&cJSyo>=rxVAm`vK;4yyI(hBt4_DByc$kk>sy1!z z8RS$fQT3~LhXj8;w&`3_&69L@plI`0pvPmEF@7P5SUAkhH+I{Lz}$m20#4%Id| zQfR||V_$InXtP;>y>4Tcp{9vP^}y1hg#3$4`G>2?t^19iXO&tDKYWme{f$*a;Bo~oJN9zvpEG4 z-{IFY#KOv!e~~2&wxTOgwKu>T;jlp|N=H~I`v}aKZ_jt*n-U9-I3@neNS00wb?CKA zk&<`SP`wzNR8lIgi&%DzCQo)2nnB3jqaDa&~5RKen;WzR&Wr-<9wB;bsi(}-J@ zX(&D8grdM|U!2>6;d?!>Umn4IyX|IPL#g}SHTm*FhFE8@xJ5C1P}76$=~}hHq=X0- zWVzl&Z@C{(2FcO8ydKaIEH{1dD-Vg^V%UDNe5ySmr*8yzmCzHZTNsq@gMW%CbdxIN z8@y~iZSnqij>{gJO8&dqD$ihadp(jWX8`7YR9!vCX>14(Tj2Wo`uxz&? zcbd3Hdgh}G9c1s0d7s^&$};6wz%^vW)LX}4#hRL^)*vnc2(NsK38L*)dvuPny_F#J zPe>^a`v4|jMCA{2O{TpZgg-4V_FTi*+#VWaqpyme1nTkr07Re!aB8_r9j0pVflvWK zsa|c5QKlDIasXTuaRKVr;p$7v%lx10;Gxo89f5sQxh(Dm=n(p25Kl;{-!_M@SnJ)RTQm{9Tm1(NHGYoj>w*Dy?B!qi$CP? z^9LXBY77dn;#cn57r*ztta-$txja(+XlpM89$pCaa=7~6(a&%S$p*AhQ5+fu@CiYX zbk4a~yyA)eti0M=WgxZk4eZ&M+=7YhBrG5CI~QSn_OY#H?Ss5&lf_N0r&6 zQC`+(aF43f-9^6FnMI?TcKOs$4<=4Sm2k?gW0}A%1sWPA$&4RLOw8rfvk9Me1#1%! z!soCMAPZN!tvq2&r3Us*bU;q<>T3qJQObwe({|sS{Q?3cnvB!w?{(qi`0m1B=ya|D zcz=2$ix;CyQ}c#YyadN^S=qKgJ?pl!UKF^YtE=m_GxkPktyL@&3>;b?;G8mXy0_2O zS@H9+FEk02m1ISxOxj9>{uqtRG=d}2Gaxi_1T9*Ip(TZf41+)cod65X)+mKmkNx44 zZ98|HFM(0_Yq(Q!3Uo%pPtptLST4>b#y*(S(cADi9HhEqlp()|e`9cmh<8)t znnI4~<^kha{o>Z}98pThH6-d1;UhvRAGng&*+ER}SODj70$HOSl0bvl(S*Tv-WdNQ z;a?F?0!RgoJ0hbC-U76&C`23H_D#b|MJxJZXt$h4%0V8a;1@4&z9!7s96&$cfW&eu z<>&@r`zSiVJ$Kvbqt-Vx^sD=-?zq4HRrtlTA3*wlgY^FXciM5N^1C~$A?}V;Xax9& z7n89hTrqND?qAAY7}(hS^oV1-Q6P{}AFY*WuNv=2pS?<3#&I974S{AT1mRP<;>8&` z-AZ;*gB{0UzmUyOoL^k5hAf_$zkTZ#UC~0OhhFtt_PhakcX#)={CuTs&Ez+oot=_K zMyWu{jgr*I8_P>G)rf5O1ElN0@#si zCHRZtz>#sgO3yO>??_`IW7IG;tnVbv@j^d>{R(>ro9NU@zLrHnu-HMo+DKAwd12$`WJW9KXNRU4z$|%#LF`9N|3^jrU;fyxP;SiOW0*pWjUkJhG1RG|mtEtH>+9<)ur@>4J0IW51U*%63l^2jAcY5!h)eY! zf&Ys+CWgixqi?B?^`9llV|X+Q3|Kb}=+~5JN-DIisri7)2N`j-y@u6^t*KDs zmsO?u3RB3(F@f`1}_|7V{yBMN}}0s5MvB_lWa$8AG3j?(QJ6-KjfGofTOd>;1r1h_(P|bd#_zd%o>!=7m4r zuRQz6Vf@ft>J+l!c>us(Zsk=!C2al(sc8BA*j#A%+@S6*+%=S6InZ)qcVMgRtza&# zt9Kn$X`lou3WF_Uroec4$-V;7+FTH&q^zuePuwakDkbFxYz3NIklxw?`fN-$IR70c zis-s2=$hxk09gUU+36zl7Y9MLGBN$?>qYvHo)K!a|8xSEbam<>tH-~0=z)vzk_GxC zlL&0wqP{S#PibkfJS`2ZuV~P+uR?n?lR}#~u5$aw00ea%v;E-aOQxQ~)yTs-I9IGt zr-lRkZaI-(n9~RwqM5<3v1|d*>OmFan}77vbayZ@2t}5g(oRGwQ18`0-3`knqU&c| zJYwrH{Yw7nQa9_9sJPUwR)j6I=88(evn$)G=Dbv*zb|);lCIMv0uZ5r0m~;X_d(Ap$FGV%k&POJT^i8zjCSwb1{9te*ds z>c#{Q^Tr#Oc!|8bsrspVx^4$4EY9&%_Y<#19X--FigMg5#BG)}Hz@8Un=mW5W`5;z z|Jt){uQ|t!d>+i1loLU^0eo#ok){$NsT8T?E?P9Lh2{Up*j0cHhbN-uvnO?)|^(^W6KW z;0$x#bM{$#@3q!;$k%omPq2ac%OAm@-~`b5GFP6>g_LDx;wevn;^JOB!_Nzz++qT? zmB9L8IX+o<Zq80Y^lZTgYapCaKhk z4bm>H`U}X|20)1qMVq?7V(#4NE1^<2dKVTsie46VzpWP61n$Frl`L8L%a`MCZLEBK zG7V*5$kQJ9l21E;Bp>NROv(BF+bbgC4O)J_Dpv3KhOw8Y0k&L;4}avdOG#}W7fvnr zWbA>5oUVrKnK)Ygq<&Sh`Ub_x_cum&Hma}y_EFJy*wnp|ulQ#Zzt4JpMeEzrcRKV~ z8Ub_FzzSi4r}s-{N(o4P}3h1=YXYLTDE9l}*<7o{t?E%D?alTJmhe z6Kl^68(psK|K>gt6twthIVE8G12NA4zs7m4DL9cgkos6>hQV1|4~w5CE#fiyA}RUw z_3CMdI$rm0yC&n>xFJZYVlWSMr&6AP7f)BwnSAIPwqGcLv@6?JOyNfrRX>MTefHT4 z4f9H4sEr3dzUH@oNSt7Ys*Md}kZpN1fh|e5H`q!Q5 zWx$Es%X^+_iC6&a&aBTn*q=Gt(b;(%D09@V?r_jtUZK{2(ZrUo6NR6>tYuYbq*~Uu z2jZIj*m8!tC77((0GRZ-Wn^qz2iA(`S|0t26k_LFj_Sr%s;-;gCMIMR+AvlW_x7xC zw{{y`KHJgR9J#XSQg8IwfgMk|DeC3nP>D8X=4;ZPNjkJs?Lr{l2gaH)0)wGLh4p%y z+1dP)aSWtC5)5*SbW}8lZmrwPtJ()QElMK`Fsv4J?}UzCf8}u%fIt@HSWTAp-P!R6 zA*EOO0>C~Hp@J3-+;<}eS7W9UiXG~%W1e_x%BUhVj9U32Zab*zr3D}^5I6G{Y9_qR z+tUKUjX?bgV!WD?nrc+;Nf(M`xRECoI=nMXM2-6T0Ty$uMwo0=A+Z5{4K zLaiqQEc3vQ@FD5ZX$MHJFQwt*C1d{e;e6wn{PKvd%I+?~CYJFjfY4xXB-+l7MyTb)}k1%BQr|bUcjIiH9MW}l6-8q#; z@#E0e(~(1?Xf_y<_q6Bl4!-@iJ2pgC!f$EM@}7jjE?+1k?UXk8)zDnD2Vi>rcOd8c zvAqLERGQfc*l5vAK8aKZ7Cr*|1N$%pv$-u-A5J`J`v#Ur7wvlp-ys&OFdl0nlz}En zu{k1Pr?Q3&(6}rwAC=S1)?u_r%EfXuH-hve;4l+cev1__aI1yy*xN4RFx8o9>I%sf z!*|4Y>{$>555!1T=3j5Oh?kyC#_v2UK6;3?KGo4_sG`KivB!oPKaN1_m&fc=)*R>U z(6%ulL+yIlU{{*V%uGev9ZYC%vTS;xqNcrhFyy<9?UzJqW+e-&G`2$GmY=uF)8klX zj|X&lX6@dvCy{+!%SayDL$fN4qw9ajFzC?{sbgYV)*U@U5; zxh`~LlbrqO0TfGU3wtbPDJKF$+)CRAbk-p_aKSJYwmT=y0APVh%^c!4oR~PLl@Av| zEl47GL`6jnnoP|PV?32YqQGe8EpQ$!CArhe;^W_SH$f{GpAzW=!O*Y4+WOp+ihaz$ zI2J*~HtkDMP4nxU5FY&;S}1*iOq|F0-dD3StFTbC^>y0;=#V_b3m*A*muGn*JO1X( zxHSpNJFc9Rt$RSa8lO(jtPyNImw#BATTzjMdU=?^ii)@!>g;gFd$8pabc}X)#tmFb zL#G&iESM!ZExQGguhkDg+N{Bzncf9}bZ@_W@Lu&cteJNu0Mh}t%9j-tan9p+O{Sos z!2Xn;keaL%f)_tHOCen0clmK=(QXJ^-QlydG2(;DAgm2s(3J&;+k0?t-gHuKZhj9b zdlcHTbTf@$0J!=1CA#h~6%`djlAU?cg_G&UN5#d9qY|`?O@k`|Dl6u8$MxmTCPr8V z(J4w?Lwtyeo*;nnEwCS!4!6%i9`K^Kw>MKN3J(+Bo=7rI@SZyLTzYd{@n6F=tQ|ey z@^nGUmQdKBqa`Wf5ihT;G5JekjwavCiR`T0rcXr~^6bf#@o1#g*E&=YIaYVBTSGkO zCs1amBO#}~HJDl@wbMwkc!9#?Rgl1P$-{rH-%_bHM_Dh9$TtoV4ob!Pn0ZGGm$A@@ zb)nSE&zG*A>e7sQ3IR-Wvh}{?Hw57Pt6x@33OvpA3y-a$y+_v2A zFB-;C9EcT;Imt}7CQr6rf0@u!N8pR#U=C0My!igz<`d=p={%2(uLt7|-T^@?yQK2m z{Ei`pxP!%U`eX)X-r^~U(}&I*bDUk5Lv$A?-=$nzCvYBqn4>&E!lcb^cI97o23?e6 z6KaVGr}<*{X$GU%fZEZn8gf~sMC&cJm8se7u)Y@ACZV!2^Pc9*9?m4JL|C|+@5)vp z;BLWGAOCf{JKu@%Cm^yYLPcEhRN~d%g#6qH#FNTuY8=oQXwS^gZ@)|a9ciaoaC zXyq!rS-W@N=^H+8`dY6Ayo=j$y=3PmMzuNQRZvoF+-$V_V9ud2D0y6wrFuy2(|zS{ z^r1OqK=r!x06lCL_(WIkV@iuzf_Fppn8G1+Qj(^eH5hfrGf*_0`AXH5SrN%SqhCB0 z|1gcxEi2_)Ucm#Xq+Fbss1F+x?#5_Y8j;W;4&`F${R#`~kEIk-IUt~>BIxrzDNy;4 zSv$Z=4uY7;Z-Z%F0FuXX+mZS`eMouh-AFa%Zpd&7Z6HSA* zlmR~%v|@rE_IF@8EA_Z{xM2~GJTVK!z|_T6LpmzvrVZ}FPZ6L0tvNsG8W@(uO~OWH z;;}aV`gFlCzp*3S>Na6857LALZQMdT090CQ$pFbEbW44!1 zqx}b#4%)bxC+^E(qPDl{m2LoT8iJ+X(`Tinkjf`U^f*MZBQ*Y z_OgW*5_B)W#IVuk`e~Y4FBaTLm#f)-ih8B1jX>rsnvU|(#4cY{j!J}K{eJZ&`kza> z_vF(+!gILtxL`gYB;{Ed-d*l_VpIz4PyVpyFm((9!TS9T`hQzfPrI zf>x%JiqY*L3L2}xp00*02{<8{UF2z61&x$lZqP&@9i%jin9r%Is@6b2;(-qmvZ!;3y4%bQ z+;Y?K7CJE)V~dQu(4MhzYW>Kb=IO=R{<4zSr~jRgR`Zqep3JQ8F>D(-ehz&2ease1 z4jTldRPvTi_-X$n8s?XW^-Evgh$SU$;9&ogstKey{*&kxFu|+a-e}scfhZS5+qt&p z!X;snafOTdGvp!P!JJPf+I`Iw>Lgy04}StXIl9agYM!(om>}cgD~_${XT7eZsnj$5 zTG|?xeiA|XEom?$?G&M;=^N2rhEpwyc3{n~Nh7^+n~R=#RnhTFIo76{&9Mf0GcQk4 z3JVK=gn?jbtdBsdCoz=_Dj`PdMbl7gnE7BZf0$G7=oy%a`Dp@+^amD0`He37z4u;P zqujM?7@QT!*^pu?Ya&_`%5+Y zo|K{VCC$Z6fMX0ef_+^e^0?Kv9}>3!|Hw+gpF#BhNBu`N(6gx)e%n)VY$z%3y~eET_PIG+P1^PMc;q&Pr|HpG~PEE?V`DQ>E8a(!MZ^ zU%~w01)%@sb>d2DiEvpoCLyI4!v2V>qZKBM5;yIVi^1zL5d5Jeog zyo-zw4h;`$h%g`)5;(JAmz+IiUr()o9^dHRtev}+RnKf4;9|eABYPCM67)boVgnbO zEY1oVX;GB47jdyfY?}7ppn*WiEoy>i4->ODGwBwM4`u?H-KAA%&PMead|ivWLi7T% zjeLfqr;Z;dkNA@x`Twu4oi;j^$k)r`*wknmF>`9!iH)sFwtl6c7j}8Jylx@M3n9il zTzE>)_V=pWw!Yhkxrjz0Ru5DMe^0%B-EZ3dTA-FonEj`psDc37aJKwg)^WGp%TUzI z<(X1gIN%N;#4MP1@7|YUi=rS^J^N+rtCY5ARwXw00)POh@@|!jvg==$z zrXnA=5l+wP0q^4d#avS2>5tf@x7xPO=UfTjKR-w-{%5!0RTjFNj2!Okkyk!si$bQU zsJKlRQ~N+DaOttIvJOLV%qrgZgAa)}#iA7+CJU>dC=EHuG51nrYknG8wFjj1*XyXqsBTiVi04kYn$K1(%%eHBCK;rDWxd1RLgRZd@Cp_img2+%|9}7 ze`@m=0ROc46gZ#I`Xxl(1WrchBAA6OLN{g{%XTS<%Py=x6Ob6=H=b)#^o{^&c^-oK z5TPp)l4TTIO8pMHt3$=AUg_Y!N&_rTqT(hzk1dR*QH@a%immsg(5Nf5vany_WTIXg z?rtMg7?u`a7~Mbd21Am&p6xQi|IqHn4PbcuAbnwi_lyN0e9=dzTr@$3kEgnSDxEBVy4bn z=Qd_TPhM-l)^uHKnUPe;t2mM@%uFJKP$uvsSQwf95k4XF;uYMnq<&Vh9$+#IA=7rD zY2vSFJ!IA3m}1{OGoZt0Q2c{hlzZGgM&w|dTqT@o!do>+Nsux~X9V4{I=TOY z-{g7-2B7YL6tQi-z^iJRI!^Lh^V-d_&826(z3mfMH0@skqXb3})BzkCLfF7i+PUBk z)zi=jGb^hX;EZ=2p*O3nb@v|j{y{lJi=(iMkXWRu4GL6LlrOWT37;udl>kC1UmIyp zoDqVj@h7n0>{O}k4)ZKduZuS)i!gKnId!;>w~R__1A0|s-v|skX+kNeg)rBz%Y#GJ zP@0vZdCe@Kzg;+EC;&fexhl>rIK3Z1U$)A?D2d6Oi& z6<2qY!H=%x&&2y5QdTrSajsZw&RR^)$yf%;v>s-v*75ulBHvjp8=jWNfYJ`@m0L$% z*C#YNCyK?AZl>Y&ZjVJa+NzSZKGnw<7wjoiNc_>bNA_#;Wp>e+D|EN-yHuFCl@#_} ze3ZyE4UWb#$F4>)8(NJPegFO)8NKtpxPS91Ptn+6C3q1*yJt2*F}bHq|10S?_+{aXzM#hdz41?5T^T66D$zsWpOreqxaEtKHe{iK#vBI z{_~bxVQiagiw_H3sE0XSf-umcvEVjYW^*XJ>~lD!*~cPeym9 zE?4ozvTXr=x`dBzpJQ($R9W%LGW}x@vQrbsXRKWDj%uD@Lj>lAGqr#`co8x9!i15P zePH>EXU~p+bi4pA*Xveq27E)!+b`cECO2%xBL~_dABBasO9^9|@QS73UB94H->!@S zXX1sw>#h{)Dl$U~c&FG&6yQsitw}3ZA+zTa0L~3k{qt~{Bzqr+5V}Mw!R-D6CSkm z7BBL*kt&$XmG8Y{RQ&Z+g9WnI*z@Ec)~@bJHPbaNP*XQ)?3B&TPkB9gLpS3(&~uHz ztfO7#b>4)oBf>m>8T}dQ!+fxS98_4Kk42E zxVe-hv;kC8genqrP2seK%$5HigzS8E;SKsBhDWf8eObJ9vX!WLBTzT?_J0$OlX8XLTZl2TagfeFlA)NnL9};M)iV~C+TNH?di|mM1!IqhrsJr0%VRd!2xmcv*3CDJ@@vi@DI!lUI zI#AK5YI{HzINedUl{W>0$pZW2!rFIFT-UyHPuuR(g=>@Bzz-s)y_k$ga%qch)Ry%G zg5s=FsD(e2MFk@T%Vsn0m#z=FI34aKDrh}=iBxBrW%R-6;8FJ;>d$Hr!egY|;z#Ur zk6=7+!%U#lF;YNONOGsHDS^raKZviBoY}^cQc{q)>=(GjTo%S)_t^;w3Z7R(X5tm8 zWtHF-VTiVr1x7@yRErt$G*#zmvI3@#vfaA!6nf$|MGYBShE=)9H@6 zSmK~JGJWdyR_=D5e04sQIJ{owUj1mu>5emxg@#;b9~}IiVfB_$g5i(U0?n?2&`rS~ zJ~CAJb+n6F{nkx;BxKrj8HLE%+B&h#!*wdC5pfeCfDxcfVFt!prSxmfaAVB<4gJPP zZ7bdV#pi&1FjqP#+N{dj`!UijeuvNSO8d)G85;j?vWyNcL{uFKHJEGjV$Cqz@DR*J zc%Zoe-pv6MEdc;Pg`(zi!GqJ742t#3lkjAKY8Dkn=)`smTh=yVrd09f*b&X zXmG|bMk)jb0Qw{vKBi(7K9yFS-nbD?|2o<9CiueNzRC1&_FWY1Ttr>eIl#YD#_pwg zDJW7umPe`l(iG+~Y|IOJb~lJl=(Z+6#OrJVMsl^iy85a3L+6SWy}eo3f6z64Z01Z+ zO4xC?p&fKB!y7{;XD9SH>G63x$e3!On9Yq$x$2Cp+2!&67XMD+1~>{^v#gcN=kBfO z3bm0=YRY)0U%R(=r9Se+!%y1cjQ2;A_(9`#BwgD|gu(kh4;)!`BNRyV5rW<2o0a7V zu(9bjeJytuTd1bb*#ns@uVz?NSFcsUm2kn@E(R9IFuhX<7K84iQ<9=AQtCp6A{jvv zO*Q!hA;+9U=7YRsjDW<^BCic|ZBu6&f7uIsTx>gApgp#hIj&9@xSna%CkEsr`b~Fe zA;O63&NTStb3nfHW7yxYVg7)%KQ|V?YPq?4O1`&yBR(b|LoehAtJ&K9f(q`>E(L;N zaTq#_j9{9*$-PdBT}zD9fzDlp6`3&Pn>eWi|-++{d(zjSJshnM)!tu(!8YoF(nqsiI!WM#n-W{cb@OCC!@j!}RC$AfCLt z`#Wd>1l28XJB_~Q9N;qCQO&Z4p^)MbLgz4uP=~U)_T6ulHjq)>Tda<7f~wdsust7W zPJN(Ld=4fOvWq=zK+SwYNoz)a2Mjnsvm;U4AXMgM7i&tZNc70POxnVf`UH5o3>&!h zMd6{6%EVQ< zoK0~l&D_+LZn$BvTdF_u9^JS7rYY0`0&S%8u2P+!muUFOkf$EYjfIM(jv!Tm$)|Wo zYai$Vd19k~dsEL3br<1HAi>vQ5>G+B-3KN@*ESmiAeqxZ>Sl;CEwT@p-CjHEzATP_ z$3ct?%=t(*Q97L+9-ltvwTtH|L?up(zP>Pss@d9+lViXI&~Z;?R-=^$E>q~{(i%KB z9oJTtiO1R||G5(W;dkgn@-a#Ml10|{9tLq}Su~!KgjB|hTaIehz7@(Ap!H-bGmd8*@^kN=gH3GipieTOq*t84DX5kq1E93p~JSagr@82F?y?W z*y()j5GR_MBQr18{f%8ysPoM$uOKIznxuCm-*>msh>KY|$RjYS(LlwU0QAoN-2lB6@io&1F0Ey0EBN=KWmFP%>)zkd>26e(5T^!c|n zuF*%<7)-{cAE#T+kdVBF+*`DkX%L6Y_q zrWoWqn;^}>lQ>mK z$7w!ehF%Z*cRo9cdvAntABi3-Ty?MgXc@RuX1o){!>V+AwM2Vl&w;)5wF=FpnVJYT z`~wtR(n3~#;zCX!E2=m;3BeU6s_m|?kB<>Bw;8`MU9!6Ce!a>rLb5B{_T78; z#yLIrOqN)hY53uadJnS-3tqCsod_N?AtGaZu<9J~yJ+!JHwn3+8hdMpTq^C-P0!n4 zE(KoXDM=oOEvNNbz3g@{#j7jqN-c*=ub-?mPN62nR7&p}V~K2mYQwqYH-Gtz`m@k4K=kO2!{auMqN7N~d>9dNBR$EM$(oNJgLd)0 zRYFKnCr$~LQF3Iu0g~Fe?Aph^Ii*eeh>4w!KU)s&dPw08XKb3JN94U`l4@#y5w}Etv4KlH{85ZQWDonV*VVr8vV?oT~Np zcP=x!2W1)()CobzaAq25=ppy4DDS=~uyoO{Z-b9kdU}2QJhDeGm3Vr5BQ-+NG^kF9S&MxhIducfce$J=%o90!3b$$)J1*cRD z?~L!FGornXyi>KWFa4>A-I$W|pg-r(+xf<4^1LOvG6q#Jb4xw0@*z*rrHhYQ7#ux{ zv&*5GRXN$m{8k!LZUj+HeN5RY*@4?xEd^&JyPn&kTJa>ltO8mM8n3y;@{5)Kr{4zp z31zOJbsCk)b)sCjjSihvIf0*9uHH`0mwj@my-G7&cxhzBI*rD}4>gUB)!C!uwKQFMu0#{^ZG% zX|lGqInRTGySZU{1dC&Y)-~XJ;#1zG zV=G{i#skd3D;O}Y58Hr#A{9*|{bf;`Vf|;6#@K`j8@{hJq8l z13VU*T${sT4?N<^cluyrO%hX{u{@~^BtMB%Kl4=dG0LN}l&w5wLqkLAhbo{uA#6sC z;P0I|;V9p00(7l$OnK1`-KNdWdvzRw2HLcRSh1w7b z;~Hi&-_v9R=JiP|7K^V=toT57zzNOBt7}0*Syxwgp-gKUKodqOCv|e<_j9##DgXXI z{At3BLe2uVHS$LK8b zo?2kqLrSGaA!tyZ)~+)&OqtkKOAx}y4HEL}Py|2@m;JZo>aTKV za(zh^B^OnZ`dq#JLEHM%e;nnpeOUA}y$$P(XN)-EH#LzBk2)@AgWfp9Dd0FA=)Rrg z1%RxElr0)C`Wq|X;-B0U!bK+q(=Yx{DK$2Im!QZ6AHr$&ST?FwgUlvMYJer|wX0Is zy=I4_A`Yg}B&iW7kSnEbi*gbArjU}3PJaIlfWW)vBg%azgj)+zhr?jJe81Zkr<({WX)mvsAR1qz2(3qdcA)-gPygp?79iAo>tPxxv#8~Zd7;-`XG8la za&zQ0$1{!~4IPtvB)iV{`e*QdYCOQd>$jKeTtGh17=OXbu+xUV2nHG9nu8)?EqnqV z#MuzR=z|W9lKYXqImECqq_en}Ja6w_Sdk-R7QbOXrytH#!g~Dn!%;pJOC@h_EnBUu75!5`xC+1TzW?l*|NQRhaYEep4wIBkq41}A-bZLn z9!CH(j3!NsNh+f&A_=!#@3NrW@Hm*DVev)u#oC5t`E70+qvF2aI5TWqd2I55(BM9S z^(xFS7zX(XyBU!Z@jka<#8o0%469^qsMG4KTS3-0)wV3#Mxv{ zvD%*bG;SV;*T>$kQ>Fi{7y!G{>O7F8dX@7^QE2v_N(nm^S37K)EW%$yirFUDlP zsebn_A07cJifJzIerre3tFC=3yD)@yqy%~Vv68qZIs19LL1iW#VSWM=vhBm~u}d~l z8XhU!ol?KQG`fk>Zjj5gX(qHJ4`fa?Q(ZZTSmha52zBZSkIKhs`Ietr zS@7+))wmB0FdY&+B?SmT*up*aRlZiSwZ}%KA91J)=!^3DtW8HswTqAuzLL>ingn_g zX->s@>Kv8Kmlk{f+_68RFE$o2bFkO5wXqojUR1$J)K&08k^&&;Q+6NBopvy{P>1#r zs7+JoNpm4sRalmAnIQ=gAuY^sCOYwy@vfQb`d-4L->cyVb!qm&94nAB|T2g<3yOd4&{ zz*)yz4Ctv-6m>sMC;kY>7G9`*bnLm)oC@Jb*PNgNvqQgS(z|t_r31@b$Q6?YC1E@$k^iGQBb(q zRE{Ou3H$rO(blG%kgNt|GhmB!hRJY0@>2oJFI}_jX4!Qv1?#jxkaNE=zik;~eUDVq zZ-L?Zfdb=)yQ+Raz<(_0FK}ol#AkNx$_Q+ue|Q(lM+@Tj45o4KkMzDIH+f+)keTpQSNm(Fi-j>pS*K7P($^EHrDQvuF5kvuN>_O^+KX^P|%!F=()c{lrk-a)_y7~3X z2`2ZLOSwTO{UpqOC51t}wP$G7Z|bwt*3@h^otZl$-rIbm@n*!x>}b|IZ%gh2%%L2m z-zo>iKSb8@G^b>YIPY7T&A@$?FK{pGx1Lr8{$VzsiqH&?p3Z=%g6P!wCYCtqhCHLOsJW? z7pdZ3+xj(XX)<2qLr-siwd;QA8{UB)vUb9ws)wH{^NmZqezzS+|CV4+MC;23;dj=z{Y#CzMkiEqI4#;%S3BDA{R0cd6x{ZxrR`mAZca^?`zH0RyWAzGOgAO! zCvTX)vN9?27SpRE8u|Wh~^hYTTQ$Mao4Pv<~OVtXoUKYc1L1 zapL_sQzgk686h>>;!6^~l1KEnxtoS2*%x{v`y%0MrRS+dz#1_Aw)$>VM2hETV!SlL z*g@PCtFY4TFpGnQvkk7J{$(FFJg>E|Xt%5q+I}x^Ue^A0K$D&Oi0!LIi%ik?5nbC; zhj&ZjUN6d=IC!OHmSZqJaOmwZV)AESKWgqAAAT8_XgQGaOczh*Y;a>`@0G<@1Th}2 z%Ee!M2HjqM#nkEsEvMbwaloy^)> zE4==F5B`R4`j zLEF8g6wgDS4Ss#_!BIVsc+JRvD{El))sDx-->;PLo%Nt?YHVbD!Wry%VCv&%Yt5!R zu>EBdXUnV{Io+>i#nk-pF@UIIBBO7+ZAI^F;N?!*-t;cFm11mp&$`!mZ?E zyKbAbgU^JQmmkxY9c>?(MmAu=R@-fOJ=bT!MvbOnWN?aH8n11~n0%Gwvd{1?F@mv{ z{S|8K3y!3ltcvnDPqzc1%W18pG)4BKt}jYNB4Y|Tltt{KV@9pzCUnVM>y}3KTs1v7 zKlRI-Br{|-Aydb?JI)r&+-=HU_U)&)^#4HBFn$v3hmsD*Vn_wC<(a0b8F?pTmqdij zYTsUc-XLF}UZo?SL%|iUC05-lqL_~%0mp*elZ0Yb3fol=uodnq`|xbbK`5d7#Y(-K zGczdUEhQsWvUYwDm4P2W_^|pYR#e)05)OZi%D}w!gf7wOi|M8^hl8W47XGc&QKPDV zMvA8F*Y-8YgEp&zHMzT`@VLx2wGqBo`p@s>UzDs{W!2{ASY0gkE}9={c!qRlNT>L2im>57{G2N@X9Qp{>Pq{N~`6?Eb4&iWoJudpwkj0bH~lnGz?$1kY=C z`MgwK9Zc6LZeI&bj*UexoRyFA+`1pPtr!U!lh9q=QS3jkHPF!tNQ9SXF9KIN%PQ7D zW@L0!{@S%b$yz=Vl#7iDjIV3C{AtaQ6doNi* zvyl%bPTW0IpSXy+hjghdIDx+#_r3V@l`{l^H#V)wGYxfr{Y(890i!OMQcVV;G zs((Lvbh1)ygWI2@Eyrz5R9$-aWFAqN3s$Y^0f)8ul09uB_n6}aD~mz;t}|Bm2qzWP zim4Aj9x>Q0^L0e<(u>0W3#(6VmG0}@*KdUip*kke1nrWVN8IlQ}I7@n@kj|aAhGLw|fcs$9jye!tK^*PhP8sQp7gF3WzN`vQBb0olPzqM ziwrCFna63hmmOJK{$RD{GS}DFeyI;%dNl%h2bNAP2VF9QLB2R)`goyOL$3R87K0Cg?gHK=ho~G;4g&XEO*Y+>}vv`Lx1zqN44@88F zSe~3nh>`Xv9V>;I=tmRQEBpdU;U>-@TA@n<;veYO4yaFMSnbK{$DzVl2x8LLL3lu9J#jcvRmJB%*lZFB7_ za_d_T5Dbw&di}kpgAt@UepidL-yV)8J#pMde*0`?9Hm#`Dw~Et-Csc}Al30BPhSw8 z8~)}}@;y~=^D?4XHmnYqKAi;&g3c7NH%{LM5A+;k{VxFbCx-uJ0e}8o5XTpo6emb- za*t49MbR7EaO~jq>xOGyElYSBO0a4*w+_nHr6a8u7?7eSc=6nSVW!|TRg#+nA77Iy zO>Qcw8MBg%PnM>RPEML$KRWLG~xE+i;egS6!kn%(}}<%Dt! zZ7JS}W)0i|xtp7tgIX=KZ2oz3{?`k~rlJ&%Z7}UyY55XEN;FLn8_-kdH2JbX(1bOx zjVpe=C4p0QA6}K*4y?}RVgzVSNQi}~#$YgqvGjkv76Eo)&!tI%IDX5{%(KTJ+sY_e z3P=1lB=##1KxUIW=J~F;Sv>Nc%XTy;+H~Ga@h3QH_0LDX(p`|_$a?Z9%+=^ z)&1R~993pNg7R@Ghw%UGJ&pJk#3iqIrpUa2nvqBQIB0T;?t%)GO|t`BrH2o0ugLnn zFgo<_pFdb3hDQkdZnG%N@tz_dOQJGa7I77K?M-i#I&`RR{VuMe^lmXrtj;0)0kO5H zIw$^-2RS}`S$qHc9oWB;G=I0dios0vrKF`jzw@=K7W|yJVP47D-ck(P+W}wJAw=c6 z-SpY5T<%)`_Q7rK+5I~7*TQd*>|t;|PDyDtRdreL1+&(i*C!7c~5R`^*8l4^5+P+7F=Jlnw?p6lMoi@pIsQOYUu;(dAriM z7cff?R0%l5##vcKg;g_Z_?J-nH^Jf8uhPCpvCQSXcW+mf!QLAgrlYySUr9JGTs2qe z6RCMQ{Jz>^lh3x7%II4PGSc^+w_+^5!P+ZuOfU#$>GG|DNtQHd5YHb?&7t{s2{^L%aQxP*a|S1_XSdsEOJog*e>;4Cd6(b+7|x{xt^9OK?8wp~ zadKv{bT=JoP3}07+4N>JUk3s{bv8UP;WK5f1kDE=9Jq_h&E`kD-mWc8@{EUZJI$F8 zX6gO+?j*p5GTra84h#6HOdDn@Te(Ni7%q#wmuo-SP9oz2eOK3-=BPeIkO|z-8yes} z*I3~)5&+_z9l6^+{#Vg?>OQ}n|6C6&FeyHQhZ_$R!))+p$!hU&G8YaeH7n!t^D$6~ zmIBZB-7|=J&T}XS3UwOqG|c|{B7u6$*Iliu#Y9-mLwHJ*nSD8Wxcp0~Mj``=VFE|! zNzVbz2gxh1+X!%=2q3mYlor_2I*dGz)G-*#(o|l1wqv4gZ3%yf)PLR0p6F*JH-yni z*X@8Vvt#zh8F|}_o}S)`$7XS&4Re1EI^oN`o|>SFMO2e;Y;~aPDbeFg19g^KgpYV# z$3FN&W#v7d#GR2@f5bYrD~JscqT~ZMUC}A9LllN_RV3qUOVeDS8P3;5l!VaZ7D@@O zy^ho50K!c^$l0{r*Ty*~6R_fvyWP|uM88L-GP5oO2Zk=Qqxr;O*K+nF~Nd z#xvpAev@VUzEJBChd5PgVqfCzqNTn2?kd&1(U9$UoWZHhJl|1A@ppmPjs+V^LpxE- zXV!Xr@>VwjcEGe?z}ax&SPv5HU|v_kb>8{MQKn$6k(WXP)VPr7#ZA(y65r0Rj!JKL z-4GdCWApxL%k<;!yibjV9vT3o7gpkWFMTM-f z_qt*9`%r$5)ic=x&gV~ZaY?$iO?Y-AqmYpqKWToi$3)FzGn0||eu%C`OF+x;ZPqf*;7Oz5|rXC>ALhBIybWz zp(l8^=3hm%*Z|H%>e?zNPuxeMAjDnu1scLY(XPvgXc(2!t?3 zvaVf7Qw_Oi`;7k4!k^ZN5Vu$T)^&Pv0c(jJ&x7)zOcsflpw2-c3ebk1OapoK z$maTT2uP=z_{*?B53YgJ%ggc?0%wzPcN*ZJAjaqhrl&u4=#HJp(=tim{DyIM@3&L zSjYgwHlt>rapa!;4{u)NI{DdU5|^$99+NW@E&nLSGkJ@)4}N)B|56@WoP8{fS=~de zytOI@9m=iT9L~soMfkNo$rkty@e-RnCVA(TocKUrf&umZEfLjUO8GwyI<0POA2Ipj zUK(J`IK$C_K_TvH0*4FtI3dIY(0;wSkmBoOY((+v?fD_d6T`LLmf_B!S=*E`4L1|U zUK;2A`K9dcPiAf`Nm@X{R8kp z;hGs~X{R&_Z4wZhi0@EvaK?BbO>%^;Ee#!@Xd`!`T}(XB!R4eT?~*i=4oF2SvY_Lo z9`j7_)CwqDiK{b;XT;1UPMkP#rX64Z@`=<*7}Z9Zp4gGlw)=N(#;@0nE+KB?^?-CS ze=Gwr)p*Z9`FG{nr7XUn=h}{p6eFoa`n33cl&!R}6ac!rwIcitfD zLVQ|)yQV$(E|ZJO9TaAs;p?YNU(&%=@1an52nXD3WOBDuBl z6;u96G<_aX-AaJ(rcEWo^-E{ZV$HuHRM35(@=?R}<(0pt)7(^)zAg%)=41Qz?L&rj z_EB7Cp(WZ^?HM#8PaG*NIw_q3ln!osz%m-)BBh|KBeKuw^U_HO+%gvVQ(KDfQ4humQoq zAimx&t_2|Jse>k_5%?)mr`J*by2|)0V!@RcKnMFsZn`EqfXsP>Xv7DQBAs*^iOHYP z13*&Cw8e%MkA#~Kfyo&Y^`VQ+NN|E(aR(P37Ip$W3bK(1nSRH36k%(D`*+7yY`8)%oc|sfP_-flYu#=(A^Zy$)ao zX|wQ2mh7Kz%js*e`RzUg4cFf~%r!-uoxz9mrtG5Z{wg$MTq_qcbC~3FMoN#*xl|If zIo=Zq=Ym?yU&$Aoul;y6EtQ6OFZ~q-CjW=l&sv6Je_e<_paS$e&Y`AZIz)#%(ux8d zZyIgfXIj?uafNh5BlapW(O2u>Nb)MQt4z#EA6t8KZ<-bG=r<8R#G) zs2&FEQJVDhU}`AkTvf~~`9c{G26HmCf{EE=+NVH1e-o%QaqpwIo*t4xWWyNRCXI?Y z5S1c^xgWvNSE8qrNb@XT?)ZE433FLC`{!qfe7LTsr&%w4$&Qad4BU~6nHd7A2kq|Q z|30{3nfKzA^us7fG!K=d=!gXmp~VT*cdo5oYnn)T$K=+{yQ%1jJ4`C;aC#Qc}7IAXQYF&G6Vv z)rNo8oS`S}s@9*JeqBv%STixk@G!-0Fk&TnhiICkflc6A6aE>LqS5m<>6xHAH0}tW zg@&7Py=W#FzMd(LC#=!5j2IXj4Fp&?Z)z2C)P(7Y`xn!tZEr-1VYBfl;o~9(?#3393Oog<^Mj zM%F(CN6!p&F`zSsX{a_}Dyd6WQ3339e|P~1b8=SO1|D=<2t-N{-@DB-uHD1GeE(}` zWxI|hvPP!cj-q5AF&{$6Z<1fBsrQ5Lv`xE)aV-!f>9zCTzU@spb;h*$)fe@#`T#cZ zA;{u(vAqEQ?=FFMe7S;1-%$_|8`!w{9 zD`*Fb>?b9x2OtaLGLCjm+$h^#-adNbL~TywZ;9KO6ACe$u=xD8%hrIUx8;GCf+=*= zqq)#Y>);W|^s1C#0Kn2oBcqWEp0_t1@p}YGp4O<@a@gNta%64dP-+a=%UJA5 z?C?lxtCyuc7EMiV#+-Tn^@YQ2!EsvE7o|molsNEvNEfKd!-wT+v+guTlKlM&+wov& z_OQ1WSb!uKbN@CnKom}b>*q>@^$KS5Lx`P*j}LK^4e75pMXVvk85xI0F7df?qNu)$ z4d$M_xo&VM!N}%lSlCG5Cn-y0YVWnp-saXOjv~vkyz%$S??}j(I}LYtd;^zDZMU+k zy1LQEXL3)*+1>+N`5KrAz_h>FJVMw~GqZ{6AAZ^c*l-rd3utPTRp0YtmEy_>;QY9# z7GyGV;bdJOkK5Wq3+=B5%pXQ$w&zvJ1qsWk<|)|}$M_sS=iU>n{=0M^n1JoH_q#hn zfrexi+*KdmssjFj7k+Wa|hKBzj^zq z4q>1b2dBOLY)mgo31E ze!mhIc~y0_Yt<39OY-v1fG_KOKvP-Ia}E&W;*>im_2(a55c{%>eh&8X_c4rD6qi5y zd}Rvl%{6^y&o&USkA=O}&BwN`wl)wT?U^^JuU;KRJVpL-KYU0>+uQ5pp^XXndhgn+ zEo8imPrFln>2lXT)WR-OvFarH&NEu={}2rVj?m^27*rn`y!_kFmZW?h65@Kb7;Gt{ zv#MxJ7EAH@;Mjpblv;M9k}`ErZ|ogD#WSvMa?;%MbS`B)<~*V(9shTR;TKw7Znu72Sm1BJga|yFLmQMo#lM6GMCc8#Pc>Z zR}aZ{ca_XHitAu20QxHKR0N})1{;IxwG|W|GZ3^U_vLyGfEr^u-CWGFTQC_EE}YGX zo3M-9UkJy4oUQxXu|;Oa321TJBo*_|dl*j%&FAGEE~cih)nQoOdRchua(FU*5|D7( zP}9z?DQZLy>%P}J`ZH9hd?HJ*pN-x-CGfW;FJuqUN@7R)@>ojdZ#4b3A<#L*OCZMY zpU&Ic4;*~A5FtT;-_mR8%BnXHtWUQfWu1M~&6T~}E%hTzo~L+tXo@?)v_b*I5gZ7| z@-`b=1h9$`oo_an3VsBOAdVelU{FL?*xQYy7tic13FFK)t$Yu6q1c(oz`#QwlQR6L zlN+TI8-EvsWB3Qy##nu4xg!aKEQRhzu0K(v{e*}9n_Z({0LOW!4mtm<*k9tzpF4YJ zx92`a`{)hlH`Lxy{RMR0(1^XIklgyVO!9?d)`dpyt(BR*{nf1O=7CYNcQ{!>U-waOS>s9f2~D1A&#M*@2rEL?QraHRxs>EgB{SCAd83LW$aXq?x= ze?>a(uHPu zWv%~X?7IW8?A!OVw?ww2q+tt{eV3Gol)XtZL)qI+Q6y3JE?Y+SUWLluA}iTDd;iX> z_t*PXd7j??JbK*sb$!M;kMlUxd+)~;>}^Y2!Zub8yw)*HFMdTx>%5U+f}{{JnQ=!6 zv!5^`3^eB;58N$h3g@ec^dU7$U+@$})VR0iTz3~W(@MVV$}+(ka2#S<>b)wCQ3ch< zI)r-&SWg08ycjNe_UV(9vbGRX7e#_>-gGSKAa;Kc-w`Na7ZU0vJdTSOvTw!^bA<3^ zsFWKbuR%;aVw2*)NeTk`<4PCWa1fth5w2MQq>f#3ih zX-4Dh`$#$QZn#)JGN+rAPXz5R&6 zX}7cQbeY45FI>XI=&BIEDrBHdkt-36)<|#Uvg*XfVhcZ zW&19l&N^VRi=M^TPC;TcF!^-f`$^`HvNvMFPdbLW3KdiUvEPxFL74A9Unhxmi{~sVbTE3gKsd1p#OoqXzyPB zG-Q#gF;z~F?&4vl88I;!`l$wDH>h+pX3Pj{h}if92OLRT-A+@&&H)KSQsR>7m>5f8 zbTOas93|F%ANJ#SEtG?)6XP3Mw*NJWXj1m)77EHO)Es#@d?%2CVI8oO88kfswxT-F z$G->O(4-yM22d+vMewzmFsA#s)m~MCRlB)w8Z-qvYq)f z1H-a`P*TA4`{57319~`*)g#vln8v-|XqWd3OowR~+ob)FQ-Fe(%EhXsC9AFng8M!B z5$TvBRx)B@Y)qd^?&#{?DON(IbGx(}0U-*#PQr_(xmJtQ>?GLG%>Wny&0)T&_ow)F zEv7Mk`qVvn_J3jvv>_asr=F~vdqaM72>BZHQBFYeb=G-fDRV5I@;e-f?94h?6YWr5 zgJ*`1IdhEo#mYyODVw>r#`5nu>$z;=+mbHNB)+Y?lzLDWNQbsk*vo)p0qHobdvb3- zTmQi9_W{h{8JG|XSX=9KWGxve0O`2SzI*$%Q7|JF-~l$qq-p&Q*|Lb=$Cw#veb zBs4^{d81m=c7g-+q_1VBEW^WQu4w z)-s@|avEtT#K*`5@wpA}yplE*J^(!iJ-ao`MQI8qa&d%t($&;x*M|W-NmYKVIZmVM#u{*k< zMjvnQEB(ALKYll(=ypK&;haX=dhRgrRt5vrfIt<8$}h0=+cJZ|6c>cBfq@lghY_`x z;KsWgy&umu7gUqs$&tv$jCElw zg6LJltKH?ngDjKlLJ$#Vrw|BIBb}17x>XMcn+xs_U%tmxFoVx=ME+dkfgF!R}2>no5Bj7KKu5aPKLRn$N1-{y@qd5p1VyURr)9>YGF?wRo(1NDU6p#Xpbz_?MS>b< zvoRECVugyKJ|?Mb*Q^!t^5qExbv7~*tWAn5aNe|=2?oZ$Kct+w_e;$F)7D=;DW|4D zjY*7)B}3L6m7l0zeSCr7IRCPk9$OaHIlZ)(IYlTShfl(|C`3aO(v=zW5#!&+>thHo zWyfD%QDxh?zNTZy(|Z7y}RU0=>{y;n+SNdOSZg*Qmq*RIB@g3B#Q@!;}e z4S;QiieZ|g$IdpH! z#-0OPHng%|K*&)TG$k5F$Fw9=##qbsW?ayaLI~!G;}AWQ$~1m<`+oZ|7_6;#4-IA zlHU8N7Lq%@vmrBy{SQMlN-U!!?X z8~Q0K=IyW;2Le$uDi)NHNHN2VxETyFJwi1lTF+kQyDYi)@cm{6&@0Et+Ayl1Xrp$; zkCEfiqtULzzqY2EuVZYR`bR}^5)cr`^t1s}g-GxASL*V4c;FntA&7z|7y=NPdvNQT zdj2+6z0K#KxZNB}HPI9$q7Ib%6kobv@c!FV-bVZtaf3^#cnJv!-bz>BWIV#fPX*-& zXq%n2n;+abr$_tec_X91>`*+8(|b8DT{@t(3i}LCM%F9rWY!ye+eI-t*U%s|)*EH! zUdUTPimQf3r7;>-xoJAI<6!b)4xu#t_H(U2{lgJyrn}`k1CZ25ShZezh$qy!J5WHk z$6%@{qEbgnVLUYJ{_vG4MKv|nAM6z`$B>j&w0g&WMEC##zV!yI2th z??R(DNI*{&KTzr6JlW{=;+Hf20h^qHVgx+q z{j@Lb2Zms#duaVBjOe)Gik%uacmi%*+y&a`gZ8Gqc@2bTkpcM1w~}}H>}b?RxR{yW zrF>!hxZa1xcBZL|yaTF~aD%769Zuvw zV_0xLNns9Eptv(7vCwF_m?PwGPE&lG#;LllB4uFmfavPKrgb(HO#1g&8ORrJaaq*XH)Jg^N(|QppPXuDd0L;7rk@sBeWB2AMsABTw ziXZu%;26T>3-kvkL`D1gwX{zG9tUYjHnDh!d?r>OYquo`+FoLjRSD%n24Uz3NMhB)UP8XcpfsE;K?z|P6>)U>oFJO^0$K3NA7NH5EnGTR z3L*03K&qBRh}2;Kkc_D7fz^L?erHlTRl^Ays98WOHsz_*bp_oBo!1fMuFQMtl;5M> zYlP5w)HI?_1=Cq|oLNR~34`8%NS9~)Uc?; zNq=h*iSVlEDIup;-R3CK z###nR;?_BR;=R}8HZWiBP8d7}fNpW46~aYkGp&L^%r%E&k2udi_QV55ovCICM7%LG zn)i}&Kd^rw(z{urbr*tV!uYO%*I_Q-=*Wn87iFIoW;YV3>`(&{n$rZ(E*q2xU~N(qG*nC1@uc?PQ_B=qQI`_UNj0-yv5SX!k=AJuPj}%ZdByBIvWshNh-6W z{{-o;aKgR2bO2Kq=Qh9&I!-}?S__&99%_{0Y>EnsGfr`Fvp38oNt8L5 zIXGkx%Jiv(L4;)pP{PAK@=D0?q-a$gNjHjPOD0L$p#!(b+`2u|5QX zr_>}16JwYLsmaOyNY4vYRG6UK6KUzs?~14*0~%8yi#aAkXb_0D(*spxG!z=yKEF291xuB_t$tFBXJ3VtQh=9yZ&V9z{fM zum!KMdj{dGhoVHcW|tLsOGLG@paw*&E+|L;X&S7E(XC&Lq|i#-a;Z3B!Ab|Mln$Bt zSj41->$nKmdP1Q%@~(9%5otm=lWqjTAom}W(g`rqH7hw z*VynOI*Tl;o34ENl$aK{wSg^s-niC*wZyXrhL)sT zlC^~Z)%FeQF;r=0-607>MabP(n$Ili*-mmw%Sw+H=W9=*Tw7Z7bHQzCI;+Mnk`tep z=%d84l)6S;WTv+P;dlU0rZ5#e(Rz)0l)jBGGg*;-CJ&-$p#C#>6B8$rAn(k@SCM>7 zs+fd^8wC|Y!+jcPD4|2Ad9}4Kc%W@S;vK&y5IeP(TRZrrhVmJ}7+E!{D`NBZ5S&Z= z4>R}AZ8U=@-wjXh3&33s~4TI4wz^L6A$qgosv*z#W~pmIf%{w}cy-mn>XyeEdrzJck(#Q^1!%-Io&~4gV@Ib+0!MA%uSuY@qw0g3EPX zdL0x!^%O-9svf?%3enhe;Q5qtf#gcs@G%fSRLT1`nJ3b5wxho3dL0?fFHqInXr>}j z>XCUDfJ{{P`5LAilO!QCUTZOPDBV!Kky>stev|F+C|DBa+d^Sp39PqwU;S=u7e>218byyLZEblc@}4a*x`@$K^H@ z{!*j=&2s}?9u+p+{E%oMv-@tOtYshHlw>=OwA6@=m&r`0}z{;F0jm*1s)`}U&f6`2t3 zi&@#(5@N$31CoAoj0bcjLitUCBJ93C@$KOZ2z1?9H$Yfm+*6I^?gJHdrHkHOKK!KE z2520ZWcT!_v2iEGR$ANxtc{X&jYS>pUa;m5Q;rUzPD&>~)31w(9zCT-f{Dw9JL#nJ z=8FQgX_BHMU(S`bAV9ORQ((8Vq6Krs(JOocxkj6J+5S1afw(CfpKq?Q>-6bIL}a9N ze5YT%J_6$~QOkV71y&Qc5Dg!L&;hr81t-LA0m6<>BLXzV;CeGD;(Hw5n>IG@KuvM* z+NsDBNNDf{cm<(xuP`TJXd#E?h185#czLt?t?9Gnu-p*pc*E*)1ZMic(sHV=d4aJA%Wv?vR-E7K0cVG_ zP>!e5&3(rBvw}IuCa2DP>sA5p;c;rx_7RSjPf~Q{)NBlf%1{`@68CU_h($m5iR$;G zxc6kDl2G+H_z-n5Iy`%&xC_j@L$s^(-2lSAY>w(6q;6aR-J{D4OzktApxdPECRdA~ zi2-uDmvSiP2$5mO0-`s)gXlF3og*pu%$3H8XyvMARC?g~xRgP6+viiq-8*+wj@2O8 zafDw55!yEG&a89*TcGc7~{97{G!Zv*(Nifs_m> z*DHS9hA82n60_Cpb>HQS9I#d;mLc|koP)=xm{;twgx|^aYdx`(`4lmIu2-XkP9(M6 zUQFRRR@G@3d-47II8=Ov*hbEe%dWcZ=z^nWeaUw<-G#^j+!cvj{Q z03G81FO?a}ylMu*ge{N+Nmne}UQt&rk8Okww^?7@CWMMO%G=;H^`R05y{@@I8s5G8 z(JYF?M`H*0O4W?K5=`d-psOnfl;--w z&yz>XQImq0Fdf-6-FUC=#kLy_hW$LDusA=K0ou<&QMHzg-1G+FG0C%8;-KqG7BYfQm=GFm zX)W^SyZ>^?H_09s9?)H#?Gt&>n;%|la_*H;{8LER3-S!5+$=z4!eT~T2&&P?QR6pt zf8FlAx#0f~ITd139vB27?dY}wJO3|%*0C4UxVx!jfE{1AqB&WKynSA$MBv6>o~iZ_ z@=OS>ps290FzW3FZVsj{@T`73L~`6_#@J=uI}@1enzBb>=2TdZc<=k{=SopyWcX=} zr=K6O_X}dSi4>H> zC($RdRSHD78&bo$+KqHddK73(rBZn|&5YY7ABDp79wjl~v5O>FH7u0Zq^>+#>fu*( zm?HYAw*;wircA4Nn~l4y1|}3?)L%9vzfjM#cV!SQ~|I? zG`ZlDIY`p%v!lN}tR}v~%O{7itK8@gvvYH?ansPSaqq$NPQfo9XkUsPs(6D! zHHYD{65h4qL0_aeZk3m&UKf{@b*sqg+A-nrhq{b=vy;7_{$qJ6Sdb{vf)X>@?khnk zV05Rxy|V_aS2YG72D{&$g5Drp z;zxD&aEQjH-_}t&=pQv|pR7cAQU0PFmb;B4_nE@nChy_Bsr{eF$%+bDPoOB2%OONS ze;RX@Vmk{53n8vL!Si-VezrBnb3xVaS7?H1_{GV-4MGl#T@*K4E8wwOVofU2JzZo70)a6L_Qi>>*M5DR@^_ z7Vnru3)b$L*E z-vJ$rV5NuXR;S)*7Ay5TEy^?jsSB=s&EF2m0rV(=f?~TO5ql;ZE^Z2L&-Pc$Y*%^x zOn!Bz5=l=2EE}GSsMH5KF~&?CSn7+KgDSsUw_opb!=c9?4-7py6@_%-CA3_(mtP&L z0O-ioughIU4n0UH3jZ)!zTRN|4WMCx>6#5(&dWK7Tnj5}ea6dUz6W&i@iqVOfxn*h z<77#vc{{N94;yNA^2zZx&jwTaEOpD=Q8&XDGKp0Tke^DyGiHKgQW>KYwSKwU`6{fv=s?@^O|Cq@3xo;3Gk-v;z~Wm&jc z(KSv;)wG)ccCNgX3zC6#i2fstdiVpvuB!+OkMyNByw`VVnHAOKE<%b@2YD|CG{%C# z6N(jRVEG_uAK~S8`AVL#>lzvnpi25);QgP8!LREWc_{_}no@-1aV4i!J2|Ws4z)MO z*efdWMaS}V?0l8cN2SpjdSPT^0uun`#ccLtCtXSIl~FkUy3v1F9Hv|7knNAt2yr-c zx#WYmv>8{_fCq{ThAaFiHx|{er5@hE!ME;%OrqMs2>&f~xn2blEG{+-%S{;}tndg7 zdHGG{@xL6gofKF+e^~}HZcH9}rgmEcD2xQc?5-xFK>)O9W#-*6 z7d@P6XDXp(po+i+k~_2|!dr5}VwL_gX6_fKpfvo;KC3b#?;-Pk(m_`%Ii$^jD)h}kUG~FI6 zJ6jZ@qXVFgN0_)^(EvlY}4x){<1gtfLg1^!w=MNPr3>7w&eC84GNMXX96Ji z#URP?WF?z4rrYT)b1tSlVQR`!1$E>)0AsMgM9|8ye}Mh|*X1>T#T`zY@2OKAt2+~vtu5!n@nc1`l0YA)Z|x>tV@ z3_=-D7@ilKVmWc*2LUxg`Taw&&URMA9>$?q0uIEMB_njcPmc&GArr+P8ybAaokfSA z@_vIseJ@~GKJ{u@^&hatKd(930yA)={}agDUW|lR=Jh6Tr#_3Z<0qLyLXRZTBn4v0 zRHKT$V`O<{2DXF^a%Xy_<8s>L=&?9>c>L#Md@J`w-~FF+Mbl6lp2xV<%LDgGR&3j9 zN>NjjW5YYg_o$c_SQ1X86b>_)>Y^Lt%mitY-O$z*Sa?q{0)_1tub&CBwrXbo%8&bh z7WY3tp-%ls{p$x*C7PjN%B_e~=dF%=nnlEY`vNQe-B47FCuZ>yHx~tQdl@eiO=Z6d z&i_5#{yzZ>yO@YfFfx}lwv4Wg&&>|{>Z%#Q3Zt5D771V*EtvODlkz|&ikC#`EuA`l zZP@-?*`FV77>$|Bf4my!BokORp?Wqxrlh*Ka~oZEcZGvmSmZ7?A0p22a1Yg#!Kt*_ zmeyH1B7pgqQyqCRMt;{c1nM(ChM*&d8b;~_QlI8m#N=mE38BU(5OjA} z)67gL+L=**V5BzM_z7Lf>JENRH6efrqcW)duJ*qN9Qan((XvOFrbEonC_nn|ZTNj- zkbfYPjY+A(#+D(=)G^V-xd=#3<`XKajAnH~M{is^h>d+Dwt`blrn!WVDdgps@3nXQ z{_@34&4t*YH?-zLefaQ)?;~~kz#DwXtkU@3|16CIDRtz$PWRS9XM4wZVmGA5WiB^L zV!0`eph$3VA-Cn@j*jSY7_0LCee-_zjWL#l@9((H1KQ$6Kmd7{(1UuOT1hC@YU;I2 zBdoYtb_=&vfsGr%fq(|F!xJB$7f{B!COdjRqb0{+;NPAU#BKAIW^8-x&4j3_uW~vqw#Sv_L&0ALgwmIk;qL-9&zg zXW2Ln?WoU8z#W7z6~$e5h&*Sb?=txsf12*)&fhormm~?k6dgi2c&drpTn2Pl=EzCN zTDNe3K^;#u`>rp<{^!pMdWCBrtU4vq~7} zegM=90()KVK}13j9`2!L!(5dMUWS_VoBwP^Vt6psBr>@N4w3U!R$yMGtn|*>SV$YyFV1OU5WUakQF1b68kr3@#poeDC?i{JQCaD|!C;)BgWvqN%8vP~+lZP?J@Y zY07{m#wLmFr?)_dU_bq~_S++Bt$C8!N8&%GJP~KZ+jv2o6EwR&e)xc&Z|pIQRK6(* z+by5O8A-ga_Mxt$RMyZvvI%3dyyr>y=F-uyX_D!Y*8lt9Z0gb#GK&}oUvUB(RAb{ph zZ6JXta5mII1(c%;Vv8z|xKYqp4*{b7-n2|m%(o)H($CHj#PDjmpyQ_|#ih;R&B}z*Etb6LA*0&zwz25D&!2a7BjTc}( zi@vSCbKHxB{v=ep0UuCxcWw)gfYFL*STPpK>mxSZx($6Y#REH#Mg{^+bfx7H&0?EC zD7*NbHT!a*>Fkl_14BTvAdxC87>>J{LpKPLFXIfPLgh9yYB2JZa%wyj=!|}-=^Pd7 z&z{i_);tN*XTjw=%Nd=!ry|*e0S5nr;ujFS!wl)RqEwBs{Sp6Ox8^x^k&QiRaa4k=x%$Qr`K#Zp z?|&EhN7088odmEG!XHH5Adhi5bt`ujU^9u=?%uuYSpM{Gq^pZdnV}nZj*<0;T1Lm~ zIUCvq=Wf5p{~<}@&6fTg=C_NL9EW|+e*@;QAgJ>d*K7+Sz&S(8%LdXgNCz#3(tfu@ zTzY6Km=^+7MO=)|*zn8TuiqefJdU(*EQ6ODYpVp>9o^aYBA$PF&~XcZT?wV)31YcJ zE${n9(Hd!6V&3L2#$$DeZSJv8_tQN{fZB)ky9{ zE9zu7elp61J;Gxw?w^ZX<7Aj>XSn$o443oU6=`1f1QpklFTN>V!#1CnW5dB^!}nA; zRR6)Oa5($a-;O>wsBxmpBB-QbZa`b58f(hR$}VM`mbzL1jo!;_(_3fyJN_=p$GW#*_ShhdRcr zgrYe~0CroDrc?ZL^aDM1DIXchW(ATjx|h(gx|OXb6>vmr$mBN6;IOlB3-TziXx<5H3MTACBI5y=}$ZY$2VOu!$$ix5B5FbBi(0E5&~EpxKBaNgeivb(b?hRhSY>&5cI z?#7N?{>Kf8S;m3MNN>IqhAH?PkFZl&U%SdC(+WW~Gc(2$*Rey9^63ukKig_UPuZVb z0DG(#T7}v$_dx6=goWgg{WPe{A){Sth^{hHhic`&lDLd>_Uzd^wWO9;AHD{(K|_m= z={Y_oWAnh5FYh!tBp}cj1Jkwnp@8SjIkiaBvoamz0Jc01iYA>$(GZOdUex*dg>)Qp z8XD|4I5?f+Cmfc~+A6m8DChuRLOR~#aS!n#0N*E!y|0u21~?raAQWLX4YY_*yBZT0 z_kK~p6a-5A*I=AN0OQ$LwwPVU7T4&wxHw7ZdO3IL{$$qdDM$Gd5Kx7UO@4+lO?YMu ze}?>Ghn4=Yv`C%t>fuaXtaC za?ysrRYc(K^l~m{Tz>>Z`ud|)xZlq$QqNyVA9@Fa5dFFRAUUqF-7L!5PT+TMVYsl?3_o9O#w3SN&Q_KeX* zt%&x{CDP*i_wIE|9O9CcJd1G=hRUnZf-||6TJJm#2R{o5p!{ppkAY2h2IZFNuM_FK zjEtRXIZUundnlc7LIPvZIkWZknsNfE9s~+#PZbRc^ie#HI#BMorJ`bJ>(K@T6WC+) zLT$zQyCla`G;b@R&iw3u+>dzGH8Un zB*!PftwL)ap~T_MlK46)cHKg3FM#47EEdGX0hm0rOk34lF2`UZ-cr-Rk8#w$Bft4qgAQ~)U33E>~y1Tt0EdmXlZb>#Qub30a=WJ zel+^qw>uM^Y2n|-!iBCfaKLyPRb%D-u=;$9%-(?pu8FTnswfe`alCk}GEeP6=u!%-^`Bfld7K z0Qdg>?IRM_gLIQus8)@H8btXcSfrGcl<9^yMrvwd*MTGnCJ;4-8)fg`f17R6 zunHrHlfZY_|TtVv%F-%+P{uAk#l>(Yh{!HeFQzr}+$)UNb$=DDSp~n1K z#3a6#li<}*1?Q-~7Zf61+22|5-QT7B;%iWKM0{M%9pA^^G4`SXAbQkp5Tk`@2n2LA z41`^GoLZC-EMJ8i#;YL|2|Wlp_kU?0DotfZ3h{+wjL0CS<|e_++N0I8XTw|*JsHJv z0s{jdk*aRPB^sd6`)Q^2-k%>4qXA}a?#UAceK)UxHjY`^6tyY1Yk4E?FpdtVQd4Ep z`dQtwV%eT!w0$Wo+3JBO5<8_J&tG$PWoWRx{jUX^pKpCx97d%06oe{8i>;?ls-1ZN z+#}y1S&`O?vY*a=eeZLY#1dt?(MW~7tbhb($^4}jDR&b7@_8*ODJk)A{sLhEfzR2p zApT}>9S_{J(~Wv!v;GoQL{8o8twD*>Tq92!n3WvCJB}s}{XI*9J;Uqy=jS{d&+{?7 zaqbWHY=2e$WoJwywd}jg<$>Zd=5E*Qh$+Art>I2ZPH`XA#3(*~);0Up6vIUSOu6dH zhFV`(xn|y#-W$v2O5=|0D+V2fjTJlLBPGV$1_&}+;Jp(Y(f9!Cy{+Q7z#(Q~hTS6! z#}p1LTe>K4n?hd-4J^ zGOSECHTCPOjgxVA+oggTPZArZ5O~VIkhf)2+YSBDWGklf%r$s=$tYD|%$C*ZifO8? z?$~|g0r7V^-?H@B81J5^cFpctac+LS>1<=WbHrqmcRIpAryOsq!P|Fr03INkWFWbl z{GL#Ut7y)I7}x##E!%U8d8Mu0Vny5M>+BOYBBjP%y##`Jk2+&)4lKamm06#-nz?)T z^OVifoWk_f(~;ywks;B?d9I1m<*JRmEprNMwk7g$%VRUH!HefpmuHv-jt?YXes#Fd zdfN5M(&;aFhcu@oS7x2Wtenf_pIqkHnCc!#hBevfBso&)!WA(!F=jvOW#OH(Q?eZ? z<+u|bADuWox)q`Cm)rjGfUfj4o2qTYwb^>!ro(BH7XT(ppj_DGH;Rn<0Sl1A7N(QS z)K#{UG3raiwnrdtaXBZr0Xw|&Y*bwJLpPV0VRNPHC6wtenh%PXaB&8ln;CcIZM}U% zXVXSL-HVC>bA#ouYxeE0X%>+WUGfgDuJ`92k5oD|Xs(pXeSU*!YsQ#Qwf$W4(f7TM z7g9?2WWB#r#GU5)7)CY95|&&>9#?d>=%9$CY$`zJjYlf#Q8<hX!HC?wgM%9T^e|^h|#%!Z9ZLxZ5co z3R8NE?*)fc?;pKvS~j6(aYCcTzgu|tnX}SX0*&KbhNsFJ;{}_3>RFG+k*ihqC$|#D z+YL9@S2oV4=DG||yu_%Amk$1vrC)akm`f3cK13V_2#nNMU}zN_iF41+Ztlz=@e)zU zk9KFWu3j%-%h?cWr|ST8logucyC!2TJp0+ez-0)Ae4?8YmPyxfXx{bdK)fb5SDpD! zhU#$uN>M^n61o^UV{CO_$Kh*3bv5L+GS{ahE*4_Z`zj+gXG%a2=Y_ z&Rxx``hcAc1~h}JC$N>h1T2xX;m1w{4hxazX@qtA3pBS|p;EVp#IRr+r$~6`g?~cZ6WsQ~nqnn7DW!Vlc@5J(^MSn(5jHhIH z@79WcP|#>`@4vgI$8s^9cNU;wKY7W0osNnx!)fM})LYu%o&x;UZ(1AykF_raD3QN8 zmjQ!XeK}HDMat4r4!(|FOTYWLJ?r~39e~=J1a^;v8~3SGR{;ff7w14^#}ME9PB}L@ ztlJ2q7NxN1(-6--s{w?DiTH?M4o|qvxOL+7(69823}P-Nl#J7W)R|j0S(8l_5`~`J zcc89N*K%5rNbV3)!~_Nd>j%(=tOI5fPG~NySXhKbMKMO?8vyy%^yiZ|wpaZ9{fCOn ze=Gs72ViDiV3A&6`f|Hz4WJ(Sz7w02oH-MpPkZ7nIkTNUo!OWq66H#KGw(z4xZ}{4 z!8JBVNLg|vRvKi(IG+ax8z{Oo)YmUPEDA4E&NKCPTQmZ{u29fyDLGq(V=jdLy6=8179ok-fva=Yw8`0dOqyv#<`W)@j5Nb$tAb%#*ChB!p zd;4P-&X$^iH+ilDK(BRKyRpWWRn|8zG{0Q_nv4wP_EvvuTKm@6JH#70`-Gac7)5k& zb)USY*^%>H$9arKS$%cj=>kD+YrL0amsV~-Uzk}F9Rs$&8>1U}03711bEcn$ipuGYOv&PfNNLJc7)2Z;H8kp6smFzJ7ng~~=SnslxmGW>&$X*b&ulVH4^KE(x~$^% z)`ectM$J*TZhGb{gx_8&r5AK}KKigUYDehuuI42Zb&O3R%2^M?-qnkKvs>Wdef!78 zm6JaG*yYAKg`O#M?~T=bel_Upk2OVeLEM{SEw6R@vC;|CB!J91`;s2)+57@Si3l^? zt3Xm<>o7WK+cSamVSqY$Sz{Nxh=j)@f4=RnqX%8rJjR2Y02OO<@71v?1a8rIVVJn9 zz-G&3$qF|}nEvvG!F)f9^E5S80uPJXOI34u&cEr=CLE`Zm|3`MA*2)2)xy}cyPIu$ zs=|L{*}1|s;0j&C)5b!-Qfi6{pTcPx$xhF+H9B)O5s&n^$xanl>c?p0UAtsjOAvCn z?rnOvK*am|7F8#8k{+3U^?8M_UyFgslW9lbLo&^?nr6cHns?XLRxFt%mrqb_GH7X? zy1{X7cebf_A}Fdq-_=L6wxLIRYgK{4b%*)Q)Gb3kGZl^CEj*U4*Y~@Q%?XG-yik6x zb9G>S>}_bGPc(*85MQk#dw;g~>jl+Yl6#Y2)h*weY%!`Xz2uPrHtfb)JjmP#*JS~1=wk+twBJ;T>k88OuwyUaHF1y?8 zwsjram&SKGA9Qq@7k(8i&&7c)RqA%Tdlj z3MPEDcFS|KE<5+O_|HUnB#8z%-O%4DkDOeu>C%oVNc@_8XFE+f8&3=`<4RiDltTGc zd(u~Bd8wb(7NQj2glG6|E{)HS5Yu=S$1A(^(ukkexEO ztKfRBQ#~hn?(FtN^p4Tin%}Nn!@Q1XftDLL-hqMTblbF#?5FYuwnop_0&Q){jMxF! zF9a1Vy8CC$!AOCiK?|JEclW^=a}{8yP0@>{luy_+UQyz{ zX+rOVgC9Obqhw)B#e#A>fPo2(ai;(KL5B$c+gv=Y6po0cTqZuAR?0)%tDmYrch0a| zR#%iACYzSNSlK#{qDxRt=T5?}DSF$>{rgA!{-H^!s5V@D=ylUWcSc#G@PU2{MH#%A z7oL}=CzYmaA#d4&ulaj`upQlm%Fp6!j9@DuFdRR%oW}5(HhQh zhnd-qenJZ{s9@tPE>%2I=yQ3n{jAW^R^YJ85wiMYmHkV`b1LQAJ!kj(`(M^86Ihw) znVjYv2k1RKJfvCKDVgdk-@%-d&d23}rG)d<(%KuX1;9={3@Y1BTP;VoZ#s?gMkg0G zLf38fgW{rD!H{RzV!p!|aA253eTDyPD{Q-Nq6B82rB?(ZRQk$*^g;PXP|ZQ`v@vtQ zpUcC;^EO6p$Q>tm`~$jr{odOHy1WeUw)FUAeqVUl){4hS=ImPrGX(OftV~x*#7KJL;3o7=}D)7 zRcGxIm}Jzl3iV=iFl?FhNJ~qLpBaEiigyYi`H>6HY)hC$=g|jWvXUq%SJx5wK7IOr zZfABbC}p(aO^)vs*@z2o2TfOJdZ|lGONlm=Tkk{1qITobvn%gi(|$( zo1!LL64)H1Ko63PN)zPGd}HpVKzLvPWSgM-^LC*iwb$?0dXF0J?=&t?e=$(Arzo+D`$#`5w3hM<-`n*IYNv zcV*l%rAE%&u$Ss+pS-eoZdBR19;0>r9+Xb+1IuTKHqShC-cm`)My<#4p(|Gn`qyX6 zi~0J9YvmRztjPD=*`F_*IfOaf#d@srFmVI{L6mPnM8c`Nm)tE6vMKKrM+B)#_jXXW zMCb9!OK|&+#ppEcJkHC@HT_)l%Yoi!8Qm(B4jX;~`c%>7mwutr6bv@XXRzRUBET}7TAZlkR@oKtU zp^Ay8p2~Fh62(3*E~kxlQnwnvC9o7M?%r{+QbXS&KFxCVduMlxKc@Q`G8IAsB}{jF zVLUt`s{UJ={Z}|7ey-Vm@B70jno0xFBbip2lfcg0?shp5=am~bZaA&IJ6dLD$DI+v z)}slAtn%E0T3~Ia1@e2#273tuQrevtuHSEb<Qa627 zUhY~++mSMuuM<0ENh&33mYn9jZ85jY6x{j`N zQ0PnTZ@Npn+dsG6kK-jMD#{2v@rlEM@J8Y!BomBeNp#(@sS z(r?pi@zVa753}29e)0DE--4-Q%~lvypcKG0JQ+>7vaHI`(;FV1{k@4*R zZ|#&*7lC0-jf_dydBZAABHw8sR^00=6a)O$DY0DVR$aKX0I`0RbRaFK560hl&ILt{ zCL0SBtXEN&Wu_R|@HIIu_-HdA_QXJ_t=mg#XT>_a#|&sHALLKbo18Z%zLFP#>M}`S?~C9*1@?F zHJ-%V4eH%NBCr+-?e77>?1CAcPZ^jZ2J%dBs;1|Ay2{S=Z}zV?9uol2^46&N&fSvX zBXc2buBA_Q*Tr@XzIAP_h>IuwNT+gb5JvFwI_<^CMl98 zrp3*4zkNQ|lWW5E`F)VuIc2)~j@`1w$hmrf3~=hF9~_uVGj}$zva+fVRW><}x8^c@ z-bJtS&C1G30e~B*my~V4fab=6w{ppGMrb%r&aNRRycS0GzIwT?d5tYKMXzOxZD!j6 zt&do_kk&?P@Rjtef{0Fd-H72F;(hkG;kd=U90o#$60-X{cj%gqRW8v43!VW z9rg6|_)~jENb+)W-b-OUT=aNgFC-!&VxP&OZsK4(8ad}=aOQMKT59hp(S;{#a1N-% zmgU7L0Z47|jeBq_D3uZ+cvyg*(*2z`txHW?^-b^nnXei*rp|6Ty3Wm28;CB30@>mB z>#IPqS2CqJ=Uu+$Q~nsaS41f^q$DKOpu`~O(C|iqc4BJEr+m?Nr*UhRB@v?aAYl|Q z!QL?aKfB8pTVYWYAMAmqW>dt5z&!hqGHxASF|XoUu}!=SUVnhQ8&L|uXp9aa@#ulr zD}O%{-IJIy)J!EadA(F2(Lm{ZQ9JFKhNjt_J8_+F>>zHX#XFdg;iq+xf=T1?@=~Ih zh|7qwOZ-xp*lNbkWX4xz*JWj9yzfyfIf>Pv3Bjyu zSL0l|0JwuAb9S{tQnlRt{Hs&7mikp1hZgLc9JRh!yd#+iuTmcdR-*+ZXc+ZkT&%I3 z{Xz@b%s`gAPX}Hbgh0;1HTx}yPsO)8DGYWldEPptL|U@PDjBF4qBl$L5RnRa;R)GD zJdO8$$YyjTG8+u1lzY6f`zCWwk5U#(-G1@ZZ}%@R2-Svz4^zr3I8~r4qt&dOI(%?< z{-B9<@CI_2Ie%D+>qzE8UH@sQV5VPd=@oS~66mju?QTWaj*nNJvVWjo0kD$Ay1NeV z==;f#Hg8sN6VXn^!7bF*cdp$BTRj=uYV`*X$zH$yp1N%QQL9O^FZd0yO@m$bsD-Bn z?77{q7Q=>Us6;OC?qkc}WLI=|9435&jg^{8I66PL^kr^at;OFeQ9YBIs^5nF-s|G> zD{}L4?`LNzXR509+JpVQBl;e5<{8X~V~vqMsmd8w3=B5tCRlooZdD#-7hJ7%nXaXZ zR5qzW&UP5(loI{9)Lg%YFTvsu0U~2^MsjWZwO{(A!V1LoU7~|y!l98v`%HJ}=ESkzwgFyRP7KW^4t~Bc zK!=o&O1IJTs-4mjDYvW={R6g`NgVDW+AMrJF>jqR1S+UitYQyvbD;5&+(1}%5TF3QoqIMkm3bhazDeaLP(e}p`o7{uiyCUU$N{~OP(TQ+WF=3QX)tF>Svi@hLrP}+_fw96ImL$Te|mcQ+LY^d zMlI~hu0dnym`+dmR`BlGez0PV6HOEX)2mRSa8+s6wknym&S1NeAynV%P^aF1%d*fw zWJ>iuP%d;vB=R2DF4ma1AK$?^rQg-sN)B2%S0@xR?xkA^!Hcko+^zdFtTh!uFT8!s zKv)uzLJ;MW#mpHo=@Uyd!{e09k&q~#lF^vP(PuO(B&T?jTamn;6324j*^1y?{pkO) zuR$Eh%Q<~BhqR0u8{cxbw|^z?!u_w8x3-#gofs}Wj}pE%1FU-Nic$1OGq#tz3w!$f zwm$g13@Yv4-7a=ros-(6p_jhV)oy6+&=zjIG0zh)UeS>1z~)k7B^<5L zVLV!-;w&tbda9GJ%(BarzmkEBUGebscgUHvmI=@Mdw~T?7=rkG`fl^5T)&?hM#?|8 zb#!zp&y=s0&iTS&DGF6memFc8;cRHhnjz0a4o;P&++PH*a8UE+Lm zGUT0mF$7qy|4V?ylqrfSL(4QhH|M9l-J#8)NcYCNr>(7R0gPg27=Pj%kWMZ5KoDTL zk#eekz0vjx=?Tun(lL>_&}4^#h!GBe2mBtnK=dC-_%v=#p^g$8Ds&2}+$4)j9sZv= zX2j_3?|hqHGOkrqyERhb9O&&HXzVT_QTeQ~!>q&Mf4Kq;Cz@YkR1q)b<(G2o3?AHJ z65XD-kFn(6lkN&5&JtsaO>33l0MvrkP_D$D`+cZ`?U0bIga&}y84>F zd3kvSz!@q%rD6Uk9`oV)u`un;Tx}oMEx+A`<#T%b)-ZcjbR1Z3Te!$^D;}=DSovgO z3OQAT7CANF&{_Ac7(wdI$vp zgRVvC+65$}82wV))}cAP1<;!nG1y zH1%FH1%U_EFPqEbBOq(@sMjjL3Kv@y1u?_yjZXoEWJ8fG-F76WM(c@t*>c7lKk&6AT~>LZDMLZwV4Zxu(2h#i)CXNlC^)>4}3B= z=^tloUL-1!l$tJ*GXT1rW;6?u!okkqniY1{uh?lewflk9L3;&1LtiUfULJImJ~frp z$e<=3rejP-tPO<*wV+kPSMiHlu_OBALAYgc@oH>Chyd?WV@N zV+w~_;XEI_p{}yBrjS3S9u+~uP!>}G2j-DpLjjS@58}a6{U7q>V|KJzR7yGD1Gj+_ z=Qg;@v*g(vKaBhlcHNTkv1NH=bzrO}m(<{d;t-04nzzC?!Q>5VanXts7q@IhLgbsv z`9PGkj>Q;jsj1m!zB+f%X6#!uc;hJqC!mT1pb`(jA7*Szi*p!}m}z8LyfN`X`w>iA z;CA0g4WX{JFjYGhVsX!QakXe$Lt#OoFcn?K%%Gfwxq8&sHz@k`fv3&BM*i^Koe~vBp;dI?aa=h zL))iAN)9fknfyIv_CoqOl>6RwkcWW>Z{)%)K=k|t(K`pMm%b9rj^ob6a7cki2`B&C z6is?%lk#^;tJ2MqrK8-wV(g;F>6B%`nRr-jC9yn%k6+Q~kju>T=kVZXjz_(D#vmF8 zi12}0)^Z*e4IKln^%P@3W4@#N^77E=rhYB_a%LK3aOY)cz`qjwr|ci_8~7+W z2{r#<-OB?6JP!L(2)w#aXd%3P0^*Yrze9G6|ZMv9E|I~q-v~Q&l zhEPJ1{ONG#fj{5UYXtM)9Uh+i=7X+MR9mQ1^ECV3W>|~yJI5PE;2Zt|#yUS2`tY`X zcEuKJa>gMdxFpm)cOa0*`ZK=bEC&e4GBh!fgQzLo&v)EjVd0*bXiwS2;hm?ON?Bgw z0r>7zKT>_$vp>6wx~-{x$?(qLT4Oa2>gwvW>3;L)*bn+mx(cubj@DfV_{S}OK`J9n zdB}{;R`{B7B%YyXoonr-TjR^;(xFPvJR8MBzQ*>fwv&j9D`|M<+fZBL7S$RF6+eBa z-9az<<6N2IWtY)4Rf|4gOAtpPcXjA-zRkk-iKTTZNzdK;m)Eb&Tz+E|(9YvexNKp= zI6qN>DT+AQhVR=?nfPq5!ojQg&Ic^85}9&h9XzsGyTX^t^s3+0$Or?g+ZVI6{VDzx z9t3)B?!Hysl|xO7;heIn3I1Z_?-_oY{dEvS=GsU%RFl*n^83>pDR7e$G7@DX!ehFJHT#Hv$q@pGi5z7fqmj*#Jfw8Mihe|+(f(VptxbmEFVH0jn7pay`rSjhpuigQ<1CqDDKp=n zBX~vjoKoNjnUN^Vc`+j-fwfi8gfvaIw-Jc0GIkueLVqg0pfM2rvOu%_3kH@zi9}iD znt`}JDS2!R1%=TGgF6XY4O4TfT2LO@at=WdsNo185jxRB7Mx00^(r@V0zo~b^?9~((qwo@b}6DlO(ZH)NbG!0Ngd-F>R~n287`f8ZPb zG@QC{6bPJUqIdZI%*C{Pgy=kZaMf21*euYv)i8xb)V(K-ifV0!2e?IXsibphnsg1G ze0-nvMGh-TjoiRvxSbUs&XvwdxBa7X!6xTDejRe+zNDG=7v(ptDCcFAQ(^BU#RuB4mt&R7TLf_Fj>DtynK zO-_Y*I#~H1#v%eYj}y$MFf;PQA0Q=5GWg_VU^zK?8X2Ww>flhm^IvHsb92aJlEl>? z=Fu)IGjV|!Pxtr5#l>EiKXLvc;|IwnFplcLINo#{Viw;2_xRg{)itO16S;lId1#?Q zLmRnUEGEw0e{qw|UDjp=4p`~-DLp+7l{nVtlQFu7HI_245EKB>;PA1ya8NaX|KK86 z=Y@rZm)`)=DSO}5*bNl1l-m5w@2vZW1ZyXGPAMN#FIztBc;U{B`Im*!t(YtNMf$nx zwq&GqvgLKQdx85e!zs{SJApk4)VW_<{Y(=t7RZkP8q`$64@wZtmKW+hMM3xPij%LvFIM zGoLu|biHi7bg`VuOYpk9ypEGo#Qyh_P#0vPzUY4OZy!a#Qi{-vm%O++)&=rcXKqe^ zG=H3{r$k1$mIOm%K70lvJiIpy*11bHK84^hz;Z2qiY(>D1@bfEeE9x|*5-wwCTxLk z48kvPT+lf&sryMwEI0L71kceqkclGzUVzxyf_2+3A!|z>Sk*s{lKndRw_C!*)sll> z0kHF5aN*Z4p8;C2Mpej!HD9j%3<%ESHM2Ku~lnZ|YzDR+e!%9}9$bw|<6padHQC+{Ux12NVGBv!v0wuo-hQ zl2~xOrpBYIXjo$uPgc0)gfs;b$SHu}rweu{Fpq}g@Oo!Y3c|^PI&39&qjfJ|0_55t zy?|S5(6GONhY2oA(+X0PAn%(EI)pqlGrMhP_-E!dS{7ZWCU(|k?iv|IB8YNR#$*kK zIfKQg<-Ou3={}wBsegd~f8dtGtI2TD?N@O-Ki+fWa%MZ#Hapk*9J>vJ`0o7BSvS5akvkV;XIMvd^;!S`i!I|B{|Uh-IPzT@wxvG&6kN6gTCRH+33vj5@Pk< zS$v}>AIchxOF#wRt!X=M{RbQlcAQN4=5+&!SKMTYKIlS4t#Sz|r(7wn_JO0>0{!A& zfjh@rFt2b;zr7!t+PwLlZ2uJY$<)8w&CB275E|mS)gG7Wn#0G(w+LAE$f&wHTK7xg zr4K(4iNk!W&u~ znS5HrI2+(K5iq=s#BN(OwElq-dsu?XZ7tM-+B=pjrL>_}95#ElsKS$U+&@Zg*O`>7 z-v{v`>dbFhulAqQh*-$g$T|>WI40rzUP9_ZOX;wo%FSy(xB=p>l7%JZB|2;+ z^)ZMQ*c!jFwkWzR%p+yU^Y8Zlj}J1(NiOw|JnZi$XG2-sFmCn+JR8FJkyrN_1H!yi znam@iwq@KPt#HJMC8hbqd>_lBN(~MtFV(^#SSB~PN@#H^(-I%{G666(tT@brgcGl% zq(~O%2HrS*e!s|3>z1NcG`}Q#9z~$PG1H`%RA*&)MR!`vP2N0N?htfJhlbavf45VK z;Q+|afm#pJjRLrg+z0tke$i==BHb8^F0ADIhYLUic>-h%YkXb*^pKTEf2tqL`QtPm z7lwDf20mR(=+c`jnVk66eT*1rg!fT8W@f-y$Z0+FOF5JN$il4z zXt%kA=l*kRzfAqJIJ#^&`NK?vVjem;IaLFymGPKGKy`4z^!xrC9ikL^rdpk|oQ6&! z5=2y|e9fYGC{%7{^e5!<-5CtC(_N6sw!A!>;lzockhhn+%P#8g zm#6>kAWfgfZP38LKmj1893BD0h%p+N(!uT0jd0`5@QI0Ji4+mjOwxTbgz=C+A4i~{ z7KTFwVxLB3Ue&dgcPArHv;{x~R&a4z`5s;2XLat{VX%n*85_Kj7dMdSn;HOaL=L)E zfFghqKeioM34mtxH4KEj-M6R(At2~lXj1+;sfkOLghZD7;9Q(k^>(8icOO`e#idfIK@;hb7_a@& za?}_NLowqcel4(7SA0!FmIy)y25Y20#?v)*yz%m8)V`RBLc3Es&UcGbwUq-(xNzWk7K8 z3h>VW?t84xcYKU>JxsrSg}cJm%LVk6+dp8LiW>m$C@8fQ7W(BP0P)N^mB#G5tM|}A>PgAF#KXeM z^-Arxof770fUPySg(e~bi&FFpE z9040^d`>XRII@}3e==8T<_1V#9+R-s|1xm(oG9*OlsUZS;X~4nCwo^|JJy^x&7dzq zLmz>LL1LaCK76oG99NAIeZ;Y3Q5uamV@ zC454|6&+>6q1~zGhdxaJJ`7yuw{Cymck_9eER)IZve;k=GPy+d3FQWlY%{E!Ra1d4 zK^_6*9EFbUNIJCBh!1JxVVCJC>8=j@{X1|uXkyYSqNd17UsLW*XfsP_6obA)`2FUd z&hQFfa50p-U!FN|Kg(M7(B@7i{syk-WFy$d<5Xgz`ZvP;*`2c>%V-%Klq5dfHo4~F zlFrGB^*(x6r#qy*&|R3--#`O=srxDxYSrD=e@zTUT3VdoF78GY`e?;TCvRdD9rp*ysKvm;mtLHw>#%PHiy z!6GstVl*zBmYip!2>e3jV=f;(AAaSrg*o3*PvXS)>*&r2X$jU{`RWhrC>Lf)r?Yzc z?aKQ_aPNZtZmPg>{TPJQkBL6mrzm>hM)4qxEcOPx+`!OwM=yg@r>nbIdKeu%8JRchhg;RQ{Wj$Pa<<_92k`*@G-a~D!HPSUIhY|f(8X>2jffcmp|Al+ z98`Xteev7ygkPaL!)WM0*`KDCAQiaTwGQRRmB$VMPg0GH9Dvv;DV^qw3i=m$$hTL1 zlaJpX^SdXBT7_0?;Mv-Gh!a&Ow%Kx1w7W1;j+sm`DJ(x3TZ!DRt5>b5{jw7C)?>0M zaIH(s@C?bNQjq6rH|8K#fb9|z5fhJ8_>)iP`#FAJ>gdoks|UET=%tPBrwJy}ENpCX zpXVh?PhgAR*dNn}-2q&F4s?~3mFLCZl+9hSh>`)dr=EB?^ktVeQcN@2a>ZrQ<}_8Q zsZ|c9Vwbl2LzMmOccJbC)I(pBOppAx1E0^dg$hTi%mU#!{Sk zXFlv{kFx{ET4HzErLr{lx!{Dbm9V$Q%e_0^r(7`rc=sV8;XdYlqKF#o4u|JkU2}k= zANVZX;+btYI!Kk)3z)eSyAz9=H>$}rjbDK}YS-rPx)`W?H1_szY#rqN69<|&PEbl0 ze5d3j@tvewyRllf1xcXB*jm?9wQ7DYxR|mkb{wf%n516&vvL@)1JuTG>5UMk4uW#z zTJL~fm37T$%hrh|i}r~1^sxf&Wo+U^tfIX^=#-DbH!iV)V*<>-%@3&E% z98A(i9uY2-cSdF{X0r=et0dMn$(~kIq|K+eP`-cE{jO&jOs-IRPy-Y@lL$S~-I<#c z3#{HSw#nMGdA9leVes)}4DTZIwUNxL+2f%2II0PmR3L4PE28ex_%_!p`#b>;t>&g_ zDk#}2^jC$4Yl(#6WV5H)04zm10Gbw|H1c6|L$;s)-avC%NKUAODyK11#v@3TWO(Ba z^R-pa!l~wJw=^>9F8z)*5=#ht_$DVdJ`yYV`E~CDX-uOfvL|~STV@bh8T@A!<&FN2jc&XJ8s&Sl3+mix=6ZOD$xM9y_&QT@GYB0$9T?$!iD~sjfi->w zV0#owAHIdD{;R2}si)B1)C^P%V(tULa03a=Aa@QRDf@Yc800;*`9x#!W>NIwhDgw| zUFb!f{Cepf8b0snxw-!0pc|D$q(5vpYQ4YI#`(|A&Qgez6*odU=WqKfcwwz9^xcKh z?zlhUp|2GYUaEKRs+;Y)8@xjyu}LJ~3dk95ZHbjd30ppw$t-x;tL@gzSk`fDTqUP! zb7a!-y^t2YWzg5fTz{y(UJ|(9bFZ;PKi^I0)?8tYQk)m4a;!%>WzFi$d-%aH`K)u_ zKG)>?(|w^}9J6?tbrYl9j8)00CZn0ZU3Ke69DKRC0w~Ussrw?I`=;}?a2-ZxzNOfp zIPbL33dwNu;Ogh}gD>YL)6Qc$-5b}{QjwkKo9$H-^pekyY{uR#TaStc#q|b$Q>AqC zx8>s8x&5!*4FFQRldtAYWi^wV?A6R2avEDIJ~-aS$fee&@ztBDaa|n@paC2G-km$R zl(lLg2zkz}nfn@}NcyUX+`1;Cv*a^L`gP5n9sNL{-zBEB@0H;$Ya66t z;ws9Mq@TatslO;v^>c{pnkA+})!rDRaqP`j$?(l9OwxwCB62{K=B2$utL&-ekpB+t zI`-xxhYLEZ(HS#3tOBVJ?Xd)IpM*MZ*TS}qnWej*Ly7rGw_?h=HkL;3^OyXH=yHAl zN^Zw&p4|_)j`3av8o4D>#WDDKAY^)tJ_rETMWi;rs%EY)3RrA!vWojpT{z# zfH8WrW!8Hn1jq4P$BZ|JHEvK3cZLOCRMjkH4XyRGu<|74pzLRUv{1dYfXa?|*c*0r zXqx^=Gu7iJD(bOlmI_ge(l-|R(%4%PSl*fO!CbK}i`h-8kRR@{Qc6<^#YM9}29F2f znRqoXK^fER)4TPqUcGA1Em54LF7PeaiVJ)46mn;$Sh&V5{jE3K*Er73#{US=_+W1k z-n-`2pJFoBytWgom9w)Q_>*EH%3G&l-egl!Ni_8*%LLZz=YGGOPx&!;GpCyLhs8_m zTbE|@KB43RdyM5e*zd40hGxJcv2C#V4Zh?0UPvV#nCLB%B~W#ZO%_sN$7Y;HdKXgl z0d9rT@nNyR_X616x_M6j>vx}Y;$LZ&y)?$CIiCx@QzU?8`j#9JmbPx;q0NpRn3Gya zm;X@nY@GesNG&qorYm0d5oNSz6xLG{NR>TxaOry>NmaKtqVJq+?J-%5S<{R2V_=Qr zhT;*czqDZ|-chW)Bo%SR$INK1ewnC!MJ86IvOLvMoz?d0_j^j1uC-t)YN!1CYc}o{ zD^5ArRPRS6xwknKB87^+C*IwvQ*%f%?zBnk`2KZW^C#^Dc*6s)=2Xn6!YOsW>$Qu?i5EbArDCNLys!9#?1DzJWj&Iam9-O6SIKN-SoSnB;O>q{a9P z09$RS1RW%Q_sagO!-mj`L4)W_vzV2h__{@m~GyD){gPs#XR>4S!x0 zC8WHpT#4JejNA*m@&XBJ)O8oezD@Z8{q9#tEiEzn?VAT}-p`v)UJ^<-^_k9NtYUc? z^A3|zIg*)7xe|<2HL}v@Dj>cPvblF>RBJUN!a6e`M%^nb6#^6M5Ybr7Ql~&%_9t+^ ztR9ZK6k~i6!Lw>cNRo~O4!y((Aj;-7T20ld8pQN^UuFf&j5mI`N}btzxkng5#28%G zHu|P~D0(HU z67OfK2uC)rICv5~JvX95x<-qS)Evs9*-(0id~NP6H#j4xL)=h5+e8XLk?=%%0J!;a zY!_FXI)ba^21O(`VVn-XMLbaE;0n*dAA2qUsw!>73NB&UUEBKZZXA>YG>=4e=#{hl zM6NqHWUigfI0Wh%Y>LbWLOWe+QD8f&pHagS7|}0>kdqUtopWVQuJ1KZBIclYO#ZjN z&F@HzWUk0fiPh?8uJJq>^)c2$XX&2#_E&`J5UNDkG#U@)Cy>&AyoVa@NKT!XU`Kh` zDZO_r^2_U(7-g!rnUY$&Ad&i?nwY`eVsGcKyRUywW+;&#q0$5f0$%=E_4@NrzS5@E zvAlU+VnV6}aMK|lGtn7b?Ya>6Uo~a#wF@3h9Tihoj#Qk;ItF2`ZNHns0ZZXVSGZoJ zg(%f4*Oz}>03Jk~Hl z5$>6Syc~efGo6!9hG*?tKSND=$pF@W%nQWcYna^ZK;Z4Xgaq@cQ>PL@vaV(XG>mYY zT&+D7`h_03QB^BjIh`A~`8w`tuXQn>(atcvvCXaJy^<)yPWl4|qa=yFAzQvvM@uBH z?qkcBksyT28Ymz@NLrF6Z2ORTqbUJfD?1}pRx+V3DL&;#YP8x^edTLz_(lBkNd_~u zO=K`xXYT2xxzq(?%C%9nu}#W%oEYxZcVZOr%coq;`tvv;KJ)@c&n>#od`L@^EGl;H z#6o%jq`vn$tRJ8&>H0v0+>dV1gjF%X4v?&WsW)2t^tw{qea+GX5R3%jdTHa}35_ew zY$w>*Lc2@Ggcbn1PyS9MDRfgH8unU zy4zmfeT>UDztM-)gD7N;7ob7;S!2{TeTr>Up=33~CK!+sbQtg@<=M9^@Y%R3HE#Zv zDn%F)UJu|gDX(c;c&ce8SX!N#IXiP%d|aEZftJX58xxWHPA~cpq7Bm^S5~=Mqn3&m z5!5EdPaKj-C>m5_jkp3&fxr?3ngQ^pTv0}ln7I86ot0;bx)CL{^;q6TDAax-D@lD- zKnGi|g%{V>Pd8Ycb!t_o!aIS?htEEuaeC&qb(`(QQ({iQXrG2#F|ntYZAmX4mp&@s zwHP!aC*XDq$D5KID|8Wq1L8m)Uu3+#=LqYe1htN0>^;ZERj>V(N}h;7!)E6VZwt#? z6q)7EPguehY{|&iSe~!kG^ihV4E;^`586pw+~`s%D)*~htpM@XGcupTDdVFMUM(VC zf5$(o%Ov7mOXz0s^o6d`rX4 z;R&v0MH!A(HHe6je17n{yjLJJ)7k0uy*-u=2ag%S<#&ubFJIoW!OkLS*<(fp_n`Dp zXXtQguQ``5Df533_=$;%iW_)dVd*?x&uB9!rhgkjLNPaI)RjtiD2#}j2nc2|k15gO zX*{zzOQnR5R7^l#iuHpRW<8J*%z9Pf7a*=b((&+B5?(iZo~gXWOs|+B*_vbS&6>H0 zlnE8mS36TTjH$goW?5L1AjEefA-;y^e0thA@Cu$N!L)z`SVrN_@+lF(!nIhB+^K&A zScqNiIi$8)L#wl}TUqkP#)JD((JkqaN%B?z+oz%N;Lu|5NM~j!d69To9W6jis?)wy ziY%3Xz(dYjbnYhGvxjDeja}*cg1LKydXLKj(?%<1VsywhZYIPJ_Dy-qO=OXfjBQ>u z`v#{W~Z7XJ}lX)5y^MDSp*K+!`}u@8=IB_h9sb6|JQxjFh(>Z9i& z)wrZx!E)2({nGm2D8tS5r6y3cR+tK$OJ-!=!i1d*!rkUeOO^lf*!s-eYYKAKGBFUl zJX$z>IQVb89_)e^ww`v!ZWYPA#FT!-z6z->gu3K8`TbrDlVWp*@->5P??}b^@T)$f zj%`yEHk&R^hmNH|r)92)9LJG50XWf9jN) zCYGnd!|&V=a0`&D6`&$cyW*4J8h)Rs&DN!=6Wis~*R7sg5o|41tfRS6Pm8THK}OIl zSp>i5fSsd`O2r#1<5j_&ijuQ%zFw93J3ibU&Mk`2avm@3#h( zbCHS*HoX2bO$IklqEgX=Y9Io5brtztK0CYgLmCP1oOuw^P#SunF22=ZRK*25)HJwPq-`F92lF+ zk#I#pggA8+50qbfcOFVCK5Rc;o#~Ai4STv%+KJPRPsWs+EH}+irYqxR-xR&cxiPdr zyE^fDHCB-TOC$;!eNH~7Vwno<(td}!X}ihtvrzLV!dZ^rz}VQhQH)D9Hhmw)ONo>Q z)UQcuQyz&`8Y<7#q;FVPUS~_wq%SFCW}fLsb{vg5#9gPS2=Yn;T!d-y(o@%*cRaqR zZG9Ra`nt4W{=B+&C0Fw(!hDm4Oc|>mDa_J7{i(mx(!tbi?4t;D(~c8q(3)jxRFDNu zW%b!C60!&g-0a&x2hvntDJSO#!#@NzmUO@p$Ypkbz^g@*nT<`>zKQtDWb%XBu_U%M zW5;qy$#4XaECA_X;&5`HaldqkfQO|uoTo6=I2BJ+jTFrU*Fo!F7&En^MiJH-Ey$h>qP zd3E~2oSM)iE?}iUhanoh2`a=9+F|heZ7TJwL><)=n(rHd|on-#eQ|2f`AM=e}~a zYm^Ip$MHt}#<2n80RRa(1JT=*WU+4P5;J|rAFVy@j5Bm}1o(D|_#*Vw`9I*=f0)m_ zDAX5CN^EB`a00!=dH`=!XE`!OlW*ZiI5Q@i0xz+ZuT?LCggP(LHNo8bTt~N|;i|w* zodAp-10s1Xk_Spx9}**d+^kD^dT!vjp&?)Z{P%XEe;ag$sqWl;1@JrtpqFW|Sjv^! zp-Q1`$2}Qt#3o^;(YXLZRZ!@iq#j=Wc~VG9cwHhhxaqBtIkygOJD6!CUK+V37opYf zjQyT1-XrUO9}VzE9>KR29+ib##;G$RYNRW);h3f)AvIMi4doA?*XT~mh%M-7;oHU^ zqb|8n`02a1$gEiq*Yz_ZEP9y(Ab6(*#XRuyay7DG{@%%GMJ>@ML!!PNUM&M!Mj7TH$Q%E&f3ap%F}#iP5FYG^p8}(G^^sG)C%AHgel*15(OXb9tys#MxvY`Juxmg2y+Zaawg(} zT8^kTK>+|u)!_=tXk?jF!7t_sYKSiWF&6bbyeWwWlcu@i?lvD%kl`+$0;VAV-LaEH zZQ_?p^ha+Mt8Zi_$l=-A8(7Kz<8SM-0aMJ~t?IS(YB6@bBq`N&ZUTh8whCDi_Xy3y zK;RU%dShGw0{Wcb#@oO!&6BpBeEnR5&Zo6#OYRE;ge9y~|MUOkYv}m|X+O6k@=|d< z9O9FZ>fL_+uP1UssP}b)>g}$(tL9=7Q6qNK`2nMBuKazGpS)Tl>xd$_ceRLj=}0lF zi5Or6lc@_nXl>YR4oCcZ&?bXYF5O$3I5r*}|B#0N%kM~jW^sqJMu1+i<3h(CuL2|i zo+ok)B>{SZj=PiLPfX*UM==}ks$3Q~^#edrmx-~!zW<5Pf@kpCa{8}70l^scuQu#j zYdjF2LJruRvAH-gfrYeHuY?`A0gL<~5{GH`W&~NWpgU!N3MwcsPm{o44+s)w z2wie^GZ5DRkqiXP%TOvm&v4A#H^AlwEs+f$)jF%npzsFvTk-L;U+b1IBdS`fWq=s) z!ZzdxhoEo#^_D=c_sOt6PHTo!$u)uFU#?yv`i##ld#YODv?8;t>LuAL3lm}_1?*(k zIM|PP--|xs_IlFOZ9a1@6(ikT>R4>e*Keq0*s0aO>)Bk`=RR0mx^AE3{v>s)vyy%# z<4E|2L$v$SHiVtI6OMhaBHA=YhnZ%J4wu>`nJLg7V2ZX+stpVCr$z_nBcBlP?U+_! zRjjyQ`PDd%JAR+aSusA%-G14a@KX0A?~>!AbU9H!952hmpltjMq{R2^-fr3H z|7y-*p#-ZWA~7{J9nCDBd#UQZ)xHFRnS7fajEsywj)S<;%WcHby^S*Mjz_gC`tBOi zUg$B*)bKwtNfX;NYv81rY`{Y{*AgH91e#G44<$~Uwj`(6`@R3t0s}rw+91cbGfspj zFSKEbFJsf6IvV^1;-w;^mao5HW8!X!JwZ`*zbi4KuhBO!q3_Z(S1{vD+By_(cRE=6 zgqrgwGI*CwINtH@)nx)%Nz&imdC!oDWIXrY4N>NZ*RM~QGBPl{C@YhioSTaPeb~j} z<;EadeL-COO)DD+_fpmll)7L19{G0fNMUC1r$;lmT||vc5J-#94f6H^#Jar<?p4qGC(}*4p$qW`*tzUuXc`EV{ zMkq#e!+ZokvfS}hg6 z!kr>qaiNa?y9ppZ;V|SDpYr)RP0X^^t`ZqU9ACy*OGbZC`}j-Z?Mf9|6e$H&W|Hu` z^~lU`mp2^CQoW3zGFf%TMUFPnI{1jZ=XKtbmXlZabUo3`uV#&V=K{~N!1D3(zMLaN^1sMvtP5LQ>7&NpZt1>%p@5#yRw@w zfY#XUu6EZ~(HqC)_-pNv6X84`uapl*SnLV>B%2GDvrl&4n>Gq7Ynt)!-Kv)FbqcEv zxnVYNfse2EK|-o9cV}m3TZd*?|JNR-|Gi`E^N{2A*$c)!;4Mw;B3Ko ztMv+>(el1B6X!b|ydSoBAO5z&GUE7<$LDEz@-gqIJQZ;5gv_k1RZQjB_O$tCQiSpI zwr!U%(MY(}z71GaB5%)q+UijH)Ke>$L*HpSNB-m0q&yam`=fff2=6OnV=i2$ZUqVL zS**RP`%5Z7{p~BpfzN`2$xk+~dkjhGuLtbLtoC>rVUsiUN0ACdL&(UyhB_=|=Ipvh z{iXbI&GmLz-0_Vdt!aYBP&=dSflbsF z;VqC$JFfQ-QOH*o%(>@l2TuzRUIpD5k|tjcellVrW79vhtgSeI$h6SRxIeaJ^@%P+3n|6anz<5n+i%Z?J8~mVLLP%+u}_ZE z+TTF)@r!Tm>dpaorsP_a_%yE>s2fcRjp)6yXK~HoLuI;-vJ~Wc{^cXPO7qB$E||i- z^%M@ro7pXB>#(V!gb*0ho^AeZ(f(BhgcP*RAA4r(y`8~TAESb1?p;?CWEdEze*QC` zG+Io3&2iluEBp_Kq$%cwzFhI9Tl=gQr?sX}vOVc`H63Z>2ZZqc&8(g*_)91Mpw-?^s-IwxntZtSi^gl#n=98r`3PoZg*UP9>esR%%`l*%V@*q z%k;WGK0P`1ts2`))0&mwUdIkzQQahCVGCI#y>P@+|Lv0axQnVr-McY9@mWZfN}o%= z%K^NCjArIkS+uYf_e`zW<-Nh`Pr5%+w#;Gxri?rR=!NOUUqbQL;_BI={`6+joo2D#w7zg|v#_PtLT)v3x- zYc+7xYn#|wimu~pX+CwBaU$^37vk+H)A*RqvA+E1^xo|{=+v=f#^+KHHZ4c$Zm3@M zKBtA@MbncLxZ#)kd*)m~N3q(>`#p%o2AxIRv`8|OMf#6XVTHbM?+R5{_zV;^X0*jg z?~JEk-p=CP$rq%i+cQF(JPJR?!>^!Nj4HhGuSmgjd8u1%T4$!);?bWO86|#bGse7b z*bSL_b1l!U6Y4n7cJf$Ds^7l7{3R^^eCpAK&|#SJ7l1o8cm>hSjsJj}D5uW*HK3ed z%bP(iCQ;l8BNBG<>RZ>{&ygMKS&))LY?@g#qVFM;3IPjTG4K; z(87%~F9YMN#TSLHMQOC#Was#x=_ttD-j#2S#Wa19-M2}9{HS&Xa*G0c+r{SH`#1r@ zf);vm{4?q9H4_**R^9|{eYy@jlN|P|pCCST1NzA`1nVaU0lD?iD5h)w z>e5*u_>dIE5j|Z&;b6)!sftuafMNnO(Y}wcDh~7~G5cdV_jyce3~<{oI;#S73-%R0 zj2I;n0`pa*KN-Ai%7>0F=GhP7JQg8YF=5)qSu_U=ZO4jn>63NFODm?GyHoX^S{TdH zid0CEXJe6S#@zJG$aEaTROG`;UV}nHT5UZ&x*snOf7(BSbUwJRM~=(AdylbVs>|c( zjm43+j*h<`kQ@H`&uJ~xKqcdZQ>E`!z1s^dvSBHUee-!+hB+rvbF~MTM*k`QJcfN?boYmIRd-1M) z)7C?EEty8D2j6D!JdY!;eSbV~H}NLa5Rx5Ze{TLdT;IA-4zx8F-URgee1H{#E1{^UNYGiW!u0K%H!r8NkOQRZ zAt51kI5^NTR=%shJpWob*aO8M6DKK-NKHQ>+7_34AGTtump<5gnc@nUcqYmmZtpTHBhi+z&ItC8f6N&5g#N68 zPm9LesHhjsUTdH2K*hf}?ZyD$ez_r7fI)`ULjEGAWPX9%j7Emd%~^-~iT!I@P#`_V z0Je0-Rps77@_^=(dCd??PKc)FQ_E~by!M%#6sshK}9sX)oD#wG-~X zB=8+@OVGac=iKlho7B4Dp#asbnXIyA@8Qq6tjyIUq-^8Di4CH1hbS!@6D2+A+aO6JomCQz?}CD+1Mhpv(Kj_pN#}LS6zb~h zHP(1mLr%$u)B@5GWPN_wD&OSHjDbS|XrZ>Wn&oYXMnN(7NRs$*vExkt1mTg6O^9Q|(J(i;f{{n=?TnTk|mZET7)#@ok`q=3>_9z~W z4on3pv)Z%FA&)UGbdWB-LFCST`a*PX)RirP$+frEFxwy~k#mry=IH-)l+Q}S3zM0) zE@#s2#&G)>-ADF#ykms%f_C=Uk}2;zD+226K_`*#Yll|J!sX*PN^aA-cjVgdnbzv%+MRTyu*PxUx83_jJdGcmMf1B+NEEn1l~py)rl9c zGuu3-J!^AG*tt9RLcG9{hbLvpF|H=%Uu#QB;CkwHMH;8#+4O7v!r% zkdrrUUNYH~+!7ZTAAZaG>)4?&fSDUq`ZChYxOTmzatNB(jup$D5*Il;0VNW#p(UNj zPx}3m|7$J&{-iCB%D`iw!e@1^@Xl_D6QFkK17;B~o{8~!UB@unt-1{&Zl#UglR>k$ zlbb6%>9*3k)qR4=O=KvbQ$_SdIbOX3)a1KjyWe#TwJSuT7B%k3|Kq0YG1`DHTbonn zA;Cj)b35*(UBI#bS|fM?R0jj6_Hr?$sc9>fe1?n@y%w3y^Wwc zLP#c3cBj|g^PpwfAxYQsX5>8{MXe~w%v7nauD%DlMzl@>_gC-rnRR+*&}fniaE6%1pkcSarM}{y ztiJxwOJS0v&nb&!Wzz&7!e#ZFb31L`gm=BQx2s6$RIzP={4c$^2DiOd>B%_3)QOH` zB79z_z`HQMBG&u9=q3+#^3&|y-8{=qJbUalm0{6mxpaCQai;iE_={r-y0Uu& z50VH!-dJP;5JAWf2lCzB-6cSMFOhUt$E{^DDQ=FCco6iOP!wb^n4A=4{pT?<>^D%{ zWO`~XG| z>GBiZ1zQ7tYhG2kyLhT+fPPX@dUrhS_Ye<>J#uHCS8 zT4&>?pX{N{5`0*HpZ42ZztaCJIS9W(=5i8clCdCijC|v^oQ%!4w4HG%7Mztu{p4i) zukm?*pe~9!XFOT7GjodZ-(;-MC4*U7mrG||h|lLckH24$jFlYvmZlzng`Sy6<>-Apo{oa4>Z0_A+iPQBBKPm?z!~sRn~mBE$G~fN^DL(>J^drmX?Xl9Cb}OT`Id?%x zH8pnn1(I~#nBXhtlwLfq3I3D{U_5k6@F6!A9m#RpmaZJipXv-LGxL){bajcHRcuyP zmMq!h^%J}oFac;JUhfTm{s9Y6%vb|w-@a!DL)_5WU?SVmzP`(#rGvVzE{BVYOUE5* z{DkMv@2rg0nAG2(|7%D4L+v2NSI^&~ScsFb&_Q#OZb|W-ZvWQ4Rdq>(zhVj3ZFD$x zC|;EKXGij{SJ9h{3Xk0=o(D()LnsXAHZ8F;7jD)5peqRl4R36m(XCbrt1{IMn(ngH zH(0c?ploH`8yai~gOVIn#vFf{fQrz81tOiLy>j;8ZK5n)SmyUmgsbvAb`okNUdzjEDUjwzz)iSLz(rktkP#3r4K++Vwnf)C%A z7^%6tDpg(+%#g_Kn$E|yz?RPclu}+@DZuVh+v2Z6$gd?I zVP|x-u^V8{U)BHG%&02b_-CI`<4)gD2){Ude5ZrcgKxCRNR#RE1uUou{#$`i?K$LY z@we5nCt7=YggBRiadL^r3$(AO;RJf>gtU)3pf4J$lf=mjRSy>V3+_Yw%Z4*xSR*W{ z45ZHcHUlGf7qn!aP$E8EH>3Xh4uAd>$_og3vyc6;eU~Tf8kUm z;~29}=8`58Urz9m2`f}&b%x^jeOzFbDzp(P{1^yh1GJQ${DkfPqY9Nn0r1a-uVRk0 ze=RAr7t$U55Lu68l9c0RCPZ(e^~x-Q>#0m&_}ihHeP)u3Qdg;)>0VoC(HuS%wiMM!e(OTk9pRtdnM3(ZNxI zld92gP;ow*S{{ZVZA)Y5u{Iiz53ywck>dsG&6k!x+?p zJmPliz8HX6k1PQIj1_<8s2E_~>sbU5?bB=RzRec9qPNz>uIiP)^u?f-M*~HA=g_%W z7QlrJeSLvioqf{Q(ZQ?#x~NEB*wzZJV~+i^@&3H{sSZFIKw{qd?60*1P+WWwaiAeW zjf<2Vz#oioXdQk(a6OOL4bCh_(Np(-Sp8pi_2Ur=@No}d*oV|u1U#g4*$}#v zk6gGN)Epman;TtPH*2si&(7c;4RiXFEWmd=NeIM|07E9j=^a3dmB{Ru$^Pw&e_ZiT zZ}uzn!9^>d!Cw)8LZBgm62ruSdNnA-RLjSYXMcXYf5u`RTO^0_rfzAS=_{wTgMucD zi=2^>MCqMmxE-xe?8>33OXfbinZy;IZsH7&E)!lil!NBtS11Jf((LHPFF0zXZ4C_v z1b7fa@N)F~a`Wq?n989}-$neBDDm@RdjNBe zH&;`+|JRq3N(fJNoWRadXKNRk1pI1Ls&9gWuE(@CQAkO{xJu+wAqw%4iHub1j_)u_$wq^%L01vbNAb% ze^HxyUqRi)Y3M$41{$bZvlQs92pAyv+uQfK2rm)fmoN4b2W!&Zesz=fugCi9LVx`Q zXc6kOehx7xCe2bn_TqT>0rxB^##@PZIvo!yiPN8lerKHkl2Cd+74JCbe5$e*2RcDS zow{H$~2h4Ll zdaOKTNcMDhI*D-Si)cwpeD&-I+Y}L=vhb_`$1lBFnLORJeg7rw+dx6QV_1DbyB6!^ z={X66?7`Q-NB{v*(b?Nw7Mh?r5G$afI!<3sc7M4zRwupESYQq2SRUm&ySONro2Oq5 zZZx*EwRL#|N`=k4Gbwz4A>~n5=GLH27brqA{e8^=Qc9+0R_}jp+r4H(+K9FBV~Y?! zU6Ut*hR$YaE(EVUi5*m85WOLc|9(|}EoP1!vP%aB<3DJqaKQr>Hu%j=tw z2dEc@o6_dXnphhEII-)2@^R~&g&&n}WpYG*{U|3}#Rs%RJLxG`{?74!?0`QlViL?* zF|NHRvf}}YS2DZhe)}RG^O@{ z;qu$v=WA}=c-ciP`9k?wxj!fjKd|YmyF?2KjCsb~nf#Zf{`L4jZaD2SzjY6`DK?Z3 z*Mb^CkUqkRJhDQLuIamapmOZ1^7I4U=}TI*mB?|bkkaLfslhl2E>;imAOL0baM??T!;jv(p+lM|y)1@{xOc zdpQx?uC<%JdP!>IPknsu;M@B88Zvp#vhJ?lm*$Q$aDArl{q6l}!kk62Om({J_~jkE z-=7PQ@syEhlVU*Zba zeFC|VO{M7&XYsu5$%%UgDLRCta25yd)_MQzd-gp_nrqozwuVjlX`kvCo%elYp!oub z_orv{9_>%i|8{u^S)Oo0{rP)>l1cIQ_V=gOTKVF@Kwi?v^26;7-k>A)eb5|Qob{a= z`_qa>0c+PqOz#x4EyX$yz>&kup)+69*1spWmn1OD6MW?k|83Xr@vJG@KNx3UytE-z zi?#$k-gW)_sY4d|ULJlv+aVkk7f|S{=z#>nbW?(Vb4&%!cI_f!#ej*TGYp3BoCTR5 z&cchh|LT(@^}W3$TR0Con<*n9&SHYCEcfVA`<_Da(Z>K^9+({#niG3Di=_GO);lg- zI0C&@=s|6a>hV+4{|A-%A0~l>0OAZc*8EM;v|xf`FrHT*^uGNxx-2%6cp*K}G1O+P z)&SHqCo|KNqdqeG>60@{B^DinX&u~{&d^C&{u~UnbC`bqY(`)v`6oMDOUuZ^{q0sz z`QsH566&Dy+bT{GlX*Xh!;Mv8-pS;#KQxwHZ8@;1PS;ozc!vO!(ITmd+7|9h@4Yoe z%8-#U`Ka6xPVe+?Q!*V&ELl$M;^4kqmti)LD0j)nE|xcYEe z|Jx~D_%(*5v)ixj+YRPV&wL6YzazHv?Fq+g#EegjUGJ2Zo;nj}=$Sd}vpwQC;?mbVIeDjH zD<7Z>j)Ruz%_N4a0YOJ;T8hS`N{=4fez)REqFLJ8t>b@)@b~8;>zB>t8oDc!vdzLo zsqu&0Iu&8-fWjE=hk9L9B~>2%+ia;o29KLkG=o)|WZxqO>yQr7Hhc60!e)qui+1wE}rhSuw~g|X&dqN#E~qGfKgK6;o<| z_Uu`ZX?Aw@)O>b+EM{^l(cw`H2DK@&ACuahy(P_gWUWW}4fNA_%ICM+dNdNJ&l`M& zTMR1vJ-xca%|D!ttT#7#A(N!4ddJ(MA)?)up6;5$ows*q%jYx=X6%x??DLuEK{l*; zn)f5|Z<2?CH(;eedc(aF$4I!bw`YEy1Svy;OY>>~#?XQzAfB+h$*^g#6PuM1U^Pm^8 z)&XaJQ0mAmWBq!4;CGHf#|^T+PDA*a6A3@;YW@&PN8B zVmk4dpJCb{AFT7MOY}S1bp(ZLPlJx(jwA*D0O&y}Yl7 zD}Hr=!XtfZ|B`0@;j~EIy}UoPwP#$?+LVk*IRaneU=mLj8GuZJ)5-%5jREJRsO35&;uc6#Z4wn z4$|%{JgN2YO9I}xrKPaZZxL=go&rYKR;t%0LAH`6C@d_FeIuc~ggd#z{maA47a7Sf z>!TWcG2?Yk?+NG*R63<6g8#9$(G3sf?46#To~+$pjwa!)KrJXfi))}$$Co1j4_QzT z$c*%K-ol2)4h0|a3Q=RTh-pz+DcHs&WWwcUzTCe(w7sV+2=%*8zp;?mP3%rX>J0G* zlzS@j&-|%Z`w*#i3@KrLm3O5+N<@BKhqIuWAvT+M5ZVTR6?Xo~Al&R$$Zj=tNANFs z-%qQPBY`PUEl1KUhb)7ee;TbvUEk8u^7QDoI5%p0$=**Q+91h?oatJ8(Fz8te4)mk zCLJAt=}<+4Eh{k%#yuMdKy`>sn#M{#2XN#3JgjHDT9}ybmY-n7bq*(*?uCL z{3A2@{%4VifY3SpuIvhh=j@C7>UIY?#T|-sT$;D4R>6TNC24(%+j|F?z4XM+BykuK zgG(CN;@2+qf?^GFlb5oqGil=-piCygMYsBm520;eQsflIEv$MDO|cu+h$DHtMo_82 z_0>osZi+^4&Vd7(;=m^80xBRW$peGIV>y+%g0H+j zOM~H9qN+~EKMvh+`^ZJQHESfT<-$Ki^Vz=C&W?7#C6s~QW{3k`Dm+wNApM)o{e+XB zwg-yH5lGeJK$Br_S*O6r79R&gY!jB!`^04O4o`E1;OrQjC};i3CBs5{O$a!K~i-&#oMu^3>-FEQfDzGiQb1O zhkW@N4Lgg1eci}s&5QPJSwv+k547nP`!A?#B_Dc-LQb}2;WsGfJ5p>1=GZ7HG92=E zS$Kn0!8rFzUn0ts$AtAt0TWq=@SqX~0oW>xcte}qnTrsfh8iax{is)(@J04FX7ito zErzLfJ+%FLZey|d`Lw*1gsX+(h0ON0wx*ixQ7*SJpK=|_{QP{?yXNMlUo_-}Z3iy` zqQ&#-wV3>;PMwn40J?~ZF!XjoAXv;^!Jzuwxba0!&m%%ZiGf%rc4A^8C^rm`5O{bZ z95X!37H@=@?q!!RSc(Yt=dM5OVzj&IG?!5R0kGaxDKj(LCay6Coa}QJv=Am85Wgc1 zEe?kld@r$O-1aMCh`136kEVUsp42i~$w>QQ6}U=qx4+1+vCfFHebl4k0u|w=i?Sm7 zmuBVHh2{t5eIV8(KaPHJonv1}P>_2=?)<6BsaU;9AfZmyxaVMe-KM^5dwaX}`{BB1 zeDuE525aSN1IhaU|5nh_IDS~zew5qHjBEdb4feZ9EaSB*w~-%}2Nawtp56`QGV~>u z7lmk(yLf~wzx6L&e*cC_F3akwc=$gQj((iYicyJdCwoKm7oK4d&LLH-! z%c;X@%W282#pX~UTKNrr5*4qvU=+NI!;DVf%&pK^kS5 z)r0-K5Q?`EW^>u+N7_L4&sTSRxRREg-Aa@OiYnjUR9037M9ha79hk^;8f9H(rl(gt z`<#}gWX1u*rlC^37FpD3a*pQH+vTc-$#m(%Onslt9(8T)^8P#(zp7P3+ocwb3v*d4 zDypjK=ae|YS(i|=nEI8X8cR-{qE~Wv!MFz84CH#CxJp)3E5<}O{HDIX>cenH;~yv6 zui7946vH5XI9E^2^;80&E*qzcRmR?fQ@v`t2-JL4DA7c?_(@Pi0v?V_&GmF;ab0OvgD$4}n`D$KDk^W{`}+FA zB;!C1*ocv;7D+}&0J`FF^kcwfT?0w7ZqCbb6CMNi{GuYq!jY@X`577V18!DUoN1ln z;K*c2@FuBKYCmTfBurtpDsw3*ZgsYO4N-H;TvPt17vhtWTyEakE~NQrWRl3m6ak~# z6w#Zh+>r|{W_)xriKMfw?ZNg{qo&9kf^}nKXP+jUUw7Q7e6rz&XC_78v=;>{T`w}T zzhi7=p>W{3Du`!UT>HU_`N?uC+2RWQ{u&Pa8}2o~eccH+t#8SJZe}ZPvE_EsBG+hD zU+p;Ui@e%i$^Y{Bu4x2nKWVDYYu~SAvW4nsiJR6CwO=_tRu^2}F-hEfJYAZ?aKzhu zBhO)f=h(M=Ot&6U;6VGet(DlluDJS~hw}Sq_T}OIV>vIWgAUH+V)-MlcQ=dS`I%?7 zJCye4kNVE-p5-_yUh_5gxX`>I6l0lNA;N!^Pel%zpn5rPs0=%sCc}yEOhw%l_Bw`p zMq?X!+HD^4M$|-}s?~X!n?IFmu<3TG_SEhq>!+-rtUI zyC2h(jp;UbX6(Eg(z&qeYreZOXsAIHEPKQotF4RLccZB*);jAO*}7}wRAS(+Y<4OG zwzze~RH(Ej_5c=SG^swi!hL*qf1757V^2=YZ(v^{xl<;m*5{J;q~!bCPl?|?K3;K? zBKSjR;daOJVaM9ml%$;M%L=EJb6dDzI%aM^jlsa@#cnRkatZvN&s+Sc4BeWiXGYx=|-i6fOu zZi6OueMJ%)Uq)lEOO5LB`rP7l&U#v(NBppjXRAK`o#~;q8TB8QBd20}4X%DF->u|)^6mvB zwluK~}HP zQ~A9gS?pEXaW}1Lt?a^?oV)uWf*T_I0-S++=X7zzdD=Gjk8OO|d!-|H4xP@D@d+C3 ztRgC@h(RKyvKRZXU1T>lX;a7VRjms(q0Ua{eo?WUo#Kjzdb)|AuQ~N~pIz%WUVbjS zuliq6Lbi}3N4y+Ci!B|^)|_1Ht=nBRdpe7)vFkoO9dVUd`JLu=uvy7n#v3n!og}35 zGbg9DGG2kFWgm!1irYS;JssEiYBwoHwf!KeRhC(}OYyq@m~PrP#)DVmLezCPzr}%n z`YlDK>eT9UMe&#~o4GxGNbQBgpbg91FOvB|Ttkg-#{)=;vT|Y_AX;meo-7A{vG-Zf za|FG+f~>0-3|69)_-Zsi;jM>+gnVa)fespdL?8QGzCM=b6&ZF2)c4(;;uy-gFhW8) zmlwG;&L-XsW6|ff&>%L|`J&a2(INr*s15sM5Z*qywnb^Z;g|4~O-s2Yyr1*hN`-4g#XfwVa{?kQcmG?C3gSu88TNtlkK8i5Red!opanCM+y3DQ3F{Ny zu6YWIveMG#7;Qri^JI_dmvLhymeEu!)k|eVlbBIpifsPO2jc{5W#u)>fO-_`7~%Y) z_I(!h8^-Dzx2l}n*=|QufK2w{|<`o@+ z3jnGtYJ9!2U^dO734?C01Ug;um_yy_xh|oM())=!ux*~-~ht5uQdoJrrvT#AHNQ*uGW0Gtj2zEt9omB zB%zBP!v_?fkRbtW;RNZw%WI?np=$qa(v))#e(vjiMZGE~O>OOTN!!0;^x8#!2`V%S z@m@BjzL51$Q-wU&xEK$=k)G}|dOV`wsrH`Kx9G-QQQV)CiN8~gFOcHr8w{VyCDUA>Q7&&Tql3KjA%=TgWKV z?-3ewfR~qVha@ut z?e@SY_syFR<jis*w(6w*Y+?dH_pZ8cSAIR-QehI}T1N9fUbi z?rU|OVb@B?+;%fFInJIvt59K|4Php=;vk22;ezqeW{!@Zc6SR>sNnbTJiWX&$BMr3 zAV`1EWzs9VE$rfW4WJ8I z^kNite>mt;74)esmY(s`n-`)!_T{EkK^fM8+|ZG?;15FrCbC;;+Eji%-KXY~iYg^G zRp!RBs}^m#r(Ud9muTYOakzA}lF}ggu&qP?4IfvT7G6?juA-5B*Hl^mB=5(4dd?lc zXKk8sW367w?~j(=_V4SprUXl_u_BD%;-aGQ4xC=hyd$(vFD<@Pl)}yg{$LvWDCypP)PRGGb+Y z@Hk;r?7^&kIkMu_@*kQbr`q5pf3_akp$cvRE* zRtKBQo_RW$deu+GE4Ma1{=g$b_F>Fq_HC{94ymAWO|NDp!}Fj>n4IX;Ay(uxqcU^d zcq^p#&}7ojJvOSgOZAM6x<@-k0Jmj#O-RmMNy(J_1RXM%lg~QdxmxRxnq;gdo>&D`ifr_-t3D# z>$7KAS?LA2IX(U7%$X;(Y84tYop(j1Iooyhz%Wm4!TyS8wDfVOH$a?a_EkBcf3Lfh zOw##M^r+P!W~L|+J#RPTk(1~4M*C~!9Zp!q;o@1HuexVC+}X^hD|2q}Nq_W|zThgH ze9QOtx)06q)t2o_F{8VX(W~R;7q8~aE>B6491FSg`ab%?y^pC@iN0z+%yR1TI2#W{ zHdKTg0m#wey$dR8=;1qlOydHaK)&m*J z3UoBl>y||n=(ZB)P0c*TQ&L!(e>OC%$D4_5msV5Zg|J*t6R!_Gq$F+;@_Y5j!Si1 zRp>VN!TzfLpX=BP_oW$?JOeMdh!X^)Kl?AYYXC&GJL7j`jyZPHj@&2PrPbkv?qG(q z&)9ctL~LsF7Dq}StTu9BH#qmHO7X_MRRM1s5|qXtqQ4wzN(n`nl7y4vPgdR0c9)DIBw*Pkf?0amTd&rw zxkw;axF0^3EAU@yF(8T{Pt&khVokhyEX8>%f>A-~ZqKssZmUrXh|!OQi)Ku)0UO|Y3t|ov zN1|{qZT3CK!%OikG4!N}Yn`0^o^Aab=jOFA)!3$pM8K zuT$BCl~J+0P*DMaD94tqt*xiEKn46PAtAb`X!w{eorH^*hJ_mx;aJds5yD`IaJ~6@ zMy$L6F{5!lP?AZZw7g)^JNhUToH}s=B~*H?0=?u~cGp(TM*2_Uogr)qZ_Lb?LAkKu zlm&cRZ0Jm;*&tj~WWA+Z-fn%Al`=K9$Qhk;&YZYq9~=B7tgo-drCTDjKsHlfFQY)as3a!yocygy6>*T(oPYtQ_Q*i%1Ip-yxEtCj8OlgQq_z^i)<5!YYJLIOG z{jt;+iaewz4?k0mKtQ7F;Hk7&&ND#70HX|toz9WZ5{!2^|0kmJlePTk)&89>AxUu+ z!Nh4WH>srYsOgqeR9Q+#&#C^m+O2=2S!(eVyn1z^J+`gt!^e*ruEQk?8axUhd$~C{ zIC!zr1YvJ)-vNs0!j&*>?N$@xW?j_Oxb_;1vHzIF2QRkO9(3eUyDlL4M0&jbrKS^xw*-46I=Njc;Oe)QX+b&GIDaB z0)(^$Xk)2(_a>uNTe!gFpP*VBEwBgFUF~gcmFJ2hK$-0ijHWHf7G$>eQ?~YAda_1u zxLj=W+AIjmZ2m77hVgb%Yn0l7z? zzFWo{BdWktmNqs|pFa;>RBbwS(n}(|!_J>xk2=x`Mw!x60)RxgeDi%E@~k1t#}Q!| zt`L+?!K=g!h`;@h=8-DYGGv5yy{ib_CkO=m#&0<9Kb1C>37_iwI}8c)L_Ym2`$A2f zBKtk1D1a9U%kj0ik0+*F{w(xz=<+Kw3H< zR$An@el&5PSw%E1H_>xGlf&mI0+@r}HSP=ksKGM@CV4(^|DJ3C_r(Hv!NZyO*y{RA z?RqQd0)VXmx|h1{xiJHhcZwJ9JALRxojw72K;5K$Fu$-uL%R4V7*gYqN=xb-5Kz_5 ziJzC#VRZCbXeGS|a$V&;N+Y4=JsI)5XAJC=^S7z)2ODtmOZ<=KDR``^6)vgZ^g z$o1yxX)JpK{!X&zJO@VDpcmwgz+S{>16`*xY*@S|LS6Y_=`d&~| zW1u2^=w;t^f5{s6d{{U zP0j&WA_R4hhY-j<-zL)#shUeK0~IJYNCB3fm*&}b95FKfAQArTEc}T`Eobvpxo}+< zp3+k~XA^E&x~qke#NOy$OmUv|%dtvruYn@&=ap+$)48p@P^+01d)`B)k*8(@BQK)Z>s^ z?ro#K|7K*j4#G*ZrB(+pN#)?W4!>qd>(sI=&OOlqTppDpt zIDJP2*<*Ds8qq{B3Tfbd79(%Z=*|a`7Qe$jKLx?86q^S^*($p=D?X~cwL2#H*3G-1 za(!VJAhrnwkAs=VHuK!rHh9X^LCMF)1}IXX-*Bhz%0)1RYM)(PY4PQL9vxej^o=v{ z+*`TEfq|6!7f!P9-V~6M@YT>`U85&~z9igVj;I@Iq(>UP^5hiuDt-%f=v*gc7jr4c(mSf|>H z*2c)Kn?boHZkR`F7wkpJG--odpo%b3F?$^g*+U)Q*QrIe0ovi!(awooJl#cUT$Y;& z!wG~NJKWcz8+LsuZ{|{Fj_^An(*})}`1AP$$vQ0P)NqhmXVKGk{Ah!%J)0Eo@)ytK zd((41%lgwmoMn-P9wzMQk(;x8*6{zP|M<_k5uaCc#Fl;Ax((hx2exdsz;+s+kHXP> z{!tbSWul-H5{x~md%6t}AP(4h``X>R9)P}(XbY-lcUy=k&WTTI@*Nzm2w6sd#xQc3 zk5=zTdv@o;<-cKYA4X|kZ)1Xe|M$`djnYk+nj-TKir{r+rH63>4?s$rF+hsBVt*t-dBASLw3Mzvd*i#Il4c(9U9zj z@t&%`$SjNs_n^&O>cZ8lSBY>6TY`jj+3IV&wiWgC5-?oNdRf2mPCqpdkIMc^PA;y) zkuY8WBeha%>rZID4!=ny4Kt1*TB-O-F1Cf%wgnRc4`h91#{vL%P}k z>q?=;`6YY(*LDQ_P#(1?Y+0|sJrokhac?fYb#-;MK@y14n+T+LWOe~#+aAE_db8%n zn|Ou*z-W;^?3NajscmjMxkFz8TaF?`am{|{HmslGm#3fv4a(q@Y7w9(_RdcDh6THWH!r8^ zqYkzpyxf3P8d`2oYi^1Mc-ZBiag!?Xun$>f^vW=~k9`T}UZV-t?~Um{E*%<)t0?@b zz;;M@_k&0+>x%nFiFdWleb!nrtDx2sx#F|pB}PzJ?R3TH849GlQ(%AyrsI+CK!ITu z*AhT=q>gtxC1Awewnlj?2kV_~0k1Kv&$N8Lw?zo8_iJC7k1MJVrudAO1(fXg{^B13 z2HUH^^PSc@Kz5U)3XZuN6c6X`e~7i(YzGv?0WvZ>(7fE>?dMUOlag8XSkx0OvTIq? zkjKh5U*Ed!f6F$nJMvWI=-ER@jwC^@3|nvG2mfg%L$Z)vnED1IPPi4y}x zOy_d89@XQ{r2n1n^>;RS!Y7?p2pa>7;OFw1C0mU5#dK|8`lem!wOIIZvZPxj8Z)2B zaV{;c1;gAtckZ0^u2{}Mp*IsNuD5SDIhg~b-jK$;>X*t}|eg_~wP#P9U0JJm(&`#<#AT97) z)XR`i^7e&z$(4xa;SY{Ta%J5p1EPU$*+6ljQeHRwvXf%@8FdW*chpjZ(EWcI46?aM(1w#T2hm!N^WXe0?tNA2)=oXHq>U~ zWtGEHY2TiDo9 z!Y0ocm8`?R8c#(R-sB)!M~zin6ZqBB$FB#KOHW+lpGtKmoJUWz;6*?da$vCNcg(1t zR0_}uJVgO$|G+>cr!lHw-SInOgzTY=?+UL3rLI2Wz|LdCJ2ve5*;+joY7Qw)9Xb{T zwPO2D4nM?KKVMBBp_2{SvLIZ|2!@n8BD}?zPAA55*@+gYU-hHGwc!Yp*9(^SN|RW! z%ZoHn?x8{=_DjqL2fg?{S`&OBMt4mvJXeVc)PwMlS8E&b zcz7do8TbV0n?i{uWgpi3ZMuk&dP2DUe^5D3m)Z5;jCjZkTL$pcKT-sRlm;~hhSsz< zH>rY8E)e`H&F!rKynCS|tg})WqUImCH}Op{$Av$Qpl*G73$z!oz5L+mf=J7WO6@NY z8uG<*hg2<6pjf2=ygfwumadSDUSBmr)=NRD^5Cw6@QZvkE^Ntr)-m`HQ)6fXU|8nT zpDqbSj(RFTTT(d5N&h=QgPJcT%W!{Z%3DmWRZ)xO+7dpn155#!@m!m42CNirtd>o( z?2VMjw{AK4$d^Nlbe@2wo224Hc);;chJ>I4sIsqC9v2~e8$73E?lt~ z=uQt5^?{Sv`khG7umQ5Wy9gIT>gaYPRuH>2oyHsdTV#Izp8M1~JnU$6LUWD=kTUSc9zRf?m_ zA~rMf_DcNWcgs+`iLem`)KyQ#J9jzvU)av0=L6_zN>JmyR5x0j_s=`f96KHp_Vof3j~ z!G9jzc8(WEh{7j5433Z8l12=CIwXs)7GIUP>UF-)@!*~t&dn*}4EYC>6pHAaJ8bjJ zax5%J_VWR>7HC4;$|BjK(`wMCxRoz=sQSko7sVtbW;!Ih&0#J{$J_hshrU_0JqD6K zJp+damtt0YK7WksWB>Wz;P9cYF zZZmnvPQGhApI&0gFT$W(+0gtjNd}X}ferE+U#sFm!U@lO?hHFD%aK<*vYVc8;}KH0 ztN?+&q!Y`9cNmi9&@Y|%M58KCBT$F{Zk<|+XE>99)98?DO~n{WGJ#SVA?x_5r|t>& z_-B-Wx&aQf>&K*G%wsXAj30a}IhbWI6>u@$JT4(6wQL+$-b16tHwOhptIQg|tp@$e zhXO7I1s?Ad524OIW3X0(jSWaCZg(l8Q|**_?(t~oSSGc-&l1`FXc?#RQGPld3gSzG zf^>pJr^&0!Sgrrx;sA&^{iKj=RSz3{>g4aD0aO-VRAyEPfd5^+J+cVee#-wPHXN(Y4#$z?p@k=Nw7YP5}>bc#Mzbmc~`2QTN31SYF+(KZ>X! zz}UiJ0lMC&4R=1vi2tuJeDaUNk-#S_I~RLof#-or;N{3T%pg6))-9fp-cFO-0{w*c z5;kA(1X4*1dbmbB`o%yJ6cAaIAvhOaK&{EWfdHN6^tJ2>nRZH7?*iZYq`-Ti30y3y zrqMVIaY?64HEs#LS*UY6&#;Db*V|CwSxNX~3bzBe80!i3*kAq>p$$2b>=es2zoTmJ z1--GT74I1d$LY4Sm5x)P`nBEzl8R|jzE~H&GJ!U5-$y0@sS<_|hhc{_<(7|Di7g9u zVkF(O{-{mW=H{KPtl@*U@Woo0i;=S^1u?u|Zo-Bg8FlHnW4c7lftQd7&X1Nw=1KA= zCUd#4p37*Vn$yYUKsWgJ%{6|Yp{Z869?;7jAF3Dr6&IkWo=no zrl!9Hv;J$4Zey=h3jE|k2Lv5yVwcO~j;C)wF^Ogv1(le~;~)p=>BtDGo}}^?`;R*a z)Oy&R>HMk3{mGW{eMbuiLC5e2nf(s#eQ!L5Y1V7z>+3rrGBI4~w5;P=4Q8Pj98EAE z$s`{xn&|8x!gHjo%ASjSX}7`hyPz8_52JO6dSY!IjWc^6kn1p+OO?MD8= zKomU);kjsGDsrxjz^)vZ^@NS`QyTljWD4qW_c)RYE2AS@PL4miuKa5`Q)zMY+O(~(Wvowy3lqTAR*UlN zw+rOB2w!2#wjM5>C2sT|WSqT@td&Dgf6OWSUriGTD4?ALgflZUQ(!`OB-m(Uy3XI0 z^byz%paYqQNp6r{xt;Ayrl|059u@71RD?~M$V@JJ!yMPeXvv*fWyV-QUosnAk@?l} zA)IY1N{2dpTze*^mLPn{c8D>k(p<8jSX?!jaQ5l!Cegv^<~VT72`JJ0>Qw zfb4h&07-A&ym{B~Ap5LJq9|*=-{Ha(*hMejnd}Mmk^bh=(8t7Q1P|Omv;4h+Y3LY> zyLVM;>y3_u)>mn8DTks9oehStku+>52|mbw1|hj(=u*OYcj+bMxk`$}-!S6-6#<3w zp{fLgU{2e1i@DVLGqaTr00U0Z`cBYJigkKKcnv!=l11I-^|cC?m5E@IoQLCK$oZ{6 z?@jHo(RC}|;{a3E2TjSs>YkKWPx15(N5uT@X(aHb6{*Eu)uW0li>_VKqacLqpqXaY zV_cJK=L!j^z62npSSlR6lkjmhN(h8YP5(Fd%Yr6CzUO$WlIVgr<31UAYZADrZJ~1S zIVB@bd(ZBK$zVS3iBNh-_gu-a>yYj8x9qyT?6p2{+iSV@K1xT+D@Q7rVjqu3o?G?T za~M%%%Q?5gy%j2k4v8;y27-Ay5#u6LXqwdubZ0$X2+388%dFagOBQ7yQp3M#d28Kg(~j zBqK})T0DC)umeCNeR+pBbhx;260zsfsROBTmYG78co^x3hz5&l=xG>LKIq-!j5raD z`-kuN)1RQ(kjbQ!zQCVhn!@IDH0K$-og5lFDjRnH`bfDi-(>>ma!-4VBMBz)_}q~g zRi>_UJf`l288lXUP#vc7?l+EQRtc%J>v*02d$Pa5T3`981rpFIxl6K}by4s@+i=>! zvi)eOhh;ojCeom}h+*X{+U)vy)uHn1dEG7wN~Z))@^~kGXQT7|89;*vOJXU&fjs`k zeB4z=Ifm&A2nf5+hXLy12oUrT>kO^zwZg|fw=wOdMYzp>limp5N4=Maq6u&gcS_2L zr(2Tl6%3C@)K^$@59jkB_XP=OKZyI(wBK)aofig~$lbel@3^{_x!xXVqt>_J=SLEFpgzF(+P zo`5N#(vg~+rN6b9)H*yGd|cHI{3YaNP~Z^PqiLsbb&i++s4t4X56Nd%sd7jS#@jak zB5>u&?Chq4z%OzCWRpi8QOyEW@v+~5shG?B=kv|x()$CBz;W`yMC#$6@4~WUYUu9KT!_IZ9h`286{cGmXglifFO`L#uu0un<8N6w%K( z3-ZucX+95UKi4ZSU)MhNdZ&=OjDJmMRgt5(;Es9W%>p)XSK@rJL)UI+${p!zR}M3fT~kcokW5G8V72;$`d8r z@+Jf?t0Y>)|IRMOFYs&RG(8;fbV>#1$B^}2c2Vst0^F2xNw%>XO`D-$-3|LbH9;0S zTpW<^yr{3Cr(~3;q_i0#8%O=d&Hv&NxK3lt#hG9G zdUg$T$S9o<#3f`9jsMa0>Stq5HG}AqVI_Z3O9c*KWiW^Of-2i$CI0t7AcmT!Kl$L|~3AT$QV^Pb|oGQV? zIW#Ss3<#j1D=8R%zpL1qJk`^%X52VJLXS&CSQegwbHW+;#5LM@0PVyhoSB}c=?V`I z=Z5z_#B1;HnrewrNqp{fk~d;OyZxD!a<08|mhtsgnY?W{+49X&>{+gbMZraLmul~v zd?D3+lRRz-g0Ek$BZX^yFLLbL=1|b%>V0kd5+2c>guj5H^h@;`3luiHf)Q3A^`F7_Xt>rQ|B(qsN}rrgX(rPIty zGwxsZKIWoeLrg06u&`tpqo`<3f4)yb8nRwoRjbjc!#O<&p}6rJC-71|3%h7yxZAwC zD8+A*#9uvu4+q)_y8#Rs<_@TK|Mn82oLd7}t5a8%D^G>zX4U~f6<1z1ioC6rV<d0D`AzNVEdGQq)a=(;gbuTiA5q*z8i4-6@ z(y^CV`h~s8|5tZa!13K%CC*$+=QseZQ~J8FCIBdj#}T6#mNx~OhZvTGgQ#f$Fh>5uOt>z|pp$i+p4TQ=CA3tX!4VrLR2#0Liu zs$r2c(G$b37a7r;Z_5e{ zf@}IKWn{hPt#WRe$D1X6t%&NGFFH#mlNAg%QZFCB!%WqU4#t*UKf;W{DIfLBt_B=H zdxm3-O55+?qu=nx4xiUR>vLZ7lXLcLKt-Xck9MM=HdjW(I*aqdMP z(&Jv^KTSr2ZyP`$#4Y;#{}}u7K&aR6f7{r`MD`FWX|bkIVl0&+TgpzTL>OeNEW;3z zloXPfX|eD7&Y%*~D2#o}zVCw>%kP=)_uf?Q{rvvv&dkMop6xv6yw2;q&NmqMA7j}0 zRLL+J_T%W*MEhk8j@qtD&@Xf>oPy0Y8nH;SE?)WqG`n&dGk%;;?i^9*;+I)*_ zKtIx*4341+wve9xj;3Gd{v?#LqPI-ps&vx9UAY+_@XSS?hkLnMn5g~Rm}}k4RIX)z z5c8XqJ92ub1nnO-9~;PdSijz~6b)JR^F=dL(5CxTIooY6zJ?c?iA^Oo)VM2|Y_(+f zEL1*A^z8lY_sAstjDk>EOGDHo1L=XQ zK(1Qv2U`P3Z*{jU#q_NwbbBo}E`Z7ejo!IH*-s%?m-c5zVk36prB-8Sz0SiIo<8}c z2vqAX!qMi=ZGgRZudTE&yt zQuqGy{x!eH%{d38%f6k--Ako#AZy{hS&&4BG5u`$%GG|#`e4*xXTwKw}JFs+%lJJM)L>+Z{lQ8U3T{8FNr zj|&fzJt5$uV)?Mg+HC5fHs@f4N^RwurwuSdU9jMkY(Et;e+~^Lt~H@)so0cRngS?l zd@*8B&}JDR)l8z@8 zC8^T%n}Ff>#Iq$T!)F3eWzg&77BEES_q%s86D7i7B6`E`O`Gazln`!YC}0 zbHc>g=u!=eXUYZP!^7xmStU4T-Hhk_lw~ORdO%(PpBl6=0h(Matqq%8-lJB__LLUu zaiIy3xKA0nehf&YOh7yUO;sE8YnXWoWVhCq&9{~h#?TvV;ebW*jeC+P-TKpB2~Q81}mNF`of$neKPo>J++CRmCYf^@~u{R>CQt2geX1@=2gE znX=?Sf_F$i9I;yi%uO=)|Bq?Rx`y&99-{Jsj~UoahMXX-S>1-E$2Q_@Ld;oKbA2(6 zq{W62kzo#WX_QQvyL1~d^8`mo8_#CixP%P}+DY_k!Ub)ro@g3P>~YV4NX9qhZAjR! z@@g!3+27i*;iE*sS;j&tgEQ|n+L1-k7wQcvbQ2O2yS{)j_M-wDW9NrKxZ>7@`@pc% zQtJ!rr0bipVe)BJO=tv4joqr0#n_pG?(OY*D}Ck!+@{%6n%<@nrF=m$8RmzCA7RU* zFQAQmyOY`Z?X#tH-||Xyt17&&eU#cudDSsl$9$0B!b5~op{fX03M1-4iBG1V(k0+B zTo)@kGekpoQFnqL^@L9uFfWSHQv@P>;7bNj3VbAU5iPcYYT(*#C5v-Z-n#|!tQTAq zS6mkS1=f{*bS)t>;?&MfUh6v6eY>o{Z?LF!x8&xDvOG;!rEOW)rD^n|YUYC@&W;U-zCg72R9?!X>>in!)*rYG`> z=nR#Q$+t7ki=TGMA`m{x&3#Is$!n82A{s)G{#C+IANW-bQk|TiexyBUP!&up9;;++ zL2^a@N|sfkHroAlbwiXyh>wP*X5HLemVHl&UV(kbcYeU^AAB(#r=s6hYEq-|fMeLaU+3*z4hsGS^K= z8Q#M9|Bw82d2BBqvb>k0)iJ9k+5fIK>+b)D_fZS!R*1Zd}N; zGz8WHi=*4H@3xON?<*4L*`-mt>`(Jo${~cNWQ)z`>%nyIstRw?d;T305tCdX3UU@t z)bs#|STj-_m$JqwU^g~?Smu-=yg=#$oz z@rI-n-y!+2WB(t3H8aS(yl>5U#_nga1t6y3Mz>*?vEbQ%qlu+ zTMy~(E45tK=LK6_)Ml=k0PkzD9w@i*#mSOdqvG?XGmRF_vqbp^Lr}6)0+MmuU`s#8 z1~Re`o{Mtrz$#cmDV_7bW1WNN=cc8R=H^DQwuDz%1wC}Q-J@d~_qnrWBB-Y%lNr)$ zF@XJgR_w&dIQRMYtpd*#cDez6`^-a2Fmc)&KP4-Tj%Y4!;OQ5sSGtDJCl*WgNlhd3 z35s0nA{S0~ZA=-H?q$hTSi(rs_t(-oB$z0!%AORCxBbv~Xc>B+?O=?SnsCNz#U6*P z$7TZs)Zt$-7OHLF#sx|KUSt7Z%u!wHf>+!>XCWjP73NWc4{glEn}Na2&|%M?R8aD9-Q5al!^kI(2?|P z37f@SLggbz%9e5C8Z1&zdH{a>c&t@gPaDv@!S68 z8V0qG3=9R!v`$Vtn5|!oZ+ic$ z;>LYdkMtQzeEX9CHN`9y6F`&M@c!VJm_5^5XR!bChP60D&wk?7XbrFs67;jJXT0E_ ztto*?iFmj?4Wb&>&4!5_nM$kfmY%rticFkMi=jy6BnkTU)|cyEZ_%JvTEWKJM&NI^2`?;}B~6 zP|vZn4qSnVp2%cn7XL|=T%gf?6|WBBktW%2`WmF=GjoL@t~_dE!!Y;C<=)+dAA!i& z9aI5?UXhUfq>e1Gl>i4K6bo@HWr^c*CaW2D$}b8ZIuvEv*T~_sDC^VQ*zDr)$Np)j zpt3@+%E#tAVc;hY-~IfO#;x-uMBDbQMRKD#^i*6<7$%VFJiyc+GY1S#``@RL#R?pY zqx$po{sKhC7z<8PBQ4ML)pfXpr?dM9Wu$5xdY5FLF+qhCr%#$R&BDFh^aBnsUEZ2k ze4aQC-RoQ~FXws7tahw5b~GQ=MCGBJil!x2N5Tb$T=rF7a6vn+^FBKGPCn+@>$~b1 zeZ?lKy4053l45zJ<%yn=k{`28)WaYstI0~j3m}jBI=KPd{h50N*H>#5#jU@*x>e#> z$i*r+McCW_hj#5!kgqrO@E!ry7T^BiwTIn4@gN0rXtZ9}elbeTK@FfY_Panls2qY3 z>yl%cWj>qncVmNX>-^IdB)^g=!+I6J3q|sDirh*yZ=aK$9LZ0{HJ-2b9&m?ubKT#x zH-~OO8j%HQjeQ*@6P~)`uSIg4dN1r3i#ATm>}`=vYcQL0{3_RTwGFbbN>Y^DAs6pn zshcdsb)74AIOFMF)+dW_LdurK-(s{P>^3I8P64CV$NyMnC5$5^g@;vsQpK-RFsTuR z7h1jBE__#|i$?mmA@45RuD;tn2@(DQ03VoZN-AKmJ=qkRuj#bEF-9akZ^Uq?0BZYZ zg1RYJsxfgg%K?^f0pcQMg~dIE76TLhz;z%k@(}=OlcWrpZg_q?Y3^z2y;#mu5h52VoGs5qU01HjXMzg>2%F8)LX!Il z8>=bw2}3E@ALaR+8n9gL4v%3rCQVRcF~bsu4r0E@3eNRr?_BXIgD@2< z#H?oqjr{JA^c%Txy*CfXwai^*8OoJW6j&qk-Z7aT=O(*vPUi&LR~Y5cBJC_ zw)~Ilg7tvVvt$^A{aL#Q%$)|u(R>0Hb56$uQq$CLe+$t^yC)!9rW#Pfio>3?umBPrI)%73*jOJCkNwFm`(ab_s)mxvS;HjxzRBxpQ&Mi$=bVIWL}d zghMDomL)M=35IrbdEU+uy5>(mT%Uh@)lnVCbz(I>KD$-Ih6pv@@RO;u;RdSo`js{f zXb1#hI}aWMd^s*;CV z2)d@%X}1U9Y88<^KlFxwGi|}X;y zbw8DO_rOcc&vmZSewRbf+TPJF+_x&jt&LalRQ5MFjv;-^2PiBR?X=Hwf+BP!RLK9H z?5>sUISWzuba+)O+^*m!dT01Vsf+4<@cT|h$taD2=^Xs^51>r&mpcqZ*_Nn=MIP2y zyHxyuP{LhTVS0wnybRl}u!kXh+*%K$>G<)r`(Sj$afLItfztic;^I?#xG&V>)1wQ_ z=;;11QNK89N|-2!t)(Jt)yfPj@vVjH3$A#+tYFosUpr>2`=kwNaT=+-s$KYX@Ohh| z#rN2ybU-|J=&pLXTJSE=v`FGDs@%8<7qE6>DY3!N!d!vkB&!UiF-6lfTXf+x+p){n zf36qkMkBN=GZ8y{?{^QU=@3CT6TYq7A}Gf2_>e8A6{`}xWy**9S0=0)WLXh*{0KsmVGrevdI zo~5pxsdM`xHLx# zgFSxtU6Ww3`w#2<>j6mL{X!xtuROD#pOX;N8iZ!9_Ec_n)QZ{S8Ff2dm@d|a*dOZi zHOt&CBWM1wd*gk%qJ3P~99qEA&cs0$* z3i=1*k!c=B4W5Uy6QiT;exA#AL8|l(%{%^>6P`Svk1?5JRhJvLoOUzS==a`#*o57m zB2%12ndoRW{g$!)8rdb{K`u{assreFG#(Vt8!PG5psriSSa7p<%P3uNdd;=?#|i&s z|As&oEZZe)mP77uc#Ub-c1SY4czkg9ibKvmrZN1jc1N%yMK2VWRIGgBG`Au}4T;1; zS&Z9pDjpf-5`1l)#Fw8<-lF?@3sR-m$DJ$tboRF*g}!Wi0yrFFpcn?APzUR7=EB~S zldmFOg^rGf_%G2o&=_HXEHgmvW<)N$A6go3W^H!dUpKlKu9etz&-M@ExKbPBC{cLy z76K+O$9A7u0F4(0ZC5%6>!uh}Xxdhp5>EKu?YgV$ZY?VKBJ2PUOCA=ZkkRnIXRER8 zu8sSD-=|~8QKlWTD{BcApW5@6IsCKGft!9x=GQ~abHgmo>GKmvJ_S=zTg4tJxE6i) z;(PfBnX@$@>Xc;-T%UMd@jQ^|HHi)&`i)d#S|wgE`}t6ZgQA6MWMkU)bp)Al4=JU) zIE9r@(Z{WMm?{8_*#O#%v}UEn9w%4B51m&eUaC2gLL8{OoTya?;7;Diq8qZ@V|F>I$M%WyM$*t1`S=5mRV~Ym#W0s7tJntY2`$`>6S0Kyg4}$j5o7j z-kW>{(Ie|X%tA9ygx*If#F!&;(Tai0q{ha^x}_yo|L&QdQU)rS2a?+s13SV28a})) z7Z4C|Ecr-v|CbSy&%x3gtQCyfSZVGyf@Mj$s@Ao)+CN^#Tfxq>Z#)mLWXHBdsVs|M zQ;0q*A$42xzlNgJNB{h2gfTDLail@qeo`dBQju#aCaO4a%_9aq?MNCq8XpPYa)zF9 z7c0+l7MpuP>GxAnAmr`hxpA}0Sr ztKB5&kLlQMZLuSqz}Wg_nRB3d! z)s)!pPZ#-5zy<}|AJ*z*E|vt6I>@vt1-tpwpmlq={esKn%g>Vw&Tiupo@KZ1mdeZA zx#d454G(SgYP})F$qZ1Pv?xa74KEio?Rr`xj&93z5N&S2YnN+&4VzCi5_FQRI&aB4 zOYic_*H?N=v1Mnw6qaj^t8XyhbWRqZ7gz%_QR40XMt}RZKaMx}2QLh8z~T4yM*Pqi z8i8ics#>?sk8QSW8X3nM3au}Ih?x8CdqBTbn#(GH&a}x?-L;o?oX?oPm;0~134a`E zUDQKlq@#Y#z2hIshVnj0m>f}$f58%6$-=ODs~OEq2p9~UGk?d>o@wva z6+h_F=q=MOO~O|^g3jKuLo?6ca+1(LT&E*{Fi6#bT*5_b93egl9mo@(EbV^#GH|Cux7T-~s<^Z2)e zWEycNCtK5F$C2#?Ea5Gv{YYb@l)tGzR_wQIa<)L^9I+brF=`jrU?}oox65lD#CPO;z&K~eVTkd9cn+q$&@D{ix+(^H5wnzIQzIzmMx06My9G}pnW9W zN>VkZ-}r9FzjuE}!6YmOGGFB{oHHT0!g&K%{D$QO%=)s#ZRTS{r1{@oG3)c(PtD^O z(mS^mDJYp>Q&+K~;=93Z24; z`6?SqzNN(OhLK?7^5#?>vpyol$n6_j2~$ba$^Vz^w5FrSv-LIf);*s((V|XQIWb4j z;gL(!>Nj?##al+xrW5_wFN50p8b5$>wYwT=S$92Wz4B=?O;hI#>U^4-q&-`A)KT>W z$!2VsU0c}u1AV$(S>gXgz<*nbZ9^Y>=?faxhh0_ZZfkEE1w_-w5>12-vedX-Cr!#zysa-1DXHgOgwWe@wf&c7ay49l1lTOfQf^j2 z;rfzwr1=-`dDb4@^RrOJ+>$#2>(LuHQANk=GZ(MCJ>9%nVZVenvfAibaMc%U|blcK8Hyc#RGZPXu_T?loHw10eQ%v_YS9LbX{7c_%iLd3im#n!~-g>T7ed(T> zrB^I1@zmz*<=TAgx`jOJb8{_qpyF=uOz4L9fVKY03`+6%R^;8_UY@_cw~ymGE^REr z$@~pZPc&gAz~^Ggpn!ti-@}{cjY{RH(^uzN5>d~%_QXOiwHbJDVl*~gMQ#qfCJ9{~ zG7gF+Tpd>vyEZJ#Vv{Y4by{SliC)}~4jp`JsqASui9z>9@N;@@316QCxGhz{894>^ z#l?YwidOB~s$;t0565F9nf9_h*qr)qtzX+7C4XrNxf)s|arKSo^(|7Q8D-^``z(C* z`1#o&vBB8~QJ`%Am;=(+a#BC8Y;N{}*r;_>8~D(}yhxy@l-Ye`3@7SyaD8gw$I@J^ z+}sPogoW^^viJLtpgt&^*Rd>H46}F53wP#S$N8&a0G) zrJN64@5EIe=vg+OnCgy-zadxo3T+fCYhJgfSVH8|M7PZP=ZRO#wqM?R8-?n777knM zdwREdxXxUBYuX#Ix__Wt@^jRpWksh4bTQ(FPR!UB_M4pd*Zum@(m?w@z_z?KbKbsO zA*yY(yKWyq^G0|X{XN9fxB^MG&7ed2r1Th9AeH}|xdJygjKTP>rM1 z9De@#G!=OIW0JG=aE0ihmX781%`T(ah*zPN2Y!6D?k8W2GDkGlr;J1ONrl76yuQ2n z*8SFPwjVl6y}?qAx47LAQnD#rH9!s<3@xI!%E-j)hTi$>wU5=3TUJ$SfijVm%>@x2 zV|l~xve6nPwf+4Va6z9daO@KgVis_3v?sItB%&W7zdfTw!GtV)W)R%`{E+|^sPMe` z;o2pTWb7`ieDvhWO3$)m9<(5`V+=QScK<$5s>?fli_o(e9T(?LX-Se5jnyLm$U7)O zG4~CwuEMkmxn(gHhh1MU8*)DN<18sJeFoZFy5enp7|nRynU&{bG8%WTS^(Aa*t|aE zO|#DiL-QRE`C^YW)D=IJKWXOPY`rJ~(xCcs$(6KdR>)KMA+7d=)IXdP04DKlr={LU&o_S~1Kep#;R}N|S z-YM^sB*g>Z_tt^RdGF!bBR|fjgqQZ$-b2}K{QvhW3Lj>A=}vp*uCPyg-|>`4?W46@ zj#+H4Q{MeC&|hX|RSq@xpoo2h6=SDi}NjCz2W%2)4QL1Iru9sRyWaA z(s@SDgibfYLEo1?AJTk{Lr=5aM)cb)$HKRZo=%gYZO&(*Zk?5f2rK?R7xDYsOT4GH z9zeImvinfQ66wdUHarzw8rZ7*RBjkzVYiaq=lzztlJ2~8i7X=Xbmy!YFbd_K{W$xr z1XA1Zh7^$7=V$8S$YP#cIG$R%f<=1|aNU^q%!(SHY2Tc6$W-jaiNH_x^my*x;JaVR zT6$=DQ}sH9@uah z|5&s?#N1@|qnoIkmZxcz+Z@D8SEUfc&sgJC_)=qdKcUl#{bX@cWmlO;Y6Oa6tP`#O}W_8qp~bSaK3`ozRfYn-}HE&$c_tu+BkM zd^k53ySRpo*hoXA2HFH@RZ2##VY<(%gWhSGj+61P%bpG?HBBU1mSd7L`A1R%wyFiu z%qv!Tt(pA0(j3vZYca`14ALRnyuZKV1PnRR(?!!@`I{%MFAPf3ikvX{48$x<=o4II z+wunXA_sNCa>E^FBLGR!b*>7-82ItGh3jOUGNv-JIsOfG#pcs^9YEWyxF`b}p!I+v zY%^d0&Z~_Z9kO-T&*6YUI?tGFGM-O$;PrXseu9L^GkEWviiWHdBuFhh|7r%C_EMh9 z%+7YS{DiCa7GFw)`AV6GIlEt#qV~^0bQRe3IN)~()fB{(e6tcAnYn_`;2 zx|Ule>`n-h)N zios9qIATw=8u)}f#`3Xr2@ED=C*F; z5}9d|BPRh3AR{6Z|AmW&q#92BEv;3eBwc#_oXJLD&2^!{`HF(U?>h_)$w~%{0S5XN zDK%vL%MYM550PPv)ihcNP@)MHh!(FOY__V4G!bCecz<@+VmrP-@@o7Zn$9|7@h6TS~C0kV;{X z;FO7`INvW8qTPaOk%v}Z&d3$!_r&JH+%YJlZ45a^Wfw{J$vHzj_2@vSu+2VY&(-lW zJnR}D)_heaKb+dXeY-FfT^2G-9}92euVFJYg0nuuOX?N9cWEeY7`*L!-cBSPEJMNbjdiJ6FV>J_6Q~q1UXv~^dn1s!w z3Cn^Ds^VtDM7po?s)ShGT^6m+ql?bV6RotBplI-dRNeVf9-SSFTMeI4WJ;w6hyL1t z5w*$wLi~!U5+GF9F3n#@uz6h(NX#8Bkbi9kcnbIAZP?NRAa2N7j6Uo)gms&}dEiJ4 z2_$(vz{yh3PNvmKFhOjoEe1;j55LHKUb0_~UAz8Ao5&fY{z zc-wdDL8o2>?+FqF<|AX)*Y}e0){04IjP$m@{mg16rEgC2-oWk*=qmtF&`eQvsLQjYRp%cB$y zhlz33u$W(O?yDBWGO8ko3R;!S{yZ6WA0*$^X1goejkydcaDmb< zIlLQ?Lum`@>XZ_ocO^|MJQClQ#{Fj(kPXys(1P>GFQ3p54f}N~M4#LT=a4mT{v3=Y z<3@XoS`lVIy`VMib+_cp=P|Y6*ARX{3vzz9naquU#cxskTsHP3sGma3m>n%Ij)JI8!qppK_nz&Oe+C_nt z`!;&#HTEB28-MgDfv!gi)Z|1e%BG7Um3b|)m{8_NLPP7tE)G$ME-8=`jG6xOZ}J5eMwE8zxk`O{h`tyxt{Ykc0k1Ad zZ@r_Xf{L@-P*#rX_DZ+!#a(r4{%X;$aZI9E{Z@y|@&au~J<%@&zGPjcAg}=S^B%Y8 zrQ2XFfU^>tZ?$b&H*}X!s(oBG8FD=d_t`(s)}qm9!Hj#P(=@F!k@(9IX3v@}TGO+rb}f*r!4iB~694 zPt`wv*^K3rEf!bpgP#}`XyzG#Qu!=fA!F^fTqY5fWnI?Np+4FIT?d#o(9_k&5x67I zvWsMvA(n9HJVMjzgwUS6Er>GKqY0Ca~V}7oZ9l4u1 zr!?VLqJaM4et&Rj>C8RN(rilT+Rgszf}KuN0L^8GDHF&Y=J~2{j$Uz@9d{xics?1OVriPEAf1zBF)sZ!#iX&L4u*wI4*yY$~Jo8NU8>%SK7mEOA7ME3cGVo5ZF z=oN$3H1S76sQibOi!$M6%#0-nH&PXiK*M;u=HS_%-+BA1talWdSH#t77=Q89EQYB@ z$^IQ3;29ri=H#~5)^X|rt%>>Wh6F<1ru&_yV_?i!f1G`A$3-YVA_;g&bLLI`22HmB za<2qY1zvXbQMM%2IM$*`*A6}U7bg!@GgS#H0DvT~a+V8f^D%~`@2wKz<+ zG`mlW9!}b)%*Eb<#n^H2X$M2-|Lu&f(7YK?v?JzPm^W>5Jw_Obv2bhPK+%ztaT{0U ztpU<_I^9rZ=Bu&tLzN#za{Buo*b#ZdVyO@098_Rupd@DXS+o~wKe#x2y-x&xl=}o! zi_=(uz55h5Gm!feIvMG_XhP5Ekf7)+Z}7`X{$(^#;!t+!A}$!I)gSPO9FKM`aM4nG zD@ocwP2uZp4-*a33pSvM$3LJKDZlCL>;69!{tw`Y*pk*?GJo{CVhWuGi~xpPML?UM$V`92Cs`SH4HNI=KF4CGjj0@)#w5NAj${@5>iMH`36Q6(ohmhclCKtvrB zBW-pH6r4&QsCu_~2b1?uVp;fbyN?gNXs4n})C?ng+6FG4IBb=2a#qDR9}CJzy_+)E z+Ex4)S-lx%li!vOoj*QWN_yAn>P}j({(^dHJc*XxFlq-bz0BUcty|on7Tsk4`>9Nt z?%#bjAif65x81{$wU75Mkh_RpU8^^!Ki#*cwbm2_Z*d}$8zV@aI3WZiu1bIBZImAg zYkk-Ewo`bu>75LNR@9K?UX#-PXB~EQkSGrsyuw`_6Z$7Oaff}~aF(c;+Goxo@b0@B zyb!mSs#WnPj2`bW`B|4BIm2%ZL(tL`T6PqY+-)YCkuf;HyOh{-aY@Kc)!*|veu*n^ z&At<|wI7gq*Ch7ZC!(+)m;FISQ`&OoA_+yVldjaXb`>Vk}9E4kdUNZqdR7B@@R< z_11iEltJlKc;~ma3CqKAu9`j|@~2d?Bjw(#oQDi3_R)-)Y`uY@g1Iw~6c8(%eopO%h*NCaO+gb9wMUL}!qh;Ik?}D(V512;{+i&U~LAtR22CKzgwbGR2#I z3NL=~KK1FxtRu+!H7y!OTJTe;%2gP>x$N<9_KC`uh2O78g#+rHEXb+`K*SE)JTdE( z`caj$wl81FgwNhU~Lvbdlt)W+Fz)AhF3VFw-##rp!RBGw0@yI z?bD#k{!?7+qGQU_*_%}hzOte5L-^o#-SP?hl=t?%S@aA7et~(^fj@={&ZQ{(3lXjx z#sZ_(7sF%I?^9wWSqyWsX(`O;b!vR%;#z_NXb|==zgYf2*5t>pq;`ius^D#e#Mgi_ z5AE8rZS+MJ(?V+P5Wbu|d|^fW*QL*ZTcxi4U3(Ng8^38NU)Qg`m5aGweT4n{fC91694>D(XKbg2+;-mlPZ~P3rFhH{=A}4TT;=Szano^HL;KKsS= zKP33e4=edP1()WyP3rIA<$X3jJ{~Bh6(`>ziQ8^IW7IIF$@SSCIWi2K!}~ze&af%r z4)ejGO7RoOBHMCtJpbJgC_U}IDih&w=eL1$&5`?W{5%;V@N z&3G};&EcAxSPw&>%~!0RY$emoBR>@Yl7@)QW+gN&k3T0?uzPgGt=MtHj-HArtOTRG z$tq&UGZipeFTK;A|9eZ=fpU(kH7;A58w+G%7R!+4L~Ys6+bN4!RgSw-z>w6vDPRm# zR*prwmIwvZf46>RbUw-Pyz$T{r;YjN>C_8phg95l2h<*W&~<7KAwkmF|Yd_>cv*?6hO$@@@8PSC<*HMyYAiz|#AO>9Qz^=R&(fz?v#2 z;X1cO=VT)1`t`jp{F|Jjpl6|d6ynTVm~z#PR}!CXXJfyQZL<`=uVIr0s8~79 zVJ4%XAQmNVW}GJzecygJI9RlrT|2J^!owV|vEs&48pHhrdEr3Zg25|CoARy&mP zIEZz>Z0M~E;M@Uk1w!lQQJ8KcWon=E=-f^ZPUrX($q3W*t(KAf8s za|E^Cw6r#`sQ}L}|FJ)_Iv^Kn#O4q6gXVY+&C;HPso#izOAmp*JICg#{V65}ASVlB zg2OL|*VkW!M0v{vzxXt82}&B((4LhK&18-EUEN#^<65F=6NTZYAmu7S?lFJgb3KJ-XEID}+g``;-ys)InX^#jWuZ0c zuE%Pr`lG5!ZX+0$x?sY0L&}aEh5mwo|7x`?Y8dBcKCu=Ow6~VDV>0$BwLcHoMsYM_ zEs{6?DqQtOp1T0}D*Xp|I6vEVS%?IAN1qitJjM%gY?-s@)cupQO5P}`tS{QIv5s4% zop}tBqd>w!W?89Uy_3SgZJ$`@NfYrj;st+k8g82Pf)gMjRKny_ch<;)QccNpF~5I{ zX8+HB6(JY2y&ngh#T+ltjmADlb*P}r!R}XjX5MANOceIKH1{eS3<`gD9SZAQRjJ7D zVWlv7Qmie8ttNVyBb4L_|AWx zLeqD;M2zo0%U*2&dA1$9@7h2W8P$VE;;qf+9~!h+zfjqB$9$k_wbcXRo!MIqGlQ|s zTyRIu6=TDrKwp~5#M&A<);~WioNWm_rttLzElK!9yX@}AZ)@=uF`hy)7SPEMCI>>QwVU|)6LPLEpvI@eQQ2`a{k0CoRxhFZ%VuG)_o;< zwaAf~=!(*rl&!_GXh%JLw`DVfJ3f~$)qj@FlvV7w++!A7>9v!s|Le2%*T8>enR$Ai z|0y}HS|EWoUb;skI-TR>+|(UP#uEw}Y<^TU|8?zIlv23_r0DM!y`@*BdamkxUP`}u zv5T5=Ddp6ALlp;TD!5GNWMI(VlP|;WevaHJ$|Ic@wC11`n``4CG_R$0_PTe-`1_u2 zO=(Fv-Q#+(%W6<9nkjY5hy$B2o;88a+_ZkJWDd04{k^pE4qnsWw$MM9{O?zUcUUD_ zdPTBidwsont#WE>3cwSOaE9cRlpKXZp+GSXLe_B~c0rT66KX+M&#Q&wa%tQATcuPb zwTpB}M7F4TTU%6S%KqXG2er4fk^uK-g9d8PYbNRXCnG->0h>hCQt!({n+HfG zf;wH-QXzYi4-R+M-70p!W}Fj@T5q1kUS*d17Yy_-N;|*=_YvO z7o%~{(ZpmlPZIp=PyQjQitS{j@$CU613l1c2A4&}eZ=yR57)*b>+0||NH_d z*Gqj#?-hY3stE%QU%2W*Ck~KJA5_sWib0FR0`2 zbZo>uk5Va;IJWFf(OTA4N2U3`$kIU&vA5Ire;SodH;B6TZ=v#!Z;wLKgH}O)M3deH z&b3~kHYJu;cl77CB57jd!ncMV>T!sc*89o8-=eAxMT!9ZLNT3ai7WWwQ)#W#-shBg z`!X!60J)KZ1Sm!+uPC2JV6&3_@Cvq-+;7D1E#2E)vRw0bQnVvNXQtGUc` zmQVeGyoo=k7L-qJrE$#7rloyy(~a`CY8LXXm!*kHfvO4f(}B4^k1Gi{q?0Gaw&a!CIie}mp|^5R8hD`gm?F*fsA z&GG?;VlgI$UJ&X+p>R9Vee>LUkkjLzE4FRxAJf(@K{affe|2LvMW6CjbC$U`A1w{& z&XS=wRM&d1aHdS3wL7)O33y7nJewgj8*vI!ViIz${(%%hW^P#33zGB@W63a_K4F3* zvG3>B+3D2=xK5KMj+LW4fiypela7!z4u(rBNu|Sh6UXV=<^C5xe{C-)CDAuin)~c! zlnSMdfKdH4Be$6$0oX;e0jK85jd{P)sc+0)y%z+Zd2{D@A9{zL?2 z=6z)lu3%M9&OHPO;s04z#oymdZ=~`GdYQ6yi$bRc8MMT4 z1;Rvyk`cH<#~0};|21UhHq(EeBTAZGdE~obi>z#~9^(IBhdv&t^>f0|($(rli%rKw{JtrEpH0jP74^NuMIZ|7 zDN(iirw2=Tq-3X8b=<{jZQ`2RLd2KY>eqRC92%`6(B6#ZLJgsVF-`0{wCb2LLfNK| zRQrn4B)!H8GI0k|N%M`RKx7~g1FPF15tN<*;lYlZhu|cd>-!^G!_0NoB$8N?^r+gd z(AZzu_39heqBO;Kad9!cVR#}D%=7T4_fLuPzundFCP81Cn?iI&(7VqBfRQ*UtodXEcoePCd#}q=}U7w%(`2 zweCWRRj4&N%z>Xr?8hrQ6U>$LqNctNt>?Uxnjp~< zqw&U|aSt{E6plg@YwA%vyF@2s($C0oMqNwq?38C&RGaR49!T1Ci@T}3`c|Jz{A(pB zHPK3+qvd_b9Z2k1jB!~U{&*v)ZRYgQ_7@3Ny>ozd6@^^DcZ?8H2vHV%D zvDc0W=+l`-q-Mxr9_JhPr&WNyijC73jWx5_`~&E6=id#bmXaP>=2n~tqC8Ng2&D_; zp!5fR1;|QXPyT$f)aulBApAG`{MXy2V*sz)`}W59pCe7DN*#XbbuN`YE?UIy0uV4& zHgr1I)y6B_oW0DMk0?y>E7XRN4RbH~<~$+);-RCXBI1tLfj=JB0y)Z4pWB3H-ZZ<# zNR?q@g&mQ^G)9pO{~u%T9Zz-t|Bq+Ou}U0~(LmV^ls%ftNRG`x$=-WAgwjw6$*v@h z;~aY*2O%V6la;;aad3>^^K@NxRoC_YeZK#lb1R(ldcB^Haev$&_d8W<=K46K3BT(o zc_8-Xxy-##R&swnMO_hb+I{M?`DnKD>K3?Wz5kps{B}0{0XWh#3Bis0IMs-qV@?j8 znRL`6 znae)45;MNN^?#~G$Ai=G_3M3!e-837@-z@uOPRF~`JL3#cgikSUlGfl*WsUxfW;MN z2AfHMLggKd%CRdmc$!jb*}nFv`#(SY{T1UooN7ri|F)$PP9F+{a)JP{;K7KB%iZa3 zNw~(kD9|1=P;{k>Py#8<>9zaVVAJ6jI*d2!Mt#41o%-(y|3A+JP-0L656VD?#m_W} z@<2}X3gO2M`cZiH zRN%BSS`X3MX+s|AFaYn+X7trmgWfJB-NrO~)KEtB{IcRLv*ATe_6>kUF_9VcUz8PD z?gUexvo0$e`ww@i{$Gv#_fOvs1t-@3Y~jzGu%4)h(ut~%6%ys03JJCZq7n`TeL1dN z8nx$6zH~9Gx^+uZy+MTKT7wo0bGvTt4`kL9L-iVH)l#pGrf30UD(ca1k`#!3Ibxb> zKv{ggu>y<6z0SS-gDE-``Hex~*y@nERRO!f%k^yBkLral7w>8c+we4Yp8BB$AaQA@ zg}ORqRwn2Fw%_Twkzz|$9qB)Jdu1$2!@*-)u4ubHV6J}MD0%v)raCk0N9#@86*g7C zbBhRel@x8Lk*@fXksIuTVR`dF!mMiaxHjt}6PkB_+>doE&ZcB4bFZ0A*O&^|tIWK; znu_akE&|_i&nO}qRojj7l_zx%IOYnmyVB27jY#P$kb#EwTtK&U2!EWFL#)ziDf zC|65&QLP`%54{a?;?zr`8wCvd=Bz#zyeaLI}7 z$DhUxGQaP#S=o3VMpctC9Af5Pb$!#OUVXSn^D7mlh8o{^$J;P!yt_H5UtbPH{A)0U z8{V&N11rg_Qb1CkH>9nXwl`Bm0=o$G$J(#2jXH;iZ3^-yPV5eJ;8%J}(!25rNC1yt z=+I&ie-8?BI-t(;*xE35Xn^Qma9;FZ!S~N_-x>%G@J=Q5+7ASPxhF<3+b9|>Yz3>j zYEcy~Azo}SeM7(M-UOK=clXm_ZB>d8Ai3$0nDki_=41$si2mc5DLsbKYow{Fw4!YV ztt>P9JxcVwRoAqHx%HxPmjYL&No$(ttu(8YtoyEvIn`zEldKL5pKVu)Z`OF1dvMfD ze*UEOzu=@F;o;|bWwtsFD1!`iKbO&QDYTy^P?=!hcRjmwID~`4&!$9}uY#Dv;$5|@ z{RzhErliEMe=t=H!gN>o(!VacA`_)*r)tGP(3*-tV`n?b{h3>f499V=vxl0F>WVnd zIswmJ`F&pJM}aEmLAOo{&fDaO{%;l*|3?iCVlcv<4uo}ncI3~-Xn^^Br_IWTT<}@V zkAm*H{HZN`eE5TvGIuw==&X^#^QX6TZnnbMZj?-OUfy(ek_r10Jithh!TFY4sxrx` zqshdeF||~{NbY@mwn2(0{N!X&VY@u4K1u563 z&7JlBA3nGQ`Pb9fuzNp2KrR)uR~W9(oy6^waG18uRz z<4nELNJUe*Ct z8c{hfZIiFoj(I>2*-=tE#$8nvV)_FgenE1PCln9>SH=D)9%JXrpO6)UBP zY;oIdN0amJ6@K~@_jWkGEMJskwqhk?vJ_^w>Ld%vL`bf8lG{s1S#5j2H9$22K1zHk z$s?+!rbf;F50?CYe?JVAiX-soqSInBKFiYGD{_wU$1!2ILqJMY-(;rf9LlE)(a6@8 z?wTI0*{`d%#K=HDn1S9~yu{+NbG17lVOFoQ_Yb)l#YIY;rb|$AH!|F7YEaDsXVB`P zs$9?sK&88K?zv%=hf+Ho zYmzu^<0AU^H)~}<7@+uv^yq4WSNWia{4^;-@-R!hZAmi z?%w_M#O-C`AGh2M2JT|3=5VeN9g_00N)Xm21Y&#N zxy)3YnJ&Z9)ywH3huFjR&88~q$~oyBJRQJf(h~pwWS(3I$YM@Nt*jrb88licdKnG6 z&=63{-)uFpoM_6`%69*7`(k@=I)4Zz1;!?uW=5KYKEGxa@uy9p=@6YBzA|sqTmMw^ zH3z(%o`g7<@kCQtiip2&54D-h?DynwI~M2OxzCY3>BSok+Jq_VB|9M zExUh|eE<2j2h7n%?kWra-Dn{wj$@268&x6@+iemLr-Gg5Tk~l1zp71yzdQk7>a}1Avi_l@{aAv0zwq{;x z8`tkPInt_WsvLNwfH?(5mA`NJ*~c}rM9=vyHud!U%>S3f3QjP6HbB;^DkRr_5L8M} zipQhD@IOoVJp4ILcFfrF_-B|K#xw zN6ehd2VllV{cX}yk6z910Vm^s!Y^ce= ztaTzf6Ux_nD@7Z;yly#($u#FM_k@CPX*`^B>hCZ%$AC!J601jmDmb2~ zQG3ZD@oHm6!wU#Kn8&O)ynWP1&P5j*Y*g`T_G3=ZA9{X@mXs@?RUrediq27S1HRTw zs;>TX=K#4*+EsI)$?3H#Q`F%v{(y#rJji~J9A!>YAFyDfKcZnFy(b!8g|j-pq*d&fVKk+}bSW_KhMm{fXBYcmG;1)j5XIs9 zM>^>cl7N$IbJFR21B-~%hdcjmGxN(mcDt0485nQO*^{RlU}mL(BvN&5`@KY;X6&+N zBy2t%TF!|d|1_6w?1d5HT5MH^7=$`$zmv|F@(59M1hkO#y0{;z{EFdJs-3T7b2UAH zX8ZoW+0>HUES+G?@C`|R=&B48BX`4xnuuTy_KwWp^fmXt4;>?1)#FEu`Rh~JofL;R zb_!8$H3rEa^16nk-6}-Zb{fkbcc~GbvoSk&$ZK*#!ll3GrY@gT{=q2cYYhc&qFlbU zK04C%)Koy|&_ZUr-9J$4KhN!NuY7e&wDr%d+wwaDAHmwXI=HYoX&9d zYvHRnFCTOR{XBscy`(DA!`gha_g>8vC@^KL`(_JagD-@^IA z9fuQ&J&QuP-wb4z-sSL~ z@Y;I%L?EOwm}PpSkkCy1$Jc2lFECKcF10}b@?M56^%^U=7+cJ2YE|vZmd4u~b>FlW zRIJ2VG^|c)h6Kg&vReTlY(IC~@=bf!QKx_taSrm{6MtOwf4wz@)AkI>g($*pVc3u5 z$cgk-j;YlV1qFcDDp6H-nI^;2`DKbvNp@6>etbAy)s)-=?LrCM%w{u;mrRVjcH>Ng z8N&v{b;%3I^cl7++z0Er2G7m+f0ZtDz({?{bz0YpHC1tYsQB#g6?cz4aE|4-;cf3LVeVlw&@Ror)G^{ zBOK62amwejb$8o0&H09E2YJek>+xi{cyajkATiom3FQEmxZ`wdJEF8xA%1aVn(UzE z3p@-xm~RiL^)ND)?L@+`Kg_xA4^$Fi4>9@(Gtz4nglu(}bj}nK+8sg;Fi<7EQjG|u zTx^Yf4CJu#pNIU(i?F9+Q}r&81ur(-j& zrZF~=G1=5TfyGSw_&SFgpw1Eow_G(oJXb?hq(s1(TS*G=6L}VRYvkw2YCn!8uzMDu z@0Or`XFC=61Ss+V#@G6RWR<_#E)1M1$>5ajRZX~V4JPFYkYcJ*rw{)^Ixtsjf};Q~ zvizX!o)FXEgPlC4-+CicF^KkB7xv%hSgKJ8;Muq3NxvaBskb+5&4}DxJjsHoN_QZsh*`+^*jX zf=#%NV6Q5+OrV8LVrru=oYDd67#T6K9Y)GsVcYpW@TNj6N6LJC7kWByhx_1GQT@)D zx8{c#W*C|@*}urhx+Nw^Z!gY*D;g@#^R>waB4?+zyQZy;?c_HKAM6P^tNmXB3W16_wDjdiUoJ>#;enS)<+O=TaA~4|^|~TPb=CWkE@>0U-1FE{A%pP-{SpM~9GS4<@);1$yC$ zACEi>tsdXn4tRC{!A@E(F@#GXkydC)B6R(=nHp-xY2q$5S!05X2 zAW}6yYUF`HQcuHOyC2emTnFE4+pZMU=7M?VeuJw^WLyg8bYnUjKVyrolv%X6d3U`G zqhd-kx(bZ?1ipOLiuy)`iH7A2SY7f}DB3;y16_7nzLK#lO& zh_K~jorD$XA=-5bnr)6Md4|1`c^CY?6e^?QYB4 zI{n>dVjp?P3C%B>JU)bCq$(r$nVg~49SA`!Hy=Lk!#{f~@zzds~ zFNoCIV6k6eo9*r^<0)s7Ib#ca;I{FfiK+oq0~+b!BV)x`F;JO`encF&C{7Td|30xlZhu+$f`P#4_vY#438YM}_eMv9TYgYORL4C&)NN_t?8=}t7L_lkv z4pT8On0$!{F0m)=yKMeMq%$ems+U%NoUDH3H%laW#RHkSe;Yx%~l0=Y6a`47-XAv1m`GI<4s=NwR^venT_7c76L@~6

(Sie8Nh>8=YsW_U6rj<@tp@Z6N!cDqts#+2E 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

NB4r*`@sd< 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%0D*={Ye?maDTOsbd1I0+7MatEhl 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%0AmSBusgc3V+45yS|~S~a`F90P?P>xGvI_w;(( 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 ?abbima;ryfk%uaL2u1_PF*Jf!efw+)&m+h}xK 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

7hdA>je7bwoy2AFQl2v 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
xP4wh=yNb83sIN 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%0DMyS7(D2xM#h(MjpQ_zR$cEWK@D;Y7% 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/p_inflation_schedule.png b/docs/static/img/p_inflation_schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..f515efa12cd63e653eb0680356bf3c91ab35e6bb GIT binary patch literal 327755 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

&_X5c{-W)@Sql#fPDOobhm8KOd+n)y~?c@DKB1e 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 `z?xBE>id`N+zc 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 Ag8%>k literal 0 HcmV?d00001 diff --git a/docs/static/img/p_total_supply.png b/docs/static/img/p_total_supply.png new file mode 100644 index 0000000000000000000000000000000000000000..e2562ffde0c876621f6fef2677ba0a8f82b30ba4 GIT binary patch literal 276555 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 z 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

q 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](https://katex.org/) +[![npm](https://img.shields.io/npm/v/katex.svg)](https://www.npmjs.com/package/katex) +[![CircleCI](https://circleci.com/gh/KaTeX/KaTeX.svg?style=shield)](https://circleci.com/gh/KaTeX/KaTeX) +[![codecov](https://codecov.io/gh/KaTeX/KaTeX/branch/master/graph/badge.svg)](https://codecov.io/gh/KaTeX/KaTeX) +[![Join the chat at https://gitter.im/KaTeX/KaTeX](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/KaTeX/KaTeX?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=KaTeX/KaTeX)](https://dependabot.com) +[![jsDelivr](https://data.jsdelivr.com/v1/package/npm/katex/badge?style=rounded)](https://www.jsdelivr.com/package/npm/katex) +![](https://img.badgesize.io/KaTeX/KaTeX/v0.12.0/dist/katex.min.js?compression=gzip) + +KaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the web. + + * **Fast:** KaTeX renders its math synchronously and doesn't need to reflow the page. See how it compares to a competitor in [this speed test](http://www.intmath.com/cg5/katex-mathjax-comparison.php). + * **Print quality:** KaTeX's layout is based on Donald Knuth's TeX, the gold standard for math typesetting. + * **Self contained:** KaTeX has no dependencies and can easily be bundled with your website resources. + * **Server side rendering:** KaTeX produces the same output regardless of browser or environment, so you can pre-render expressions using Node.js and send them as plain HTML. + +KaTeX is compatible with all major browsers, including Chrome, Safari, Firefox, Opera, Edge, and IE 11. + +KaTeX supports much (but not all) of LaTeX and many LaTeX packages. See the [list of supported functions](https://katex.org/docs/supported.html). + +Try out KaTeX [on the demo page](https://katex.org/#demo)! + +## Getting started + +### Starter template + +```html + + + + + + + + + + + + + ... + +``` + +You can also [download KaTeX](https://github.com/KaTeX/KaTeX/releases) and host it yourself. + +For details on how to configure auto-render extension, refer to [the documentation](https://katex.org/docs/autorender.html). + +### API + +Call `katex.render` to render a TeX expression directly into a DOM element. +For example: + +```js +katex.render("c = \\pm\\sqrt{a^2 + b^2}", element, { + throwOnError: false +}); +``` + +Call `katex.renderToString` to generate an HTML string of the rendered math, +e.g., for server-side rendering. For example: + +```js +var html = katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}", { + throwOnError: false +}); +// '...' +``` + +Make sure to include the CSS and font files in both cases. +If you are doing all rendering on the server, there is no need to include the +JavaScript on the client. + +The examples above use the `throwOnError: false` option, which renders invalid +inputs as the TeX source code in red (by default), with the error message as +hover text. For other available options, see the +[API documentation](https://katex.org/docs/api.html), +[options documentation](https://katex.org/docs/options.html), and +[handling errors documentation](https://katex.org/docs/error.html). + +## Demo and Documentation + +Learn more about using KaTeX [on the website](https://katex.org)! + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +KaTeX is licensed under the [MIT License](http://opensource.org/licenses/MIT). diff --git a/docs/static/katex/contrib/auto-render.js b/docs/static/katex/contrib/auto-render.js new file mode 100644 index 000000000..d59443483 --- /dev/null +++ b/docs/static/katex/contrib/auto-render.js @@ -0,0 +1,350 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("katex")); + else if(typeof define === 'function' && define.amd) + define(["katex"], factory); + else if(typeof exports === 'object') + exports["renderMathInElement"] = factory(require("katex")); + else + root["renderMathInElement"] = factory(root["katex"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "katex" +var external_katex_ = __webpack_require__(0); +var external_katex_default = /*#__PURE__*/__webpack_require__.n(external_katex_); + +// CONCATENATED MODULE: ./contrib/auto-render/splitAtDelimiters.js +/* eslint no-constant-condition:0 */ +var findEndOfMath = function findEndOfMath(delimiter, text, startIndex) { + // Adapted from + // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx + var index = startIndex; + var braceLevel = 0; + var delimLength = delimiter.length; + + while (index < text.length) { + var character = text[index]; + + if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) { + return index; + } else if (character === "\\") { + index++; + } else if (character === "{") { + braceLevel++; + } else if (character === "}") { + braceLevel--; + } + + index++; + } + + return -1; +}; + +var splitAtDelimiters = function splitAtDelimiters(startData, leftDelim, rightDelim, display) { + var finalData = []; + + for (var i = 0; i < startData.length; i++) { + if (startData[i].type === "text") { + var text = startData[i].data; + var lookingForLeft = true; + var currIndex = 0; + var nextIndex = void 0; + nextIndex = text.indexOf(leftDelim); + + if (nextIndex !== -1) { + currIndex = nextIndex; + finalData.push({ + type: "text", + data: text.slice(0, currIndex) + }); + lookingForLeft = false; + } + + while (true) { + if (lookingForLeft) { + nextIndex = text.indexOf(leftDelim, currIndex); + + if (nextIndex === -1) { + break; + } + + finalData.push({ + type: "text", + data: text.slice(currIndex, nextIndex) + }); + currIndex = nextIndex; + } else { + nextIndex = findEndOfMath(rightDelim, text, currIndex + leftDelim.length); + + if (nextIndex === -1) { + break; + } + + finalData.push({ + type: "math", + data: text.slice(currIndex + leftDelim.length, nextIndex), + rawData: text.slice(currIndex, nextIndex + rightDelim.length), + display: display + }); + currIndex = nextIndex + rightDelim.length; + } + + lookingForLeft = !lookingForLeft; + } + + finalData.push({ + type: "text", + data: text.slice(currIndex) + }); + } else { + finalData.push(startData[i]); + } + } + + return finalData; +}; + +/* harmony default export */ var auto_render_splitAtDelimiters = (splitAtDelimiters); +// CONCATENATED MODULE: ./contrib/auto-render/auto-render.js +/* eslint no-console:0 */ + + + +var auto_render_splitWithDelimiters = function splitWithDelimiters(text, delimiters) { + var data = [{ + type: "text", + data: text + }]; + + for (var i = 0; i < delimiters.length; i++) { + var delimiter = delimiters[i]; + data = auto_render_splitAtDelimiters(data, delimiter.left, delimiter.right, delimiter.display || false); + } + + return data; +}; +/* Note: optionsCopy is mutated by this method. If it is ever exposed in the + * API, we should copy it before mutating. + */ + + +var auto_render_renderMathInText = function renderMathInText(text, optionsCopy) { + var data = auto_render_splitWithDelimiters(text, optionsCopy.delimiters); + + if (data.length === 1 && data[0].type === 'text') { + // There is no formula in the text. + // Let's return null which means there is no need to replace + // the current text node with a new one. + return null; + } + + var fragment = document.createDocumentFragment(); + + for (var i = 0; i < data.length; i++) { + if (data[i].type === "text") { + fragment.appendChild(document.createTextNode(data[i].data)); + } else { + var span = document.createElement("span"); + var math = data[i].data; // Override any display mode defined in the settings with that + // defined by the text itself + + optionsCopy.displayMode = data[i].display; + + try { + if (optionsCopy.preProcess) { + math = optionsCopy.preProcess(math); + } + + external_katex_default.a.render(math, span, optionsCopy); + } catch (e) { + if (!(e instanceof external_katex_default.a.ParseError)) { + throw e; + } + + optionsCopy.errorCallback("KaTeX auto-render: Failed to parse `" + data[i].data + "` with ", e); + fragment.appendChild(document.createTextNode(data[i].rawData)); + continue; + } + + fragment.appendChild(span); + } + } + + return fragment; +}; + +var renderElem = function renderElem(elem, optionsCopy) { + for (var i = 0; i < elem.childNodes.length; i++) { + var childNode = elem.childNodes[i]; + + if (childNode.nodeType === 3) { + // Text node + var frag = auto_render_renderMathInText(childNode.textContent, optionsCopy); + + if (frag) { + i += frag.childNodes.length - 1; + elem.replaceChild(frag, childNode); + } + } else if (childNode.nodeType === 1) { + (function () { + // Element node + var className = ' ' + childNode.className + ' '; + var shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && optionsCopy.ignoredClasses.every(function (x) { + return className.indexOf(' ' + x + ' ') === -1; + }); + + if (shouldRender) { + renderElem(childNode, optionsCopy); + } + })(); + } // Otherwise, it's something else, and ignore it. + + } +}; + +var renderMathInElement = function renderMathInElement(elem, options) { + if (!elem) { + throw new Error("No element provided to render"); + } + + var optionsCopy = {}; // Object.assign(optionsCopy, option) + + for (var option in options) { + if (options.hasOwnProperty(option)) { + optionsCopy[option] = options[option]; + } + } // default options + + + optionsCopy.delimiters = optionsCopy.delimiters || [{ + left: "$$", + right: "$$", + display: true + }, { + left: "\\(", + right: "\\)", + display: false + }, // LaTeX uses $…$, but it ruins the display of normal `$` in text: + // {left: "$", right: "$", display: false}, + // \[…\] must come last in this array. Otherwise, renderMathInElement + // will search for \[ before it searches for $$ or \( + // That makes it susceptible to finding a \\[0.3em] row delimiter and + // treating it as if it were the start of a KaTeX math zone. + { + left: "\\[", + right: "\\]", + display: true + }]; + optionsCopy.ignoredTags = optionsCopy.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code", "option"]; + optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || []; + optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\gdef` between different + // math elements within a single call to `renderMathInElement`. + + optionsCopy.macros = optionsCopy.macros || {}; + renderElem(elem, optionsCopy); +}; + +/* harmony default export */ var auto_render = __webpack_exports__["default"] = (renderMathInElement); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/docs/static/katex/contrib/auto-render.min.js b/docs/static/katex/contrib/auto-render.min.js new file mode 100644 index 000000000..840e74bf1 --- /dev/null +++ b/docs/static/katex/contrib/auto-render.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n className.indexOf(' ' + x + ' ') === -1); + + if (shouldRender) { + renderElem(childNode, optionsCopy); + } + } // Otherwise, it's something else, and ignore it. + + } +}; + +const renderMathInElement = function renderMathInElement(elem, options) { + if (!elem) { + throw new Error("No element provided to render"); + } + + const optionsCopy = {}; // Object.assign(optionsCopy, option) + + for (const option in options) { + if (options.hasOwnProperty(option)) { + optionsCopy[option] = options[option]; + } + } // default options + + + optionsCopy.delimiters = optionsCopy.delimiters || [{ + left: "$$", + right: "$$", + display: true + }, { + left: "\\(", + right: "\\)", + display: false + }, // LaTeX uses $…$, but it ruins the display of normal `$` in text: + // {left: "$", right: "$", display: false}, + // \[…\] must come last in this array. Otherwise, renderMathInElement + // will search for \[ before it searches for $$ or \( + // That makes it susceptible to finding a \\[0.3em] row delimiter and + // treating it as if it were the start of a KaTeX math zone. + { + left: "\\[", + right: "\\]", + display: true + }]; + optionsCopy.ignoredTags = optionsCopy.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code", "option"]; + optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || []; + optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\gdef` between different + // math elements within a single call to `renderMathInElement`. + + optionsCopy.macros = optionsCopy.macros || {}; + renderElem(elem, optionsCopy); +}; + +export default renderMathInElement; diff --git a/docs/static/katex/contrib/copy-tex.css b/docs/static/katex/contrib/copy-tex.css new file mode 100644 index 000000000..0a337cc19 --- /dev/null +++ b/docs/static/katex/contrib/copy-tex.css @@ -0,0 +1,13 @@ +/* Force selection of entire .katex/.katex-display blocks, so that we can + * copy/paste the entire source code. If you omit this CSS, partial + * selections of a formula will work, but will copy the ugly HTML + * representation instead of the LaTeX source code. (Full selections will + * still produce the LaTeX source code.) + */ +.katex, +.katex-display { + user-select: all; + -moz-user-select: all; + -webkit-user-select: all; + -ms-user-select: all; +} diff --git a/docs/static/katex/contrib/copy-tex.js b/docs/static/katex/contrib/copy-tex.js new file mode 100644 index 000000000..4649f8f7e --- /dev/null +++ b/docs/static/katex/contrib/copy-tex.js @@ -0,0 +1,213 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else { + var a = factory(); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})((typeof self !== 'undefined' ? self : this), function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./contrib/copy-tex/copy-tex.css +var copy_tex = __webpack_require__(0); + +// CONCATENATED MODULE: ./contrib/copy-tex/katex2tex.js +// Set these to how you want inline and display math to be delimited. +var defaultCopyDelimiters = { + inline: ['$', '$'], + // alternative: ['\(', '\)'] + display: ['$$', '$$'] // alternative: ['\[', '\]'] + +}; // Replace .katex elements with their TeX source ( element). +// Modifies fragment in-place. Useful for writing your own 'copy' handler, +// as in copy-tex.js. + +var katexReplaceWithTex = function katexReplaceWithTex(fragment, copyDelimiters) { + if (copyDelimiters === void 0) { + copyDelimiters = defaultCopyDelimiters; + } + + // Remove .katex-html blocks that are preceded by .katex-mathml blocks + // (which will get replaced below). + var katexHtml = fragment.querySelectorAll('.katex-mathml + .katex-html'); + + for (var i = 0; i < katexHtml.length; i++) { + var element = katexHtml[i]; + + if (element.remove) { + element.remove(null); + } else { + element.parentNode.removeChild(element); + } + } // Replace .katex-mathml elements with their annotation (TeX source) + // descendant, with inline delimiters. + + + var katexMathml = fragment.querySelectorAll('.katex-mathml'); + + for (var _i = 0; _i < katexMathml.length; _i++) { + var _element = katexMathml[_i]; + + var texSource = _element.querySelector('annotation'); + + if (texSource) { + if (_element.replaceWith) { + _element.replaceWith(texSource); + } else { + _element.parentNode.replaceChild(texSource, _element); + } + + texSource.innerHTML = copyDelimiters.inline[0] + texSource.innerHTML + copyDelimiters.inline[1]; + } + } // Switch display math to display delimiters. + + + var displays = fragment.querySelectorAll('.katex-display annotation'); + + for (var _i2 = 0; _i2 < displays.length; _i2++) { + var _element2 = displays[_i2]; + _element2.innerHTML = copyDelimiters.display[0] + _element2.innerHTML.substr(copyDelimiters.inline[0].length, _element2.innerHTML.length - copyDelimiters.inline[0].length - copyDelimiters.inline[1].length) + copyDelimiters.display[1]; + } + + return fragment; +}; +/* harmony default export */ var katex2tex = (katexReplaceWithTex); +// CONCATENATED MODULE: ./contrib/copy-tex/copy-tex.js + // Global copy handler to modify behavior on .katex elements. + +document.addEventListener('copy', function (event) { + var selection = window.getSelection(); + + if (selection.isCollapsed) { + return; // default action OK if selection is empty + } + + var fragment = selection.getRangeAt(0).cloneContents(); + + if (!fragment.querySelector('.katex-mathml')) { + return; // default action OK if no .katex-mathml elements + } // Preserve usual HTML copy/paste behavior. + + + var html = []; + + for (var i = 0; i < fragment.childNodes.length; i++) { + html.push(fragment.childNodes[i].outerHTML); + } + + event.clipboardData.setData('text/html', html.join('')); // Rewrite plain-text version. + + event.clipboardData.setData('text/plain', katex2tex(fragment).textContent); // Prevent normal copy handling. + + event.preventDefault(); +}); +// CONCATENATED MODULE: ./contrib/copy-tex/copy-tex.webpack.js +/** + * This is the webpack entry point for KaTeX. As ECMAScript doesn't support + * CSS modules natively, a separate entry point is used. + */ + + + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/docs/static/katex/contrib/copy-tex.min.css b/docs/static/katex/contrib/copy-tex.min.css new file mode 100644 index 000000000..555ed1156 --- /dev/null +++ b/docs/static/katex/contrib/copy-tex.min.css @@ -0,0 +1 @@ +.katex,.katex-display{user-select:all;-moz-user-select:all;-webkit-user-select:all;-ms-user-select:all} diff --git a/docs/static/katex/contrib/copy-tex.min.js b/docs/static/katex/contrib/copy-tex.min.js new file mode 100644 index 000000000..e0354d6b9 --- /dev/null +++ b/docs/static/katex/contrib/copy-tex.min.js @@ -0,0 +1 @@ +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}("undefined"!=typeof self?self:this,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){},function(e,t,n){"use strict";n.r(t);n(0);var r={inline:["$","$"],display:["$$","$$"]},o=function(e,t){void 0===t&&(t=r);for(var n=e.querySelectorAll(".katex-mathml + .katex-html"),o=0;o element). +// Modifies fragment in-place. Useful for writing your own 'copy' handler, +// as in copy-tex.js. + +const katexReplaceWithTex = function katexReplaceWithTex(fragment, copyDelimiters) { + if (copyDelimiters === void 0) { + copyDelimiters = defaultCopyDelimiters; + } + + // Remove .katex-html blocks that are preceded by .katex-mathml blocks + // (which will get replaced below). + const katexHtml = fragment.querySelectorAll('.katex-mathml + .katex-html'); + + for (let i = 0; i < katexHtml.length; i++) { + const element = katexHtml[i]; + + if (element.remove) { + element.remove(null); + } else { + element.parentNode.removeChild(element); + } + } // Replace .katex-mathml elements with their annotation (TeX source) + // descendant, with inline delimiters. + + + const katexMathml = fragment.querySelectorAll('.katex-mathml'); + + for (let i = 0; i < katexMathml.length; i++) { + const element = katexMathml[i]; + const texSource = element.querySelector('annotation'); + + if (texSource) { + if (element.replaceWith) { + element.replaceWith(texSource); + } else { + element.parentNode.replaceChild(texSource, element); + } + + texSource.innerHTML = copyDelimiters.inline[0] + texSource.innerHTML + copyDelimiters.inline[1]; + } + } // Switch display math to display delimiters. + + + const displays = fragment.querySelectorAll('.katex-display annotation'); + + for (let i = 0; i < displays.length; i++) { + const element = displays[i]; + element.innerHTML = copyDelimiters.display[0] + element.innerHTML.substr(copyDelimiters.inline[0].length, element.innerHTML.length - copyDelimiters.inline[0].length - copyDelimiters.inline[1].length) + copyDelimiters.display[1]; + } + + return fragment; +}; + +document.addEventListener('copy', function (event) { + const selection = window.getSelection(); + + if (selection.isCollapsed) { + return; // default action OK if selection is empty + } + + const fragment = selection.getRangeAt(0).cloneContents(); + + if (!fragment.querySelector('.katex-mathml')) { + return; // default action OK if no .katex-mathml elements + } // Preserve usual HTML copy/paste behavior. + + + const html = []; + + for (let i = 0; i < fragment.childNodes.length; i++) { + html.push(fragment.childNodes[i].outerHTML); + } + + event.clipboardData.setData('text/html', html.join('')); // Rewrite plain-text version. + + event.clipboardData.setData('text/plain', katexReplaceWithTex(fragment).textContent); // Prevent normal copy handling. + + event.preventDefault(); +}); diff --git a/docs/static/katex/contrib/mathtex-script-type.js b/docs/static/katex/contrib/mathtex-script-type.js new file mode 100644 index 000000000..daa01a633 --- /dev/null +++ b/docs/static/katex/contrib/mathtex-script-type.js @@ -0,0 +1,137 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("katex")); + else if(typeof define === 'function' && define.amd) + define(["katex"], factory); + else { + var a = typeof exports === 'object' ? factory(require("katex")) : factory(root["katex"]); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_0__); + +var scripts = document.body.getElementsByTagName("script"); +scripts = Array.prototype.slice.call(scripts); +scripts.forEach(function (script) { + if (!script.type || !script.type.match(/math\/tex/i)) { + return -1; + } + + var display = script.type.match(/mode\s*=\s*display(;|\s|\n|$)/) != null; + var katexElement = document.createElement(display ? "div" : "span"); + katexElement.setAttribute("class", display ? "equation" : "inline-equation"); + + try { + katex__WEBPACK_IMPORTED_MODULE_0___default.a.render(script.text, katexElement, { + displayMode: display + }); + } catch (err) { + //console.error(err); linter doesn't like this + katexElement.textContent = script.text; + } + + script.parentNode.replaceChild(katexElement, script); +}); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/docs/static/katex/contrib/mathtex-script-type.min.js b/docs/static/katex/contrib/mathtex-script-type.min.js new file mode 100644 index 000000000..ae9f52869 --- /dev/null +++ b/docs/static/katex/contrib/mathtex-script-type.min.js @@ -0,0 +1 @@ +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],t);else{var r="object"==typeof exports?t(require("katex")):t(e.katex);for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),u=document.body.getElementsByTagName("script");(u=Array.prototype.slice.call(u)).forEach(function(e){if(!e.type||!e.type.match(/math\/tex/i))return-1;var t=null!=e.type.match(/mode\s*=\s*display(;|\s|\n|$)/),r=document.createElement(t?"div":"span");r.setAttribute("class",t?"equation":"inline-equation");try{o.a.render(e.text,r,{displayMode:t})}catch(t){r.textContent=e.text}e.parentNode.replaceChild(r,e)})}]).default}); \ No newline at end of file diff --git a/docs/static/katex/contrib/mathtex-script-type.mjs b/docs/static/katex/contrib/mathtex-script-type.mjs new file mode 100644 index 000000000..7cfb90e98 --- /dev/null +++ b/docs/static/katex/contrib/mathtex-script-type.mjs @@ -0,0 +1,24 @@ +import katex from '../katex.mjs'; + +let scripts = document.body.getElementsByTagName("script"); +scripts = Array.prototype.slice.call(scripts); +scripts.forEach(function (script) { + if (!script.type || !script.type.match(/math\/tex/i)) { + return -1; + } + + const display = script.type.match(/mode\s*=\s*display(;|\s|\n|$)/) != null; + const katexElement = document.createElement(display ? "div" : "span"); + katexElement.setAttribute("class", display ? "equation" : "inline-equation"); + + try { + katex.render(script.text, katexElement, { + displayMode: display + }); + } catch (err) { + //console.error(err); linter doesn't like this + katexElement.textContent = script.text; + } + + script.parentNode.replaceChild(katexElement, script); +}); diff --git a/docs/static/katex/contrib/mhchem.js b/docs/static/katex/contrib/mhchem.js new file mode 100644 index 000000000..ad2dcf0fc --- /dev/null +++ b/docs/static/katex/contrib/mhchem.js @@ -0,0 +1,3241 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("katex")); + else if(typeof define === 'function' && define.amd) + define(["katex"], factory); + else { + var a = typeof exports === 'object' ? factory(require("katex")) : factory(root["katex"]); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_0__); +/* eslint-disable */ + +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ + +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * KaTeX mhchem.js + * + * This file implements a KaTeX version of mhchem version 3.3.0. + * It is adapted from MathJax/extensions/TeX/mhchem.js + * It differs from the MathJax version as follows: + * 1. The interface is changed so that it can be called from KaTeX, not MathJax. + * 2. \rlap and \llap are replaced with \mathrlap and \mathllap. + * 3. Four lines of code are edited in order to use \raisebox instead of \raise. + * 4. The reaction arrow code is simplified. All reaction arrows are rendered + * using KaTeX extensible arrows instead of building non-extensible arrows. + * 5. \tripledash vertical alignment is slightly adjusted. + * + * This code, as other KaTeX code, is released under the MIT license. + * + * /************************************************************* + * + * MathJax/extensions/TeX/mhchem.js + * + * Implements the \ce command for handling chemical formulas + * from the mhchem LaTeX package. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2015 The MathJax Consortium + * Copyright (c) 2015-2018 Martin Hensel + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// +// Coding Style +// - use '' for identifiers that can by minified/uglified +// - use "" for strings that need to stay untouched +// version: "3.3.0" for MathJax and KaTeX +// Add \ce, \pu, and \tripledash to the KaTeX macros. +katex__WEBPACK_IMPORTED_MODULE_0___default.a.__defineMacro("\\ce", function (context) { + return chemParse(context.consumeArgs(1)[0], "ce"); +}); + +katex__WEBPACK_IMPORTED_MODULE_0___default.a.__defineMacro("\\pu", function (context) { + return chemParse(context.consumeArgs(1)[0], "pu"); +}); // Needed for \bond for the ~ forms +// Raise by 2.56mu, not 2mu. We're raising a hyphen-minus, U+002D, not +// a mathematical minus, U+2212. So we need that extra 0.56. + + +katex__WEBPACK_IMPORTED_MODULE_0___default.a.__defineMacro("\\tripledash", "{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu" + "\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}"); + + // +// This is the main function for handing the \ce and \pu commands. +// It takes the argument to \ce or \pu and returns the corresponding TeX string. +// + +var chemParse = function chemParse(tokens, stateMachine) { + // Recreate the argument string from KaTeX's array of tokens. + var str = ""; + var expectedLoc = tokens[tokens.length - 1].loc.start; + + for (var i = tokens.length - 1; i >= 0; i--) { + if (tokens[i].loc.start > expectedLoc) { + // context.consumeArgs has eaten a space. + str += " "; + expectedLoc = tokens[i].loc.start; + } + + str += tokens[i].text; + expectedLoc += tokens[i].text.length; + } + + var tex = texify.go(mhchemParser.go(str, stateMachine)); + return tex; +}; // +// Core parser for mhchem syntax (recursive) +// + +/** @type {MhchemParser} */ + + +var mhchemParser = { + // + // Parses mchem \ce syntax + // + // Call like + // go("H2O"); + // + go: function go(input, stateMachine) { + if (!input) { + return []; + } + + if (stateMachine === undefined) { + stateMachine = 'ce'; + } + + var state = '0'; // + // String buffers for parsing: + // + // buffer.a == amount + // buffer.o == element + // buffer.b == left-side superscript + // buffer.p == left-side subscript + // buffer.q == right-side subscript + // buffer.d == right-side superscript + // + // buffer.r == arrow + // buffer.rdt == arrow, script above, type + // buffer.rd == arrow, script above, content + // buffer.rqt == arrow, script below, type + // buffer.rq == arrow, script below, content + // + // buffer.text_ + // buffer.rm + // etc. + // + // buffer.parenthesisLevel == int, starting at 0 + // buffer.sb == bool, space before + // buffer.beginsWithBond == bool + // + // These letters are also used as state names. + // + // Other states: + // 0 == begin of main part (arrow/operator unlikely) + // 1 == next entity + // 2 == next entity (arrow/operator unlikely) + // 3 == next atom + // c == macro + // + + /** @type {Buffer} */ + + var buffer = {}; + buffer['parenthesisLevel'] = 0; + input = input.replace(/\n/g, " "); + input = input.replace(/[\u2212\u2013\u2014\u2010]/g, "-"); + input = input.replace(/[\u2026]/g, "..."); // + // Looks through mhchemParser.transitions, to execute a matching action + // (recursive) + // + + var lastInput; + var watchdog = 10; + /** @type {ParserOutput[]} */ + + var output = []; + + while (true) { + if (lastInput !== input) { + watchdog = 10; + lastInput = input; + } else { + watchdog--; + } // + // Find actions in transition table + // + + + var machine = mhchemParser.stateMachines[stateMachine]; + var t = machine.transitions[state] || machine.transitions['*']; + + iterateTransitions: for (var i = 0; i < t.length; i++) { + var matches = mhchemParser.patterns.match_(t[i].pattern, input); + + if (matches) { + // + // Execute actions + // + var task = t[i].task; + + for (var iA = 0; iA < task.action_.length; iA++) { + var o; // + // Find and execute action + // + + if (machine.actions[task.action_[iA].type_]) { + o = machine.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option); + } else if (mhchemParser.actions[task.action_[iA].type_]) { + o = mhchemParser.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option); + } else { + throw ["MhchemBugA", "mhchem bug A. Please report. (" + task.action_[iA].type_ + ")"]; // Trying to use non-existing action + } // + // Add output + // + + + mhchemParser.concatArray(output, o); + } // + // Set next state, + // Shorten input, + // Continue with next character + // (= apply only one transition per position) + // + + + state = task.nextState || state; + + if (input.length > 0) { + if (!task.revisit) { + input = matches.remainder; + } + + if (!task.toContinue) { + break iterateTransitions; + } + } else { + return output; + } + } + } // + // Prevent infinite loop + // + + + if (watchdog <= 0) { + throw ["MhchemBugU", "mhchem bug U. Please report."]; // Unexpected character + } + } + }, + concatArray: function concatArray(a, b) { + if (b) { + if (Array.isArray(b)) { + for (var iB = 0; iB < b.length; iB++) { + a.push(b[iB]); + } + } else { + a.push(b); + } + } + }, + patterns: { + // + // Matching patterns + // either regexps or function that return null or {match_:"a", remainder:"bc"} + // + patterns: { + // property names must not look like integers ("2") for correct property traversal order, later on + 'empty': /^$/, + 'else': /^./, + 'else2': /^./, + 'space': /^\s/, + 'space A': /^\s(?=[A-Z\\$])/, + 'space$': /^\s$/, + 'a-z': /^[a-z]/, + 'x': /^x/, + 'x$': /^x$/, + 'i$': /^i$/, + 'letters': /^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/, + '\\greek': /^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/, + 'one lowercase latin letter $': /^(?:([a-z])(?:$|[^a-zA-Z]))$/, + '$one lowercase latin letter$ $': /^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/, + 'one lowercase greek letter $': /^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/, + 'digits': /^[0-9]+/, + '-9.,9': /^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/, + '-9.,9 no missing 0': /^[+\-]?[0-9]+(?:[.,][0-9]+)?/, + '(-)(9.,9)(e)(99)': function e99(input) { + var m = input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/); + + if (m && m[0]) { + return { + match_: m.splice(1), + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + '(-)(9)^(-9)': function _(input) { + var m = input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/); + + if (m && m[0]) { + return { + match_: m.splice(1), + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + 'state of aggregation $': function stateOfAggregation$(input) { + // ... or crystal system + var a = mhchemParser.patterns.findObserveGroups(input, "", /^\([a-z]{1,3}(?=[\),])/, ")", ""); // (aq), (aq,$\infty$), (aq, sat) + + if (a && a.remainder.match(/^($|[\s,;\)\]\}])/)) { + return a; + } // AND end of 'phrase' + + + var m = input.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/); // OR crystal system ($o$) (\ca$c$) + + if (m) { + return { + match_: m[0], + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + '_{(state of aggregation)}$': /^_\{(\([a-z]{1,3}\))\}/, + '{[(': /^(?:\\\{|\[|\()/, + ')]}': /^(?:\)|\]|\\\})/, + ', ': /^[,;]\s*/, + ',': /^[,;]/, + '.': /^[.]/, + '. ': /^([.\u22C5\u00B7\u2022])\s*/, + '...': /^\.\.\.(?=$|[^.])/, + '* ': /^([*])\s*/, + '^{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "^{", "", "", "}"); + }, + '^($...$)': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", "$", "$", ""); + }, + '^a': /^\^([0-9]+|[^\\_])/, + '^\\x{}{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '^\\x{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '^\\x': /^\^(\\[a-zA-Z]+)\s*/, + '^(-1)': /^\^(-?\d+)/, + '\'': /^'/, + '_{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "_{", "", "", "}"); + }, + '_($...$)': function _$$(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", "$", "$", ""); + }, + '_9': /^_([+\-]?[0-9]+|[^\\])/, + '_\\x{}{}': function _X(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '_\\x{}': function _X(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '_\\x': /^_(\\[a-zA-Z]+)\s*/, + '^_': /^(?:\^(?=_)|\_(?=\^)|[\^_]$)/, + '{}': /^\{\}/, + '{...}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "", "{", "}", ""); + }, + '{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "{", "", "", "}"); + }, + '$...$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + }, + '${(...)}$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "${", "", "", "}$"); + }, + '$(...)$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "$", "", "", "$"); + }, + '=<>': /^[=<>]/, + '#': /^[#\u2261]/, + '+': /^\+/, + '-$': /^-(?=[\s_},;\]/]|$|\([a-z]+\))/, + // -space -, -; -] -/ -$ -state-of-aggregation + '-9': /^-(?=[0-9])/, + '- orbital overlap': /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/, + '-': /^-/, + 'pm-operator': /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/, + 'operator': /^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/, + 'arrowUpDown': /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/, + '\\bond{(...)}': function bond(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\bond{", "", "", "}"); + }, + '->': /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/, + 'CMT': /^[CMT](?=\[)/, + '[(...)]': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "[", "", "", "]"); + }, + '1st-level escape': /^(&|\\\\|\\hline)\s*/, + '\\,': /^(?:\\[,\ ;:])/, + // \\x - but output no space before + '\\x{}{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '\\x{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '\\ca': /^\\ca(?:\s+|(?![a-zA-Z]))/, + '\\x': /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/, + 'orbital': /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/, + // only those with numbers in front, because the others will be formatted correctly anyway + 'others': /^[\/~|]/, + '\\frac{(...)}': function frac(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\frac{", "", "", "}", "{", "", "", "}"); + }, + '\\overset{(...)}': function overset(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\overset{", "", "", "}", "{", "", "", "}"); + }, + "\\underset{(...)}": function underset(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\underset{", "", "", "}", "{", "", "", "}"); + }, + "\\underbrace{(...)}": function underbrace(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\underbrace{", "", "", "}_", "{", "", "", "}"); + }, + '\\color{(...)}0': function color0(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}"); + }, + '\\color{(...)}{(...)}1': function color1(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}", "{", "", "", "}"); + }, + '\\color(...){(...)}2': function color2(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color", "\\", "", /^(?=\{)/, "{", "", "", "}"); + }, + '\\ce{(...)}': function ce(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\ce{", "", "", "}"); + }, + 'oxidation$': /^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + 'd-oxidation$': /^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + // 0 could be oxidation or charge + 'roman numeral': /^[IVX]+/, + '1/2$': /^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/, + 'amount': function amount(input) { + var match; // e.g. 2, 0.5, 1/2, -2, n/2, +; $a$ could be added later in parsing + + match = input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + + var a = mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + + if (a) { + // e.g. $2n-1$, $-$ + match = a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + } + + return null; + }, + 'amount2': function amount2(input) { + return this['amount'](input); + }, + '(KV letters),': /^(?:[A-Z][a-z]{0,2}|i)(?=,)/, + 'formula$': function formula$(input) { + if (input.match(/^\([a-z]+\)$/)) { + return null; + } // state of aggregation = no formula + + + var match = input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + + return null; + }, + 'uprightEntities': /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/, + '/': /^\s*(\/)\s*/, + '//': /^\s*(\/\/)\s*/, + '*': /^\s*[*.]\s*/ + }, + findObserveGroups: function findObserveGroups(input, begExcl, begIncl, endIncl, endExcl, beg2Excl, beg2Incl, end2Incl, end2Excl, combine) { + /** @type {{(input: string, pattern: string | RegExp): string | string[] | null;}} */ + var _match = function _match(input, pattern) { + if (typeof pattern === "string") { + if (input.indexOf(pattern) !== 0) { + return null; + } + + return pattern; + } else { + var match = input.match(pattern); + + if (!match) { + return null; + } + + return match[0]; + } + }; + /** @type {{(input: string, i: number, endChars: string | RegExp): {endMatchBegin: number, endMatchEnd: number} | null;}} */ + + + var _findObserveGroups = function _findObserveGroups(input, i, endChars) { + var braces = 0; + + while (i < input.length) { + var a = input.charAt(i); + + var match = _match(input.substr(i), endChars); + + if (match !== null && braces === 0) { + return { + endMatchBegin: i, + endMatchEnd: i + match.length + }; + } else if (a === "{") { + braces++; + } else if (a === "}") { + if (braces === 0) { + throw ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"]; + } else { + braces--; + } + } + + i++; + } + + if (braces > 0) { + return null; + } + + return null; + }; + + var match = _match(input, begExcl); + + if (match === null) { + return null; + } + + input = input.substr(match.length); + match = _match(input, begIncl); + + if (match === null) { + return null; + } + + var e = _findObserveGroups(input, match.length, endIncl || endExcl); + + if (e === null) { + return null; + } + + var match1 = input.substring(0, endIncl ? e.endMatchEnd : e.endMatchBegin); + + if (!(beg2Excl || beg2Incl)) { + return { + match_: match1, + remainder: input.substr(e.endMatchEnd) + }; + } else { + var group2 = this.findObserveGroups(input.substr(e.endMatchEnd), beg2Excl, beg2Incl, end2Incl, end2Excl); + + if (group2 === null) { + return null; + } + /** @type {string[]} */ + + + var matchRet = [match1, group2.match_]; + return { + match_: combine ? matchRet.join("") : matchRet, + remainder: group2.remainder + }; + } + }, + // + // Matching function + // e.g. match("a", input) will look for the regexp called "a" and see if it matches + // returns null or {match_:"a", remainder:"bc"} + // + match_: function match_(m, input) { + var pattern = mhchemParser.patterns.patterns[m]; + + if (pattern === undefined) { + throw ["MhchemBugP", "mhchem bug P. Please report. (" + m + ")"]; // Trying to use non-existing pattern + } else if (typeof pattern === "function") { + return mhchemParser.patterns.patterns[m](input); // cannot use cached var pattern here, because some pattern functions need this===mhchemParser + } else { + // RegExp + var match = input.match(pattern); + + if (match) { + var mm; + + if (match[2]) { + mm = [match[1], match[2]]; + } else if (match[1]) { + mm = match[1]; + } else { + mm = match[0]; + } + + return { + match_: mm, + remainder: input.substr(match[0].length) + }; + } + + return null; + } + } + }, + // + // Generic state machine actions + // + actions: { + 'a=': function a(buffer, m) { + buffer.a = (buffer.a || "") + m; + }, + 'b=': function b(buffer, m) { + buffer.b = (buffer.b || "") + m; + }, + 'p=': function p(buffer, m) { + buffer.p = (buffer.p || "") + m; + }, + 'o=': function o(buffer, m) { + buffer.o = (buffer.o || "") + m; + }, + 'q=': function q(buffer, m) { + buffer.q = (buffer.q || "") + m; + }, + 'd=': function d(buffer, m) { + buffer.d = (buffer.d || "") + m; + }, + 'rm=': function rm(buffer, m) { + buffer.rm = (buffer.rm || "") + m; + }, + 'text=': function text(buffer, m) { + buffer.text_ = (buffer.text_ || "") + m; + }, + 'insert': function insert(buffer, m, a) { + return { + type_: a + }; + }, + 'insert+p1': function insertP1(buffer, m, a) { + return { + type_: a, + p1: m + }; + }, + 'insert+p1+p2': function insertP1P2(buffer, m, a) { + return { + type_: a, + p1: m[0], + p2: m[1] + }; + }, + 'copy': function copy(buffer, m) { + return m; + }, + 'rm': function rm(buffer, m) { + return { + type_: 'rm', + p1: m || "" + }; + }, + 'text': function text(buffer, m) { + return mhchemParser.go(m, 'text'); + }, + '{text}': function text(buffer, m) { + var ret = ["{"]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'text')); + ret.push("}"); + return ret; + }, + 'tex-math': function texMath(buffer, m) { + return mhchemParser.go(m, 'tex-math'); + }, + 'tex-math tight': function texMathTight(buffer, m) { + return mhchemParser.go(m, 'tex-math tight'); + }, + 'bond': function bond(buffer, m, k) { + return { + type_: 'bond', + kind_: k || m + }; + }, + 'color0-output': function color0Output(buffer, m) { + return { + type_: 'color0', + color: m[0] + }; + }, + 'ce': function ce(buffer, m) { + return mhchemParser.go(m); + }, + '1/2': function _(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m.match(/^[+\-]/)) { + ret.push(m.substr(0, 1)); + m = m.substr(1); + } + + var n = m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/); + n[1] = n[1].replace(/\$/g, ""); + ret.push({ + type_: 'frac', + p1: n[1], + p2: n[2] + }); + + if (n[3]) { + n[3] = n[3].replace(/\$/g, ""); + ret.push({ + type_: 'tex-math', + p1: n[3] + }); + } + + return ret; + }, + '9,9': function _(buffer, m) { + return mhchemParser.go(m, '9,9'); + } + }, + // + // createTransitions + // convert { 'letter': { 'state': { action_: 'output' } } } to { 'state' => [ { pattern: 'letter', task: { action_: [{type_: 'output'}] } } ] } + // with expansion of 'a|b' to 'a' and 'b' (at 2 places) + // + createTransitions: function createTransitions(o) { + var pattern, state; + /** @type {string[]} */ + + var stateArray; + var i; // + // 1. Collect all states + // + + /** @type {Transitions} */ + + var transitions = {}; + + for (pattern in o) { + for (state in o[pattern]) { + stateArray = state.split("|"); + o[pattern][state].stateArray = stateArray; + + for (i = 0; i < stateArray.length; i++) { + transitions[stateArray[i]] = []; + } + } + } // + // 2. Fill states + // + + + for (pattern in o) { + for (state in o[pattern]) { + stateArray = o[pattern][state].stateArray || []; + + for (i = 0; i < stateArray.length; i++) { + // + // 2a. Normalize actions into array: 'text=' ==> [{type_:'text='}] + // (Note to myself: Resolving the function here would be problematic. It would need .bind (for *this*) and currying (for *option*).) + // + + /** @type {any} */ + var p = o[pattern][state]; + + if (p.action_) { + p.action_ = [].concat(p.action_); + + for (var k = 0; k < p.action_.length; k++) { + if (typeof p.action_[k] === "string") { + p.action_[k] = { + type_: p.action_[k] + }; + } + } + } else { + p.action_ = []; + } // + // 2.b Multi-insert + // + + + var patternArray = pattern.split("|"); + + for (var j = 0; j < patternArray.length; j++) { + if (stateArray[i] === '*') { + // insert into all + for (var t in transitions) { + transitions[t].push({ + pattern: patternArray[j], + task: p + }); + } + } else { + transitions[stateArray[i]].push({ + pattern: patternArray[j], + task: p + }); + } + } + } + } + } + + return transitions; + }, + stateMachines: {} +}; // +// Definition of state machines +// + +mhchemParser.stateMachines = { + // + // \ce state machines + // + //#region ce + 'ce': { + // main parser + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + 'else': { + '0|1|2': { + action_: 'beginsWithBond=false', + revisit: true, + toContinue: true + } + }, + 'oxidation$': { + '0': { + action_: 'oxidation-output' + } + }, + 'CMT': { + 'r': { + action_: 'rdt=', + nextState: 'rt' + }, + 'rd': { + action_: 'rqt=', + nextState: 'rdt' + } + }, + 'arrowUpDown': { + '0|1|2|as': { + action_: ['sb=false', 'output', 'operator'], + nextState: '1' + } + }, + 'uprightEntities': { + '0|1|2': { + action_: ['o=', 'output'], + nextState: '1' + } + }, + 'orbital': { + '0|1|2|3': { + action_: 'o=', + nextState: 'o' + } + }, + '->': { + '0|1|2|3': { + action_: 'r=', + nextState: 'r' + }, + 'a|as': { + action_: ['output', 'r='], + nextState: 'r' + }, + '*': { + action_: ['output', 'r='], + nextState: 'r' + } + }, + '+': { + 'o': { + action_: 'd= kv', + nextState: 'd' + }, + 'd|D': { + action_: 'd=', + nextState: 'd' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'qd|qD': { + action_: 'd=', + nextState: 'qd' + }, + 'dq': { + action_: ['output', 'd='], + nextState: 'd' + }, + '3': { + action_: ['sb=false', 'output', 'operator'], + nextState: '0' + } + }, + 'amount': { + '0|2': { + action_: 'a=', + nextState: 'a' + } + }, + 'pm-operator': { + '0|1|2|a|as': { + action_: ['sb=false', 'output', { + type_: 'operator', + option: '\\pm' + }], + nextState: '0' + } + }, + 'operator': { + '0|1|2|a|as': { + action_: ['sb=false', 'output', 'operator'], + nextState: '0' + } + }, + '-$': { + 'o|q': { + action_: ['charge or bond', 'output'], + nextState: 'qd' + }, + 'd': { + action_: 'd=', + nextState: 'd' + }, + 'D': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'qd': { + action_: 'd=', + nextState: 'qd' + }, + 'qD|dq': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + } + }, + '-9': { + '3|o': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '3' + } + }, + '- orbital overlap': { + 'o': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + }, + 'd': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + } + }, + '-': { + '0|1|2': { + action_: [{ + type_: 'output', + option: 1 + }, 'beginsWithBond=true', { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + '3': { + action_: { + type_: 'bond', + option: "-" + } + }, + 'a': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + }, + 'as': { + action_: [{ + type_: 'output', + option: 2 + }, { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + 'b': { + action_: 'b=' + }, + 'o': { + action_: { + type_: '- after o/d', + option: false + }, + nextState: '2' + }, + 'q': { + action_: { + type_: '- after o/d', + option: false + }, + nextState: '2' + }, + 'd|qd|dq': { + action_: { + type_: '- after o/d', + option: true + }, + nextState: '2' + }, + 'D|qD|p': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + } + }, + 'amount2': { + '1|3': { + action_: 'a=', + nextState: 'a' + } + }, + 'letters': { + '0|1|2|3|a|as|b|p|bp|o': { + action_: 'o=', + nextState: 'o' + }, + 'q|dq': { + action_: ['output', 'o='], + nextState: 'o' + }, + 'd|D|qd|qD': { + action_: 'o after d', + nextState: 'o' + } + }, + 'digits': { + 'o': { + action_: 'q=', + nextState: 'q' + }, + 'd|D': { + action_: 'q=', + nextState: 'dq' + }, + 'q': { + action_: ['output', 'o='], + nextState: 'o' + }, + 'a': { + action_: 'o=', + nextState: 'o' + } + }, + 'space A': { + 'b|p|bp': {} + }, + 'space': { + 'a': { + nextState: 'as' + }, + '0': { + action_: 'sb=false' + }, + '1|2': { + action_: 'sb=true' + }, + 'r|rt|rd|rdt|rdq': { + action_: 'output', + nextState: '0' + }, + '*': { + action_: ['output', 'sb=true'], + nextState: '1' + } + }, + '1st-level escape': { + '1|2': { + action_: ['output', { + type_: 'insert+p1', + option: '1st-level escape' + }] + }, + '*': { + action_: ['output', { + type_: 'insert+p1', + option: '1st-level escape' + }], + nextState: '0' + } + }, + '[(...)]': { + 'r|rt': { + action_: 'rd=', + nextState: 'rd' + }, + 'rd|rdt': { + action_: 'rq=', + nextState: 'rdq' + } + }, + '...': { + 'o|d|D|dq|qd|qD': { + action_: ['output', { + type_: 'bond', + option: "..." + }], + nextState: '3' + }, + '*': { + action_: [{ + type_: 'output', + option: 1 + }, { + type_: 'insert', + option: 'ellipsis' + }], + nextState: '1' + } + }, + '. |* ': { + '*': { + action_: ['output', { + type_: 'insert', + option: 'addition compound' + }], + nextState: '1' + } + }, + 'state of aggregation $': { + '*': { + action_: ['output', 'state of aggregation'], + nextState: '1' + } + }, + '{[(': { + 'a|as|o': { + action_: ['o=', 'output', 'parenthesisLevel++'], + nextState: '2' + }, + '0|1|2|3': { + action_: ['o=', 'output', 'parenthesisLevel++'], + nextState: '2' + }, + '*': { + action_: ['output', 'o=', 'output', 'parenthesisLevel++'], + nextState: '2' + } + }, + ')]}': { + '0|1|2|3|b|p|bp|o': { + action_: ['o=', 'parenthesisLevel--'], + nextState: 'o' + }, + 'a|as|d|D|q|qd|qD|dq': { + action_: ['output', 'o=', 'parenthesisLevel--'], + nextState: 'o' + } + }, + ', ': { + '*': { + action_: ['output', 'comma'], + nextState: '0' + } + }, + '^_': { + // ^ and _ without a sensible argument + '*': {} + }, + '^{(...)}|^($...$)': { + '0|1|2|as': { + action_: 'b=', + nextState: 'b' + }, + 'p': { + action_: 'b=', + nextState: 'bp' + }, + '3|o': { + action_: 'd= kv', + nextState: 'D' + }, + 'q': { + action_: 'd=', + nextState: 'qD' + }, + 'd|D|qd|qD|dq': { + action_: ['output', 'd='], + nextState: 'D' + } + }, + '^a|^\\x{}{}|^\\x{}|^\\x|\'': { + '0|1|2|as': { + action_: 'b=', + nextState: 'b' + }, + 'p': { + action_: 'b=', + nextState: 'bp' + }, + '3|o': { + action_: 'd= kv', + nextState: 'd' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'd|qd|D|qD': { + action_: 'd=' + }, + 'dq': { + action_: ['output', 'd='], + nextState: 'd' + } + }, + '_{(state of aggregation)}$': { + 'd|D|q|qd|qD|dq': { + action_: ['output', 'q='], + nextState: 'q' + } + }, + '_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x': { + '0|1|2|as': { + action_: 'p=', + nextState: 'p' + }, + 'b': { + action_: 'p=', + nextState: 'bp' + }, + '3|o': { + action_: 'q=', + nextState: 'q' + }, + 'd|D': { + action_: 'q=', + nextState: 'dq' + }, + 'q|qd|qD|dq': { + action_: ['output', 'q='], + nextState: 'q' + } + }, + '=<>': { + '0|1|2|3|a|as|o|q|d|D|qd|qD|dq': { + action_: [{ + type_: 'output', + option: 2 + }, 'bond'], + nextState: '3' + } + }, + '#': { + '0|1|2|3|a|as|o': { + action_: [{ + type_: 'output', + option: 2 + }, { + type_: 'bond', + option: "#" + }], + nextState: '3' + } + }, + '{}': { + '*': { + action_: { + type_: 'output', + option: 1 + }, + nextState: '1' + } + }, + '{...}': { + '0|1|2|3|a|as|b|p|bp': { + action_: 'o=', + nextState: 'o' + }, + 'o|d|D|q|qd|qD|dq': { + action_: ['output', 'o='], + nextState: 'o' + } + }, + '$...$': { + 'a': { + action_: 'a=' + }, + // 2$n$ + '0|1|2|3|as|b|p|bp|o': { + action_: 'o=', + nextState: 'o' + }, + // not 'amount' + 'as|o': { + action_: 'o=' + }, + 'q|d|D|qd|qD|dq': { + action_: ['output', 'o='], + nextState: 'o' + } + }, + '\\bond{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'bond'], + nextState: "3" + } + }, + '\\frac{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'frac-output'], + nextState: '3' + } + }, + '\\overset{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'overset-output'], + nextState: '3' + } + }, + "\\underset{(...)}": { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'underset-output'], + nextState: '3' + } + }, + "\\underbrace{(...)}": { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'underbrace-output'], + nextState: '3' + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'color-output'], + nextState: '3' + } + }, + '\\color{(...)}0': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'color0-output'] + } + }, + '\\ce{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'ce'], + nextState: '3' + } + }, + '\\,': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'copy'], + nextState: '1' + } + }, + '\\x{}{}|\\x{}|\\x': { + '0|1|2|3|a|as|b|p|bp|o|c0': { + action_: ['o=', 'output'], + nextState: '3' + }, + '*': { + action_: ['output', 'o=', 'output'], + nextState: '3' + } + }, + 'others': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'copy'], + nextState: '3' + } + }, + 'else2': { + 'a': { + action_: 'a to o', + nextState: 'o', + revisit: true + }, + 'as': { + action_: ['output', 'sb=true'], + nextState: '1', + revisit: true + }, + 'r|rt|rd|rdt|rdq': { + action_: ['output'], + nextState: '0', + revisit: true + }, + '*': { + action_: ['output', 'copy'], + nextState: '3' + } + } + }), + actions: { + 'o after d': function oAfterD(buffer, m) { + var ret; + + if ((buffer.d || "").match(/^[0-9]+$/)) { + var tmp = buffer.d; + buffer.d = undefined; + ret = this['output'](buffer); + buffer.b = tmp; + } else { + ret = this['output'](buffer); + } + + mhchemParser.actions['o='](buffer, m); + return ret; + }, + 'd= kv': function dKv(buffer, m) { + buffer.d = m; + buffer.dType = 'kv'; + }, + 'charge or bond': function chargeOrBond(buffer, m) { + if (buffer['beginsWithBond']) { + /** @type {ParserOutput[]} */ + var ret = []; + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + return ret; + } else { + buffer.d = m; + } + }, + '- after o/d': function afterOD(buffer, m, isAfterD) { + var c1 = mhchemParser.patterns.match_('orbital', buffer.o || ""); + var c2 = mhchemParser.patterns.match_('one lowercase greek letter $', buffer.o || ""); + var c3 = mhchemParser.patterns.match_('one lowercase latin letter $', buffer.o || ""); + var c4 = mhchemParser.patterns.match_('$one lowercase latin letter$ $', buffer.o || ""); + var hyphenFollows = m === "-" && (c1 && c1.remainder === "" || c2 || c3 || c4); + + if (hyphenFollows && !buffer.a && !buffer.b && !buffer.p && !buffer.d && !buffer.q && !c1 && c3) { + buffer.o = '$' + buffer.o + '$'; + } + /** @type {ParserOutput[]} */ + + + var ret = []; + + if (hyphenFollows) { + mhchemParser.concatArray(ret, this['output'](buffer)); + ret.push({ + type_: 'hyphen' + }); + } else { + c1 = mhchemParser.patterns.match_('digits', buffer.d || ""); + + if (isAfterD && c1 && c1.remainder === '') { + mhchemParser.concatArray(ret, mhchemParser.actions['d='](buffer, m)); + mhchemParser.concatArray(ret, this['output'](buffer)); + } else { + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + } + } + + return ret; + }, + 'a to o': function aToO(buffer) { + buffer.o = buffer.a; + buffer.a = undefined; + }, + 'sb=true': function sbTrue(buffer) { + buffer.sb = true; + }, + 'sb=false': function sbFalse(buffer) { + buffer.sb = false; + }, + 'beginsWithBond=true': function beginsWithBondTrue(buffer) { + buffer['beginsWithBond'] = true; + }, + 'beginsWithBond=false': function beginsWithBondFalse(buffer) { + buffer['beginsWithBond'] = false; + }, + 'parenthesisLevel++': function parenthesisLevel(buffer) { + buffer['parenthesisLevel']++; + }, + 'parenthesisLevel--': function parenthesisLevel(buffer) { + buffer['parenthesisLevel']--; + }, + 'state of aggregation': function stateOfAggregation(buffer, m) { + return { + type_: 'state of aggregation', + p1: mhchemParser.go(m, 'o') + }; + }, + 'comma': function comma(buffer, m) { + var a = m.replace(/\s*$/, ''); + var withSpace = a !== m; + + if (withSpace && buffer['parenthesisLevel'] === 0) { + return { + type_: 'comma enumeration L', + p1: a + }; + } else { + return { + type_: 'comma enumeration M', + p1: a + }; + } + }, + 'output': function output(buffer, m, entityFollows) { + // entityFollows: + // undefined = if we have nothing else to output, also ignore the just read space (buffer.sb) + // 1 = an entity follows, never omit the space if there was one just read before (can only apply to state 1) + // 2 = 1 + the entity can have an amount, so output a\, instead of converting it to o (can only apply to states a|as) + + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + + if (!buffer.r) { + ret = []; + + if (!buffer.a && !buffer.b && !buffer.p && !buffer.o && !buffer.q && !buffer.d && !entityFollows) {//ret = []; + } else { + if (buffer.sb) { + ret.push({ + type_: 'entitySkip' + }); + } + + if (!buffer.o && !buffer.q && !buffer.d && !buffer.b && !buffer.p && entityFollows !== 2) { + buffer.o = buffer.a; + buffer.a = undefined; + } else if (!buffer.o && !buffer.q && !buffer.d && (buffer.b || buffer.p)) { + buffer.o = buffer.a; + buffer.d = buffer.b; + buffer.q = buffer.p; + buffer.a = buffer.b = buffer.p = undefined; + } else { + if (buffer.o && buffer.dType === 'kv' && mhchemParser.patterns.match_('d-oxidation$', buffer.d || "")) { + buffer.dType = 'oxidation'; + } else if (buffer.o && buffer.dType === 'kv' && !buffer.q) { + buffer.dType = undefined; + } + } + + ret.push({ + type_: 'chemfive', + a: mhchemParser.go(buffer.a, 'a'), + b: mhchemParser.go(buffer.b, 'bd'), + p: mhchemParser.go(buffer.p, 'pq'), + o: mhchemParser.go(buffer.o, 'o'), + q: mhchemParser.go(buffer.q, 'pq'), + d: mhchemParser.go(buffer.d, buffer.dType === 'oxidation' ? 'oxidation' : 'bd'), + dType: buffer.dType + }); + } + } else { + // r + + /** @type {ParserOutput[]} */ + var rd; + + if (buffer.rdt === 'M') { + rd = mhchemParser.go(buffer.rd, 'tex-math'); + } else if (buffer.rdt === 'T') { + rd = [{ + type_: 'text', + p1: buffer.rd || "" + }]; + } else { + rd = mhchemParser.go(buffer.rd); + } + /** @type {ParserOutput[]} */ + + + var rq; + + if (buffer.rqt === 'M') { + rq = mhchemParser.go(buffer.rq, 'tex-math'); + } else if (buffer.rqt === 'T') { + rq = [{ + type_: 'text', + p1: buffer.rq || "" + }]; + } else { + rq = mhchemParser.go(buffer.rq); + } + + ret = { + type_: 'arrow', + r: buffer.r, + rd: rd, + rq: rq + }; + } + + for (var p in buffer) { + if (p !== 'parenthesisLevel' && p !== 'beginsWithBond') { + delete buffer[p]; + } + } + + return ret; + }, + 'oxidation-output': function oxidationOutput(buffer, m) { + var ret = ["{"]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'oxidation')); + ret.push("}"); + return ret; + }, + 'frac-output': function fracOutput(buffer, m) { + return { + type_: 'frac-ce', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'overset-output': function oversetOutput(buffer, m) { + return { + type_: 'overset', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'underset-output': function undersetOutput(buffer, m) { + return { + type_: 'underset', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'underbrace-output': function underbraceOutput(buffer, m) { + return { + type_: 'underbrace', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1]) + }; + }, + 'r=': function r(buffer, m) { + buffer.r = m; + }, + 'rdt=': function rdt(buffer, m) { + buffer.rdt = m; + }, + 'rd=': function rd(buffer, m) { + buffer.rd = m; + }, + 'rqt=': function rqt(buffer, m) { + buffer.rqt = m; + }, + 'rq=': function rq(buffer, m) { + buffer.rq = m; + }, + 'operator': function operator(buffer, m, p1) { + return { + type_: 'operator', + kind_: p1 || m + }; + } + } + }, + 'a': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '1', + revisit: true + } + }, + '$(...)$': { + '*': { + action_: 'tex-math tight', + nextState: '1' + } + }, + ',': { + '*': { + action_: { + type_: 'insert', + option: 'commaDecimal' + } + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: {} + }, + 'o': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '1', + revisit: true + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '\\ca': { + '*': { + action_: { + type_: 'insert', + option: 'circa' + } + } + }, + '\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: '{text}' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: {} + }, + 'text': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '{...}': { + '*': { + action_: 'text=' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '\\greek': { + '*': { + action_: ['output', 'rm'] + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: ['output', 'copy'] + } + }, + 'else': { + '*': { + action_: 'text=' + } + } + }), + actions: { + 'output': function output(buffer) { + if (buffer.text_) { + /** @type {ParserOutput} */ + var ret = { + type_: 'text', + p1: buffer.text_ + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + 'pq': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'state of aggregation $': { + '*': { + action_: 'state of aggregation' + } + }, + 'i$': { + '0': { + nextState: '!f', + revisit: true + } + }, + '(KV letters),': { + '0': { + action_: 'rm', + nextState: '0' + } + }, + 'formula$': { + '0': { + nextState: 'f', + revisit: true + } + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '!f', + revisit: true + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: 'text' + } + }, + 'a-z': { + 'f': { + action_: 'tex-math' + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '-9.,9': { + '*': { + action_: '9,9' + } + }, + ',': { + '*': { + action_: { + type_: 'insert+p1', + option: 'comma enumeration S' + } + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: 'color-output' + } + }, + '\\color{(...)}0': { + '*': { + action_: 'color0-output' + } + }, + '\\ce{(...)}': { + '*': { + action_: 'ce' + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'state of aggregation': function stateOfAggregation(buffer, m) { + return { + type_: 'state of aggregation subscript', + p1: mhchemParser.go(m, 'o') + }; + }, + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1], 'pq') + }; + } + } + }, + 'bd': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'x$': { + '0': { + nextState: '!f', + revisit: true + } + }, + 'formula$': { + '0': { + nextState: 'f', + revisit: true + } + }, + 'else': { + '0': { + nextState: '!f', + revisit: true + } + }, + '-9.,9 no missing 0': { + '*': { + action_: '9,9' + } + }, + '.': { + '*': { + action_: { + type_: 'insert', + option: 'electron dot' + } + } + }, + 'a-z': { + 'f': { + action_: 'tex-math' + } + }, + 'x': { + '*': { + action_: { + type_: 'insert', + option: 'KV x' + } + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '\'': { + '*': { + action_: { + type_: 'insert', + option: 'prime' + } + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: 'text' + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: 'color-output' + } + }, + '\\color{(...)}0': { + '*': { + action_: 'color0-output' + } + }, + '\\ce{(...)}': { + '*': { + action_: 'ce' + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1], 'bd') + }; + } + } + }, + 'oxidation': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'roman numeral': { + '*': { + action_: 'roman-numeral' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + 'else': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'roman-numeral': function romanNumeral(buffer, m) { + return { + type_: 'roman numeral', + p1: m || "" + }; + } + } + }, + 'tex-math': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '\\ce{(...)}': { + '*': { + action_: ['output', 'ce'] + } + }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'o=' + } + }, + 'else': { + '*': { + action_: 'o=' + } + } + }), + actions: { + 'output': function output(buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { + type_: 'tex-math', + p1: buffer.o + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + 'tex-math tight': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '\\ce{(...)}': { + '*': { + action_: ['output', 'ce'] + } + }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'o=' + } + }, + '-|+': { + '*': { + action_: 'tight operator' + } + }, + 'else': { + '*': { + action_: 'o=' + } + } + }), + actions: { + 'tight operator': function tightOperator(buffer, m) { + buffer.o = (buffer.o || "") + "{" + m + "}"; + }, + 'output': function output(buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { + type_: 'tex-math', + p1: buffer.o + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + '9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + ',': { + '*': { + action_: 'comma' + } + }, + 'else': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'comma': function comma() { + return { + type_: 'commaDecimal' + }; + } + } + }, + //#endregion + // + // \pu state machines + // + //#region pu + 'pu': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + 'space$': { + '*': { + action_: ['output', 'space'] + } + }, + '{[(|)]}': { + '0|a': { + action_: 'copy' + } + }, + '(-)(9)^(-9)': { + '0': { + action_: 'number^', + nextState: 'a' + } + }, + '(-)(9.,9)(e)(99)': { + '0': { + action_: 'enumber', + nextState: 'a' + } + }, + 'space': { + '0|a': {} + }, + 'pm-operator': { + '0|a': { + action_: { + type_: 'operator', + option: '\\pm' + }, + nextState: '0' + } + }, + 'operator': { + '0|a': { + action_: 'copy', + nextState: '0' + } + }, + '//': { + 'd': { + action_: 'o=', + nextState: '/' + } + }, + '/': { + 'd': { + action_: 'o=', + nextState: '/' + } + }, + '{...}|else': { + '0|d': { + action_: 'd=', + nextState: 'd' + }, + 'a': { + action_: ['space', 'd='], + nextState: 'd' + }, + '/|q': { + action_: 'q=', + nextState: 'q' + } + } + }), + actions: { + 'enumber': function enumber(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + + if (m[1]) { + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + + if (m[2]) { + if (m[2].match(/[,.]/)) { + mhchemParser.concatArray(ret, mhchemParser.go(m[2], 'pu-9,9')); + } else { + ret.push(m[2]); + } + } + + m[3] = m[4] || m[3]; + + if (m[3]) { + m[3] = m[3].trim(); + + if (m[3] === "e" || m[3].substr(0, 1) === "*") { + ret.push({ + type_: 'cdot' + }); + } else { + ret.push({ + type_: 'times' + }); + } + } + } + + if (m[3]) { + ret.push("10^{" + m[5] + "}"); + } + + return ret; + }, + 'number^': function number(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + ret.push("^{" + m[2] + "}"); + return ret; + }, + 'operator': function operator(buffer, m, p1) { + return { + type_: 'operator', + kind_: p1 || m + }; + }, + 'space': function space() { + return { + type_: 'pu-space-1' + }; + }, + 'output': function output(buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + var md = mhchemParser.patterns.match_('{(...)}', buffer.d || ""); + + if (md && md.remainder === '') { + buffer.d = md.match_; + } + + var mq = mhchemParser.patterns.match_('{(...)}', buffer.q || ""); + + if (mq && mq.remainder === '') { + buffer.q = mq.match_; + } + + if (buffer.d) { + buffer.d = buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.d = buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + } + + if (buffer.q) { + // fraction + buffer.q = buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.q = buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + var b5 = { + d: mhchemParser.go(buffer.d, 'pu'), + q: mhchemParser.go(buffer.q, 'pu') + }; + + if (buffer.o === '//') { + ret = { + type_: 'pu-frac', + p1: b5.d, + p2: b5.q + }; + } else { + ret = b5.d; + + if (b5.d.length > 1 || b5.q.length > 1) { + ret.push({ + type_: ' / ' + }); + } else { + ret.push({ + type_: '/' + }); + } + + mhchemParser.concatArray(ret, b5.q); + } + } else { + // no fraction + ret = mhchemParser.go(buffer.d, 'pu-2'); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + }, + 'pu-2': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '*': { + '*': { + action_: ['output', 'cdot'], + nextState: '0' + } + }, + '\\x': { + '*': { + action_: 'rm=' + } + }, + 'space': { + '*': { + action_: ['output', 'space'], + nextState: '0' + } + }, + '^{(...)}|^(-1)': { + '1': { + action_: '^(-1)' + } + }, + '-9.,9': { + '0': { + action_: 'rm=', + nextState: '0' + }, + '1': { + action_: '^(-1)', + nextState: '0' + } + }, + '{...}|else': { + '*': { + action_: 'rm=', + nextState: '1' + } + } + }), + actions: { + 'cdot': function cdot() { + return { + type_: 'tight cdot' + }; + }, + '^(-1)': function _(buffer, m) { + buffer.rm += "^{" + m + "}"; + }, + 'space': function space() { + return { + type_: 'pu-space-2' + }; + }, + 'output': function output(buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret = []; + + if (buffer.rm) { + var mrm = mhchemParser.patterns.match_('{(...)}', buffer.rm || ""); + + if (mrm && mrm.remainder === '') { + ret = mhchemParser.go(mrm.match_, 'pu'); + } else { + ret = { + type_: 'rm', + p1: buffer.rm + }; + } + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + }, + 'pu-9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '0': { + action_: 'output-0' + }, + 'o': { + action_: 'output-o' + } + }, + ',': { + '0': { + action_: ['output-0', 'comma'], + nextState: 'o' + } + }, + '.': { + '0': { + action_: ['output-0', 'copy'], + nextState: 'o' + } + }, + 'else': { + '*': { + action_: 'text=' + } + } + }), + actions: { + 'comma': function comma() { + return { + type_: 'commaDecimal' + }; + }, + 'output-0': function output0(buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + + if (buffer.text_.length > 4) { + var a = buffer.text_.length % 3; + + if (a === 0) { + a = 3; + } + + for (var i = buffer.text_.length - 3; i > 0; i -= 3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ + type_: '1000 separator' + }); + } + + ret.push(buffer.text_.substr(0, a)); + ret.reverse(); + } else { + ret.push(buffer.text_); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + }, + 'output-o': function outputO(buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + + if (buffer.text_.length > 4) { + var a = buffer.text_.length - 3; + + for (var i = 0; i < a; i += 3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ + type_: '1000 separator' + }); + } + + ret.push(buffer.text_.substr(i)); + } else { + ret.push(buffer.text_); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } //#endregion + + } +}; // +// texify: Take MhchemParser output and convert it to TeX +// + +/** @type {Texify} */ + +var texify = { + go: function go(input, isInner) { + // (recursive, max 4 levels) + if (!input) { + return ""; + } + + var res = ""; + var cee = false; + + for (var i = 0; i < input.length; i++) { + var inputi = input[i]; + + if (typeof inputi === "string") { + res += inputi; + } else { + res += texify._go2(inputi); + + if (inputi.type_ === '1st-level escape') { + cee = true; + } + } + } + + if (!isInner && !cee && res) { + res = "{" + res + "}"; + } + + return res; + }, + _goInner: function _goInner(input) { + if (!input) { + return input; + } + + return texify.go(input, true); + }, + _go2: function _go2(buf) { + /** @type {undefined | string} */ + var res; + + switch (buf.type_) { + case 'chemfive': + res = ""; + var b5 = { + a: texify._goInner(buf.a), + b: texify._goInner(buf.b), + p: texify._goInner(buf.p), + o: texify._goInner(buf.o), + q: texify._goInner(buf.q), + d: texify._goInner(buf.d) + }; // + // a + // + + if (b5.a) { + if (b5.a.match(/^[+\-]/)) { + b5.a = "{" + b5.a + "}"; + } + + res += b5.a + "\\,"; + } // + // b and p + // + + + if (b5.b || b5.p) { + res += "{\\vphantom{X}}"; + res += "^{\\hphantom{" + (b5.b || "") + "}}_{\\hphantom{" + (b5.p || "") + "}}"; + res += "{\\vphantom{X}}"; + res += "^{\\smash[t]{\\vphantom{2}}\\mathllap{" + (b5.b || "") + "}}"; + res += "_{\\vphantom{2}\\mathllap{\\smash[t]{" + (b5.p || "") + "}}}"; + } // + // o + // + + + if (b5.o) { + if (b5.o.match(/^[+\-]/)) { + b5.o = "{" + b5.o + "}"; + } + + res += b5.o; + } // + // q and d + // + + + if (buf.dType === 'kv') { + if (b5.d || b5.q) { + res += "{\\vphantom{X}}"; + } + + if (b5.d) { + res += "^{" + b5.d + "}"; + } + + if (b5.q) { + res += "_{\\smash[t]{" + b5.q + "}}"; + } + } else if (buf.dType === 'oxidation') { + if (b5.d) { + res += "{\\vphantom{X}}"; + res += "^{" + b5.d + "}"; + } + + if (b5.q) { + res += "{\\vphantom{X}}"; + res += "_{\\smash[t]{" + b5.q + "}}"; + } + } else { + if (b5.q) { + res += "{\\vphantom{X}}"; + res += "_{\\smash[t]{" + b5.q + "}}"; + } + + if (b5.d) { + res += "{\\vphantom{X}}"; + res += "^{" + b5.d + "}"; + } + } + + break; + + case 'rm': + res = "\\mathrm{" + buf.p1 + "}"; + break; + + case 'text': + if (buf.p1.match(/[\^_]/)) { + buf.p1 = buf.p1.replace(" ", "~").replace("-", "\\text{-}"); + res = "\\mathrm{" + buf.p1 + "}"; + } else { + res = "\\text{" + buf.p1 + "}"; + } + + break; + + case 'roman numeral': + res = "\\mathrm{" + buf.p1 + "}"; + break; + + case 'state of aggregation': + res = "\\mskip2mu " + texify._goInner(buf.p1); + break; + + case 'state of aggregation subscript': + res = "\\mskip1mu " + texify._goInner(buf.p1); + break; + + case 'bond': + res = texify._getBond(buf.kind_); + + if (!res) { + throw ["MhchemErrorBond", "mhchem Error. Unknown bond type (" + buf.kind_ + ")"]; + } + + break; + + case 'frac': + var c = "\\frac{" + buf.p1 + "}{" + buf.p2 + "}"; + res = "\\mathchoice{\\textstyle" + c + "}{" + c + "}{" + c + "}{" + c + "}"; + break; + + case 'pu-frac': + var d = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + res = "\\mathchoice{\\textstyle" + d + "}{" + d + "}{" + d + "}{" + d + "}"; + break; + + case 'tex-math': + res = buf.p1 + " "; + break; + + case 'frac-ce': + res = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'overset': + res = "\\overset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'underset': + res = "\\underset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'underbrace': + res = "\\underbrace{" + texify._goInner(buf.p1) + "}_{" + texify._goInner(buf.p2) + "}"; + break; + + case 'color': + res = "{\\color{" + buf.color1 + "}{" + texify._goInner(buf.color2) + "}}"; + break; + + case 'color0': + res = "\\color{" + buf.color + "}"; + break; + + case 'arrow': + var b6 = { + rd: texify._goInner(buf.rd), + rq: texify._goInner(buf.rq) + }; + + var arrow = "\\x" + texify._getArrow(buf.r); + + if (b6.rq) { + arrow += "[{" + b6.rq + "}]"; + } + + if (b6.rd) { + arrow += "{" + b6.rd + "}"; + } else { + arrow += "{}"; + } + + res = arrow; + break; + + case 'operator': + res = texify._getOperator(buf.kind_); + break; + + case '1st-level escape': + res = buf.p1 + " "; // &, \\\\, \\hlin + + break; + + case 'space': + res = " "; + break; + + case 'entitySkip': + res = "~"; + break; + + case 'pu-space-1': + res = "~"; + break; + + case 'pu-space-2': + res = "\\mkern3mu "; + break; + + case '1000 separator': + res = "\\mkern2mu "; + break; + + case 'commaDecimal': + res = "{,}"; + break; + + case 'comma enumeration L': + res = "{" + buf.p1 + "}\\mkern6mu "; + break; + + case 'comma enumeration M': + res = "{" + buf.p1 + "}\\mkern3mu "; + break; + + case 'comma enumeration S': + res = "{" + buf.p1 + "}\\mkern1mu "; + break; + + case 'hyphen': + res = "\\text{-}"; + break; + + case 'addition compound': + res = "\\,{\\cdot}\\,"; + break; + + case 'electron dot': + res = "\\mkern1mu \\bullet\\mkern1mu "; + break; + + case 'KV x': + res = "{\\times}"; + break; + + case 'prime': + res = "\\prime "; + break; + + case 'cdot': + res = "\\cdot "; + break; + + case 'tight cdot': + res = "\\mkern1mu{\\cdot}\\mkern1mu "; + break; + + case 'times': + res = "\\times "; + break; + + case 'circa': + res = "{\\sim}"; + break; + + case '^': + res = "uparrow"; + break; + + case 'v': + res = "downarrow"; + break; + + case 'ellipsis': + res = "\\ldots "; + break; + + case '/': + res = "/"; + break; + + case ' / ': + res = "\\,/\\,"; + break; + + default: + assertNever(buf); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + // Missing texify rule or unknown MhchemParser output + } + + assertString(res); + return res; + }, + _getArrow: function _getArrow(a) { + switch (a) { + case "->": + return "rightarrow"; + + case "\u2192": + return "rightarrow"; + + case "\u27F6": + return "rightarrow"; + + case "<-": + return "leftarrow"; + + case "<->": + return "leftrightarrow"; + + case "<-->": + return "rightleftarrows"; + + case "<=>": + return "rightleftharpoons"; + + case "\u21CC": + return "rightleftharpoons"; + + case "<=>>": + return "rightequilibrium"; + + case "<<=>": + return "leftequilibrium"; + + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getBond: function _getBond(a) { + switch (a) { + case "-": + return "{-}"; + + case "1": + return "{-}"; + + case "=": + return "{=}"; + + case "2": + return "{=}"; + + case "#": + return "{\\equiv}"; + + case "3": + return "{\\equiv}"; + + case "~": + return "{\\tripledash}"; + + case "~-": + return "{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}"; + + case "~=": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}"; + + case "~--": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}"; + + case "-~-": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}"; + + case "...": + return "{{\\cdot}{\\cdot}{\\cdot}}"; + + case "....": + return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}"; + + case "->": + return "{\\rightarrow}"; + + case "<-": + return "{\\leftarrow}"; + + case "<": + return "{<}"; + + case ">": + return "{>}"; + + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getOperator: function _getOperator(a) { + switch (a) { + case "+": + return " {}+{} "; + + case "-": + return " {}-{} "; + + case "=": + return " {}={} "; + + case "<": + return " {}<{} "; + + case ">": + return " {}>{} "; + + case "<<": + return " {}\\ll{} "; + + case ">>": + return " {}\\gg{} "; + + case "\\pm": + return " {}\\pm{} "; + + case "\\approx": + return " {}\\approx{} "; + + case "$\\approx$": + return " {}\\approx{} "; + + case "v": + return " \\downarrow{} "; + + case "(v)": + return " \\downarrow{} "; + + case "^": + return " \\uparrow{} "; + + case "(^)": + return " \\uparrow{} "; + + default: + assertNever(a); + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + } +}; // +// Helpers for code anaylsis +// Will show type error at calling position +// + +/** @param {number} a */ + +function assertNever(a) {} +/** @param {string} a */ + + +function assertString(a) {} + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/docs/static/katex/contrib/mhchem.min.js b/docs/static/katex/contrib/mhchem.min.js new file mode 100644 index 000000000..432a76af0 --- /dev/null +++ b/docs/static/katex/contrib/mhchem.min.js @@ -0,0 +1 @@ +!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],e);else{var n="object"==typeof exports?e(require("katex")):e(t.katex);for(var o in n)("object"==typeof exports?exports:t)[o]=n[o]}}("undefined"!=typeof self?self:this,function(t){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var a=e[o]={i:o,l:!1,exports:{}};return t[o].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)n.d(o,a,function(e){return t[e]}.bind(null,a));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.r(e);var o=n(0),a=n.n(o);a.a.__defineMacro("\\ce",function(t){return r(t.consumeArgs(1)[0],"ce")}),a.a.__defineMacro("\\pu",function(t){return r(t.consumeArgs(1)[0],"pu")}),a.a.__defineMacro("\\tripledash","{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}");var r=function(t,e){for(var n="",o=t[t.length-1].loc.start,a=t.length-1;a>=0;a--)t[a].loc.start>o&&(n+=" ",o=t[a].loc.start),n+=t[a].text,o+=t[a].text.length;return c.go(i.go(n,e))},i={go:function(t,e){if(!t)return[];void 0===e&&(e="ce");var n,o="0",a={};a.parenthesisLevel=0,t=(t=(t=t.replace(/\n/g," ")).replace(/[\u2212\u2013\u2014\u2010]/g,"-")).replace(/[\u2026]/g,"...");for(var r=10,c=[];;){n!==t?(r=10,n=t):r--;var u=i.stateMachines[e],p=u.transitions[o]||u.transitions["*"];t:for(var s=0;s0))return c;if(d.revisit||(t=_.remainder),!d.toContinue)break t}}if(r<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(t,e){if(e)if(Array.isArray(e))for(var n=0;n":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(t){return i.patterns.findObserveGroups(t,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(t){return i.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(t){return i.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(t){return i.patterns.findObserveGroups(t,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(t){return i.patterns.findObserveGroups(t,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(t){return i.patterns.findObserveGroups(t,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(t){var e;if(e=t.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/))return{match_:e[0],remainder:t.substr(e[0].length)};var n=i.patterns.findObserveGroups(t,"","$","$","");return n&&(e=n.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/))?{match_:e[0],remainder:t.substr(e[0].length)}:null},amount2:function(t){return this.amount(t)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(t){if(t.match(/^\([a-z]+\)$/))return null;var e=t.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return e?{match_:e[0],remainder:t.substr(e[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(t,e,n,o,a,r,i,c,u,p){var s=function(t,e){if("string"==typeof e)return 0!==t.indexOf(e)?null:e;var n=t.match(e);return n?n[0]:null},_=s(t,e);if(null===_)return null;if(t=t.substr(_.length),null===(_=s(t,n)))return null;var d=function(t,e,n){for(var o=0;e":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(t,e){var n;if((t.d||"").match(/^[0-9]+$/)){var o=t.d;t.d=void 0,n=this.output(t),t.b=o}else n=this.output(t);return i.actions["o="](t,e),n},"d= kv":function(t,e){t.d=e,t.dType="kv"},"charge or bond":function(t,e){if(t.beginsWithBond){var n=[];return i.concatArray(n,this.output(t)),i.concatArray(n,i.actions.bond(t,e,"-")),n}t.d=e},"- after o/d":function(t,e,n){var o=i.patterns.match_("orbital",t.o||""),a=i.patterns.match_("one lowercase greek letter $",t.o||""),r=i.patterns.match_("one lowercase latin letter $",t.o||""),c=i.patterns.match_("$one lowercase latin letter$ $",t.o||""),u="-"===e&&(o&&""===o.remainder||a||r||c);!u||t.a||t.b||t.p||t.d||t.q||o||!r||(t.o="$"+t.o+"$");var p=[];return u?(i.concatArray(p,this.output(t)),p.push({type_:"hyphen"})):(o=i.patterns.match_("digits",t.d||""),n&&o&&""===o.remainder?(i.concatArray(p,i.actions["d="](t,e)),i.concatArray(p,this.output(t))):(i.concatArray(p,this.output(t)),i.concatArray(p,i.actions.bond(t,e,"-")))),p},"a to o":function(t){t.o=t.a,t.a=void 0},"sb=true":function(t){t.sb=!0},"sb=false":function(t){t.sb=!1},"beginsWithBond=true":function(t){t.beginsWithBond=!0},"beginsWithBond=false":function(t){t.beginsWithBond=!1},"parenthesisLevel++":function(t){t.parenthesisLevel++},"parenthesisLevel--":function(t){t.parenthesisLevel--},"state of aggregation":function(t,e){return{type_:"state of aggregation",p1:i.go(e,"o")}},comma:function(t,e){var n=e.replace(/\s*$/,"");return n!==e&&0===t.parenthesisLevel?{type_:"comma enumeration L",p1:n}:{type_:"comma enumeration M",p1:n}},output:function(t,e,n){var o,a,r;t.r?(a="M"===t.rdt?i.go(t.rd,"tex-math"):"T"===t.rdt?[{type_:"text",p1:t.rd||""}]:i.go(t.rd),r="M"===t.rqt?i.go(t.rq,"tex-math"):"T"===t.rqt?[{type_:"text",p1:t.rq||""}]:i.go(t.rq),o={type_:"arrow",r:t.r,rd:a,rq:r}):(o=[],(t.a||t.b||t.p||t.o||t.q||t.d||n)&&(t.sb&&o.push({type_:"entitySkip"}),t.o||t.q||t.d||t.b||t.p||2===n?t.o||t.q||t.d||!t.b&&!t.p?t.o&&"kv"===t.dType&&i.patterns.match_("d-oxidation$",t.d||"")?t.dType="oxidation":t.o&&"kv"===t.dType&&!t.q&&(t.dType=void 0):(t.o=t.a,t.d=t.b,t.q=t.p,t.a=t.b=t.p=void 0):(t.o=t.a,t.a=void 0),o.push({type_:"chemfive",a:i.go(t.a,"a"),b:i.go(t.b,"bd"),p:i.go(t.p,"pq"),o:i.go(t.o,"o"),q:i.go(t.q,"pq"),d:i.go(t.d,"oxidation"===t.dType?"oxidation":"bd"),dType:t.dType})));for(var c in t)"parenthesisLevel"!==c&&"beginsWithBond"!==c&&delete t[c];return o},"oxidation-output":function(t,e){var n=["{"];return i.concatArray(n,i.go(e,"oxidation")),n.push("}"),n},"frac-output":function(t,e){return{type_:"frac-ce",p1:i.go(e[0]),p2:i.go(e[1])}},"overset-output":function(t,e){return{type_:"overset",p1:i.go(e[0]),p2:i.go(e[1])}},"underset-output":function(t,e){return{type_:"underset",p1:i.go(e[0]),p2:i.go(e[1])}},"underbrace-output":function(t,e){return{type_:"underbrace",p1:i.go(e[0]),p2:i.go(e[1])}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:i.go(e[1])}},"r=":function(t,e){t.r=e},"rdt=":function(t,e){t.rdt=e},"rd=":function(t,e){t.rd=e},"rqt=":function(t,e){t.rqt=e},"rq=":function(t,e){t.rq=e},operator:function(t,e,n){return{type_:"operator",kind_:n||e}}}},a:{transitions:i.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:i.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(t){if(t.text_){var e={type_:"text",p1:t.text_};for(var n in t)delete t[n];return e}}}},pq:{transitions:i.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(t,e){return{type_:"state of aggregation subscript",p1:i.go(e,"o")}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:i.go(e[1],"pq")}}}},bd:{transitions:i.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(t,e){return{type_:"color",color1:e[0],color2:i.go(e[1],"bd")}}}},oxidation:{transitions:i.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(t,e){return{type_:"roman numeral",p1:e||""}}}},"tex-math":{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var n in t)delete t[n];return e}}}},"tex-math tight":{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(t,e){t.o=(t.o||"")+"{"+e+"}"},output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var n in t)delete t[n];return e}}}},"9,9":{transitions:i.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:i.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(t,e){var n=[];return"+-"===e[0]||"+/-"===e[0]?n.push("\\pm "):e[0]&&n.push(e[0]),e[1]&&(i.concatArray(n,i.go(e[1],"pu-9,9")),e[2]&&(e[2].match(/[,.]/)?i.concatArray(n,i.go(e[2],"pu-9,9")):n.push(e[2])),e[3]=e[4]||e[3],e[3]&&(e[3]=e[3].trim(),"e"===e[3]||"*"===e[3].substr(0,1)?n.push({type_:"cdot"}):n.push({type_:"times"}))),e[3]&&n.push("10^{"+e[5]+"}"),n},"number^":function(t,e){var n=[];return"+-"===e[0]||"+/-"===e[0]?n.push("\\pm "):e[0]&&n.push(e[0]),i.concatArray(n,i.go(e[1],"pu-9,9")),n.push("^{"+e[2]+"}"),n},operator:function(t,e,n){return{type_:"operator",kind_:n||e}},space:function(){return{type_:"pu-space-1"}},output:function(t){var e,n=i.patterns.match_("{(...)}",t.d||"");n&&""===n.remainder&&(t.d=n.match_);var o=i.patterns.match_("{(...)}",t.q||"");if(o&&""===o.remainder&&(t.q=o.match_),t.d&&(t.d=t.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.d=t.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),t.q){t.q=t.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.q=t.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var a={d:i.go(t.d,"pu"),q:i.go(t.q,"pu")};"//"===t.o?e={type_:"pu-frac",p1:a.d,p2:a.q}:(e=a.d,a.d.length>1||a.q.length>1?e.push({type_:" / "}):e.push({type_:"/"}),i.concatArray(e,a.q))}else e=i.go(t.d,"pu-2");for(var r in t)delete t[r];return e}}},"pu-2":{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(t,e){t.rm+="^{"+e+"}"},space:function(){return{type_:"pu-space-2"}},output:function(t){var e=[];if(t.rm){var n=i.patterns.match_("{(...)}",t.rm||"");e=n&&""===n.remainder?i.go(n.match_,"pu"):{type_:"rm",p1:t.rm}}for(var o in t)delete t[o];return e}}},"pu-9,9":{transitions:i.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){var n=t.text_.length%3;0===n&&(n=3);for(var o=t.text_.length-3;o>0;o-=3)e.push(t.text_.substr(o,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(0,n)),e.reverse()}else e.push(t.text_);for(var a in t)delete t[a];return e},"output-o":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){for(var n=t.text_.length-3,o=0;o":case"\u2192":case"\u27f6":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<--\x3e":return"rightleftarrows";case"<=>":case"\u21cc":return"rightleftharpoons";case"<=>>":return"rightequilibrium";case"<<=>":return"leftequilibrium";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(t){switch(t){case"-":case"1":return"{-}";case"=":case"2":return"{=}";case"#":case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}";case"~=":case"~--":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"-~-":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(t){switch(t){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":case"$\\approx$":return" {}\\approx{} ";case"v":case"(v)":return" \\downarrow{} ";case"^":case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}}}]).default}); \ No newline at end of file diff --git a/docs/static/katex/contrib/mhchem.mjs b/docs/static/katex/contrib/mhchem.mjs new file mode 100644 index 000000000..762e15ef0 --- /dev/null +++ b/docs/static/katex/contrib/mhchem.mjs @@ -0,0 +1,3109 @@ +import katex from '../katex.mjs'; + +/* eslint-disable */ + +/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ + +/* vim: set ts=2 et sw=2 tw=80: */ + +/************************************************************* + * + * KaTeX mhchem.js + * + * This file implements a KaTeX version of mhchem version 3.3.0. + * It is adapted from MathJax/extensions/TeX/mhchem.js + * It differs from the MathJax version as follows: + * 1. The interface is changed so that it can be called from KaTeX, not MathJax. + * 2. \rlap and \llap are replaced with \mathrlap and \mathllap. + * 3. Four lines of code are edited in order to use \raisebox instead of \raise. + * 4. The reaction arrow code is simplified. All reaction arrows are rendered + * using KaTeX extensible arrows instead of building non-extensible arrows. + * 5. \tripledash vertical alignment is slightly adjusted. + * + * This code, as other KaTeX code, is released under the MIT license. + * + * /************************************************************* + * + * MathJax/extensions/TeX/mhchem.js + * + * Implements the \ce command for handling chemical formulas + * from the mhchem LaTeX package. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011-2015 The MathJax Consortium + * Copyright (c) 2015-2018 Martin Hensel + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// +// Coding Style +// - use '' for identifiers that can by minified/uglified +// - use "" for strings that need to stay untouched +// version: "3.3.0" for MathJax and KaTeX +// Add \ce, \pu, and \tripledash to the KaTeX macros. +katex.__defineMacro("\\ce", function (context) { + return chemParse(context.consumeArgs(1)[0], "ce"); +}); + +katex.__defineMacro("\\pu", function (context) { + return chemParse(context.consumeArgs(1)[0], "pu"); +}); // Needed for \bond for the ~ forms +// Raise by 2.56mu, not 2mu. We're raising a hyphen-minus, U+002D, not +// a mathematical minus, U+2212. So we need that extra 0.56. + + +katex.__defineMacro("\\tripledash", "{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu" + "\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}"); +// This is the main function for handing the \ce and \pu commands. +// It takes the argument to \ce or \pu and returns the corresponding TeX string. +// + +var chemParse = function chemParse(tokens, stateMachine) { + // Recreate the argument string from KaTeX's array of tokens. + var str = ""; + var expectedLoc = tokens[tokens.length - 1].loc.start; + + for (var i = tokens.length - 1; i >= 0; i--) { + if (tokens[i].loc.start > expectedLoc) { + // context.consumeArgs has eaten a space. + str += " "; + expectedLoc = tokens[i].loc.start; + } + + str += tokens[i].text; + expectedLoc += tokens[i].text.length; + } + + var tex = texify.go(mhchemParser.go(str, stateMachine)); + return tex; +}; // +// Core parser for mhchem syntax (recursive) +// + +/** @type {MhchemParser} */ + + +var mhchemParser = { + // + // Parses mchem \ce syntax + // + // Call like + // go("H2O"); + // + go: function go(input, stateMachine) { + if (!input) { + return []; + } + + if (stateMachine === undefined) { + stateMachine = 'ce'; + } + + var state = '0'; // + // String buffers for parsing: + // + // buffer.a == amount + // buffer.o == element + // buffer.b == left-side superscript + // buffer.p == left-side subscript + // buffer.q == right-side subscript + // buffer.d == right-side superscript + // + // buffer.r == arrow + // buffer.rdt == arrow, script above, type + // buffer.rd == arrow, script above, content + // buffer.rqt == arrow, script below, type + // buffer.rq == arrow, script below, content + // + // buffer.text_ + // buffer.rm + // etc. + // + // buffer.parenthesisLevel == int, starting at 0 + // buffer.sb == bool, space before + // buffer.beginsWithBond == bool + // + // These letters are also used as state names. + // + // Other states: + // 0 == begin of main part (arrow/operator unlikely) + // 1 == next entity + // 2 == next entity (arrow/operator unlikely) + // 3 == next atom + // c == macro + // + + /** @type {Buffer} */ + + var buffer = {}; + buffer['parenthesisLevel'] = 0; + input = input.replace(/\n/g, " "); + input = input.replace(/[\u2212\u2013\u2014\u2010]/g, "-"); + input = input.replace(/[\u2026]/g, "..."); // + // Looks through mhchemParser.transitions, to execute a matching action + // (recursive) + // + + var lastInput; + var watchdog = 10; + /** @type {ParserOutput[]} */ + + var output = []; + + while (true) { + if (lastInput !== input) { + watchdog = 10; + lastInput = input; + } else { + watchdog--; + } // + // Find actions in transition table + // + + + var machine = mhchemParser.stateMachines[stateMachine]; + var t = machine.transitions[state] || machine.transitions['*']; + + iterateTransitions: for (var i = 0; i < t.length; i++) { + var matches = mhchemParser.patterns.match_(t[i].pattern, input); + + if (matches) { + // + // Execute actions + // + var task = t[i].task; + + for (var iA = 0; iA < task.action_.length; iA++) { + var o; // + // Find and execute action + // + + if (machine.actions[task.action_[iA].type_]) { + o = machine.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option); + } else if (mhchemParser.actions[task.action_[iA].type_]) { + o = mhchemParser.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option); + } else { + throw ["MhchemBugA", "mhchem bug A. Please report. (" + task.action_[iA].type_ + ")"]; // Trying to use non-existing action + } // + // Add output + // + + + mhchemParser.concatArray(output, o); + } // + // Set next state, + // Shorten input, + // Continue with next character + // (= apply only one transition per position) + // + + + state = task.nextState || state; + + if (input.length > 0) { + if (!task.revisit) { + input = matches.remainder; + } + + if (!task.toContinue) { + break iterateTransitions; + } + } else { + return output; + } + } + } // + // Prevent infinite loop + // + + + if (watchdog <= 0) { + throw ["MhchemBugU", "mhchem bug U. Please report."]; // Unexpected character + } + } + }, + concatArray: function concatArray(a, b) { + if (b) { + if (Array.isArray(b)) { + for (var iB = 0; iB < b.length; iB++) { + a.push(b[iB]); + } + } else { + a.push(b); + } + } + }, + patterns: { + // + // Matching patterns + // either regexps or function that return null or {match_:"a", remainder:"bc"} + // + patterns: { + // property names must not look like integers ("2") for correct property traversal order, later on + 'empty': /^$/, + 'else': /^./, + 'else2': /^./, + 'space': /^\s/, + 'space A': /^\s(?=[A-Z\\$])/, + 'space$': /^\s$/, + 'a-z': /^[a-z]/, + 'x': /^x/, + 'x$': /^x$/, + 'i$': /^i$/, + 'letters': /^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/, + '\\greek': /^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/, + 'one lowercase latin letter $': /^(?:([a-z])(?:$|[^a-zA-Z]))$/, + '$one lowercase latin letter$ $': /^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/, + 'one lowercase greek letter $': /^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/, + 'digits': /^[0-9]+/, + '-9.,9': /^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/, + '-9.,9 no missing 0': /^[+\-]?[0-9]+(?:[.,][0-9]+)?/, + '(-)(9.,9)(e)(99)': function e99(input) { + var m = input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/); + + if (m && m[0]) { + return { + match_: m.splice(1), + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + '(-)(9)^(-9)': function _(input) { + var m = input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/); + + if (m && m[0]) { + return { + match_: m.splice(1), + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + 'state of aggregation $': function stateOfAggregation$(input) { + // ... or crystal system + var a = mhchemParser.patterns.findObserveGroups(input, "", /^\([a-z]{1,3}(?=[\),])/, ")", ""); // (aq), (aq,$\infty$), (aq, sat) + + if (a && a.remainder.match(/^($|[\s,;\)\]\}])/)) { + return a; + } // AND end of 'phrase' + + + var m = input.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/); // OR crystal system ($o$) (\ca$c$) + + if (m) { + return { + match_: m[0], + remainder: input.substr(m[0].length) + }; + } + + return null; + }, + '_{(state of aggregation)}$': /^_\{(\([a-z]{1,3}\))\}/, + '{[(': /^(?:\\\{|\[|\()/, + ')]}': /^(?:\)|\]|\\\})/, + ', ': /^[,;]\s*/, + ',': /^[,;]/, + '.': /^[.]/, + '. ': /^([.\u22C5\u00B7\u2022])\s*/, + '...': /^\.\.\.(?=$|[^.])/, + '* ': /^([*])\s*/, + '^{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "^{", "", "", "}"); + }, + '^($...$)': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", "$", "$", ""); + }, + '^a': /^\^([0-9]+|[^\\_])/, + '^\\x{}{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '^\\x{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '^\\x': /^\^(\\[a-zA-Z]+)\s*/, + '^(-1)': /^\^(-?\d+)/, + '\'': /^'/, + '_{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "_{", "", "", "}"); + }, + '_($...$)': function _$$(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", "$", "$", ""); + }, + '_9': /^_([+\-]?[0-9]+|[^\\])/, + '_\\x{}{}': function _X(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '_\\x{}': function _X(input) { + return mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '_\\x': /^_(\\[a-zA-Z]+)\s*/, + '^_': /^(?:\^(?=_)|\_(?=\^)|[\^_]$)/, + '{}': /^\{\}/, + '{...}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "", "{", "}", ""); + }, + '{(...)}': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "{", "", "", "}"); + }, + '$...$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + }, + '${(...)}$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "${", "", "", "}$"); + }, + '$(...)$': function $$(input) { + return mhchemParser.patterns.findObserveGroups(input, "$", "", "", "$"); + }, + '=<>': /^[=<>]/, + '#': /^[#\u2261]/, + '+': /^\+/, + '-$': /^-(?=[\s_},;\]/]|$|\([a-z]+\))/, + // -space -, -; -] -/ -$ -state-of-aggregation + '-9': /^-(?=[0-9])/, + '- orbital overlap': /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/, + '-': /^-/, + 'pm-operator': /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/, + 'operator': /^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/, + 'arrowUpDown': /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/, + '\\bond{(...)}': function bond(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\bond{", "", "", "}"); + }, + '->': /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/, + 'CMT': /^[CMT](?=\[)/, + '[(...)]': function _(input) { + return mhchemParser.patterns.findObserveGroups(input, "[", "", "", "]"); + }, + '1st-level escape': /^(&|\\\\|\\hline)\s*/, + '\\,': /^(?:\\[,\ ;:])/, + // \\x - but output no space before + '\\x{}{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); + }, + '\\x{}': function x(input) { + return mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", ""); + }, + '\\ca': /^\\ca(?:\s+|(?![a-zA-Z]))/, + '\\x': /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/, + 'orbital': /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/, + // only those with numbers in front, because the others will be formatted correctly anyway + 'others': /^[\/~|]/, + '\\frac{(...)}': function frac(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\frac{", "", "", "}", "{", "", "", "}"); + }, + '\\overset{(...)}': function overset(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\overset{", "", "", "}", "{", "", "", "}"); + }, + '\\underset{(...)}': function underset(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\underset{", "", "", "}", "{", "", "", "}"); + }, + '\\underbrace{(...)}': function underbrace(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\underbrace{", "", "", "}_", "{", "", "", "}"); + }, + '\\color{(...)}0': function color0(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}"); + }, + '\\color{(...)}{(...)}1': function color1(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}", "{", "", "", "}"); + }, + '\\color(...){(...)}2': function color2(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\color", "\\", "", /^(?=\{)/, "{", "", "", "}"); + }, + '\\ce{(...)}': function ce(input) { + return mhchemParser.patterns.findObserveGroups(input, "\\ce{", "", "", "}"); + }, + 'oxidation$': /^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + 'd-oxidation$': /^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/, + // 0 could be oxidation or charge + 'roman numeral': /^[IVX]+/, + '1/2$': /^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/, + 'amount': function amount(input) { + var match; // e.g. 2, 0.5, 1/2, -2, n/2, +; $a$ could be added later in parsing + + match = input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + + var a = mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); + + if (a) { + // e.g. $2n-1$, $-$ + match = a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + } + + return null; + }, + 'amount2': function amount2(input) { + return this['amount'](input); + }, + '(KV letters),': /^(?:[A-Z][a-z]{0,2}|i)(?=,)/, + 'formula$': function formula$(input) { + if (input.match(/^\([a-z]+\)$/)) { + return null; + } // state of aggregation = no formula + + + var match = input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/); + + if (match) { + return { + match_: match[0], + remainder: input.substr(match[0].length) + }; + } + + return null; + }, + 'uprightEntities': /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/, + '/': /^\s*(\/)\s*/, + '//': /^\s*(\/\/)\s*/, + '*': /^\s*[*.]\s*/ + }, + findObserveGroups: function findObserveGroups(input, begExcl, begIncl, endIncl, endExcl, beg2Excl, beg2Incl, end2Incl, end2Excl, combine) { + /** @type {{(input: string, pattern: string | RegExp): string | string[] | null;}} */ + var _match = function _match(input, pattern) { + if (typeof pattern === "string") { + if (input.indexOf(pattern) !== 0) { + return null; + } + + return pattern; + } else { + var match = input.match(pattern); + + if (!match) { + return null; + } + + return match[0]; + } + }; + /** @type {{(input: string, i: number, endChars: string | RegExp): {endMatchBegin: number, endMatchEnd: number} | null;}} */ + + + var _findObserveGroups = function _findObserveGroups(input, i, endChars) { + var braces = 0; + + while (i < input.length) { + var a = input.charAt(i); + + var match = _match(input.substr(i), endChars); + + if (match !== null && braces === 0) { + return { + endMatchBegin: i, + endMatchEnd: i + match.length + }; + } else if (a === "{") { + braces++; + } else if (a === "}") { + if (braces === 0) { + throw ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"]; + } else { + braces--; + } + } + + i++; + } + + if (braces > 0) { + return null; + } + + return null; + }; + + var match = _match(input, begExcl); + + if (match === null) { + return null; + } + + input = input.substr(match.length); + match = _match(input, begIncl); + + if (match === null) { + return null; + } + + var e = _findObserveGroups(input, match.length, endIncl || endExcl); + + if (e === null) { + return null; + } + + var match1 = input.substring(0, endIncl ? e.endMatchEnd : e.endMatchBegin); + + if (!(beg2Excl || beg2Incl)) { + return { + match_: match1, + remainder: input.substr(e.endMatchEnd) + }; + } else { + var group2 = this.findObserveGroups(input.substr(e.endMatchEnd), beg2Excl, beg2Incl, end2Incl, end2Excl); + + if (group2 === null) { + return null; + } + /** @type {string[]} */ + + + var matchRet = [match1, group2.match_]; + return { + match_: combine ? matchRet.join("") : matchRet, + remainder: group2.remainder + }; + } + }, + // + // Matching function + // e.g. match("a", input) will look for the regexp called "a" and see if it matches + // returns null or {match_:"a", remainder:"bc"} + // + match_: function match_(m, input) { + var pattern = mhchemParser.patterns.patterns[m]; + + if (pattern === undefined) { + throw ["MhchemBugP", "mhchem bug P. Please report. (" + m + ")"]; // Trying to use non-existing pattern + } else if (typeof pattern === "function") { + return mhchemParser.patterns.patterns[m](input); // cannot use cached var pattern here, because some pattern functions need this===mhchemParser + } else { + // RegExp + var match = input.match(pattern); + + if (match) { + var mm; + + if (match[2]) { + mm = [match[1], match[2]]; + } else if (match[1]) { + mm = match[1]; + } else { + mm = match[0]; + } + + return { + match_: mm, + remainder: input.substr(match[0].length) + }; + } + + return null; + } + } + }, + // + // Generic state machine actions + // + actions: { + 'a=': function a(buffer, m) { + buffer.a = (buffer.a || "") + m; + }, + 'b=': function b(buffer, m) { + buffer.b = (buffer.b || "") + m; + }, + 'p=': function p(buffer, m) { + buffer.p = (buffer.p || "") + m; + }, + 'o=': function o(buffer, m) { + buffer.o = (buffer.o || "") + m; + }, + 'q=': function q(buffer, m) { + buffer.q = (buffer.q || "") + m; + }, + 'd=': function d(buffer, m) { + buffer.d = (buffer.d || "") + m; + }, + 'rm=': function rm(buffer, m) { + buffer.rm = (buffer.rm || "") + m; + }, + 'text=': function text(buffer, m) { + buffer.text_ = (buffer.text_ || "") + m; + }, + 'insert': function insert(buffer, m, a) { + return { + type_: a + }; + }, + 'insert+p1': function insertP1(buffer, m, a) { + return { + type_: a, + p1: m + }; + }, + 'insert+p1+p2': function insertP1P2(buffer, m, a) { + return { + type_: a, + p1: m[0], + p2: m[1] + }; + }, + 'copy': function copy(buffer, m) { + return m; + }, + 'rm': function rm(buffer, m) { + return { + type_: 'rm', + p1: m || "" + }; + }, + 'text': function text(buffer, m) { + return mhchemParser.go(m, 'text'); + }, + '{text}': function text(buffer, m) { + var ret = ["{"]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'text')); + ret.push("}"); + return ret; + }, + 'tex-math': function texMath(buffer, m) { + return mhchemParser.go(m, 'tex-math'); + }, + 'tex-math tight': function texMathTight(buffer, m) { + return mhchemParser.go(m, 'tex-math tight'); + }, + 'bond': function bond(buffer, m, k) { + return { + type_: 'bond', + kind_: k || m + }; + }, + 'color0-output': function color0Output(buffer, m) { + return { + type_: 'color0', + color: m[0] + }; + }, + 'ce': function ce(buffer, m) { + return mhchemParser.go(m); + }, + '1/2': function _(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m.match(/^[+\-]/)) { + ret.push(m.substr(0, 1)); + m = m.substr(1); + } + + var n = m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/); + n[1] = n[1].replace(/\$/g, ""); + ret.push({ + type_: 'frac', + p1: n[1], + p2: n[2] + }); + + if (n[3]) { + n[3] = n[3].replace(/\$/g, ""); + ret.push({ + type_: 'tex-math', + p1: n[3] + }); + } + + return ret; + }, + '9,9': function _(buffer, m) { + return mhchemParser.go(m, '9,9'); + } + }, + // + // createTransitions + // convert { 'letter': { 'state': { action_: 'output' } } } to { 'state' => [ { pattern: 'letter', task: { action_: [{type_: 'output'}] } } ] } + // with expansion of 'a|b' to 'a' and 'b' (at 2 places) + // + createTransitions: function createTransitions(o) { + var pattern, state; + /** @type {string[]} */ + + var stateArray; + var i; // + // 1. Collect all states + // + + /** @type {Transitions} */ + + var transitions = {}; + + for (pattern in o) { + for (state in o[pattern]) { + stateArray = state.split("|"); + o[pattern][state].stateArray = stateArray; + + for (i = 0; i < stateArray.length; i++) { + transitions[stateArray[i]] = []; + } + } + } // + // 2. Fill states + // + + + for (pattern in o) { + for (state in o[pattern]) { + stateArray = o[pattern][state].stateArray || []; + + for (i = 0; i < stateArray.length; i++) { + // + // 2a. Normalize actions into array: 'text=' ==> [{type_:'text='}] + // (Note to myself: Resolving the function here would be problematic. It would need .bind (for *this*) and currying (for *option*).) + // + + /** @type {any} */ + var p = o[pattern][state]; + + if (p.action_) { + p.action_ = [].concat(p.action_); + + for (var k = 0; k < p.action_.length; k++) { + if (typeof p.action_[k] === "string") { + p.action_[k] = { + type_: p.action_[k] + }; + } + } + } else { + p.action_ = []; + } // + // 2.b Multi-insert + // + + + var patternArray = pattern.split("|"); + + for (var j = 0; j < patternArray.length; j++) { + if (stateArray[i] === '*') { + // insert into all + for (var t in transitions) { + transitions[t].push({ + pattern: patternArray[j], + task: p + }); + } + } else { + transitions[stateArray[i]].push({ + pattern: patternArray[j], + task: p + }); + } + } + } + } + } + + return transitions; + }, + stateMachines: {} +}; // +// Definition of state machines +// + +mhchemParser.stateMachines = { + // + // \ce state machines + // + //#region ce + 'ce': { + // main parser + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + 'else': { + '0|1|2': { + action_: 'beginsWithBond=false', + revisit: true, + toContinue: true + } + }, + 'oxidation$': { + '0': { + action_: 'oxidation-output' + } + }, + 'CMT': { + 'r': { + action_: 'rdt=', + nextState: 'rt' + }, + 'rd': { + action_: 'rqt=', + nextState: 'rdt' + } + }, + 'arrowUpDown': { + '0|1|2|as': { + action_: ['sb=false', 'output', 'operator'], + nextState: '1' + } + }, + 'uprightEntities': { + '0|1|2': { + action_: ['o=', 'output'], + nextState: '1' + } + }, + 'orbital': { + '0|1|2|3': { + action_: 'o=', + nextState: 'o' + } + }, + '->': { + '0|1|2|3': { + action_: 'r=', + nextState: 'r' + }, + 'a|as': { + action_: ['output', 'r='], + nextState: 'r' + }, + '*': { + action_: ['output', 'r='], + nextState: 'r' + } + }, + '+': { + 'o': { + action_: 'd= kv', + nextState: 'd' + }, + 'd|D': { + action_: 'd=', + nextState: 'd' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'qd|qD': { + action_: 'd=', + nextState: 'qd' + }, + 'dq': { + action_: ['output', 'd='], + nextState: 'd' + }, + '3': { + action_: ['sb=false', 'output', 'operator'], + nextState: '0' + } + }, + 'amount': { + '0|2': { + action_: 'a=', + nextState: 'a' + } + }, + 'pm-operator': { + '0|1|2|a|as': { + action_: ['sb=false', 'output', { + type_: 'operator', + option: '\\pm' + }], + nextState: '0' + } + }, + 'operator': { + '0|1|2|a|as': { + action_: ['sb=false', 'output', 'operator'], + nextState: '0' + } + }, + '-$': { + 'o|q': { + action_: ['charge or bond', 'output'], + nextState: 'qd' + }, + 'd': { + action_: 'd=', + nextState: 'd' + }, + 'D': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'qd': { + action_: 'd=', + nextState: 'qd' + }, + 'qD|dq': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + } + }, + '-9': { + '3|o': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '3' + } + }, + '- orbital overlap': { + 'o': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + }, + 'd': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + } + }, + '-': { + '0|1|2': { + action_: [{ + type_: 'output', + option: 1 + }, 'beginsWithBond=true', { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + '3': { + action_: { + type_: 'bond', + option: "-" + } + }, + 'a': { + action_: ['output', { + type_: 'insert', + option: 'hyphen' + }], + nextState: '2' + }, + 'as': { + action_: [{ + type_: 'output', + option: 2 + }, { + type_: 'bond', + option: "-" + }], + nextState: '3' + }, + 'b': { + action_: 'b=' + }, + 'o': { + action_: { + type_: '- after o/d', + option: false + }, + nextState: '2' + }, + 'q': { + action_: { + type_: '- after o/d', + option: false + }, + nextState: '2' + }, + 'd|qd|dq': { + action_: { + type_: '- after o/d', + option: true + }, + nextState: '2' + }, + 'D|qD|p': { + action_: ['output', { + type_: 'bond', + option: "-" + }], + nextState: '3' + } + }, + 'amount2': { + '1|3': { + action_: 'a=', + nextState: 'a' + } + }, + 'letters': { + '0|1|2|3|a|as|b|p|bp|o': { + action_: 'o=', + nextState: 'o' + }, + 'q|dq': { + action_: ['output', 'o='], + nextState: 'o' + }, + 'd|D|qd|qD': { + action_: 'o after d', + nextState: 'o' + } + }, + 'digits': { + 'o': { + action_: 'q=', + nextState: 'q' + }, + 'd|D': { + action_: 'q=', + nextState: 'dq' + }, + 'q': { + action_: ['output', 'o='], + nextState: 'o' + }, + 'a': { + action_: 'o=', + nextState: 'o' + } + }, + 'space A': { + 'b|p|bp': {} + }, + 'space': { + 'a': { + nextState: 'as' + }, + '0': { + action_: 'sb=false' + }, + '1|2': { + action_: 'sb=true' + }, + 'r|rt|rd|rdt|rdq': { + action_: 'output', + nextState: '0' + }, + '*': { + action_: ['output', 'sb=true'], + nextState: '1' + } + }, + '1st-level escape': { + '1|2': { + action_: ['output', { + type_: 'insert+p1', + option: '1st-level escape' + }] + }, + '*': { + action_: ['output', { + type_: 'insert+p1', + option: '1st-level escape' + }], + nextState: '0' + } + }, + '[(...)]': { + 'r|rt': { + action_: 'rd=', + nextState: 'rd' + }, + 'rd|rdt': { + action_: 'rq=', + nextState: 'rdq' + } + }, + '...': { + 'o|d|D|dq|qd|qD': { + action_: ['output', { + type_: 'bond', + option: "..." + }], + nextState: '3' + }, + '*': { + action_: [{ + type_: 'output', + option: 1 + }, { + type_: 'insert', + option: 'ellipsis' + }], + nextState: '1' + } + }, + '. |* ': { + '*': { + action_: ['output', { + type_: 'insert', + option: 'addition compound' + }], + nextState: '1' + } + }, + 'state of aggregation $': { + '*': { + action_: ['output', 'state of aggregation'], + nextState: '1' + } + }, + '{[(': { + 'a|as|o': { + action_: ['o=', 'output', 'parenthesisLevel++'], + nextState: '2' + }, + '0|1|2|3': { + action_: ['o=', 'output', 'parenthesisLevel++'], + nextState: '2' + }, + '*': { + action_: ['output', 'o=', 'output', 'parenthesisLevel++'], + nextState: '2' + } + }, + ')]}': { + '0|1|2|3|b|p|bp|o': { + action_: ['o=', 'parenthesisLevel--'], + nextState: 'o' + }, + 'a|as|d|D|q|qd|qD|dq': { + action_: ['output', 'o=', 'parenthesisLevel--'], + nextState: 'o' + } + }, + ', ': { + '*': { + action_: ['output', 'comma'], + nextState: '0' + } + }, + '^_': { + // ^ and _ without a sensible argument + '*': {} + }, + '^{(...)}|^($...$)': { + '0|1|2|as': { + action_: 'b=', + nextState: 'b' + }, + 'p': { + action_: 'b=', + nextState: 'bp' + }, + '3|o': { + action_: 'd= kv', + nextState: 'D' + }, + 'q': { + action_: 'd=', + nextState: 'qD' + }, + 'd|D|qd|qD|dq': { + action_: ['output', 'd='], + nextState: 'D' + } + }, + '^a|^\\x{}{}|^\\x{}|^\\x|\'': { + '0|1|2|as': { + action_: 'b=', + nextState: 'b' + }, + 'p': { + action_: 'b=', + nextState: 'bp' + }, + '3|o': { + action_: 'd= kv', + nextState: 'd' + }, + 'q': { + action_: 'd=', + nextState: 'qd' + }, + 'd|qd|D|qD': { + action_: 'd=' + }, + 'dq': { + action_: ['output', 'd='], + nextState: 'd' + } + }, + '_{(state of aggregation)}$': { + 'd|D|q|qd|qD|dq': { + action_: ['output', 'q='], + nextState: 'q' + } + }, + '_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x': { + '0|1|2|as': { + action_: 'p=', + nextState: 'p' + }, + 'b': { + action_: 'p=', + nextState: 'bp' + }, + '3|o': { + action_: 'q=', + nextState: 'q' + }, + 'd|D': { + action_: 'q=', + nextState: 'dq' + }, + 'q|qd|qD|dq': { + action_: ['output', 'q='], + nextState: 'q' + } + }, + '=<>': { + '0|1|2|3|a|as|o|q|d|D|qd|qD|dq': { + action_: [{ + type_: 'output', + option: 2 + }, 'bond'], + nextState: '3' + } + }, + '#': { + '0|1|2|3|a|as|o': { + action_: [{ + type_: 'output', + option: 2 + }, { + type_: 'bond', + option: "#" + }], + nextState: '3' + } + }, + '{}': { + '*': { + action_: { + type_: 'output', + option: 1 + }, + nextState: '1' + } + }, + '{...}': { + '0|1|2|3|a|as|b|p|bp': { + action_: 'o=', + nextState: 'o' + }, + 'o|d|D|q|qd|qD|dq': { + action_: ['output', 'o='], + nextState: 'o' + } + }, + '$...$': { + 'a': { + action_: 'a=' + }, + // 2$n$ + '0|1|2|3|as|b|p|bp|o': { + action_: 'o=', + nextState: 'o' + }, + // not 'amount' + 'as|o': { + action_: 'o=' + }, + 'q|d|D|qd|qD|dq': { + action_: ['output', 'o='], + nextState: 'o' + } + }, + '\\bond{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'bond'], + nextState: "3" + } + }, + '\\frac{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'frac-output'], + nextState: '3' + } + }, + '\\overset{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'overset-output'], + nextState: '3' + } + }, + '\\underset{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'underset-output'], + nextState: '3' + } + }, + '\\underbrace{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'underbrace-output'], + nextState: '3' + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'color-output'], + nextState: '3' + } + }, + '\\color{(...)}0': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'color0-output'] + } + }, + '\\ce{(...)}': { + '*': { + action_: [{ + type_: 'output', + option: 2 + }, 'ce'], + nextState: '3' + } + }, + '\\,': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'copy'], + nextState: '1' + } + }, + '\\x{}{}|\\x{}|\\x': { + '0|1|2|3|a|as|b|p|bp|o|c0': { + action_: ['o=', 'output'], + nextState: '3' + }, + '*': { + action_: ['output', 'o=', 'output'], + nextState: '3' + } + }, + 'others': { + '*': { + action_: [{ + type_: 'output', + option: 1 + }, 'copy'], + nextState: '3' + } + }, + 'else2': { + 'a': { + action_: 'a to o', + nextState: 'o', + revisit: true + }, + 'as': { + action_: ['output', 'sb=true'], + nextState: '1', + revisit: true + }, + 'r|rt|rd|rdt|rdq': { + action_: ['output'], + nextState: '0', + revisit: true + }, + '*': { + action_: ['output', 'copy'], + nextState: '3' + } + } + }), + actions: { + 'o after d': function oAfterD(buffer, m) { + var ret; + + if ((buffer.d || "").match(/^[0-9]+$/)) { + var tmp = buffer.d; + buffer.d = undefined; + ret = this['output'](buffer); + buffer.b = tmp; + } else { + ret = this['output'](buffer); + } + + mhchemParser.actions['o='](buffer, m); + return ret; + }, + 'd= kv': function dKv(buffer, m) { + buffer.d = m; + buffer.dType = 'kv'; + }, + 'charge or bond': function chargeOrBond(buffer, m) { + if (buffer['beginsWithBond']) { + /** @type {ParserOutput[]} */ + var ret = []; + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + return ret; + } else { + buffer.d = m; + } + }, + '- after o/d': function afterOD(buffer, m, isAfterD) { + var c1 = mhchemParser.patterns.match_('orbital', buffer.o || ""); + var c2 = mhchemParser.patterns.match_('one lowercase greek letter $', buffer.o || ""); + var c3 = mhchemParser.patterns.match_('one lowercase latin letter $', buffer.o || ""); + var c4 = mhchemParser.patterns.match_('$one lowercase latin letter$ $', buffer.o || ""); + var hyphenFollows = m === "-" && (c1 && c1.remainder === "" || c2 || c3 || c4); + + if (hyphenFollows && !buffer.a && !buffer.b && !buffer.p && !buffer.d && !buffer.q && !c1 && c3) { + buffer.o = '$' + buffer.o + '$'; + } + /** @type {ParserOutput[]} */ + + + var ret = []; + + if (hyphenFollows) { + mhchemParser.concatArray(ret, this['output'](buffer)); + ret.push({ + type_: 'hyphen' + }); + } else { + c1 = mhchemParser.patterns.match_('digits', buffer.d || ""); + + if (isAfterD && c1 && c1.remainder === '') { + mhchemParser.concatArray(ret, mhchemParser.actions['d='](buffer, m)); + mhchemParser.concatArray(ret, this['output'](buffer)); + } else { + mhchemParser.concatArray(ret, this['output'](buffer)); + mhchemParser.concatArray(ret, mhchemParser.actions['bond'](buffer, m, "-")); + } + } + + return ret; + }, + 'a to o': function aToO(buffer) { + buffer.o = buffer.a; + buffer.a = undefined; + }, + 'sb=true': function sbTrue(buffer) { + buffer.sb = true; + }, + 'sb=false': function sbFalse(buffer) { + buffer.sb = false; + }, + 'beginsWithBond=true': function beginsWithBondTrue(buffer) { + buffer['beginsWithBond'] = true; + }, + 'beginsWithBond=false': function beginsWithBondFalse(buffer) { + buffer['beginsWithBond'] = false; + }, + 'parenthesisLevel++': function parenthesisLevel(buffer) { + buffer['parenthesisLevel']++; + }, + 'parenthesisLevel--': function parenthesisLevel(buffer) { + buffer['parenthesisLevel']--; + }, + 'state of aggregation': function stateOfAggregation(buffer, m) { + return { + type_: 'state of aggregation', + p1: mhchemParser.go(m, 'o') + }; + }, + 'comma': function comma(buffer, m) { + var a = m.replace(/\s*$/, ''); + var withSpace = a !== m; + + if (withSpace && buffer['parenthesisLevel'] === 0) { + return { + type_: 'comma enumeration L', + p1: a + }; + } else { + return { + type_: 'comma enumeration M', + p1: a + }; + } + }, + 'output': function output(buffer, m, entityFollows) { + // entityFollows: + // undefined = if we have nothing else to output, also ignore the just read space (buffer.sb) + // 1 = an entity follows, never omit the space if there was one just read before (can only apply to state 1) + // 2 = 1 + the entity can have an amount, so output a\, instead of converting it to o (can only apply to states a|as) + + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + + if (!buffer.r) { + ret = []; + + if (!buffer.a && !buffer.b && !buffer.p && !buffer.o && !buffer.q && !buffer.d && !entityFollows) ; else { + if (buffer.sb) { + ret.push({ + type_: 'entitySkip' + }); + } + + if (!buffer.o && !buffer.q && !buffer.d && !buffer.b && !buffer.p && entityFollows !== 2) { + buffer.o = buffer.a; + buffer.a = undefined; + } else if (!buffer.o && !buffer.q && !buffer.d && (buffer.b || buffer.p)) { + buffer.o = buffer.a; + buffer.d = buffer.b; + buffer.q = buffer.p; + buffer.a = buffer.b = buffer.p = undefined; + } else { + if (buffer.o && buffer.dType === 'kv' && mhchemParser.patterns.match_('d-oxidation$', buffer.d || "")) { + buffer.dType = 'oxidation'; + } else if (buffer.o && buffer.dType === 'kv' && !buffer.q) { + buffer.dType = undefined; + } + } + + ret.push({ + type_: 'chemfive', + a: mhchemParser.go(buffer.a, 'a'), + b: mhchemParser.go(buffer.b, 'bd'), + p: mhchemParser.go(buffer.p, 'pq'), + o: mhchemParser.go(buffer.o, 'o'), + q: mhchemParser.go(buffer.q, 'pq'), + d: mhchemParser.go(buffer.d, buffer.dType === 'oxidation' ? 'oxidation' : 'bd'), + dType: buffer.dType + }); + } + } else { + // r + + /** @type {ParserOutput[]} */ + var rd; + + if (buffer.rdt === 'M') { + rd = mhchemParser.go(buffer.rd, 'tex-math'); + } else if (buffer.rdt === 'T') { + rd = [{ + type_: 'text', + p1: buffer.rd || "" + }]; + } else { + rd = mhchemParser.go(buffer.rd); + } + /** @type {ParserOutput[]} */ + + + var rq; + + if (buffer.rqt === 'M') { + rq = mhchemParser.go(buffer.rq, 'tex-math'); + } else if (buffer.rqt === 'T') { + rq = [{ + type_: 'text', + p1: buffer.rq || "" + }]; + } else { + rq = mhchemParser.go(buffer.rq); + } + + ret = { + type_: 'arrow', + r: buffer.r, + rd: rd, + rq: rq + }; + } + + for (var p in buffer) { + if (p !== 'parenthesisLevel' && p !== 'beginsWithBond') { + delete buffer[p]; + } + } + + return ret; + }, + 'oxidation-output': function oxidationOutput(buffer, m) { + var ret = ["{"]; + mhchemParser.concatArray(ret, mhchemParser.go(m, 'oxidation')); + ret.push("}"); + return ret; + }, + 'frac-output': function fracOutput(buffer, m) { + return { + type_: 'frac-ce', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'overset-output': function oversetOutput(buffer, m) { + return { + type_: 'overset', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'underset-output': function undersetOutput(buffer, m) { + return { + type_: 'underset', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'underbrace-output': function underbraceOutput(buffer, m) { + return { + type_: 'underbrace', + p1: mhchemParser.go(m[0]), + p2: mhchemParser.go(m[1]) + }; + }, + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1]) + }; + }, + 'r=': function r(buffer, m) { + buffer.r = m; + }, + 'rdt=': function rdt(buffer, m) { + buffer.rdt = m; + }, + 'rd=': function rd(buffer, m) { + buffer.rd = m; + }, + 'rqt=': function rqt(buffer, m) { + buffer.rqt = m; + }, + 'rq=': function rq(buffer, m) { + buffer.rq = m; + }, + 'operator': function operator(buffer, m, p1) { + return { + type_: 'operator', + kind_: p1 || m + }; + } + } + }, + 'a': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '1', + revisit: true + } + }, + '$(...)$': { + '*': { + action_: 'tex-math tight', + nextState: '1' + } + }, + ',': { + '*': { + action_: { + type_: 'insert', + option: 'commaDecimal' + } + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: {} + }, + 'o': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '1', + revisit: true + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '\\ca': { + '*': { + action_: { + type_: 'insert', + option: 'circa' + } + } + }, + '\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: '{text}' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: {} + }, + 'text': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '{...}': { + '*': { + action_: 'text=' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '\\greek': { + '*': { + action_: ['output', 'rm'] + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: ['output', 'copy'] + } + }, + 'else': { + '*': { + action_: 'text=' + } + } + }), + actions: { + 'output': function output(buffer) { + if (buffer.text_) { + /** @type {ParserOutput} */ + var ret = { + type_: 'text', + p1: buffer.text_ + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + 'pq': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'state of aggregation $': { + '*': { + action_: 'state of aggregation' + } + }, + 'i$': { + '0': { + nextState: '!f', + revisit: true + } + }, + '(KV letters),': { + '0': { + action_: 'rm', + nextState: '0' + } + }, + 'formula$': { + '0': { + nextState: 'f', + revisit: true + } + }, + '1/2$': { + '0': { + action_: '1/2' + } + }, + 'else': { + '0': { + nextState: '!f', + revisit: true + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: 'text' + } + }, + 'a-z': { + 'f': { + action_: 'tex-math' + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '-9.,9': { + '*': { + action_: '9,9' + } + }, + ',': { + '*': { + action_: { + type_: 'insert+p1', + option: 'comma enumeration S' + } + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: 'color-output' + } + }, + '\\color{(...)}0': { + '*': { + action_: 'color0-output' + } + }, + '\\ce{(...)}': { + '*': { + action_: 'ce' + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'state of aggregation': function stateOfAggregation(buffer, m) { + return { + type_: 'state of aggregation subscript', + p1: mhchemParser.go(m, 'o') + }; + }, + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1], 'pq') + }; + } + } + }, + 'bd': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'x$': { + '0': { + nextState: '!f', + revisit: true + } + }, + 'formula$': { + '0': { + nextState: 'f', + revisit: true + } + }, + 'else': { + '0': { + nextState: '!f', + revisit: true + } + }, + '-9.,9 no missing 0': { + '*': { + action_: '9,9' + } + }, + '.': { + '*': { + action_: { + type_: 'insert', + option: 'electron dot' + } + } + }, + 'a-z': { + 'f': { + action_: 'tex-math' + } + }, + 'x': { + '*': { + action_: { + type_: 'insert', + option: 'KV x' + } + } + }, + 'letters': { + '*': { + action_: 'rm' + } + }, + '\'': { + '*': { + action_: { + type_: 'insert', + option: 'prime' + } + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + '{(...)}': { + '*': { + action_: 'text' + } + }, + '\\color{(...)}{(...)}1|\\color(...){(...)}2': { + '*': { + action_: 'color-output' + } + }, + '\\color{(...)}0': { + '*': { + action_: 'color0-output' + } + }, + '\\ce{(...)}': { + '*': { + action_: 'ce' + } + }, + '\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'copy' + } + }, + 'else2': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'color-output': function colorOutput(buffer, m) { + return { + type_: 'color', + color1: m[0], + color2: mhchemParser.go(m[1], 'bd') + }; + } + } + }, + 'oxidation': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + 'roman numeral': { + '*': { + action_: 'roman-numeral' + } + }, + '${(...)}$|$(...)$': { + '*': { + action_: 'tex-math' + } + }, + 'else': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'roman-numeral': function romanNumeral(buffer, m) { + return { + type_: 'roman numeral', + p1: m || "" + }; + } + } + }, + 'tex-math': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '\\ce{(...)}': { + '*': { + action_: ['output', 'ce'] + } + }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'o=' + } + }, + 'else': { + '*': { + action_: 'o=' + } + } + }), + actions: { + 'output': function output(buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { + type_: 'tex-math', + p1: buffer.o + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + 'tex-math tight': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '\\ce{(...)}': { + '*': { + action_: ['output', 'ce'] + } + }, + '{...}|\\,|\\x{}{}|\\x{}|\\x': { + '*': { + action_: 'o=' + } + }, + '-|+': { + '*': { + action_: 'tight operator' + } + }, + 'else': { + '*': { + action_: 'o=' + } + } + }), + actions: { + 'tight operator': function tightOperator(buffer, m) { + buffer.o = (buffer.o || "") + "{" + m + "}"; + }, + 'output': function output(buffer) { + if (buffer.o) { + /** @type {ParserOutput} */ + var ret = { + type_: 'tex-math', + p1: buffer.o + }; + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + } + }, + '9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': {} + }, + ',': { + '*': { + action_: 'comma' + } + }, + 'else': { + '*': { + action_: 'copy' + } + } + }), + actions: { + 'comma': function comma() { + return { + type_: 'commaDecimal' + }; + } + } + }, + //#endregion + // + // \pu state machines + // + //#region pu + 'pu': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + 'space$': { + '*': { + action_: ['output', 'space'] + } + }, + '{[(|)]}': { + '0|a': { + action_: 'copy' + } + }, + '(-)(9)^(-9)': { + '0': { + action_: 'number^', + nextState: 'a' + } + }, + '(-)(9.,9)(e)(99)': { + '0': { + action_: 'enumber', + nextState: 'a' + } + }, + 'space': { + '0|a': {} + }, + 'pm-operator': { + '0|a': { + action_: { + type_: 'operator', + option: '\\pm' + }, + nextState: '0' + } + }, + 'operator': { + '0|a': { + action_: 'copy', + nextState: '0' + } + }, + '//': { + 'd': { + action_: 'o=', + nextState: '/' + } + }, + '/': { + 'd': { + action_: 'o=', + nextState: '/' + } + }, + '{...}|else': { + '0|d': { + action_: 'd=', + nextState: 'd' + }, + 'a': { + action_: ['space', 'd='], + nextState: 'd' + }, + '/|q': { + action_: 'q=', + nextState: 'q' + } + } + }), + actions: { + 'enumber': function enumber(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + + if (m[1]) { + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + + if (m[2]) { + if (m[2].match(/[,.]/)) { + mhchemParser.concatArray(ret, mhchemParser.go(m[2], 'pu-9,9')); + } else { + ret.push(m[2]); + } + } + + m[3] = m[4] || m[3]; + + if (m[3]) { + m[3] = m[3].trim(); + + if (m[3] === "e" || m[3].substr(0, 1) === "*") { + ret.push({ + type_: 'cdot' + }); + } else { + ret.push({ + type_: 'times' + }); + } + } + } + + if (m[3]) { + ret.push("10^{" + m[5] + "}"); + } + + return ret; + }, + 'number^': function number(buffer, m) { + /** @type {ParserOutput[]} */ + var ret = []; + + if (m[0] === "+-" || m[0] === "+/-") { + ret.push("\\pm "); + } else if (m[0]) { + ret.push(m[0]); + } + + mhchemParser.concatArray(ret, mhchemParser.go(m[1], 'pu-9,9')); + ret.push("^{" + m[2] + "}"); + return ret; + }, + 'operator': function operator(buffer, m, p1) { + return { + type_: 'operator', + kind_: p1 || m + }; + }, + 'space': function space() { + return { + type_: 'pu-space-1' + }; + }, + 'output': function output(buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret; + var md = mhchemParser.patterns.match_('{(...)}', buffer.d || ""); + + if (md && md.remainder === '') { + buffer.d = md.match_; + } + + var mq = mhchemParser.patterns.match_('{(...)}', buffer.q || ""); + + if (mq && mq.remainder === '') { + buffer.q = mq.match_; + } + + if (buffer.d) { + buffer.d = buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.d = buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + } + + if (buffer.q) { + // fraction + buffer.q = buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C"); + buffer.q = buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F"); + var b5 = { + d: mhchemParser.go(buffer.d, 'pu'), + q: mhchemParser.go(buffer.q, 'pu') + }; + + if (buffer.o === '//') { + ret = { + type_: 'pu-frac', + p1: b5.d, + p2: b5.q + }; + } else { + ret = b5.d; + + if (b5.d.length > 1 || b5.q.length > 1) { + ret.push({ + type_: ' / ' + }); + } else { + ret.push({ + type_: '/' + }); + } + + mhchemParser.concatArray(ret, b5.q); + } + } else { + // no fraction + ret = mhchemParser.go(buffer.d, 'pu-2'); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + }, + 'pu-2': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '*': { + action_: 'output' + } + }, + '*': { + '*': { + action_: ['output', 'cdot'], + nextState: '0' + } + }, + '\\x': { + '*': { + action_: 'rm=' + } + }, + 'space': { + '*': { + action_: ['output', 'space'], + nextState: '0' + } + }, + '^{(...)}|^(-1)': { + '1': { + action_: '^(-1)' + } + }, + '-9.,9': { + '0': { + action_: 'rm=', + nextState: '0' + }, + '1': { + action_: '^(-1)', + nextState: '0' + } + }, + '{...}|else': { + '*': { + action_: 'rm=', + nextState: '1' + } + } + }), + actions: { + 'cdot': function cdot() { + return { + type_: 'tight cdot' + }; + }, + '^(-1)': function _(buffer, m) { + buffer.rm += "^{" + m + "}"; + }, + 'space': function space() { + return { + type_: 'pu-space-2' + }; + }, + 'output': function output(buffer) { + /** @type {ParserOutput | ParserOutput[]} */ + var ret = []; + + if (buffer.rm) { + var mrm = mhchemParser.patterns.match_('{(...)}', buffer.rm || ""); + + if (mrm && mrm.remainder === '') { + ret = mhchemParser.go(mrm.match_, 'pu'); + } else { + ret = { + type_: 'rm', + p1: buffer.rm + }; + } + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } + }, + 'pu-9,9': { + transitions: mhchemParser.createTransitions({ + 'empty': { + '0': { + action_: 'output-0' + }, + 'o': { + action_: 'output-o' + } + }, + ',': { + '0': { + action_: ['output-0', 'comma'], + nextState: 'o' + } + }, + '.': { + '0': { + action_: ['output-0', 'copy'], + nextState: 'o' + } + }, + 'else': { + '*': { + action_: 'text=' + } + } + }), + actions: { + 'comma': function comma() { + return { + type_: 'commaDecimal' + }; + }, + 'output-0': function output0(buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + + if (buffer.text_.length > 4) { + var a = buffer.text_.length % 3; + + if (a === 0) { + a = 3; + } + + for (var i = buffer.text_.length - 3; i > 0; i -= 3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ + type_: '1000 separator' + }); + } + + ret.push(buffer.text_.substr(0, a)); + ret.reverse(); + } else { + ret.push(buffer.text_); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + }, + 'output-o': function outputO(buffer) { + /** @type {ParserOutput[]} */ + var ret = []; + buffer.text_ = buffer.text_ || ""; + + if (buffer.text_.length > 4) { + var a = buffer.text_.length - 3; + + for (var i = 0; i < a; i += 3) { + ret.push(buffer.text_.substr(i, 3)); + ret.push({ + type_: '1000 separator' + }); + } + + ret.push(buffer.text_.substr(i)); + } else { + ret.push(buffer.text_); + } + + for (var p in buffer) { + delete buffer[p]; + } + + return ret; + } + } //#endregion + + } +}; // +// texify: Take MhchemParser output and convert it to TeX +// + +/** @type {Texify} */ + +var texify = { + go: function go(input, isInner) { + // (recursive, max 4 levels) + if (!input) { + return ""; + } + + var res = ""; + var cee = false; + + for (var i = 0; i < input.length; i++) { + var inputi = input[i]; + + if (typeof inputi === "string") { + res += inputi; + } else { + res += texify._go2(inputi); + + if (inputi.type_ === '1st-level escape') { + cee = true; + } + } + } + + if (!isInner && !cee && res) { + res = "{" + res + "}"; + } + + return res; + }, + _goInner: function _goInner(input) { + if (!input) { + return input; + } + + return texify.go(input, true); + }, + _go2: function _go2(buf) { + /** @type {undefined | string} */ + var res; + + switch (buf.type_) { + case 'chemfive': + res = ""; + var b5 = { + a: texify._goInner(buf.a), + b: texify._goInner(buf.b), + p: texify._goInner(buf.p), + o: texify._goInner(buf.o), + q: texify._goInner(buf.q), + d: texify._goInner(buf.d) + }; // + // a + // + + if (b5.a) { + if (b5.a.match(/^[+\-]/)) { + b5.a = "{" + b5.a + "}"; + } + + res += b5.a + "\\,"; + } // + // b and p + // + + + if (b5.b || b5.p) { + res += "{\\vphantom{X}}"; + res += "^{\\hphantom{" + (b5.b || "") + "}}_{\\hphantom{" + (b5.p || "") + "}}"; + res += "{\\vphantom{X}}"; + res += "^{\\smash[t]{\\vphantom{2}}\\mathllap{" + (b5.b || "") + "}}"; + res += "_{\\vphantom{2}\\mathllap{\\smash[t]{" + (b5.p || "") + "}}}"; + } // + // o + // + + + if (b5.o) { + if (b5.o.match(/^[+\-]/)) { + b5.o = "{" + b5.o + "}"; + } + + res += b5.o; + } // + // q and d + // + + + if (buf.dType === 'kv') { + if (b5.d || b5.q) { + res += "{\\vphantom{X}}"; + } + + if (b5.d) { + res += "^{" + b5.d + "}"; + } + + if (b5.q) { + res += "_{\\smash[t]{" + b5.q + "}}"; + } + } else if (buf.dType === 'oxidation') { + if (b5.d) { + res += "{\\vphantom{X}}"; + res += "^{" + b5.d + "}"; + } + + if (b5.q) { + res += "{\\vphantom{X}}"; + res += "_{\\smash[t]{" + b5.q + "}}"; + } + } else { + if (b5.q) { + res += "{\\vphantom{X}}"; + res += "_{\\smash[t]{" + b5.q + "}}"; + } + + if (b5.d) { + res += "{\\vphantom{X}}"; + res += "^{" + b5.d + "}"; + } + } + + break; + + case 'rm': + res = "\\mathrm{" + buf.p1 + "}"; + break; + + case 'text': + if (buf.p1.match(/[\^_]/)) { + buf.p1 = buf.p1.replace(" ", "~").replace("-", "\\text{-}"); + res = "\\mathrm{" + buf.p1 + "}"; + } else { + res = "\\text{" + buf.p1 + "}"; + } + + break; + + case 'roman numeral': + res = "\\mathrm{" + buf.p1 + "}"; + break; + + case 'state of aggregation': + res = "\\mskip2mu " + texify._goInner(buf.p1); + break; + + case 'state of aggregation subscript': + res = "\\mskip1mu " + texify._goInner(buf.p1); + break; + + case 'bond': + res = texify._getBond(buf.kind_); + + if (!res) { + throw ["MhchemErrorBond", "mhchem Error. Unknown bond type (" + buf.kind_ + ")"]; + } + + break; + + case 'frac': + var c = "\\frac{" + buf.p1 + "}{" + buf.p2 + "}"; + res = "\\mathchoice{\\textstyle" + c + "}{" + c + "}{" + c + "}{" + c + "}"; + break; + + case 'pu-frac': + var d = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + res = "\\mathchoice{\\textstyle" + d + "}{" + d + "}{" + d + "}{" + d + "}"; + break; + + case 'tex-math': + res = buf.p1 + " "; + break; + + case 'frac-ce': + res = "\\frac{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'overset': + res = "\\overset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'underset': + res = "\\underset{" + texify._goInner(buf.p1) + "}{" + texify._goInner(buf.p2) + "}"; + break; + + case 'underbrace': + res = "\\underbrace{" + texify._goInner(buf.p1) + "}_{" + texify._goInner(buf.p2) + "}"; + break; + + case 'color': + res = "{\\color{" + buf.color1 + "}{" + texify._goInner(buf.color2) + "}}"; + break; + + case 'color0': + res = "\\color{" + buf.color + "}"; + break; + + case 'arrow': + var b6 = { + rd: texify._goInner(buf.rd), + rq: texify._goInner(buf.rq) + }; + + var arrow = "\\x" + texify._getArrow(buf.r); + + if (b6.rq) { + arrow += "[{" + b6.rq + "}]"; + } + + if (b6.rd) { + arrow += "{" + b6.rd + "}"; + } else { + arrow += "{}"; + } + + res = arrow; + break; + + case 'operator': + res = texify._getOperator(buf.kind_); + break; + + case '1st-level escape': + res = buf.p1 + " "; // &, \\\\, \\hlin + + break; + + case 'space': + res = " "; + break; + + case 'entitySkip': + res = "~"; + break; + + case 'pu-space-1': + res = "~"; + break; + + case 'pu-space-2': + res = "\\mkern3mu "; + break; + + case '1000 separator': + res = "\\mkern2mu "; + break; + + case 'commaDecimal': + res = "{,}"; + break; + + case 'comma enumeration L': + res = "{" + buf.p1 + "}\\mkern6mu "; + break; + + case 'comma enumeration M': + res = "{" + buf.p1 + "}\\mkern3mu "; + break; + + case 'comma enumeration S': + res = "{" + buf.p1 + "}\\mkern1mu "; + break; + + case 'hyphen': + res = "\\text{-}"; + break; + + case 'addition compound': + res = "\\,{\\cdot}\\,"; + break; + + case 'electron dot': + res = "\\mkern1mu \\bullet\\mkern1mu "; + break; + + case 'KV x': + res = "{\\times}"; + break; + + case 'prime': + res = "\\prime "; + break; + + case 'cdot': + res = "\\cdot "; + break; + + case 'tight cdot': + res = "\\mkern1mu{\\cdot}\\mkern1mu "; + break; + + case 'times': + res = "\\times "; + break; + + case 'circa': + res = "{\\sim}"; + break; + + case '^': + res = "uparrow"; + break; + + case 'v': + res = "downarrow"; + break; + + case 'ellipsis': + res = "\\ldots "; + break; + + case '/': + res = "/"; + break; + + case ' / ': + res = "\\,/\\,"; + break; + + default: + throw ["MhchemBugT", "mhchem bug T. Please report."]; + // Missing texify rule or unknown MhchemParser output + } + return res; + }, + _getArrow: function _getArrow(a) { + switch (a) { + case "->": + return "rightarrow"; + + case "\u2192": + return "rightarrow"; + + case "\u27F6": + return "rightarrow"; + + case "<-": + return "leftarrow"; + + case "<->": + return "leftrightarrow"; + + case "<-->": + return "rightleftarrows"; + + case "<=>": + return "rightleftharpoons"; + + case "\u21CC": + return "rightleftharpoons"; + + case "<=>>": + return "rightequilibrium"; + + case "<<=>": + return "leftequilibrium"; + + default: + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getBond: function _getBond(a) { + switch (a) { + case "-": + return "{-}"; + + case "1": + return "{-}"; + + case "=": + return "{=}"; + + case "2": + return "{=}"; + + case "#": + return "{\\equiv}"; + + case "3": + return "{\\equiv}"; + + case "~": + return "{\\tripledash}"; + + case "~-": + return "{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}"; + + case "~=": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}"; + + case "~--": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}"; + + case "-~-": + return "{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}"; + + case "...": + return "{{\\cdot}{\\cdot}{\\cdot}}"; + + case "....": + return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}"; + + case "->": + return "{\\rightarrow}"; + + case "<-": + return "{\\leftarrow}"; + + case "<": + return "{<}"; + + case ">": + return "{>}"; + + default: + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + }, + _getOperator: function _getOperator(a) { + switch (a) { + case "+": + return " {}+{} "; + + case "-": + return " {}-{} "; + + case "=": + return " {}={} "; + + case "<": + return " {}<{} "; + + case ">": + return " {}>{} "; + + case "<<": + return " {}\\ll{} "; + + case ">>": + return " {}\\gg{} "; + + case "\\pm": + return " {}\\pm{} "; + + case "\\approx": + return " {}\\approx{} "; + + case "$\\approx$": + return " {}\\approx{} "; + + case "v": + return " \\downarrow{} "; + + case "(v)": + return " \\downarrow{} "; + + case "^": + return " \\uparrow{} "; + + case "(^)": + return " \\uparrow{} "; + + default: + throw ["MhchemBugT", "mhchem bug T. Please report."]; + } + } +}; // diff --git a/docs/static/katex/contrib/render-a11y-string.js b/docs/static/katex/contrib/render-a11y-string.js new file mode 100644 index 000000000..d8b27c77b --- /dev/null +++ b/docs/static/katex/contrib/render-a11y-string.js @@ -0,0 +1,870 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("katex")); + else if(typeof define === 'function' && define.amd) + define(["katex"], factory); + else { + var a = typeof exports === 'object' ? factory(require("katex")) : factory(root["katex"]); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_0__); +/** + * renderA11yString returns a readable string. + * + * In some cases the string will have the proper semantic math + * meaning,: + * renderA11yString("\\frac{1}{2}"") + * -> "start fraction, 1, divided by, 2, end fraction" + * + * However, other cases do not: + * renderA11yString("f(x) = x^2") + * -> "f, left parenthesis, x, right parenthesis, equals, x, squared" + * + * The commas in the string aim to increase ease of understanding + * when read by a screenreader. + */ +// NOTE: since we're importing types here these files won't actually be +// included in the build. +// $FlowIgnore: we import the types directly anyways + +var stringMap = { + "(": "left parenthesis", + ")": "right parenthesis", + "[": "open bracket", + "]": "close bracket", + "\\{": "left brace", + "\\}": "right brace", + "\\lvert": "open vertical bar", + "\\rvert": "close vertical bar", + "|": "vertical bar", + "\\uparrow": "up arrow", + "\\Uparrow": "up arrow", + "\\downarrow": "down arrow", + "\\Downarrow": "down arrow", + "\\updownarrow": "up down arrow", + "\\leftarrow": "left arrow", + "\\Leftarrow": "left arrow", + "\\rightarrow": "right arrow", + "\\Rightarrow": "right arrow", + "\\langle": "open angle", + "\\rangle": "close angle", + "\\lfloor": "open floor", + "\\rfloor": "close floor", + "\\int": "integral", + "\\intop": "integral", + "\\lim": "limit", + "\\ln": "natural log", + "\\log": "log", + "\\sin": "sine", + "\\cos": "cosine", + "\\tan": "tangent", + "\\cot": "cotangent", + "\\sum": "sum", + "/": "slash", + ",": "comma", + ".": "point", + "-": "negative", + "+": "plus", + "~": "tilde", + ":": "colon", + "?": "question mark", + "'": "apostrophe", + "\\%": "percent", + " ": "space", + "\\ ": "space", + "\\$": "dollar sign", + "\\angle": "angle", + "\\degree": "degree", + "\\circ": "circle", + "\\vec": "vector", + "\\triangle": "triangle", + "\\pi": "pi", + "\\prime": "prime", + "\\infty": "infinity", + "\\alpha": "alpha", + "\\beta": "beta", + "\\gamma": "gamma", + "\\omega": "omega", + "\\theta": "theta", + "\\sigma": "sigma", + "\\lambda": "lambda", + "\\tau": "tau", + "\\Delta": "delta", + "\\delta": "delta", + "\\mu": "mu", + "\\rho": "rho", + "\\nabla": "del", + "\\ell": "ell", + "\\ldots": "dots", + // TODO: add entries for all accents + "\\hat": "hat", + "\\acute": "acute" +}; +var powerMap = { + "prime": "prime", + "degree": "degrees", + "circle": "degrees", + "2": "squared", + "3": "cubed" +}; +var openMap = { + "|": "open vertical bar", + ".": "" +}; +var closeMap = { + "|": "close vertical bar", + ".": "" +}; +var binMap = { + "+": "plus", + "-": "minus", + "\\pm": "plus minus", + "\\cdot": "dot", + "*": "times", + "/": "divided by", + "\\times": "times", + "\\div": "divided by", + "\\circ": "circle", + "\\bullet": "bullet" +}; +var relMap = { + "=": "equals", + "\\approx": "approximately equals", + "≠": "does not equal", + "\\geq": "is greater than or equal to", + "\\ge": "is greater than or equal to", + "\\leq": "is less than or equal to", + "\\le": "is less than or equal to", + ">": "is greater than", + "<": "is less than", + "\\leftarrow": "left arrow", + "\\Leftarrow": "left arrow", + "\\rightarrow": "right arrow", + "\\Rightarrow": "right arrow", + ":": "colon" +}; +var accentUnderMap = { + "\\underleftarrow": "left arrow", + "\\underrightarrow": "right arrow", + "\\underleftrightarrow": "left-right arrow", + "\\undergroup": "group", + "\\underlinesegment": "line segment", + "\\utilde": "tilde" +}; + +var buildString = function buildString(str, type, a11yStrings) { + if (!str) { + return; + } + + var ret; + + if (type === "open") { + ret = str in openMap ? openMap[str] : stringMap[str] || str; + } else if (type === "close") { + ret = str in closeMap ? closeMap[str] : stringMap[str] || str; + } else if (type === "bin") { + ret = binMap[str] || str; + } else if (type === "rel") { + ret = relMap[str] || str; + } else { + ret = stringMap[str] || str; + } // If the text to add is a number and there is already a string + // in the list and the last string is a number then we should + // combine them into a single number + + + if (/^\d+$/.test(ret) && a11yStrings.length > 0 && // TODO(kevinb): check that the last item in a11yStrings is a string + // I think we might be able to drop the nested arrays, which would make + // this easier to type - $FlowFixMe + /^\d+$/.test(a11yStrings[a11yStrings.length - 1])) { + a11yStrings[a11yStrings.length - 1] += ret; + } else if (ret) { + a11yStrings.push(ret); + } +}; + +var buildRegion = function buildRegion(a11yStrings, callback) { + var regionStrings = []; + a11yStrings.push(regionStrings); + callback(regionStrings); +}; + +var handleObject = function handleObject(tree, a11yStrings, atomType) { + // Everything else is assumed to be an object... + switch (tree.type) { + case "accent": + { + buildRegion(a11yStrings, function (a11yStrings) { + buildA11yStrings(tree.base, a11yStrings, atomType); + a11yStrings.push("with"); + buildString(tree.label, "normal", a11yStrings); + a11yStrings.push("on top"); + }); + break; + } + + case "accentUnder": + { + buildRegion(a11yStrings, function (a11yStrings) { + buildA11yStrings(tree.base, a11yStrings, atomType); + a11yStrings.push("with"); + buildString(accentUnderMap[tree.label], "normal", a11yStrings); + a11yStrings.push("underneath"); + }); + break; + } + + case "accent-token": + { + // Used internally by accent symbols. + break; + } + + case "atom": + { + var text = tree.text; + + switch (tree.family) { + case "bin": + { + buildString(text, "bin", a11yStrings); + break; + } + + case "close": + { + buildString(text, "close", a11yStrings); + break; + } + // TODO(kevinb): figure out what should be done for inner + + case "inner": + { + buildString(tree.text, "inner", a11yStrings); + break; + } + + case "open": + { + buildString(text, "open", a11yStrings); + break; + } + + case "punct": + { + buildString(text, "punct", a11yStrings); + break; + } + + case "rel": + { + buildString(text, "rel", a11yStrings); + break; + } + + default: + { + tree.family; + throw new Error("\"" + tree.family + "\" is not a valid atom type"); + } + } + + break; + } + + case "color": + { + var color = tree.color.replace(/katex-/, ""); + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start color " + color); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end color " + color); + }); + break; + } + + case "color-token": + { + // Used by \color, \colorbox, and \fcolorbox but not directly rendered. + // It's a leaf node and has no children so just break. + break; + } + + case "delimsizing": + { + if (tree.delim && tree.delim !== ".") { + buildString(tree.delim, "normal", a11yStrings); + } + + break; + } + + case "genfrac": + { + buildRegion(a11yStrings, function (regionStrings) { + // genfrac can have unbalanced delimiters + var leftDelim = tree.leftDelim, + rightDelim = tree.rightDelim; // NOTE: Not sure if this is a safe assumption + // hasBarLine true -> fraction, false -> binomial + + if (tree.hasBarLine) { + regionStrings.push("start fraction"); + leftDelim && buildString(leftDelim, "open", regionStrings); + buildA11yStrings(tree.numer, regionStrings, atomType); + regionStrings.push("divided by"); + buildA11yStrings(tree.denom, regionStrings, atomType); + rightDelim && buildString(rightDelim, "close", regionStrings); + regionStrings.push("end fraction"); + } else { + regionStrings.push("start binomial"); + leftDelim && buildString(leftDelim, "open", regionStrings); + buildA11yStrings(tree.numer, regionStrings, atomType); + regionStrings.push("over"); + buildA11yStrings(tree.denom, regionStrings, atomType); + rightDelim && buildString(rightDelim, "close", regionStrings); + regionStrings.push("end binomial"); + } + }); + break; + } + + case "kern": + { + // No op: we don't attempt to present kerning information + // to the screen reader. + break; + } + + case "leftright": + { + buildRegion(a11yStrings, function (regionStrings) { + buildString(tree.left, "open", regionStrings); + buildA11yStrings(tree.body, regionStrings, atomType); + buildString(tree.right, "close", regionStrings); + }); + break; + } + + case "leftright-right": + { + // TODO: double check that this is a no-op + break; + } + + case "lap": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "mathord": + { + buildString(tree.text, "normal", a11yStrings); + break; + } + + case "op": + { + var body = tree.body, + name = tree.name; + + if (body) { + buildA11yStrings(body, a11yStrings, atomType); + } else if (name) { + buildString(name, "normal", a11yStrings); + } + + break; + } + + case "op-token": + { + // Used internally by operator symbols. + buildString(tree.text, atomType, a11yStrings); + break; + } + + case "ordgroup": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "overline": + { + buildRegion(a11yStrings, function (a11yStrings) { + a11yStrings.push("start overline"); + buildA11yStrings(tree.body, a11yStrings, atomType); + a11yStrings.push("end overline"); + }); + break; + } + + case "phantom": + { + a11yStrings.push("empty space"); + break; + } + + case "raisebox": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "rule": + { + a11yStrings.push("rectangle"); + break; + } + + case "sizing": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "spacing": + { + a11yStrings.push("space"); + break; + } + + case "styling": + { + // We ignore the styling and just pass through the contents + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "sqrt": + { + buildRegion(a11yStrings, function (regionStrings) { + var body = tree.body, + index = tree.index; + + if (index) { + var indexString = flatten(buildA11yStrings(index, [], atomType)).join(","); + + if (indexString === "3") { + regionStrings.push("cube root of"); + buildA11yStrings(body, regionStrings, atomType); + regionStrings.push("end cube root"); + return; + } + + regionStrings.push("root"); + regionStrings.push("start index"); + buildA11yStrings(index, regionStrings, atomType); + regionStrings.push("end index"); + return; + } + + regionStrings.push("square root of"); + buildA11yStrings(body, regionStrings, atomType); + regionStrings.push("end square root"); + }); + break; + } + + case "supsub": + { + var base = tree.base, + sub = tree.sub, + sup = tree.sup; + var isLog = false; + + if (base) { + buildA11yStrings(base, a11yStrings, atomType); + isLog = base.type === "op" && base.name === "\\log"; + } + + if (sub) { + var regionName = isLog ? "base" : "subscript"; + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start " + regionName); + buildA11yStrings(sub, regionStrings, atomType); + regionStrings.push("end " + regionName); + }); + } + + if (sup) { + buildRegion(a11yStrings, function (regionStrings) { + var supString = flatten(buildA11yStrings(sup, [], atomType)).join(","); + + if (supString in powerMap) { + regionStrings.push(powerMap[supString]); + return; + } + + regionStrings.push("start superscript"); + buildA11yStrings(sup, regionStrings, atomType); + regionStrings.push("end superscript"); + }); + } + + break; + } + + case "text": + { + // TODO: handle other fonts + if (tree.font === "\\textbf") { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start bold text"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end bold text"); + }); + break; + } + + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start text"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end text"); + }); + break; + } + + case "textord": + { + buildString(tree.text, atomType, a11yStrings); + break; + } + + case "smash": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "enclose": + { + // TODO: create a map for these. + // TODO: differentiate between a body with a single atom, e.g. + // "cancel a" instead of "start cancel, a, end cancel" + if (/cancel/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start cancel"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end cancel"); + }); + break; + } else if (/box/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start box"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end box"); + }); + break; + } else if (/sout/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start strikeout"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end strikeout"); + }); + break; + } + + throw new Error("KaTeX-a11y: enclose node with " + tree.label + " not supported yet"); + } + + case "vphantom": + { + throw new Error("KaTeX-a11y: vphantom not implemented yet"); + } + + case "hphantom": + { + throw new Error("KaTeX-a11y: hphantom not implemented yet"); + } + + case "operatorname": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "array": + { + throw new Error("KaTeX-a11y: array not implemented yet"); + } + + case "raw": + { + throw new Error("KaTeX-a11y: raw not implemented yet"); + } + + case "size": + { + // Although there are nodes of type "size" in the parse tree, they have + // no semantic meaning and should be ignored. + break; + } + + case "url": + { + throw new Error("KaTeX-a11y: url not implemented yet"); + } + + case "tag": + { + throw new Error("KaTeX-a11y: tag not implemented yet"); + } + + case "verb": + { + buildString("start verbatim", "normal", a11yStrings); + buildString(tree.body, "normal", a11yStrings); + buildString("end verbatim", "normal", a11yStrings); + break; + } + + case "environment": + { + throw new Error("KaTeX-a11y: environment not implemented yet"); + } + + case "horizBrace": + { + buildString("start " + tree.label.slice(1), "normal", a11yStrings); + buildA11yStrings(tree.base, a11yStrings, atomType); + buildString("end " + tree.label.slice(1), "normal", a11yStrings); + break; + } + + case "infix": + { + // All infix nodes are replace with other nodes. + break; + } + + case "includegraphics": + { + throw new Error("KaTeX-a11y: includegraphics not implemented yet"); + } + + case "font": + { + // TODO: callout the start/end of specific fonts + // TODO: map \BBb{N} to "the naturals" or something like that + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "href": + { + throw new Error("KaTeX-a11y: href not implemented yet"); + } + + case "cr": + { + // This is used by environments. + throw new Error("KaTeX-a11y: cr not implemented yet"); + } + + case "underline": + { + buildRegion(a11yStrings, function (a11yStrings) { + a11yStrings.push("start underline"); + buildA11yStrings(tree.body, a11yStrings, atomType); + a11yStrings.push("end underline"); + }); + break; + } + + case "xArrow": + { + throw new Error("KaTeX-a11y: xArrow not implemented yet"); + } + + case "mclass": + { + // \neq and \ne are macros so we let "htmlmathml" render the mathmal + // side of things and extract the text from that. + var _atomType = tree.mclass.slice(1); // $FlowFixMe: drop the leading "m" from the values in mclass + + + buildA11yStrings(tree.body, a11yStrings, _atomType); + break; + } + + case "mathchoice": + { + // TODO: track which which style we're using, e.g. dispaly, text, etc. + // default to text style if even that may not be the correct style + buildA11yStrings(tree.text, a11yStrings, atomType); + break; + } + + case "htmlmathml": + { + buildA11yStrings(tree.mathml, a11yStrings, atomType); + break; + } + + case "middle": + { + buildString(tree.delim, atomType, a11yStrings); + break; + } + + case "internal": + { + // internal nodes are never included in the parse tree + break; + } + + case "html": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + default: + tree.type; + throw new Error("KaTeX a11y un-recognized type: " + tree.type); + } +}; + +var buildA11yStrings = function buildA11yStrings(tree, a11yStrings, atomType) { + if (a11yStrings === void 0) { + a11yStrings = []; + } + + if (tree instanceof Array) { + for (var i = 0; i < tree.length; i++) { + buildA11yStrings(tree[i], a11yStrings, atomType); + } + } else { + handleObject(tree, a11yStrings, atomType); + } + + return a11yStrings; +}; + +var flatten = function flatten(array) { + var result = []; + array.forEach(function (item) { + if (item instanceof Array) { + result = result.concat(flatten(item)); + } else { + result.push(item); + } + }); + return result; +}; + +var renderA11yString = function renderA11yString(text, settings) { + var tree = katex__WEBPACK_IMPORTED_MODULE_0___default.a.__parse(text, settings); + + var a11yStrings = buildA11yStrings(tree, [], "normal"); + return flatten(a11yStrings).join(", "); +}; + +/* harmony default export */ __webpack_exports__["default"] = (renderA11yString); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/docs/static/katex/contrib/render-a11y-string.min.js b/docs/static/katex/contrib/render-a11y-string.min.js new file mode 100644 index 000000000..5d406a6c6 --- /dev/null +++ b/docs/static/katex/contrib/render-a11y-string.min.js @@ -0,0 +1 @@ +!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("katex"));else if("function"==typeof define&&define.amd)define(["katex"],r);else{var t="object"==typeof exports?r(require("katex")):r(e.katex);for(var a in t)("object"==typeof exports?exports:e)[a]=t[a]}}("undefined"!=typeof self?self:this,function(e){return function(e){var r={};function t(a){if(r[a])return r[a].exports;var o=r[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=r,t.d=function(e,r,a){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:a})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(t.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(a,o,function(r){return e[r]}.bind(null,o));return a},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=1)}([function(r,t){r.exports=e},function(e,r,t){"use strict";t.r(r);var a=t(0),o=t.n(a),n={"(":"left parenthesis",")":"right parenthesis","[":"open bracket","]":"close bracket","\\{":"left brace","\\}":"right brace","\\lvert":"open vertical bar","\\rvert":"close vertical bar","|":"vertical bar","\\uparrow":"up arrow","\\Uparrow":"up arrow","\\downarrow":"down arrow","\\Downarrow":"down arrow","\\updownarrow":"up down arrow","\\leftarrow":"left arrow","\\Leftarrow":"left arrow","\\rightarrow":"right arrow","\\Rightarrow":"right arrow","\\langle":"open angle","\\rangle":"close angle","\\lfloor":"open floor","\\rfloor":"close floor","\\int":"integral","\\intop":"integral","\\lim":"limit","\\ln":"natural log","\\log":"log","\\sin":"sine","\\cos":"cosine","\\tan":"tangent","\\cot":"cotangent","\\sum":"sum","/":"slash",",":"comma",".":"point","-":"negative","+":"plus","~":"tilde",":":"colon","?":"question mark","'":"apostrophe","\\%":"percent"," ":"space","\\ ":"space","\\$":"dollar sign","\\angle":"angle","\\degree":"degree","\\circ":"circle","\\vec":"vector","\\triangle":"triangle","\\pi":"pi","\\prime":"prime","\\infty":"infinity","\\alpha":"alpha","\\beta":"beta","\\gamma":"gamma","\\omega":"omega","\\theta":"theta","\\sigma":"sigma","\\lambda":"lambda","\\tau":"tau","\\Delta":"delta","\\delta":"delta","\\mu":"mu","\\rho":"rho","\\nabla":"del","\\ell":"ell","\\ldots":"dots","\\hat":"hat","\\acute":"acute"},s={prime:"prime",degree:"degrees",circle:"degrees",2:"squared",3:"cubed"},i={"|":"open vertical bar",".":""},l={"|":"close vertical bar",".":""},c={"+":"plus","-":"minus","\\pm":"plus minus","\\cdot":"dot","*":"times","/":"divided by","\\times":"times","\\div":"divided by","\\circ":"circle","\\bullet":"bullet"},u={"=":"equals","\\approx":"approximately equals","\u2260":"does not equal","\\geq":"is greater than or equal to","\\ge":"is greater than or equal to","\\leq":"is less than or equal to","\\le":"is less than or equal to",">":"is greater than","<":"is less than","\\leftarrow":"left arrow","\\Leftarrow":"left arrow","\\rightarrow":"right arrow","\\Rightarrow":"right arrow",":":"colon"},p={"\\underleftarrow":"left arrow","\\underrightarrow":"right arrow","\\underleftrightarrow":"left-right arrow","\\undergroup":"group","\\underlinesegment":"line segment","\\utilde":"tilde"},d=function(e,r,t){var a;e&&(/^\d+$/.test(a="open"===r?e in i?i[e]:n[e]||e:"close"===r?e in l?l[e]:n[e]||e:"bin"===r?c[e]||e:"rel"===r?u[e]||e:n[e]||e)&&t.length>0&&/^\d+$/.test(t[t.length-1])?t[t.length-1]+=a:a&&t.push(a))},b=function(e,r){var t=[];e.push(t),r(t)},h=function(e,r,t){switch(e.type){case"accent":b(r,function(r){f(e.base,r,t),r.push("with"),d(e.label,"normal",r),r.push("on top")});break;case"accentUnder":b(r,function(r){f(e.base,r,t),r.push("with"),d(p[e.label],"normal",r),r.push("underneath")});break;case"accent-token":break;case"atom":var a=e.text;switch(e.family){case"bin":d(a,"bin",r);break;case"close":d(a,"close",r);break;case"inner":d(e.text,"inner",r);break;case"open":d(a,"open",r);break;case"punct":d(a,"punct",r);break;case"rel":d(a,"rel",r);break;default:throw e.family,new Error('"'+e.family+'" is not a valid atom type')}break;case"color":var o=e.color.replace(/katex-/,"");b(r,function(r){r.push("start color "+o),f(e.body,r,t),r.push("end color "+o)});break;case"color-token":break;case"delimsizing":e.delim&&"."!==e.delim&&d(e.delim,"normal",r);break;case"genfrac":b(r,function(r){var a=e.leftDelim,o=e.rightDelim;e.hasBarLine?(r.push("start fraction"),a&&d(a,"open",r),f(e.numer,r,t),r.push("divided by"),f(e.denom,r,t),o&&d(o,"close",r),r.push("end fraction")):(r.push("start binomial"),a&&d(a,"open",r),f(e.numer,r,t),r.push("over"),f(e.denom,r,t),o&&d(o,"close",r),r.push("end binomial"))});break;case"kern":break;case"leftright":b(r,function(r){d(e.left,"open",r),f(e.body,r,t),d(e.right,"close",r)});break;case"leftright-right":break;case"lap":f(e.body,r,t);break;case"mathord":d(e.text,"normal",r);break;case"op":var n=e.body,i=e.name;n?f(n,r,t):i&&d(i,"normal",r);break;case"op-token":d(e.text,t,r);break;case"ordgroup":f(e.body,r,t);break;case"overline":b(r,function(r){r.push("start overline"),f(e.body,r,t),r.push("end overline")});break;case"phantom":r.push("empty space");break;case"raisebox":f(e.body,r,t);break;case"rule":r.push("rectangle");break;case"sizing":f(e.body,r,t);break;case"spacing":r.push("space");break;case"styling":f(e.body,r,t);break;case"sqrt":b(r,function(r){var a=e.body,o=e.index;if(o)return"3"===m(f(o,[],t)).join(",")?(r.push("cube root of"),f(a,r,t),void r.push("end cube root")):(r.push("root"),r.push("start index"),f(o,r,t),void r.push("end index"));r.push("square root of"),f(a,r,t),r.push("end square root")});break;case"supsub":var l=e.base,c=e.sub,u=e.sup,h=!1;if(l&&(f(l,r,t),h="op"===l.type&&"\\log"===l.name),c){var y=h?"base":"subscript";b(r,function(e){e.push("start "+y),f(c,e,t),e.push("end "+y)})}u&&b(r,function(e){var r=m(f(u,[],t)).join(",");r in s?e.push(s[r]):(e.push("start superscript"),f(u,e,t),e.push("end superscript"))});break;case"text":if("\\textbf"===e.font){b(r,function(r){r.push("start bold text"),f(e.body,r,t),r.push("end bold text")});break}b(r,function(r){r.push("start text"),f(e.body,r,t),r.push("end text")});break;case"textord":d(e.text,t,r);break;case"smash":f(e.body,r,t);break;case"enclose":if(/cancel/.test(e.label)){b(r,function(r){r.push("start cancel"),f(e.body,r,t),r.push("end cancel")});break}if(/box/.test(e.label)){b(r,function(r){r.push("start box"),f(e.body,r,t),r.push("end box")});break}if(/sout/.test(e.label)){b(r,function(r){r.push("start strikeout"),f(e.body,r,t),r.push("end strikeout")});break}throw new Error("KaTeX-a11y: enclose node with "+e.label+" not supported yet");case"vphantom":throw new Error("KaTeX-a11y: vphantom not implemented yet");case"hphantom":throw new Error("KaTeX-a11y: hphantom not implemented yet");case"operatorname":f(e.body,r,t);break;case"array":throw new Error("KaTeX-a11y: array not implemented yet");case"raw":throw new Error("KaTeX-a11y: raw not implemented yet");case"size":break;case"url":throw new Error("KaTeX-a11y: url not implemented yet");case"tag":throw new Error("KaTeX-a11y: tag not implemented yet");case"verb":d("start verbatim","normal",r),d(e.body,"normal",r),d("end verbatim","normal",r);break;case"environment":throw new Error("KaTeX-a11y: environment not implemented yet");case"horizBrace":d("start "+e.label.slice(1),"normal",r),f(e.base,r,t),d("end "+e.label.slice(1),"normal",r);break;case"infix":break;case"includegraphics":throw new Error("KaTeX-a11y: includegraphics not implemented yet");case"font":f(e.body,r,t);break;case"href":throw new Error("KaTeX-a11y: href not implemented yet");case"cr":throw new Error("KaTeX-a11y: cr not implemented yet");case"underline":b(r,function(r){r.push("start underline"),f(e.body,r,t),r.push("end underline")});break;case"xArrow":throw new Error("KaTeX-a11y: xArrow not implemented yet");case"mclass":var g=e.mclass.slice(1);f(e.body,r,g);break;case"mathchoice":f(e.text,r,t);break;case"htmlmathml":f(e.mathml,r,t);break;case"middle":d(e.delim,t,r);break;case"internal":break;case"html":f(e.body,r,t);break;default:throw e.type,new Error("KaTeX a11y un-recognized type: "+e.type)}},f=function e(r,t,a){if(void 0===t&&(t=[]),r instanceof Array)for(var o=0;o "start fraction, 1, divided by, 2, end fraction" + * + * However, other cases do not: + * renderA11yString("f(x) = x^2") + * -> "f, left parenthesis, x, right parenthesis, equals, x, squared" + * + * The commas in the string aim to increase ease of understanding + * when read by a screenreader. + */ +const stringMap = { + "(": "left parenthesis", + ")": "right parenthesis", + "[": "open bracket", + "]": "close bracket", + "\\{": "left brace", + "\\}": "right brace", + "\\lvert": "open vertical bar", + "\\rvert": "close vertical bar", + "|": "vertical bar", + "\\uparrow": "up arrow", + "\\Uparrow": "up arrow", + "\\downarrow": "down arrow", + "\\Downarrow": "down arrow", + "\\updownarrow": "up down arrow", + "\\leftarrow": "left arrow", + "\\Leftarrow": "left arrow", + "\\rightarrow": "right arrow", + "\\Rightarrow": "right arrow", + "\\langle": "open angle", + "\\rangle": "close angle", + "\\lfloor": "open floor", + "\\rfloor": "close floor", + "\\int": "integral", + "\\intop": "integral", + "\\lim": "limit", + "\\ln": "natural log", + "\\log": "log", + "\\sin": "sine", + "\\cos": "cosine", + "\\tan": "tangent", + "\\cot": "cotangent", + "\\sum": "sum", + "/": "slash", + ",": "comma", + ".": "point", + "-": "negative", + "+": "plus", + "~": "tilde", + ":": "colon", + "?": "question mark", + "'": "apostrophe", + "\\%": "percent", + " ": "space", + "\\ ": "space", + "\\$": "dollar sign", + "\\angle": "angle", + "\\degree": "degree", + "\\circ": "circle", + "\\vec": "vector", + "\\triangle": "triangle", + "\\pi": "pi", + "\\prime": "prime", + "\\infty": "infinity", + "\\alpha": "alpha", + "\\beta": "beta", + "\\gamma": "gamma", + "\\omega": "omega", + "\\theta": "theta", + "\\sigma": "sigma", + "\\lambda": "lambda", + "\\tau": "tau", + "\\Delta": "delta", + "\\delta": "delta", + "\\mu": "mu", + "\\rho": "rho", + "\\nabla": "del", + "\\ell": "ell", + "\\ldots": "dots", + // TODO: add entries for all accents + "\\hat": "hat", + "\\acute": "acute" +}; +const powerMap = { + "prime": "prime", + "degree": "degrees", + "circle": "degrees", + "2": "squared", + "3": "cubed" +}; +const openMap = { + "|": "open vertical bar", + ".": "" +}; +const closeMap = { + "|": "close vertical bar", + ".": "" +}; +const binMap = { + "+": "plus", + "-": "minus", + "\\pm": "plus minus", + "\\cdot": "dot", + "*": "times", + "/": "divided by", + "\\times": "times", + "\\div": "divided by", + "\\circ": "circle", + "\\bullet": "bullet" +}; +const relMap = { + "=": "equals", + "\\approx": "approximately equals", + "≠": "does not equal", + "\\geq": "is greater than or equal to", + "\\ge": "is greater than or equal to", + "\\leq": "is less than or equal to", + "\\le": "is less than or equal to", + ">": "is greater than", + "<": "is less than", + "\\leftarrow": "left arrow", + "\\Leftarrow": "left arrow", + "\\rightarrow": "right arrow", + "\\Rightarrow": "right arrow", + ":": "colon" +}; +const accentUnderMap = { + "\\underleftarrow": "left arrow", + "\\underrightarrow": "right arrow", + "\\underleftrightarrow": "left-right arrow", + "\\undergroup": "group", + "\\underlinesegment": "line segment", + "\\utilde": "tilde" +}; + +const buildString = (str, type, a11yStrings) => { + if (!str) { + return; + } + + let ret; + + if (type === "open") { + ret = str in openMap ? openMap[str] : stringMap[str] || str; + } else if (type === "close") { + ret = str in closeMap ? closeMap[str] : stringMap[str] || str; + } else if (type === "bin") { + ret = binMap[str] || str; + } else if (type === "rel") { + ret = relMap[str] || str; + } else { + ret = stringMap[str] || str; + } // If the text to add is a number and there is already a string + // in the list and the last string is a number then we should + // combine them into a single number + + + if (/^\d+$/.test(ret) && a11yStrings.length > 0 && // TODO(kevinb): check that the last item in a11yStrings is a string + // I think we might be able to drop the nested arrays, which would make + // this easier to type - $FlowFixMe + /^\d+$/.test(a11yStrings[a11yStrings.length - 1])) { + a11yStrings[a11yStrings.length - 1] += ret; + } else if (ret) { + a11yStrings.push(ret); + } +}; + +const buildRegion = (a11yStrings, callback) => { + const regionStrings = []; + a11yStrings.push(regionStrings); + callback(regionStrings); +}; + +const handleObject = (tree, a11yStrings, atomType) => { + // Everything else is assumed to be an object... + switch (tree.type) { + case "accent": + { + buildRegion(a11yStrings, a11yStrings => { + buildA11yStrings(tree.base, a11yStrings, atomType); + a11yStrings.push("with"); + buildString(tree.label, "normal", a11yStrings); + a11yStrings.push("on top"); + }); + break; + } + + case "accentUnder": + { + buildRegion(a11yStrings, a11yStrings => { + buildA11yStrings(tree.base, a11yStrings, atomType); + a11yStrings.push("with"); + buildString(accentUnderMap[tree.label], "normal", a11yStrings); + a11yStrings.push("underneath"); + }); + break; + } + + case "accent-token": + { + // Used internally by accent symbols. + break; + } + + case "atom": + { + const text = tree.text; + + switch (tree.family) { + case "bin": + { + buildString(text, "bin", a11yStrings); + break; + } + + case "close": + { + buildString(text, "close", a11yStrings); + break; + } + // TODO(kevinb): figure out what should be done for inner + + case "inner": + { + buildString(tree.text, "inner", a11yStrings); + break; + } + + case "open": + { + buildString(text, "open", a11yStrings); + break; + } + + case "punct": + { + buildString(text, "punct", a11yStrings); + break; + } + + case "rel": + { + buildString(text, "rel", a11yStrings); + break; + } + + default: + { + tree.family; + throw new Error(`"${tree.family}" is not a valid atom type`); + } + } + + break; + } + + case "color": + { + const color = tree.color.replace(/katex-/, ""); + buildRegion(a11yStrings, regionStrings => { + regionStrings.push("start color " + color); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end color " + color); + }); + break; + } + + case "color-token": + { + // Used by \color, \colorbox, and \fcolorbox but not directly rendered. + // It's a leaf node and has no children so just break. + break; + } + + case "delimsizing": + { + if (tree.delim && tree.delim !== ".") { + buildString(tree.delim, "normal", a11yStrings); + } + + break; + } + + case "genfrac": + { + buildRegion(a11yStrings, regionStrings => { + // genfrac can have unbalanced delimiters + const leftDelim = tree.leftDelim, + rightDelim = tree.rightDelim; // NOTE: Not sure if this is a safe assumption + // hasBarLine true -> fraction, false -> binomial + + if (tree.hasBarLine) { + regionStrings.push("start fraction"); + leftDelim && buildString(leftDelim, "open", regionStrings); + buildA11yStrings(tree.numer, regionStrings, atomType); + regionStrings.push("divided by"); + buildA11yStrings(tree.denom, regionStrings, atomType); + rightDelim && buildString(rightDelim, "close", regionStrings); + regionStrings.push("end fraction"); + } else { + regionStrings.push("start binomial"); + leftDelim && buildString(leftDelim, "open", regionStrings); + buildA11yStrings(tree.numer, regionStrings, atomType); + regionStrings.push("over"); + buildA11yStrings(tree.denom, regionStrings, atomType); + rightDelim && buildString(rightDelim, "close", regionStrings); + regionStrings.push("end binomial"); + } + }); + break; + } + + case "kern": + { + // No op: we don't attempt to present kerning information + // to the screen reader. + break; + } + + case "leftright": + { + buildRegion(a11yStrings, regionStrings => { + buildString(tree.left, "open", regionStrings); + buildA11yStrings(tree.body, regionStrings, atomType); + buildString(tree.right, "close", regionStrings); + }); + break; + } + + case "leftright-right": + { + // TODO: double check that this is a no-op + break; + } + + case "lap": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "mathord": + { + buildString(tree.text, "normal", a11yStrings); + break; + } + + case "op": + { + const body = tree.body, + name = tree.name; + + if (body) { + buildA11yStrings(body, a11yStrings, atomType); + } else if (name) { + buildString(name, "normal", a11yStrings); + } + + break; + } + + case "op-token": + { + // Used internally by operator symbols. + buildString(tree.text, atomType, a11yStrings); + break; + } + + case "ordgroup": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "overline": + { + buildRegion(a11yStrings, function (a11yStrings) { + a11yStrings.push("start overline"); + buildA11yStrings(tree.body, a11yStrings, atomType); + a11yStrings.push("end overline"); + }); + break; + } + + case "phantom": + { + a11yStrings.push("empty space"); + break; + } + + case "raisebox": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "rule": + { + a11yStrings.push("rectangle"); + break; + } + + case "sizing": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "spacing": + { + a11yStrings.push("space"); + break; + } + + case "styling": + { + // We ignore the styling and just pass through the contents + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "sqrt": + { + buildRegion(a11yStrings, regionStrings => { + const body = tree.body, + index = tree.index; + + if (index) { + const indexString = flatten(buildA11yStrings(index, [], atomType)).join(","); + + if (indexString === "3") { + regionStrings.push("cube root of"); + buildA11yStrings(body, regionStrings, atomType); + regionStrings.push("end cube root"); + return; + } + + regionStrings.push("root"); + regionStrings.push("start index"); + buildA11yStrings(index, regionStrings, atomType); + regionStrings.push("end index"); + return; + } + + regionStrings.push("square root of"); + buildA11yStrings(body, regionStrings, atomType); + regionStrings.push("end square root"); + }); + break; + } + + case "supsub": + { + const base = tree.base, + sub = tree.sub, + sup = tree.sup; + let isLog = false; + + if (base) { + buildA11yStrings(base, a11yStrings, atomType); + isLog = base.type === "op" && base.name === "\\log"; + } + + if (sub) { + const regionName = isLog ? "base" : "subscript"; + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push(`start ${regionName}`); + buildA11yStrings(sub, regionStrings, atomType); + regionStrings.push(`end ${regionName}`); + }); + } + + if (sup) { + buildRegion(a11yStrings, function (regionStrings) { + const supString = flatten(buildA11yStrings(sup, [], atomType)).join(","); + + if (supString in powerMap) { + regionStrings.push(powerMap[supString]); + return; + } + + regionStrings.push("start superscript"); + buildA11yStrings(sup, regionStrings, atomType); + regionStrings.push("end superscript"); + }); + } + + break; + } + + case "text": + { + // TODO: handle other fonts + if (tree.font === "\\textbf") { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start bold text"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end bold text"); + }); + break; + } + + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start text"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end text"); + }); + break; + } + + case "textord": + { + buildString(tree.text, atomType, a11yStrings); + break; + } + + case "smash": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "enclose": + { + // TODO: create a map for these. + // TODO: differentiate between a body with a single atom, e.g. + // "cancel a" instead of "start cancel, a, end cancel" + if (/cancel/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start cancel"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end cancel"); + }); + break; + } else if (/box/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start box"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end box"); + }); + break; + } else if (/sout/.test(tree.label)) { + buildRegion(a11yStrings, function (regionStrings) { + regionStrings.push("start strikeout"); + buildA11yStrings(tree.body, regionStrings, atomType); + regionStrings.push("end strikeout"); + }); + break; + } + + throw new Error(`KaTeX-a11y: enclose node with ${tree.label} not supported yet`); + } + + case "vphantom": + { + throw new Error("KaTeX-a11y: vphantom not implemented yet"); + } + + case "hphantom": + { + throw new Error("KaTeX-a11y: hphantom not implemented yet"); + } + + case "operatorname": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "array": + { + throw new Error("KaTeX-a11y: array not implemented yet"); + } + + case "raw": + { + throw new Error("KaTeX-a11y: raw not implemented yet"); + } + + case "size": + { + // Although there are nodes of type "size" in the parse tree, they have + // no semantic meaning and should be ignored. + break; + } + + case "url": + { + throw new Error("KaTeX-a11y: url not implemented yet"); + } + + case "tag": + { + throw new Error("KaTeX-a11y: tag not implemented yet"); + } + + case "verb": + { + buildString(`start verbatim`, "normal", a11yStrings); + buildString(tree.body, "normal", a11yStrings); + buildString(`end verbatim`, "normal", a11yStrings); + break; + } + + case "environment": + { + throw new Error("KaTeX-a11y: environment not implemented yet"); + } + + case "horizBrace": + { + buildString(`start ${tree.label.slice(1)}`, "normal", a11yStrings); + buildA11yStrings(tree.base, a11yStrings, atomType); + buildString(`end ${tree.label.slice(1)}`, "normal", a11yStrings); + break; + } + + case "infix": + { + // All infix nodes are replace with other nodes. + break; + } + + case "includegraphics": + { + throw new Error("KaTeX-a11y: includegraphics not implemented yet"); + } + + case "font": + { + // TODO: callout the start/end of specific fonts + // TODO: map \BBb{N} to "the naturals" or something like that + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "href": + { + throw new Error("KaTeX-a11y: href not implemented yet"); + } + + case "cr": + { + // This is used by environments. + throw new Error("KaTeX-a11y: cr not implemented yet"); + } + + case "underline": + { + buildRegion(a11yStrings, function (a11yStrings) { + a11yStrings.push("start underline"); + buildA11yStrings(tree.body, a11yStrings, atomType); + a11yStrings.push("end underline"); + }); + break; + } + + case "xArrow": + { + throw new Error("KaTeX-a11y: xArrow not implemented yet"); + } + + case "mclass": + { + // \neq and \ne are macros so we let "htmlmathml" render the mathmal + // side of things and extract the text from that. + const atomType = tree.mclass.slice(1); // $FlowFixMe: drop the leading "m" from the values in mclass + + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + case "mathchoice": + { + // TODO: track which which style we're using, e.g. dispaly, text, etc. + // default to text style if even that may not be the correct style + buildA11yStrings(tree.text, a11yStrings, atomType); + break; + } + + case "htmlmathml": + { + buildA11yStrings(tree.mathml, a11yStrings, atomType); + break; + } + + case "middle": + { + buildString(tree.delim, atomType, a11yStrings); + break; + } + + case "internal": + { + // internal nodes are never included in the parse tree + break; + } + + case "html": + { + buildA11yStrings(tree.body, a11yStrings, atomType); + break; + } + + default: + tree.type; + throw new Error("KaTeX a11y un-recognized type: " + tree.type); + } +}; + +const buildA11yStrings = function buildA11yStrings(tree, a11yStrings, atomType) { + if (a11yStrings === void 0) { + a11yStrings = []; + } + + if (tree instanceof Array) { + for (let i = 0; i < tree.length; i++) { + buildA11yStrings(tree[i], a11yStrings, atomType); + } + } else { + handleObject(tree, a11yStrings, atomType); + } + + return a11yStrings; +}; + +const flatten = function flatten(array) { + let result = []; + array.forEach(function (item) { + if (item instanceof Array) { + result = result.concat(flatten(item)); + } else { + result.push(item); + } + }); + return result; +}; + +const renderA11yString = function renderA11yString(text, settings) { + const tree = katex.__parse(text, settings); + + const a11yStrings = buildA11yStrings(tree, [], "normal"); + return flatten(a11yStrings).join(", "); +}; + +export default renderA11yString; diff --git a/docs/static/katex/fonts/KaTeX_AMS-Regular.ttf b/docs/static/katex/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..737cf8eb58a98d8717f742fca3f10f6d214e4e22 GIT binary patch literal 70936 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 fmBe8g} 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_AMS-Regular.woff b/docs/static/katex/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..38378bfba8d66d78d68b0a392316adca9e042a11 GIT binary patch literal 36912 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 I0ssF150Nz-vj6}9 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_AMS-Regular.woff2 b/docs/static/katex/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a4d1ba64101f2102fd7dfab61bb98ade4de55870 GIT binary patch literal 31136 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Caligraphic-Bold.woff b/docs/static/katex/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..a01ce906060328399bad5499e87b6bac40f8fb3c GIT binary patch literal 9376 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 J-roVV{|A7QZfO7j literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Caligraphic-Bold.woff2 b/docs/static/katex/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..37927274af1e1e3eabcf1763e9dbc261473dc4ef GIT binary patch literal 8392 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 Am;e9( literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Caligraphic-Regular.woff b/docs/static/katex/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..bc169b7cdd8b30947558f542d59ab407a0646ab9 GIT binary patch literal 9148 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Fraktur-Bold.ttf b/docs/static/katex/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c42d169167d78a1d93b4fb3f85f168417b5bafd0 GIT binary patch literal 24400 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 yz@B<4V()6)Y literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Fraktur-Bold.woff b/docs/static/katex/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..f30b54b3d1c494e73e6af651165cfe572d8663dc GIT binary patch literal 16208 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Fraktur-Bold.woff2 b/docs/static/katex/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b7a83593a8d3170d69921e7d3d63e0289926bae6 GIT binary patch literal 13912 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 mgkHhB#y*ao@qs@~N~W*%9dQyy6aWdtE%7o z9pB&aUNxbF5EFTj@ML5EVyR>7&u4#ukm<*8bYtuM=EYz7^`oD_{&%qds;xWkh;T8} z8X>Ffe9wuCC(r+p<4^w&Av4Db(ZB8F=H-hxZXx6_`Vh^@b9bNk(nD{%5AE*~GX5v0 zwl|M^AA0LugiL+}$Ev4rKpx|9?KD0le(L-kSAXMoj0K#3o)G%rx!bljH_z|?G9eS} z`JX+%dG#WFi(vx$zl;6Ih0XKZM}FhJ70~lrgb1fD-gfzpr;Q&*-$Qv^pS^f#`{J8k z_oL4fvhpMJzeYIHf$i^dPK;J2n&%{e60R**wwA4_vQ_DL>+y~b&iUiN@1WPwcYWvk zL`z(x_M8q~>GVvqIKNi65RP-t;8yeyq0~WV{dFVTBXonE;bt4prIZ*ixpURd zYPrMZkd#=BPgW{y&*_l)^_a&Ujk-M=KkxM>#JIZ{ixp$PNgrtAvx zB)`S|D$#+0a=p!|<#^B_Ql94ysw4=MQgRTFcGFqC9x`z0T~;&t>*A8+%-K`PN++K0 zbjszurbCuv4l!nMI*+@=l+I4=wE6StXi}%^{Eg2j8jnsJF@F~PY2W!i_vhRvNf#L+ z`^Zyue}}?}nqDf1%N}J3f%jc>-bS^1x$aVz5u?75Zue zD?^Lb!M@2eo$1k>tyBBX2fOy?;ubN-^KEj{yYz;idw1{F)Ft|Jsor*fHJ%FgurZI) zXUU_Gvz~bCF76hYLb7_IPw;!P#ON>vdCkT-%^|@@pZ$!-Xfj7lzE9#Vx9^P60{2(M zMx)gTlGPF7X<=f~Vsm63c#OCBEAR72uUS3$#H){g$>opTI6rvk z{>5QN&C1RQb#UJ#&b|BCD=w?UB*>L&tqL7Z6}grFA?SVS;oO`rX4ly}xzG7iH�r zZd=-4l01&N6TcsO{8;0|K z+fzk~fisWm+APX_q4Hy{iOipJhB-^3VHW@!1g)~c;TWO&8_(KpjNL#l241m!sjgJ2%fr4> z?0%`8I{kg_%P@248Ht0YQ8!JcXpMeeym4=Yr?1v?|5N{?2Q?=CD#vgvv-2mk-_S1ncgBgrzx8+@+Da= zP)YpKiJ;RgQa_`)7fkpz{S)FR?e(I^XyAE<8a(uuQWa_~GXmTMGatrbeEW${N!mpC zq=Z|JrWg$j8&iN36)ocR@}~`=Ks6dhNpfeJeiW3XNl(2Ni*kaf({k`r)9}c=Ku!?>WC{EhV-iP?5>b>6 z5=pX%vmmFU#I3UA&(++F2*?j+UG7lX187z%1N@7q`~ko3)Z30tOj?H9_pc`tr$nb1 z>gkGAbKwrl!bHdTSLBtMjR!M+<<#_OGEQTh*2$XQFWtg)RUfSM1D+c{wrU55=T5D? zYO360=q$`_j|_Bo*y!iy4NWn0bZ+07oY(8vo*h`K>FGXZ;RRUu*STLO0g@yitn1*z zhz6kohe0rF4}v;qjJO3-_F@7-P!-j|?b-iN>10wnF+}(&o!Fh~zMD@H2q&oQYCVw5 z0xjxVC6y4I5@a?f;&20FR=F*><5vif*&X1TD@9Ddb})gQj8Z^glEB(XC? z|CxT37|DLd8(6}$fs)CVfUV3fE<@YMLAV-XVWV)X$FPf|tL!LKN5buE)QyzrbqK$V z)F?=f94$MEtfZ>;SSng`(ai7N_}-N%{(75_Y zFLIwnyq_d(r2K3l1UJ{hxSJk9jb>lQBNSDfwX=9hWlm9m2fhiq1DqOs)fkkhkrfNG zzELdit6eplv(~=pW1iIOkMBF-tF|TXSf6?B=flcaev+T3X zhM66^$wX{->r#^m`mnmeJ==DM$uso#KwW_JKclA{+!`|_WHFSxjHj!9*uo+KXX_9< zcI)$>%eS%_+s$X%Z^kUlT$mb2ZM%<`%_U<@t2fy^rI?T2ty1yhzc&tcSX^b3!Kc@+ zMFV3o&{ZX`;l4s|2Pb3_tA}AHEY{kDyWn_4Tq*?f+&-&yFVdbP43uKb}XcX#@Z}(y|(1GJ8a&|m8p|-@cp?qx}0 zeQc6>!S2SG&+$ItuReQPU1xAB9U~Qq`N?L z8cwIV0Jp?x=mkQx9MxVxV%p-{%uNlLAzCdtsE0Bl425YlmKPTe%uLm)g?u`xM9oHl zBmK1B0Pq!KEe^7@NX;byjljQ@3VzVnm0xa6N{b50%DH#2kLj(pC1(L3FzHx}Ib&e340 zyfTtM^BNa#(wH@aYZHa8)j@i<;Fj$skI6XMk-sgw;Qa6F^UIaVBbH(4XYbB; zxNYvEq>t3rnE#x1Ke@w3&=Vm_Hj2}~)Wk&Gi9 z$V#DxCg_~%NYuoRaT2!HI*2Z;kJQTVYgMX`j9m)|ffjR+hDHMY1eQ5vMkss0TYHBCWt8;h|gz6h#DOyWzHq zD=NZZtd3YJoe8KhhFkS7kTA@yV}P$!Er|LdV>yMaoM{HjTUrBT##pVjf?u$JUbOgo z)_<;Y;Lc>&>X$9qvGotWV`e~fF1I~7d1h+qLhW6H?#7e-U1dvhtmj0;kmX8x+o0Ee zw|8++AI#}A5xu8Q$=Lerz*+snOQjBn=gp0~p8BZLHE)^e=_n==rat{TM!EutJ_Lyl zk@5P-0Hs1*BlCo&Qx3a9FTqnyqxMCo`fHU=L6{^0MSzS0mzd|fRm6ovGFVgtWHxAs z6aj)$-WzYrNNyGFt&*)Vop8YjRGpxoas;*R6Vd!guSRy*T)$w66|E7Web_U<`b7U` zbv>7Q%hFQz;B;jCT0qj9J)W7okGm`=s+>3O=d;&akoVZ+pCfLL)JYZ_c`)C znx)0&k=3yXQw^g|<5DCuled0nn>!CKER(JJ#>_O3<3Jy$k%#I`r!^V@Vh_hgJYZ@|^Q>ip1F zZ?`NNG&1Llit}Z!&lHS?`zIA&kauXTT7x7u`tBK8k65(F*U~39BfcK(aKveiWQyH1 zaV4AV&807fdJaFf+GiQIdBO(X=B#!`oy+e2pmJo;J(bJ~0fW!%u{t!R!}002>(}q8 zR0d5AkHu^1PUV{ zx{9wnm{0Ucqt=im@hc_?a%d%N;-{M@6#D?3wNAo@0>b!VZxt#AelQ`Pbj5*m6YQT zH^(YTW9+oPGi}NZR(-k5mnz4u_3^x3>(H3bb+!+r&(982Hs;^8afNAA0BG!lbvh6= z!tVfeX*Gw0UBqywSqy}vifN3hECA!(c*rEoR?3-JJT0ZkbF*F5wxSYG z#uS#|BRH?_Vg&QB5Uj-Sf=UZdT4u28nwWe6Fq{$_GY1-#(D+y&QNJq_Jfmc~&WS4> zDbGe{t;TgNSd>`yv4!!lPZBgPdz}6s-NgAyCE^?~O7lH80>+6_{vAtQ-Crx~ZF9pq zrMFP}mS_2ih_5%12rwC1Aj7A*4;lXGzZXp!l0KL;h zi#ZG}6Dg0x^#b7q9S?vNs7^reCPMrocM)i-(`s~Eh~iWwH_tG4dCU;VsPj$?>FJ?aYSE96R6W+!i@{XNZE}?&_k@MY@PJK;x+3; zH>CrGsyI5af2e=pkzgp&AwC+?xm?CBPw>1SJ}d$bKLTAEC6Ck{#Vm)C3lMh@Uj{u# zWC7WbA7Gn>_5g#yKvW`Rj&7kIx0f9W0zg-mRlQ<$*m|A_5<`}YES?sbultE>Ug+Ma z>vJiaGaHD-8O$WyCa9Gf0i*^rwXzx*GvxzITUAk~td?x|!e@j4ECGQyYE|xv#oFH0 zzWHnMfYNTD2GOW78Lc*5INWyFo_)j8tAvrOhJf5xtR2t^6I<4IADvGGKc_!*#6NFY zGV>vQ!00xZWKP%S3%$SOk53=CY#NcnwouS2)IH_$aF;h^dTZRZZ5T}icOyQ*3$OJM zb=Q**nnj+I&!3yhDHch~g#vz_msWe=?uF^ag}G{_Ehvjfq`lzh2w2MrGUKOK;E+}D zl1Ab+7mL@nY0LZF&Do&F%v>j6%?J`F8N5)UFwaEPo1#{6LYKf4v1S%c-j!W{(& z4AHAzrzg6LKjW=_k}d(Ivbyd5R~_3}SxOb+DNMR4F#|IpCO9|y+6&*AV`znKa*Bnt z%%w8GX=ODGdDL*m4eP3OcB(d~x?|RbK@z+Q{^1ZX=Ro6%}CIX%;5Q~lne+u^ntr^2po5AtMYlFqJ# zZt|DQu|z~aSdG@bey`2i7%O!Kl)y-r*_Sk82FF~s<`+|Ki%y>FPL~%8P+wGOv2zzcSHxb1=UzBev;xI1H> zA$KyBedF5uqT$R$_+0R%@?Kd}GYpnd{xMl#e!jaah1n6zmvAVO!=Ljg^25K2_>ba* zgqlA^MN<^j8adnUg``>% znE8xfPyTQiqlJ#uk3pw!dYawVj0LA zs)}UNS!A2wpysU2t?fJ-)0Yd8cg6y}39m*DSFb-7ubAnhdhIB?iYPLns+ zqjAd1jWrwG5I+l}kh(CHFxJi?1e&f^$~?0Rwk9Lb799`?5is0cYjwme7Qyqd2+T;a zBAJ7sWaegf93=t^lwbBL9xD%wr%uF+*{qTXrnK;C)LIS+dw~>6WK1uSZpb%raWCnY z;QLYzM4c$80pCoroEiY*-74C>f*!w}D$`-bX^54MMMAy`&-urP<4XFq!^t@3^cg*3 zabf1_q~39-Uc2h_cX_l{tI?t}%T`Wj@ny|5`^p-NXCe^1Gj-q%Qg(Y;9@Gzi(aLLOGa_*p?~G(SyqbSse{3Rp zD*O{_th0=T(m;ADh!EbM4dnNF=^&bw9qE+K6}8ci<} z%43!ic{B1p8NnVhKg2979D%>w1vWJZ>40FdxI}=5{pnY}a8aXfU0t4>7#`~DZZGAs ziKqq%VSU$7Pnj~a- z%;>(j5Hh*Ee!qVZsWPiz@jdV@7EHoES5Jgo94r~D7!)eJkdV4nM}l%1 za|bXo5DHUdjh3ycZbD6gUcum+eYJ<&CK=(XH`^B#t>t3_V|vl+GI`{?8$EfA#_y9m zAF1;}r7cjmmcy6al|Uw+zsse_+nL?LgSz@}wO-9dEtszTR*qm$#n`{e-zK z!HaYu#{V979o4$A`fwVt0hTKy6F#*Bz_Y1qiV_NioG9`{6ahpc-|9#DdwaUd?fGmx zmW(De%q6RS0V)qK>U6Z?^;RYv0`;uOw8y>>a6e*D(E&(OeCLb5nglvcydJ z@u@eTTUR8X-l;Q6;*5T?#9w;n;Y07*E|(U&<|5fdZU_VNVBGKLegos4ukR}$TkLQ{ zN3n#5r{aK_@)8xM^H{c_)c^w~2s|j204Z=2sM@mGas0n^o~Ia(=Cg?eTYZq&9VBqN z1~#~v&Lq)>7BQcRLf!7Pa7))P`V`BZ)yWbyS>cZAkIcrerAo89%9zd(b%hF7B-i%b zLf?8KP%pQ|#?EzoCf{2c^X0~S0>wlwkxNH6(>;$^&L+h1UQ1UOm8_k<;A4>^$NU}L zfug>i?n$kLhZ0rSy2a!gjoWL*0iSm;;m6`gy7SlI#oIAQ)WznAkSPh6(m;)1I+IR0 z9jK|nMNR-IQBcDY3}^%3m4X*9fMcZ`4Tpl!n8+|ujkB1+sG&G3gWL=jb|)qn8e#^? z#05Ewnni9h{hdqxaPd7!cUU*?%_p``cI%dx&D+WwJn?mdsC&TT_Y0yS>JEmVx_ZB} zp0loV#pGb@*=+jGsAXU%-fYi@FZL`bma)%2wXXBec9rDM8%vYWL3KtoxQktWvQCcI zH%ND&#ze=9carMFl-!4fW$ zINMlN9I^gbChAKts7c7J9ABN}L%oAd?MSFA$h)Ycihi$R!pezzc`eFf6=or?05A6( z_IFedcLdT71E<$dhtEWfQ5~`XP4r?VTg@j-hC-K530|>=r2e(DrLn4haOh3k^2AFb z(%Q;5r#Nq{#})2OhkOr=D$8Rwtu|fzZ@<}fDiM(^;YK<24tHkBwQQ`^>z0Yk57%BZ z5k38r5OM?+72@1^UI@c8xJi!OL!PW(>!Ai?yMlz|%;|(A=!uVV`sF3~Z*jUr#YrL| z|CYdELgCQ$@WRM2Ib@g`=$8gqk91SeqYz^-7!MMoQB6TqMx({^@mfDoC*ySs8?*S<7?;2-F=tW^Sr&XvKuQkV+F&IN6Dsl8~{nt!1u^NXqJJZIqQgT4M#-PAS0 zS7tLdCcDCbiDgBbFcH3gIrn;EIv&8 zjom}>gNb}`SmTV(3?$y1$cIW-24W$aO7vQWI@^{G*VY~x3-#7~Kj9)47|yY|tIxql zjFQv!6E1{?WYlhB%NcvixkTKL8e#|7DX@8+NkVlTijHcrf@j4Fl#emlv4wiY3yGy# zUQ;EwXFelC{e5;N8IRk%c`GZg*;ygg4Y^cnYLU$ezrkR#i~`#pXfU~?n1_a3YAw-X zbuQLUF~P`lKR25XxoP*qg45_V>mw)peVS^enJ6AMMaJ86gSRQhp?Pz*w{0+5j`jK~ zou$buy@@A8xi39b=gjZo^PyGDyWCaPlsqnry~j{<#UG!|N?dN`a8J&)u0K1S?TzHB zW0lh62Q}G=cz#ypmTxD)eOt}Jx9i7xf(E^yAybnhyr@}kaFU#ZuMwuhlui;+!-5$A zDIz8w!6;^XBn{jvc+Ms%pzM;Qa!D;h+PK-nht^h>7AD5pOND$U<@d(4Z2prKJ6;|x zP!0hXnd+;oYURExXJ)|-W=atS0hC(dk4f`_cEe}U&6UaR!!J^}&W7#mdSu2jRDI?^ zZq_uS(+s5ZJ<*YzzcZtmZ85-=ap$?y1wngK+W}!wCYRpt=B@$5lsv2ymE6?`kR8neI2v|~2 zp%2T?nOQuS>)$E{{g*UjV-`&~;L*+5%KaY^BkoH@%lw7ccIJ&9t74ez3tNNH_L;PO zZ31=6buzhJ-FcY0 zxo?B1nR*hl4TzkuIvWmm5}_1Uo1o7vD{t)%b=9qGbvt9S)m5hMyY4#MnYzmTuJK3z zj4YKuCL&JR*?E}!;@&;Ah*40~pwsx86tTD#cYM(@qt=>ZdkTxQtVyL(yYsHAsm`-^ zai7Bde)Nl?$EXtVTl62fzhIgEGa#@nXLrjfIrSgkOMUq--P~XN(EqhRGq4)M(9SpL zKhdwN>%%c-q?TKDv~j@lU<)&t50&yYa(6IFK0V3QcA#A#j&W?tF`$q+dat zfVJjWKSL(nP6Og?=mQq7huGrvTi7MDOaXMl4ODCN3b z?#_+R^ftOq3hDj4JFMK^oelLGQh1Va=g;X!x#O5IPS%xpB&?HpESjg&G3Xz(gy|n! za6nE6{Z9L>Vq&2xt0Ll|V1yc|GNWOkyo#g}edDJ#vb?lhvKQ?}*&OP(Yo!ju>$aVI z(b%!J{V`s5{tZJNg>>!Gfw0g~iuNi?c2_~S|DoaGH&dG>kTJcXIyJWenTe+Mfx10+G(7?v|;Yqgzvdiwe|MHk-$^K6x%k!0lzjxs^8y0_| zF^`uUD4E^qq0b<8N|9jQ7Y%z|4q!zpXfd0NhFv+sQQ@r(%uTSDVN`7cK(x%UT4u#R z`KB9}pRWhPqOLs^?H8*HHN9l;ToJ5YF`7D`otFJQXFgGLoI5zG_+A@t|N6d}gP;EB zn>V@HHGSuy%7xIrr2F{9Cl4+oO5uoU=kKY3dmn5u%qR=_y)LK8DDqTCCh^)wO9P>R z?5!{Mc(&LN8p!ldr7b1Z7--;>-`L)zcr_-sO_6J(RbFs<-_Y%iN_ky|-fqlvCTwFD zv$-y}-`?3dTUj}>-=qDzK6g?|8`>~m{jWP!yp#4Gte{t|AQo;9Ui< zhdq|DXg9cn!XY}8B_2f7T)#AO#8M499D+`8;YFaJ>5Ln3n%HAX_xtk;v$jmgapA<$ zT_J;)w;PXIe%$DOd zG|Z&q9U_FYST+K)*n5{Kla5BhA*)->eOuhAFgr-qkkB(Yk(l_{1aMhaoGiUabui&V zuJnj8_UKt@Tst6J1+BQAw$$RHcu${u<*4ah(RNKf^#0srDd)Xl4jnui2tB9#$Bdv) z1?jk3SDvg1i#>Ut`=Ih{R1qB3e;&w0($3*3v)0X>?^3q9!49uxU|tPHnLQxAsajOD z3yHbN^dX#w7ao_Zt$6?Xuv@8E)&KSGSV(R4rZ9bzizWV%Ax#XU+9}k7xXnPAh46 z*>3+6Q#3Q>FZ4gzlW{wZqU)I3VOY0dW|+fzrswH9>0e^~z8`Om zx=a##Yt#)muQ9Hw@p=lr2lJS_*z|$Xux;+xz6sHF50xwdOV{C~)D!4QzWcGlWT$Dc z0~mFwMY;z zG{BHjKHTSJeo|ya z10|UMVU(&=V+eZy@1Sp8)N960V{+;C&d$uZ#{Qh+fY`Slr_U60zja&J@R3~Zo{fQQ zMB65x`{vhQrSE&walv1Iw8DFs2AP4EPvE_zDDy#~V8EzXYl73!FbaZXlEs6!M1S!Z zi)Uddtd5}i9A+7ysbv}pHY$RB{Cvu<_tRdzD^d<>rW)LvG6Rx^Y8^?#b|gmcU!5=; zYr1xq;kT33to>A^-h12KRAaK}4o9#ChVDGS^H=n3^e;#!IZ&S~Vm%k?Sz;`LDlR{b zNeWbPO-8s#U>KY&o9e$rBwpIB>S75vmh0m-w*=w|dnVSA%Bn9>?dc+OSJu=z=q!zSk4sEoZ9x+fyA{A!d(8Z3*Q7<$awt>j|ez`uPI}ldmWp zI@RVdTMggq(u7jU+1^rgUtTMuY(9glO3!TQdVHC+>WQKhvdl?EdtbC4H2T2(!`wsg zR(Q|Kq{BNIblMF-X08gOQ(rt_*}yW=41hMjiC}=e|H442$;ve6n>y|0*A(KxwjNh+3UyHc57C*hIe1vI%23W{J3koDs z4;HZc4bUGnX;_qSeV7Y zwa%0py{YEzY)Kzfv(mLJ;f*@vnY$*xA!O!Fmf{$yI8KTj1beG4dhO{f<7 z8_&9~XjSF~uhZQbJDG9~pAK#ZFBRJNeepAjKRch{Qf|v50G$jYa(yAG8Xa~4pfFS2A`b5mGwK)&At6SP%$%HhgdJi)&>9MZ z19uF|a{GTzxUQ}xyl7W>1-+}`jb-DxFi zmyB8qosOikiK%ZSiy>%|ZfBHUqJK=v3{OgSlc46u?U-(%lYkeulVwGFxSY#EK#0UJ z4jJmh)EFam;UxeSQJD2%X*33mcuakzn(;${++6NYpLev6STi(g5yhI*!42|niFEc) zwbyS~!U35NYXyZfCWj|PdbJTzdNo<5EOI7qK62QF+_B6GP~u|MILv*q z<>z~eL^fTt@&IuWleVCfrCSwdtST6Svn--h2a;m1>@ed%Q91T_^_WIKn_aFKr(zv$ z`;dNW>V)~gbkfv_q^tg^WFWY8N2QoqYhMnE`jLnyP^cKD%AM^_^QzBX+dp|Nkm#*? zL*?^B{VIRyTgivG&k-xJ)Qu)sFy4kBr&WBhGbT!{nKKqLNr4eam+ef?wGy( zqtY1S}pOu6^^H(`wgM)qw9%BQdZgS8#ZgC4*IJ}B+P}~ta{9C za-{tW(>f&=?^T@BZRMUWWyx(T>h`^+j4>+kh}XGOB#uZgU}w?luGPEQ=#nWltU)fV zYT!-!{;t=q;U;n;{Ds#9!kXG>{T-crYV7J%l{4g)=x^2v2fON)F7Lk27K^uM_4a_> zwAz)+zxQ0%Y^^)ky|Iz$W&91@*rAJ9ks86XeP$MS!zf{iuvK^+tX=_DS>bY8EXErg zHM%$vjQZpCE5?(yEnE8`^M1`tA(+A>2=@z?MJ4R3oK|k!7yFd_)@!sowqC5B2?}_Z zf`oQV$lO1SoLG9sE3;AZl8kyT79g|t5UXkilB_^Yk+I3K6!4)ee_7-V2<|wSWH(6M zVaqOjz!i9gBv|X>sV! zl8@T0i?hcc)CN0__77CS4=*yFUhZQkOi0f-G>jk4JtyDdMXKgzMk2G2p2-AZz%TV7 z2py-_4oQR7l5BCGbXgkWw&*j*GtQ2SR(kYr+eO8_v2yhT$|ttPxmlxbc6%|Ms&!vg z@Wdb@l0)1u>_@^oka!|0SIW(2sbK~~Xo&dG<3}jo9Gc=5^`MxRn>y`wONZvA(L;N2V7uc2i=Ob=Ag@NY%l@!pp5*b14}|=p z{%z_Jg1S}f-zs?vouL=#o9M4`My{XRG;eQx!GnvejmI2FGtiNo#)4pl{Gsl+WtImgA zm)$z|XFN}Oe%13$&-c8e-nV(b;0yVV`mXz}{=@$F`2Q*}6Sx%kYS16t7i7oQ|PI($m_6!1yllg7tS{s_=&s)hb_vM{`*xDP7xzx$;U3-jYkrUf1s8F0zmL8{#K*1UbpaQ-N?rIBi|=7<-y=iFv{o>l zN%}8%P5g~yoQ{(a{Wm;Ai#HnG#6-P2|BCY->LHul4v{%CvC+RJ!?@OfZ7

8B8l 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/fA2ZFCbvy%dFkLj13&Jc+P-62 zy*aV>oIPr3>)z?~4-W2|*u!63-Jrr%-H-;Lp+0?Gg|oUneZM_(&e0UB?&wtOb#$r6 zPL9@Cb!T<@ywk)1nb^9Epi`m3$-#Z*%ykaqd@TZV{)8Y^pVL*R2Y$~+^T&1>C(oTa zFg>|vdTMN!ZgTg&>GKXuPV2VsADfuMMeXFS$=x{W4jdfcF}-7Knm-^`t#(MPTJ4Bf zb=)+DhwPs^uyglV`Yo|)wbile2GhR%d-v_#KRvZ~&)6F31i47>Jj zpBf+AHMVC$pDym*Z<^YJhaQ+5r(Y@ndG8+WfvMe7yT@LgIA&_})F+_a7vX ziF9JMDhgwDRmRD)4o;noj@>h!ersGscP!qa)=i|(6CE5-yz$^xAi+XV(+T~VoHp&B z+_r1--1NQ7iF!|cPJOp}Y*4!^)}WGatRdaXhFZh;)c$dh*sg;I(pBRY_0sNxyQZi1 z?K&@gIgPpol|W+c=_j?PpVVG!#*6n&?wObxKRAz#_VlkhYqb-5r%!f7r%Gf3r$cx$TE`!!YSTWhLRywp^wc!FOPuV0hywYm-!nz|0PeqEYu>pIidyL*%a z`^F|ztjFW(TaX7z9^Z9vD}Pixu69#Au7VVgs~{!1RZtS$>Z21qDxoEM)TShQ)RC3w mN!RPi)KfuD^r$1Ly+(ardwcrW!3n0jDpp1F9K$Y<_5T72oVEP` literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Main-Bold.woff b/docs/static/katex/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..33b41998e40d6bdfbe9e49dc11174bd3f74dc278 GIT binary patch literal 35056 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 U&-nwFmeza#000310ssF150=lfXaE2J literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Main-Bold.woff2 b/docs/static/katex/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f9b71cbe7420582e03f9479a5b1781e7c8244221 GIT binary patch literal 29932 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�*o(8sUo#yn^Og$YS zXa=e{T%OJXKavGo?4Eyk`gZ-Li%xUVt~y452XD~_RJX>Xc$q;UPR-|f-V;){HK-ay z7Q49as*)61bxP<)J=V>Tls;k4TyN&k*%V~wy0Z`5yHT2y<|e>xW06+UJsbA9aDGY% zUnMg{w2mJL*ea~Dpz{LqY@vrW&D8^OUf+ix@xUVW+66^qMcBsopc4Ts!g(w&_j|Sk zH4W?i>o2Im%)(d$iQzlwyePI*+J}W+`OjmwTv@rq#p6MyBT!?s9(}k)7eBaL6L26Q zs#de=bk8~{Ob%jrh+a>rQ{eXsT_Ciiw6XcGH=GTkXmdgg+xi$U)4j?~eWPzmPqnv1 zzZ0Sjy{ZSPoK#8>FB3KOC08_RG=l=x4<4R(Jd|xM_@g(xwcc%!5uUR|rdOJsjgH?V zzLz~a_jS59B&UYZ}Dg8QtNnCFP)!&?#{F808j^Mqw~Ak_p(D&$05(h9bvkL$f$ygC^qCGQMPY#p=YHJg?cN zusiua0+~E=&kFgX$b$cq!(8tW@(xMbkT)I$m=FrmZ*JJa-*k-zA zvArm(Jtl08T=GG^#j|DH6lxD3H!X`u%49c4OBYkNwi-QYD=~{-poayR%7fsHpJSqu zVgs(t_o&`2_2&m}>cw}kL8E2Eaxd-f^2j~}-DQQ*nPI?u-FW4Ss(d!|(x&z(8dk1_@c4x&4m()AvyB_qO zXL5aToVxk=x8$|Ah#(FG^_8*=>Tw+el~WZ;)ocV6pdtEohV`;RDs3=Wzh1i*OvBMZ z8g($(W4U6vP`-@aqaWmFCRMY!;o8c|g4O!dohmLTThdw|_@22zOYAfzjTtS~pdFDT zM$Lr0l1gLJyZS?e2WiwnnPGkWI?>j@Vk#so?y2f9%QEgC0UE7W!{f<5h(HzURBVn) z=PIQcSk~D1jz9r>=JZ3UOwWS>=3O7LhGa-*|MXjd;(Fd*;3-1<+PJ~1wi94hsm zX)nJ(!a_nI@NI3pB2CM8?}&d}3qm0w7zJIq9;IOc{@}zHS#y~u0P+vO(tj-nf|sZk zLuLO!TF-gdy~ka4d~@O*K95D1EQm8Of%DJ*O#f+Tp!*iz>T#y>f8eVQr+RaJ&|pYO zVg6q>8_-?EcDdA&$*lsaX{Dt=cP>Y(?Lk*x+Oj)UD?i(*hY~RskEMf2%4OO#KozJe zBh}IUj8?|5%L;=vR3i)37_2MZ8uA%IrrRotL+UGa(6i#>b8?pNx-yLpv-yHh&w1FB zUjXGF?qOFCsCrB}7tUHD8|ahIfG3z!9RxHa8r7*ez!?L55otWmkCInZas~q|_K|JaRC@_&j%) zdjAF;by=qZyocc0Nm{rr@cG*k&0F`WaW4+$jd8rjr`+ETV95gk?VXz|ERAWr2{ykf zI6cUvC;zfzUsjd=Se!QX0@>FrjW0(+`NgDcN$0_EG`2 zE)9-?S270nM3LD>25FUDQ8m^ezpKjHSIkO~Kp}i`}VFz5klM z5UGpKMXKI@u8UM#S52)jU=*~U^d~wr3lXuJW=Bol1Zdi()(2^O_s<4lWOU)!Y8s}H zgWyRRRN6*noLE+mn@E6@z8Pv1Jp>?0}UB>JMHlnTdgugQMK z^m;}QTbSme^KY8*3?*1zRPLu=85YOOx{rn~n=xDIQX_ z3FvLKES}Ojkdv(rKOB-^5~?=KBwAK(jYYaOs?=b>BMpSo|I60wWYz+eg$D#WDVL*i z&`1f644ZmipxF6byIv}Jkx@w2x^ujL_pM#R>5?@Y{mUThIzxh-I+WAM4tCc_nN?%O((u;Vqz0s{tb9HrIu6j7Z!kScL!=&O5Q#)V;cSjspnhSQ=9M&RyH04Nhxu z*9t&*}w*rhGiGtEV};bXR2mR;f-u8JW~C!tPNqJ`|d(SEU!7p#TdO&lmb~= zv^;+AB9QHt*jG4D=HFpOP3%z;ou^uAfkY|M8(oY|LHQU3?HTEzVF3Z)rp>Wau~Qje z&x{SYaWhzsnN6iVE%(Wo_RrG3(t!YNcxu^Dow>z|Nz{-fGCeA-V;Wq-h*9o;(DD}v z>$WwdHGmH<#%6D8-tL5k%kg+94W-HRlB$xb!GJ(4t3bAPf)1K4JEsXxOIA zij-(_+sn+UJRaZwhss>DwcT^2F3@IA^00|K-AK`Hn#5)fS6WJfA_eg#*Wdkf&lN>? zR^HI*+YXdT<281P@Fd|yTj5?X7nh5JRVwY{Ef#~E^#l&c_qcy(vCOxzmPB6gj{`KXNe$gn2Nsma9p%IJPUflbwI6_HWnWlqc6!xzHY zm(@Pp&w1<-rM8tRfi(RrbY+OsGs#ti#E!N!>#o#NIR%QetYVCF8CqbX>I3otlnz(_L<_1+9%=^z|b=NfE^-6R0&>V~Z@)X(Fg)8iP(ZYueI zLsHnCgUd$Yr5J`BsH~f@ZsN!o&aY2M#jwg@ntefp|Nn*&8~-{wp*1Q!I8an2cJC9j z|G^DYBI${&?=M%yhwymVA_^^tqm}7VVvKaZhB!pmOoA|$`N^@(;l_C%nla=+UJXjZ z7s5vF2Iy#YgJYHKbacJk%=QiHi8ut0UrnE>#sypHc9f^Y^4v(2k~ItfGT!i+UW zOVAn^=)$!@*b$z_qob^KCeq7~R9MQ6FN2afl82n4dlzqH`7iy(0}Cttw(oSGBdRk8 zi`3VWt!?%xozH3O^Mv@lv-{ij&+d)ato0TjkJ%pZfm(EOds*w^Z|CL@o%-&+?FJgZ zetiZlvFw%`zioSw*&F8-c)rw8w9aSnNMPxIe^*yDwiJ^X;ul8B-9c-6gwg6Vdg1;w zrS;>4`yYB@ktIn6|NP}j`I!wIi1m3`Oo{Fq#3uF3dWI<<1a~9_0^3 z_8I~ktQNQ3M~)~YNjC3OELm+-+|%CE^A~B;V#EW*PHl^gpVQAtl*qGryFBACVo!D{ieN$^ge!Ok+Fi6k z9g$ey|F66)Tt0*SMB#X1!%e#CA z{9tM+5V~+mf?^5j<=kDo(%^+L_=wKt|2(28n^&iR4^=&E{xP^&i4g&ye&wUuUm&^e zbEYCms43uzWbVRLZ$#f5M1Ux}Amqde)m9D_Lm`ON!nofW+d$UB5!Jh^xxMMk|0)d_w}OvWu`sBV|%S5TG(ykv0Or zDTr630Tn3Qp%V05%{nFo`Wa#uAxOvL0e&mcaxHuxkR{6k_Jv<-0b2P09#02_E)oXN z&#Oq<{Ej#9^Uv%S4tMR50ZH;NQepR#Wt)J0hD1*T@t}mqOi#MqL*;a|l37CNw6d)& zlGQ>Z-9zN&A6+f85`_}3XYM~Qe=)$9$v%^)*UDJ2h6<6yCG-3j$v4U)#56UWX;t<} z{=)nEOwhpym4k>I149)O9Kmzci)YT%1ZUzISd}~=b$&8m_?+*OGG+w~>=)tKFX!AE z*fs$2^#{61gkE+?Z~!}rW99o~eEhqQ=*j}$5x#p!s2|5{^?l^;wrzUQYmXuZ9to*X>K!Q(nO4GmllP|e|b zZ}0EVD&Ov8ihT`JZjqcYPv%z)w?zv0Pe_o)cR9Dsw(Xo-rfgi%jzccrWwi~Mo@NM| zL_Svezvo!Yt>|E3@m;bv9@>)5)1*w$M8Lz_U?CEZf{9j- zd=0h;&lUcvh$v^?Vi(QpzQ=~uvy&%CI-+8hP=4lYAQkh*s2Nnktm3!W93*K9W>vA- zI1C5+@j#p!OZ#nSP-{jF`uk&_R1xJNJ)u3IscFYc>I(|~fT|f`6V%$$B9W5lAQi{w zG#@Hy;qY-(kWP|H3?$n?nj0IIGI6lG2;qb_HlAMNTG~J~=33k>u)iM!p*NEvt=N!R z9h4rBx+}B2*yzesg5b>KiCcJe;?ee0?z#v`x253K-xVpFY$hI_g`4pIU{c3yrUcpb z)I3`ztLPB4{?*2p%%9psIcW7v`I#<<73Z7hs zy5tMcfF|3O(H3E)0lzB0u`EC2r&_6yAr#CB`8eVOc3W7AYi80z89A4Z>QyXV>xQVH zMS*tM088BPVAr2y%}iX0<3zni$+G`eP+H|IXN{@WuBG8q5|UCZe0}05i)+x4n1vyU zO;x7QVBZ4rMbUC;p&wl>v8eYDxH4k$sdcq-&%Yqz9F%0TQ)-EeC_mz(b~aoQNv7qY z9u*Q&_+=p;2Wp@((h}~Wtlxb<^YdTj<^Rmfe`Ius1zx!}+w-&30VY zuzh8p?hCKDx%%6`M}TU3k|y9dK$&uC6DVT&@L0Ipzn0ku!t$-U|IFF_`JT!49k-eM zz+}Ar;T61x@K??V#6r&V*xm7@ME6^8gOxjXyS!CG-fuq0lGcFRbJW@pOiW1!iW5nO zBu4Uf0;WJe1RJ*9(S1;|&u*Ka5vi`P|MH9Nazg8>j=G4#*u@{sGe)(w#Ya{5Jl8^f z8tsBHt80e9vN1lF{VcH@Ei~a`9Pbo=2K0KZk z;g#rRR*Vm^0lPFr%S74;b4)TRnBczGx5yaH#eI=kZXg7cq}vQ?-&53tIS*;=6$wdM zB$IitBi)OiuOD)%N8$MYW0^WozKC=CEZBe}4gb{)!JrGE`q1~Pkm#!Gz_Gg!#SzO@ zEonRoj+~ADZtT^C`VU}mgq2F@-?&MdPQbNHgqZiMTwK&=<&CR7*|Bdk(pG=yo7i@> z`d9;SuK_^jG5wQv;#--qWY(=FsV+8J)@nT zLvCR>GUBsSzJKVz(swNY5=3DxdYE-G^0C5_LrMKX5;ZYS}r9L*brxeuoyPK*v< zbX#dD9UB;(AmTKA3iBHc$I2&d58MHls6XDzc@3y$wx66Blhl-y7}HOlty#0x&9j2m!1Znwn2Xr=<%@zC#QI zcGVmU&c%ag&)#QMUd6v zzjCq1XZ4?XEUt9TS9Ibv2%WQ4>U82*dX|cUxW%h;Ikq!^7f9?e>+-*dFH3Ex($9zA zNA=)ISUke7PMZHzaJ_$!>U`U5w)Vp+9AV-n5gA`RY)rtrS-!xi(|ez^`l@Bo!|+RrrLO93|UJnxfbw|Tr|A$;}fTr6U_aT~ZL4408R1i%R`=f_FKkbA&0 z9!na>Uk*6|!krOUcQg!jcOCf&2FYwKES5QuM*7K76N$kfnMUa+kwzyKq`4DQc;(zw z4*b(rd)!S|wJUP|VUxFZVVVkpDQbxrR9!h!qNc!*DsACuzME7vx(mY zPoXdj4mcAf2^;-f$pj(SAG5KNhAqzi(G>!j%Fm}=TqRLbH%Tpg|*iZ7fZBery zL~jUp2^WS<2dWgYZ@7K%`_I7>1pHl`nV1~#>71ZtL=u;&_Z8|?fhq@CC|YmD5tQTw z@8^9qx5JgH4d!822F-QMVT{M!&1A9DWz_s-B{VbNH5v>w7ci7F;TbhSLk{x!(>$2X z8Rqbpy3#+}ZAP`sD8ZbFec{;$0hs4m_o~t?J*7|+|J^S$cPmk-RGO3k?El*5oojNT zCk14M-BNQ-|8s6%t8851hmF@u#-IIWLjveJMgkBvouPN}RFY%=brDFa zn11mWcel!Ij5A#ZSpWHOfMLk8*UnNo3pSeZVCn-J`7N>>n}wcKiI-zH_lSh@OUZ_ zXLS~}1(iDv7%2O3Oe)bg#?T!a+80c4U6@)`A7=N>(d2~uUnP-e@pD(SRt1d(#_z!R zPu(bsUnE*;@fQx6$!m%QA%X(Eh1$` z3lc!ceIj-q0li|UK1+xO68%alfdhbYOA&McsXC~F;0%NWX|UjcXCMR#@U9D}kfwOd zHE6jti3Dfnu|g&B()snB)iTlwYaWSMA0kH~m7U)!=ue5c;ww^T{z}R~8IT6Edp-oA zl*%B1U-v&v3%M@r+j^oVIYC+qamu8O&HGhf!WDP*Au& z&Ri^W!kWL)yp0fPEL>kBc!gQXk#!^>Fo$t`dhOmpW$)qYE1OsWDY(R&2L$ep39fvC)dL zS!h+v3w(ns1$B|i(-B4nqji11EpWSK!LDTP@mVUs$cFo|AAWQ-WHS!(1lBJx{G>|LEid;bU>NSju5%X8IM zHi3XwvwEc_@R4n7r4y>&_I*vS*L<`KsO0is&5Y8pW5uJ590TO2sF}qxg@f?W<5la- zK!TdbMRRL_nj7Y7S2CF@n`HU^XVpOM#*Wp?0$4gGDMOZQ9)Z^SVdB6t^NNozd$Dnp zeyE0ja4;kv{_zBR`@;1R7qjJxixKOeY={Q|P_5RIxJ`UF2`Ez+%{C98DgYI1`S0el z+e@^E3aGT?gzvt}`(4gffCZ<9n`ev4L5Ul`3Et6It;GziTlIK~Cvd1(6^~^|{=vZ- z{$KqR0_b&lxvZ*+g?-pcBk-~nrDfHPnrfg1-nR+x zU@4?(trb_JuGH}dT*mgJL>0fUHm0pKtb>v~j5e~(=#d1iGsvI^e>Wfv>#~2$_a*Mz1GA49VKRpIasRt`|O?<=E9oz7!%vMAaT_3CrL023HEcS-f7l#<0^ z@zT|*lcwS$)o69`k&~wEL9R)zeZ0oMG8FF5w;%W}(ij|iRI z>Rk%b*nCZq9#E0(T_{gpdkCemDFWGt`gR(Hs&f|1qNn_%xg<1^ek5$fZv5Pyw#jj zJSeODn64cH?@f3j#eWZe`q@%4sOWO7=eUNW5oiU9o3|vQ^%ZR6A}aLi^~E8+0zS>6 zE^^N+etSdL+X6J1=j>bHsHCs&buHcrH=DK2Hb(>9o|<8&HH$escUp@*JwK-h>6%v! zRB<^xT~iBC+Mo)U&>Pa{THb+zd2!rwH73vr~CYraB-_$!le$Ov|_{As^?WEiL8~Z%O2h1A0J6x#(;5-%YFkNILQx$_Th>r{;n=8otH^}!7cq(Ff`nG zb8SY(+Vls(?iwWH`vk7pPs|{a(ks@MzbD7Dju(fD24BU84U(BmIspQuBZp+|080;4 ze^Yf1{5xg=9DHwS6W^t~fT1sd32>-B)^4U6Avd|sJU zU&1oy=$uS#es(-rNu=(yckE3l%@>lq<%H`^u!hXnS)=2kvP9iH{&30DXBxSA#Ob@E zvg5DH%rYn6Q)K?n9L6jp@lk)wMReJ-Fy&->?T2@G*|%`QU^C`EdNS=2Po$#&>AxBF}#>UE%^Jp;~bK9ECK)X z4SX|?xovu?R0|`e;}+rNE5d{^Ey5i~3K`IA&Vf!kjWx(PS;3-H>p%jXMI*0ak$|vj z$H|a#Z|lFTb~rAY4!R5iBp{@G1%u3)}qTT}|ksPwadf2x34j%v6fL8Q^kyI44gN3R5(-E}8|Vz?KTa>63#%@aEhf zliZX&*}s02#Y-(rLu4r9M%kR+XLE>t#8}p02|ApwzVnI7b|-+{bT@s_g{CGXkNsuv zox|Kq#jn%nWX}bQ04A#cXLN@GGP|%GX?1OsxOUAomqje zNTY_PMtx&~+NsD<8X3C~nO9~^3n|?gfxi$Eni}~H&Qql6aDC}p3B!D`&un;vR#I6+ zNAqTp3`hNaN8Yq+bnMCMCMqu=wZ>t0>8s5RN%Boflm%M@&a+)`l{9?tw<5*)F;z5{ zmme~tb5Ru2jE`xqjE~3^uF`!SzEBtM))$o*lHjvAzi1nuqOdUtNcEt1QqXgV>OPka z2?lpBZnU=w&ISaYEkTWP@$Nwy6{O)c%6Qd)w7a&OeaX%J5&#e_ITVr$!}5w1G%Fc^ z2=EEK|6mKRDPvYy0MW@MhtAD%S+i@A{juJEPUB~^k~2TA=I}zDR$yF~$tR!zamfry ze0Y3i0657iNq`D&*42Xw4>$QKj}&Ikfdf9h zI+x5xY0TbIsadT5qdy1t1NUmE8wXs9cLs_G*nNiGmfXZ_KDJBG{)0e+j#FxHfg+ZD zVK@Mbsv0uLkSAIGnFN^as%TKEB3&cYL@3gHq<$h`bNiSs7!eVPY_17$x|Enzp!q{4 zBgetlrg2Qhp#(P9Yy!+fXIQ*ez+^U?fUI-8UpgXzh=z*_84?yNvgM=PEDfOX z>MCIJOlRg3Cs$-p4h_RZnHPrn38D={YdgI(aX^-TCQQgbP(j>0En!C%_emCyYf@%r znqGgA9>D;Q(+6;Q?37blnbgSQd$u|p{vCW&pd}by7iB;^B81x%8sKpU;JEiYKR>sb z$_<`OB>lSGCOA*_^dK`=?b$QTc;Q}Q_ufGl``n^P3ABhjwwk<<(BgKFNsveg)Zxmc zA9puNr7(GEhQ$!uL@gD<5-9%P3BXnqQk7^da=eL{;Va^A)4jRqzd&A$Nf`+h|z6Jm^~^`2Po030ATuVuMUq zP)NImZLIsVKjEOwDS=fTsZrxqRrTfy@te~XSuY`1es>qmPoF$_nqt%uxKx&OK7NQ- zt5`moDYKa3;egDv?J=gnm#)Km_l}J1-ZM6|=i`y_-5(jCkbiL)D_4G zm060jaVu4*c+jv$ge=naSyX^(nju(IobcmiHXAXCCZE6*2+vH<1PAiZqzu4(5`Y}g zy?f)uMu=>$x3AMxWRg_-?wyC6L{xCzzf(2tbd-KyUh3%W)oC**4Iq}kr7vXxh0Ze*FU8A_2XMqsiBMXGN{{{1s*Aavkp{`n!Z-l$W%tb3 zQZPz^ml4TD+a_!n~gIr#^ap+*xw_{P0Bf z89f#M`P$pCT%ce<8mAq&(8hR<}4hu*?`dH+X(yl2Y|Bu03so1 zN*Pq1#_PkNwEiowSAX7aCJz-ZB>pnxPB-)|aBZua&%twX8<&UBd=#>YKC_4Ft^ip4 zq@2C>xZF4|o51boXRkoqX(MBFzJh`WX$S`}02yC`J$S*I7~+Cm2r<*U4XRD6`^D1@{Owe-(F?U1l5hbC&<8_0r@ zgh<2b^f-9aW04`{3p(xFdN-{;Yk7rrFxZq%fYRgJ&vn6?=gu!QdRJ8uLmgkW`t{f5 z$T(|Mw^T^6#w2>p4X)MPDL=R!T&&m8xUNs2ox;O9i9Vp)UfO99tN_Ij(zk7z4U$iegO3(eD1otYutHg>MADWKO2c?G3XT|oa-W>>Z-%Ln zXhgK0b>z%gxZoX3F>|!q=3eF%jW{717c85@QzO|rtplM%uy1zke?~gq#Y`;NhVAJg z9H`bOoKdK3I{x(FIQXM-&i^_ZWXWI5q9+xqjtyY5cP|$t7d_6na77P_p29RHmDB58 z{0NTwi3-wq48bq6&o4lx0=zVT*^N@AG=c!^nsC0AAxny^;izl4C1$IFAUGQ-xG*v> z9`R7nw%;bWe{^-u!h*3F^Uq9@V*_t20{kf{j~joIj(Ibk6v_GX@-6FZEak5I#9(Wi z>#if^*sbn?XpYNG76ri#FV=Mi8?tVaAp|CL!d=H=T}<5K$@KAD#r=TW-7KmG1uQ3z zJ*El@Qv0Zbf}~ryJSU4&4yKfYoa-b%XqCf95(J_3;%tT1X*}u z6@Gz3r0(>Gc^P#IL=`n0gLppZlnH}DidNC3eWh5$^jBVmTrF7s&FW$Sx0%OcbQC85 z>w|*q7*&QpKTn0I2nUrku%J$q3eZRjr}&~>HV6YiA&_Vw(2WUDm>Qr@vltjw*BlJ~ z5B&}(=UxjP`fw6^G4L&T8_WiJAsqM_Gy?nvz6HOBW`L%OkOoXd$a{d$5kLt5SwBKs z0dVd^>2&m37*3x^x2k^?jF3xWh|Wo{0f`>KXapkKLv^6-Le+6OEQ!G{lfn;95%fx6 zPTGrZzH|9BtcYReR|R~`6s0i{3~KQJ|9-BLP-clK#62ZBw_Px$`FZ={{p%Oc9^bki zcdNz7NS5y;j@7X;jp@f?Se8NUt4-s^wSO6v=0JY{hmTC2~*VHdZAb(kOavVm(C-^YI-+6+ELf{u-Y@sz+lfr@+T+hz3xe3{9{~3LLfg%DF`ratQ z-bvQdP6jUm6}wIvMJZDN+C!l`9duo2yls>I>y#xDBTx}{5-R$^snhs+xpYRMyxK^9 zX_E_kWdukMEDW}na30!=O;~Lo0`2=6suLfbS2n66QgF!57J7)m+Wbk1!x(FH4BV6K zJbE`E8cm_Pf{dfnqREi_e|^;kb2f1ELl{&{r-35qQltU{v;daTvdvjR2w8-Q82?mW ze+wfBt`40+Mf4{S4*C=#_A8hTtep%|$#>-{2g3;+be(sqbq(Jyz|@c!3YxEhiZ+PB zL-ZNM)I?_h#7PKKI9#`|_Pn{*<1MY5a>wW4BQfX^M>PVQg3gyPx5F}v2fE_!MK2#v zr21+`&$L=(Ir#`4EI6e$DncqpiaV@6X07>Gd+Mibe0JUcmP9) z7V77KXp~j--d-W|!G*P#voYBq`mM$Wy64R*BzZV2vfv&>RleR(bx!i$S9J~4 zOZk9JP~~2mHmn<;9X8al0xQj$$$|)N@TfyN41s{H+d6OVW@t+jMr#^4Nhg-g4hi>Lh&UC5I*ZCx?ac-vi~zJrW5 z&=~_81VjyS&$F0eN6DhzPE?hyMUE;haJ|3Ui?*rI8d}TJBqVGZZLH!e7TOGvnbw0N z0!QiMVfBtD?d|KsZoSJ=m-3jW(sB@0X+Z9@NK3sIF!4PHEuaPRuL14&x8Mv4f(2%9 z6?K_a1k|BZ5Mq?Qk}2g5IoI2fX5kG&7=)I%dgz)W=PqyKIYb{+F}UFxTmx|E40wvk z;|vi+j>W;dgDffU1*%#HvwFK^R0k?%?mdIfv`t+GZL#W36Q+Tgok$>h3(Si@)&`=x z`yV=s42f>R_XtD4t8w_t$$0qm_;7zdZbZSqi7a5vzkr0JI34|#%2C}(RAmv|t@0O4 zEz1YTlo+}VWE^fcYhhod@;ehpq3^j4wUfJQxNdRgp$;xLW9dOf2Jp+570D_pVFD#d zf&nu-N(;RTIc@>qZ<3rI*W_=G7A3yb0j4ZTlueaFcuZdw`62T}tuI(OFcA0l6i=UM z?d$XDcy-wCHi4lCwyJ$=P(MCp6)O|2<3D5E4tkt5X~~YEo=qHTox3O3(x6sx_EV~y zgFh&v9n9aMDsp1Ht6xW#-J>HSC`h_rNWi@A*Wi`TF8#|=42loZzhOZeW?35emvlVf z-TD5yD06CbN(jbzc}-KFXSO2ajS$}?km8Bd?hESU%lH3rK-!d9O&M73zeD~r%d*0m1&{zo^0GD&FK5u;gBX!UR zc>nhHbusJS9=umOobL5$;B z3%uMM8Q?JzgTXRP4Ja$?|sl7&V*^clPv{s;fI}m;>IG~9q0F_ETW^fx=(xK&riH~;eZrde?n3#lZ&2rCPLkRy zix@HWJk7iluXAQ+IUSEIQ;#RK|3kb-pZvnT!=dXhtM$3-ASt!J@V8ZYqmo`cfU;9bh&N|A+@sv7=6`L;EPV}z zQr=c#!qL2123$y#QEr~M>w+hdV-r0`T!kx(8GT*S={&{^DY!Tr8PST0Ojkp~d>q2Z z#SxYo58(P>O^z(wRlnu{TW>otzP&v&hg6oC>-J_ddZPLLlVBa;cNsk6eOo zye8oCUbH+7J)-|S_#~XX!|RwTAy$t0XvvFVpDGbM*;mSlb&I-B->L>y`QKw_MLa0A=A~Z|ANP}aC%IooR zE0cCIlylo=>10bvDoA+GoVS#7^bWdzdieJB!_Ut?-?_El8G7gXuq$)1vIcj)wNoM+ z)HV8nrdu&iR!ycrv%xtsFWu#Yf}1A`C^vwM#o=M#doHytlPCpl;amD7x~)sVHscpL zH%fGusACRDNYCT&s4iC%oYrp{dby^q*&G6%ik|`ttKc^Abqd*Ga9?d91S5iJad(I- zqaV}R-;-cIOJVverG%Y%QQ+9C3(5tX&l?b*GqpDfD_b|0*O3%9QB~;c=Q8{Qbper+ zhHmJKC~!MZaOdXO@3*2W5h%Nd1k^TGMNScS@m(#!qOP3I9hBslmWtU-kF5W7zd4l* zjmYFOv!GlL!4c2j z>%80wE^eACXK@q;{x)k{hK3Uxctb(Mh9^@7k>n0+BZ4$#czUA%l=iKrb(wCmHRcJO zim%e2p_@-6#0@}@1|h^gF~;EtfD@|>uwGz=5*-^0XRyn&2*wRis~GhLIIMwLbL3JN zl}~`(sRz>dZOC(uo~Z0|pfRPGs-!*d;=8ueQ+UPHxYMBxLj27_4P%l|_p0 zQJ;gGL@Dqlc2;9chYGqh7{xC*VmaPydN0jJs;h22D#?n?vq_Ws92tHAcZNd z%!NtF_--;|mNNHE>8ppz$|)nc!A<}U?c%l8|21A@c1Pe8;_hw)}54+yJ-MlW6 z(-RVSF=iLoMTH31s$DUFQv|pMpF+)a7u02EYCDD(&$OZF3Qp}+#;)zUtq&SlW>FdG zuoO_T95PTSSR~Rai2IcEc+9!Bk>GL4^vfp7>&pU}ulG4r#RxD_DHB1z$Q@nvI zvK6B)T6v*agIgBG*LS9W+*%1Ru8rEv-@U&sG4s3 z#SY+$Z+EA|9(<0^UoV4NY-&(Fd!8JJ9RfEw^G+B_L|&AIh84gR%`7g zc2Gjvp7_il%;dQMbvHk3lYIhP?^}6s=Nb^bzR0M zH(06@XQ9j^vpsq?-{8ul)`F{TYu{$A*i6cNm+0mGbyzR)5pUszl~{>U z#5u7^0wdHCI08p-Z5wpal}OYv$Q-3CLkeRH^S~{|j6mLloSPb|Du#I+#`2kqpifvt z?V_=6$9r!57Pn=U|Ld(LFaMeNrTdR(-NN#w7aY7KUIhYGq+0%_xG8*H^wN+}X7i9_ z8Tbn~aD9>S-$~3g9MZoRosGuQmltDn&gx5t1L!q6plETIekF*VPh(!|vsym)0}}HS zHAxB6zo1)ZmWDo;!)U{U`-*Oa6<6oU5@|u;M39;ujgj*wB_oG_$l_oT*gP)SL@ai+&}@mMTPeo9_{4|X*&s-~a@$K0m&UZn!5CIl zpop_biJC{ojC&mw6oW-S2{lz@&%+^8*xuM6c_V30(GQxdzM`;@ZbL~nNl$XcrgPMR zUHodUJ7L=Gp11AHZCG8)2;*0(h5q!3t?1=e8qOn#aWM9Y4yvaAdJ*ApHu}K}(K4B&c z$VwFZa_dw*lAuKw_Tsz}*Iz_ydT8W{sBcUrd=7zTDlXYAC<#4S#EReESz58O=*D7O zm1>Fsj^Dj}P{b~bS&467rQw0;+9M#x%MUjhO(G9e~tIBdKywB2+ZM4S_te zmncRJMkS^dGUdEm&8ry`0V;B0CqVep+b8JEC98Zq}zAToXPQ?#Q;`Q#2amq_;`=R@lK2v zQp8;d`%4}wDc)^@=b0PTzI^R}h1(Doap^$}Y%cNnnM?WqiDl~HrzukFZsvmU(r~z>m4rlEFNDR4{d9FSipy?6SQEjtgj9z{T+0wb z+FC4&zP5jKSYf=3v7n!l3XKVaJf)xR%$cdOSUJ7f{-2@CmZG5t)#x(-B`>{6Xe5oJ zo%=OYX$wAzr=_5s1SW7n`_Mj25X3y=v=AOUa( zARMFxTMmlk{|D6rUmi4{`1hb&iOXP657t$dkRNv7TCWvvo(A(ZsaB~<3kh!yK8&rP zraYTS0eev`PfO^PYwnQx1=0gZ<>H{?FKY|lFA&*&LM4PEB(YJKSd+F;qHMWcXTC&% z?33AwBun+Qtuv2vAx1V*uVuGMrSbtf(62<1ss_=3Wj!sDsq3b|);yyWNbWKuxx4aT zDl-$K{k$EhP6-yO)UeeKfkFQX#wX)SVWNN|jQYi!K>!w9*7;Gf~JDIV=s61f5MYM|IM$ za5f$2A?8f_@drs|l+>AmoE97ZIBMA}E5(!V0?Suy{`>tYg;J$9FlUGb#m2$K!zUo* z!j&6$B4QF!GI9zYJbCfv!F604nV4B5 zNR%X5id0r26)04sSVay*K9)2BtDNX5Q@YSsSLyA z3Z+V|(dr0m8(TYj2UmJWCui5K72(#Mdk_7g-IHen0N4}X&_kdwI0D&8L}Rdhsdz%0 z#YQ4is5Cl*$zpT3Jib6E5=*2qxk9N@YqUDO!DupDtTwyD>2iC#KEG}~dM(wb-+)0M zSZ28uR$7H(y-sjSK}?%vaRKq`Np=v&K;FKnKs!TBIgI`|x+8g^ib4NmB}Qp7zWX@7 zm)N^ECw4RlCKLvY;)zV(*2;T*YEZuqvVgFv3lk*bda&cu3KWH;m$zkUJX`G~5Q)q; zp(xU}Zplht)S0DQsO#-ECh~e)GlAQS*?Pp2c{Pl|f)h9lpx`XpT!b+yXA1)wZ85RR z)SbA26?(q9S2w7Dnq$i9u;JH)A!IIO4K#K=lWNR4F<|0DG{W z#Ej(<=1o|y+^&wd_Co1H-&feu+Crt|6;ZBtA_{5oBwm@BRk7;`hg!N0w(hF-BqKiz zV}K!g-l82cc>!>0D)x7I5SG4HTqAHW?B4&96-z08&tpFl(3aLP|`vT7%ZGeM2 vEgyaVmQ!V!6UY9iF5u9aPj79@;9z?1M~#3~-P$EPk{yL8Xj!heQiAE*n0`2&~EJ#Y>02L$2A*}vMQE010L zJ)?L4zyE_EycoTF$GHpfvmg8sL3kh53+>BzLu-oc`d9F}c=?_OAKi6y_UCZ?f*?@k z%Do%s?)$-gUlfFwiuioxo^y|0BVY2|gVz$)XRn^S=Z@3IpL_=Q^BzHvE?m3!fd^lR zY~tKc;-1J;*Y3aL+RN|x&Tk09$9@^>-z89?iGP2M+IU)3&|Xm_BGA#nRZ5RpBly(WkvJt+}N zeRNNv>)Dp@KdYpGf-AS=!wX*zaTRj8^cg?yzvK4x{=?M`!! zw%TI8JU%|wX}8!Ch1{L1Q2JghPaN=7o}S^Cv{LNV0Mr$mWT zS(VANl2cL%{(E&2M;fVMB~h8g6a4}?NS~o!6rw^yXm?wq5h@U}DibQu2UJlJaqD;x zLj1y>c#H_uN;Vy9#2bE}Dhp8()s*lc!M%;OTMoZ@Rbj6>xYdr*dZPm*kuJ^*6pG#Q zgx3?IzEdgZZ(sKg4d+vX6Lhq)wmx3d9Zjax=$_DT`6fg|coQJPeWHVg-Sl1ic}KM`wdFHCIyqphDv1Fzvh9sTf&|Pu3f$Rj*Z(-A3Jhj-=5W) zGZ`y4%j1E7k{XQU8R^^OE>pmSR;M$z?FE>`{&3!?K59prSkQmR#yhGSX))@k1yv2V z`oAiQ3O@HP4W6qC87sIeI=`F}#kcR@r&yM9=Ip@Wz4x%+o_=P)JEf#Nnj(2DQCXbz znp21N%-O1>djlE`=lrv`-Dcb8&f$b>w*A&;++*xgpW?rguO2!yFo^%ZoYqwFJ4Dn% zwkjStKtwf+U-rkYc-odo13q2xJaZqR#WOwmB`5csI#UsbWg{FF|c^aZ)kVO+D> zj`SAVVSZ^WJ1{X{YoC)nsdRYx?nn0f48t3s(yJ|S!xw-uR!OmHmRIHsVuuz7oQnm` zh}rtjYe+dh-rnD+e6heX_NSK#i$*K+deboG#!PU+%$bD(1G2eIn8{#vtX73U{LYBMnX(CFCIyK}wc2muG^fs!P z(&}BrB)iu>XTZcw3!)@TqI^w|1w)e=n*>ES!AMQeRZZVun&e*-B#E9BD1{YNRdN#M z#36eUYoD`miP^17yxFOSA)gdvIq;f`FjM>g={~xXTem<32_|9VO`fLr3_-GIeSN)~ zA;J%S@WppOc>mQar%&$RyS&t$8*kMI!j|wZ@-8ovLf3{vqQVi!=2EsLM;+L7CWZKE zwVRM5$SGUFg|iKtQYmw3RQrO2SzL)`QyyEat5r|-%Rlgw`zAEIsfkpzJ5&2aQPRbc9Xc%sPDkVkmzR2ugD%k=ogcbd@CB0>cpJi>&Xp1{OC$^ZzOwYRyU2f$Ic#| zoPe;7mi6Fd)R&6Hs=6o}oJEH5pq^}Vlxu>cGXrA^#aUNPZ0d!WJssVi=yBtU@Q~ z10p-h#1<}(2;9-x#FqLNX1k+fG*`$Jb6xr3bae{O%s7{JdY)^fvUX$&o-3g4JgKu! z{P=a1c3>BCLa^(@Yrp|PxU-(4@cnX_@tQHN(}vscw3@DLFw?}0Q^X;Q2`|->hmF)v zJsHyd0Z|Ru<$~wIMtDm3dmoWV9Hm`^n~l!xI0`MhuA&u{;+^WeCtn#aEWkr(cM{m!y@if6z^Q`8oQV41L%5rj~0&MPM8u4WPc^k z^efa?DVR=`f$Muk?dhjwJtS#QJuP~PM}{xZP@N{0G;Xa**UHBwE z1HloV?8eKm04#43I6=Wnydo?GN4`BVRFp5KOQJrW&lc!hF>UIZp<<@m!6y`84?Ye3 z2np$K0%nI*aTT*FA=OT;@;n7ZwrioSa#QQdvu zSBDFwoql^DEz6mxFKA2@q9a4WFC?|cA3ia;Mm$FkPT%$M{U_d99BAempL(pAuoESP z>ciQe|6dtjp2S0W=?8?CaJFkip%-<;KC~BxC0!M9nNLD%icI0xP6CtoBs}389}Y`+ zQdliqw)sf0SShPYY>=7aG1y-wFU-=gN5)Unc0@7UH_*&!Lu}!3IYnL-FBAX3s3j|s zr27Yl_qBtnO;&balyzNJ2jX{^&s!0VN>pyo`N+orgae{1tC}aE5iyuq@DRVa`4^l2 z2c?n`wq$5Hwd9nDU=q)M2)w)uUS1RasO!11aZ1#+D8aSx^l2E=VSsO-8hQ-?Tc!$- z8i2J&?g7g7Y3jo@Vuptrc#xsK6wniY=W zl|q?0(9YQS7N-!jaoo-&5eT0hfN(NqMjUnpJ)LqcGqyXDPZ?BFJ$g1^5LNbd$3}HR^=ye~-a#)| zEhB2Dw062QQVRIT=j>DVGEwV^(P70KrukUPRAY*6>AqAZk*bd|t+;aioAd!l#wFoL zx<-h|%Fs5gXfu4S>Kgnjo<)?HT&OxxHv~mstiAy05VVtmrU7sF;Jd?o@YoxksNobv z6Sl6+ZNU1O%@?C8zq`Y^yKEGQwngvg2a3bZz2Q-*f$ufO~=-N!m4k_>^idGh>q8GEZ zQKz|-&IF@A(}Msiob-om?-b+S#PvCvgH78l{GVMbOJuQu>_wX>l0sA}^`O!KxF^E> zOY;4oHixM2v&b>63DA&Jh_;+H4U9xG1Dc(OW>>eL0XQWQX7O*mo>_wOE!M-=2#R`v zpVzJYWO%$DE2;d^x)zTaik(&ppSsIZ zhNi=$pcRHwrF4{uKUJtF*i3u8q9$vVuOw`Jp-VNd;!^_wRr3YpPm$y4v`XW)7I|*- zUr+i82`ldi#ggHVXoQNo7?4dlKqfqyAPL7A{~qSr_W|LM@PcboM+HSzz$OvWK%j0E zhW9Fvo2tpsIt?+X=6c^#df)qgZ>Mn2jD+0k3X4D+BgK3w5egzHcZeJ`demjg&{LzW z=&`RdFnvthc#e^&3{x?e=s3c2BuuYvaDu%@)Sdh2@IX9QifMi)SIGrEK_@bt2#;hm zJ!nb#5voYkKfk)N$C6}KrBo5`dwWTwKEI+4j_kW#4L!Y{4h42E3{R$G$zjBcir;a( zR^r%+$bcFs8PF4C!H&QrCE^NF3^v{nFN+fsAfSCtdk*xzAJ%S6SQY-$ zD?TCvI=M-TBAgjq-DN}!pg!!AEOSkPVN(>2O_^bHV~>)%7W{dW#Y{H}uUkw6=tqBer^hH}G8u?vfeRF-%u@vl zY@gF|?IRYDzsuNiK+bEm#ZbuBhFZ;8C+P|1)q+u5?97!Hsjo2j(YySQiNlsZxM0T}z!fonpH1PGFQ@hb>zaE_Qthf|LND%M4K{3;7r&Gg!qEu-A~! zCser#XNSzWAi_8)ile~o{F^I+3OtN4kSa}<8UaQ>IFv$<7_Lae>$iI#fzgs#kch*` z=e`Q72nIz?)-j$o=_myx-Glo*=Dx{tNY)z!i!I+({R}--ci;sJmOh`+)!s4qo5>W0hE>Yaz3!(=CLa11h!HGl|h$qaUGE-53 zKW6AkA>Yi_RQm%Pt7kmOsO(wLA{w%%j~<)ObUh?!)vKv#>KD&NkRc2Ww4{ob+5D9g z69)|VF}pEA1H}fp7T!H*rH|h?IpIlq77pk1NGd$$tlr^?&B^9KF;|OxX3`*ZDIjYe zEs!o2J%gL?J~%xj8A06_DptISLoA+o8oGZ4^cojdgpa;rL4x|aUrF~%KLe19>nBV1ilB%ZF z+l!UFq13}WOO2_L`ZO_%m3JMDXC{{#7MVyz(hbuak2a%$>Tt;TLNYoOMM+9jYI$oV zkx;6+bTyPdzLJ}5Rkq6?Ll#{%C)*djNdyb+kM|muKhWvuy z7gEB0mx2+VMPqp~m{wNqLe0o6cir*`uXlxl0V2dAfmARBJm@EW1w`VIAG+Ce{f{EL zRN$`^PyDhB7-Lkxdd$%>=hjQ*ceu60nhW4aF6&fd8c3?SBYE@92l8^8Wm#Foe^*=^gewzhsH zd-Va0*LME0{|n>&*YMXJs1mFQM}-%=#v zybhqCkfSI*X58zqI{_CEm?Q0BSPR@bq1#t2uVWcHJVpW5j{QXRKjb#}&%8ZQN_93?eb1V+UQpMEsGg9(i(E3@G!p zniXk0nnX&K$cE(vWFr)nR5f}`_U?`QL*n<5NI><6YU2$%pyozszXD5sAsO+onD5&Ucz-e%q2Q%Q2 zPeQbVOz^+^6H(W>apHP6a0Z3aP^C~CtmFssCW@roYB4JFA687`Icy$fLl0Qk=F-0J zdl*B?l`X5seKT0r%g{P(aRr7Dma$iJYl{;PY~-pdv!U2xE<*m|tta@QRmhVg)+H-hABlfeSW2b*67ZD3e_Rw0s z_{dBJ$yaJ9|LXT@L|MIhVLX$2OSjydseB0hT7hG)L1&hQ{lbIY;BKNRKIrUh#zOv^ z^np+cfdC~MJqO%lucU>x{-BR2!IzgyH)wrZYVT@U=>)qOjt1 zhx}E{FscKvGV-5gGIBeH$f@A0?G8j_Rg@$nG!jRs`yYNzGP7oeY5_GxYBkBwsHl}A z=L%;s-u%E?{dnEd(hA8$+hgN$kYFQ>?*f7GLfVkCdXj}f5UaJ zu`ouvQm?Hs>w?Qm=Vf#uc=(g6xV%1+YM$dR{r#Pi29L+#PStNSnbq+~`;XHd?PHm{3_ zs1$UeFptXQ_d&>SRag*?yn+M(k6u}5g!romQ@m?303To#OT4gD+>Jy2ZHG9lLXD*{ zT(9AJ<<(A0?TaJ}hI-NlrS1zQ@+K_qN1l`sij*q_kuqzISDiV9A$}%(^&!a>zu)>@ z?eZg@^yl9e8~R_aT>`aSk^5_Pd2!cr{Ydz|lR<}(0Cdq~uN64$@w-Rc&;4u!;W_?j z)Z#Km$mZW|{v8?wo-Q3X%3jobgJwRmgT;=FGDZ4n;V$7bU4IaUkTj7D-GIC6+ss*D z1@w)u;1RiQ=_(SGimEHnbi^atRRrm(E~&_K<8tdDtar^Mnr56348v!DjMHy&J_JI5 zwbsjWVX9xQDZ=AJEJvVFq{=lUFM{p>qQeMmH!MWtn5TvYw0Bk4*kl|C~w z6_^_G%Z8)*4RMD^H7BMhvYO1vG-VE&J6E*zp==G1O@jT@U9WYUpxC~e6` z1Z-JA$4#Ihs;Oc;qxzBJotko8=xF-EflDC=)Kx^pXq;cNgp?a9{XKR$Q@WkDeekG~ z_~@fV_bpipbAp@yD(gsBChe$69!o3){P5sgPBn-`1gaQJ^FDF?o8o(5-OmZncLOOH zv|0s4E@>Bd)>pkcvX-hO!mFx)JhF<$AC`uO7!cTaux1U(wj240e`7gJy{;p`>MiGq z3*Xt>E0;^Pfp%q2&H!slAS3J-kBD8P&ZvA#tIpFDu7l{g2&Rag8#>9t?@q^YOFo4H z*Ux;JKDYbY%lmDkDu(YI`=Jx65vZyAYp=8SG!$qI#I&b(HM7pSBb8a7HUx|%qW zzH`G$qUtKkl2XW^6H`^X15nh=!dRN?A0K>&DS`AfZZO*rHFNW?%89lef#qX z4Lzn?Tmj6M)sTfs?r%{!-?xf?4}bAE<4wC7)_@@&ymV+6Tu$HnB6BaGQem7!0+#n| z!rnq{d|ngQP}NR)pg%qhs&mVQ{+kzuH7E=6+W5dnAGmVi+?i7+jy>9}yd&SNtQY)D zZC-1`o$M0Cg8|e{&Pc1gCg#fb-D0P*6oUq+2i8 zj*LRhdy^Z(yp-B#q*BkkHI?F^NfLF_zFaA9gxor7qp`FMf5yS+K>V)qg-{UO0&r@O zg=gMM7H&RfxgPE{u8j7Jun#><@P|VxA8SeN)n;9fw#7s0=XeURfJ&R2TecOr%RRuj zin1L&0Ip66C%PU-gRg6qV4?dQjRHow84K@gtJpUV`L`X~s$fqElkaGbKL$9-E7%;H z_N&t_D_A!SV^xn6c(k671I2&t)4IfAD0GWtz)_3_lgQo%LihnzYXZ&O1wWiFCqqcd5~@XPIOKH0OCO(^?UBo#c;r|r z!CnAU7H9m~V0_QQ;gh4u>0ipHqN64tH9BsI+^nkPzv2P6=!NU?-_?JbdU_{Wsb&X~ zrQxZbFa0gh=@~?m*2Xa^X!q58Kq|}Az+HX&oHle7x({VHsir|{SW7tBmYBPF0c2;} z0uCe*;ou{lc<6zkC@xrzJ2J$qgzDb_90Y#4*jJfxGBA= zZNW&FLedXI_OA(#c7p>foXtY2cTKUPQJ+RBmV6e`$s~%viY%3YM2fDOPzT5%A62Z! zo}gY%^5&LvllF1OA00%zH9y!I<>wCy@C;L)YMD+;ambqA^zZ7;-Y_=>LYgz_5TWeU?ISkTBqd z4q$RtF5K$w+d2Rb*+0 z=J$u{#@Y6gH~!@D6JL2g>fJfg$iy|(=bI_V66Ypju~_h#hiBH_^B+9KGd};w*!Vp^ zJ~Tw-_sfCKth+dFwsz0!vsPv8vnL6+%$#+VQ~jW6J~_zN5%(&H6-*QTz1i=Twd(hGr4mul$;^3_wo(FP!roIh;@s>D5_`C}}{a zm5qL!NB&gZ*&R%F7GsTA$nyJwee)?9qK}1bM4q2e?6`jDJ})Kr#-@Ef6qykeGV4cs zp&cD1)D5`^oh^t5XxW zD|EBeDg!LBT5`*$u1YeI5dsn2K9Lv#yNW;A3U8hrOWH9%EGjet5&A)B#O=aE!be<< zNTLRG3>{*9jcB5OOF={5HI)Bk5oI6NT*O&~G?+#qx+euy%Fomt9W-4f^gTR^Jj1~r;qMmSzMU!j1SdIg<8RbUh6)z=<5zR)8`cH=Yo%9*{~kE z=s7-Sb=i8REQNxKU~&sS-b%ar`p5a{p5=lPSH*tuH*Bh1%lR@Rr~F1IR5j$NPf{c& zE-CR$-AMerKalry$B~lS(!7i1bKzcwh5Wv}Fq2h-lGNOnD%8;WCwjuK(>`cfcxN)x zsxM>|r8uWQCyi6@s8^!EI(E6{qt`s$u4gC&C-*;CN9Qdx^XYUq5Cm4Q6jK9!Z^Rd7 zo^u`jAis!A%o*X?u9ZM0rU*c|m!QImN~pZ-T6u)=cpk=SMUWKC*xks)Fl)#SAdisV za3K(4e<2T)(86%+$im!UEuV?ULIL3nIm22QN^WB%l&+VF;aPVyWzl8HR0$U1WH->%%y(dh|`6o}_g zyEJfaG+EOc#4CMG(lkZRDbLJ|c(g>slo?DPysOlFsi@Xfie?{F0ImgV(I{-PBKt$( zJqbVf@H6m0m+2=^Vft{_#LR{?mVt9-_OS*xn`0Gscx!TvB|o_~c|lPIVc@Gc>U24k z*;)uj;RK0p+`O#&Z?0fqhc{8~T$q_^jFt<@IHG7pI7s%eCd!su(q^U%mMsLY*TUr!Wk~;{Pj4}l*`LR*9(EAVj~jHgdH6v4<&}&6d0=xqNU-vX5*PbL;Z7L8lV{Q&lq;Z%!L@5NQ@*lzcKs1d;vj?8WOz{$_X4r{weUypTp)I5-xQ; zOL2s}aA-&d^qf@Ot%=f;j0Z>!NRmr^-XC?-LAag%L5_LQmAbZjai-lGr~*EQO$~jM zhi-JG&e4A>KxNYF+AkIjpd}eX&aBzZa1s`b5gq-EzkTHepyb9@P35NGb9_>yS7Q3R zhvjp`XQrVm_>UvW)E*WPD!CnUYe`eJg1U4mrc@kg?Qo}?eUx17OlKHBNgO#!<7JAN`Wmj0x&&+ zCW||FE=u(nOQovWeTn!EGYm-NYuYevn{SatPa-867^|&TD_&hR0>c}zGsC*B63493 ztIFmnjKyEMayO0t6ZuJ{!H=L9d=7)dqA_RtCpzM<|BlJgukd*2zNt z3{RixCB8s>WOi1Wj{{n3C1=kruPvGq3JbG__*1WFej1HYT?$#>aetFBi2zM^iwl$n zNZ10^E?vBIY4`CT9UO#!-joYuDHV25`OP~oD?!N@=(Pm^ZF)kQA#Q$c^EW-<9wsEn zAO4;wZyw+;n6F%bjs6&T_mXgLH*~TE>-z4yGZ-#>`o0iQYabS+VE++8Ntk<)B=8Pf z0We+~xTKHGsNHlN{M&XsjIrOY_59nOdg$tv%A@romurE8r^aZ=w z;mH8-koi6ifwpm3Q3oizBEV`G>>o!14AYu9iJOj2hhZaF4CoCExu~k4euUww3I66r z9X=Rh1C>Kk23ENtYnUaGv`X~oAuA5TqlI-kjSTn04~@0O!MbSbiV~<_j9-j|MK;4| zBCSQINGZF6D1#BE9uko?C3G@-I2gy6E>WDRj4siE$%%0I>G~iGT%b0mO2uLfEQ-hron9zbM9=(bM4g?}Foh0*;?&eKo5yQCz7J zgd;x9f|QoCtOBoyJqF^qQaTIx=;>$OtG z4*9*pdF4DCUdb_QrK+%Huz5(0wZR0J&v<#0J`ZBn6spSMQyyoz?%3sXo4aIilbJ_9 z%5-d)%uUMEL*dJnOVNCn=aIi2srfz&}o%;PzCV? z4zfdFP!hxrXdLk`my+?cjg~4lD?Fca3?(<4LUUd*mXett^N4WJ z1;V^8qC=jy=NWw7b@N8c;A3!~tUZl)+~^b2)$$-*VtkNn&2KV?0_6j>*&kOyn8gDd zTz#{waWDxz-Asq_J?@aStbFsEsDh#U07D?^=t^RBHKph=TQUx#+5Mkig%BC^U%nNM z`|I?!6LI8SG}9B4m7VlcfHEK>;NPpijfYZvXOG*+%b0FOTtdaw3QHtS;t(X|@Lt)A zfj;1xzhV~Z_;rQ+4Q4#kLbE%9$#o$HlteM4iXM0Y9q$lOdJLhJxQ^r{S~zhaEu;(O zsEhzOf)u%BL9qCiAq+*MsmXm}hAb|6$>Wb<)ax0aD0>D5i|;R$%a8^jwQtMVVB+t{ z*O5k64cPez+g4?5vBn0*31i#+U?v>*^GxqfzumhV@-p51a{qR4uba`$6z&zwM}C(c z##DY@2z0%;7j)7IcP8TmxT!06OZh!~#| zA7cGW{*Z#&*Z&!FznCe8 zCg8mzEVsnu7!7y0AFtqnSG5OamJecb$IN_(UiNwAZ+}}fy{O3>aprSEPTTvtRmXl$>yHt;9d=JEYD0zXgHB8QR0n86g6nX zB-QX*$+8++sOS^-c#BFXo3Ua+n|P`dgNjkrj_o;o=ppP3kwR94_~MTG!b=|6uY}i8 z6qN$WVyb4+x>6w<6)(wHb4!QvmR#zn)gNV9kvl=#Eaaso>=f?n`q-R2fGx>DDf{jq z3$fxED;^jLt!-UHMZU6O7s;c>z(mheL2+|1BmKAUiS9-&5RDnwFtd(~O5LAiXx z%DZ+6vH|nNWCR3rH<|$yW7GrrAi98l%x4hK+Hq8TMkNe?8Xk??aw>k%XNl>|$iTjJ zHTPKibSG6*lH3YA8k$5R$(A=54r@nOt#I^f{|R*C`Fcb~0Ao)+ZXaFCWPV^eL2jRp zAxcK)X7K1>EE@3oDv8o<5Md(R0lGQlmxNK_j#nxe(%71z5b(Q<`6=E8g^@M6PYqC; zrTs9#l;~p0imgI&@ZVUr-qoGb0La4ZcL!ricv#nXanuj3aji(tpn-&Vjkt@EOI7}| zK74+`BP$-qT>inmm%XwYd+D-oS2jCbh-S+9RB9mVvx1Ke6s2j87YPM(=iE%t@@F%* zKc*)lwPG{n)RL+{+)S=4^mOo9$Vpc?BD}xrBoK*X{)YO9O4#Gip`TIi!G{5COC+f> zrer~I=8GUVNH@3|rU61ia9EXsE92`HLxSF5@p=~xy9f5~+BrMj9H|c!vk@DkB3;sD zMT@>9xipGEwQd$E_x&);&iAaGR%GFXCp3WRm?)YEZwQ$^zv8vTm%lefO-ARvG%TGv z*OxgUYss&^`bF9LE)J4(@Oxiuyfj9AJ|xCLS&;?ZTWqBoBJY#_g{YnGAx34#&Y>G&cF9T&VpK%#2-Mxl;jD0aE3L_4yLx_F~y-#s;vAOA?rhA@v zjh_hbi;Uizor#n!|FBz}#0q7%{5T|$FqMt{vzF$j$I!c6E@o4XW$40Da+Cqvh)Y4c z3DIMl2;r}-Kox2WOW#*sP@O3%_XNzEslA?YrnHRw?hjwoo{wc>sw82EI!*KdJl@0v zwn0E&_tdoH`0HmDvd(ZmmdQv;NL7L&yvIV9FOYUFMst|LsCUp>K94a)>@kG2Suy%y zW%OA3eRxK;I|3jRu^-5+XPs2Om5dfr)Cyhn6?D`fdxzip%FL!hW{TScN#cnO(jXcXI}Bsq5by8#6U)m2$CKn96BNve!|^Y%cs0=VruJ z9PX0bbb_l$JYdDL{+=GJ)zNkR2siH-7`avn>i$gr&ROd3l+<*-3Fc#7N{=brm*}dbAnvA5Q zBCvk_xkS2TD}SQ|;|k4Y9z4vv)iOg+u-*rS7rH)%Ruym_z+3M7_}Z4uzTxXtwQowe z$=x1MV15j*BmhpDzmPVSvBTnF+QR-(4T|~w3 zKu?Ew3n}w=tana%+(}Iwd%c0q=0&l!xO1Om4B47x#r-G`t7umj14kxC7W^{-XGbGO zp*BSgH~6>Y=uMVce%o7F^Hh0a%8X7tI^p+P@fHGdNt5)6W6i3+`ms(dGMm$+SM^{7 z8nWy9|0LfBN_#Pjx~sc$2IE7`6mLsI(>0P{Y>y_i7)nVd6hf~yNsM6UwUJyT826YrP3r|8Zd%Xx97)2eS@HKSl zBZF}jnP4=?UfqVrZ@7DAUp1o-tKQ^HkoeYTaxZuBj?*U(?AyJ}cIGRWVr(GyD!IzN z+^w{>kJc6D`PdI{MgwbDu8pMYAR>pDmN@|VBj4VGHrsCck3DnN9R(u~y_p9_H4xHGsxOTpH|0BSP+Tt#0odp4GFWMMn@ zayp3&vZ@BvJrCS>`Qpj-YGr(|T$^a+S>8CrDy0yQEoFxsA#swXT=Y1wW$*OyEORBV z6*gDW-1!40o35-e@nd!qHj`NtKcAnAinZt~o%X*qFAx=|kU zuOsGngaMY@VkthBn+18GNi4j@Ca24l!MvnIv0om9(6xA6z_<$BzhJVZkGdgA%a$%lRPIZr$={n*NE z{mD#p!cU5^`jc5;k05qIIt9M2fV0QChnLXvfKf%wW{J^Ns2cXY)voE-y9{lD%v0dT zw|a>f$l(wU1O2R%VbAK~&WZ6R3g(%Z6@&*^Ai+~8ASqvUe zQ&eP_9^I^|%;ZB=@fYjYg!%7vtAGkB`T5<)3z1y+gwGnRkzyjr+x^n3%^6fN6*Cx} z(L;Vy<*{~837u>>EL#gjePYMYSgmrJ=fu3_#AHArzbqbJ+p#v3N30zs?_-%n-U`TS zn)-h)?VBD+kbb-kT^mDl3l#^H%H~Jf*?xj7=O~bWVFNT>0!^EkMFwK=A#*s;!*eWa z$V?x|sH$8Nf@?63u0^+`J=J36cqH7}iXB+g#~vEJ->!)YZ*Ou%84Sj#;$~-Ct#&&E zE5wXbFIC78U8h4fMh5mD7p>`1Yl(jc8*}uHYhbEi7?V{^8<`ne^l8JzXl68=kB04tm@CO@ z)eiR!>zSUtoL#q?DH0+7vAp=$G40m5stuz|1F+$PPnUUWI&c# zWa?OzhVA5BK-mEm?aPQ-v2(*!7=m7Q3)X;VEr8@%l8>)q2K9}XA<0)BDV0WYJjuuP z0#)Y3EI#k7JJe*GCiQ1M=4dQtCYC9~HjyM*rAcg5*VoZ-*-FM|3wk6v zpglYOzHy&76RB}+G#tOZ*C54=hOIje*N5Y?K`o79VNwB#NuW#q_lZZ3rDE=CN#9+z zyanCDAX1O|HS#NHJ09&0O``gR-Cq%4L+4l?$!*+*Y3}V`2G?Azj#mcIM1^ALSi27p zxhSzf<(5?IiR2cD9EVzxmm52Z0o91F4#v_y9xjA1Y`l(c)Ht#U+J1B zXE6JYbi2ZYizV4|m}gPY!N>v#ICGghbB52zDdv&zut=@>un;w|-a=IcG1zKmm;*?2 z-n=;e-Cgy&ydcY+c?JdsE8~@7l>{dJPcHl=nA0NBPyMEFJq z{4FpJOrcLV(uGnmny8FLb2|sZ`pCrR!uhb4k7H90HKZcMF+vBMRfwyvY)T6i6fkHT zc?Y{{rzR9QBe1lI_;P`E%_(aZl9rjJz|qYaLQMW;;EpZLTtrweuIo zY$oN$O~mW~616Y{43X=n3^W)9^*v`!A3u8Nz<9M< zEL6t_cu!5oaYG%Dq__3Ub{oJO0D7Sj_ogh7>3Ucw0VgOk1~-Cot{Mo%UEk9)&mRtZ z;~_JhKq5pp<4$-28$eqcf+EQ}JLOxitCg{#`Jqx2^obg5t!6qoCpKR7YyE|RV;xWQ z09Lk!=Z)A%G&4LM$OWFf7)EwZHI3vfPbE=bd#{GF<>YX=lZ*zfs8S8`>URZn6}MYt-1DHsCi) z(clmn-+cfU-c=W#9>s>dwVr|Z%#(bW+i8O-r;6%Ws#6L#d`qK+5+2o*Ggi{xeoK?=(;yFHhcvRhGw8dTT@VD8Vj z${J)iQ477gb*KH+dd)KJVmYj6mX01WY;-6ZiSfI}v1_HUH zPxqQ?Dk^JONR`xNZDBk0*ER6F?|a;E>wjU zR|bkrR$+@Il9;^ ziE_N~pC^j(V!IqK(o=WVJ{5yu<>}9Sz1On z@_1!uPRnIQ@9x&_kn#$&2O&CUJp)lw57=?7?(xu%)QFN!dG+Ez)eK}Ynu44Yh@i+> z%clh~Z%l+s*sbr!um^rwD0d6kpdDR+3ya5x@qHN=(EKzFGtjxS=0mpc-k4X>t1&MimNYUf8B`3TGiWpvssugw z79WYE{NA7#lrVh&-^zBG*^Ovu6rFC*2`>tN&<&K430)nArHXbvH z2cMZ@aO)64+O?N}WjhB(cyY>o3m_9VdRtu&bJ4HBTERW(B5-8YWY&nJv@(cE!#7<8b1HkcFgZ{*)BM$1pfPf@P5?=fz z8ex2al5EG5`{>+yIrS=Iu<(L^dm8r_{ae0e|$c8iTLuw8F9 z1L#dNG0~n%y=QrsLC!j4a&J(7I6H?vNI-DHyOq&hg+9SBzI*{a&X}iTO|5?+vZfH# z+f_<=kN&o|p?AcZwa_&!Yn$JID-Pw+g`z%$elxEf%2k&gfV1A7IOuOR9aVhfe)8ah zGHt-6pL#mse;c&(f9x{i(7|x?o%g--w#A^=4kC1MG$=SWwM2DRraOse z*Z7Z|Eu~iW_(K^5Tf;i&jQm7-=lVjom<=lWJBYRU_VS)+{{G2mG@*zWFJ7e2tvoTm z-aI;!O6FWcAgr zm$k&BV;fi6S;u(d34Bomx&AGnsV`vK@loMNyC%McOd(4IZNa@n$b^6m)>Y-QU?Amh zTn27(u`1{YQCJ7Ld2-C%PJ-1iwz@aEQ|wgq4q(;}U&vy>|9sacuXn?bJaqrH^Ji9e zEzD0(?zAH@%S1H z3Sx6~>_>L*%IIt{6N+bpK@X}4vL*&{hE@+M{-9J!_^ScG5%fvLh9?{^%waR)HtX3s zT#JW;MQj4~99$G@3ztQ^ncj=<8YF{tj~?*`kFVov5dGCqFdZ_==G3vVQg$$E6>b`5o314$=LxAx2-&F~Vr+@&}E&sJ_5Yf}K52#nld8y~4iakE@hxL1k_y zafwb(&xm&0MQLH>1MxP>fH^zu+qp2j`C@jezBX$Y>Jy83^Z^Si*WXDWp<|%y3h4UY zt_4sA6_>;ehHJ#t2qCaiY&4GTrc3$vHSvZ)Xb>AtghILB1IM~wV!b8!&L?E9-F>8b z3%cpo9>e92^)4X+rtl4UZ`(IBg)fcqGiESg=k8F#hf7sf4`c2Mip>blJPrp39Qc7( zu0L{G5$5i07&zN*f}b7m&BcW{I6g+#HD{=9)QR`yD*>xk@!;DqVa8ykj}W~oN&Zna zZ!R1TSomfu2KV6Z>z2Ih!IIZIUIa$3Mv75(0y{rEOQ73pC_P;Ap%wgEA) zw|Py#S2CFxK|oEL;;U~2kB7Hnz;_}%X8BxqD1r5Ip{vX5y)hE~Jzf#sqIX5^H+TaU zTCsXpAloyo#V ze6g0UB0%l$5_pF~wBP;QaAPU;^!Llb+3C++DQ4OugP;5|CUts146`17yHTpDQ%LqVY?+jx5ZrR%`pWfO*Q2Qrr z^TWae{h7zDNb;^z>vw9XtpRsyJ^Y35FHDv(-FN$oK!Tx}AQ~BTcaJ;8%#ztsjChw1 zzOXcZ|4^(nnEUeQ;#sJ}`Ro4(kMKLf2)h0blfkYLCI-HH0(FVUUvmm0K_=M zZ{`gz#3lm9x6Z`QP&&o;J@ucXcZFNr0Glgb?_%Sd1N&B2=4V^YTD4rvWg>PcfbrrH zGUEC;$R;MDW1Yxip^n}9^c?-9tt+b{%nrcYt;_E=qtiE zsO6Z7D;-=8*D#LA!an$+Ej{jMub8r1h@lNu+Zn|6L~iF6@n=VeMw_cl3zXhDRKipZqa|p=I;)r{;U8YG zXVZ|}sl%U>bP5}dQfX?0E-WYp_BU62zG}T&c!Db z>{vkR65EWOIK! zB%$BG3s58_)oGgdDrh;gv;WTg^Upv3&iwPwKPFB_?ehk^aHzP^XnBdc9M|_N7Fq)x2YA*S!szIrb5ieedJ?^Yq|$bwq)w6 z^_C@id|{^8=t}mQ^LNM&_yxqF)VzCjxUnb)4$_}-iO!BOJ6~7gb6MT+d@rstR@C?l z%Awrg>_hBqISH+sla+)DwUvr_;0To)j%c(%_2v`_0nJ>GI81Ln?^*gSlFonjih<_xU5MG2nu!e>8EfNl>Wf-3)wJCA)h)N&J zC5d2dZ-|a`$8oj*<#X})Gw>3ysLG^ivEHx1<1~oU+k9CXPZm@bRJtv@4e)VWPJ@uh z)0dDmq*bN5L5vrdM+8EPCpS zC1)v?^$q;|>!j<LB%WioC5_m7(1?8l`tla+@wPp?zO}A2hl?nkS}ilZ)~9teB||+fr-gm%Do={FCUv*D6|># zhsXH?;gHGR*So1~SB@WYtmny}3u@q-8mbjo;7EJk8m&sw`%hEi; z<0X;4wsrmCd%qsrBsXGIdpvRA&)07;^XjGp{^JeSvYFbFW>-b)$hz@rn;TxhuqVY1 zjk3`uJ_;`>mR0bow=@MjhCQ*uduW|7c&y6=9wSArCQ5a-(Z^~X&2TM&jMkz8ID@SdjKw<(JFuzz z!aEny0{11qu=$}t19@DgYCE)Rh8*LUNhyHg z#Mbq60N(3jF5n%jAetQF<0#e!H}2elwS1$+@HiaFR=LFINkIyBIb{asru@o0cuEnu z%_G6&AErzs8zGs*e}QDe%=dK7WhImDfdB+0S+v+)H2)Uho~$s^eWrg5&=QFy{3h#Y z9&(Btvyuz@6@HlS3#w~)Ms6*jXx@fZ0*wLaox@1kCR4Y@gidW9>fUYSW3 zjqP-SpjV;LQ<$&SN4Fp{$qiU!&&<^@6uk0B$lcCgt!)^z!-&457*--%gP1CpnWmkh zwW%)@X^rNouvd~W-D3~EqU`v)A?rX#`Ylf|01B`@V zb%4(^G%8>Q`rs6j6-o^zyU0kJ;gU)Q!|B~67TZ#n@j?j^m7F}GsC zTx<3ZdMa~To4~o+NI*BF&GfUAH+=&6aYsw5R8;1K^)bf(#+$mk433tL(n61&ELP5- z9ZsShj)M0(s89Kp2n)@fk=77I6Rkls(UPHETl=!Jb29FbsFy*egQ8gepbn<}bdf}4 z)_!oDanpCgWf%PX) zc}K_g){Af>XWY4=$Y_MQmLb0w=cvQc4y?6{N^RDy^Ito7cb=iOY-5vCmI4-h$MUhw z3tvXK_=5Kr?LC8gxUR4aC%S$%aqpCS#xvQ4#ZnMC$MhHs`7xQzG1Zt{7##}cDtAX; ztyF#O*6TKJ%qtk)7~I_Is>4Vgd$EI%dq#(8YYb+P^tM@W4cxV{CEDvO*$Wy?VXk+C zE5C=Y4o(#|qni>7F7?&Hm8H%)kmm{Zq2Wvai##)5gAT*}@c(iC!uj*$0pyZgzsbk> zXEFaOVYQ)Z_*xW-F{u%T@nuGlnu&%s0dwV9%&dgNPi00UfQHj?Mh~Fo)V|T}Tq&n08evgl1<@Fg>!TM?EL1z()>#Hx%!Q4|AhLI0^n$x^)CmNO}pFWAh z^=oa7)bH!hcY_KQyn-B1YAZWB6>9X8+ZPD|X>D%zW#;do(q*6X$qcCi1|C|SA(oK4 zy{v%eUhzqmj(OdJMHq><*AOYu1#F>7Ylg&^dxToQz{iAJQR^b?F>epGG!{a~#j(ao zwALz(O|!I70pu=$ogC_0UffjDq!GS|7il$KNqBH9O?6ByS9-v`)F^Tl>W42hZ=8XA~7XnpJXSoC4&A5u+C{`HzIa#&R=RNWO<TUXR^XFUEwFX*WX$#_)XnV2U(b3oOUgxj6?(5#({ezx=Un8tJyylrTANKkCX8RuL z`*pv&f4=|aP)%qd^zz#H+84ry!v7VSj=VAOaCAfT%|Xjx%i#RrQ$saFcYzW_CtNoj z|C(i|v-f?LBmRo$bGG5hx3VF$%O-dj`~V{s3n;1o`v^O7@J~}TeuVIo>^5N^dqGs$ z&A6TtkFdM>40`Pu_6ROX*u?%3XjB78hKfyJgiFYDAg6mVb?!>hp z*KvZUcag`;q~Axq$B^GTD$j73J&pS* zegfrcc=B>QdmnMok}J3*zR47h*$$!G8WV5)5CTm?Oo(Y?RW;^ zA>=h>ILS^Rk8k2S3!L9$FAxI&zYo%IIcGQtJ~?XmNaHA-NA$lZpcQ*pcmbPmn6QA5 zvAgt;zs+Dvv=sDK#@@?g|N7f(+UTz640N)RR3=L4PBsZ1{77Q#Pp<*0{9Bj{GA3!| zQ7%Yh9{eSa_CPk*A{=BPlxt!#>%ltnHq4$r!H%9l1D0*%F=1%C$Vbe(+`W-C1E+vPBoPj% zTv4UOu7D~i(u}0OII0>}PoApfwn%h3I<_t5lYQQWn52%5#(Zih?v>O|igm{0Qc4F( z&ZxCW%G^n6BRy{<$QMUr5|CI(O0@4QffR|J*(ladvG#;FfptKy%Io8CS!JWK*?2sl zii#AKR6}(V2pJ=zG1VxCRg)YB`f-&f0;)lgftNIsGERjhdZHIjfAKszt%`mh(j(G> zw1B)*jmBzJYjZ3y>P?QtV{#l%L*p?#@=~QTB?nZaqM9T1ryIH?L# zyHq}n{8ghrpqdqlkj#lpKWAW500EkzM4Uhp0~(SR<&-&xMWSK9Z;{wmWjXO}dM>;k zC`3@>gcMznlhhCzrI?qfsY+fTnZ;5StL5Z?UPR6nURSH|7G7Sg+R~To#4~dE6!zOk zV?M9!i~D^6)uE&WA*#+K2LfuYf(l5IYL5(4y%3SZan(V0W4LqRE}%M*O`b*)2^5$H z+G=hjAuS{%H5Wt+sCmlBL@Z^P8HiV@j#>F=KwYJbY>thL>xo_;(%o9ROGzDqn5@hnAZtnVkny;idg$1B9g@sB=q_9Xy87M4PQbr0(l$41= zuaYuTSgNEf6qYF|D}{B66jb?+fa=#G2Lo!o7P%pymMctk)c*lERshFx^WCK0L%@mo+) z1NCYEJ*fdqJOpmLY*&(#oid5B{}BSL6i^!%n}-*u4gQpo=SO1@L(~XOODS{d<7P!_ z)9`Hp9FJbwqai3Riyo!3g0E^~e4tP6Of~a-)TkBp2f~+qB>~1xb_UcoC0N)SP}@Ha z6ihe`@D4NyE2x%&(hzlCkaGRP!jL=!VG)B^hgd|9hKX#x2jzD{$`qi3;J*fOqw6Iz%iHAuBS|CkP9!iu4(fiPv z%exZ#J+Ie=y%0&v$f_7g&Oi(ak)#*#L>zs0s1COf?{N*F}F5NM?!zsnQ? zL`YZ~AOJvnBNz&zeFY}SF^QL}H6-vCUmB8f7s~=ibQ29Elx|#|p@G~B()4J_ss$Zf zk_P1=DvVmIS0fo!AVX0$5erJa_%;&8nM7oEk>sXo+^xr>#jmg4P?s`SLe8`da15wx zG8ja%O_QL{^U5k_o3c-lr65sl5Q4ck9!v$f2OY3~F&V9SF*&rDtU+gAT?VsOQ9J9i zPnKmGR@AQg1@I6t%L2OPB?Y5df@%=uM>KK~17@j9%q62&1kp)!90wpYAj20qHCx}0 zXT_n*F~%RleMC2sFTHZ7*SDm-een#AQ6ff`sDo60A5orA%+zDC%0sAfzTP?UwMRd6 z2h~>e#dTLmUk{nfJ#MuPFvE)4fnbEF76o0UL44M-blRX0JE|if>qg}iV*`j>g$Sp} zCgl{@QbrNcQZ^Gz6pzLTh9ctxLy-xBp~x13S&PV4f}zOO1VfP+!B8YlFcCy135Fuu z2!D!Oc4x4rU`~3GXz7CSw-z$B=au1QTvd* zTZ{E0wnyV9B!_S_r>H%P(AUz927R3tBj~+aj6nA(YVRWGe!9^>4`?w0y2Z+_q^kHGn=!h)BbE|p22!i( z?s?0t*l`xRV;Vy&fM5_EKkb0`R{wK6{b|*3H@+4FDdWt5_Gw!A=NP;SwPJSt70l_L z;eVh09lUhpBmND{g7tgYA!lB)k|{Ncf*C7&1eYG?n4>+CiQ~J(p2@^THq5@4i5r-o z7i8i_Xca@5xM@kcLzv-{ne<%NDt;Z73kR^CauZ6OW4qzV@(^ZiwJ@KpL)gq3@#|s% zE!Kp%#0JnZ@&FoRvm+cjLNT zPJzX|mge;PLvBSWH)s^0vL%#7KzaVIoM4k7rYY`sB z{Q=;!8=gSw{)la`yu|A=EtOo>PD@KxQ1*>z6T(Y^A4lRDqSF!lrB=(fl*FzA*87lp z`PLymvZ3|&Ag}pl?~S9LyO95lc>f0NeH}vQ1mZ|4k;*!ZIPuaAh!Z|k);RcP1Hw(< zeS%$z(FTo|vN=$@tZd^ZP?@f!m@O|?0#-+G&4DwMShv`#m3omPNv*`SY%@Y?y>8@1 zeeV$P>1GZ1&4aeoC$C4^Jj$Xzw|B918-V#BYVe1=Bj}PQeH;45<^FvViBQ@@N|3Ko z6I2=4+Xx$bJJwxtnG=SRtFS-Q4T+QwNmK~kcQMvEysQ+Kh~=nHC6iedG(W3h>ro3X z^s{e~ZuUIUH|q34Iu3!x literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Main-BoldItalic.woff b/docs/static/katex/fonts/KaTeX_Main-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..115af4f072e4274fa7b4d2e598da5bef26144564 GIT binary patch literal 24500 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 NKg$3C00IC101uK#C?5a- literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Main-BoldItalic.woff2 b/docs/static/katex/fonts/KaTeX_Main-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5c500c285ab55e11950be8b95b43ab163924eadd GIT binary patch literal 21244 zcmV)AK*YayPew8T0RR9108;z_4gdfE0H^!_08*j=0RR9100000000000000000000 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 O)(X=$tW7~D=Kdew)^%+F literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Main-Italic.woff b/docs/static/katex/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..2d3087ab4960a26677e544f8f6ab204326240a85 GIT binary patch literal 25352 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_SansSerif-Regular.ttf b/docs/static/katex/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3be73ce17f8e383d115aafd096b80310e5bbd537 GIT binary patch literal 28708 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_SansSerif-Regular.woff b/docs/static/katex/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..ec283f418b58a52b4d635333e918de46dc22b2a5 GIT binary patch literal 15712 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 YP67_(0D?1a|Np+4fdD|?-vEUF12rWvIsgCw literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_SansSerif-Regular.woff2 b/docs/static/katex/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e46094fba16105fc781298a1bb73b7e9dcf205c1 GIT binary patch literal 13300 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Size1-Regular.ttf b/docs/static/katex/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f0aff83efb32936ad31565206b00af3c90d6fb2a GIT binary patch literal 11932 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Size1-Regular.woff b/docs/static/katex/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..0358ee4a3eb557fc65845240c3547b9a6bc17a7c GIT binary patch literal 6300 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Size2-Regular.ttf b/docs/static/katex/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4f72f167953526b7d33051bd8cf0c2cfcbab5718 GIT binary patch literal 11080 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Size2-Regular.woff b/docs/static/katex/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..8a053d23ae37b5b78b68ee2fa436e4c3600eacd9 GIT binary patch literal 6012 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Size2-Regular.woff2 b/docs/static/katex/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..181d9625a796eea012f0ebe09f720ed3eaaeab39 GIT binary patch literal 5080 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Size3-Regular.ttf b/docs/static/katex/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..56d2dc6c5d2d2d620951db50de45424415b704f9 GIT binary patch literal 7028 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

WhCy=tf`#CsnM?OSyFBThPv3+g2 z$hX(jfhygP-mYwOkE3_ya8|(9t?zDffG&1!UOmx1ABW3c>Tc|r^~i`l|CIdY11#pD zLH??Z)d$Hi$ZC2$ZItEKhVs5w@-d281ppgK4&F7^Pa4L;_r~DJljx9EddEIrj&sgvgtH32-gwHd4$x6pVS(R zMnxc3Mx(-WGcyn67lhLu%26BUUrIp2jGxOuv6*cv9y_qic@Qe`1pL{ z&$D`6i;11J;QfSgN%1en1w@!;lsoO1Nug*VGL{hzN_L)9<@(e}EicF#c9vAAizy5B z-pbS#$kgU$!sSuMwP5JKz8&(z2@YR&;dg?&!Ch9sjdUQf=!s!=!gZB7J!lwIf!&*Z zbI>0;>gH(VydK&3fT4u`MS-_8cYuAFq$V5xo8;c;P^to{#<>@Sxc^z7E~$~1p_}f4 z638dj8CjwE-TAg|W`s5T4erbnRfT1m6&Yqm#&!fn-r6yJ|ggmUo`AC;B>VrpIQ$b#p zZecyj!p?5V=RnR&{d!etyF;$q);-i|Ch}oU2z&yiIej@V(RFndC^K($e3Piwfx#oc(!; zF7n^xgH=L5_aIR#HASPj4SopgTF9ie(wT-_u&CFIC#L$}>|O0U22qD?WjRLE^P(N5 zGW@0YI!XlHv(px63{5O@W?KU+BbJ@+sZ%j?$&ZHk>Id~2S6hnOCV8aYw7fpb0s2g< z-iG|}?llKR;ciD?I@&urXy>~5G*U!d3aLsW@jA6gfy8J!^Pi~ciYfOVw5ZZebpPz| zaP2&Mi^o_iOUKE!g8%Q~2CDMOoDToZ(H5q*orNcRzek$r-u~>o-1{zKlkJ5ME}{oM zO3kb9JP7WF?2sK6M;s3vD*9+Jo^Lv(4V~0mO@12s-sU92Kq5VNBWxwV9niDy$5ny& xZROY#e@lYayMBP|e5owoW7w*jjPu!rX;eW`q4P1JDUsDBu51th!eRmP{{hY9t_T1C literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Size4-Regular.woff2 b/docs/static/katex/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a4e810da5e31a364ad7ba2ff229562f97ae0f49f GIT binary patch literal 4720 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Typewriter-Regular.woff b/docs/static/katex/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..c66d149d5e2a4a5e98d696ceaded67669edc6579 GIT binary patch literal 19700 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 .newline { + display: block; +} +.katex .base { + position: relative; + display: inline-block; + white-space: nowrap; + width: min-content; +} +.katex .strut { + display: inline-block; +} +.katex .textbf { + font-weight: bold; +} +.katex .textit { + font-style: italic; +} +.katex .textrm { + font-family: KaTeX_Main; +} +.katex .textsf { + font-family: KaTeX_SansSerif; +} +.katex .texttt { + font-family: KaTeX_Typewriter; +} +.katex .mathnormal { + font-family: KaTeX_Math; + font-style: italic; +} +.katex .mathit { + font-family: KaTeX_Main; + font-style: italic; +} +.katex .mathrm { + font-style: normal; +} +.katex .mathbf { + font-family: KaTeX_Main; + font-weight: bold; +} +.katex .boldsymbol { + font-family: KaTeX_Math; + font-weight: bold; + font-style: italic; +} +.katex .amsrm { + font-family: KaTeX_AMS; +} +.katex .mathbb, +.katex .textbb { + font-family: KaTeX_AMS; +} +.katex .mathcal { + font-family: KaTeX_Caligraphic; +} +.katex .mathfrak, +.katex .textfrak { + font-family: KaTeX_Fraktur; +} +.katex .mathtt { + font-family: KaTeX_Typewriter; +} +.katex .mathscr, +.katex .textscr { + font-family: KaTeX_Script; +} +.katex .mathsf, +.katex .textsf { + font-family: KaTeX_SansSerif; +} +.katex .mathboldsf, +.katex .textboldsf { + font-family: KaTeX_SansSerif; + font-weight: bold; +} +.katex .mathitsf, +.katex .textitsf { + font-family: KaTeX_SansSerif; + font-style: italic; +} +.katex .mainrm { + font-family: KaTeX_Main; + font-style: normal; +} +.katex .vlist-t { + display: inline-table; + table-layout: fixed; + border-collapse: collapse; +} +.katex .vlist-r { + display: table-row; +} +.katex .vlist { + display: table-cell; + vertical-align: bottom; + position: relative; +} +.katex .vlist > span { + display: block; + height: 0; + position: relative; +} +.katex .vlist > span > span { + display: inline-block; +} +.katex .vlist > span > .pstrut { + overflow: hidden; + width: 0; +} +.katex .vlist-t2 { + margin-right: -2px; +} +.katex .vlist-s { + display: table-cell; + vertical-align: bottom; + font-size: 1px; + width: 2px; + min-width: 2px; +} +.katex .vbox { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-direction: column; + flex-direction: column; + align-items: baseline; +} +.katex .hbox { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-direction: row; + flex-direction: row; + width: 100%; +} +.katex .thinbox { + display: inline-flex; + flex-direction: row; + width: 0; + max-width: 0; +} +.katex .msupsub { + text-align: left; +} +.katex .mfrac > span > span { + text-align: center; +} +.katex .mfrac .frac-line { + display: inline-block; + width: 100%; + border-bottom-style: solid; +} +.katex .mfrac .frac-line, +.katex .overline .overline-line, +.katex .underline .underline-line, +.katex .hline, +.katex .hdashline, +.katex .rule { + min-height: 1px; +} +.katex .mspace { + display: inline-block; +} +.katex .llap, +.katex .rlap, +.katex .clap { + width: 0; + position: relative; +} +.katex .llap > .inner, +.katex .rlap > .inner, +.katex .clap > .inner { + position: absolute; +} +.katex .llap > .fix, +.katex .rlap > .fix, +.katex .clap > .fix { + display: inline-block; +} +.katex .llap > .inner { + right: 0; +} +.katex .rlap > .inner, +.katex .clap > .inner { + left: 0; +} +.katex .clap > .inner > span { + margin-left: -50%; + margin-right: 50%; +} +.katex .rule { + display: inline-block; + border: solid 0; + position: relative; +} +.katex .overline .overline-line, +.katex .underline .underline-line, +.katex .hline { + display: inline-block; + width: 100%; + border-bottom-style: solid; +} +.katex .hdashline { + display: inline-block; + width: 100%; + border-bottom-style: dashed; +} +.katex .sqrt > .root { + margin-left: 0.27777778em; + margin-right: -0.55555556em; +} +.katex .sizing.reset-size1.size1, +.katex .fontsize-ensurer.reset-size1.size1 { + font-size: 1em; +} +.katex .sizing.reset-size1.size2, +.katex .fontsize-ensurer.reset-size1.size2 { + font-size: 1.2em; +} +.katex .sizing.reset-size1.size3, +.katex .fontsize-ensurer.reset-size1.size3 { + font-size: 1.4em; +} +.katex .sizing.reset-size1.size4, +.katex .fontsize-ensurer.reset-size1.size4 { + font-size: 1.6em; +} +.katex .sizing.reset-size1.size5, +.katex .fontsize-ensurer.reset-size1.size5 { + font-size: 1.8em; +} +.katex .sizing.reset-size1.size6, +.katex .fontsize-ensurer.reset-size1.size6 { + font-size: 2em; +} +.katex .sizing.reset-size1.size7, +.katex .fontsize-ensurer.reset-size1.size7 { + font-size: 2.4em; +} +.katex .sizing.reset-size1.size8, +.katex .fontsize-ensurer.reset-size1.size8 { + font-size: 2.88em; +} +.katex .sizing.reset-size1.size9, +.katex .fontsize-ensurer.reset-size1.size9 { + font-size: 3.456em; +} +.katex .sizing.reset-size1.size10, +.katex .fontsize-ensurer.reset-size1.size10 { + font-size: 4.148em; +} +.katex .sizing.reset-size1.size11, +.katex .fontsize-ensurer.reset-size1.size11 { + font-size: 4.976em; +} +.katex .sizing.reset-size2.size1, +.katex .fontsize-ensurer.reset-size2.size1 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size2.size2, +.katex .fontsize-ensurer.reset-size2.size2 { + font-size: 1em; +} +.katex .sizing.reset-size2.size3, +.katex .fontsize-ensurer.reset-size2.size3 { + font-size: 1.16666667em; +} +.katex .sizing.reset-size2.size4, +.katex .fontsize-ensurer.reset-size2.size4 { + font-size: 1.33333333em; +} +.katex .sizing.reset-size2.size5, +.katex .fontsize-ensurer.reset-size2.size5 { + font-size: 1.5em; +} +.katex .sizing.reset-size2.size6, +.katex .fontsize-ensurer.reset-size2.size6 { + font-size: 1.66666667em; +} +.katex .sizing.reset-size2.size7, +.katex .fontsize-ensurer.reset-size2.size7 { + font-size: 2em; +} +.katex .sizing.reset-size2.size8, +.katex .fontsize-ensurer.reset-size2.size8 { + font-size: 2.4em; +} +.katex .sizing.reset-size2.size9, +.katex .fontsize-ensurer.reset-size2.size9 { + font-size: 2.88em; +} +.katex .sizing.reset-size2.size10, +.katex .fontsize-ensurer.reset-size2.size10 { + font-size: 3.45666667em; +} +.katex .sizing.reset-size2.size11, +.katex .fontsize-ensurer.reset-size2.size11 { + font-size: 4.14666667em; +} +.katex .sizing.reset-size3.size1, +.katex .fontsize-ensurer.reset-size3.size1 { + font-size: 0.71428571em; +} +.katex .sizing.reset-size3.size2, +.katex .fontsize-ensurer.reset-size3.size2 { + font-size: 0.85714286em; +} +.katex .sizing.reset-size3.size3, +.katex .fontsize-ensurer.reset-size3.size3 { + font-size: 1em; +} +.katex .sizing.reset-size3.size4, +.katex .fontsize-ensurer.reset-size3.size4 { + font-size: 1.14285714em; +} +.katex .sizing.reset-size3.size5, +.katex .fontsize-ensurer.reset-size3.size5 { + font-size: 1.28571429em; +} +.katex .sizing.reset-size3.size6, +.katex .fontsize-ensurer.reset-size3.size6 { + font-size: 1.42857143em; +} +.katex .sizing.reset-size3.size7, +.katex .fontsize-ensurer.reset-size3.size7 { + font-size: 1.71428571em; +} +.katex .sizing.reset-size3.size8, +.katex .fontsize-ensurer.reset-size3.size8 { + font-size: 2.05714286em; +} +.katex .sizing.reset-size3.size9, +.katex .fontsize-ensurer.reset-size3.size9 { + font-size: 2.46857143em; +} +.katex .sizing.reset-size3.size10, +.katex .fontsize-ensurer.reset-size3.size10 { + font-size: 2.96285714em; +} +.katex .sizing.reset-size3.size11, +.katex .fontsize-ensurer.reset-size3.size11 { + font-size: 3.55428571em; +} +.katex .sizing.reset-size4.size1, +.katex .fontsize-ensurer.reset-size4.size1 { + font-size: 0.625em; +} +.katex .sizing.reset-size4.size2, +.katex .fontsize-ensurer.reset-size4.size2 { + font-size: 0.75em; +} +.katex .sizing.reset-size4.size3, +.katex .fontsize-ensurer.reset-size4.size3 { + font-size: 0.875em; +} +.katex .sizing.reset-size4.size4, +.katex .fontsize-ensurer.reset-size4.size4 { + font-size: 1em; +} +.katex .sizing.reset-size4.size5, +.katex .fontsize-ensurer.reset-size4.size5 { + font-size: 1.125em; +} +.katex .sizing.reset-size4.size6, +.katex .fontsize-ensurer.reset-size4.size6 { + font-size: 1.25em; +} +.katex .sizing.reset-size4.size7, +.katex .fontsize-ensurer.reset-size4.size7 { + font-size: 1.5em; +} +.katex .sizing.reset-size4.size8, +.katex .fontsize-ensurer.reset-size4.size8 { + font-size: 1.8em; +} +.katex .sizing.reset-size4.size9, +.katex .fontsize-ensurer.reset-size4.size9 { + font-size: 2.16em; +} +.katex .sizing.reset-size4.size10, +.katex .fontsize-ensurer.reset-size4.size10 { + font-size: 2.5925em; +} +.katex .sizing.reset-size4.size11, +.katex .fontsize-ensurer.reset-size4.size11 { + font-size: 3.11em; +} +.katex .sizing.reset-size5.size1, +.katex .fontsize-ensurer.reset-size5.size1 { + font-size: 0.55555556em; +} +.katex .sizing.reset-size5.size2, +.katex .fontsize-ensurer.reset-size5.size2 { + font-size: 0.66666667em; +} +.katex .sizing.reset-size5.size3, +.katex .fontsize-ensurer.reset-size5.size3 { + font-size: 0.77777778em; +} +.katex .sizing.reset-size5.size4, +.katex .fontsize-ensurer.reset-size5.size4 { + font-size: 0.88888889em; +} +.katex .sizing.reset-size5.size5, +.katex .fontsize-ensurer.reset-size5.size5 { + font-size: 1em; +} +.katex .sizing.reset-size5.size6, +.katex .fontsize-ensurer.reset-size5.size6 { + font-size: 1.11111111em; +} +.katex .sizing.reset-size5.size7, +.katex .fontsize-ensurer.reset-size5.size7 { + font-size: 1.33333333em; +} +.katex .sizing.reset-size5.size8, +.katex .fontsize-ensurer.reset-size5.size8 { + font-size: 1.6em; +} +.katex .sizing.reset-size5.size9, +.katex .fontsize-ensurer.reset-size5.size9 { + font-size: 1.92em; +} +.katex .sizing.reset-size5.size10, +.katex .fontsize-ensurer.reset-size5.size10 { + font-size: 2.30444444em; +} +.katex .sizing.reset-size5.size11, +.katex .fontsize-ensurer.reset-size5.size11 { + font-size: 2.76444444em; +} +.katex .sizing.reset-size6.size1, +.katex .fontsize-ensurer.reset-size6.size1 { + font-size: 0.5em; +} +.katex .sizing.reset-size6.size2, +.katex .fontsize-ensurer.reset-size6.size2 { + font-size: 0.6em; +} +.katex .sizing.reset-size6.size3, +.katex .fontsize-ensurer.reset-size6.size3 { + font-size: 0.7em; +} +.katex .sizing.reset-size6.size4, +.katex .fontsize-ensurer.reset-size6.size4 { + font-size: 0.8em; +} +.katex .sizing.reset-size6.size5, +.katex .fontsize-ensurer.reset-size6.size5 { + font-size: 0.9em; +} +.katex .sizing.reset-size6.size6, +.katex .fontsize-ensurer.reset-size6.size6 { + font-size: 1em; +} +.katex .sizing.reset-size6.size7, +.katex .fontsize-ensurer.reset-size6.size7 { + font-size: 1.2em; +} +.katex .sizing.reset-size6.size8, +.katex .fontsize-ensurer.reset-size6.size8 { + font-size: 1.44em; +} +.katex .sizing.reset-size6.size9, +.katex .fontsize-ensurer.reset-size6.size9 { + font-size: 1.728em; +} +.katex .sizing.reset-size6.size10, +.katex .fontsize-ensurer.reset-size6.size10 { + font-size: 2.074em; +} +.katex .sizing.reset-size6.size11, +.katex .fontsize-ensurer.reset-size6.size11 { + font-size: 2.488em; +} +.katex .sizing.reset-size7.size1, +.katex .fontsize-ensurer.reset-size7.size1 { + font-size: 0.41666667em; +} +.katex .sizing.reset-size7.size2, +.katex .fontsize-ensurer.reset-size7.size2 { + font-size: 0.5em; +} +.katex .sizing.reset-size7.size3, +.katex .fontsize-ensurer.reset-size7.size3 { + font-size: 0.58333333em; +} +.katex .sizing.reset-size7.size4, +.katex .fontsize-ensurer.reset-size7.size4 { + font-size: 0.66666667em; +} +.katex .sizing.reset-size7.size5, +.katex .fontsize-ensurer.reset-size7.size5 { + font-size: 0.75em; +} +.katex .sizing.reset-size7.size6, +.katex .fontsize-ensurer.reset-size7.size6 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size7.size7, +.katex .fontsize-ensurer.reset-size7.size7 { + font-size: 1em; +} +.katex .sizing.reset-size7.size8, +.katex .fontsize-ensurer.reset-size7.size8 { + font-size: 1.2em; +} +.katex .sizing.reset-size7.size9, +.katex .fontsize-ensurer.reset-size7.size9 { + font-size: 1.44em; +} +.katex .sizing.reset-size7.size10, +.katex .fontsize-ensurer.reset-size7.size10 { + font-size: 1.72833333em; +} +.katex .sizing.reset-size7.size11, +.katex .fontsize-ensurer.reset-size7.size11 { + font-size: 2.07333333em; +} +.katex .sizing.reset-size8.size1, +.katex .fontsize-ensurer.reset-size8.size1 { + font-size: 0.34722222em; +} +.katex .sizing.reset-size8.size2, +.katex .fontsize-ensurer.reset-size8.size2 { + font-size: 0.41666667em; +} +.katex .sizing.reset-size8.size3, +.katex .fontsize-ensurer.reset-size8.size3 { + font-size: 0.48611111em; +} +.katex .sizing.reset-size8.size4, +.katex .fontsize-ensurer.reset-size8.size4 { + font-size: 0.55555556em; +} +.katex .sizing.reset-size8.size5, +.katex .fontsize-ensurer.reset-size8.size5 { + font-size: 0.625em; +} +.katex .sizing.reset-size8.size6, +.katex .fontsize-ensurer.reset-size8.size6 { + font-size: 0.69444444em; +} +.katex .sizing.reset-size8.size7, +.katex .fontsize-ensurer.reset-size8.size7 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size8.size8, +.katex .fontsize-ensurer.reset-size8.size8 { + font-size: 1em; +} +.katex .sizing.reset-size8.size9, +.katex .fontsize-ensurer.reset-size8.size9 { + font-size: 1.2em; +} +.katex .sizing.reset-size8.size10, +.katex .fontsize-ensurer.reset-size8.size10 { + font-size: 1.44027778em; +} +.katex .sizing.reset-size8.size11, +.katex .fontsize-ensurer.reset-size8.size11 { + font-size: 1.72777778em; +} +.katex .sizing.reset-size9.size1, +.katex .fontsize-ensurer.reset-size9.size1 { + font-size: 0.28935185em; +} +.katex .sizing.reset-size9.size2, +.katex .fontsize-ensurer.reset-size9.size2 { + font-size: 0.34722222em; +} +.katex .sizing.reset-size9.size3, +.katex .fontsize-ensurer.reset-size9.size3 { + font-size: 0.40509259em; +} +.katex .sizing.reset-size9.size4, +.katex .fontsize-ensurer.reset-size9.size4 { + font-size: 0.46296296em; +} +.katex .sizing.reset-size9.size5, +.katex .fontsize-ensurer.reset-size9.size5 { + font-size: 0.52083333em; +} +.katex .sizing.reset-size9.size6, +.katex .fontsize-ensurer.reset-size9.size6 { + font-size: 0.5787037em; +} +.katex .sizing.reset-size9.size7, +.katex .fontsize-ensurer.reset-size9.size7 { + font-size: 0.69444444em; +} +.katex .sizing.reset-size9.size8, +.katex .fontsize-ensurer.reset-size9.size8 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size9.size9, +.katex .fontsize-ensurer.reset-size9.size9 { + font-size: 1em; +} +.katex .sizing.reset-size9.size10, +.katex .fontsize-ensurer.reset-size9.size10 { + font-size: 1.20023148em; +} +.katex .sizing.reset-size9.size11, +.katex .fontsize-ensurer.reset-size9.size11 { + font-size: 1.43981481em; +} +.katex .sizing.reset-size10.size1, +.katex .fontsize-ensurer.reset-size10.size1 { + font-size: 0.24108004em; +} +.katex .sizing.reset-size10.size2, +.katex .fontsize-ensurer.reset-size10.size2 { + font-size: 0.28929605em; +} +.katex .sizing.reset-size10.size3, +.katex .fontsize-ensurer.reset-size10.size3 { + font-size: 0.33751205em; +} +.katex .sizing.reset-size10.size4, +.katex .fontsize-ensurer.reset-size10.size4 { + font-size: 0.38572806em; +} +.katex .sizing.reset-size10.size5, +.katex .fontsize-ensurer.reset-size10.size5 { + font-size: 0.43394407em; +} +.katex .sizing.reset-size10.size6, +.katex .fontsize-ensurer.reset-size10.size6 { + font-size: 0.48216008em; +} +.katex .sizing.reset-size10.size7, +.katex .fontsize-ensurer.reset-size10.size7 { + font-size: 0.57859209em; +} +.katex .sizing.reset-size10.size8, +.katex .fontsize-ensurer.reset-size10.size8 { + font-size: 0.69431051em; +} +.katex .sizing.reset-size10.size9, +.katex .fontsize-ensurer.reset-size10.size9 { + font-size: 0.83317261em; +} +.katex .sizing.reset-size10.size10, +.katex .fontsize-ensurer.reset-size10.size10 { + font-size: 1em; +} +.katex .sizing.reset-size10.size11, +.katex .fontsize-ensurer.reset-size10.size11 { + font-size: 1.19961427em; +} +.katex .sizing.reset-size11.size1, +.katex .fontsize-ensurer.reset-size11.size1 { + font-size: 0.20096463em; +} +.katex .sizing.reset-size11.size2, +.katex .fontsize-ensurer.reset-size11.size2 { + font-size: 0.24115756em; +} +.katex .sizing.reset-size11.size3, +.katex .fontsize-ensurer.reset-size11.size3 { + font-size: 0.28135048em; +} +.katex .sizing.reset-size11.size4, +.katex .fontsize-ensurer.reset-size11.size4 { + font-size: 0.32154341em; +} +.katex .sizing.reset-size11.size5, +.katex .fontsize-ensurer.reset-size11.size5 { + font-size: 0.36173633em; +} +.katex .sizing.reset-size11.size6, +.katex .fontsize-ensurer.reset-size11.size6 { + font-size: 0.40192926em; +} +.katex .sizing.reset-size11.size7, +.katex .fontsize-ensurer.reset-size11.size7 { + font-size: 0.48231511em; +} +.katex .sizing.reset-size11.size8, +.katex .fontsize-ensurer.reset-size11.size8 { + font-size: 0.57877814em; +} +.katex .sizing.reset-size11.size9, +.katex .fontsize-ensurer.reset-size11.size9 { + font-size: 0.69453376em; +} +.katex .sizing.reset-size11.size10, +.katex .fontsize-ensurer.reset-size11.size10 { + font-size: 0.83360129em; +} +.katex .sizing.reset-size11.size11, +.katex .fontsize-ensurer.reset-size11.size11 { + font-size: 1em; +} +.katex .delimsizing.size1 { + font-family: KaTeX_Size1; +} +.katex .delimsizing.size2 { + font-family: KaTeX_Size2; +} +.katex .delimsizing.size3 { + font-family: KaTeX_Size3; +} +.katex .delimsizing.size4 { + font-family: KaTeX_Size4; +} +.katex .delimsizing.mult .delim-size1 > span { + font-family: KaTeX_Size1; +} +.katex .delimsizing.mult .delim-size4 > span { + font-family: KaTeX_Size4; +} +.katex .nulldelimiter { + display: inline-block; + width: 0.12em; +} +.katex .delimcenter { + position: relative; +} +.katex .op-symbol { + position: relative; +} +.katex .op-symbol.small-op { + font-family: KaTeX_Size1; +} +.katex .op-symbol.large-op { + font-family: KaTeX_Size2; +} +.katex .op-limits > .vlist-t { + text-align: center; +} +.katex .accent > .vlist-t { + text-align: center; +} +.katex .accent .accent-body { + position: relative; +} +.katex .accent .accent-body:not(.accent-full) { + width: 0; +} +.katex .overlay { + display: block; +} +.katex .mtable .vertical-separator { + display: inline-block; + min-width: 1px; +} +.katex .mtable .arraycolsep { + display: inline-block; +} +.katex .mtable .col-align-c > .vlist-t { + text-align: center; +} +.katex .mtable .col-align-l > .vlist-t { + text-align: left; +} +.katex .mtable .col-align-r > .vlist-t { + text-align: right; +} +.katex .svg-align { + text-align: left; +} +.katex svg { + display: block; + position: absolute; + width: 100%; + height: inherit; + fill: currentColor; + stroke: currentColor; + fill-rule: nonzero; + fill-opacity: 1; + stroke-width: 1; + stroke-linecap: butt; + stroke-linejoin: miter; + stroke-miterlimit: 4; + stroke-dasharray: none; + stroke-dashoffset: 0; + stroke-opacity: 1; +} +.katex svg path { + stroke: none; +} +.katex img { + border-style: none; + min-width: 0; + min-height: 0; + max-width: none; + max-height: none; +} +.katex .stretchy { + width: 100%; + display: block; + position: relative; + overflow: hidden; +} +.katex .stretchy::before, +.katex .stretchy::after { + content: ""; +} +.katex .hide-tail { + width: 100%; + position: relative; + overflow: hidden; +} +.katex .halfarrow-left { + position: absolute; + left: 0; + width: 50.2%; + overflow: hidden; +} +.katex .halfarrow-right { + position: absolute; + right: 0; + width: 50.2%; + overflow: hidden; +} +.katex .brace-left { + position: absolute; + left: 0; + width: 25.1%; + overflow: hidden; +} +.katex .brace-center { + position: absolute; + left: 25%; + width: 50%; + overflow: hidden; +} +.katex .brace-right { + position: absolute; + right: 0; + width: 25.1%; + overflow: hidden; +} +.katex .x-arrow-pad { + padding: 0 0.5em; +} +.katex .x-arrow, +.katex .mover, +.katex .munder { + text-align: center; +} +.katex .boxpad { + padding: 0 0.3em 0 0.3em; +} +.katex .fbox, +.katex .fcolorbox { + box-sizing: border-box; + border: 0.04em solid; +} +.katex .cancel-pad { + padding: 0 0.2em 0 0.2em; +} +.katex .cancel-lap { + margin-left: -0.2em; + margin-right: -0.2em; +} +.katex .sout { + border-bottom-style: solid; + border-bottom-width: 0.08em; +} +.katex-display { + display: block; + margin: 1em 0; + text-align: center; +} +.katex-display > .katex { + display: block; + text-align: center; + white-space: nowrap; +} +.katex-display > .katex > .katex-html { + display: block; + position: relative; +} +.katex-display > .katex > .katex-html > .tag { + position: absolute; + right: 0; +} +.katex-display.leqno > .katex > .katex-html > .tag { + left: 0; + right: auto; +} +.katex-display.fleqn > .katex { + text-align: left; + padding-left: 2em; +} diff --git a/docs/static/katex/katex.js b/docs/static/katex/katex.js new file mode 100644 index 000000000..37fb0fa89 --- /dev/null +++ b/docs/static/katex/katex.js @@ -0,0 +1,17308 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["katex"] = factory(); + else + root["katex"] = factory(); +})((typeof self !== 'undefined' ? self : this), function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./src/katex.less +var katex = __webpack_require__(0); + +// CONCATENATED MODULE: ./src/SourceLocation.js +/** + * Lexing or parsing positional information for error reporting. + * This object is immutable. + */ +var SourceLocation = +/*#__PURE__*/ +function () { + // The + prefix indicates that these fields aren't writeable + // Lexer holding the input string. + // Start offset, zero-based inclusive. + // End offset, zero-based exclusive. + function SourceLocation(lexer, start, end) { + this.lexer = void 0; + this.start = void 0; + this.end = void 0; + this.lexer = lexer; + this.start = start; + this.end = end; + } + /** + * Merges two `SourceLocation`s from location providers, given they are + * provided in order of appearance. + * - Returns the first one's location if only the first is provided. + * - Returns a merged range of the first and the last if both are provided + * and their lexers match. + * - Otherwise, returns null. + */ + + + SourceLocation.range = function range(first, second) { + if (!second) { + return first && first.loc; + } else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) { + return null; + } else { + return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end); + } + }; + + return SourceLocation; +}(); + + +// CONCATENATED MODULE: ./src/Token.js + +/** + * Interface required to break circular dependency between Token, Lexer, and + * ParseError. + */ + +/** + * The resulting token returned from `lex`. + * + * It consists of the token text plus some position information. + * The position information is essentially a range in an input string, + * but instead of referencing the bare input string, we refer to the lexer. + * That way it is possible to attach extra metadata to the input string, + * like for example a file name or similar. + * + * The position information is optional, so it is OK to construct synthetic + * tokens if appropriate. Not providing available position information may + * lead to degraded error reporting, though. + */ +var Token_Token = +/*#__PURE__*/ +function () { + // don't expand the token + // used in \noexpand + function Token(text, // the text of this token + loc) { + this.text = void 0; + this.loc = void 0; + this.noexpand = void 0; + this.treatAsRelax = void 0; + this.text = text; + this.loc = loc; + } + /** + * Given a pair of tokens (this and endToken), compute a `Token` encompassing + * the whole input range enclosed by these two. + */ + + + var _proto = Token.prototype; + + _proto.range = function range(endToken, // last token of the range, inclusive + text) // the text of the newly constructed token + { + return new Token(text, SourceLocation.range(this, endToken)); + }; + + return Token; +}(); +// CONCATENATED MODULE: ./src/ParseError.js + + +/** + * This is the ParseError class, which is the main error thrown by KaTeX + * functions when something has gone wrong. This is used to distinguish internal + * errors from errors in the expression that the user provided. + * + * If possible, a caller should provide a Token or ParseNode with information + * about where in the source string the problem occurred. + */ +var ParseError = // Error position based on passed-in Token or ParseNode. +function ParseError(message, // The error message +token) // An object providing position information +{ + this.position = void 0; + var error = "KaTeX parse error: " + message; + var start; + var loc = token && token.loc; + + if (loc && loc.start <= loc.end) { + // If we have the input and a position, make the error a bit fancier + // Get the input + var input = loc.lexer.input; // Prepend some information + + start = loc.start; + var end = loc.end; + + if (start === input.length) { + error += " at end of input: "; + } else { + error += " at position " + (start + 1) + ": "; + } // Underline token in question using combining underscores + + + var underlined = input.slice(start, end).replace(/[^]/g, "$&\u0332"); // Extract some context from the input and add it to the error + + var left; + + if (start > 15) { + left = "…" + input.slice(start - 15, start); + } else { + left = input.slice(0, start); + } + + var right; + + if (end + 15 < input.length) { + right = input.slice(end, end + 15) + "…"; + } else { + right = input.slice(end); + } + + error += left + underlined + right; + } // Some hackery to make ParseError a prototype of Error + // See http://stackoverflow.com/a/8460753 + + + var self = new Error(error); + self.name = "ParseError"; // $FlowFixMe + + self.__proto__ = ParseError.prototype; // $FlowFixMe + + self.position = start; + return self; +}; // $FlowFixMe More hackery + + +ParseError.prototype.__proto__ = Error.prototype; +/* harmony default export */ var src_ParseError = (ParseError); +// CONCATENATED MODULE: ./src/utils.js +/** + * This file contains a list of utility functions which are useful in other + * files. + */ + +/** + * Return whether an element is contained in a list + */ +var contains = function contains(list, elem) { + return list.indexOf(elem) !== -1; +}; +/** + * Provide a default value if a setting is undefined + * NOTE: Couldn't use `T` as the output type due to facebook/flow#5022. + */ + + +var deflt = function deflt(setting, defaultIfUndefined) { + return setting === undefined ? defaultIfUndefined : setting; +}; // hyphenate and escape adapted from Facebook's React under Apache 2 license + + +var uppercase = /([A-Z])/g; + +var hyphenate = function hyphenate(str) { + return str.replace(uppercase, "-$1").toLowerCase(); +}; + +var ESCAPE_LOOKUP = { + "&": "&", + ">": ">", + "<": "<", + "\"": """, + "'": "'" +}; +var ESCAPE_REGEX = /[&><"']/g; +/** + * Escapes text to prevent scripting attacks. + */ + +function utils_escape(text) { + return String(text).replace(ESCAPE_REGEX, function (match) { + return ESCAPE_LOOKUP[match]; + }); +} +/** + * Sometimes we want to pull out the innermost element of a group. In most + * cases, this will just be the group itself, but when ordgroups and colors have + * a single element, we want to pull that out. + */ + + +var getBaseElem = function getBaseElem(group) { + if (group.type === "ordgroup") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "color") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "font") { + return getBaseElem(group.body); + } else { + return group; + } +}; +/** + * TeXbook algorithms often reference "character boxes", which are simply groups + * with a single character in them. To decide if something is a character box, + * we find its innermost group, and see if it is a single character. + */ + + +var utils_isCharacterBox = function isCharacterBox(group) { + var baseElem = getBaseElem(group); // These are all they types of groups which hold single characters + + return baseElem.type === "mathord" || baseElem.type === "textord" || baseElem.type === "atom"; +}; + +var assert = function assert(value) { + if (!value) { + throw new Error('Expected non-null, but got ' + String(value)); + } + + return value; +}; +/** + * Return the protocol of a URL, or "_relative" if the URL does not specify a + * protocol (and thus is relative). + */ + +var protocolFromUrl = function protocolFromUrl(url) { + var protocol = /^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(url); + return protocol != null ? protocol[1] : "_relative"; +}; +/* harmony default export */ var utils = ({ + contains: contains, + deflt: deflt, + escape: utils_escape, + hyphenate: hyphenate, + getBaseElem: getBaseElem, + isCharacterBox: utils_isCharacterBox, + protocolFromUrl: protocolFromUrl +}); +// CONCATENATED MODULE: ./src/Settings.js +/* eslint no-console:0 */ + +/** + * This is a module for storing settings passed into KaTeX. It correctly handles + * default settings. + */ + + + + +/** + * The main Settings object + * + * The current options stored are: + * - displayMode: Whether the expression should be typeset as inline math + * (false, the default), meaning that the math starts in + * \textstyle and is placed in an inline-block); or as display + * math (true), meaning that the math starts in \displaystyle + * and is placed in a block with vertical margin. + */ +var Settings_Settings = +/*#__PURE__*/ +function () { + function Settings(options) { + this.displayMode = void 0; + this.output = void 0; + this.leqno = void 0; + this.fleqn = void 0; + this.throwOnError = void 0; + this.errorColor = void 0; + this.macros = void 0; + this.minRuleThickness = void 0; + this.colorIsTextColor = void 0; + this.strict = void 0; + this.trust = void 0; + this.maxSize = void 0; + this.maxExpand = void 0; + this.globalGroup = void 0; + // allow null options + options = options || {}; + this.displayMode = utils.deflt(options.displayMode, false); + this.output = utils.deflt(options.output, "htmlAndMathml"); + this.leqno = utils.deflt(options.leqno, false); + this.fleqn = utils.deflt(options.fleqn, false); + this.throwOnError = utils.deflt(options.throwOnError, true); + this.errorColor = utils.deflt(options.errorColor, "#cc0000"); + this.macros = options.macros || {}; + this.minRuleThickness = Math.max(0, utils.deflt(options.minRuleThickness, 0)); + this.colorIsTextColor = utils.deflt(options.colorIsTextColor, false); + this.strict = utils.deflt(options.strict, "warn"); + this.trust = utils.deflt(options.trust, false); + this.maxSize = Math.max(0, utils.deflt(options.maxSize, Infinity)); + this.maxExpand = Math.max(0, utils.deflt(options.maxExpand, 1000)); + this.globalGroup = utils.deflt(options.globalGroup, false); + } + /** + * Report nonstrict (non-LaTeX-compatible) input. + * Can safely not be called if `this.strict` is false in JavaScript. + */ + + + var _proto = Settings.prototype; + + _proto.reportNonstrict = function reportNonstrict(errorCode, errorMsg, token) { + var strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + strict = strict(errorCode, errorMsg, token); + } + + if (!strict || strict === "ignore") { + return; + } else if (strict === true || strict === "error") { + throw new src_ParseError("LaTeX-incompatible input and strict mode is set to 'error': " + (errorMsg + " [" + errorCode + "]"), token); + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + (errorMsg + " [" + errorCode + "]")); + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + ("unrecognized '" + strict + "': " + errorMsg + " [" + errorCode + "]")); + } + } + /** + * Check whether to apply strict (LaTeX-adhering) behavior for unusual + * input (like `\\`). Unlike `nonstrict`, will not throw an error; + * instead, "error" translates to a return value of `true`, while "ignore" + * translates to a return value of `false`. May still print a warning: + * "warn" prints a warning and returns `false`. + * This is for the second category of `errorCode`s listed in the README. + */ + ; + + _proto.useStrictBehavior = function useStrictBehavior(errorCode, errorMsg, token) { + var strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + // But catch any exceptions thrown by function, treating them + // like "error". + try { + strict = strict(errorCode, errorMsg, token); + } catch (error) { + strict = "error"; + } + } + + if (!strict || strict === "ignore") { + return false; + } else if (strict === true || strict === "error") { + return true; + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + (errorMsg + " [" + errorCode + "]")); + return false; + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + ("unrecognized '" + strict + "': " + errorMsg + " [" + errorCode + "]")); + return false; + } + } + /** + * Check whether to test potentially dangerous input, and return + * `true` (trusted) or `false` (untrusted). The sole argument `context` + * should be an object with `command` field specifying the relevant LaTeX + * command (as a string starting with `\`), and any other arguments, etc. + * If `context` has a `url` field, a `protocol` field will automatically + * get added by this function (changing the specified object). + */ + ; + + _proto.isTrusted = function isTrusted(context) { + if (context.url && !context.protocol) { + context.protocol = utils.protocolFromUrl(context.url); + } + + var trust = typeof this.trust === "function" ? this.trust(context) : this.trust; + return Boolean(trust); + }; + + return Settings; +}(); + + +// CONCATENATED MODULE: ./src/Style.js +/** + * This file contains information and classes for the various kinds of styles + * used in TeX. It provides a generic `Style` class, which holds information + * about a specific style. It then provides instances of all the different kinds + * of styles possible, and provides functions to move between them and get + * information about them. + */ + +/** + * The main style class. Contains a unique id for the style, a size (which is + * the same for cramped and uncramped version of a style), and a cramped flag. + */ +var Style = +/*#__PURE__*/ +function () { + function Style(id, size, cramped) { + this.id = void 0; + this.size = void 0; + this.cramped = void 0; + this.id = id; + this.size = size; + this.cramped = cramped; + } + /** + * Get the style of a superscript given a base in the current style. + */ + + + var _proto = Style.prototype; + + _proto.sup = function sup() { + return Style_styles[_sup[this.id]]; + } + /** + * Get the style of a subscript given a base in the current style. + */ + ; + + _proto.sub = function sub() { + return Style_styles[_sub[this.id]]; + } + /** + * Get the style of a fraction numerator given the fraction in the current + * style. + */ + ; + + _proto.fracNum = function fracNum() { + return Style_styles[_fracNum[this.id]]; + } + /** + * Get the style of a fraction denominator given the fraction in the current + * style. + */ + ; + + _proto.fracDen = function fracDen() { + return Style_styles[_fracDen[this.id]]; + } + /** + * Get the cramped version of a style (in particular, cramping a cramped style + * doesn't change the style). + */ + ; + + _proto.cramp = function cramp() { + return Style_styles[_cramp[this.id]]; + } + /** + * Get a text or display version of this style. + */ + ; + + _proto.text = function text() { + return Style_styles[_text[this.id]]; + } + /** + * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle) + */ + ; + + _proto.isTight = function isTight() { + return this.size >= 2; + }; + + return Style; +}(); // Export an interface for type checking, but don't expose the implementation. +// This way, no more styles can be generated. + + +// IDs of the different styles +var D = 0; +var Dc = 1; +var T = 2; +var Tc = 3; +var S = 4; +var Sc = 5; +var SS = 6; +var SSc = 7; // Instances of the different styles + +var Style_styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another + +var _sup = [S, Sc, S, Sc, SS, SSc, SS, SSc]; +var _sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc]; +var _fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc]; +var _fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc]; +var _cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc]; +var _text = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles. + +/* harmony default export */ var src_Style = ({ + DISPLAY: Style_styles[D], + TEXT: Style_styles[T], + SCRIPT: Style_styles[S], + SCRIPTSCRIPT: Style_styles[SS] +}); +// CONCATENATED MODULE: ./src/unicodeScripts.js +/* + * This file defines the Unicode scripts and script families that we + * support. To add new scripts or families, just add a new entry to the + * scriptData array below. Adding scripts to the scriptData array allows + * characters from that script to appear in \text{} environments. + */ + +/** + * Each script or script family has a name and an array of blocks. + * Each block is an array of two numbers which specify the start and + * end points (inclusive) of a block of Unicode codepoints. + */ + +/** + * Unicode block data for the families of scripts we support in \text{}. + * Scripts only need to appear here if they do not have font metrics. + */ +var scriptData = [{ + // Latin characters beyond the Latin-1 characters we have metrics for. + // Needed for Czech, Hungarian and Turkish text, for example. + name: 'latin', + blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B + [0x0300, 0x036f]] +}, { + // The Cyrillic script used by Russian and related languages. + // A Cyrillic subset used to be supported as explicitly defined + // symbols in symbols.js + name: 'cyrillic', + blocks: [[0x0400, 0x04ff]] +}, { + // The Brahmic scripts of South and Southeast Asia + // Devanagari (0900–097F) + // Bengali (0980–09FF) + // Gurmukhi (0A00–0A7F) + // Gujarati (0A80–0AFF) + // Oriya (0B00–0B7F) + // Tamil (0B80–0BFF) + // Telugu (0C00–0C7F) + // Kannada (0C80–0CFF) + // Malayalam (0D00–0D7F) + // Sinhala (0D80–0DFF) + // Thai (0E00–0E7F) + // Lao (0E80–0EFF) + // Tibetan (0F00–0FFF) + // Myanmar (1000–109F) + name: 'brahmic', + blocks: [[0x0900, 0x109F]] +}, { + name: 'georgian', + blocks: [[0x10A0, 0x10ff]] +}, { + // Chinese and Japanese. + // The "k" in cjk is for Korean, but we've separated Korean out + name: "cjk", + blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana + [0x4E00, 0x9FAF], // CJK ideograms + [0xFF00, 0xFF60]] +}, { + // Korean + name: 'hangul', + blocks: [[0xAC00, 0xD7AF]] +}]; +/** + * Given a codepoint, return the name of the script or script family + * it is from, or null if it is not part of a known block + */ + +function scriptFromCodepoint(codepoint) { + for (var i = 0; i < scriptData.length; i++) { + var script = scriptData[i]; + + for (var _i = 0; _i < script.blocks.length; _i++) { + var block = script.blocks[_i]; + + if (codepoint >= block[0] && codepoint <= block[1]) { + return script.name; + } + } + } + + return null; +} +/** + * A flattened version of all the supported blocks in a single array. + * This is an optimization to make supportedCodepoint() fast. + */ + +var allBlocks = []; +scriptData.forEach(function (s) { + return s.blocks.forEach(function (b) { + return allBlocks.push.apply(allBlocks, b); + }); +}); +/** + * Given a codepoint, return true if it falls within one of the + * scripts or script families defined above and false otherwise. + * + * Micro benchmarks shows that this is faster than + * /[\u3000-\u30FF\u4E00-\u9FAF\uFF00-\uFF60\uAC00-\uD7AF\u0900-\u109F]/.test() + * in Firefox, Chrome and Node. + */ + +function supportedCodepoint(codepoint) { + for (var i = 0; i < allBlocks.length; i += 2) { + if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) { + return true; + } + } + + return false; +} +// CONCATENATED MODULE: ./src/svgGeometry.js +/** + * This file provides support to domTree.js and delimiter.js. + * It's a storehouse of path geometry for SVG images. + */ +// In all paths below, the viewBox-to-em scale is 1000:1. +var hLinePad = 80; // padding above a sqrt viniculum. Prevents image cropping. +// The viniculum of a \sqrt can be made thicker by a KaTeX rendering option. +// Think of variable extraViniculum as two detours in the SVG path. +// The detour begins at the lower left of the area labeled extraViniculum below. +// The detour proceeds one extraViniculum distance up and slightly to the right, +// displacing the radiused corner between surd and viniculum. The radius is +// traversed as usual, then the detour resumes. It goes right, to the end of +// the very long viniculumn, then down one extraViniculum distance, +// after which it resumes regular path geometry for the radical. + +/* viniculum + / + /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraViniculum + / █████████████████████←0.04em (40 unit) std viniculum thickness + / / + / / + / /\ + / / surd +*/ + +var sqrtMain = function sqrtMain(extraViniculum, hLinePad) { + // sqrtMain path geometry is from glyph U221A in the font KaTeX Main + return "M95," + (622 + extraViniculum + hLinePad) + "\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl" + extraViniculum / 2.075 + " -" + extraViniculum + "\nc5.3,-9.3,12,-14,20,-14\nH400000v" + (40 + extraViniculum) + "H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM" + (834 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize1 = function sqrtSize1(extraViniculum, hLinePad) { + // size1 is from glyph U221A in the font KaTeX_Size1-Regular + return "M263," + (601 + extraViniculum + hLinePad) + "c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl" + extraViniculum / 2.084 + " -" + extraViniculum + "\nc4.7,-7.3,11,-11,19,-11\nH40000v" + (40 + extraViniculum) + "H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize2 = function sqrtSize2(extraViniculum, hLinePad) { + // size2 is from glyph U221A in the font KaTeX_Size2-Regular + return "M983 " + (10 + extraViniculum + hLinePad) + "\nl" + extraViniculum / 3.13 + " -" + extraViniculum + "\nc4,-6.7,10,-10,18,-10 H400000v" + (40 + extraViniculum) + "\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize3 = function sqrtSize3(extraViniculum, hLinePad) { + // size3 is from glyph U221A in the font KaTeX_Size3-Regular + return "M424," + (2398 + extraViniculum + hLinePad) + "\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl" + extraViniculum / 4.223 + " -" + extraViniculum + "c4,-6.7,10,-10,18,-10 H400000\nv" + (40 + extraViniculum) + "H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M" + (1001 + extraViniculum) + " " + hLinePad + "\nh400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize4 = function sqrtSize4(extraViniculum, hLinePad) { + // size4 is from glyph U221A in the font KaTeX_Size4-Regular + return "M473," + (2713 + extraViniculum + hLinePad) + "\nc339.3,-1799.3,509.3,-2700,510,-2702 l" + extraViniculum / 5.298 + " -" + extraViniculum + "\nc3.3,-7.3,9.3,-11,18,-11 H400000v" + (40 + extraViniculum) + "H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "H1017.7z"; +}; + +var sqrtTall = function sqrtTall(extraViniculum, hLinePad, viewBoxHeight) { + // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular + // One path edge has a variable length. It runs vertically from the viniculumn + // to a point near (14 units) the bottom of the surd. The viniculum + // is normally 40 units thick. So the length of the line in question is: + var vertSegment = viewBoxHeight - 54 - hLinePad - extraViniculum; + return "M702 " + (extraViniculum + hLinePad) + "H400000" + (40 + extraViniculum) + "\nH742v" + vertSegment + "l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 " + hLinePad + "H400000v" + (40 + extraViniculum) + "H742z"; +}; + +var sqrtPath = function sqrtPath(size, extraViniculum, viewBoxHeight) { + extraViniculum = 1000 * extraViniculum; // Convert from document ems to viewBox. + + var path = ""; + + switch (size) { + case "sqrtMain": + path = sqrtMain(extraViniculum, hLinePad); + break; + + case "sqrtSize1": + path = sqrtSize1(extraViniculum, hLinePad); + break; + + case "sqrtSize2": + path = sqrtSize2(extraViniculum, hLinePad); + break; + + case "sqrtSize3": + path = sqrtSize3(extraViniculum, hLinePad); + break; + + case "sqrtSize4": + path = sqrtSize4(extraViniculum, hLinePad); + break; + + case "sqrtTall": + path = sqrtTall(extraViniculum, hLinePad, viewBoxHeight); + } + + return path; +}; +var svgGeometry_path = { + // Two paths that cover gaps in built-up parentheses. + leftParenInner: "M291 0 H417 V300 H291 z", + rightParenInner: "M457 0 H583 V300 H457 z", + // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main + doubleleftarrow: "M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z", + // doublerightarrow is from glyph U+21D2 in font KaTeX Main + doublerightarrow: "M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z", + // leftarrow is from glyph U+2190 in font KaTeX Main + leftarrow: "M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z", + // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular + leftbrace: "M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z", + leftbraceunder: "M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z", + // overgroup is from the MnSymbol package (public domain) + leftgroup: "M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z", + leftgroupunder: "M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z", + // Harpoons are from glyph U+21BD in font KaTeX Main + leftharpoon: "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z", + leftharpoonplus: "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z", + leftharpoondown: "M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z", + leftharpoondownplus: "M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z", + // hook is from glyph U+21A9 in font KaTeX Main + lefthook: "M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z", + leftlinesegment: "M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z", + leftmapsto: "M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z", + // tofrom is from glyph U+21C4 in font KaTeX AMS Regular + leftToFrom: "M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z", + longequal: "M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z", + midbrace: "M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z", + midbraceunder: "M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z", + oiintSize1: "M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z", + oiintSize2: "M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z", + oiiintSize1: "M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z", + oiiintSize2: "M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z", + rightarrow: "M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z", + rightbrace: "M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z", + rightbraceunder: "M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z", + rightgroup: "M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z", + rightgroupunder: "M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z", + rightharpoon: "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z", + rightharpoonplus: "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z", + rightharpoondown: "M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z", + rightharpoondownplus: "M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z", + righthook: "M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z", + rightlinesegment: "M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z", + rightToFrom: "M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z", + // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular + twoheadleftarrow: "M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z", + twoheadrightarrow: "M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z", + // tilde1 is a modified version of a glyph from the MnSymbol package + tilde1: "M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z", + // ditto tilde2, tilde3, & tilde4 + tilde2: "M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z", + tilde3: "M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z", + tilde4: "M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z", + // vec is from glyph U+20D7 in font KaTeX Main + vec: "M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z", + // widehat1 is a modified version of a glyph from the MnSymbol package + widehat1: "M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z", + // ditto widehat2, widehat3, & widehat4 + widehat2: "M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", + widehat3: "M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", + widehat4: "M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", + // widecheck paths are all inverted versions of widehat + widecheck1: "M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z", + widecheck2: "M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", + widecheck3: "M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", + widecheck4: "M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", + // The next ten paths support reaction arrows from the mhchem package. + // Arrows for \ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX + // baraboveleftarrow is mostly from from glyph U+2190 in font KaTeX Main + baraboveleftarrow: "M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z", + // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main + rightarrowabovebar: "M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z", + // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end. + // Ref from mhchem.sty: \rlap{\raisebox{-.22ex}{$\kern0.5em + baraboveshortleftharpoon: "M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z", + rightharpoonaboveshortbar: "M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z", + shortbaraboveleftharpoon: "M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z", + shortrightharpoonabovebar: "M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z" +}; +// CONCATENATED MODULE: ./src/tree.js + + +/** + * This node represents a document fragment, which contains elements, but when + * placed into the DOM doesn't have any representation itself. It only contains + * children and doesn't have any DOM node properties. + */ +var tree_DocumentFragment = +/*#__PURE__*/ +function () { + // HtmlDomNode + // Never used; needed for satisfying interface. + function DocumentFragment(children) { + this.children = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + this.children = children; + this.classes = []; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = {}; + } + + var _proto = DocumentFragment.prototype; + + _proto.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + } + /** Convert the fragment into a node. */ + ; + + _proto.toNode = function toNode() { + var frag = document.createDocumentFragment(); + + for (var i = 0; i < this.children.length; i++) { + frag.appendChild(this.children[i].toNode()); + } + + return frag; + } + /** Convert the fragment into HTML markup. */ + ; + + _proto.toMarkup = function toMarkup() { + var markup = ""; // Simply concatenate the markup for the children together. + + for (var i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + return markup; + } + /** + * Converts the math node into a string, similar to innerText. Applies to + * MathDomNode's only. + */ + ; + + _proto.toText = function toText() { + // To avoid this, we would subclass documentFragment separately for + // MathML, but polyfills for subclassing is expensive per PR 1469. + // $FlowFixMe: Only works for ChildType = MathDomNode. + var toText = function toText(child) { + return child.toText(); + }; + + return this.children.map(toText).join(""); + }; + + return DocumentFragment; +}(); +// CONCATENATED MODULE: ./src/domTree.js +/** + * These objects store the data about the DOM nodes we create, as well as some + * extra data. They can then be transformed into real DOM nodes with the + * `toNode` function or HTML markup using `toMarkup`. They are useful for both + * storing extra properties on the nodes, as well as providing a way to easily + * work with the DOM. + * + * Similar functions for working with MathML nodes exist in mathMLTree.js. + * + * TODO: refactor `span` and `anchor` into common superclass when + * target environments support class inheritance + */ + + + + + +/** + * Create an HTML className based on a list of classes. In addition to joining + * with spaces, we also remove empty classes. + */ +var createClass = function createClass(classes) { + return classes.filter(function (cls) { + return cls; + }).join(" "); +}; + +var initNode = function initNode(classes, options, style) { + this.classes = classes || []; + this.attributes = {}; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = style || {}; + + if (options) { + if (options.style.isTight()) { + this.classes.push("mtight"); + } + + var color = options.getColor(); + + if (color) { + this.style.color = color; + } + } +}; +/** + * Convert into an HTML node + */ + + +var _toNode = function toNode(tagName) { + var node = document.createElement(tagName); // Apply the class + + node.className = createClass(this.classes); // Apply inline styles + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe Flow doesn't seem to understand span.style's type. + node.style[style] = this.style[style]; + } + } // Apply attributes + + + for (var attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } // Append the children, also as HTML nodes + + + for (var i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; +}; +/** + * Convert into an HTML markup string + */ + + +var _toMarkup = function toMarkup(tagName) { + var markup = "<" + tagName; // Add the class + + if (this.classes.length) { + markup += " class=\"" + utils.escape(createClass(this.classes)) + "\""; + } + + var styles = ""; // Add the styles, after hyphenation + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += utils.hyphenate(style) + ":" + this.style[style] + ";"; + } + } + + if (styles) { + markup += " style=\"" + utils.escape(styles) + "\""; + } // Add the attributes + + + for (var attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + markup += " " + attr + "=\"" + utils.escape(this.attributes[attr]) + "\""; + } + } + + markup += ">"; // Add the markup of the children, also as markup + + for (var i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ""; + return markup; +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. +// This type does not include all CSS properties. Additional properties should +// be added as needed. + + +/** + * This node represents a span node, with a className, a list of children, and + * an inline style. It also contains information about its height, depth, and + * maxFontSize. + * + * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan + * otherwise. This typesafety is important when HTML builders access a span's + * children. + */ +var domTree_Span = +/*#__PURE__*/ +function () { + function Span(classes, children, options, style) { + this.children = void 0; + this.attributes = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.width = void 0; + this.maxFontSize = void 0; + this.style = void 0; + initNode.call(this, classes, options, style); + this.children = children || []; + } + /** + * Sets an arbitrary attribute on the span. Warning: use this wisely. Not + * all browsers support attributes the same, and having too many custom + * attributes is probably bad. + */ + + + var _proto = Span.prototype; + + _proto.setAttribute = function setAttribute(attribute, value) { + this.attributes[attribute] = value; + }; + + _proto.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + }; + + _proto.toNode = function toNode() { + return _toNode.call(this, "span"); + }; + + _proto.toMarkup = function toMarkup() { + return _toMarkup.call(this, "span"); + }; + + return Span; +}(); +/** + * This node represents an anchor () element with a hyperlink. See `span` + * for further details. + */ + +var domTree_Anchor = +/*#__PURE__*/ +function () { + function Anchor(href, classes, children, options) { + this.children = void 0; + this.attributes = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + initNode.call(this, classes, options); + this.children = children || []; + this.setAttribute('href', href); + } + + var _proto2 = Anchor.prototype; + + _proto2.setAttribute = function setAttribute(attribute, value) { + this.attributes[attribute] = value; + }; + + _proto2.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + }; + + _proto2.toNode = function toNode() { + return _toNode.call(this, "a"); + }; + + _proto2.toMarkup = function toMarkup() { + return _toMarkup.call(this, "a"); + }; + + return Anchor; +}(); +/** + * This node represents an image embed () element. + */ + +var domTree_Img = +/*#__PURE__*/ +function () { + function Img(src, alt, style) { + this.src = void 0; + this.alt = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + this.alt = alt; + this.src = src; + this.classes = ["mord"]; + this.style = style; + } + + var _proto3 = Img.prototype; + + _proto3.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + }; + + _proto3.toNode = function toNode() { + var node = document.createElement("img"); + node.src = this.src; + node.alt = this.alt; + node.className = "mord"; // Apply inline styles + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe + node.style[style] = this.style[style]; + } + } + + return node; + }; + + _proto3.toMarkup = function toMarkup() { + var markup = "" + this.alt + " 0) { + span = document.createElement("span"); + span.style.marginRight = this.italic + "em"; + } + + if (this.classes.length > 0) { + span = span || document.createElement("span"); + span.className = createClass(this.classes); + } + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + span = span || document.createElement("span"); // $FlowFixMe Flow doesn't seem to understand span.style's type. + + span.style[style] = this.style[style]; + } + } + + if (span) { + span.appendChild(node); + return span; + } else { + return node; + } + } + /** + * Creates markup for a symbol node. + */ + ; + + _proto4.toMarkup = function toMarkup() { + // TODO(alpert): More duplication than I'd like from + // span.prototype.toMarkup and symbolNode.prototype.toNode... + var needsSpan = false; + var markup = " 0) { + styles += "margin-right:" + this.italic + "em;"; + } + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += utils.hyphenate(style) + ":" + this.style[style] + ";"; + } + } + + if (styles) { + needsSpan = true; + markup += " style=\"" + utils.escape(styles) + "\""; + } + + var escaped = utils.escape(this.text); + + if (needsSpan) { + markup += ">"; + markup += escaped; + markup += ""; + return markup; + } else { + return escaped; + } + }; + + return SymbolNode; +}(); +/** + * SVG nodes are used to render stretchy wide elements. + */ + +var SvgNode = +/*#__PURE__*/ +function () { + function SvgNode(children, attributes) { + this.children = void 0; + this.attributes = void 0; + this.children = children || []; + this.attributes = attributes || {}; + } + + var _proto5 = SvgNode.prototype; + + _proto5.toNode = function toNode() { + var svgNS = "http://www.w3.org/2000/svg"; + var node = document.createElementNS(svgNS, "svg"); // Apply attributes + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (var i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + }; + + _proto5.toMarkup = function toMarkup() { + var markup = ""; + } else { + return ""; + } + }; + + return PathNode; +}(); +var LineNode = +/*#__PURE__*/ +function () { + function LineNode(attributes) { + this.attributes = void 0; + this.attributes = attributes || {}; + } + + var _proto7 = LineNode.prototype; + + _proto7.toNode = function toNode() { + var svgNS = "http://www.w3.org/2000/svg"; + var node = document.createElementNS(svgNS, "line"); // Apply attributes + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + return node; + }; + + _proto7.toMarkup = function toMarkup() { + var markup = " but got " + String(group) + "."); + } +} +// CONCATENATED MODULE: ./submodules/katex-fonts/fontMetricsData.js +// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY. +/* harmony default export */ var fontMetricsData = ({ + "AMS-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.68889, 0, 0, 0.72222], + "66": [0, 0.68889, 0, 0, 0.66667], + "67": [0, 0.68889, 0, 0, 0.72222], + "68": [0, 0.68889, 0, 0, 0.72222], + "69": [0, 0.68889, 0, 0, 0.66667], + "70": [0, 0.68889, 0, 0, 0.61111], + "71": [0, 0.68889, 0, 0, 0.77778], + "72": [0, 0.68889, 0, 0, 0.77778], + "73": [0, 0.68889, 0, 0, 0.38889], + "74": [0.16667, 0.68889, 0, 0, 0.5], + "75": [0, 0.68889, 0, 0, 0.77778], + "76": [0, 0.68889, 0, 0, 0.66667], + "77": [0, 0.68889, 0, 0, 0.94445], + "78": [0, 0.68889, 0, 0, 0.72222], + "79": [0.16667, 0.68889, 0, 0, 0.77778], + "80": [0, 0.68889, 0, 0, 0.61111], + "81": [0.16667, 0.68889, 0, 0, 0.77778], + "82": [0, 0.68889, 0, 0, 0.72222], + "83": [0, 0.68889, 0, 0, 0.55556], + "84": [0, 0.68889, 0, 0, 0.66667], + "85": [0, 0.68889, 0, 0, 0.72222], + "86": [0, 0.68889, 0, 0, 0.72222], + "87": [0, 0.68889, 0, 0, 1.0], + "88": [0, 0.68889, 0, 0, 0.72222], + "89": [0, 0.68889, 0, 0, 0.72222], + "90": [0, 0.68889, 0, 0, 0.66667], + "107": [0, 0.68889, 0, 0, 0.55556], + "160": [0, 0, 0, 0, 0.25], + "165": [0, 0.675, 0.025, 0, 0.75], + "174": [0.15559, 0.69224, 0, 0, 0.94666], + "240": [0, 0.68889, 0, 0, 0.55556], + "295": [0, 0.68889, 0, 0, 0.54028], + "710": [0, 0.825, 0, 0, 2.33334], + "732": [0, 0.9, 0, 0, 2.33334], + "770": [0, 0.825, 0, 0, 2.33334], + "771": [0, 0.9, 0, 0, 2.33334], + "989": [0.08167, 0.58167, 0, 0, 0.77778], + "1008": [0, 0.43056, 0.04028, 0, 0.66667], + "8245": [0, 0.54986, 0, 0, 0.275], + "8463": [0, 0.68889, 0, 0, 0.54028], + "8487": [0, 0.68889, 0, 0, 0.72222], + "8498": [0, 0.68889, 0, 0, 0.55556], + "8502": [0, 0.68889, 0, 0, 0.66667], + "8503": [0, 0.68889, 0, 0, 0.44445], + "8504": [0, 0.68889, 0, 0, 0.66667], + "8513": [0, 0.68889, 0, 0, 0.63889], + "8592": [-0.03598, 0.46402, 0, 0, 0.5], + "8594": [-0.03598, 0.46402, 0, 0, 0.5], + "8602": [-0.13313, 0.36687, 0, 0, 1.0], + "8603": [-0.13313, 0.36687, 0, 0, 1.0], + "8606": [0.01354, 0.52239, 0, 0, 1.0], + "8608": [0.01354, 0.52239, 0, 0, 1.0], + "8610": [0.01354, 0.52239, 0, 0, 1.11111], + "8611": [0.01354, 0.52239, 0, 0, 1.11111], + "8619": [0, 0.54986, 0, 0, 1.0], + "8620": [0, 0.54986, 0, 0, 1.0], + "8621": [-0.13313, 0.37788, 0, 0, 1.38889], + "8622": [-0.13313, 0.36687, 0, 0, 1.0], + "8624": [0, 0.69224, 0, 0, 0.5], + "8625": [0, 0.69224, 0, 0, 0.5], + "8630": [0, 0.43056, 0, 0, 1.0], + "8631": [0, 0.43056, 0, 0, 1.0], + "8634": [0.08198, 0.58198, 0, 0, 0.77778], + "8635": [0.08198, 0.58198, 0, 0, 0.77778], + "8638": [0.19444, 0.69224, 0, 0, 0.41667], + "8639": [0.19444, 0.69224, 0, 0, 0.41667], + "8642": [0.19444, 0.69224, 0, 0, 0.41667], + "8643": [0.19444, 0.69224, 0, 0, 0.41667], + "8644": [0.1808, 0.675, 0, 0, 1.0], + "8646": [0.1808, 0.675, 0, 0, 1.0], + "8647": [0.1808, 0.675, 0, 0, 1.0], + "8648": [0.19444, 0.69224, 0, 0, 0.83334], + "8649": [0.1808, 0.675, 0, 0, 1.0], + "8650": [0.19444, 0.69224, 0, 0, 0.83334], + "8651": [0.01354, 0.52239, 0, 0, 1.0], + "8652": [0.01354, 0.52239, 0, 0, 1.0], + "8653": [-0.13313, 0.36687, 0, 0, 1.0], + "8654": [-0.13313, 0.36687, 0, 0, 1.0], + "8655": [-0.13313, 0.36687, 0, 0, 1.0], + "8666": [0.13667, 0.63667, 0, 0, 1.0], + "8667": [0.13667, 0.63667, 0, 0, 1.0], + "8669": [-0.13313, 0.37788, 0, 0, 1.0], + "8672": [-0.064, 0.437, 0, 0, 1.334], + "8674": [-0.064, 0.437, 0, 0, 1.334], + "8705": [0, 0.825, 0, 0, 0.5], + "8708": [0, 0.68889, 0, 0, 0.55556], + "8709": [0.08167, 0.58167, 0, 0, 0.77778], + "8717": [0, 0.43056, 0, 0, 0.42917], + "8722": [-0.03598, 0.46402, 0, 0, 0.5], + "8724": [0.08198, 0.69224, 0, 0, 0.77778], + "8726": [0.08167, 0.58167, 0, 0, 0.77778], + "8733": [0, 0.69224, 0, 0, 0.77778], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8737": [0, 0.69224, 0, 0, 0.72222], + "8738": [0.03517, 0.52239, 0, 0, 0.72222], + "8739": [0.08167, 0.58167, 0, 0, 0.22222], + "8740": [0.25142, 0.74111, 0, 0, 0.27778], + "8741": [0.08167, 0.58167, 0, 0, 0.38889], + "8742": [0.25142, 0.74111, 0, 0, 0.5], + "8756": [0, 0.69224, 0, 0, 0.66667], + "8757": [0, 0.69224, 0, 0, 0.66667], + "8764": [-0.13313, 0.36687, 0, 0, 0.77778], + "8765": [-0.13313, 0.37788, 0, 0, 0.77778], + "8769": [-0.13313, 0.36687, 0, 0, 0.77778], + "8770": [-0.03625, 0.46375, 0, 0, 0.77778], + "8774": [0.30274, 0.79383, 0, 0, 0.77778], + "8776": [-0.01688, 0.48312, 0, 0, 0.77778], + "8778": [0.08167, 0.58167, 0, 0, 0.77778], + "8782": [0.06062, 0.54986, 0, 0, 0.77778], + "8783": [0.06062, 0.54986, 0, 0, 0.77778], + "8785": [0.08198, 0.58198, 0, 0, 0.77778], + "8786": [0.08198, 0.58198, 0, 0, 0.77778], + "8787": [0.08198, 0.58198, 0, 0, 0.77778], + "8790": [0, 0.69224, 0, 0, 0.77778], + "8791": [0.22958, 0.72958, 0, 0, 0.77778], + "8796": [0.08198, 0.91667, 0, 0, 0.77778], + "8806": [0.25583, 0.75583, 0, 0, 0.77778], + "8807": [0.25583, 0.75583, 0, 0, 0.77778], + "8808": [0.25142, 0.75726, 0, 0, 0.77778], + "8809": [0.25142, 0.75726, 0, 0, 0.77778], + "8812": [0.25583, 0.75583, 0, 0, 0.5], + "8814": [0.20576, 0.70576, 0, 0, 0.77778], + "8815": [0.20576, 0.70576, 0, 0, 0.77778], + "8816": [0.30274, 0.79383, 0, 0, 0.77778], + "8817": [0.30274, 0.79383, 0, 0, 0.77778], + "8818": [0.22958, 0.72958, 0, 0, 0.77778], + "8819": [0.22958, 0.72958, 0, 0, 0.77778], + "8822": [0.1808, 0.675, 0, 0, 0.77778], + "8823": [0.1808, 0.675, 0, 0, 0.77778], + "8828": [0.13667, 0.63667, 0, 0, 0.77778], + "8829": [0.13667, 0.63667, 0, 0, 0.77778], + "8830": [0.22958, 0.72958, 0, 0, 0.77778], + "8831": [0.22958, 0.72958, 0, 0, 0.77778], + "8832": [0.20576, 0.70576, 0, 0, 0.77778], + "8833": [0.20576, 0.70576, 0, 0, 0.77778], + "8840": [0.30274, 0.79383, 0, 0, 0.77778], + "8841": [0.30274, 0.79383, 0, 0, 0.77778], + "8842": [0.13597, 0.63597, 0, 0, 0.77778], + "8843": [0.13597, 0.63597, 0, 0, 0.77778], + "8847": [0.03517, 0.54986, 0, 0, 0.77778], + "8848": [0.03517, 0.54986, 0, 0, 0.77778], + "8858": [0.08198, 0.58198, 0, 0, 0.77778], + "8859": [0.08198, 0.58198, 0, 0, 0.77778], + "8861": [0.08198, 0.58198, 0, 0, 0.77778], + "8862": [0, 0.675, 0, 0, 0.77778], + "8863": [0, 0.675, 0, 0, 0.77778], + "8864": [0, 0.675, 0, 0, 0.77778], + "8865": [0, 0.675, 0, 0, 0.77778], + "8872": [0, 0.69224, 0, 0, 0.61111], + "8873": [0, 0.69224, 0, 0, 0.72222], + "8874": [0, 0.69224, 0, 0, 0.88889], + "8876": [0, 0.68889, 0, 0, 0.61111], + "8877": [0, 0.68889, 0, 0, 0.61111], + "8878": [0, 0.68889, 0, 0, 0.72222], + "8879": [0, 0.68889, 0, 0, 0.72222], + "8882": [0.03517, 0.54986, 0, 0, 0.77778], + "8883": [0.03517, 0.54986, 0, 0, 0.77778], + "8884": [0.13667, 0.63667, 0, 0, 0.77778], + "8885": [0.13667, 0.63667, 0, 0, 0.77778], + "8888": [0, 0.54986, 0, 0, 1.11111], + "8890": [0.19444, 0.43056, 0, 0, 0.55556], + "8891": [0.19444, 0.69224, 0, 0, 0.61111], + "8892": [0.19444, 0.69224, 0, 0, 0.61111], + "8901": [0, 0.54986, 0, 0, 0.27778], + "8903": [0.08167, 0.58167, 0, 0, 0.77778], + "8905": [0.08167, 0.58167, 0, 0, 0.77778], + "8906": [0.08167, 0.58167, 0, 0, 0.77778], + "8907": [0, 0.69224, 0, 0, 0.77778], + "8908": [0, 0.69224, 0, 0, 0.77778], + "8909": [-0.03598, 0.46402, 0, 0, 0.77778], + "8910": [0, 0.54986, 0, 0, 0.76042], + "8911": [0, 0.54986, 0, 0, 0.76042], + "8912": [0.03517, 0.54986, 0, 0, 0.77778], + "8913": [0.03517, 0.54986, 0, 0, 0.77778], + "8914": [0, 0.54986, 0, 0, 0.66667], + "8915": [0, 0.54986, 0, 0, 0.66667], + "8916": [0, 0.69224, 0, 0, 0.66667], + "8918": [0.0391, 0.5391, 0, 0, 0.77778], + "8919": [0.0391, 0.5391, 0, 0, 0.77778], + "8920": [0.03517, 0.54986, 0, 0, 1.33334], + "8921": [0.03517, 0.54986, 0, 0, 1.33334], + "8922": [0.38569, 0.88569, 0, 0, 0.77778], + "8923": [0.38569, 0.88569, 0, 0, 0.77778], + "8926": [0.13667, 0.63667, 0, 0, 0.77778], + "8927": [0.13667, 0.63667, 0, 0, 0.77778], + "8928": [0.30274, 0.79383, 0, 0, 0.77778], + "8929": [0.30274, 0.79383, 0, 0, 0.77778], + "8934": [0.23222, 0.74111, 0, 0, 0.77778], + "8935": [0.23222, 0.74111, 0, 0, 0.77778], + "8936": [0.23222, 0.74111, 0, 0, 0.77778], + "8937": [0.23222, 0.74111, 0, 0, 0.77778], + "8938": [0.20576, 0.70576, 0, 0, 0.77778], + "8939": [0.20576, 0.70576, 0, 0, 0.77778], + "8940": [0.30274, 0.79383, 0, 0, 0.77778], + "8941": [0.30274, 0.79383, 0, 0, 0.77778], + "8994": [0.19444, 0.69224, 0, 0, 0.77778], + "8995": [0.19444, 0.69224, 0, 0, 0.77778], + "9416": [0.15559, 0.69224, 0, 0, 0.90222], + "9484": [0, 0.69224, 0, 0, 0.5], + "9488": [0, 0.69224, 0, 0, 0.5], + "9492": [0, 0.37788, 0, 0, 0.5], + "9496": [0, 0.37788, 0, 0, 0.5], + "9585": [0.19444, 0.68889, 0, 0, 0.88889], + "9586": [0.19444, 0.74111, 0, 0, 0.88889], + "9632": [0, 0.675, 0, 0, 0.77778], + "9633": [0, 0.675, 0, 0, 0.77778], + "9650": [0, 0.54986, 0, 0, 0.72222], + "9651": [0, 0.54986, 0, 0, 0.72222], + "9654": [0.03517, 0.54986, 0, 0, 0.77778], + "9660": [0, 0.54986, 0, 0, 0.72222], + "9661": [0, 0.54986, 0, 0, 0.72222], + "9664": [0.03517, 0.54986, 0, 0, 0.77778], + "9674": [0.11111, 0.69224, 0, 0, 0.66667], + "9733": [0.19444, 0.69224, 0, 0, 0.94445], + "10003": [0, 0.69224, 0, 0, 0.83334], + "10016": [0, 0.69224, 0, 0, 0.83334], + "10731": [0.11111, 0.69224, 0, 0, 0.66667], + "10846": [0.19444, 0.75583, 0, 0, 0.61111], + "10877": [0.13667, 0.63667, 0, 0, 0.77778], + "10878": [0.13667, 0.63667, 0, 0, 0.77778], + "10885": [0.25583, 0.75583, 0, 0, 0.77778], + "10886": [0.25583, 0.75583, 0, 0, 0.77778], + "10887": [0.13597, 0.63597, 0, 0, 0.77778], + "10888": [0.13597, 0.63597, 0, 0, 0.77778], + "10889": [0.26167, 0.75726, 0, 0, 0.77778], + "10890": [0.26167, 0.75726, 0, 0, 0.77778], + "10891": [0.48256, 0.98256, 0, 0, 0.77778], + "10892": [0.48256, 0.98256, 0, 0, 0.77778], + "10901": [0.13667, 0.63667, 0, 0, 0.77778], + "10902": [0.13667, 0.63667, 0, 0, 0.77778], + "10933": [0.25142, 0.75726, 0, 0, 0.77778], + "10934": [0.25142, 0.75726, 0, 0, 0.77778], + "10935": [0.26167, 0.75726, 0, 0, 0.77778], + "10936": [0.26167, 0.75726, 0, 0, 0.77778], + "10937": [0.26167, 0.75726, 0, 0, 0.77778], + "10938": [0.26167, 0.75726, 0, 0, 0.77778], + "10949": [0.25583, 0.75583, 0, 0, 0.77778], + "10950": [0.25583, 0.75583, 0, 0, 0.77778], + "10955": [0.28481, 0.79383, 0, 0, 0.77778], + "10956": [0.28481, 0.79383, 0, 0, 0.77778], + "57350": [0.08167, 0.58167, 0, 0, 0.22222], + "57351": [0.08167, 0.58167, 0, 0, 0.38889], + "57352": [0.08167, 0.58167, 0, 0, 0.77778], + "57353": [0, 0.43056, 0.04028, 0, 0.66667], + "57356": [0.25142, 0.75726, 0, 0, 0.77778], + "57357": [0.25142, 0.75726, 0, 0, 0.77778], + "57358": [0.41951, 0.91951, 0, 0, 0.77778], + "57359": [0.30274, 0.79383, 0, 0, 0.77778], + "57360": [0.30274, 0.79383, 0, 0, 0.77778], + "57361": [0.41951, 0.91951, 0, 0, 0.77778], + "57366": [0.25142, 0.75726, 0, 0, 0.77778], + "57367": [0.25142, 0.75726, 0, 0, 0.77778], + "57368": [0.25142, 0.75726, 0, 0, 0.77778], + "57369": [0.25142, 0.75726, 0, 0, 0.77778], + "57370": [0.13597, 0.63597, 0, 0, 0.77778], + "57371": [0.13597, 0.63597, 0, 0, 0.77778] + }, + "Caligraphic-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.68333, 0, 0.19445, 0.79847], + "66": [0, 0.68333, 0.03041, 0.13889, 0.65681], + "67": [0, 0.68333, 0.05834, 0.13889, 0.52653], + "68": [0, 0.68333, 0.02778, 0.08334, 0.77139], + "69": [0, 0.68333, 0.08944, 0.11111, 0.52778], + "70": [0, 0.68333, 0.09931, 0.11111, 0.71875], + "71": [0.09722, 0.68333, 0.0593, 0.11111, 0.59487], + "72": [0, 0.68333, 0.00965, 0.11111, 0.84452], + "73": [0, 0.68333, 0.07382, 0, 0.54452], + "74": [0.09722, 0.68333, 0.18472, 0.16667, 0.67778], + "75": [0, 0.68333, 0.01445, 0.05556, 0.76195], + "76": [0, 0.68333, 0, 0.13889, 0.68972], + "77": [0, 0.68333, 0, 0.13889, 1.2009], + "78": [0, 0.68333, 0.14736, 0.08334, 0.82049], + "79": [0, 0.68333, 0.02778, 0.11111, 0.79611], + "80": [0, 0.68333, 0.08222, 0.08334, 0.69556], + "81": [0.09722, 0.68333, 0, 0.11111, 0.81667], + "82": [0, 0.68333, 0, 0.08334, 0.8475], + "83": [0, 0.68333, 0.075, 0.13889, 0.60556], + "84": [0, 0.68333, 0.25417, 0, 0.54464], + "85": [0, 0.68333, 0.09931, 0.08334, 0.62583], + "86": [0, 0.68333, 0.08222, 0, 0.61278], + "87": [0, 0.68333, 0.08222, 0.08334, 0.98778], + "88": [0, 0.68333, 0.14643, 0.13889, 0.7133], + "89": [0.09722, 0.68333, 0.08222, 0.08334, 0.66834], + "90": [0, 0.68333, 0.07944, 0.13889, 0.72473], + "160": [0, 0, 0, 0, 0.25] + }, + "Fraktur-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69141, 0, 0, 0.29574], + "34": [0, 0.69141, 0, 0, 0.21471], + "38": [0, 0.69141, 0, 0, 0.73786], + "39": [0, 0.69141, 0, 0, 0.21201], + "40": [0.24982, 0.74947, 0, 0, 0.38865], + "41": [0.24982, 0.74947, 0, 0, 0.38865], + "42": [0, 0.62119, 0, 0, 0.27764], + "43": [0.08319, 0.58283, 0, 0, 0.75623], + "44": [0, 0.10803, 0, 0, 0.27764], + "45": [0.08319, 0.58283, 0, 0, 0.75623], + "46": [0, 0.10803, 0, 0, 0.27764], + "47": [0.24982, 0.74947, 0, 0, 0.50181], + "48": [0, 0.47534, 0, 0, 0.50181], + "49": [0, 0.47534, 0, 0, 0.50181], + "50": [0, 0.47534, 0, 0, 0.50181], + "51": [0.18906, 0.47534, 0, 0, 0.50181], + "52": [0.18906, 0.47534, 0, 0, 0.50181], + "53": [0.18906, 0.47534, 0, 0, 0.50181], + "54": [0, 0.69141, 0, 0, 0.50181], + "55": [0.18906, 0.47534, 0, 0, 0.50181], + "56": [0, 0.69141, 0, 0, 0.50181], + "57": [0.18906, 0.47534, 0, 0, 0.50181], + "58": [0, 0.47534, 0, 0, 0.21606], + "59": [0.12604, 0.47534, 0, 0, 0.21606], + "61": [-0.13099, 0.36866, 0, 0, 0.75623], + "63": [0, 0.69141, 0, 0, 0.36245], + "65": [0, 0.69141, 0, 0, 0.7176], + "66": [0, 0.69141, 0, 0, 0.88397], + "67": [0, 0.69141, 0, 0, 0.61254], + "68": [0, 0.69141, 0, 0, 0.83158], + "69": [0, 0.69141, 0, 0, 0.66278], + "70": [0.12604, 0.69141, 0, 0, 0.61119], + "71": [0, 0.69141, 0, 0, 0.78539], + "72": [0.06302, 0.69141, 0, 0, 0.7203], + "73": [0, 0.69141, 0, 0, 0.55448], + "74": [0.12604, 0.69141, 0, 0, 0.55231], + "75": [0, 0.69141, 0, 0, 0.66845], + "76": [0, 0.69141, 0, 0, 0.66602], + "77": [0, 0.69141, 0, 0, 1.04953], + "78": [0, 0.69141, 0, 0, 0.83212], + "79": [0, 0.69141, 0, 0, 0.82699], + "80": [0.18906, 0.69141, 0, 0, 0.82753], + "81": [0.03781, 0.69141, 0, 0, 0.82699], + "82": [0, 0.69141, 0, 0, 0.82807], + "83": [0, 0.69141, 0, 0, 0.82861], + "84": [0, 0.69141, 0, 0, 0.66899], + "85": [0, 0.69141, 0, 0, 0.64576], + "86": [0, 0.69141, 0, 0, 0.83131], + "87": [0, 0.69141, 0, 0, 1.04602], + "88": [0, 0.69141, 0, 0, 0.71922], + "89": [0.18906, 0.69141, 0, 0, 0.83293], + "90": [0.12604, 0.69141, 0, 0, 0.60201], + "91": [0.24982, 0.74947, 0, 0, 0.27764], + "93": [0.24982, 0.74947, 0, 0, 0.27764], + "94": [0, 0.69141, 0, 0, 0.49965], + "97": [0, 0.47534, 0, 0, 0.50046], + "98": [0, 0.69141, 0, 0, 0.51315], + "99": [0, 0.47534, 0, 0, 0.38946], + "100": [0, 0.62119, 0, 0, 0.49857], + "101": [0, 0.47534, 0, 0, 0.40053], + "102": [0.18906, 0.69141, 0, 0, 0.32626], + "103": [0.18906, 0.47534, 0, 0, 0.5037], + "104": [0.18906, 0.69141, 0, 0, 0.52126], + "105": [0, 0.69141, 0, 0, 0.27899], + "106": [0, 0.69141, 0, 0, 0.28088], + "107": [0, 0.69141, 0, 0, 0.38946], + "108": [0, 0.69141, 0, 0, 0.27953], + "109": [0, 0.47534, 0, 0, 0.76676], + "110": [0, 0.47534, 0, 0, 0.52666], + "111": [0, 0.47534, 0, 0, 0.48885], + "112": [0.18906, 0.52396, 0, 0, 0.50046], + "113": [0.18906, 0.47534, 0, 0, 0.48912], + "114": [0, 0.47534, 0, 0, 0.38919], + "115": [0, 0.47534, 0, 0, 0.44266], + "116": [0, 0.62119, 0, 0, 0.33301], + "117": [0, 0.47534, 0, 0, 0.5172], + "118": [0, 0.52396, 0, 0, 0.5118], + "119": [0, 0.52396, 0, 0, 0.77351], + "120": [0.18906, 0.47534, 0, 0, 0.38865], + "121": [0.18906, 0.47534, 0, 0, 0.49884], + "122": [0.18906, 0.47534, 0, 0, 0.39054], + "160": [0, 0, 0, 0, 0.25], + "8216": [0, 0.69141, 0, 0, 0.21471], + "8217": [0, 0.69141, 0, 0, 0.21471], + "58112": [0, 0.62119, 0, 0, 0.49749], + "58113": [0, 0.62119, 0, 0, 0.4983], + "58114": [0.18906, 0.69141, 0, 0, 0.33328], + "58115": [0.18906, 0.69141, 0, 0, 0.32923], + "58116": [0.18906, 0.47534, 0, 0, 0.50343], + "58117": [0, 0.69141, 0, 0, 0.33301], + "58118": [0, 0.62119, 0, 0, 0.33409], + "58119": [0, 0.47534, 0, 0, 0.50073] + }, + "Main-Bold": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.35], + "34": [0, 0.69444, 0, 0, 0.60278], + "35": [0.19444, 0.69444, 0, 0, 0.95833], + "36": [0.05556, 0.75, 0, 0, 0.575], + "37": [0.05556, 0.75, 0, 0, 0.95833], + "38": [0, 0.69444, 0, 0, 0.89444], + "39": [0, 0.69444, 0, 0, 0.31944], + "40": [0.25, 0.75, 0, 0, 0.44722], + "41": [0.25, 0.75, 0, 0, 0.44722], + "42": [0, 0.75, 0, 0, 0.575], + "43": [0.13333, 0.63333, 0, 0, 0.89444], + "44": [0.19444, 0.15556, 0, 0, 0.31944], + "45": [0, 0.44444, 0, 0, 0.38333], + "46": [0, 0.15556, 0, 0, 0.31944], + "47": [0.25, 0.75, 0, 0, 0.575], + "48": [0, 0.64444, 0, 0, 0.575], + "49": [0, 0.64444, 0, 0, 0.575], + "50": [0, 0.64444, 0, 0, 0.575], + "51": [0, 0.64444, 0, 0, 0.575], + "52": [0, 0.64444, 0, 0, 0.575], + "53": [0, 0.64444, 0, 0, 0.575], + "54": [0, 0.64444, 0, 0, 0.575], + "55": [0, 0.64444, 0, 0, 0.575], + "56": [0, 0.64444, 0, 0, 0.575], + "57": [0, 0.64444, 0, 0, 0.575], + "58": [0, 0.44444, 0, 0, 0.31944], + "59": [0.19444, 0.44444, 0, 0, 0.31944], + "60": [0.08556, 0.58556, 0, 0, 0.89444], + "61": [-0.10889, 0.39111, 0, 0, 0.89444], + "62": [0.08556, 0.58556, 0, 0, 0.89444], + "63": [0, 0.69444, 0, 0, 0.54305], + "64": [0, 0.69444, 0, 0, 0.89444], + "65": [0, 0.68611, 0, 0, 0.86944], + "66": [0, 0.68611, 0, 0, 0.81805], + "67": [0, 0.68611, 0, 0, 0.83055], + "68": [0, 0.68611, 0, 0, 0.88194], + "69": [0, 0.68611, 0, 0, 0.75555], + "70": [0, 0.68611, 0, 0, 0.72361], + "71": [0, 0.68611, 0, 0, 0.90416], + "72": [0, 0.68611, 0, 0, 0.9], + "73": [0, 0.68611, 0, 0, 0.43611], + "74": [0, 0.68611, 0, 0, 0.59444], + "75": [0, 0.68611, 0, 0, 0.90138], + "76": [0, 0.68611, 0, 0, 0.69166], + "77": [0, 0.68611, 0, 0, 1.09166], + "78": [0, 0.68611, 0, 0, 0.9], + "79": [0, 0.68611, 0, 0, 0.86388], + "80": [0, 0.68611, 0, 0, 0.78611], + "81": [0.19444, 0.68611, 0, 0, 0.86388], + "82": [0, 0.68611, 0, 0, 0.8625], + "83": [0, 0.68611, 0, 0, 0.63889], + "84": [0, 0.68611, 0, 0, 0.8], + "85": [0, 0.68611, 0, 0, 0.88472], + "86": [0, 0.68611, 0.01597, 0, 0.86944], + "87": [0, 0.68611, 0.01597, 0, 1.18888], + "88": [0, 0.68611, 0, 0, 0.86944], + "89": [0, 0.68611, 0.02875, 0, 0.86944], + "90": [0, 0.68611, 0, 0, 0.70277], + "91": [0.25, 0.75, 0, 0, 0.31944], + "92": [0.25, 0.75, 0, 0, 0.575], + "93": [0.25, 0.75, 0, 0, 0.31944], + "94": [0, 0.69444, 0, 0, 0.575], + "95": [0.31, 0.13444, 0.03194, 0, 0.575], + "97": [0, 0.44444, 0, 0, 0.55902], + "98": [0, 0.69444, 0, 0, 0.63889], + "99": [0, 0.44444, 0, 0, 0.51111], + "100": [0, 0.69444, 0, 0, 0.63889], + "101": [0, 0.44444, 0, 0, 0.52708], + "102": [0, 0.69444, 0.10903, 0, 0.35139], + "103": [0.19444, 0.44444, 0.01597, 0, 0.575], + "104": [0, 0.69444, 0, 0, 0.63889], + "105": [0, 0.69444, 0, 0, 0.31944], + "106": [0.19444, 0.69444, 0, 0, 0.35139], + "107": [0, 0.69444, 0, 0, 0.60694], + "108": [0, 0.69444, 0, 0, 0.31944], + "109": [0, 0.44444, 0, 0, 0.95833], + "110": [0, 0.44444, 0, 0, 0.63889], + "111": [0, 0.44444, 0, 0, 0.575], + "112": [0.19444, 0.44444, 0, 0, 0.63889], + "113": [0.19444, 0.44444, 0, 0, 0.60694], + "114": [0, 0.44444, 0, 0, 0.47361], + "115": [0, 0.44444, 0, 0, 0.45361], + "116": [0, 0.63492, 0, 0, 0.44722], + "117": [0, 0.44444, 0, 0, 0.63889], + "118": [0, 0.44444, 0.01597, 0, 0.60694], + "119": [0, 0.44444, 0.01597, 0, 0.83055], + "120": [0, 0.44444, 0, 0, 0.60694], + "121": [0.19444, 0.44444, 0.01597, 0, 0.60694], + "122": [0, 0.44444, 0, 0, 0.51111], + "123": [0.25, 0.75, 0, 0, 0.575], + "124": [0.25, 0.75, 0, 0, 0.31944], + "125": [0.25, 0.75, 0, 0, 0.575], + "126": [0.35, 0.34444, 0, 0, 0.575], + "160": [0, 0, 0, 0, 0.25], + "163": [0, 0.69444, 0, 0, 0.86853], + "168": [0, 0.69444, 0, 0, 0.575], + "172": [0, 0.44444, 0, 0, 0.76666], + "176": [0, 0.69444, 0, 0, 0.86944], + "177": [0.13333, 0.63333, 0, 0, 0.89444], + "184": [0.17014, 0, 0, 0, 0.51111], + "198": [0, 0.68611, 0, 0, 1.04166], + "215": [0.13333, 0.63333, 0, 0, 0.89444], + "216": [0.04861, 0.73472, 0, 0, 0.89444], + "223": [0, 0.69444, 0, 0, 0.59722], + "230": [0, 0.44444, 0, 0, 0.83055], + "247": [0.13333, 0.63333, 0, 0, 0.89444], + "248": [0.09722, 0.54167, 0, 0, 0.575], + "305": [0, 0.44444, 0, 0, 0.31944], + "338": [0, 0.68611, 0, 0, 1.16944], + "339": [0, 0.44444, 0, 0, 0.89444], + "567": [0.19444, 0.44444, 0, 0, 0.35139], + "710": [0, 0.69444, 0, 0, 0.575], + "711": [0, 0.63194, 0, 0, 0.575], + "713": [0, 0.59611, 0, 0, 0.575], + "714": [0, 0.69444, 0, 0, 0.575], + "715": [0, 0.69444, 0, 0, 0.575], + "728": [0, 0.69444, 0, 0, 0.575], + "729": [0, 0.69444, 0, 0, 0.31944], + "730": [0, 0.69444, 0, 0, 0.86944], + "732": [0, 0.69444, 0, 0, 0.575], + "733": [0, 0.69444, 0, 0, 0.575], + "915": [0, 0.68611, 0, 0, 0.69166], + "916": [0, 0.68611, 0, 0, 0.95833], + "920": [0, 0.68611, 0, 0, 0.89444], + "923": [0, 0.68611, 0, 0, 0.80555], + "926": [0, 0.68611, 0, 0, 0.76666], + "928": [0, 0.68611, 0, 0, 0.9], + "931": [0, 0.68611, 0, 0, 0.83055], + "933": [0, 0.68611, 0, 0, 0.89444], + "934": [0, 0.68611, 0, 0, 0.83055], + "936": [0, 0.68611, 0, 0, 0.89444], + "937": [0, 0.68611, 0, 0, 0.83055], + "8211": [0, 0.44444, 0.03194, 0, 0.575], + "8212": [0, 0.44444, 0.03194, 0, 1.14999], + "8216": [0, 0.69444, 0, 0, 0.31944], + "8217": [0, 0.69444, 0, 0, 0.31944], + "8220": [0, 0.69444, 0, 0, 0.60278], + "8221": [0, 0.69444, 0, 0, 0.60278], + "8224": [0.19444, 0.69444, 0, 0, 0.51111], + "8225": [0.19444, 0.69444, 0, 0, 0.51111], + "8242": [0, 0.55556, 0, 0, 0.34444], + "8407": [0, 0.72444, 0.15486, 0, 0.575], + "8463": [0, 0.69444, 0, 0, 0.66759], + "8465": [0, 0.69444, 0, 0, 0.83055], + "8467": [0, 0.69444, 0, 0, 0.47361], + "8472": [0.19444, 0.44444, 0, 0, 0.74027], + "8476": [0, 0.69444, 0, 0, 0.83055], + "8501": [0, 0.69444, 0, 0, 0.70277], + "8592": [-0.10889, 0.39111, 0, 0, 1.14999], + "8593": [0.19444, 0.69444, 0, 0, 0.575], + "8594": [-0.10889, 0.39111, 0, 0, 1.14999], + "8595": [0.19444, 0.69444, 0, 0, 0.575], + "8596": [-0.10889, 0.39111, 0, 0, 1.14999], + "8597": [0.25, 0.75, 0, 0, 0.575], + "8598": [0.19444, 0.69444, 0, 0, 1.14999], + "8599": [0.19444, 0.69444, 0, 0, 1.14999], + "8600": [0.19444, 0.69444, 0, 0, 1.14999], + "8601": [0.19444, 0.69444, 0, 0, 1.14999], + "8636": [-0.10889, 0.39111, 0, 0, 1.14999], + "8637": [-0.10889, 0.39111, 0, 0, 1.14999], + "8640": [-0.10889, 0.39111, 0, 0, 1.14999], + "8641": [-0.10889, 0.39111, 0, 0, 1.14999], + "8656": [-0.10889, 0.39111, 0, 0, 1.14999], + "8657": [0.19444, 0.69444, 0, 0, 0.70277], + "8658": [-0.10889, 0.39111, 0, 0, 1.14999], + "8659": [0.19444, 0.69444, 0, 0, 0.70277], + "8660": [-0.10889, 0.39111, 0, 0, 1.14999], + "8661": [0.25, 0.75, 0, 0, 0.70277], + "8704": [0, 0.69444, 0, 0, 0.63889], + "8706": [0, 0.69444, 0.06389, 0, 0.62847], + "8707": [0, 0.69444, 0, 0, 0.63889], + "8709": [0.05556, 0.75, 0, 0, 0.575], + "8711": [0, 0.68611, 0, 0, 0.95833], + "8712": [0.08556, 0.58556, 0, 0, 0.76666], + "8715": [0.08556, 0.58556, 0, 0, 0.76666], + "8722": [0.13333, 0.63333, 0, 0, 0.89444], + "8723": [0.13333, 0.63333, 0, 0, 0.89444], + "8725": [0.25, 0.75, 0, 0, 0.575], + "8726": [0.25, 0.75, 0, 0, 0.575], + "8727": [-0.02778, 0.47222, 0, 0, 0.575], + "8728": [-0.02639, 0.47361, 0, 0, 0.575], + "8729": [-0.02639, 0.47361, 0, 0, 0.575], + "8730": [0.18, 0.82, 0, 0, 0.95833], + "8733": [0, 0.44444, 0, 0, 0.89444], + "8734": [0, 0.44444, 0, 0, 1.14999], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8739": [0.25, 0.75, 0, 0, 0.31944], + "8741": [0.25, 0.75, 0, 0, 0.575], + "8743": [0, 0.55556, 0, 0, 0.76666], + "8744": [0, 0.55556, 0, 0, 0.76666], + "8745": [0, 0.55556, 0, 0, 0.76666], + "8746": [0, 0.55556, 0, 0, 0.76666], + "8747": [0.19444, 0.69444, 0.12778, 0, 0.56875], + "8764": [-0.10889, 0.39111, 0, 0, 0.89444], + "8768": [0.19444, 0.69444, 0, 0, 0.31944], + "8771": [0.00222, 0.50222, 0, 0, 0.89444], + "8776": [0.02444, 0.52444, 0, 0, 0.89444], + "8781": [0.00222, 0.50222, 0, 0, 0.89444], + "8801": [0.00222, 0.50222, 0, 0, 0.89444], + "8804": [0.19667, 0.69667, 0, 0, 0.89444], + "8805": [0.19667, 0.69667, 0, 0, 0.89444], + "8810": [0.08556, 0.58556, 0, 0, 1.14999], + "8811": [0.08556, 0.58556, 0, 0, 1.14999], + "8826": [0.08556, 0.58556, 0, 0, 0.89444], + "8827": [0.08556, 0.58556, 0, 0, 0.89444], + "8834": [0.08556, 0.58556, 0, 0, 0.89444], + "8835": [0.08556, 0.58556, 0, 0, 0.89444], + "8838": [0.19667, 0.69667, 0, 0, 0.89444], + "8839": [0.19667, 0.69667, 0, 0, 0.89444], + "8846": [0, 0.55556, 0, 0, 0.76666], + "8849": [0.19667, 0.69667, 0, 0, 0.89444], + "8850": [0.19667, 0.69667, 0, 0, 0.89444], + "8851": [0, 0.55556, 0, 0, 0.76666], + "8852": [0, 0.55556, 0, 0, 0.76666], + "8853": [0.13333, 0.63333, 0, 0, 0.89444], + "8854": [0.13333, 0.63333, 0, 0, 0.89444], + "8855": [0.13333, 0.63333, 0, 0, 0.89444], + "8856": [0.13333, 0.63333, 0, 0, 0.89444], + "8857": [0.13333, 0.63333, 0, 0, 0.89444], + "8866": [0, 0.69444, 0, 0, 0.70277], + "8867": [0, 0.69444, 0, 0, 0.70277], + "8868": [0, 0.69444, 0, 0, 0.89444], + "8869": [0, 0.69444, 0, 0, 0.89444], + "8900": [-0.02639, 0.47361, 0, 0, 0.575], + "8901": [-0.02639, 0.47361, 0, 0, 0.31944], + "8902": [-0.02778, 0.47222, 0, 0, 0.575], + "8968": [0.25, 0.75, 0, 0, 0.51111], + "8969": [0.25, 0.75, 0, 0, 0.51111], + "8970": [0.25, 0.75, 0, 0, 0.51111], + "8971": [0.25, 0.75, 0, 0, 0.51111], + "8994": [-0.13889, 0.36111, 0, 0, 1.14999], + "8995": [-0.13889, 0.36111, 0, 0, 1.14999], + "9651": [0.19444, 0.69444, 0, 0, 1.02222], + "9657": [-0.02778, 0.47222, 0, 0, 0.575], + "9661": [0.19444, 0.69444, 0, 0, 1.02222], + "9667": [-0.02778, 0.47222, 0, 0, 0.575], + "9711": [0.19444, 0.69444, 0, 0, 1.14999], + "9824": [0.12963, 0.69444, 0, 0, 0.89444], + "9825": [0.12963, 0.69444, 0, 0, 0.89444], + "9826": [0.12963, 0.69444, 0, 0, 0.89444], + "9827": [0.12963, 0.69444, 0, 0, 0.89444], + "9837": [0, 0.75, 0, 0, 0.44722], + "9838": [0.19444, 0.69444, 0, 0, 0.44722], + "9839": [0.19444, 0.69444, 0, 0, 0.44722], + "10216": [0.25, 0.75, 0, 0, 0.44722], + "10217": [0.25, 0.75, 0, 0, 0.44722], + "10815": [0, 0.68611, 0, 0, 0.9], + "10927": [0.19667, 0.69667, 0, 0, 0.89444], + "10928": [0.19667, 0.69667, 0, 0, 0.89444], + "57376": [0.19444, 0.69444, 0, 0, 0] + }, + "Main-BoldItalic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.11417, 0, 0.38611], + "34": [0, 0.69444, 0.07939, 0, 0.62055], + "35": [0.19444, 0.69444, 0.06833, 0, 0.94444], + "37": [0.05556, 0.75, 0.12861, 0, 0.94444], + "38": [0, 0.69444, 0.08528, 0, 0.88555], + "39": [0, 0.69444, 0.12945, 0, 0.35555], + "40": [0.25, 0.75, 0.15806, 0, 0.47333], + "41": [0.25, 0.75, 0.03306, 0, 0.47333], + "42": [0, 0.75, 0.14333, 0, 0.59111], + "43": [0.10333, 0.60333, 0.03306, 0, 0.88555], + "44": [0.19444, 0.14722, 0, 0, 0.35555], + "45": [0, 0.44444, 0.02611, 0, 0.41444], + "46": [0, 0.14722, 0, 0, 0.35555], + "47": [0.25, 0.75, 0.15806, 0, 0.59111], + "48": [0, 0.64444, 0.13167, 0, 0.59111], + "49": [0, 0.64444, 0.13167, 0, 0.59111], + "50": [0, 0.64444, 0.13167, 0, 0.59111], + "51": [0, 0.64444, 0.13167, 0, 0.59111], + "52": [0.19444, 0.64444, 0.13167, 0, 0.59111], + "53": [0, 0.64444, 0.13167, 0, 0.59111], + "54": [0, 0.64444, 0.13167, 0, 0.59111], + "55": [0.19444, 0.64444, 0.13167, 0, 0.59111], + "56": [0, 0.64444, 0.13167, 0, 0.59111], + "57": [0, 0.64444, 0.13167, 0, 0.59111], + "58": [0, 0.44444, 0.06695, 0, 0.35555], + "59": [0.19444, 0.44444, 0.06695, 0, 0.35555], + "61": [-0.10889, 0.39111, 0.06833, 0, 0.88555], + "63": [0, 0.69444, 0.11472, 0, 0.59111], + "64": [0, 0.69444, 0.09208, 0, 0.88555], + "65": [0, 0.68611, 0, 0, 0.86555], + "66": [0, 0.68611, 0.0992, 0, 0.81666], + "67": [0, 0.68611, 0.14208, 0, 0.82666], + "68": [0, 0.68611, 0.09062, 0, 0.87555], + "69": [0, 0.68611, 0.11431, 0, 0.75666], + "70": [0, 0.68611, 0.12903, 0, 0.72722], + "71": [0, 0.68611, 0.07347, 0, 0.89527], + "72": [0, 0.68611, 0.17208, 0, 0.8961], + "73": [0, 0.68611, 0.15681, 0, 0.47166], + "74": [0, 0.68611, 0.145, 0, 0.61055], + "75": [0, 0.68611, 0.14208, 0, 0.89499], + "76": [0, 0.68611, 0, 0, 0.69777], + "77": [0, 0.68611, 0.17208, 0, 1.07277], + "78": [0, 0.68611, 0.17208, 0, 0.8961], + "79": [0, 0.68611, 0.09062, 0, 0.85499], + "80": [0, 0.68611, 0.0992, 0, 0.78721], + "81": [0.19444, 0.68611, 0.09062, 0, 0.85499], + "82": [0, 0.68611, 0.02559, 0, 0.85944], + "83": [0, 0.68611, 0.11264, 0, 0.64999], + "84": [0, 0.68611, 0.12903, 0, 0.7961], + "85": [0, 0.68611, 0.17208, 0, 0.88083], + "86": [0, 0.68611, 0.18625, 0, 0.86555], + "87": [0, 0.68611, 0.18625, 0, 1.15999], + "88": [0, 0.68611, 0.15681, 0, 0.86555], + "89": [0, 0.68611, 0.19803, 0, 0.86555], + "90": [0, 0.68611, 0.14208, 0, 0.70888], + "91": [0.25, 0.75, 0.1875, 0, 0.35611], + "93": [0.25, 0.75, 0.09972, 0, 0.35611], + "94": [0, 0.69444, 0.06709, 0, 0.59111], + "95": [0.31, 0.13444, 0.09811, 0, 0.59111], + "97": [0, 0.44444, 0.09426, 0, 0.59111], + "98": [0, 0.69444, 0.07861, 0, 0.53222], + "99": [0, 0.44444, 0.05222, 0, 0.53222], + "100": [0, 0.69444, 0.10861, 0, 0.59111], + "101": [0, 0.44444, 0.085, 0, 0.53222], + "102": [0.19444, 0.69444, 0.21778, 0, 0.4], + "103": [0.19444, 0.44444, 0.105, 0, 0.53222], + "104": [0, 0.69444, 0.09426, 0, 0.59111], + "105": [0, 0.69326, 0.11387, 0, 0.35555], + "106": [0.19444, 0.69326, 0.1672, 0, 0.35555], + "107": [0, 0.69444, 0.11111, 0, 0.53222], + "108": [0, 0.69444, 0.10861, 0, 0.29666], + "109": [0, 0.44444, 0.09426, 0, 0.94444], + "110": [0, 0.44444, 0.09426, 0, 0.64999], + "111": [0, 0.44444, 0.07861, 0, 0.59111], + "112": [0.19444, 0.44444, 0.07861, 0, 0.59111], + "113": [0.19444, 0.44444, 0.105, 0, 0.53222], + "114": [0, 0.44444, 0.11111, 0, 0.50167], + "115": [0, 0.44444, 0.08167, 0, 0.48694], + "116": [0, 0.63492, 0.09639, 0, 0.385], + "117": [0, 0.44444, 0.09426, 0, 0.62055], + "118": [0, 0.44444, 0.11111, 0, 0.53222], + "119": [0, 0.44444, 0.11111, 0, 0.76777], + "120": [0, 0.44444, 0.12583, 0, 0.56055], + "121": [0.19444, 0.44444, 0.105, 0, 0.56166], + "122": [0, 0.44444, 0.13889, 0, 0.49055], + "126": [0.35, 0.34444, 0.11472, 0, 0.59111], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.69444, 0.11473, 0, 0.59111], + "176": [0, 0.69444, 0, 0, 0.94888], + "184": [0.17014, 0, 0, 0, 0.53222], + "198": [0, 0.68611, 0.11431, 0, 1.02277], + "216": [0.04861, 0.73472, 0.09062, 0, 0.88555], + "223": [0.19444, 0.69444, 0.09736, 0, 0.665], + "230": [0, 0.44444, 0.085, 0, 0.82666], + "248": [0.09722, 0.54167, 0.09458, 0, 0.59111], + "305": [0, 0.44444, 0.09426, 0, 0.35555], + "338": [0, 0.68611, 0.11431, 0, 1.14054], + "339": [0, 0.44444, 0.085, 0, 0.82666], + "567": [0.19444, 0.44444, 0.04611, 0, 0.385], + "710": [0, 0.69444, 0.06709, 0, 0.59111], + "711": [0, 0.63194, 0.08271, 0, 0.59111], + "713": [0, 0.59444, 0.10444, 0, 0.59111], + "714": [0, 0.69444, 0.08528, 0, 0.59111], + "715": [0, 0.69444, 0, 0, 0.59111], + "728": [0, 0.69444, 0.10333, 0, 0.59111], + "729": [0, 0.69444, 0.12945, 0, 0.35555], + "730": [0, 0.69444, 0, 0, 0.94888], + "732": [0, 0.69444, 0.11472, 0, 0.59111], + "733": [0, 0.69444, 0.11472, 0, 0.59111], + "915": [0, 0.68611, 0.12903, 0, 0.69777], + "916": [0, 0.68611, 0, 0, 0.94444], + "920": [0, 0.68611, 0.09062, 0, 0.88555], + "923": [0, 0.68611, 0, 0, 0.80666], + "926": [0, 0.68611, 0.15092, 0, 0.76777], + "928": [0, 0.68611, 0.17208, 0, 0.8961], + "931": [0, 0.68611, 0.11431, 0, 0.82666], + "933": [0, 0.68611, 0.10778, 0, 0.88555], + "934": [0, 0.68611, 0.05632, 0, 0.82666], + "936": [0, 0.68611, 0.10778, 0, 0.88555], + "937": [0, 0.68611, 0.0992, 0, 0.82666], + "8211": [0, 0.44444, 0.09811, 0, 0.59111], + "8212": [0, 0.44444, 0.09811, 0, 1.18221], + "8216": [0, 0.69444, 0.12945, 0, 0.35555], + "8217": [0, 0.69444, 0.12945, 0, 0.35555], + "8220": [0, 0.69444, 0.16772, 0, 0.62055], + "8221": [0, 0.69444, 0.07939, 0, 0.62055] + }, + "Main-Italic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.12417, 0, 0.30667], + "34": [0, 0.69444, 0.06961, 0, 0.51444], + "35": [0.19444, 0.69444, 0.06616, 0, 0.81777], + "37": [0.05556, 0.75, 0.13639, 0, 0.81777], + "38": [0, 0.69444, 0.09694, 0, 0.76666], + "39": [0, 0.69444, 0.12417, 0, 0.30667], + "40": [0.25, 0.75, 0.16194, 0, 0.40889], + "41": [0.25, 0.75, 0.03694, 0, 0.40889], + "42": [0, 0.75, 0.14917, 0, 0.51111], + "43": [0.05667, 0.56167, 0.03694, 0, 0.76666], + "44": [0.19444, 0.10556, 0, 0, 0.30667], + "45": [0, 0.43056, 0.02826, 0, 0.35778], + "46": [0, 0.10556, 0, 0, 0.30667], + "47": [0.25, 0.75, 0.16194, 0, 0.51111], + "48": [0, 0.64444, 0.13556, 0, 0.51111], + "49": [0, 0.64444, 0.13556, 0, 0.51111], + "50": [0, 0.64444, 0.13556, 0, 0.51111], + "51": [0, 0.64444, 0.13556, 0, 0.51111], + "52": [0.19444, 0.64444, 0.13556, 0, 0.51111], + "53": [0, 0.64444, 0.13556, 0, 0.51111], + "54": [0, 0.64444, 0.13556, 0, 0.51111], + "55": [0.19444, 0.64444, 0.13556, 0, 0.51111], + "56": [0, 0.64444, 0.13556, 0, 0.51111], + "57": [0, 0.64444, 0.13556, 0, 0.51111], + "58": [0, 0.43056, 0.0582, 0, 0.30667], + "59": [0.19444, 0.43056, 0.0582, 0, 0.30667], + "61": [-0.13313, 0.36687, 0.06616, 0, 0.76666], + "63": [0, 0.69444, 0.1225, 0, 0.51111], + "64": [0, 0.69444, 0.09597, 0, 0.76666], + "65": [0, 0.68333, 0, 0, 0.74333], + "66": [0, 0.68333, 0.10257, 0, 0.70389], + "67": [0, 0.68333, 0.14528, 0, 0.71555], + "68": [0, 0.68333, 0.09403, 0, 0.755], + "69": [0, 0.68333, 0.12028, 0, 0.67833], + "70": [0, 0.68333, 0.13305, 0, 0.65277], + "71": [0, 0.68333, 0.08722, 0, 0.77361], + "72": [0, 0.68333, 0.16389, 0, 0.74333], + "73": [0, 0.68333, 0.15806, 0, 0.38555], + "74": [0, 0.68333, 0.14028, 0, 0.525], + "75": [0, 0.68333, 0.14528, 0, 0.76888], + "76": [0, 0.68333, 0, 0, 0.62722], + "77": [0, 0.68333, 0.16389, 0, 0.89666], + "78": [0, 0.68333, 0.16389, 0, 0.74333], + "79": [0, 0.68333, 0.09403, 0, 0.76666], + "80": [0, 0.68333, 0.10257, 0, 0.67833], + "81": [0.19444, 0.68333, 0.09403, 0, 0.76666], + "82": [0, 0.68333, 0.03868, 0, 0.72944], + "83": [0, 0.68333, 0.11972, 0, 0.56222], + "84": [0, 0.68333, 0.13305, 0, 0.71555], + "85": [0, 0.68333, 0.16389, 0, 0.74333], + "86": [0, 0.68333, 0.18361, 0, 0.74333], + "87": [0, 0.68333, 0.18361, 0, 0.99888], + "88": [0, 0.68333, 0.15806, 0, 0.74333], + "89": [0, 0.68333, 0.19383, 0, 0.74333], + "90": [0, 0.68333, 0.14528, 0, 0.61333], + "91": [0.25, 0.75, 0.1875, 0, 0.30667], + "93": [0.25, 0.75, 0.10528, 0, 0.30667], + "94": [0, 0.69444, 0.06646, 0, 0.51111], + "95": [0.31, 0.12056, 0.09208, 0, 0.51111], + "97": [0, 0.43056, 0.07671, 0, 0.51111], + "98": [0, 0.69444, 0.06312, 0, 0.46], + "99": [0, 0.43056, 0.05653, 0, 0.46], + "100": [0, 0.69444, 0.10333, 0, 0.51111], + "101": [0, 0.43056, 0.07514, 0, 0.46], + "102": [0.19444, 0.69444, 0.21194, 0, 0.30667], + "103": [0.19444, 0.43056, 0.08847, 0, 0.46], + "104": [0, 0.69444, 0.07671, 0, 0.51111], + "105": [0, 0.65536, 0.1019, 0, 0.30667], + "106": [0.19444, 0.65536, 0.14467, 0, 0.30667], + "107": [0, 0.69444, 0.10764, 0, 0.46], + "108": [0, 0.69444, 0.10333, 0, 0.25555], + "109": [0, 0.43056, 0.07671, 0, 0.81777], + "110": [0, 0.43056, 0.07671, 0, 0.56222], + "111": [0, 0.43056, 0.06312, 0, 0.51111], + "112": [0.19444, 0.43056, 0.06312, 0, 0.51111], + "113": [0.19444, 0.43056, 0.08847, 0, 0.46], + "114": [0, 0.43056, 0.10764, 0, 0.42166], + "115": [0, 0.43056, 0.08208, 0, 0.40889], + "116": [0, 0.61508, 0.09486, 0, 0.33222], + "117": [0, 0.43056, 0.07671, 0, 0.53666], + "118": [0, 0.43056, 0.10764, 0, 0.46], + "119": [0, 0.43056, 0.10764, 0, 0.66444], + "120": [0, 0.43056, 0.12042, 0, 0.46389], + "121": [0.19444, 0.43056, 0.08847, 0, 0.48555], + "122": [0, 0.43056, 0.12292, 0, 0.40889], + "126": [0.35, 0.31786, 0.11585, 0, 0.51111], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.66786, 0.10474, 0, 0.51111], + "176": [0, 0.69444, 0, 0, 0.83129], + "184": [0.17014, 0, 0, 0, 0.46], + "198": [0, 0.68333, 0.12028, 0, 0.88277], + "216": [0.04861, 0.73194, 0.09403, 0, 0.76666], + "223": [0.19444, 0.69444, 0.10514, 0, 0.53666], + "230": [0, 0.43056, 0.07514, 0, 0.71555], + "248": [0.09722, 0.52778, 0.09194, 0, 0.51111], + "338": [0, 0.68333, 0.12028, 0, 0.98499], + "339": [0, 0.43056, 0.07514, 0, 0.71555], + "710": [0, 0.69444, 0.06646, 0, 0.51111], + "711": [0, 0.62847, 0.08295, 0, 0.51111], + "713": [0, 0.56167, 0.10333, 0, 0.51111], + "714": [0, 0.69444, 0.09694, 0, 0.51111], + "715": [0, 0.69444, 0, 0, 0.51111], + "728": [0, 0.69444, 0.10806, 0, 0.51111], + "729": [0, 0.66786, 0.11752, 0, 0.30667], + "730": [0, 0.69444, 0, 0, 0.83129], + "732": [0, 0.66786, 0.11585, 0, 0.51111], + "733": [0, 0.69444, 0.1225, 0, 0.51111], + "915": [0, 0.68333, 0.13305, 0, 0.62722], + "916": [0, 0.68333, 0, 0, 0.81777], + "920": [0, 0.68333, 0.09403, 0, 0.76666], + "923": [0, 0.68333, 0, 0, 0.69222], + "926": [0, 0.68333, 0.15294, 0, 0.66444], + "928": [0, 0.68333, 0.16389, 0, 0.74333], + "931": [0, 0.68333, 0.12028, 0, 0.71555], + "933": [0, 0.68333, 0.11111, 0, 0.76666], + "934": [0, 0.68333, 0.05986, 0, 0.71555], + "936": [0, 0.68333, 0.11111, 0, 0.76666], + "937": [0, 0.68333, 0.10257, 0, 0.71555], + "8211": [0, 0.43056, 0.09208, 0, 0.51111], + "8212": [0, 0.43056, 0.09208, 0, 1.02222], + "8216": [0, 0.69444, 0.12417, 0, 0.30667], + "8217": [0, 0.69444, 0.12417, 0, 0.30667], + "8220": [0, 0.69444, 0.1685, 0, 0.51444], + "8221": [0, 0.69444, 0.06961, 0, 0.51444], + "8463": [0, 0.68889, 0, 0, 0.54028] + }, + "Main-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.27778], + "34": [0, 0.69444, 0, 0, 0.5], + "35": [0.19444, 0.69444, 0, 0, 0.83334], + "36": [0.05556, 0.75, 0, 0, 0.5], + "37": [0.05556, 0.75, 0, 0, 0.83334], + "38": [0, 0.69444, 0, 0, 0.77778], + "39": [0, 0.69444, 0, 0, 0.27778], + "40": [0.25, 0.75, 0, 0, 0.38889], + "41": [0.25, 0.75, 0, 0, 0.38889], + "42": [0, 0.75, 0, 0, 0.5], + "43": [0.08333, 0.58333, 0, 0, 0.77778], + "44": [0.19444, 0.10556, 0, 0, 0.27778], + "45": [0, 0.43056, 0, 0, 0.33333], + "46": [0, 0.10556, 0, 0, 0.27778], + "47": [0.25, 0.75, 0, 0, 0.5], + "48": [0, 0.64444, 0, 0, 0.5], + "49": [0, 0.64444, 0, 0, 0.5], + "50": [0, 0.64444, 0, 0, 0.5], + "51": [0, 0.64444, 0, 0, 0.5], + "52": [0, 0.64444, 0, 0, 0.5], + "53": [0, 0.64444, 0, 0, 0.5], + "54": [0, 0.64444, 0, 0, 0.5], + "55": [0, 0.64444, 0, 0, 0.5], + "56": [0, 0.64444, 0, 0, 0.5], + "57": [0, 0.64444, 0, 0, 0.5], + "58": [0, 0.43056, 0, 0, 0.27778], + "59": [0.19444, 0.43056, 0, 0, 0.27778], + "60": [0.0391, 0.5391, 0, 0, 0.77778], + "61": [-0.13313, 0.36687, 0, 0, 0.77778], + "62": [0.0391, 0.5391, 0, 0, 0.77778], + "63": [0, 0.69444, 0, 0, 0.47222], + "64": [0, 0.69444, 0, 0, 0.77778], + "65": [0, 0.68333, 0, 0, 0.75], + "66": [0, 0.68333, 0, 0, 0.70834], + "67": [0, 0.68333, 0, 0, 0.72222], + "68": [0, 0.68333, 0, 0, 0.76389], + "69": [0, 0.68333, 0, 0, 0.68056], + "70": [0, 0.68333, 0, 0, 0.65278], + "71": [0, 0.68333, 0, 0, 0.78472], + "72": [0, 0.68333, 0, 0, 0.75], + "73": [0, 0.68333, 0, 0, 0.36111], + "74": [0, 0.68333, 0, 0, 0.51389], + "75": [0, 0.68333, 0, 0, 0.77778], + "76": [0, 0.68333, 0, 0, 0.625], + "77": [0, 0.68333, 0, 0, 0.91667], + "78": [0, 0.68333, 0, 0, 0.75], + "79": [0, 0.68333, 0, 0, 0.77778], + "80": [0, 0.68333, 0, 0, 0.68056], + "81": [0.19444, 0.68333, 0, 0, 0.77778], + "82": [0, 0.68333, 0, 0, 0.73611], + "83": [0, 0.68333, 0, 0, 0.55556], + "84": [0, 0.68333, 0, 0, 0.72222], + "85": [0, 0.68333, 0, 0, 0.75], + "86": [0, 0.68333, 0.01389, 0, 0.75], + "87": [0, 0.68333, 0.01389, 0, 1.02778], + "88": [0, 0.68333, 0, 0, 0.75], + "89": [0, 0.68333, 0.025, 0, 0.75], + "90": [0, 0.68333, 0, 0, 0.61111], + "91": [0.25, 0.75, 0, 0, 0.27778], + "92": [0.25, 0.75, 0, 0, 0.5], + "93": [0.25, 0.75, 0, 0, 0.27778], + "94": [0, 0.69444, 0, 0, 0.5], + "95": [0.31, 0.12056, 0.02778, 0, 0.5], + "97": [0, 0.43056, 0, 0, 0.5], + "98": [0, 0.69444, 0, 0, 0.55556], + "99": [0, 0.43056, 0, 0, 0.44445], + "100": [0, 0.69444, 0, 0, 0.55556], + "101": [0, 0.43056, 0, 0, 0.44445], + "102": [0, 0.69444, 0.07778, 0, 0.30556], + "103": [0.19444, 0.43056, 0.01389, 0, 0.5], + "104": [0, 0.69444, 0, 0, 0.55556], + "105": [0, 0.66786, 0, 0, 0.27778], + "106": [0.19444, 0.66786, 0, 0, 0.30556], + "107": [0, 0.69444, 0, 0, 0.52778], + "108": [0, 0.69444, 0, 0, 0.27778], + "109": [0, 0.43056, 0, 0, 0.83334], + "110": [0, 0.43056, 0, 0, 0.55556], + "111": [0, 0.43056, 0, 0, 0.5], + "112": [0.19444, 0.43056, 0, 0, 0.55556], + "113": [0.19444, 0.43056, 0, 0, 0.52778], + "114": [0, 0.43056, 0, 0, 0.39167], + "115": [0, 0.43056, 0, 0, 0.39445], + "116": [0, 0.61508, 0, 0, 0.38889], + "117": [0, 0.43056, 0, 0, 0.55556], + "118": [0, 0.43056, 0.01389, 0, 0.52778], + "119": [0, 0.43056, 0.01389, 0, 0.72222], + "120": [0, 0.43056, 0, 0, 0.52778], + "121": [0.19444, 0.43056, 0.01389, 0, 0.52778], + "122": [0, 0.43056, 0, 0, 0.44445], + "123": [0.25, 0.75, 0, 0, 0.5], + "124": [0.25, 0.75, 0, 0, 0.27778], + "125": [0.25, 0.75, 0, 0, 0.5], + "126": [0.35, 0.31786, 0, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "163": [0, 0.69444, 0, 0, 0.76909], + "167": [0.19444, 0.69444, 0, 0, 0.44445], + "168": [0, 0.66786, 0, 0, 0.5], + "172": [0, 0.43056, 0, 0, 0.66667], + "176": [0, 0.69444, 0, 0, 0.75], + "177": [0.08333, 0.58333, 0, 0, 0.77778], + "182": [0.19444, 0.69444, 0, 0, 0.61111], + "184": [0.17014, 0, 0, 0, 0.44445], + "198": [0, 0.68333, 0, 0, 0.90278], + "215": [0.08333, 0.58333, 0, 0, 0.77778], + "216": [0.04861, 0.73194, 0, 0, 0.77778], + "223": [0, 0.69444, 0, 0, 0.5], + "230": [0, 0.43056, 0, 0, 0.72222], + "247": [0.08333, 0.58333, 0, 0, 0.77778], + "248": [0.09722, 0.52778, 0, 0, 0.5], + "305": [0, 0.43056, 0, 0, 0.27778], + "338": [0, 0.68333, 0, 0, 1.01389], + "339": [0, 0.43056, 0, 0, 0.77778], + "567": [0.19444, 0.43056, 0, 0, 0.30556], + "710": [0, 0.69444, 0, 0, 0.5], + "711": [0, 0.62847, 0, 0, 0.5], + "713": [0, 0.56778, 0, 0, 0.5], + "714": [0, 0.69444, 0, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0, 0, 0.5], + "729": [0, 0.66786, 0, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.75], + "732": [0, 0.66786, 0, 0, 0.5], + "733": [0, 0.69444, 0, 0, 0.5], + "915": [0, 0.68333, 0, 0, 0.625], + "916": [0, 0.68333, 0, 0, 0.83334], + "920": [0, 0.68333, 0, 0, 0.77778], + "923": [0, 0.68333, 0, 0, 0.69445], + "926": [0, 0.68333, 0, 0, 0.66667], + "928": [0, 0.68333, 0, 0, 0.75], + "931": [0, 0.68333, 0, 0, 0.72222], + "933": [0, 0.68333, 0, 0, 0.77778], + "934": [0, 0.68333, 0, 0, 0.72222], + "936": [0, 0.68333, 0, 0, 0.77778], + "937": [0, 0.68333, 0, 0, 0.72222], + "8211": [0, 0.43056, 0.02778, 0, 0.5], + "8212": [0, 0.43056, 0.02778, 0, 1.0], + "8216": [0, 0.69444, 0, 0, 0.27778], + "8217": [0, 0.69444, 0, 0, 0.27778], + "8220": [0, 0.69444, 0, 0, 0.5], + "8221": [0, 0.69444, 0, 0, 0.5], + "8224": [0.19444, 0.69444, 0, 0, 0.44445], + "8225": [0.19444, 0.69444, 0, 0, 0.44445], + "8230": [0, 0.12, 0, 0, 1.172], + "8242": [0, 0.55556, 0, 0, 0.275], + "8407": [0, 0.71444, 0.15382, 0, 0.5], + "8463": [0, 0.68889, 0, 0, 0.54028], + "8465": [0, 0.69444, 0, 0, 0.72222], + "8467": [0, 0.69444, 0, 0.11111, 0.41667], + "8472": [0.19444, 0.43056, 0, 0.11111, 0.63646], + "8476": [0, 0.69444, 0, 0, 0.72222], + "8501": [0, 0.69444, 0, 0, 0.61111], + "8592": [-0.13313, 0.36687, 0, 0, 1.0], + "8593": [0.19444, 0.69444, 0, 0, 0.5], + "8594": [-0.13313, 0.36687, 0, 0, 1.0], + "8595": [0.19444, 0.69444, 0, 0, 0.5], + "8596": [-0.13313, 0.36687, 0, 0, 1.0], + "8597": [0.25, 0.75, 0, 0, 0.5], + "8598": [0.19444, 0.69444, 0, 0, 1.0], + "8599": [0.19444, 0.69444, 0, 0, 1.0], + "8600": [0.19444, 0.69444, 0, 0, 1.0], + "8601": [0.19444, 0.69444, 0, 0, 1.0], + "8614": [0.011, 0.511, 0, 0, 1.0], + "8617": [0.011, 0.511, 0, 0, 1.126], + "8618": [0.011, 0.511, 0, 0, 1.126], + "8636": [-0.13313, 0.36687, 0, 0, 1.0], + "8637": [-0.13313, 0.36687, 0, 0, 1.0], + "8640": [-0.13313, 0.36687, 0, 0, 1.0], + "8641": [-0.13313, 0.36687, 0, 0, 1.0], + "8652": [0.011, 0.671, 0, 0, 1.0], + "8656": [-0.13313, 0.36687, 0, 0, 1.0], + "8657": [0.19444, 0.69444, 0, 0, 0.61111], + "8658": [-0.13313, 0.36687, 0, 0, 1.0], + "8659": [0.19444, 0.69444, 0, 0, 0.61111], + "8660": [-0.13313, 0.36687, 0, 0, 1.0], + "8661": [0.25, 0.75, 0, 0, 0.61111], + "8704": [0, 0.69444, 0, 0, 0.55556], + "8706": [0, 0.69444, 0.05556, 0.08334, 0.5309], + "8707": [0, 0.69444, 0, 0, 0.55556], + "8709": [0.05556, 0.75, 0, 0, 0.5], + "8711": [0, 0.68333, 0, 0, 0.83334], + "8712": [0.0391, 0.5391, 0, 0, 0.66667], + "8715": [0.0391, 0.5391, 0, 0, 0.66667], + "8722": [0.08333, 0.58333, 0, 0, 0.77778], + "8723": [0.08333, 0.58333, 0, 0, 0.77778], + "8725": [0.25, 0.75, 0, 0, 0.5], + "8726": [0.25, 0.75, 0, 0, 0.5], + "8727": [-0.03472, 0.46528, 0, 0, 0.5], + "8728": [-0.05555, 0.44445, 0, 0, 0.5], + "8729": [-0.05555, 0.44445, 0, 0, 0.5], + "8730": [0.2, 0.8, 0, 0, 0.83334], + "8733": [0, 0.43056, 0, 0, 0.77778], + "8734": [0, 0.43056, 0, 0, 1.0], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8739": [0.25, 0.75, 0, 0, 0.27778], + "8741": [0.25, 0.75, 0, 0, 0.5], + "8743": [0, 0.55556, 0, 0, 0.66667], + "8744": [0, 0.55556, 0, 0, 0.66667], + "8745": [0, 0.55556, 0, 0, 0.66667], + "8746": [0, 0.55556, 0, 0, 0.66667], + "8747": [0.19444, 0.69444, 0.11111, 0, 0.41667], + "8764": [-0.13313, 0.36687, 0, 0, 0.77778], + "8768": [0.19444, 0.69444, 0, 0, 0.27778], + "8771": [-0.03625, 0.46375, 0, 0, 0.77778], + "8773": [-0.022, 0.589, 0, 0, 1.0], + "8776": [-0.01688, 0.48312, 0, 0, 0.77778], + "8781": [-0.03625, 0.46375, 0, 0, 0.77778], + "8784": [-0.133, 0.67, 0, 0, 0.778], + "8801": [-0.03625, 0.46375, 0, 0, 0.77778], + "8804": [0.13597, 0.63597, 0, 0, 0.77778], + "8805": [0.13597, 0.63597, 0, 0, 0.77778], + "8810": [0.0391, 0.5391, 0, 0, 1.0], + "8811": [0.0391, 0.5391, 0, 0, 1.0], + "8826": [0.0391, 0.5391, 0, 0, 0.77778], + "8827": [0.0391, 0.5391, 0, 0, 0.77778], + "8834": [0.0391, 0.5391, 0, 0, 0.77778], + "8835": [0.0391, 0.5391, 0, 0, 0.77778], + "8838": [0.13597, 0.63597, 0, 0, 0.77778], + "8839": [0.13597, 0.63597, 0, 0, 0.77778], + "8846": [0, 0.55556, 0, 0, 0.66667], + "8849": [0.13597, 0.63597, 0, 0, 0.77778], + "8850": [0.13597, 0.63597, 0, 0, 0.77778], + "8851": [0, 0.55556, 0, 0, 0.66667], + "8852": [0, 0.55556, 0, 0, 0.66667], + "8853": [0.08333, 0.58333, 0, 0, 0.77778], + "8854": [0.08333, 0.58333, 0, 0, 0.77778], + "8855": [0.08333, 0.58333, 0, 0, 0.77778], + "8856": [0.08333, 0.58333, 0, 0, 0.77778], + "8857": [0.08333, 0.58333, 0, 0, 0.77778], + "8866": [0, 0.69444, 0, 0, 0.61111], + "8867": [0, 0.69444, 0, 0, 0.61111], + "8868": [0, 0.69444, 0, 0, 0.77778], + "8869": [0, 0.69444, 0, 0, 0.77778], + "8872": [0.249, 0.75, 0, 0, 0.867], + "8900": [-0.05555, 0.44445, 0, 0, 0.5], + "8901": [-0.05555, 0.44445, 0, 0, 0.27778], + "8902": [-0.03472, 0.46528, 0, 0, 0.5], + "8904": [0.005, 0.505, 0, 0, 0.9], + "8942": [0.03, 0.9, 0, 0, 0.278], + "8943": [-0.19, 0.31, 0, 0, 1.172], + "8945": [-0.1, 0.82, 0, 0, 1.282], + "8968": [0.25, 0.75, 0, 0, 0.44445], + "8969": [0.25, 0.75, 0, 0, 0.44445], + "8970": [0.25, 0.75, 0, 0, 0.44445], + "8971": [0.25, 0.75, 0, 0, 0.44445], + "8994": [-0.14236, 0.35764, 0, 0, 1.0], + "8995": [-0.14236, 0.35764, 0, 0, 1.0], + "9136": [0.244, 0.744, 0, 0, 0.412], + "9137": [0.244, 0.744, 0, 0, 0.412], + "9651": [0.19444, 0.69444, 0, 0, 0.88889], + "9657": [-0.03472, 0.46528, 0, 0, 0.5], + "9661": [0.19444, 0.69444, 0, 0, 0.88889], + "9667": [-0.03472, 0.46528, 0, 0, 0.5], + "9711": [0.19444, 0.69444, 0, 0, 1.0], + "9824": [0.12963, 0.69444, 0, 0, 0.77778], + "9825": [0.12963, 0.69444, 0, 0, 0.77778], + "9826": [0.12963, 0.69444, 0, 0, 0.77778], + "9827": [0.12963, 0.69444, 0, 0, 0.77778], + "9837": [0, 0.75, 0, 0, 0.38889], + "9838": [0.19444, 0.69444, 0, 0, 0.38889], + "9839": [0.19444, 0.69444, 0, 0, 0.38889], + "10216": [0.25, 0.75, 0, 0, 0.38889], + "10217": [0.25, 0.75, 0, 0, 0.38889], + "10222": [0.244, 0.744, 0, 0, 0.412], + "10223": [0.244, 0.744, 0, 0, 0.412], + "10229": [0.011, 0.511, 0, 0, 1.609], + "10230": [0.011, 0.511, 0, 0, 1.638], + "10231": [0.011, 0.511, 0, 0, 1.859], + "10232": [0.024, 0.525, 0, 0, 1.609], + "10233": [0.024, 0.525, 0, 0, 1.638], + "10234": [0.024, 0.525, 0, 0, 1.858], + "10236": [0.011, 0.511, 0, 0, 1.638], + "10815": [0, 0.68333, 0, 0, 0.75], + "10927": [0.13597, 0.63597, 0, 0, 0.77778], + "10928": [0.13597, 0.63597, 0, 0, 0.77778], + "57376": [0.19444, 0.69444, 0, 0, 0] + }, + "Math-BoldItalic": { + "32": [0, 0, 0, 0, 0.25], + "48": [0, 0.44444, 0, 0, 0.575], + "49": [0, 0.44444, 0, 0, 0.575], + "50": [0, 0.44444, 0, 0, 0.575], + "51": [0.19444, 0.44444, 0, 0, 0.575], + "52": [0.19444, 0.44444, 0, 0, 0.575], + "53": [0.19444, 0.44444, 0, 0, 0.575], + "54": [0, 0.64444, 0, 0, 0.575], + "55": [0.19444, 0.44444, 0, 0, 0.575], + "56": [0, 0.64444, 0, 0, 0.575], + "57": [0.19444, 0.44444, 0, 0, 0.575], + "65": [0, 0.68611, 0, 0, 0.86944], + "66": [0, 0.68611, 0.04835, 0, 0.8664], + "67": [0, 0.68611, 0.06979, 0, 0.81694], + "68": [0, 0.68611, 0.03194, 0, 0.93812], + "69": [0, 0.68611, 0.05451, 0, 0.81007], + "70": [0, 0.68611, 0.15972, 0, 0.68889], + "71": [0, 0.68611, 0, 0, 0.88673], + "72": [0, 0.68611, 0.08229, 0, 0.98229], + "73": [0, 0.68611, 0.07778, 0, 0.51111], + "74": [0, 0.68611, 0.10069, 0, 0.63125], + "75": [0, 0.68611, 0.06979, 0, 0.97118], + "76": [0, 0.68611, 0, 0, 0.75555], + "77": [0, 0.68611, 0.11424, 0, 1.14201], + "78": [0, 0.68611, 0.11424, 0, 0.95034], + "79": [0, 0.68611, 0.03194, 0, 0.83666], + "80": [0, 0.68611, 0.15972, 0, 0.72309], + "81": [0.19444, 0.68611, 0, 0, 0.86861], + "82": [0, 0.68611, 0.00421, 0, 0.87235], + "83": [0, 0.68611, 0.05382, 0, 0.69271], + "84": [0, 0.68611, 0.15972, 0, 0.63663], + "85": [0, 0.68611, 0.11424, 0, 0.80027], + "86": [0, 0.68611, 0.25555, 0, 0.67778], + "87": [0, 0.68611, 0.15972, 0, 1.09305], + "88": [0, 0.68611, 0.07778, 0, 0.94722], + "89": [0, 0.68611, 0.25555, 0, 0.67458], + "90": [0, 0.68611, 0.06979, 0, 0.77257], + "97": [0, 0.44444, 0, 0, 0.63287], + "98": [0, 0.69444, 0, 0, 0.52083], + "99": [0, 0.44444, 0, 0, 0.51342], + "100": [0, 0.69444, 0, 0, 0.60972], + "101": [0, 0.44444, 0, 0, 0.55361], + "102": [0.19444, 0.69444, 0.11042, 0, 0.56806], + "103": [0.19444, 0.44444, 0.03704, 0, 0.5449], + "104": [0, 0.69444, 0, 0, 0.66759], + "105": [0, 0.69326, 0, 0, 0.4048], + "106": [0.19444, 0.69326, 0.0622, 0, 0.47083], + "107": [0, 0.69444, 0.01852, 0, 0.6037], + "108": [0, 0.69444, 0.0088, 0, 0.34815], + "109": [0, 0.44444, 0, 0, 1.0324], + "110": [0, 0.44444, 0, 0, 0.71296], + "111": [0, 0.44444, 0, 0, 0.58472], + "112": [0.19444, 0.44444, 0, 0, 0.60092], + "113": [0.19444, 0.44444, 0.03704, 0, 0.54213], + "114": [0, 0.44444, 0.03194, 0, 0.5287], + "115": [0, 0.44444, 0, 0, 0.53125], + "116": [0, 0.63492, 0, 0, 0.41528], + "117": [0, 0.44444, 0, 0, 0.68102], + "118": [0, 0.44444, 0.03704, 0, 0.56666], + "119": [0, 0.44444, 0.02778, 0, 0.83148], + "120": [0, 0.44444, 0, 0, 0.65903], + "121": [0.19444, 0.44444, 0.03704, 0, 0.59028], + "122": [0, 0.44444, 0.04213, 0, 0.55509], + "160": [0, 0, 0, 0, 0.25], + "915": [0, 0.68611, 0.15972, 0, 0.65694], + "916": [0, 0.68611, 0, 0, 0.95833], + "920": [0, 0.68611, 0.03194, 0, 0.86722], + "923": [0, 0.68611, 0, 0, 0.80555], + "926": [0, 0.68611, 0.07458, 0, 0.84125], + "928": [0, 0.68611, 0.08229, 0, 0.98229], + "931": [0, 0.68611, 0.05451, 0, 0.88507], + "933": [0, 0.68611, 0.15972, 0, 0.67083], + "934": [0, 0.68611, 0, 0, 0.76666], + "936": [0, 0.68611, 0.11653, 0, 0.71402], + "937": [0, 0.68611, 0.04835, 0, 0.8789], + "945": [0, 0.44444, 0, 0, 0.76064], + "946": [0.19444, 0.69444, 0.03403, 0, 0.65972], + "947": [0.19444, 0.44444, 0.06389, 0, 0.59003], + "948": [0, 0.69444, 0.03819, 0, 0.52222], + "949": [0, 0.44444, 0, 0, 0.52882], + "950": [0.19444, 0.69444, 0.06215, 0, 0.50833], + "951": [0.19444, 0.44444, 0.03704, 0, 0.6], + "952": [0, 0.69444, 0.03194, 0, 0.5618], + "953": [0, 0.44444, 0, 0, 0.41204], + "954": [0, 0.44444, 0, 0, 0.66759], + "955": [0, 0.69444, 0, 0, 0.67083], + "956": [0.19444, 0.44444, 0, 0, 0.70787], + "957": [0, 0.44444, 0.06898, 0, 0.57685], + "958": [0.19444, 0.69444, 0.03021, 0, 0.50833], + "959": [0, 0.44444, 0, 0, 0.58472], + "960": [0, 0.44444, 0.03704, 0, 0.68241], + "961": [0.19444, 0.44444, 0, 0, 0.6118], + "962": [0.09722, 0.44444, 0.07917, 0, 0.42361], + "963": [0, 0.44444, 0.03704, 0, 0.68588], + "964": [0, 0.44444, 0.13472, 0, 0.52083], + "965": [0, 0.44444, 0.03704, 0, 0.63055], + "966": [0.19444, 0.44444, 0, 0, 0.74722], + "967": [0.19444, 0.44444, 0, 0, 0.71805], + "968": [0.19444, 0.69444, 0.03704, 0, 0.75833], + "969": [0, 0.44444, 0.03704, 0, 0.71782], + "977": [0, 0.69444, 0, 0, 0.69155], + "981": [0.19444, 0.69444, 0, 0, 0.7125], + "982": [0, 0.44444, 0.03194, 0, 0.975], + "1009": [0.19444, 0.44444, 0, 0, 0.6118], + "1013": [0, 0.44444, 0, 0, 0.48333], + "57649": [0, 0.44444, 0, 0, 0.39352], + "57911": [0.19444, 0.44444, 0, 0, 0.43889] + }, + "Math-Italic": { + "32": [0, 0, 0, 0, 0.25], + "48": [0, 0.43056, 0, 0, 0.5], + "49": [0, 0.43056, 0, 0, 0.5], + "50": [0, 0.43056, 0, 0, 0.5], + "51": [0.19444, 0.43056, 0, 0, 0.5], + "52": [0.19444, 0.43056, 0, 0, 0.5], + "53": [0.19444, 0.43056, 0, 0, 0.5], + "54": [0, 0.64444, 0, 0, 0.5], + "55": [0.19444, 0.43056, 0, 0, 0.5], + "56": [0, 0.64444, 0, 0, 0.5], + "57": [0.19444, 0.43056, 0, 0, 0.5], + "65": [0, 0.68333, 0, 0.13889, 0.75], + "66": [0, 0.68333, 0.05017, 0.08334, 0.75851], + "67": [0, 0.68333, 0.07153, 0.08334, 0.71472], + "68": [0, 0.68333, 0.02778, 0.05556, 0.82792], + "69": [0, 0.68333, 0.05764, 0.08334, 0.7382], + "70": [0, 0.68333, 0.13889, 0.08334, 0.64306], + "71": [0, 0.68333, 0, 0.08334, 0.78625], + "72": [0, 0.68333, 0.08125, 0.05556, 0.83125], + "73": [0, 0.68333, 0.07847, 0.11111, 0.43958], + "74": [0, 0.68333, 0.09618, 0.16667, 0.55451], + "75": [0, 0.68333, 0.07153, 0.05556, 0.84931], + "76": [0, 0.68333, 0, 0.02778, 0.68056], + "77": [0, 0.68333, 0.10903, 0.08334, 0.97014], + "78": [0, 0.68333, 0.10903, 0.08334, 0.80347], + "79": [0, 0.68333, 0.02778, 0.08334, 0.76278], + "80": [0, 0.68333, 0.13889, 0.08334, 0.64201], + "81": [0.19444, 0.68333, 0, 0.08334, 0.79056], + "82": [0, 0.68333, 0.00773, 0.08334, 0.75929], + "83": [0, 0.68333, 0.05764, 0.08334, 0.6132], + "84": [0, 0.68333, 0.13889, 0.08334, 0.58438], + "85": [0, 0.68333, 0.10903, 0.02778, 0.68278], + "86": [0, 0.68333, 0.22222, 0, 0.58333], + "87": [0, 0.68333, 0.13889, 0, 0.94445], + "88": [0, 0.68333, 0.07847, 0.08334, 0.82847], + "89": [0, 0.68333, 0.22222, 0, 0.58056], + "90": [0, 0.68333, 0.07153, 0.08334, 0.68264], + "97": [0, 0.43056, 0, 0, 0.52859], + "98": [0, 0.69444, 0, 0, 0.42917], + "99": [0, 0.43056, 0, 0.05556, 0.43276], + "100": [0, 0.69444, 0, 0.16667, 0.52049], + "101": [0, 0.43056, 0, 0.05556, 0.46563], + "102": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959], + "103": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697], + "104": [0, 0.69444, 0, 0, 0.57616], + "105": [0, 0.65952, 0, 0, 0.34451], + "106": [0.19444, 0.65952, 0.05724, 0, 0.41181], + "107": [0, 0.69444, 0.03148, 0, 0.5206], + "108": [0, 0.69444, 0.01968, 0.08334, 0.29838], + "109": [0, 0.43056, 0, 0, 0.87801], + "110": [0, 0.43056, 0, 0, 0.60023], + "111": [0, 0.43056, 0, 0.05556, 0.48472], + "112": [0.19444, 0.43056, 0, 0.08334, 0.50313], + "113": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641], + "114": [0, 0.43056, 0.02778, 0.05556, 0.45116], + "115": [0, 0.43056, 0, 0.05556, 0.46875], + "116": [0, 0.61508, 0, 0.08334, 0.36111], + "117": [0, 0.43056, 0, 0.02778, 0.57246], + "118": [0, 0.43056, 0.03588, 0.02778, 0.48472], + "119": [0, 0.43056, 0.02691, 0.08334, 0.71592], + "120": [0, 0.43056, 0, 0.02778, 0.57153], + "121": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028], + "122": [0, 0.43056, 0.04398, 0.05556, 0.46505], + "160": [0, 0, 0, 0, 0.25], + "915": [0, 0.68333, 0.13889, 0.08334, 0.61528], + "916": [0, 0.68333, 0, 0.16667, 0.83334], + "920": [0, 0.68333, 0.02778, 0.08334, 0.76278], + "923": [0, 0.68333, 0, 0.16667, 0.69445], + "926": [0, 0.68333, 0.07569, 0.08334, 0.74236], + "928": [0, 0.68333, 0.08125, 0.05556, 0.83125], + "931": [0, 0.68333, 0.05764, 0.08334, 0.77986], + "933": [0, 0.68333, 0.13889, 0.05556, 0.58333], + "934": [0, 0.68333, 0, 0.08334, 0.66667], + "936": [0, 0.68333, 0.11, 0.05556, 0.61222], + "937": [0, 0.68333, 0.05017, 0.08334, 0.7724], + "945": [0, 0.43056, 0.0037, 0.02778, 0.6397], + "946": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563], + "947": [0.19444, 0.43056, 0.05556, 0, 0.51773], + "948": [0, 0.69444, 0.03785, 0.05556, 0.44444], + "949": [0, 0.43056, 0, 0.08334, 0.46632], + "950": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375], + "951": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653], + "952": [0, 0.69444, 0.02778, 0.08334, 0.46944], + "953": [0, 0.43056, 0, 0.05556, 0.35394], + "954": [0, 0.43056, 0, 0, 0.57616], + "955": [0, 0.69444, 0, 0, 0.58334], + "956": [0.19444, 0.43056, 0, 0.02778, 0.60255], + "957": [0, 0.43056, 0.06366, 0.02778, 0.49398], + "958": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375], + "959": [0, 0.43056, 0, 0.05556, 0.48472], + "960": [0, 0.43056, 0.03588, 0, 0.57003], + "961": [0.19444, 0.43056, 0, 0.08334, 0.51702], + "962": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285], + "963": [0, 0.43056, 0.03588, 0, 0.57141], + "964": [0, 0.43056, 0.1132, 0.02778, 0.43715], + "965": [0, 0.43056, 0.03588, 0.02778, 0.54028], + "966": [0.19444, 0.43056, 0, 0.08334, 0.65417], + "967": [0.19444, 0.43056, 0, 0.05556, 0.62569], + "968": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139], + "969": [0, 0.43056, 0.03588, 0, 0.62245], + "977": [0, 0.69444, 0, 0.08334, 0.59144], + "981": [0.19444, 0.69444, 0, 0.08334, 0.59583], + "982": [0, 0.43056, 0.02778, 0, 0.82813], + "1009": [0.19444, 0.43056, 0, 0.08334, 0.51702], + "1013": [0, 0.43056, 0, 0.05556, 0.4059], + "57649": [0, 0.43056, 0, 0.02778, 0.32246], + "57911": [0.19444, 0.43056, 0, 0.08334, 0.38403] + }, + "SansSerif-Bold": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.36667], + "34": [0, 0.69444, 0, 0, 0.55834], + "35": [0.19444, 0.69444, 0, 0, 0.91667], + "36": [0.05556, 0.75, 0, 0, 0.55], + "37": [0.05556, 0.75, 0, 0, 1.02912], + "38": [0, 0.69444, 0, 0, 0.83056], + "39": [0, 0.69444, 0, 0, 0.30556], + "40": [0.25, 0.75, 0, 0, 0.42778], + "41": [0.25, 0.75, 0, 0, 0.42778], + "42": [0, 0.75, 0, 0, 0.55], + "43": [0.11667, 0.61667, 0, 0, 0.85556], + "44": [0.10556, 0.13056, 0, 0, 0.30556], + "45": [0, 0.45833, 0, 0, 0.36667], + "46": [0, 0.13056, 0, 0, 0.30556], + "47": [0.25, 0.75, 0, 0, 0.55], + "48": [0, 0.69444, 0, 0, 0.55], + "49": [0, 0.69444, 0, 0, 0.55], + "50": [0, 0.69444, 0, 0, 0.55], + "51": [0, 0.69444, 0, 0, 0.55], + "52": [0, 0.69444, 0, 0, 0.55], + "53": [0, 0.69444, 0, 0, 0.55], + "54": [0, 0.69444, 0, 0, 0.55], + "55": [0, 0.69444, 0, 0, 0.55], + "56": [0, 0.69444, 0, 0, 0.55], + "57": [0, 0.69444, 0, 0, 0.55], + "58": [0, 0.45833, 0, 0, 0.30556], + "59": [0.10556, 0.45833, 0, 0, 0.30556], + "61": [-0.09375, 0.40625, 0, 0, 0.85556], + "63": [0, 0.69444, 0, 0, 0.51945], + "64": [0, 0.69444, 0, 0, 0.73334], + "65": [0, 0.69444, 0, 0, 0.73334], + "66": [0, 0.69444, 0, 0, 0.73334], + "67": [0, 0.69444, 0, 0, 0.70278], + "68": [0, 0.69444, 0, 0, 0.79445], + "69": [0, 0.69444, 0, 0, 0.64167], + "70": [0, 0.69444, 0, 0, 0.61111], + "71": [0, 0.69444, 0, 0, 0.73334], + "72": [0, 0.69444, 0, 0, 0.79445], + "73": [0, 0.69444, 0, 0, 0.33056], + "74": [0, 0.69444, 0, 0, 0.51945], + "75": [0, 0.69444, 0, 0, 0.76389], + "76": [0, 0.69444, 0, 0, 0.58056], + "77": [0, 0.69444, 0, 0, 0.97778], + "78": [0, 0.69444, 0, 0, 0.79445], + "79": [0, 0.69444, 0, 0, 0.79445], + "80": [0, 0.69444, 0, 0, 0.70278], + "81": [0.10556, 0.69444, 0, 0, 0.79445], + "82": [0, 0.69444, 0, 0, 0.70278], + "83": [0, 0.69444, 0, 0, 0.61111], + "84": [0, 0.69444, 0, 0, 0.73334], + "85": [0, 0.69444, 0, 0, 0.76389], + "86": [0, 0.69444, 0.01528, 0, 0.73334], + "87": [0, 0.69444, 0.01528, 0, 1.03889], + "88": [0, 0.69444, 0, 0, 0.73334], + "89": [0, 0.69444, 0.0275, 0, 0.73334], + "90": [0, 0.69444, 0, 0, 0.67223], + "91": [0.25, 0.75, 0, 0, 0.34306], + "93": [0.25, 0.75, 0, 0, 0.34306], + "94": [0, 0.69444, 0, 0, 0.55], + "95": [0.35, 0.10833, 0.03056, 0, 0.55], + "97": [0, 0.45833, 0, 0, 0.525], + "98": [0, 0.69444, 0, 0, 0.56111], + "99": [0, 0.45833, 0, 0, 0.48889], + "100": [0, 0.69444, 0, 0, 0.56111], + "101": [0, 0.45833, 0, 0, 0.51111], + "102": [0, 0.69444, 0.07639, 0, 0.33611], + "103": [0.19444, 0.45833, 0.01528, 0, 0.55], + "104": [0, 0.69444, 0, 0, 0.56111], + "105": [0, 0.69444, 0, 0, 0.25556], + "106": [0.19444, 0.69444, 0, 0, 0.28611], + "107": [0, 0.69444, 0, 0, 0.53056], + "108": [0, 0.69444, 0, 0, 0.25556], + "109": [0, 0.45833, 0, 0, 0.86667], + "110": [0, 0.45833, 0, 0, 0.56111], + "111": [0, 0.45833, 0, 0, 0.55], + "112": [0.19444, 0.45833, 0, 0, 0.56111], + "113": [0.19444, 0.45833, 0, 0, 0.56111], + "114": [0, 0.45833, 0.01528, 0, 0.37222], + "115": [0, 0.45833, 0, 0, 0.42167], + "116": [0, 0.58929, 0, 0, 0.40417], + "117": [0, 0.45833, 0, 0, 0.56111], + "118": [0, 0.45833, 0.01528, 0, 0.5], + "119": [0, 0.45833, 0.01528, 0, 0.74445], + "120": [0, 0.45833, 0, 0, 0.5], + "121": [0.19444, 0.45833, 0.01528, 0, 0.5], + "122": [0, 0.45833, 0, 0, 0.47639], + "126": [0.35, 0.34444, 0, 0, 0.55], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.69444, 0, 0, 0.55], + "176": [0, 0.69444, 0, 0, 0.73334], + "180": [0, 0.69444, 0, 0, 0.55], + "184": [0.17014, 0, 0, 0, 0.48889], + "305": [0, 0.45833, 0, 0, 0.25556], + "567": [0.19444, 0.45833, 0, 0, 0.28611], + "710": [0, 0.69444, 0, 0, 0.55], + "711": [0, 0.63542, 0, 0, 0.55], + "713": [0, 0.63778, 0, 0, 0.55], + "728": [0, 0.69444, 0, 0, 0.55], + "729": [0, 0.69444, 0, 0, 0.30556], + "730": [0, 0.69444, 0, 0, 0.73334], + "732": [0, 0.69444, 0, 0, 0.55], + "733": [0, 0.69444, 0, 0, 0.55], + "915": [0, 0.69444, 0, 0, 0.58056], + "916": [0, 0.69444, 0, 0, 0.91667], + "920": [0, 0.69444, 0, 0, 0.85556], + "923": [0, 0.69444, 0, 0, 0.67223], + "926": [0, 0.69444, 0, 0, 0.73334], + "928": [0, 0.69444, 0, 0, 0.79445], + "931": [0, 0.69444, 0, 0, 0.79445], + "933": [0, 0.69444, 0, 0, 0.85556], + "934": [0, 0.69444, 0, 0, 0.79445], + "936": [0, 0.69444, 0, 0, 0.85556], + "937": [0, 0.69444, 0, 0, 0.79445], + "8211": [0, 0.45833, 0.03056, 0, 0.55], + "8212": [0, 0.45833, 0.03056, 0, 1.10001], + "8216": [0, 0.69444, 0, 0, 0.30556], + "8217": [0, 0.69444, 0, 0, 0.30556], + "8220": [0, 0.69444, 0, 0, 0.55834], + "8221": [0, 0.69444, 0, 0, 0.55834] + }, + "SansSerif-Italic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.05733, 0, 0.31945], + "34": [0, 0.69444, 0.00316, 0, 0.5], + "35": [0.19444, 0.69444, 0.05087, 0, 0.83334], + "36": [0.05556, 0.75, 0.11156, 0, 0.5], + "37": [0.05556, 0.75, 0.03126, 0, 0.83334], + "38": [0, 0.69444, 0.03058, 0, 0.75834], + "39": [0, 0.69444, 0.07816, 0, 0.27778], + "40": [0.25, 0.75, 0.13164, 0, 0.38889], + "41": [0.25, 0.75, 0.02536, 0, 0.38889], + "42": [0, 0.75, 0.11775, 0, 0.5], + "43": [0.08333, 0.58333, 0.02536, 0, 0.77778], + "44": [0.125, 0.08333, 0, 0, 0.27778], + "45": [0, 0.44444, 0.01946, 0, 0.33333], + "46": [0, 0.08333, 0, 0, 0.27778], + "47": [0.25, 0.75, 0.13164, 0, 0.5], + "48": [0, 0.65556, 0.11156, 0, 0.5], + "49": [0, 0.65556, 0.11156, 0, 0.5], + "50": [0, 0.65556, 0.11156, 0, 0.5], + "51": [0, 0.65556, 0.11156, 0, 0.5], + "52": [0, 0.65556, 0.11156, 0, 0.5], + "53": [0, 0.65556, 0.11156, 0, 0.5], + "54": [0, 0.65556, 0.11156, 0, 0.5], + "55": [0, 0.65556, 0.11156, 0, 0.5], + "56": [0, 0.65556, 0.11156, 0, 0.5], + "57": [0, 0.65556, 0.11156, 0, 0.5], + "58": [0, 0.44444, 0.02502, 0, 0.27778], + "59": [0.125, 0.44444, 0.02502, 0, 0.27778], + "61": [-0.13, 0.37, 0.05087, 0, 0.77778], + "63": [0, 0.69444, 0.11809, 0, 0.47222], + "64": [0, 0.69444, 0.07555, 0, 0.66667], + "65": [0, 0.69444, 0, 0, 0.66667], + "66": [0, 0.69444, 0.08293, 0, 0.66667], + "67": [0, 0.69444, 0.11983, 0, 0.63889], + "68": [0, 0.69444, 0.07555, 0, 0.72223], + "69": [0, 0.69444, 0.11983, 0, 0.59722], + "70": [0, 0.69444, 0.13372, 0, 0.56945], + "71": [0, 0.69444, 0.11983, 0, 0.66667], + "72": [0, 0.69444, 0.08094, 0, 0.70834], + "73": [0, 0.69444, 0.13372, 0, 0.27778], + "74": [0, 0.69444, 0.08094, 0, 0.47222], + "75": [0, 0.69444, 0.11983, 0, 0.69445], + "76": [0, 0.69444, 0, 0, 0.54167], + "77": [0, 0.69444, 0.08094, 0, 0.875], + "78": [0, 0.69444, 0.08094, 0, 0.70834], + "79": [0, 0.69444, 0.07555, 0, 0.73611], + "80": [0, 0.69444, 0.08293, 0, 0.63889], + "81": [0.125, 0.69444, 0.07555, 0, 0.73611], + "82": [0, 0.69444, 0.08293, 0, 0.64584], + "83": [0, 0.69444, 0.09205, 0, 0.55556], + "84": [0, 0.69444, 0.13372, 0, 0.68056], + "85": [0, 0.69444, 0.08094, 0, 0.6875], + "86": [0, 0.69444, 0.1615, 0, 0.66667], + "87": [0, 0.69444, 0.1615, 0, 0.94445], + "88": [0, 0.69444, 0.13372, 0, 0.66667], + "89": [0, 0.69444, 0.17261, 0, 0.66667], + "90": [0, 0.69444, 0.11983, 0, 0.61111], + "91": [0.25, 0.75, 0.15942, 0, 0.28889], + "93": [0.25, 0.75, 0.08719, 0, 0.28889], + "94": [0, 0.69444, 0.0799, 0, 0.5], + "95": [0.35, 0.09444, 0.08616, 0, 0.5], + "97": [0, 0.44444, 0.00981, 0, 0.48056], + "98": [0, 0.69444, 0.03057, 0, 0.51667], + "99": [0, 0.44444, 0.08336, 0, 0.44445], + "100": [0, 0.69444, 0.09483, 0, 0.51667], + "101": [0, 0.44444, 0.06778, 0, 0.44445], + "102": [0, 0.69444, 0.21705, 0, 0.30556], + "103": [0.19444, 0.44444, 0.10836, 0, 0.5], + "104": [0, 0.69444, 0.01778, 0, 0.51667], + "105": [0, 0.67937, 0.09718, 0, 0.23889], + "106": [0.19444, 0.67937, 0.09162, 0, 0.26667], + "107": [0, 0.69444, 0.08336, 0, 0.48889], + "108": [0, 0.69444, 0.09483, 0, 0.23889], + "109": [0, 0.44444, 0.01778, 0, 0.79445], + "110": [0, 0.44444, 0.01778, 0, 0.51667], + "111": [0, 0.44444, 0.06613, 0, 0.5], + "112": [0.19444, 0.44444, 0.0389, 0, 0.51667], + "113": [0.19444, 0.44444, 0.04169, 0, 0.51667], + "114": [0, 0.44444, 0.10836, 0, 0.34167], + "115": [0, 0.44444, 0.0778, 0, 0.38333], + "116": [0, 0.57143, 0.07225, 0, 0.36111], + "117": [0, 0.44444, 0.04169, 0, 0.51667], + "118": [0, 0.44444, 0.10836, 0, 0.46111], + "119": [0, 0.44444, 0.10836, 0, 0.68334], + "120": [0, 0.44444, 0.09169, 0, 0.46111], + "121": [0.19444, 0.44444, 0.10836, 0, 0.46111], + "122": [0, 0.44444, 0.08752, 0, 0.43472], + "126": [0.35, 0.32659, 0.08826, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.67937, 0.06385, 0, 0.5], + "176": [0, 0.69444, 0, 0, 0.73752], + "184": [0.17014, 0, 0, 0, 0.44445], + "305": [0, 0.44444, 0.04169, 0, 0.23889], + "567": [0.19444, 0.44444, 0.04169, 0, 0.26667], + "710": [0, 0.69444, 0.0799, 0, 0.5], + "711": [0, 0.63194, 0.08432, 0, 0.5], + "713": [0, 0.60889, 0.08776, 0, 0.5], + "714": [0, 0.69444, 0.09205, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0.09483, 0, 0.5], + "729": [0, 0.67937, 0.07774, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.73752], + "732": [0, 0.67659, 0.08826, 0, 0.5], + "733": [0, 0.69444, 0.09205, 0, 0.5], + "915": [0, 0.69444, 0.13372, 0, 0.54167], + "916": [0, 0.69444, 0, 0, 0.83334], + "920": [0, 0.69444, 0.07555, 0, 0.77778], + "923": [0, 0.69444, 0, 0, 0.61111], + "926": [0, 0.69444, 0.12816, 0, 0.66667], + "928": [0, 0.69444, 0.08094, 0, 0.70834], + "931": [0, 0.69444, 0.11983, 0, 0.72222], + "933": [0, 0.69444, 0.09031, 0, 0.77778], + "934": [0, 0.69444, 0.04603, 0, 0.72222], + "936": [0, 0.69444, 0.09031, 0, 0.77778], + "937": [0, 0.69444, 0.08293, 0, 0.72222], + "8211": [0, 0.44444, 0.08616, 0, 0.5], + "8212": [0, 0.44444, 0.08616, 0, 1.0], + "8216": [0, 0.69444, 0.07816, 0, 0.27778], + "8217": [0, 0.69444, 0.07816, 0, 0.27778], + "8220": [0, 0.69444, 0.14205, 0, 0.5], + "8221": [0, 0.69444, 0.00316, 0, 0.5] + }, + "SansSerif-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.31945], + "34": [0, 0.69444, 0, 0, 0.5], + "35": [0.19444, 0.69444, 0, 0, 0.83334], + "36": [0.05556, 0.75, 0, 0, 0.5], + "37": [0.05556, 0.75, 0, 0, 0.83334], + "38": [0, 0.69444, 0, 0, 0.75834], + "39": [0, 0.69444, 0, 0, 0.27778], + "40": [0.25, 0.75, 0, 0, 0.38889], + "41": [0.25, 0.75, 0, 0, 0.38889], + "42": [0, 0.75, 0, 0, 0.5], + "43": [0.08333, 0.58333, 0, 0, 0.77778], + "44": [0.125, 0.08333, 0, 0, 0.27778], + "45": [0, 0.44444, 0, 0, 0.33333], + "46": [0, 0.08333, 0, 0, 0.27778], + "47": [0.25, 0.75, 0, 0, 0.5], + "48": [0, 0.65556, 0, 0, 0.5], + "49": [0, 0.65556, 0, 0, 0.5], + "50": [0, 0.65556, 0, 0, 0.5], + "51": [0, 0.65556, 0, 0, 0.5], + "52": [0, 0.65556, 0, 0, 0.5], + "53": [0, 0.65556, 0, 0, 0.5], + "54": [0, 0.65556, 0, 0, 0.5], + "55": [0, 0.65556, 0, 0, 0.5], + "56": [0, 0.65556, 0, 0, 0.5], + "57": [0, 0.65556, 0, 0, 0.5], + "58": [0, 0.44444, 0, 0, 0.27778], + "59": [0.125, 0.44444, 0, 0, 0.27778], + "61": [-0.13, 0.37, 0, 0, 0.77778], + "63": [0, 0.69444, 0, 0, 0.47222], + "64": [0, 0.69444, 0, 0, 0.66667], + "65": [0, 0.69444, 0, 0, 0.66667], + "66": [0, 0.69444, 0, 0, 0.66667], + "67": [0, 0.69444, 0, 0, 0.63889], + "68": [0, 0.69444, 0, 0, 0.72223], + "69": [0, 0.69444, 0, 0, 0.59722], + "70": [0, 0.69444, 0, 0, 0.56945], + "71": [0, 0.69444, 0, 0, 0.66667], + "72": [0, 0.69444, 0, 0, 0.70834], + "73": [0, 0.69444, 0, 0, 0.27778], + "74": [0, 0.69444, 0, 0, 0.47222], + "75": [0, 0.69444, 0, 0, 0.69445], + "76": [0, 0.69444, 0, 0, 0.54167], + "77": [0, 0.69444, 0, 0, 0.875], + "78": [0, 0.69444, 0, 0, 0.70834], + "79": [0, 0.69444, 0, 0, 0.73611], + "80": [0, 0.69444, 0, 0, 0.63889], + "81": [0.125, 0.69444, 0, 0, 0.73611], + "82": [0, 0.69444, 0, 0, 0.64584], + "83": [0, 0.69444, 0, 0, 0.55556], + "84": [0, 0.69444, 0, 0, 0.68056], + "85": [0, 0.69444, 0, 0, 0.6875], + "86": [0, 0.69444, 0.01389, 0, 0.66667], + "87": [0, 0.69444, 0.01389, 0, 0.94445], + "88": [0, 0.69444, 0, 0, 0.66667], + "89": [0, 0.69444, 0.025, 0, 0.66667], + "90": [0, 0.69444, 0, 0, 0.61111], + "91": [0.25, 0.75, 0, 0, 0.28889], + "93": [0.25, 0.75, 0, 0, 0.28889], + "94": [0, 0.69444, 0, 0, 0.5], + "95": [0.35, 0.09444, 0.02778, 0, 0.5], + "97": [0, 0.44444, 0, 0, 0.48056], + "98": [0, 0.69444, 0, 0, 0.51667], + "99": [0, 0.44444, 0, 0, 0.44445], + "100": [0, 0.69444, 0, 0, 0.51667], + "101": [0, 0.44444, 0, 0, 0.44445], + "102": [0, 0.69444, 0.06944, 0, 0.30556], + "103": [0.19444, 0.44444, 0.01389, 0, 0.5], + "104": [0, 0.69444, 0, 0, 0.51667], + "105": [0, 0.67937, 0, 0, 0.23889], + "106": [0.19444, 0.67937, 0, 0, 0.26667], + "107": [0, 0.69444, 0, 0, 0.48889], + "108": [0, 0.69444, 0, 0, 0.23889], + "109": [0, 0.44444, 0, 0, 0.79445], + "110": [0, 0.44444, 0, 0, 0.51667], + "111": [0, 0.44444, 0, 0, 0.5], + "112": [0.19444, 0.44444, 0, 0, 0.51667], + "113": [0.19444, 0.44444, 0, 0, 0.51667], + "114": [0, 0.44444, 0.01389, 0, 0.34167], + "115": [0, 0.44444, 0, 0, 0.38333], + "116": [0, 0.57143, 0, 0, 0.36111], + "117": [0, 0.44444, 0, 0, 0.51667], + "118": [0, 0.44444, 0.01389, 0, 0.46111], + "119": [0, 0.44444, 0.01389, 0, 0.68334], + "120": [0, 0.44444, 0, 0, 0.46111], + "121": [0.19444, 0.44444, 0.01389, 0, 0.46111], + "122": [0, 0.44444, 0, 0, 0.43472], + "126": [0.35, 0.32659, 0, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.67937, 0, 0, 0.5], + "176": [0, 0.69444, 0, 0, 0.66667], + "184": [0.17014, 0, 0, 0, 0.44445], + "305": [0, 0.44444, 0, 0, 0.23889], + "567": [0.19444, 0.44444, 0, 0, 0.26667], + "710": [0, 0.69444, 0, 0, 0.5], + "711": [0, 0.63194, 0, 0, 0.5], + "713": [0, 0.60889, 0, 0, 0.5], + "714": [0, 0.69444, 0, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0, 0, 0.5], + "729": [0, 0.67937, 0, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.66667], + "732": [0, 0.67659, 0, 0, 0.5], + "733": [0, 0.69444, 0, 0, 0.5], + "915": [0, 0.69444, 0, 0, 0.54167], + "916": [0, 0.69444, 0, 0, 0.83334], + "920": [0, 0.69444, 0, 0, 0.77778], + "923": [0, 0.69444, 0, 0, 0.61111], + "926": [0, 0.69444, 0, 0, 0.66667], + "928": [0, 0.69444, 0, 0, 0.70834], + "931": [0, 0.69444, 0, 0, 0.72222], + "933": [0, 0.69444, 0, 0, 0.77778], + "934": [0, 0.69444, 0, 0, 0.72222], + "936": [0, 0.69444, 0, 0, 0.77778], + "937": [0, 0.69444, 0, 0, 0.72222], + "8211": [0, 0.44444, 0.02778, 0, 0.5], + "8212": [0, 0.44444, 0.02778, 0, 1.0], + "8216": [0, 0.69444, 0, 0, 0.27778], + "8217": [0, 0.69444, 0, 0, 0.27778], + "8220": [0, 0.69444, 0, 0, 0.5], + "8221": [0, 0.69444, 0, 0, 0.5] + }, + "Script-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.7, 0.22925, 0, 0.80253], + "66": [0, 0.7, 0.04087, 0, 0.90757], + "67": [0, 0.7, 0.1689, 0, 0.66619], + "68": [0, 0.7, 0.09371, 0, 0.77443], + "69": [0, 0.7, 0.18583, 0, 0.56162], + "70": [0, 0.7, 0.13634, 0, 0.89544], + "71": [0, 0.7, 0.17322, 0, 0.60961], + "72": [0, 0.7, 0.29694, 0, 0.96919], + "73": [0, 0.7, 0.19189, 0, 0.80907], + "74": [0.27778, 0.7, 0.19189, 0, 1.05159], + "75": [0, 0.7, 0.31259, 0, 0.91364], + "76": [0, 0.7, 0.19189, 0, 0.87373], + "77": [0, 0.7, 0.15981, 0, 1.08031], + "78": [0, 0.7, 0.3525, 0, 0.9015], + "79": [0, 0.7, 0.08078, 0, 0.73787], + "80": [0, 0.7, 0.08078, 0, 1.01262], + "81": [0, 0.7, 0.03305, 0, 0.88282], + "82": [0, 0.7, 0.06259, 0, 0.85], + "83": [0, 0.7, 0.19189, 0, 0.86767], + "84": [0, 0.7, 0.29087, 0, 0.74697], + "85": [0, 0.7, 0.25815, 0, 0.79996], + "86": [0, 0.7, 0.27523, 0, 0.62204], + "87": [0, 0.7, 0.27523, 0, 0.80532], + "88": [0, 0.7, 0.26006, 0, 0.94445], + "89": [0, 0.7, 0.2939, 0, 0.70961], + "90": [0, 0.7, 0.24037, 0, 0.8212], + "160": [0, 0, 0, 0, 0.25] + }, + "Size1-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.35001, 0.85, 0, 0, 0.45834], + "41": [0.35001, 0.85, 0, 0, 0.45834], + "47": [0.35001, 0.85, 0, 0, 0.57778], + "91": [0.35001, 0.85, 0, 0, 0.41667], + "92": [0.35001, 0.85, 0, 0, 0.57778], + "93": [0.35001, 0.85, 0, 0, 0.41667], + "123": [0.35001, 0.85, 0, 0, 0.58334], + "125": [0.35001, 0.85, 0, 0, 0.58334], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.72222, 0, 0, 0.55556], + "732": [0, 0.72222, 0, 0, 0.55556], + "770": [0, 0.72222, 0, 0, 0.55556], + "771": [0, 0.72222, 0, 0, 0.55556], + "8214": [-0.00099, 0.601, 0, 0, 0.77778], + "8593": [1e-05, 0.6, 0, 0, 0.66667], + "8595": [1e-05, 0.6, 0, 0, 0.66667], + "8657": [1e-05, 0.6, 0, 0, 0.77778], + "8659": [1e-05, 0.6, 0, 0, 0.77778], + "8719": [0.25001, 0.75, 0, 0, 0.94445], + "8720": [0.25001, 0.75, 0, 0, 0.94445], + "8721": [0.25001, 0.75, 0, 0, 1.05556], + "8730": [0.35001, 0.85, 0, 0, 1.0], + "8739": [-0.00599, 0.606, 0, 0, 0.33333], + "8741": [-0.00599, 0.606, 0, 0, 0.55556], + "8747": [0.30612, 0.805, 0.19445, 0, 0.47222], + "8748": [0.306, 0.805, 0.19445, 0, 0.47222], + "8749": [0.306, 0.805, 0.19445, 0, 0.47222], + "8750": [0.30612, 0.805, 0.19445, 0, 0.47222], + "8896": [0.25001, 0.75, 0, 0, 0.83334], + "8897": [0.25001, 0.75, 0, 0, 0.83334], + "8898": [0.25001, 0.75, 0, 0, 0.83334], + "8899": [0.25001, 0.75, 0, 0, 0.83334], + "8968": [0.35001, 0.85, 0, 0, 0.47222], + "8969": [0.35001, 0.85, 0, 0, 0.47222], + "8970": [0.35001, 0.85, 0, 0, 0.47222], + "8971": [0.35001, 0.85, 0, 0, 0.47222], + "9168": [-0.00099, 0.601, 0, 0, 0.66667], + "10216": [0.35001, 0.85, 0, 0, 0.47222], + "10217": [0.35001, 0.85, 0, 0, 0.47222], + "10752": [0.25001, 0.75, 0, 0, 1.11111], + "10753": [0.25001, 0.75, 0, 0, 1.11111], + "10754": [0.25001, 0.75, 0, 0, 1.11111], + "10756": [0.25001, 0.75, 0, 0, 0.83334], + "10758": [0.25001, 0.75, 0, 0, 0.83334] + }, + "Size2-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.65002, 1.15, 0, 0, 0.59722], + "41": [0.65002, 1.15, 0, 0, 0.59722], + "47": [0.65002, 1.15, 0, 0, 0.81111], + "91": [0.65002, 1.15, 0, 0, 0.47222], + "92": [0.65002, 1.15, 0, 0, 0.81111], + "93": [0.65002, 1.15, 0, 0, 0.47222], + "123": [0.65002, 1.15, 0, 0, 0.66667], + "125": [0.65002, 1.15, 0, 0, 0.66667], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.75, 0, 0, 1.0], + "732": [0, 0.75, 0, 0, 1.0], + "770": [0, 0.75, 0, 0, 1.0], + "771": [0, 0.75, 0, 0, 1.0], + "8719": [0.55001, 1.05, 0, 0, 1.27778], + "8720": [0.55001, 1.05, 0, 0, 1.27778], + "8721": [0.55001, 1.05, 0, 0, 1.44445], + "8730": [0.65002, 1.15, 0, 0, 1.0], + "8747": [0.86225, 1.36, 0.44445, 0, 0.55556], + "8748": [0.862, 1.36, 0.44445, 0, 0.55556], + "8749": [0.862, 1.36, 0.44445, 0, 0.55556], + "8750": [0.86225, 1.36, 0.44445, 0, 0.55556], + "8896": [0.55001, 1.05, 0, 0, 1.11111], + "8897": [0.55001, 1.05, 0, 0, 1.11111], + "8898": [0.55001, 1.05, 0, 0, 1.11111], + "8899": [0.55001, 1.05, 0, 0, 1.11111], + "8968": [0.65002, 1.15, 0, 0, 0.52778], + "8969": [0.65002, 1.15, 0, 0, 0.52778], + "8970": [0.65002, 1.15, 0, 0, 0.52778], + "8971": [0.65002, 1.15, 0, 0, 0.52778], + "10216": [0.65002, 1.15, 0, 0, 0.61111], + "10217": [0.65002, 1.15, 0, 0, 0.61111], + "10752": [0.55001, 1.05, 0, 0, 1.51112], + "10753": [0.55001, 1.05, 0, 0, 1.51112], + "10754": [0.55001, 1.05, 0, 0, 1.51112], + "10756": [0.55001, 1.05, 0, 0, 1.11111], + "10758": [0.55001, 1.05, 0, 0, 1.11111] + }, + "Size3-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.95003, 1.45, 0, 0, 0.73611], + "41": [0.95003, 1.45, 0, 0, 0.73611], + "47": [0.95003, 1.45, 0, 0, 1.04445], + "91": [0.95003, 1.45, 0, 0, 0.52778], + "92": [0.95003, 1.45, 0, 0, 1.04445], + "93": [0.95003, 1.45, 0, 0, 0.52778], + "123": [0.95003, 1.45, 0, 0, 0.75], + "125": [0.95003, 1.45, 0, 0, 0.75], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.75, 0, 0, 1.44445], + "732": [0, 0.75, 0, 0, 1.44445], + "770": [0, 0.75, 0, 0, 1.44445], + "771": [0, 0.75, 0, 0, 1.44445], + "8730": [0.95003, 1.45, 0, 0, 1.0], + "8968": [0.95003, 1.45, 0, 0, 0.58334], + "8969": [0.95003, 1.45, 0, 0, 0.58334], + "8970": [0.95003, 1.45, 0, 0, 0.58334], + "8971": [0.95003, 1.45, 0, 0, 0.58334], + "10216": [0.95003, 1.45, 0, 0, 0.75], + "10217": [0.95003, 1.45, 0, 0, 0.75] + }, + "Size4-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [1.25003, 1.75, 0, 0, 0.79167], + "41": [1.25003, 1.75, 0, 0, 0.79167], + "47": [1.25003, 1.75, 0, 0, 1.27778], + "91": [1.25003, 1.75, 0, 0, 0.58334], + "92": [1.25003, 1.75, 0, 0, 1.27778], + "93": [1.25003, 1.75, 0, 0, 0.58334], + "123": [1.25003, 1.75, 0, 0, 0.80556], + "125": [1.25003, 1.75, 0, 0, 0.80556], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.825, 0, 0, 1.8889], + "732": [0, 0.825, 0, 0, 1.8889], + "770": [0, 0.825, 0, 0, 1.8889], + "771": [0, 0.825, 0, 0, 1.8889], + "8730": [1.25003, 1.75, 0, 0, 1.0], + "8968": [1.25003, 1.75, 0, 0, 0.63889], + "8969": [1.25003, 1.75, 0, 0, 0.63889], + "8970": [1.25003, 1.75, 0, 0, 0.63889], + "8971": [1.25003, 1.75, 0, 0, 0.63889], + "9115": [0.64502, 1.155, 0, 0, 0.875], + "9116": [1e-05, 0.6, 0, 0, 0.875], + "9117": [0.64502, 1.155, 0, 0, 0.875], + "9118": [0.64502, 1.155, 0, 0, 0.875], + "9119": [1e-05, 0.6, 0, 0, 0.875], + "9120": [0.64502, 1.155, 0, 0, 0.875], + "9121": [0.64502, 1.155, 0, 0, 0.66667], + "9122": [-0.00099, 0.601, 0, 0, 0.66667], + "9123": [0.64502, 1.155, 0, 0, 0.66667], + "9124": [0.64502, 1.155, 0, 0, 0.66667], + "9125": [-0.00099, 0.601, 0, 0, 0.66667], + "9126": [0.64502, 1.155, 0, 0, 0.66667], + "9127": [1e-05, 0.9, 0, 0, 0.88889], + "9128": [0.65002, 1.15, 0, 0, 0.88889], + "9129": [0.90001, 0, 0, 0, 0.88889], + "9130": [0, 0.3, 0, 0, 0.88889], + "9131": [1e-05, 0.9, 0, 0, 0.88889], + "9132": [0.65002, 1.15, 0, 0, 0.88889], + "9133": [0.90001, 0, 0, 0, 0.88889], + "9143": [0.88502, 0.915, 0, 0, 1.05556], + "10216": [1.25003, 1.75, 0, 0, 0.80556], + "10217": [1.25003, 1.75, 0, 0, 0.80556], + "57344": [-0.00499, 0.605, 0, 0, 1.05556], + "57345": [-0.00499, 0.605, 0, 0, 1.05556], + "57680": [0, 0.12, 0, 0, 0.45], + "57681": [0, 0.12, 0, 0, 0.45], + "57682": [0, 0.12, 0, 0, 0.45], + "57683": [0, 0.12, 0, 0, 0.45] + }, + "Typewriter-Regular": { + "32": [0, 0, 0, 0, 0.525], + "33": [0, 0.61111, 0, 0, 0.525], + "34": [0, 0.61111, 0, 0, 0.525], + "35": [0, 0.61111, 0, 0, 0.525], + "36": [0.08333, 0.69444, 0, 0, 0.525], + "37": [0.08333, 0.69444, 0, 0, 0.525], + "38": [0, 0.61111, 0, 0, 0.525], + "39": [0, 0.61111, 0, 0, 0.525], + "40": [0.08333, 0.69444, 0, 0, 0.525], + "41": [0.08333, 0.69444, 0, 0, 0.525], + "42": [0, 0.52083, 0, 0, 0.525], + "43": [-0.08056, 0.53055, 0, 0, 0.525], + "44": [0.13889, 0.125, 0, 0, 0.525], + "45": [-0.08056, 0.53055, 0, 0, 0.525], + "46": [0, 0.125, 0, 0, 0.525], + "47": [0.08333, 0.69444, 0, 0, 0.525], + "48": [0, 0.61111, 0, 0, 0.525], + "49": [0, 0.61111, 0, 0, 0.525], + "50": [0, 0.61111, 0, 0, 0.525], + "51": [0, 0.61111, 0, 0, 0.525], + "52": [0, 0.61111, 0, 0, 0.525], + "53": [0, 0.61111, 0, 0, 0.525], + "54": [0, 0.61111, 0, 0, 0.525], + "55": [0, 0.61111, 0, 0, 0.525], + "56": [0, 0.61111, 0, 0, 0.525], + "57": [0, 0.61111, 0, 0, 0.525], + "58": [0, 0.43056, 0, 0, 0.525], + "59": [0.13889, 0.43056, 0, 0, 0.525], + "60": [-0.05556, 0.55556, 0, 0, 0.525], + "61": [-0.19549, 0.41562, 0, 0, 0.525], + "62": [-0.05556, 0.55556, 0, 0, 0.525], + "63": [0, 0.61111, 0, 0, 0.525], + "64": [0, 0.61111, 0, 0, 0.525], + "65": [0, 0.61111, 0, 0, 0.525], + "66": [0, 0.61111, 0, 0, 0.525], + "67": [0, 0.61111, 0, 0, 0.525], + "68": [0, 0.61111, 0, 0, 0.525], + "69": [0, 0.61111, 0, 0, 0.525], + "70": [0, 0.61111, 0, 0, 0.525], + "71": [0, 0.61111, 0, 0, 0.525], + "72": [0, 0.61111, 0, 0, 0.525], + "73": [0, 0.61111, 0, 0, 0.525], + "74": [0, 0.61111, 0, 0, 0.525], + "75": [0, 0.61111, 0, 0, 0.525], + "76": [0, 0.61111, 0, 0, 0.525], + "77": [0, 0.61111, 0, 0, 0.525], + "78": [0, 0.61111, 0, 0, 0.525], + "79": [0, 0.61111, 0, 0, 0.525], + "80": [0, 0.61111, 0, 0, 0.525], + "81": [0.13889, 0.61111, 0, 0, 0.525], + "82": [0, 0.61111, 0, 0, 0.525], + "83": [0, 0.61111, 0, 0, 0.525], + "84": [0, 0.61111, 0, 0, 0.525], + "85": [0, 0.61111, 0, 0, 0.525], + "86": [0, 0.61111, 0, 0, 0.525], + "87": [0, 0.61111, 0, 0, 0.525], + "88": [0, 0.61111, 0, 0, 0.525], + "89": [0, 0.61111, 0, 0, 0.525], + "90": [0, 0.61111, 0, 0, 0.525], + "91": [0.08333, 0.69444, 0, 0, 0.525], + "92": [0.08333, 0.69444, 0, 0, 0.525], + "93": [0.08333, 0.69444, 0, 0, 0.525], + "94": [0, 0.61111, 0, 0, 0.525], + "95": [0.09514, 0, 0, 0, 0.525], + "96": [0, 0.61111, 0, 0, 0.525], + "97": [0, 0.43056, 0, 0, 0.525], + "98": [0, 0.61111, 0, 0, 0.525], + "99": [0, 0.43056, 0, 0, 0.525], + "100": [0, 0.61111, 0, 0, 0.525], + "101": [0, 0.43056, 0, 0, 0.525], + "102": [0, 0.61111, 0, 0, 0.525], + "103": [0.22222, 0.43056, 0, 0, 0.525], + "104": [0, 0.61111, 0, 0, 0.525], + "105": [0, 0.61111, 0, 0, 0.525], + "106": [0.22222, 0.61111, 0, 0, 0.525], + "107": [0, 0.61111, 0, 0, 0.525], + "108": [0, 0.61111, 0, 0, 0.525], + "109": [0, 0.43056, 0, 0, 0.525], + "110": [0, 0.43056, 0, 0, 0.525], + "111": [0, 0.43056, 0, 0, 0.525], + "112": [0.22222, 0.43056, 0, 0, 0.525], + "113": [0.22222, 0.43056, 0, 0, 0.525], + "114": [0, 0.43056, 0, 0, 0.525], + "115": [0, 0.43056, 0, 0, 0.525], + "116": [0, 0.55358, 0, 0, 0.525], + "117": [0, 0.43056, 0, 0, 0.525], + "118": [0, 0.43056, 0, 0, 0.525], + "119": [0, 0.43056, 0, 0, 0.525], + "120": [0, 0.43056, 0, 0, 0.525], + "121": [0.22222, 0.43056, 0, 0, 0.525], + "122": [0, 0.43056, 0, 0, 0.525], + "123": [0.08333, 0.69444, 0, 0, 0.525], + "124": [0.08333, 0.69444, 0, 0, 0.525], + "125": [0.08333, 0.69444, 0, 0, 0.525], + "126": [0, 0.61111, 0, 0, 0.525], + "127": [0, 0.61111, 0, 0, 0.525], + "160": [0, 0, 0, 0, 0.525], + "176": [0, 0.61111, 0, 0, 0.525], + "184": [0.19445, 0, 0, 0, 0.525], + "305": [0, 0.43056, 0, 0, 0.525], + "567": [0.22222, 0.43056, 0, 0, 0.525], + "711": [0, 0.56597, 0, 0, 0.525], + "713": [0, 0.56555, 0, 0, 0.525], + "714": [0, 0.61111, 0, 0, 0.525], + "715": [0, 0.61111, 0, 0, 0.525], + "728": [0, 0.61111, 0, 0, 0.525], + "730": [0, 0.61111, 0, 0, 0.525], + "770": [0, 0.61111, 0, 0, 0.525], + "771": [0, 0.61111, 0, 0, 0.525], + "776": [0, 0.61111, 0, 0, 0.525], + "915": [0, 0.61111, 0, 0, 0.525], + "916": [0, 0.61111, 0, 0, 0.525], + "920": [0, 0.61111, 0, 0, 0.525], + "923": [0, 0.61111, 0, 0, 0.525], + "926": [0, 0.61111, 0, 0, 0.525], + "928": [0, 0.61111, 0, 0, 0.525], + "931": [0, 0.61111, 0, 0, 0.525], + "933": [0, 0.61111, 0, 0, 0.525], + "934": [0, 0.61111, 0, 0, 0.525], + "936": [0, 0.61111, 0, 0, 0.525], + "937": [0, 0.61111, 0, 0, 0.525], + "8216": [0, 0.61111, 0, 0, 0.525], + "8217": [0, 0.61111, 0, 0, 0.525], + "8242": [0, 0.61111, 0, 0, 0.525], + "9251": [0.11111, 0.21944, 0, 0, 0.525] + } +}); +// CONCATENATED MODULE: ./src/fontMetrics.js + + +/** + * This file contains metrics regarding fonts and individual symbols. The sigma + * and xi variables, as well as the metricMap map contain data extracted from + * TeX, TeX font metrics, and the TTF files. These data are then exposed via the + * `metrics` variable and the getCharacterMetrics function. + */ +// In TeX, there are actually three sets of dimensions, one for each of +// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4: +// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are +// provided in the the arrays below, in that order. +// +// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respsectively. +// This was determined by running the following script: +// +// latex -interaction=nonstopmode \ +// '\documentclass{article}\usepackage{amsmath}\begin{document}' \ +// '$a$ \expandafter\show\the\textfont2' \ +// '\expandafter\show\the\scriptfont2' \ +// '\expandafter\show\the\scriptscriptfont2' \ +// '\stop' +// +// The metrics themselves were retreived using the following commands: +// +// tftopl cmsy10 +// tftopl cmsy7 +// tftopl cmsy5 +// +// The output of each of these commands is quite lengthy. The only part we +// care about is the FONTDIMEN section. Each value is measured in EMs. +var sigmasAndXis = { + slant: [0.250, 0.250, 0.250], + // sigma1 + space: [0.000, 0.000, 0.000], + // sigma2 + stretch: [0.000, 0.000, 0.000], + // sigma3 + shrink: [0.000, 0.000, 0.000], + // sigma4 + xHeight: [0.431, 0.431, 0.431], + // sigma5 + quad: [1.000, 1.171, 1.472], + // sigma6 + extraSpace: [0.000, 0.000, 0.000], + // sigma7 + num1: [0.677, 0.732, 0.925], + // sigma8 + num2: [0.394, 0.384, 0.387], + // sigma9 + num3: [0.444, 0.471, 0.504], + // sigma10 + denom1: [0.686, 0.752, 1.025], + // sigma11 + denom2: [0.345, 0.344, 0.532], + // sigma12 + sup1: [0.413, 0.503, 0.504], + // sigma13 + sup2: [0.363, 0.431, 0.404], + // sigma14 + sup3: [0.289, 0.286, 0.294], + // sigma15 + sub1: [0.150, 0.143, 0.200], + // sigma16 + sub2: [0.247, 0.286, 0.400], + // sigma17 + supDrop: [0.386, 0.353, 0.494], + // sigma18 + subDrop: [0.050, 0.071, 0.100], + // sigma19 + delim1: [2.390, 1.700, 1.980], + // sigma20 + delim2: [1.010, 1.157, 1.420], + // sigma21 + axisHeight: [0.250, 0.250, 0.250], + // sigma22 + // These font metrics are extracted from TeX by using tftopl on cmex10.tfm; + // they correspond to the font parameters of the extension fonts (family 3). + // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to + // match cmex7, we'd use cmex7.tfm values for script and scriptscript + // values. + defaultRuleThickness: [0.04, 0.049, 0.049], + // xi8; cmex7: 0.049 + bigOpSpacing1: [0.111, 0.111, 0.111], + // xi9 + bigOpSpacing2: [0.166, 0.166, 0.166], + // xi10 + bigOpSpacing3: [0.2, 0.2, 0.2], + // xi11 + bigOpSpacing4: [0.6, 0.611, 0.611], + // xi12; cmex7: 0.611 + bigOpSpacing5: [0.1, 0.143, 0.143], + // xi13; cmex7: 0.143 + // The \sqrt rule width is taken from the height of the surd character. + // Since we use the same font at all sizes, this thickness doesn't scale. + sqrtRuleThickness: [0.04, 0.04, 0.04], + // This value determines how large a pt is, for metrics which are defined + // in terms of pts. + // This value is also used in katex.less; if you change it make sure the + // values match. + ptPerEm: [10.0, 10.0, 10.0], + // The space between adjacent `|` columns in an array definition. From + // `\showthe\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm. + doubleRuleSep: [0.2, 0.2, 0.2], + // The width of separator lines in {array} environments. From + // `\showthe\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm. + arrayRuleWidth: [0.04, 0.04, 0.04], + // Two values from LaTeX source2e: + fboxsep: [0.3, 0.3, 0.3], + // 3 pt / ptPerEm + fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm + +}; // This map contains a mapping from font name and character code to character +// metrics, including height, depth, italic correction, and skew (kern from the +// character to the corresponding \skewchar) +// This map is generated via `make metrics`. It should not be changed manually. + + // These are very rough approximations. We default to Times New Roman which +// should have Latin-1 and Cyrillic characters, but may not depending on the +// operating system. The metrics do not account for extra height from the +// accents. In the case of Cyrillic characters which have both ascenders and +// descenders we prefer approximations with ascenders, primarily to prevent +// the fraction bar or root line from intersecting the glyph. +// TODO(kevinb) allow union of multiple glyph metrics for better accuracy. + +var extraCharacterMap = { + // Latin-1 + 'Å': 'A', + 'Ç': 'C', + 'Ð': 'D', + 'Þ': 'o', + 'å': 'a', + 'ç': 'c', + 'ð': 'd', + 'þ': 'o', + // Cyrillic + 'А': 'A', + 'Б': 'B', + 'В': 'B', + 'Г': 'F', + 'Д': 'A', + 'Е': 'E', + 'Ж': 'K', + 'З': '3', + 'И': 'N', + 'Й': 'N', + 'К': 'K', + 'Л': 'N', + 'М': 'M', + 'Н': 'H', + 'О': 'O', + 'П': 'N', + 'Р': 'P', + 'С': 'C', + 'Т': 'T', + 'У': 'y', + 'Ф': 'O', + 'Х': 'X', + 'Ц': 'U', + 'Ч': 'h', + 'Ш': 'W', + 'Щ': 'W', + 'Ъ': 'B', + 'Ы': 'X', + 'Ь': 'B', + 'Э': '3', + 'Ю': 'X', + 'Я': 'R', + 'а': 'a', + 'б': 'b', + 'в': 'a', + 'г': 'r', + 'д': 'y', + 'е': 'e', + 'ж': 'm', + 'з': 'e', + 'и': 'n', + 'й': 'n', + 'к': 'n', + 'л': 'n', + 'м': 'm', + 'н': 'n', + 'о': 'o', + 'п': 'n', + 'р': 'p', + 'с': 'c', + 'т': 'o', + 'у': 'y', + 'ф': 'b', + 'х': 'x', + 'ц': 'n', + 'ч': 'n', + 'ш': 'w', + 'щ': 'w', + 'ъ': 'a', + 'ы': 'm', + 'ь': 'a', + 'э': 'e', + 'ю': 'm', + 'я': 'r' +}; + +/** + * This function adds new font metrics to default metricMap + * It can also override existing metrics + */ +function setFontMetrics(fontName, metrics) { + fontMetricsData[fontName] = metrics; +} +/** + * This function is a convenience function for looking up information in the + * metricMap table. It takes a character as a string, and a font. + * + * Note: the `width` property may be undefined if fontMetricsData.js wasn't + * built using `Make extended_metrics`. + */ + +function getCharacterMetrics(character, font, mode) { + if (!fontMetricsData[font]) { + throw new Error("Font metrics not found for font: " + font + "."); + } + + var ch = character.charCodeAt(0); + var metrics = fontMetricsData[font][ch]; + + if (!metrics && character[0] in extraCharacterMap) { + ch = extraCharacterMap[character[0]].charCodeAt(0); + metrics = fontMetricsData[font][ch]; + } + + if (!metrics && mode === 'text') { + // We don't typically have font metrics for Asian scripts. + // But since we support them in text mode, we need to return + // some sort of metrics. + // So if the character is in a script we support but we + // don't have metrics for it, just use the metrics for + // the Latin capital letter M. This is close enough because + // we (currently) only care about the height of the glpyh + // not its width. + if (supportedCodepoint(ch)) { + metrics = fontMetricsData[font][77]; // 77 is the charcode for 'M' + } + } + + if (metrics) { + return { + depth: metrics[0], + height: metrics[1], + italic: metrics[2], + skew: metrics[3], + width: metrics[4] + }; + } +} +var fontMetricsBySizeIndex = {}; +/** + * Get the font metrics for a given size. + */ + +function getGlobalMetrics(size) { + var sizeIndex; + + if (size >= 5) { + sizeIndex = 0; + } else if (size >= 3) { + sizeIndex = 1; + } else { + sizeIndex = 2; + } + + if (!fontMetricsBySizeIndex[sizeIndex]) { + var metrics = fontMetricsBySizeIndex[sizeIndex] = { + cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18 + }; + + for (var key in sigmasAndXis) { + if (sigmasAndXis.hasOwnProperty(key)) { + metrics[key] = sigmasAndXis[key][sizeIndex]; + } + } + } + + return fontMetricsBySizeIndex[sizeIndex]; +} +// CONCATENATED MODULE: ./src/symbols.js +/** + * This file holds a list of all no-argument functions and single-character + * symbols (like 'a' or ';'). + * + * For each of the symbols, there are three properties they can have: + * - font (required): the font to be used for this symbol. Either "main" (the + normal font), or "ams" (the ams fonts). + * - group (required): the ParseNode group type the symbol should have (i.e. + "textord", "mathord", etc). + See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types + * - replace: the character that this symbol or function should be + * replaced with (i.e. "\phi" has a replace value of "\u03d5", the phi + * character in the main font). + * + * The outermost map in the table indicates what mode the symbols should be + * accepted in (e.g. "math" or "text"). + */ +// Some of these have a "-token" suffix since these are also used as `ParseNode` +// types for raw text tokens, and we want to avoid conflicts with higher-level +// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by +// looking up the `symbols` map. +var ATOMS = { + "bin": 1, + "close": 1, + "inner": 1, + "open": 1, + "punct": 1, + "rel": 1 +}; +var NON_ATOMS = { + "accent-token": 1, + "mathord": 1, + "op-token": 1, + "spacing": 1, + "textord": 1 +}; +var symbols = { + "math": {}, + "text": {} +}; +/* harmony default export */ var src_symbols = (symbols); +/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */ + +function defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) { + symbols[mode][name] = { + font: font, + group: group, + replace: replace + }; + + if (acceptUnicodeChar && replace) { + symbols[mode][replace] = symbols[mode][name]; + } +} // Some abbreviations for commonly used strings. +// This helps minify the code, and also spotting typos using jshint. +// modes: + +var symbols_math = "math"; +var symbols_text = "text"; // fonts: + +var main = "main"; +var ams = "ams"; // groups: + +var symbols_accent = "accent-token"; +var bin = "bin"; +var symbols_close = "close"; +var symbols_inner = "inner"; +var mathord = "mathord"; +var op = "op-token"; +var symbols_open = "open"; +var punct = "punct"; +var rel = "rel"; +var symbols_spacing = "spacing"; +var symbols_textord = "textord"; // Now comes the symbol table +// Relation Symbols + +defineSymbol(symbols_math, main, rel, "\u2261", "\\equiv", true); +defineSymbol(symbols_math, main, rel, "\u227A", "\\prec", true); +defineSymbol(symbols_math, main, rel, "\u227B", "\\succ", true); +defineSymbol(symbols_math, main, rel, "\u223C", "\\sim", true); +defineSymbol(symbols_math, main, rel, "\u22A5", "\\perp"); +defineSymbol(symbols_math, main, rel, "\u2AAF", "\\preceq", true); +defineSymbol(symbols_math, main, rel, "\u2AB0", "\\succeq", true); +defineSymbol(symbols_math, main, rel, "\u2243", "\\simeq", true); +defineSymbol(symbols_math, main, rel, "\u2223", "\\mid", true); +defineSymbol(symbols_math, main, rel, "\u226A", "\\ll", true); +defineSymbol(symbols_math, main, rel, "\u226B", "\\gg", true); +defineSymbol(symbols_math, main, rel, "\u224D", "\\asymp", true); +defineSymbol(symbols_math, main, rel, "\u2225", "\\parallel"); +defineSymbol(symbols_math, main, rel, "\u22C8", "\\bowtie", true); +defineSymbol(symbols_math, main, rel, "\u2323", "\\smile", true); +defineSymbol(symbols_math, main, rel, "\u2291", "\\sqsubseteq", true); +defineSymbol(symbols_math, main, rel, "\u2292", "\\sqsupseteq", true); +defineSymbol(symbols_math, main, rel, "\u2250", "\\doteq", true); +defineSymbol(symbols_math, main, rel, "\u2322", "\\frown", true); +defineSymbol(symbols_math, main, rel, "\u220B", "\\ni", true); +defineSymbol(symbols_math, main, rel, "\u221D", "\\propto", true); +defineSymbol(symbols_math, main, rel, "\u22A2", "\\vdash", true); +defineSymbol(symbols_math, main, rel, "\u22A3", "\\dashv", true); +defineSymbol(symbols_math, main, rel, "\u220B", "\\owns"); // Punctuation + +defineSymbol(symbols_math, main, punct, ".", "\\ldotp"); +defineSymbol(symbols_math, main, punct, "\u22C5", "\\cdotp"); // Misc Symbols + +defineSymbol(symbols_math, main, symbols_textord, "#", "\\#"); +defineSymbol(symbols_text, main, symbols_textord, "#", "\\#"); +defineSymbol(symbols_math, main, symbols_textord, "&", "\\&"); +defineSymbol(symbols_text, main, symbols_textord, "&", "\\&"); +defineSymbol(symbols_math, main, symbols_textord, "\u2135", "\\aleph", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2200", "\\forall", true); +defineSymbol(symbols_math, main, symbols_textord, "\u210F", "\\hbar", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2203", "\\exists", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2207", "\\nabla", true); +defineSymbol(symbols_math, main, symbols_textord, "\u266D", "\\flat", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2113", "\\ell", true); +defineSymbol(symbols_math, main, symbols_textord, "\u266E", "\\natural", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2663", "\\clubsuit", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2118", "\\wp", true); +defineSymbol(symbols_math, main, symbols_textord, "\u266F", "\\sharp", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2662", "\\diamondsuit", true); +defineSymbol(symbols_math, main, symbols_textord, "\u211C", "\\Re", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2661", "\\heartsuit", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2111", "\\Im", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2660", "\\spadesuit", true); +defineSymbol(symbols_text, main, symbols_textord, "\xA7", "\\S", true); +defineSymbol(symbols_text, main, symbols_textord, "\xB6", "\\P", true); // Math and Text + +defineSymbol(symbols_math, main, symbols_textord, "\u2020", "\\dag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2020", "\\dag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2020", "\\textdagger"); +defineSymbol(symbols_math, main, symbols_textord, "\u2021", "\\ddag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2021", "\\ddag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2021", "\\textdaggerdbl"); // Large Delimiters + +defineSymbol(symbols_math, main, symbols_close, "\u23B1", "\\rmoustache", true); +defineSymbol(symbols_math, main, symbols_open, "\u23B0", "\\lmoustache", true); +defineSymbol(symbols_math, main, symbols_close, "\u27EF", "\\rgroup", true); +defineSymbol(symbols_math, main, symbols_open, "\u27EE", "\\lgroup", true); // Binary Operators + +defineSymbol(symbols_math, main, bin, "\u2213", "\\mp", true); +defineSymbol(symbols_math, main, bin, "\u2296", "\\ominus", true); +defineSymbol(symbols_math, main, bin, "\u228E", "\\uplus", true); +defineSymbol(symbols_math, main, bin, "\u2293", "\\sqcap", true); +defineSymbol(symbols_math, main, bin, "\u2217", "\\ast"); +defineSymbol(symbols_math, main, bin, "\u2294", "\\sqcup", true); +defineSymbol(symbols_math, main, bin, "\u25EF", "\\bigcirc"); +defineSymbol(symbols_math, main, bin, "\u2219", "\\bullet"); +defineSymbol(symbols_math, main, bin, "\u2021", "\\ddagger"); +defineSymbol(symbols_math, main, bin, "\u2240", "\\wr", true); +defineSymbol(symbols_math, main, bin, "\u2A3F", "\\amalg"); +defineSymbol(symbols_math, main, bin, "&", "\\And"); // from amsmath +// Arrow Symbols + +defineSymbol(symbols_math, main, rel, "\u27F5", "\\longleftarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D0", "\\Leftarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F8", "\\Longleftarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F6", "\\longrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D2", "\\Rightarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F9", "\\Longrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u2194", "\\leftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F7", "\\longleftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D4", "\\Leftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u27FA", "\\Longleftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u21A6", "\\mapsto", true); +defineSymbol(symbols_math, main, rel, "\u27FC", "\\longmapsto", true); +defineSymbol(symbols_math, main, rel, "\u2197", "\\nearrow", true); +defineSymbol(symbols_math, main, rel, "\u21A9", "\\hookleftarrow", true); +defineSymbol(symbols_math, main, rel, "\u21AA", "\\hookrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u2198", "\\searrow", true); +defineSymbol(symbols_math, main, rel, "\u21BC", "\\leftharpoonup", true); +defineSymbol(symbols_math, main, rel, "\u21C0", "\\rightharpoonup", true); +defineSymbol(symbols_math, main, rel, "\u2199", "\\swarrow", true); +defineSymbol(symbols_math, main, rel, "\u21BD", "\\leftharpoondown", true); +defineSymbol(symbols_math, main, rel, "\u21C1", "\\rightharpoondown", true); +defineSymbol(symbols_math, main, rel, "\u2196", "\\nwarrow", true); +defineSymbol(symbols_math, main, rel, "\u21CC", "\\rightleftharpoons", true); // AMS Negated Binary Relations + +defineSymbol(symbols_math, ams, rel, "\u226E", "\\nless", true); // Symbol names preceeded by "@" each have a corresponding macro. + +defineSymbol(symbols_math, ams, rel, "\uE010", "\\@nleqslant"); +defineSymbol(symbols_math, ams, rel, "\uE011", "\\@nleqq"); +defineSymbol(symbols_math, ams, rel, "\u2A87", "\\lneq", true); +defineSymbol(symbols_math, ams, rel, "\u2268", "\\lneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE00C", "\\@lvertneqq"); +defineSymbol(symbols_math, ams, rel, "\u22E6", "\\lnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2A89", "\\lnapprox", true); +defineSymbol(symbols_math, ams, rel, "\u2280", "\\nprec", true); // unicode-math maps \u22e0 to \npreccurlyeq. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u22E0", "\\npreceq", true); +defineSymbol(symbols_math, ams, rel, "\u22E8", "\\precnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2AB9", "\\precnapprox", true); +defineSymbol(symbols_math, ams, rel, "\u2241", "\\nsim", true); +defineSymbol(symbols_math, ams, rel, "\uE006", "\\@nshortmid"); +defineSymbol(symbols_math, ams, rel, "\u2224", "\\nmid", true); +defineSymbol(symbols_math, ams, rel, "\u22AC", "\\nvdash", true); +defineSymbol(symbols_math, ams, rel, "\u22AD", "\\nvDash", true); +defineSymbol(symbols_math, ams, rel, "\u22EA", "\\ntriangleleft"); +defineSymbol(symbols_math, ams, rel, "\u22EC", "\\ntrianglelefteq", true); +defineSymbol(symbols_math, ams, rel, "\u228A", "\\subsetneq", true); +defineSymbol(symbols_math, ams, rel, "\uE01A", "\\@varsubsetneq"); +defineSymbol(symbols_math, ams, rel, "\u2ACB", "\\subsetneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE017", "\\@varsubsetneqq"); +defineSymbol(symbols_math, ams, rel, "\u226F", "\\ngtr", true); +defineSymbol(symbols_math, ams, rel, "\uE00F", "\\@ngeqslant"); +defineSymbol(symbols_math, ams, rel, "\uE00E", "\\@ngeqq"); +defineSymbol(symbols_math, ams, rel, "\u2A88", "\\gneq", true); +defineSymbol(symbols_math, ams, rel, "\u2269", "\\gneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE00D", "\\@gvertneqq"); +defineSymbol(symbols_math, ams, rel, "\u22E7", "\\gnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2A8A", "\\gnapprox", true); +defineSymbol(symbols_math, ams, rel, "\u2281", "\\nsucc", true); // unicode-math maps \u22e1 to \nsucccurlyeq. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u22E1", "\\nsucceq", true); +defineSymbol(symbols_math, ams, rel, "\u22E9", "\\succnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2ABA", "\\succnapprox", true); // unicode-math maps \u2246 to \simneqq. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u2246", "\\ncong", true); +defineSymbol(symbols_math, ams, rel, "\uE007", "\\@nshortparallel"); +defineSymbol(symbols_math, ams, rel, "\u2226", "\\nparallel", true); +defineSymbol(symbols_math, ams, rel, "\u22AF", "\\nVDash", true); +defineSymbol(symbols_math, ams, rel, "\u22EB", "\\ntriangleright"); +defineSymbol(symbols_math, ams, rel, "\u22ED", "\\ntrianglerighteq", true); +defineSymbol(symbols_math, ams, rel, "\uE018", "\\@nsupseteqq"); +defineSymbol(symbols_math, ams, rel, "\u228B", "\\supsetneq", true); +defineSymbol(symbols_math, ams, rel, "\uE01B", "\\@varsupsetneq"); +defineSymbol(symbols_math, ams, rel, "\u2ACC", "\\supsetneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE019", "\\@varsupsetneqq"); +defineSymbol(symbols_math, ams, rel, "\u22AE", "\\nVdash", true); +defineSymbol(symbols_math, ams, rel, "\u2AB5", "\\precneqq", true); +defineSymbol(symbols_math, ams, rel, "\u2AB6", "\\succneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE016", "\\@nsubseteqq"); +defineSymbol(symbols_math, ams, bin, "\u22B4", "\\unlhd"); +defineSymbol(symbols_math, ams, bin, "\u22B5", "\\unrhd"); // AMS Negated Arrows + +defineSymbol(symbols_math, ams, rel, "\u219A", "\\nleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u219B", "\\nrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21CD", "\\nLeftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21CF", "\\nRightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21AE", "\\nleftrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21CE", "\\nLeftrightarrow", true); // AMS Misc + +defineSymbol(symbols_math, ams, rel, "\u25B3", "\\vartriangle"); +defineSymbol(symbols_math, ams, symbols_textord, "\u210F", "\\hslash"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25BD", "\\triangledown"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25CA", "\\lozenge"); +defineSymbol(symbols_math, ams, symbols_textord, "\u24C8", "\\circledS"); +defineSymbol(symbols_math, ams, symbols_textord, "\xAE", "\\circledR"); +defineSymbol(symbols_text, ams, symbols_textord, "\xAE", "\\circledR"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2221", "\\measuredangle", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2204", "\\nexists"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2127", "\\mho"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2132", "\\Finv", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2141", "\\Game", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2035", "\\backprime"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25B2", "\\blacktriangle"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25BC", "\\blacktriangledown"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25A0", "\\blacksquare"); +defineSymbol(symbols_math, ams, symbols_textord, "\u29EB", "\\blacklozenge"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2605", "\\bigstar"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2222", "\\sphericalangle", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2201", "\\complement", true); // unicode-math maps U+F0 to \matheth. We map to AMS function \eth + +defineSymbol(symbols_math, ams, symbols_textord, "\xF0", "\\eth", true); +defineSymbol(symbols_text, main, symbols_textord, "\xF0", "\xF0"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2571", "\\diagup"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2572", "\\diagdown"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25A1", "\\square"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25A1", "\\Box"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25CA", "\\Diamond"); // unicode-math maps U+A5 to \mathyen. We map to AMS function \yen + +defineSymbol(symbols_math, ams, symbols_textord, "\xA5", "\\yen", true); +defineSymbol(symbols_text, ams, symbols_textord, "\xA5", "\\yen", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2713", "\\checkmark", true); +defineSymbol(symbols_text, ams, symbols_textord, "\u2713", "\\checkmark"); // AMS Hebrew + +defineSymbol(symbols_math, ams, symbols_textord, "\u2136", "\\beth", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2138", "\\daleth", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2137", "\\gimel", true); // AMS Greek + +defineSymbol(symbols_math, ams, symbols_textord, "\u03DD", "\\digamma", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u03F0", "\\varkappa"); // AMS Delimiters + +defineSymbol(symbols_math, ams, symbols_open, "\u250C", "\\@ulcorner", true); +defineSymbol(symbols_math, ams, symbols_close, "\u2510", "\\@urcorner", true); +defineSymbol(symbols_math, ams, symbols_open, "\u2514", "\\@llcorner", true); +defineSymbol(symbols_math, ams, symbols_close, "\u2518", "\\@lrcorner", true); // AMS Binary Relations + +defineSymbol(symbols_math, ams, rel, "\u2266", "\\leqq", true); +defineSymbol(symbols_math, ams, rel, "\u2A7D", "\\leqslant", true); +defineSymbol(symbols_math, ams, rel, "\u2A95", "\\eqslantless", true); +defineSymbol(symbols_math, ams, rel, "\u2272", "\\lesssim", true); +defineSymbol(symbols_math, ams, rel, "\u2A85", "\\lessapprox", true); +defineSymbol(symbols_math, ams, rel, "\u224A", "\\approxeq", true); +defineSymbol(symbols_math, ams, bin, "\u22D6", "\\lessdot"); +defineSymbol(symbols_math, ams, rel, "\u22D8", "\\lll", true); +defineSymbol(symbols_math, ams, rel, "\u2276", "\\lessgtr", true); +defineSymbol(symbols_math, ams, rel, "\u22DA", "\\lesseqgtr", true); +defineSymbol(symbols_math, ams, rel, "\u2A8B", "\\lesseqqgtr", true); +defineSymbol(symbols_math, ams, rel, "\u2251", "\\doteqdot"); +defineSymbol(symbols_math, ams, rel, "\u2253", "\\risingdotseq", true); +defineSymbol(symbols_math, ams, rel, "\u2252", "\\fallingdotseq", true); +defineSymbol(symbols_math, ams, rel, "\u223D", "\\backsim", true); +defineSymbol(symbols_math, ams, rel, "\u22CD", "\\backsimeq", true); +defineSymbol(symbols_math, ams, rel, "\u2AC5", "\\subseteqq", true); +defineSymbol(symbols_math, ams, rel, "\u22D0", "\\Subset", true); +defineSymbol(symbols_math, ams, rel, "\u228F", "\\sqsubset", true); +defineSymbol(symbols_math, ams, rel, "\u227C", "\\preccurlyeq", true); +defineSymbol(symbols_math, ams, rel, "\u22DE", "\\curlyeqprec", true); +defineSymbol(symbols_math, ams, rel, "\u227E", "\\precsim", true); +defineSymbol(symbols_math, ams, rel, "\u2AB7", "\\precapprox", true); +defineSymbol(symbols_math, ams, rel, "\u22B2", "\\vartriangleleft"); +defineSymbol(symbols_math, ams, rel, "\u22B4", "\\trianglelefteq"); +defineSymbol(symbols_math, ams, rel, "\u22A8", "\\vDash", true); +defineSymbol(symbols_math, ams, rel, "\u22AA", "\\Vvdash", true); +defineSymbol(symbols_math, ams, rel, "\u2323", "\\smallsmile"); +defineSymbol(symbols_math, ams, rel, "\u2322", "\\smallfrown"); +defineSymbol(symbols_math, ams, rel, "\u224F", "\\bumpeq", true); +defineSymbol(symbols_math, ams, rel, "\u224E", "\\Bumpeq", true); +defineSymbol(symbols_math, ams, rel, "\u2267", "\\geqq", true); +defineSymbol(symbols_math, ams, rel, "\u2A7E", "\\geqslant", true); +defineSymbol(symbols_math, ams, rel, "\u2A96", "\\eqslantgtr", true); +defineSymbol(symbols_math, ams, rel, "\u2273", "\\gtrsim", true); +defineSymbol(symbols_math, ams, rel, "\u2A86", "\\gtrapprox", true); +defineSymbol(symbols_math, ams, bin, "\u22D7", "\\gtrdot"); +defineSymbol(symbols_math, ams, rel, "\u22D9", "\\ggg", true); +defineSymbol(symbols_math, ams, rel, "\u2277", "\\gtrless", true); +defineSymbol(symbols_math, ams, rel, "\u22DB", "\\gtreqless", true); +defineSymbol(symbols_math, ams, rel, "\u2A8C", "\\gtreqqless", true); +defineSymbol(symbols_math, ams, rel, "\u2256", "\\eqcirc", true); +defineSymbol(symbols_math, ams, rel, "\u2257", "\\circeq", true); +defineSymbol(symbols_math, ams, rel, "\u225C", "\\triangleq", true); +defineSymbol(symbols_math, ams, rel, "\u223C", "\\thicksim"); +defineSymbol(symbols_math, ams, rel, "\u2248", "\\thickapprox"); +defineSymbol(symbols_math, ams, rel, "\u2AC6", "\\supseteqq", true); +defineSymbol(symbols_math, ams, rel, "\u22D1", "\\Supset", true); +defineSymbol(symbols_math, ams, rel, "\u2290", "\\sqsupset", true); +defineSymbol(symbols_math, ams, rel, "\u227D", "\\succcurlyeq", true); +defineSymbol(symbols_math, ams, rel, "\u22DF", "\\curlyeqsucc", true); +defineSymbol(symbols_math, ams, rel, "\u227F", "\\succsim", true); +defineSymbol(symbols_math, ams, rel, "\u2AB8", "\\succapprox", true); +defineSymbol(symbols_math, ams, rel, "\u22B3", "\\vartriangleright"); +defineSymbol(symbols_math, ams, rel, "\u22B5", "\\trianglerighteq"); +defineSymbol(symbols_math, ams, rel, "\u22A9", "\\Vdash", true); +defineSymbol(symbols_math, ams, rel, "\u2223", "\\shortmid"); +defineSymbol(symbols_math, ams, rel, "\u2225", "\\shortparallel"); +defineSymbol(symbols_math, ams, rel, "\u226C", "\\between", true); +defineSymbol(symbols_math, ams, rel, "\u22D4", "\\pitchfork", true); +defineSymbol(symbols_math, ams, rel, "\u221D", "\\varpropto"); +defineSymbol(symbols_math, ams, rel, "\u25C0", "\\blacktriangleleft"); // unicode-math says that \therefore is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(symbols_math, ams, rel, "\u2234", "\\therefore", true); +defineSymbol(symbols_math, ams, rel, "\u220D", "\\backepsilon"); +defineSymbol(symbols_math, ams, rel, "\u25B6", "\\blacktriangleright"); // unicode-math says that \because is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(symbols_math, ams, rel, "\u2235", "\\because", true); +defineSymbol(symbols_math, ams, rel, "\u22D8", "\\llless"); +defineSymbol(symbols_math, ams, rel, "\u22D9", "\\gggtr"); +defineSymbol(symbols_math, ams, bin, "\u22B2", "\\lhd"); +defineSymbol(symbols_math, ams, bin, "\u22B3", "\\rhd"); +defineSymbol(symbols_math, ams, rel, "\u2242", "\\eqsim", true); +defineSymbol(symbols_math, main, rel, "\u22C8", "\\Join"); +defineSymbol(symbols_math, ams, rel, "\u2251", "\\Doteq", true); // AMS Binary Operators + +defineSymbol(symbols_math, ams, bin, "\u2214", "\\dotplus", true); +defineSymbol(symbols_math, ams, bin, "\u2216", "\\smallsetminus"); +defineSymbol(symbols_math, ams, bin, "\u22D2", "\\Cap", true); +defineSymbol(symbols_math, ams, bin, "\u22D3", "\\Cup", true); +defineSymbol(symbols_math, ams, bin, "\u2A5E", "\\doublebarwedge", true); +defineSymbol(symbols_math, ams, bin, "\u229F", "\\boxminus", true); +defineSymbol(symbols_math, ams, bin, "\u229E", "\\boxplus", true); +defineSymbol(symbols_math, ams, bin, "\u22C7", "\\divideontimes", true); +defineSymbol(symbols_math, ams, bin, "\u22C9", "\\ltimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CA", "\\rtimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CB", "\\leftthreetimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CC", "\\rightthreetimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CF", "\\curlywedge", true); +defineSymbol(symbols_math, ams, bin, "\u22CE", "\\curlyvee", true); +defineSymbol(symbols_math, ams, bin, "\u229D", "\\circleddash", true); +defineSymbol(symbols_math, ams, bin, "\u229B", "\\circledast", true); +defineSymbol(symbols_math, ams, bin, "\u22C5", "\\centerdot"); +defineSymbol(symbols_math, ams, bin, "\u22BA", "\\intercal", true); +defineSymbol(symbols_math, ams, bin, "\u22D2", "\\doublecap"); +defineSymbol(symbols_math, ams, bin, "\u22D3", "\\doublecup"); +defineSymbol(symbols_math, ams, bin, "\u22A0", "\\boxtimes", true); // AMS Arrows +// Note: unicode-math maps \u21e2 to their own function \rightdasharrow. +// We'll map it to AMS function \dashrightarrow. It produces the same atom. + +defineSymbol(symbols_math, ams, rel, "\u21E2", "\\dashrightarrow", true); // unicode-math maps \u21e0 to \leftdasharrow. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u21E0", "\\dashleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21C7", "\\leftleftarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21C6", "\\leftrightarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21DA", "\\Lleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u219E", "\\twoheadleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21A2", "\\leftarrowtail", true); +defineSymbol(symbols_math, ams, rel, "\u21AB", "\\looparrowleft", true); +defineSymbol(symbols_math, ams, rel, "\u21CB", "\\leftrightharpoons", true); +defineSymbol(symbols_math, ams, rel, "\u21B6", "\\curvearrowleft", true); // unicode-math maps \u21ba to \acwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u21BA", "\\circlearrowleft", true); +defineSymbol(symbols_math, ams, rel, "\u21B0", "\\Lsh", true); +defineSymbol(symbols_math, ams, rel, "\u21C8", "\\upuparrows", true); +defineSymbol(symbols_math, ams, rel, "\u21BF", "\\upharpoonleft", true); +defineSymbol(symbols_math, ams, rel, "\u21C3", "\\downharpoonleft", true); +defineSymbol(symbols_math, ams, rel, "\u22B8", "\\multimap", true); +defineSymbol(symbols_math, ams, rel, "\u21AD", "\\leftrightsquigarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21C9", "\\rightrightarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21C4", "\\rightleftarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21A0", "\\twoheadrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21A3", "\\rightarrowtail", true); +defineSymbol(symbols_math, ams, rel, "\u21AC", "\\looparrowright", true); +defineSymbol(symbols_math, ams, rel, "\u21B7", "\\curvearrowright", true); // unicode-math maps \u21bb to \cwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u21BB", "\\circlearrowright", true); +defineSymbol(symbols_math, ams, rel, "\u21B1", "\\Rsh", true); +defineSymbol(symbols_math, ams, rel, "\u21CA", "\\downdownarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21BE", "\\upharpoonright", true); +defineSymbol(symbols_math, ams, rel, "\u21C2", "\\downharpoonright", true); +defineSymbol(symbols_math, ams, rel, "\u21DD", "\\rightsquigarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21DD", "\\leadsto"); +defineSymbol(symbols_math, ams, rel, "\u21DB", "\\Rrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21BE", "\\restriction"); +defineSymbol(symbols_math, main, symbols_textord, "\u2018", "`"); +defineSymbol(symbols_math, main, symbols_textord, "$", "\\$"); +defineSymbol(symbols_text, main, symbols_textord, "$", "\\$"); +defineSymbol(symbols_text, main, symbols_textord, "$", "\\textdollar"); +defineSymbol(symbols_math, main, symbols_textord, "%", "\\%"); +defineSymbol(symbols_text, main, symbols_textord, "%", "\\%"); +defineSymbol(symbols_math, main, symbols_textord, "_", "\\_"); +defineSymbol(symbols_text, main, symbols_textord, "_", "\\_"); +defineSymbol(symbols_text, main, symbols_textord, "_", "\\textunderscore"); +defineSymbol(symbols_math, main, symbols_textord, "\u2220", "\\angle", true); +defineSymbol(symbols_math, main, symbols_textord, "\u221E", "\\infty", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2032", "\\prime"); +defineSymbol(symbols_math, main, symbols_textord, "\u25B3", "\\triangle"); +defineSymbol(symbols_math, main, symbols_textord, "\u0393", "\\Gamma", true); +defineSymbol(symbols_math, main, symbols_textord, "\u0394", "\\Delta", true); +defineSymbol(symbols_math, main, symbols_textord, "\u0398", "\\Theta", true); +defineSymbol(symbols_math, main, symbols_textord, "\u039B", "\\Lambda", true); +defineSymbol(symbols_math, main, symbols_textord, "\u039E", "\\Xi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A0", "\\Pi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A3", "\\Sigma", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A5", "\\Upsilon", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A6", "\\Phi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A8", "\\Psi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A9", "\\Omega", true); +defineSymbol(symbols_math, main, symbols_textord, "A", "\u0391"); +defineSymbol(symbols_math, main, symbols_textord, "B", "\u0392"); +defineSymbol(symbols_math, main, symbols_textord, "E", "\u0395"); +defineSymbol(symbols_math, main, symbols_textord, "Z", "\u0396"); +defineSymbol(symbols_math, main, symbols_textord, "H", "\u0397"); +defineSymbol(symbols_math, main, symbols_textord, "I", "\u0399"); +defineSymbol(symbols_math, main, symbols_textord, "K", "\u039A"); +defineSymbol(symbols_math, main, symbols_textord, "M", "\u039C"); +defineSymbol(symbols_math, main, symbols_textord, "N", "\u039D"); +defineSymbol(symbols_math, main, symbols_textord, "O", "\u039F"); +defineSymbol(symbols_math, main, symbols_textord, "P", "\u03A1"); +defineSymbol(symbols_math, main, symbols_textord, "T", "\u03A4"); +defineSymbol(symbols_math, main, symbols_textord, "X", "\u03A7"); +defineSymbol(symbols_math, main, symbols_textord, "\xAC", "\\neg", true); +defineSymbol(symbols_math, main, symbols_textord, "\xAC", "\\lnot"); +defineSymbol(symbols_math, main, symbols_textord, "\u22A4", "\\top"); +defineSymbol(symbols_math, main, symbols_textord, "\u22A5", "\\bot"); +defineSymbol(symbols_math, main, symbols_textord, "\u2205", "\\emptyset"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2205", "\\varnothing"); +defineSymbol(symbols_math, main, mathord, "\u03B1", "\\alpha", true); +defineSymbol(symbols_math, main, mathord, "\u03B2", "\\beta", true); +defineSymbol(symbols_math, main, mathord, "\u03B3", "\\gamma", true); +defineSymbol(symbols_math, main, mathord, "\u03B4", "\\delta", true); +defineSymbol(symbols_math, main, mathord, "\u03F5", "\\epsilon", true); +defineSymbol(symbols_math, main, mathord, "\u03B6", "\\zeta", true); +defineSymbol(symbols_math, main, mathord, "\u03B7", "\\eta", true); +defineSymbol(symbols_math, main, mathord, "\u03B8", "\\theta", true); +defineSymbol(symbols_math, main, mathord, "\u03B9", "\\iota", true); +defineSymbol(symbols_math, main, mathord, "\u03BA", "\\kappa", true); +defineSymbol(symbols_math, main, mathord, "\u03BB", "\\lambda", true); +defineSymbol(symbols_math, main, mathord, "\u03BC", "\\mu", true); +defineSymbol(symbols_math, main, mathord, "\u03BD", "\\nu", true); +defineSymbol(symbols_math, main, mathord, "\u03BE", "\\xi", true); +defineSymbol(symbols_math, main, mathord, "\u03BF", "\\omicron", true); +defineSymbol(symbols_math, main, mathord, "\u03C0", "\\pi", true); +defineSymbol(symbols_math, main, mathord, "\u03C1", "\\rho", true); +defineSymbol(symbols_math, main, mathord, "\u03C3", "\\sigma", true); +defineSymbol(symbols_math, main, mathord, "\u03C4", "\\tau", true); +defineSymbol(symbols_math, main, mathord, "\u03C5", "\\upsilon", true); +defineSymbol(symbols_math, main, mathord, "\u03D5", "\\phi", true); +defineSymbol(symbols_math, main, mathord, "\u03C7", "\\chi", true); +defineSymbol(symbols_math, main, mathord, "\u03C8", "\\psi", true); +defineSymbol(symbols_math, main, mathord, "\u03C9", "\\omega", true); +defineSymbol(symbols_math, main, mathord, "\u03B5", "\\varepsilon", true); +defineSymbol(symbols_math, main, mathord, "\u03D1", "\\vartheta", true); +defineSymbol(symbols_math, main, mathord, "\u03D6", "\\varpi", true); +defineSymbol(symbols_math, main, mathord, "\u03F1", "\\varrho", true); +defineSymbol(symbols_math, main, mathord, "\u03C2", "\\varsigma", true); +defineSymbol(symbols_math, main, mathord, "\u03C6", "\\varphi", true); +defineSymbol(symbols_math, main, bin, "\u2217", "*"); +defineSymbol(symbols_math, main, bin, "+", "+"); +defineSymbol(symbols_math, main, bin, "\u2212", "-"); +defineSymbol(symbols_math, main, bin, "\u22C5", "\\cdot", true); +defineSymbol(symbols_math, main, bin, "\u2218", "\\circ"); +defineSymbol(symbols_math, main, bin, "\xF7", "\\div", true); +defineSymbol(symbols_math, main, bin, "\xB1", "\\pm", true); +defineSymbol(symbols_math, main, bin, "\xD7", "\\times", true); +defineSymbol(symbols_math, main, bin, "\u2229", "\\cap", true); +defineSymbol(symbols_math, main, bin, "\u222A", "\\cup", true); +defineSymbol(symbols_math, main, bin, "\u2216", "\\setminus"); +defineSymbol(symbols_math, main, bin, "\u2227", "\\land"); +defineSymbol(symbols_math, main, bin, "\u2228", "\\lor"); +defineSymbol(symbols_math, main, bin, "\u2227", "\\wedge", true); +defineSymbol(symbols_math, main, bin, "\u2228", "\\vee", true); +defineSymbol(symbols_math, main, symbols_textord, "\u221A", "\\surd"); +defineSymbol(symbols_math, main, symbols_open, "\u27E8", "\\langle", true); +defineSymbol(symbols_math, main, symbols_open, "\u2223", "\\lvert"); +defineSymbol(symbols_math, main, symbols_open, "\u2225", "\\lVert"); +defineSymbol(symbols_math, main, symbols_close, "?", "?"); +defineSymbol(symbols_math, main, symbols_close, "!", "!"); +defineSymbol(symbols_math, main, symbols_close, "\u27E9", "\\rangle", true); +defineSymbol(symbols_math, main, symbols_close, "\u2223", "\\rvert"); +defineSymbol(symbols_math, main, symbols_close, "\u2225", "\\rVert"); +defineSymbol(symbols_math, main, rel, "=", "="); +defineSymbol(symbols_math, main, rel, ":", ":"); +defineSymbol(symbols_math, main, rel, "\u2248", "\\approx", true); +defineSymbol(symbols_math, main, rel, "\u2245", "\\cong", true); +defineSymbol(symbols_math, main, rel, "\u2265", "\\ge"); +defineSymbol(symbols_math, main, rel, "\u2265", "\\geq", true); +defineSymbol(symbols_math, main, rel, "\u2190", "\\gets"); +defineSymbol(symbols_math, main, rel, ">", "\\gt", true); +defineSymbol(symbols_math, main, rel, "\u2208", "\\in", true); +defineSymbol(symbols_math, main, rel, "\uE020", "\\@not"); +defineSymbol(symbols_math, main, rel, "\u2282", "\\subset", true); +defineSymbol(symbols_math, main, rel, "\u2283", "\\supset", true); +defineSymbol(symbols_math, main, rel, "\u2286", "\\subseteq", true); +defineSymbol(symbols_math, main, rel, "\u2287", "\\supseteq", true); +defineSymbol(symbols_math, ams, rel, "\u2288", "\\nsubseteq", true); +defineSymbol(symbols_math, ams, rel, "\u2289", "\\nsupseteq", true); +defineSymbol(symbols_math, main, rel, "\u22A8", "\\models"); +defineSymbol(symbols_math, main, rel, "\u2190", "\\leftarrow", true); +defineSymbol(symbols_math, main, rel, "\u2264", "\\le"); +defineSymbol(symbols_math, main, rel, "\u2264", "\\leq", true); +defineSymbol(symbols_math, main, rel, "<", "\\lt", true); +defineSymbol(symbols_math, main, rel, "\u2192", "\\rightarrow", true); +defineSymbol(symbols_math, main, rel, "\u2192", "\\to"); +defineSymbol(symbols_math, ams, rel, "\u2271", "\\ngeq", true); +defineSymbol(symbols_math, ams, rel, "\u2270", "\\nleq", true); +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "\\ "); +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "~"); +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "\\space"); // Ref: LaTeX Source 2e: \DeclareRobustCommand{\nobreakspace}{% + +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "\\nobreakspace"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\ "); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", " "); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "~"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\space"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\nobreakspace"); +defineSymbol(symbols_math, main, symbols_spacing, null, "\\nobreak"); +defineSymbol(symbols_math, main, symbols_spacing, null, "\\allowbreak"); +defineSymbol(symbols_math, main, punct, ",", ","); +defineSymbol(symbols_math, main, punct, ";", ";"); +defineSymbol(symbols_math, ams, bin, "\u22BC", "\\barwedge", true); +defineSymbol(symbols_math, ams, bin, "\u22BB", "\\veebar", true); +defineSymbol(symbols_math, main, bin, "\u2299", "\\odot", true); +defineSymbol(symbols_math, main, bin, "\u2295", "\\oplus", true); +defineSymbol(symbols_math, main, bin, "\u2297", "\\otimes", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2202", "\\partial", true); +defineSymbol(symbols_math, main, bin, "\u2298", "\\oslash", true); +defineSymbol(symbols_math, ams, bin, "\u229A", "\\circledcirc", true); +defineSymbol(symbols_math, ams, bin, "\u22A1", "\\boxdot", true); +defineSymbol(symbols_math, main, bin, "\u25B3", "\\bigtriangleup"); +defineSymbol(symbols_math, main, bin, "\u25BD", "\\bigtriangledown"); +defineSymbol(symbols_math, main, bin, "\u2020", "\\dagger"); +defineSymbol(symbols_math, main, bin, "\u22C4", "\\diamond"); +defineSymbol(symbols_math, main, bin, "\u22C6", "\\star"); +defineSymbol(symbols_math, main, bin, "\u25C3", "\\triangleleft"); +defineSymbol(symbols_math, main, bin, "\u25B9", "\\triangleright"); +defineSymbol(symbols_math, main, symbols_open, "{", "\\{"); +defineSymbol(symbols_text, main, symbols_textord, "{", "\\{"); +defineSymbol(symbols_text, main, symbols_textord, "{", "\\textbraceleft"); +defineSymbol(symbols_math, main, symbols_close, "}", "\\}"); +defineSymbol(symbols_text, main, symbols_textord, "}", "\\}"); +defineSymbol(symbols_text, main, symbols_textord, "}", "\\textbraceright"); +defineSymbol(symbols_math, main, symbols_open, "{", "\\lbrace"); +defineSymbol(symbols_math, main, symbols_close, "}", "\\rbrace"); +defineSymbol(symbols_math, main, symbols_open, "[", "\\lbrack", true); +defineSymbol(symbols_text, main, symbols_textord, "[", "\\lbrack", true); +defineSymbol(symbols_math, main, symbols_close, "]", "\\rbrack", true); +defineSymbol(symbols_text, main, symbols_textord, "]", "\\rbrack", true); +defineSymbol(symbols_math, main, symbols_open, "(", "\\lparen", true); +defineSymbol(symbols_math, main, symbols_close, ")", "\\rparen", true); +defineSymbol(symbols_text, main, symbols_textord, "<", "\\textless", true); // in T1 fontenc + +defineSymbol(symbols_text, main, symbols_textord, ">", "\\textgreater", true); // in T1 fontenc + +defineSymbol(symbols_math, main, symbols_open, "\u230A", "\\lfloor", true); +defineSymbol(symbols_math, main, symbols_close, "\u230B", "\\rfloor", true); +defineSymbol(symbols_math, main, symbols_open, "\u2308", "\\lceil", true); +defineSymbol(symbols_math, main, symbols_close, "\u2309", "\\rceil", true); +defineSymbol(symbols_math, main, symbols_textord, "\\", "\\backslash"); +defineSymbol(symbols_math, main, symbols_textord, "\u2223", "|"); +defineSymbol(symbols_math, main, symbols_textord, "\u2223", "\\vert"); +defineSymbol(symbols_text, main, symbols_textord, "|", "\\textbar", true); // in T1 fontenc + +defineSymbol(symbols_math, main, symbols_textord, "\u2225", "\\|"); +defineSymbol(symbols_math, main, symbols_textord, "\u2225", "\\Vert"); +defineSymbol(symbols_text, main, symbols_textord, "\u2225", "\\textbardbl"); +defineSymbol(symbols_text, main, symbols_textord, "~", "\\textasciitilde"); +defineSymbol(symbols_text, main, symbols_textord, "\\", "\\textbackslash"); +defineSymbol(symbols_text, main, symbols_textord, "^", "\\textasciicircum"); +defineSymbol(symbols_math, main, rel, "\u2191", "\\uparrow", true); +defineSymbol(symbols_math, main, rel, "\u21D1", "\\Uparrow", true); +defineSymbol(symbols_math, main, rel, "\u2193", "\\downarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D3", "\\Downarrow", true); +defineSymbol(symbols_math, main, rel, "\u2195", "\\updownarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D5", "\\Updownarrow", true); +defineSymbol(symbols_math, main, op, "\u2210", "\\coprod"); +defineSymbol(symbols_math, main, op, "\u22C1", "\\bigvee"); +defineSymbol(symbols_math, main, op, "\u22C0", "\\bigwedge"); +defineSymbol(symbols_math, main, op, "\u2A04", "\\biguplus"); +defineSymbol(symbols_math, main, op, "\u22C2", "\\bigcap"); +defineSymbol(symbols_math, main, op, "\u22C3", "\\bigcup"); +defineSymbol(symbols_math, main, op, "\u222B", "\\int"); +defineSymbol(symbols_math, main, op, "\u222B", "\\intop"); +defineSymbol(symbols_math, main, op, "\u222C", "\\iint"); +defineSymbol(symbols_math, main, op, "\u222D", "\\iiint"); +defineSymbol(symbols_math, main, op, "\u220F", "\\prod"); +defineSymbol(symbols_math, main, op, "\u2211", "\\sum"); +defineSymbol(symbols_math, main, op, "\u2A02", "\\bigotimes"); +defineSymbol(symbols_math, main, op, "\u2A01", "\\bigoplus"); +defineSymbol(symbols_math, main, op, "\u2A00", "\\bigodot"); +defineSymbol(symbols_math, main, op, "\u222E", "\\oint"); +defineSymbol(symbols_math, main, op, "\u2A06", "\\bigsqcup"); +defineSymbol(symbols_math, main, op, "\u222B", "\\smallint"); +defineSymbol(symbols_text, main, symbols_inner, "\u2026", "\\textellipsis"); +defineSymbol(symbols_math, main, symbols_inner, "\u2026", "\\mathellipsis"); +defineSymbol(symbols_text, main, symbols_inner, "\u2026", "\\ldots", true); +defineSymbol(symbols_math, main, symbols_inner, "\u2026", "\\ldots", true); +defineSymbol(symbols_math, main, symbols_inner, "\u22EF", "\\@cdots", true); +defineSymbol(symbols_math, main, symbols_inner, "\u22F1", "\\ddots", true); +defineSymbol(symbols_math, main, symbols_textord, "\u22EE", "\\varvdots"); // \vdots is a macro + +defineSymbol(symbols_math, main, symbols_accent, "\u02CA", "\\acute"); +defineSymbol(symbols_math, main, symbols_accent, "\u02CB", "\\grave"); +defineSymbol(symbols_math, main, symbols_accent, "\xA8", "\\ddot"); +defineSymbol(symbols_math, main, symbols_accent, "~", "\\tilde"); +defineSymbol(symbols_math, main, symbols_accent, "\u02C9", "\\bar"); +defineSymbol(symbols_math, main, symbols_accent, "\u02D8", "\\breve"); +defineSymbol(symbols_math, main, symbols_accent, "\u02C7", "\\check"); +defineSymbol(symbols_math, main, symbols_accent, "^", "\\hat"); +defineSymbol(symbols_math, main, symbols_accent, "\u20D7", "\\vec"); +defineSymbol(symbols_math, main, symbols_accent, "\u02D9", "\\dot"); +defineSymbol(symbols_math, main, symbols_accent, "\u02DA", "\\mathring"); // \imath and \jmath should be invariant to \mathrm, \mathbf, etc., so use PUA + +defineSymbol(symbols_math, main, mathord, "\uE131", "\\@imath"); +defineSymbol(symbols_math, main, mathord, "\uE237", "\\@jmath"); +defineSymbol(symbols_math, main, symbols_textord, "\u0131", "\u0131"); +defineSymbol(symbols_math, main, symbols_textord, "\u0237", "\u0237"); +defineSymbol(symbols_text, main, symbols_textord, "\u0131", "\\i", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0237", "\\j", true); +defineSymbol(symbols_text, main, symbols_textord, "\xDF", "\\ss", true); +defineSymbol(symbols_text, main, symbols_textord, "\xE6", "\\ae", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0153", "\\oe", true); +defineSymbol(symbols_text, main, symbols_textord, "\xF8", "\\o", true); +defineSymbol(symbols_text, main, symbols_textord, "\xC6", "\\AE", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0152", "\\OE", true); +defineSymbol(symbols_text, main, symbols_textord, "\xD8", "\\O", true); +defineSymbol(symbols_text, main, symbols_accent, "\u02CA", "\\'"); // acute + +defineSymbol(symbols_text, main, symbols_accent, "\u02CB", "\\`"); // grave + +defineSymbol(symbols_text, main, symbols_accent, "\u02C6", "\\^"); // circumflex + +defineSymbol(symbols_text, main, symbols_accent, "\u02DC", "\\~"); // tilde + +defineSymbol(symbols_text, main, symbols_accent, "\u02C9", "\\="); // macron + +defineSymbol(symbols_text, main, symbols_accent, "\u02D8", "\\u"); // breve + +defineSymbol(symbols_text, main, symbols_accent, "\u02D9", "\\."); // dot above + +defineSymbol(symbols_text, main, symbols_accent, "\u02DA", "\\r"); // ring above + +defineSymbol(symbols_text, main, symbols_accent, "\u02C7", "\\v"); // caron + +defineSymbol(symbols_text, main, symbols_accent, "\xA8", '\\"'); // diaresis + +defineSymbol(symbols_text, main, symbols_accent, "\u02DD", "\\H"); // double acute + +defineSymbol(symbols_text, main, symbols_accent, "\u25EF", "\\textcircled"); // \bigcirc glyph +// These ligatures are detected and created in Parser.js's `formLigatures`. + +var ligatures = { + "--": true, + "---": true, + "``": true, + "''": true +}; +defineSymbol(symbols_text, main, symbols_textord, "\u2013", "--", true); +defineSymbol(symbols_text, main, symbols_textord, "\u2013", "\\textendash"); +defineSymbol(symbols_text, main, symbols_textord, "\u2014", "---", true); +defineSymbol(symbols_text, main, symbols_textord, "\u2014", "\\textemdash"); +defineSymbol(symbols_text, main, symbols_textord, "\u2018", "`", true); +defineSymbol(symbols_text, main, symbols_textord, "\u2018", "\\textquoteleft"); +defineSymbol(symbols_text, main, symbols_textord, "\u2019", "'", true); +defineSymbol(symbols_text, main, symbols_textord, "\u2019", "\\textquoteright"); +defineSymbol(symbols_text, main, symbols_textord, "\u201C", "``", true); +defineSymbol(symbols_text, main, symbols_textord, "\u201C", "\\textquotedblleft"); +defineSymbol(symbols_text, main, symbols_textord, "\u201D", "''", true); +defineSymbol(symbols_text, main, symbols_textord, "\u201D", "\\textquotedblright"); // \degree from gensymb package + +defineSymbol(symbols_math, main, symbols_textord, "\xB0", "\\degree", true); +defineSymbol(symbols_text, main, symbols_textord, "\xB0", "\\degree"); // \textdegree from inputenc package + +defineSymbol(symbols_text, main, symbols_textord, "\xB0", "\\textdegree", true); // TODO: In LaTeX, \pounds can generate a different character in text and math +// mode, but among our fonts, only Main-Regular defines this character "163". + +defineSymbol(symbols_math, main, symbols_textord, "\xA3", "\\pounds"); +defineSymbol(symbols_math, main, symbols_textord, "\xA3", "\\mathsterling", true); +defineSymbol(symbols_text, main, symbols_textord, "\xA3", "\\pounds"); +defineSymbol(symbols_text, main, symbols_textord, "\xA3", "\\textsterling", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2720", "\\maltese"); +defineSymbol(symbols_text, ams, symbols_textord, "\u2720", "\\maltese"); // There are lots of symbols which are the same, so we add them in afterwards. +// All of these are textords in math mode + +var mathTextSymbols = "0123456789/@.\""; + +for (var symbols_i = 0; symbols_i < mathTextSymbols.length; symbols_i++) { + var symbols_ch = mathTextSymbols.charAt(symbols_i); + defineSymbol(symbols_math, main, symbols_textord, symbols_ch, symbols_ch); +} // All of these are textords in text mode + + +var textSymbols = "0123456789!@*()-=+\";:?/.,"; + +for (var src_symbols_i = 0; src_symbols_i < textSymbols.length; src_symbols_i++) { + var _ch = textSymbols.charAt(src_symbols_i); + + defineSymbol(symbols_text, main, symbols_textord, _ch, _ch); +} // All of these are textords in text mode, and mathords in math mode + + +var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + +for (var symbols_i2 = 0; symbols_i2 < letters.length; symbols_i2++) { + var _ch2 = letters.charAt(symbols_i2); + + defineSymbol(symbols_math, main, mathord, _ch2, _ch2); + defineSymbol(symbols_text, main, symbols_textord, _ch2, _ch2); +} // Blackboard bold and script letters in Unicode range + + +defineSymbol(symbols_math, ams, symbols_textord, "C", "\u2102"); // blackboard bold + +defineSymbol(symbols_text, ams, symbols_textord, "C", "\u2102"); +defineSymbol(symbols_math, ams, symbols_textord, "H", "\u210D"); +defineSymbol(symbols_text, ams, symbols_textord, "H", "\u210D"); +defineSymbol(symbols_math, ams, symbols_textord, "N", "\u2115"); +defineSymbol(symbols_text, ams, symbols_textord, "N", "\u2115"); +defineSymbol(symbols_math, ams, symbols_textord, "P", "\u2119"); +defineSymbol(symbols_text, ams, symbols_textord, "P", "\u2119"); +defineSymbol(symbols_math, ams, symbols_textord, "Q", "\u211A"); +defineSymbol(symbols_text, ams, symbols_textord, "Q", "\u211A"); +defineSymbol(symbols_math, ams, symbols_textord, "R", "\u211D"); +defineSymbol(symbols_text, ams, symbols_textord, "R", "\u211D"); +defineSymbol(symbols_math, ams, symbols_textord, "Z", "\u2124"); +defineSymbol(symbols_text, ams, symbols_textord, "Z", "\u2124"); +defineSymbol(symbols_math, main, mathord, "h", "\u210E"); // italic h, Planck constant + +defineSymbol(symbols_text, main, mathord, "h", "\u210E"); // The next loop loads wide (surrogate pair) characters. +// We support some letters in the Unicode range U+1D400 to U+1D7FF, +// Mathematical Alphanumeric Symbols. +// Some editors do not deal well with wide characters. So don't write the +// string into this file. Instead, create the string from the surrogate pair. + +var symbols_wideChar = ""; + +for (var symbols_i3 = 0; symbols_i3 < letters.length; symbols_i3++) { + var _ch3 = letters.charAt(symbols_i3); // The hex numbers in the next line are a surrogate pair. + // 0xD835 is the high surrogate for all letters in the range we support. + // 0xDC00 is the low surrogate for bold A. + + + symbols_wideChar = String.fromCharCode(0xD835, 0xDC00 + symbols_i3); // A-Z a-z bold + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDC34 + symbols_i3); // A-Z a-z italic + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDC68 + symbols_i3); // A-Z a-z bold italic + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDD04 + symbols_i3); // A-Z a-z Fractur + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDDA0 + symbols_i3); // A-Z a-z sans-serif + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDDD4 + symbols_i3); // A-Z a-z sans bold + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDE08 + symbols_i3); // A-Z a-z sans italic + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDE70 + symbols_i3); // A-Z a-z monospace + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + + if (symbols_i3 < 26) { + // KaTeX fonts have only capital letters for blackboard bold and script. + // See exception for k below. + symbols_wideChar = String.fromCharCode(0xD835, 0xDD38 + symbols_i3); // A-Z double struck + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDC9C + symbols_i3); // A-Z script + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + } // TODO: Add bold script when it is supported by a KaTeX font. + +} // "k" is the only double struck lower case letter in the KaTeX fonts. + + +symbols_wideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck + +defineSymbol(symbols_math, main, mathord, "k", symbols_wideChar); +defineSymbol(symbols_text, main, symbols_textord, "k", symbols_wideChar); // Next, some wide character numerals + +for (var symbols_i4 = 0; symbols_i4 < 10; symbols_i4++) { + var _ch4 = symbols_i4.toString(); + + symbols_wideChar = String.fromCharCode(0xD835, 0xDFCE + symbols_i4); // 0-9 bold + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDFE2 + symbols_i4); // 0-9 sans serif + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDFEC + symbols_i4); // 0-9 bold sans + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDFF6 + symbols_i4); // 0-9 monospace + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); +} // We add these Latin-1 letters as symbols for backwards-compatibility, +// but they are not actually in the font, nor are they supported by the +// Unicode accent mechanism, so they fall back to Times font and look ugly. +// TODO(edemaine): Fix this. + + +var extraLatin = "\xC7\xD0\xDE\xE7\xFE"; + +for (var _i5 = 0; _i5 < extraLatin.length; _i5++) { + var _ch5 = extraLatin.charAt(_i5); + + defineSymbol(symbols_math, main, mathord, _ch5, _ch5); + defineSymbol(symbols_text, main, symbols_textord, _ch5, _ch5); +} +// CONCATENATED MODULE: ./src/wide-character.js +/** + * This file provides support for Unicode range U+1D400 to U+1D7FF, + * Mathematical Alphanumeric Symbols. + * + * Function wideCharacterFont takes a wide character as input and returns + * the font information necessary to render it properly. + */ + +/** + * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf + * That document sorts characters into groups by font type, say bold or italic. + * + * In the arrays below, each subarray consists three elements: + * * The CSS class of that group when in math mode. + * * The CSS class of that group when in text mode. + * * The font name, so that KaTeX can get font metrics. + */ + +var wideLatinLetterData = [["mathbf", "textbf", "Main-Bold"], // A-Z bold upright +["mathbf", "textbf", "Main-Bold"], // a-z bold upright +["mathnormal", "textit", "Math-Italic"], // A-Z italic +["mathnormal", "textit", "Math-Italic"], // a-z italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // A-Z bold italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // a-z bold italic +// Map fancy A-Z letters to script, not calligraphic. +// This aligns with unicode-math and math fonts (except Cambria Math). +["mathscr", "textscr", "Script-Regular"], // A-Z script +["", "", ""], // a-z script. No font +["", "", ""], // A-Z bold script. No font +["", "", ""], // a-z bold script. No font +["mathfrak", "textfrak", "Fraktur-Regular"], // A-Z Fraktur +["mathfrak", "textfrak", "Fraktur-Regular"], // a-z Fraktur +["mathbb", "textbb", "AMS-Regular"], // A-Z double-struck +["mathbb", "textbb", "AMS-Regular"], // k double-struck +["", "", ""], // A-Z bold Fraktur No font metrics +["", "", ""], // a-z bold Fraktur. No font. +["mathsf", "textsf", "SansSerif-Regular"], // A-Z sans-serif +["mathsf", "textsf", "SansSerif-Regular"], // a-z sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // A-Z bold sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // a-z bold sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // A-Z italic sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // a-z italic sans-serif +["", "", ""], // A-Z bold italic sans. No font +["", "", ""], // a-z bold italic sans. No font +["mathtt", "texttt", "Typewriter-Regular"], // A-Z monospace +["mathtt", "texttt", "Typewriter-Regular"]]; +var wideNumeralData = [["mathbf", "textbf", "Main-Bold"], // 0-9 bold +["", "", ""], // 0-9 double-struck. No KaTeX font. +["mathsf", "textsf", "SansSerif-Regular"], // 0-9 sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // 0-9 bold sans-serif +["mathtt", "texttt", "Typewriter-Regular"]]; +var wide_character_wideCharacterFont = function wideCharacterFont(wideChar, mode) { + // IE doesn't support codePointAt(). So work with the surrogate pair. + var H = wideChar.charCodeAt(0); // high surrogate + + var L = wideChar.charCodeAt(1); // low surrogate + + var codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000; + var j = mode === "math" ? 0 : 1; // column index for CSS class. + + if (0x1D400 <= codePoint && codePoint < 0x1D6A4) { + // wideLatinLetterData contains exactly 26 chars on each row. + // So we can calculate the relevant row. No traverse necessary. + var i = Math.floor((codePoint - 0x1D400) / 26); + return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]]; + } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) { + // Numerals, ten per row. + var _i = Math.floor((codePoint - 0x1D7CE) / 10); + + return [wideNumeralData[_i][2], wideNumeralData[_i][j]]; + } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) { + // dotless i or j + return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]]; + } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) { + // Greek letters. Not supported, yet. + return ["", ""]; + } else { + // We don't support any wide characters outside 1D400–1D7FF. + throw new src_ParseError("Unsupported character: " + wideChar); + } +}; +// CONCATENATED MODULE: ./src/Options.js +/** + * This file contains information about the options that the Parser carries + * around with it while parsing. Data is held in an `Options` object, and when + * recursing, a new `Options` object can be created with the `.with*` and + * `.reset` functions. + */ + +var sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize]. +// The size mappings are taken from TeX with \normalsize=10pt. +[1, 1, 1], // size1: [5, 5, 5] \tiny +[2, 1, 1], // size2: [6, 5, 5] +[3, 1, 1], // size3: [7, 5, 5] \scriptsize +[4, 2, 1], // size4: [8, 6, 5] \footnotesize +[5, 2, 1], // size5: [9, 6, 5] \small +[6, 3, 1], // size6: [10, 7, 5] \normalsize +[7, 4, 2], // size7: [12, 8, 6] \large +[8, 6, 3], // size8: [14.4, 10, 7] \Large +[9, 7, 6], // size9: [17.28, 12, 10] \LARGE +[10, 8, 7], // size10: [20.74, 14.4, 12] \huge +[11, 10, 9]]; +var sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if +// you change size indexes, change that function. +0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488]; + +var sizeAtStyle = function sizeAtStyle(size, style) { + return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1]; +}; // In these types, "" (empty string) means "no change". + + +/** + * This is the main options class. It contains the current style, size, color, + * and font. + * + * Options objects should not be modified. To create a new Options with + * different properties, call a `.having*` method. + */ +var Options_Options = +/*#__PURE__*/ +function () { + // A font family applies to a group of fonts (i.e. SansSerif), while a font + // represents a specific font (i.e. SansSerif Bold). + // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm + + /** + * The base size index. + */ + function Options(data) { + this.style = void 0; + this.color = void 0; + this.size = void 0; + this.textSize = void 0; + this.phantom = void 0; + this.font = void 0; + this.fontFamily = void 0; + this.fontWeight = void 0; + this.fontShape = void 0; + this.sizeMultiplier = void 0; + this.maxSize = void 0; + this.minRuleThickness = void 0; + this._fontMetrics = void 0; + this.style = data.style; + this.color = data.color; + this.size = data.size || Options.BASESIZE; + this.textSize = data.textSize || this.size; + this.phantom = !!data.phantom; + this.font = data.font || ""; + this.fontFamily = data.fontFamily || ""; + this.fontWeight = data.fontWeight || ''; + this.fontShape = data.fontShape || ''; + this.sizeMultiplier = sizeMultipliers[this.size - 1]; + this.maxSize = data.maxSize; + this.minRuleThickness = data.minRuleThickness; + this._fontMetrics = undefined; + } + /** + * Returns a new options object with the same properties as "this". Properties + * from "extension" will be copied to the new options object. + */ + + + var _proto = Options.prototype; + + _proto.extend = function extend(extension) { + var data = { + style: this.style, + size: this.size, + textSize: this.textSize, + color: this.color, + phantom: this.phantom, + font: this.font, + fontFamily: this.fontFamily, + fontWeight: this.fontWeight, + fontShape: this.fontShape, + maxSize: this.maxSize, + minRuleThickness: this.minRuleThickness + }; + + for (var key in extension) { + if (extension.hasOwnProperty(key)) { + data[key] = extension[key]; + } + } + + return new Options(data); + } + /** + * Return an options object with the given style. If `this.style === style`, + * returns `this`. + */ + ; + + _proto.havingStyle = function havingStyle(style) { + if (this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: sizeAtStyle(this.textSize, style) + }); + } + } + /** + * Return an options object with a cramped version of the current style. If + * the current style is cramped, returns `this`. + */ + ; + + _proto.havingCrampedStyle = function havingCrampedStyle() { + return this.havingStyle(this.style.cramp()); + } + /** + * Return an options object with the given size and in at least `\textstyle`. + * Returns `this` if appropriate. + */ + ; + + _proto.havingSize = function havingSize(size) { + if (this.size === size && this.textSize === size) { + return this; + } else { + return this.extend({ + style: this.style.text(), + size: size, + textSize: size, + sizeMultiplier: sizeMultipliers[size - 1] + }); + } + } + /** + * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted, + * changes to at least `\textstyle`. + */ + ; + + _proto.havingBaseStyle = function havingBaseStyle(style) { + style = style || this.style.text(); + var wantSize = sizeAtStyle(Options.BASESIZE, style); + + if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: wantSize + }); + } + } + /** + * Remove the effect of sizing changes such as \Huge. + * Keep the effect of the current style, such as \scriptstyle. + */ + ; + + _proto.havingBaseSizing = function havingBaseSizing() { + var size; + + switch (this.style.id) { + case 4: + case 5: + size = 3; // normalsize in scriptstyle + + break; + + case 6: + case 7: + size = 1; // normalsize in scriptscriptstyle + + break; + + default: + size = 6; + // normalsize in textstyle or displaystyle + } + + return this.extend({ + style: this.style.text(), + size: size + }); + } + /** + * Create a new options object with the given color. + */ + ; + + _proto.withColor = function withColor(color) { + return this.extend({ + color: color + }); + } + /** + * Create a new options object with "phantom" set to true. + */ + ; + + _proto.withPhantom = function withPhantom() { + return this.extend({ + phantom: true + }); + } + /** + * Creates a new options object with the given math font or old text font. + * @type {[type]} + */ + ; + + _proto.withFont = function withFont(font) { + return this.extend({ + font: font + }); + } + /** + * Create a new options objects with the given fontFamily. + */ + ; + + _proto.withTextFontFamily = function withTextFontFamily(fontFamily) { + return this.extend({ + fontFamily: fontFamily, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + ; + + _proto.withTextFontWeight = function withTextFontWeight(fontWeight) { + return this.extend({ + fontWeight: fontWeight, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + ; + + _proto.withTextFontShape = function withTextFontShape(fontShape) { + return this.extend({ + fontShape: fontShape, + font: "" + }); + } + /** + * Return the CSS sizing classes required to switch from enclosing options + * `oldOptions` to `this`. Returns an array of classes. + */ + ; + + _proto.sizingClasses = function sizingClasses(oldOptions) { + if (oldOptions.size !== this.size) { + return ["sizing", "reset-size" + oldOptions.size, "size" + this.size]; + } else { + return []; + } + } + /** + * Return the CSS sizing classes required to switch to the base size. Like + * `this.havingSize(BASESIZE).sizingClasses(this)`. + */ + ; + + _proto.baseSizingClasses = function baseSizingClasses() { + if (this.size !== Options.BASESIZE) { + return ["sizing", "reset-size" + this.size, "size" + Options.BASESIZE]; + } else { + return []; + } + } + /** + * Return the font metrics for this size. + */ + ; + + _proto.fontMetrics = function fontMetrics() { + if (!this._fontMetrics) { + this._fontMetrics = getGlobalMetrics(this.size); + } + + return this._fontMetrics; + } + /** + * Gets the CSS color of the current options object + */ + ; + + _proto.getColor = function getColor() { + if (this.phantom) { + return "transparent"; + } else { + return this.color; + } + }; + + return Options; +}(); + +Options_Options.BASESIZE = 6; +/* harmony default export */ var src_Options = (Options_Options); +// CONCATENATED MODULE: ./src/units.js +/** + * This file does conversion between units. In particular, it provides + * calculateSize to convert other units into ems. + */ + + // This table gives the number of TeX pts in one of each *absolute* TeX unit. +// Thus, multiplying a length by this number converts the length from units +// into pts. Dividing the result by ptPerEm gives the number of ems +// *assuming* a font size of ptPerEm (normal size, normal style). + +var ptPerUnit = { + // https://en.wikibooks.org/wiki/LaTeX/Lengths and + // https://tex.stackexchange.com/a/8263 + "pt": 1, + // TeX point + "mm": 7227 / 2540, + // millimeter + "cm": 7227 / 254, + // centimeter + "in": 72.27, + // inch + "bp": 803 / 800, + // big (PostScript) points + "pc": 12, + // pica + "dd": 1238 / 1157, + // didot + "cc": 14856 / 1157, + // cicero (12 didot) + "nd": 685 / 642, + // new didot + "nc": 1370 / 107, + // new cicero (12 new didot) + "sp": 1 / 65536, + // scaled point (TeX's internal smallest unit) + // https://tex.stackexchange.com/a/41371 + "px": 803 / 800 // \pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX + +}; // Dictionary of relative units, for fast validity testing. + +var relativeUnit = { + "ex": true, + "em": true, + "mu": true +}; + +/** + * Determine whether the specified unit (either a string defining the unit + * or a "size" parse node containing a unit field) is valid. + */ +var validUnit = function validUnit(unit) { + if (typeof unit !== "string") { + unit = unit.unit; + } + + return unit in ptPerUnit || unit in relativeUnit || unit === "ex"; +}; +/* + * Convert a "size" parse node (with numeric "number" and string "unit" fields, + * as parsed by functions.js argType "size") into a CSS em value for the + * current style/scale. `options` gives the current options. + */ + +var units_calculateSize = function calculateSize(sizeValue, options) { + var scale; + + if (sizeValue.unit in ptPerUnit) { + // Absolute units + scale = ptPerUnit[sizeValue.unit] // Convert unit to pt + / options.fontMetrics().ptPerEm // Convert pt to CSS em + / options.sizeMultiplier; // Unscale to make absolute units + } else if (sizeValue.unit === "mu") { + // `mu` units scale with scriptstyle/scriptscriptstyle. + scale = options.fontMetrics().cssEmPerMu; + } else { + // Other relative units always refer to the *textstyle* font + // in the current size. + var unitOptions; + + if (options.style.isTight()) { + // isTight() means current style is script/scriptscript. + unitOptions = options.havingStyle(options.style.text()); + } else { + unitOptions = options; + } // TODO: In TeX these units are relative to the quad of the current + // *text* font, e.g. cmr10. KaTeX instead uses values from the + // comparably-sized *Computer Modern symbol* font. At 10pt, these + // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641; + // cmr5=1.361133, cmsy5=1.472241. Consider $\scriptsize a\kern1emb$. + // TeX \showlists shows a kern of 1.13889 * fontsize; + // KaTeX shows a kern of 1.171 * fontsize. + + + if (sizeValue.unit === "ex") { + scale = unitOptions.fontMetrics().xHeight; + } else if (sizeValue.unit === "em") { + scale = unitOptions.fontMetrics().quad; + } else { + throw new src_ParseError("Invalid unit: '" + sizeValue.unit + "'"); + } + + if (unitOptions !== options) { + scale *= unitOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + return Math.min(sizeValue.number * scale, options.maxSize); +}; +// CONCATENATED MODULE: ./src/buildCommon.js +/* eslint no-console:0 */ + +/** + * This module contains general functions that can be used for building + * different kinds of domTree nodes in a consistent manner. + */ + + + + + + + +/** + * Looks up the given symbol in fontMetrics, after applying any symbol + * replacements defined in symbol.js + */ +var buildCommon_lookupSymbol = function lookupSymbol(value, // TODO(#963): Use a union type for this. +fontName, mode) { + // Replace the value with its replaced value from symbol.js + if (src_symbols[mode][value] && src_symbols[mode][value].replace) { + value = src_symbols[mode][value].replace; + } + + return { + value: value, + metrics: getCharacterMetrics(value, fontName, mode) + }; +}; +/** + * Makes a symbolNode after translation via the list of symbols in symbols.js. + * Correctly pulls out metrics for the character, and optionally takes a list of + * classes to be attached to the node. + * + * TODO: make argument order closer to makeSpan + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + * TODO(#953): Make `options` mandatory and always pass it in. + */ + + +var buildCommon_makeSymbol = function makeSymbol(value, fontName, mode, options, classes) { + var lookup = buildCommon_lookupSymbol(value, fontName, mode); + var metrics = lookup.metrics; + value = lookup.value; + var symbolNode; + + if (metrics) { + var italic = metrics.italic; + + if (mode === "text" || options && options.font === "mathit") { + italic = 0; + } + + symbolNode = new domTree_SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes); + } else { + // TODO(emily): Figure out a good way to only print this in development + typeof console !== "undefined" && console.warn("No character metrics " + ("for '" + value + "' in style '" + fontName + "' and mode '" + mode + "'")); + symbolNode = new domTree_SymbolNode(value, 0, 0, 0, 0, 0, classes); + } + + if (options) { + symbolNode.maxFontSize = options.sizeMultiplier; + + if (options.style.isTight()) { + symbolNode.classes.push("mtight"); + } + + var color = options.getColor(); + + if (color) { + symbolNode.style.color = color; + } + } + + return symbolNode; +}; +/** + * Makes a symbol in Main-Regular or AMS-Regular. + * Used for rel, bin, open, close, inner, and punct. + */ + + +var buildCommon_mathsym = function mathsym(value, mode, options, classes) { + if (classes === void 0) { + classes = []; + } + + // Decide what font to render the symbol in by its entry in the symbols + // table. + // Have a special case for when the value = \ because the \ is used as a + // textord in unsupported command errors but cannot be parsed as a regular + // text ordinal and is therefore not present as a symbol in the symbols + // table for text, as well as a special case for boldsymbol because it + // can be used for bold + and - + if (options.font === "boldsymbol" && buildCommon_lookupSymbol(value, "Main-Bold", mode).metrics) { + return buildCommon_makeSymbol(value, "Main-Bold", mode, options, classes.concat(["mathbf"])); + } else if (value === "\\" || src_symbols[mode][value].font === "main") { + return buildCommon_makeSymbol(value, "Main-Regular", mode, options, classes); + } else { + return buildCommon_makeSymbol(value, "AMS-Regular", mode, options, classes.concat(["amsrm"])); + } +}; +/** + * Determines which of the two font names (Main-Bold and Math-BoldItalic) and + * corresponding style tags (mathbf or boldsymbol) to use for font "boldsymbol", + * depending on the symbol. Use this function instead of fontMap for font + * "boldsymbol". + */ + + +var boldsymbol = function boldsymbol(value, mode, options, classes, type) { + if (type !== "textord" && buildCommon_lookupSymbol(value, "Math-BoldItalic", mode).metrics) { + return { + fontName: "Math-BoldItalic", + fontClass: "boldsymbol" + }; + } else { + // Some glyphs do not exist in Math-BoldItalic so we need to use + // Main-Bold instead. + return { + fontName: "Main-Bold", + fontClass: "mathbf" + }; + } +}; +/** + * Makes either a mathord or textord in the correct font and color. + */ + + +var buildCommon_makeOrd = function makeOrd(group, options, type) { + var mode = group.mode; + var text = group.text; + var classes = ["mord"]; // Math mode or Old font (i.e. \rm) + + var isFont = mode === "math" || mode === "text" && options.font; + var fontOrFamily = isFont ? options.font : options.fontFamily; + + if (text.charCodeAt(0) === 0xD835) { + // surrogate pairs get special treatment + var _wideCharacterFont = wide_character_wideCharacterFont(text, mode), + wideFontName = _wideCharacterFont[0], + wideFontClass = _wideCharacterFont[1]; + + return buildCommon_makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass)); + } else if (fontOrFamily) { + var fontName; + var fontClasses; + + if (fontOrFamily === "boldsymbol") { + var fontData = boldsymbol(text, mode, options, classes, type); + fontName = fontData.fontName; + fontClasses = [fontData.fontClass]; + } else if (isFont) { + fontName = fontMap[fontOrFamily].fontName; + fontClasses = [fontOrFamily]; + } else { + fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape); + fontClasses = [fontOrFamily, options.fontWeight, options.fontShape]; + } + + if (buildCommon_lookupSymbol(text, fontName, mode).metrics) { + return buildCommon_makeSymbol(text, fontName, mode, options, classes.concat(fontClasses)); + } else if (ligatures.hasOwnProperty(text) && fontName.substr(0, 10) === "Typewriter") { + // Deconstruct ligatures in monospace fonts (\texttt, \tt). + var parts = []; + + for (var i = 0; i < text.length; i++) { + parts.push(buildCommon_makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses))); + } + + return buildCommon_makeFragment(parts); + } + } // Makes a symbol in the default font for mathords and textords. + + + if (type === "mathord") { + return buildCommon_makeSymbol(text, "Math-Italic", mode, options, classes.concat(["mathnormal"])); + } else if (type === "textord") { + var font = src_symbols[mode][text] && src_symbols[mode][text].font; + + if (font === "ams") { + var _fontName = retrieveTextFontName("amsrm", options.fontWeight, options.fontShape); + + return buildCommon_makeSymbol(text, _fontName, mode, options, classes.concat("amsrm", options.fontWeight, options.fontShape)); + } else if (font === "main" || !font) { + var _fontName2 = retrieveTextFontName("textrm", options.fontWeight, options.fontShape); + + return buildCommon_makeSymbol(text, _fontName2, mode, options, classes.concat(options.fontWeight, options.fontShape)); + } else { + // fonts added by plugins + var _fontName3 = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class + + + return buildCommon_makeSymbol(text, _fontName3, mode, options, classes.concat(_fontName3, options.fontWeight, options.fontShape)); + } + } else { + throw new Error("unexpected type: " + type + " in makeOrd"); + } +}; +/** + * Returns true if subsequent symbolNodes have the same classes, skew, maxFont, + * and styles. + */ + + +var buildCommon_canCombine = function canCombine(prev, next) { + if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) { + return false; + } + + for (var style in prev.style) { + if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) { + return false; + } + } + + for (var _style in next.style) { + if (next.style.hasOwnProperty(_style) && prev.style[_style] !== next.style[_style]) { + return false; + } + } + + return true; +}; +/** + * Combine consequetive domTree.symbolNodes into a single symbolNode. + * Note: this function mutates the argument. + */ + + +var buildCommon_tryCombineChars = function tryCombineChars(chars) { + for (var i = 0; i < chars.length - 1; i++) { + var prev = chars[i]; + var next = chars[i + 1]; + + if (prev instanceof domTree_SymbolNode && next instanceof domTree_SymbolNode && buildCommon_canCombine(prev, next)) { + prev.text += next.text; + prev.height = Math.max(prev.height, next.height); + prev.depth = Math.max(prev.depth, next.depth); // Use the last character's italic correction since we use + // it to add padding to the right of the span created from + // the combined characters. + + prev.italic = next.italic; + chars.splice(i + 1, 1); + i--; + } + } + + return chars; +}; +/** + * Calculate the height, depth, and maxFontSize of an element based on its + * children. + */ + + +var sizeElementFromChildren = function sizeElementFromChildren(elem) { + var height = 0; + var depth = 0; + var maxFontSize = 0; + + for (var i = 0; i < elem.children.length; i++) { + var child = elem.children[i]; + + if (child.height > height) { + height = child.height; + } + + if (child.depth > depth) { + depth = child.depth; + } + + if (child.maxFontSize > maxFontSize) { + maxFontSize = child.maxFontSize; + } + } + + elem.height = height; + elem.depth = depth; + elem.maxFontSize = maxFontSize; +}; +/** + * Makes a span with the given list of classes, list of children, and options. + * + * TODO(#953): Ensure that `options` is always provided (currently some call + * sites don't pass it) and make the type below mandatory. + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + */ + + +var buildCommon_makeSpan = function makeSpan(classes, children, options, style) { + var span = new domTree_Span(classes, children, options, style); + sizeElementFromChildren(span); + return span; +}; // SVG one is simpler -- doesn't require height, depth, max-font setting. +// This is also a separate method for typesafety. + + +var buildCommon_makeSvgSpan = function makeSvgSpan(classes, children, options, style) { + return new domTree_Span(classes, children, options, style); +}; + +var makeLineSpan = function makeLineSpan(className, options, thickness) { + var line = buildCommon_makeSpan([className], [], options); + line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness); + line.style.borderBottomWidth = line.height + "em"; + line.maxFontSize = 1.0; + return line; +}; +/** + * Makes an anchor with the given href, list of classes, list of children, + * and options. + */ + + +var buildCommon_makeAnchor = function makeAnchor(href, classes, children, options) { + var anchor = new domTree_Anchor(href, classes, children, options); + sizeElementFromChildren(anchor); + return anchor; +}; +/** + * Makes a document fragment with the given list of children. + */ + + +var buildCommon_makeFragment = function makeFragment(children) { + var fragment = new tree_DocumentFragment(children); + sizeElementFromChildren(fragment); + return fragment; +}; +/** + * Wraps group in a span if it's a document fragment, allowing to apply classes + * and styles + */ + + +var buildCommon_wrapFragment = function wrapFragment(group, options) { + if (group instanceof tree_DocumentFragment) { + return buildCommon_makeSpan([], [group], options); + } + + return group; +}; // These are exact object types to catch typos in the names of the optional fields. + + +// Computes the updated `children` list and the overall depth. +// +// This helper function for makeVList makes it easier to enforce type safety by +// allowing early exits (returns) in the logic. +var getVListChildrenAndDepth = function getVListChildrenAndDepth(params) { + if (params.positionType === "individualShift") { + var oldChildren = params.children; + var children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be + // shifted to the correct specified shift + + var _depth = -oldChildren[0].shift - oldChildren[0].elem.depth; + + var currPos = _depth; + + for (var i = 1; i < oldChildren.length; i++) { + var diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth; + var size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth); + currPos = currPos + diff; + children.push({ + type: "kern", + size: size + }); + children.push(oldChildren[i]); + } + + return { + children: children, + depth: _depth + }; + } + + var depth; + + if (params.positionType === "top") { + // We always start at the bottom, so calculate the bottom by adding up + // all the sizes + var bottom = params.positionData; + + for (var _i = 0; _i < params.children.length; _i++) { + var child = params.children[_i]; + bottom -= child.type === "kern" ? child.size : child.elem.height + child.elem.depth; + } + + depth = bottom; + } else if (params.positionType === "bottom") { + depth = -params.positionData; + } else { + var firstChild = params.children[0]; + + if (firstChild.type !== "elem") { + throw new Error('First child must have type "elem".'); + } + + if (params.positionType === "shift") { + depth = -firstChild.elem.depth - params.positionData; + } else if (params.positionType === "firstBaseline") { + depth = -firstChild.elem.depth; + } else { + throw new Error("Invalid positionType " + params.positionType + "."); + } + } + + return { + children: params.children, + depth: depth + }; +}; +/** + * Makes a vertical list by stacking elements and kerns on top of each other. + * Allows for many different ways of specifying the positioning method. + * + * See VListParam documentation above. + */ + + +var buildCommon_makeVList = function makeVList(params, options) { + var _getVListChildrenAndD = getVListChildrenAndDepth(params), + children = _getVListChildrenAndD.children, + depth = _getVListChildrenAndD.depth; // Create a strut that is taller than any list item. The strut is added to + // each item, where it will determine the item's baseline. Since it has + // `overflow:hidden`, the strut's top edge will sit on the item's line box's + // top edge and the strut's bottom edge will sit on the item's baseline, + // with no additional line-height spacing. This allows the item baseline to + // be positioned precisely without worrying about font ascent and + // line-height. + + + var pstrutSize = 0; + + for (var i = 0; i < children.length; i++) { + var child = children[i]; + + if (child.type === "elem") { + var elem = child.elem; + pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height); + } + } + + pstrutSize += 2; + var pstrut = buildCommon_makeSpan(["pstrut"], []); + pstrut.style.height = pstrutSize + "em"; // Create a new list of actual children at the correct offsets + + var realChildren = []; + var minPos = depth; + var maxPos = depth; + var currPos = depth; + + for (var _i2 = 0; _i2 < children.length; _i2++) { + var _child = children[_i2]; + + if (_child.type === "kern") { + currPos += _child.size; + } else { + var _elem = _child.elem; + var classes = _child.wrapperClasses || []; + var style = _child.wrapperStyle || {}; + var childWrap = buildCommon_makeSpan(classes, [pstrut, _elem], undefined, style); + childWrap.style.top = -pstrutSize - currPos - _elem.depth + "em"; + + if (_child.marginLeft) { + childWrap.style.marginLeft = _child.marginLeft; + } + + if (_child.marginRight) { + childWrap.style.marginRight = _child.marginRight; + } + + realChildren.push(childWrap); + currPos += _elem.height + _elem.depth; + } + + minPos = Math.min(minPos, currPos); + maxPos = Math.max(maxPos, currPos); + } // The vlist contents go in a table-cell with `vertical-align:bottom`. + // This cell's bottom edge will determine the containing table's baseline + // without overly expanding the containing line-box. + + + var vlist = buildCommon_makeSpan(["vlist"], realChildren); + vlist.style.height = maxPos + "em"; // A second row is used if necessary to represent the vlist's depth. + + var rows; + + if (minPos < 0) { + // We will define depth in an empty span with display: table-cell. + // It should render with the height that we define. But Chrome, in + // contenteditable mode only, treats that span as if it contains some + // text content. And that min-height over-rides our desired height. + // So we put another empty span inside the depth strut span. + var emptySpan = buildCommon_makeSpan([], []); + var depthStrut = buildCommon_makeSpan(["vlist"], [emptySpan]); + depthStrut.style.height = -minPos + "em"; // Safari wants the first row to have inline content; otherwise it + // puts the bottom of the *second* row on the baseline. + + var topStrut = buildCommon_makeSpan(["vlist-s"], [new domTree_SymbolNode("\u200B")]); + rows = [buildCommon_makeSpan(["vlist-r"], [vlist, topStrut]), buildCommon_makeSpan(["vlist-r"], [depthStrut])]; + } else { + rows = [buildCommon_makeSpan(["vlist-r"], [vlist])]; + } + + var vtable = buildCommon_makeSpan(["vlist-t"], rows); + + if (rows.length === 2) { + vtable.classes.push("vlist-t2"); + } + + vtable.height = maxPos; + vtable.depth = -minPos; + return vtable; +}; // Glue is a concept from TeX which is a flexible space between elements in +// either a vertical or horizontal list. In KaTeX, at least for now, it's +// static space between elements in a horizontal layout. + + +var buildCommon_makeGlue = function makeGlue(measurement, options) { + // Make an empty span for the space + var rule = buildCommon_makeSpan(["mspace"], [], options); + var size = units_calculateSize(measurement, options); + rule.style.marginRight = size + "em"; + return rule; +}; // Takes font options, and returns the appropriate fontLookup name + + +var retrieveTextFontName = function retrieveTextFontName(fontFamily, fontWeight, fontShape) { + var baseFontName = ""; + + switch (fontFamily) { + case "amsrm": + baseFontName = "AMS"; + break; + + case "textrm": + baseFontName = "Main"; + break; + + case "textsf": + baseFontName = "SansSerif"; + break; + + case "texttt": + baseFontName = "Typewriter"; + break; + + default: + baseFontName = fontFamily; + // use fonts added by a plugin + } + + var fontStylesName; + + if (fontWeight === "textbf" && fontShape === "textit") { + fontStylesName = "BoldItalic"; + } else if (fontWeight === "textbf") { + fontStylesName = "Bold"; + } else if (fontWeight === "textit") { + fontStylesName = "Italic"; + } else { + fontStylesName = "Regular"; + } + + return baseFontName + "-" + fontStylesName; +}; +/** + * Maps TeX font commands to objects containing: + * - variant: string used for "mathvariant" attribute in buildMathML.js + * - fontName: the "style" parameter to fontMetrics.getCharacterMetrics + */ +// A map between tex font commands an MathML mathvariant attribute values + + +var fontMap = { + // styles + "mathbf": { + variant: "bold", + fontName: "Main-Bold" + }, + "mathrm": { + variant: "normal", + fontName: "Main-Regular" + }, + "textit": { + variant: "italic", + fontName: "Main-Italic" + }, + "mathit": { + variant: "italic", + fontName: "Main-Italic" + }, + "mathnormal": { + variant: "italic", + fontName: "Math-Italic" + }, + // "boldsymbol" is missing because they require the use of multiple fonts: + // Math-BoldItalic and Main-Bold. This is handled by a special case in + // makeOrd which ends up calling boldsymbol. + // families + "mathbb": { + variant: "double-struck", + fontName: "AMS-Regular" + }, + "mathcal": { + variant: "script", + fontName: "Caligraphic-Regular" + }, + "mathfrak": { + variant: "fraktur", + fontName: "Fraktur-Regular" + }, + "mathscr": { + variant: "script", + fontName: "Script-Regular" + }, + "mathsf": { + variant: "sans-serif", + fontName: "SansSerif-Regular" + }, + "mathtt": { + variant: "monospace", + fontName: "Typewriter-Regular" + } +}; +var svgData = { + // path, width, height + vec: ["vec", 0.471, 0.714], + // values from the font glyph + oiintSize1: ["oiintSize1", 0.957, 0.499], + // oval to overlay the integrand + oiintSize2: ["oiintSize2", 1.472, 0.659], + oiiintSize1: ["oiiintSize1", 1.304, 0.499], + oiiintSize2: ["oiiintSize2", 1.98, 0.659], + leftParenInner: ["leftParenInner", 0.875, 0.3], + rightParenInner: ["rightParenInner", 0.875, 0.3] +}; + +var buildCommon_staticSvg = function staticSvg(value, options) { + // Create a span with inline SVG for the element. + var _svgData$value = svgData[value], + pathName = _svgData$value[0], + width = _svgData$value[1], + height = _svgData$value[2]; + var path = new domTree_PathNode(pathName); + var svgNode = new SvgNode([path], { + "width": width + "em", + "height": height + "em", + // Override CSS rule `.katex svg { width: 100% }` + "style": "width:" + width + "em", + "viewBox": "0 0 " + 1000 * width + " " + 1000 * height, + "preserveAspectRatio": "xMinYMin" + }); + var span = buildCommon_makeSvgSpan(["overlay"], [svgNode], options); + span.height = height; + span.style.height = height + "em"; + span.style.width = width + "em"; + return span; +}; + +/* harmony default export */ var buildCommon = ({ + fontMap: fontMap, + makeSymbol: buildCommon_makeSymbol, + mathsym: buildCommon_mathsym, + makeSpan: buildCommon_makeSpan, + makeSvgSpan: buildCommon_makeSvgSpan, + makeLineSpan: makeLineSpan, + makeAnchor: buildCommon_makeAnchor, + makeFragment: buildCommon_makeFragment, + wrapFragment: buildCommon_wrapFragment, + makeVList: buildCommon_makeVList, + makeOrd: buildCommon_makeOrd, + makeGlue: buildCommon_makeGlue, + staticSvg: buildCommon_staticSvg, + svgData: svgData, + tryCombineChars: buildCommon_tryCombineChars +}); +// CONCATENATED MODULE: ./src/spacingData.js +/** + * Describes spaces between different classes of atoms. + */ +var thinspace = { + number: 3, + unit: "mu" +}; +var mediumspace = { + number: 4, + unit: "mu" +}; +var thickspace = { + number: 5, + unit: "mu" +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. + +// Spacing relationships for display and text styles +var spacings = { + mord: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + minner: thinspace + }, + mbin: { + mord: mediumspace, + mop: mediumspace, + mopen: mediumspace, + minner: mediumspace + }, + mrel: { + mord: thickspace, + mop: thickspace, + mopen: thickspace, + minner: thickspace + }, + mopen: {}, + mclose: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mpunct: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + mopen: thinspace, + mclose: thinspace, + mpunct: thinspace, + minner: thinspace + }, + minner: { + mord: thinspace, + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + mopen: thinspace, + mpunct: thinspace, + minner: thinspace + } +}; // Spacing relationships for script and scriptscript styles + +var tightSpacings = { + mord: { + mop: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace + }, + mbin: {}, + mrel: {}, + mopen: {}, + mclose: { + mop: thinspace + }, + mpunct: {}, + minner: { + mop: thinspace + } +}; +// CONCATENATED MODULE: ./src/defineFunction.js +/** Context provided to function handlers for error messages. */ +// Note: reverse the order of the return type union will cause a flow error. +// See https://github.com/facebook/flow/issues/3663. +// More general version of `HtmlBuilder` for nodes (e.g. \sum, accent types) +// whose presence impacts super/subscripting. In this case, ParseNode<"supsub"> +// delegates its HTML building to the HtmlBuilder corresponding to these nodes. + +/** + * Final function spec for use at parse time. + * This is almost identical to `FunctionPropSpec`, except it + * 1. includes the function handler, and + * 2. requires all arguments except argTypes. + * It is generated by `defineFunction()` below. + */ + +/** + * All registered functions. + * `functions.js` just exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary. + */ +var _functions = {}; +/** + * All HTML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +var _htmlGroupBuilders = {}; +/** + * All MathML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +var _mathmlGroupBuilders = {}; +function defineFunction(_ref) { + var type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of functions + var data = { + type: type, + numArgs: props.numArgs, + argTypes: props.argTypes, + greediness: props.greediness === undefined ? 1 : props.greediness, + allowedInText: !!props.allowedInText, + allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath, + numOptionalArgs: props.numOptionalArgs || 0, + infix: !!props.infix, + handler: handler + }; + + for (var i = 0; i < names.length; ++i) { + _functions[names[i]] = data; + } + + if (type) { + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } + } +} +/** + * Use this to register only the HTML and MathML builders for a function (e.g. + * if the function's ParseNode is generated in Parser.js rather than via a + * stand-alone handler provided to `defineFunction`). + */ + +function defineFunctionBuilders(_ref2) { + var type = _ref2.type, + htmlBuilder = _ref2.htmlBuilder, + mathmlBuilder = _ref2.mathmlBuilder; + defineFunction({ + type: type, + names: [], + props: { + numArgs: 0 + }, + handler: function handler() { + throw new Error('Should never be called.'); + }, + htmlBuilder: htmlBuilder, + mathmlBuilder: mathmlBuilder + }); +} // Since the corresponding buildHTML/buildMathML function expects a +// list of elements, we normalize for different kinds of arguments + +var ordargument = function ordargument(arg) { + return arg.type === "ordgroup" ? arg.body : [arg]; +}; +// CONCATENATED MODULE: ./src/buildHTML.js +/** + * This file does the main work of building a domTree structure from a parse + * tree. The entry point is the `buildHTML` function, which takes a parse tree. + * Then, the buildExpression, buildGroup, and various groupBuilders functions + * are called, to produce a final HTML tree. + */ + + + + + + + + +var buildHTML_makeSpan = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`) +// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6, +// and the text before Rule 19. + +var binLeftCanceller = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"]; +var binRightCanceller = ["rightmost", "mrel", "mclose", "mpunct"]; +var styleMap = { + "display": src_Style.DISPLAY, + "text": src_Style.TEXT, + "script": src_Style.SCRIPT, + "scriptscript": src_Style.SCRIPTSCRIPT +}; +var DomEnum = { + mord: "mord", + mop: "mop", + mbin: "mbin", + mrel: "mrel", + mopen: "mopen", + mclose: "mclose", + mpunct: "mpunct", + minner: "minner" +}; + +/** + * Take a list of nodes, build them in order, and return a list of the built + * nodes. documentFragments are flattened into their contents, so the + * returned list contains no fragments. `isRealGroup` is true if `expression` + * is a real group (no atoms will be added on either side), as opposed to + * a partial group (e.g. one created by \color). `surrounding` is an array + * consisting type of nodes that will be added to the left and right. + */ +var buildHTML_buildExpression = function buildExpression(expression, options, isRealGroup, surrounding) { + if (surrounding === void 0) { + surrounding = [null, null]; + } + + // Parse expressions into `groups`. + var groups = []; + + for (var i = 0; i < expression.length; i++) { + var output = buildHTML_buildGroup(expression[i], options); + + if (output instanceof tree_DocumentFragment) { + var children = output.children; + groups.push.apply(groups, children); + } else { + groups.push(output); + } + } // If `expression` is a partial group, let the parent handle spacings + // to avoid processing groups multiple times. + + + if (!isRealGroup) { + return groups; + } + + var glueOptions = options; + + if (expression.length === 1) { + var node = expression[0]; + + if (node.type === "sizing") { + glueOptions = options.havingSize(node.size); + } else if (node.type === "styling") { + glueOptions = options.havingStyle(styleMap[node.style]); + } + } // Dummy spans for determining spacings between surrounding atoms. + // If `expression` has no atoms on the left or right, class "leftmost" + // or "rightmost", respectively, is used to indicate it. + + + var dummyPrev = buildHTML_makeSpan([surrounding[0] || "leftmost"], [], options); + var dummyNext = buildHTML_makeSpan([surrounding[1] || "rightmost"], [], options); // TODO: These code assumes that a node's math class is the first element + // of its `classes` array. A later cleanup should ensure this, for + // instance by changing the signature of `makeSpan`. + // Before determining what spaces to insert, perform bin cancellation. + // Binary operators change to ordinary symbols in some contexts. + + var isRoot = isRealGroup === "root"; + traverseNonSpaceNodes(groups, function (node, prev) { + var prevType = prev.classes[0]; + var type = node.classes[0]; + + if (prevType === "mbin" && utils.contains(binRightCanceller, type)) { + prev.classes[0] = "mord"; + } else if (type === "mbin" && utils.contains(binLeftCanceller, prevType)) { + node.classes[0] = "mord"; + } + }, { + node: dummyPrev + }, dummyNext, isRoot); + traverseNonSpaceNodes(groups, function (node, prev) { + var prevType = getTypeOfDomTree(prev); + var type = getTypeOfDomTree(node); // 'mtight' indicates that the node is script or scriptscript style. + + var space = prevType && type ? node.hasClass("mtight") ? tightSpacings[prevType][type] : spacings[prevType][type] : null; + + if (space) { + // Insert glue (spacing) after the `prev`. + return buildCommon.makeGlue(space, glueOptions); + } + }, { + node: dummyPrev + }, dummyNext, isRoot); + return groups; +}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and +// previous node as arguments, optionally returning a node to insert after the +// previous node. `prev` is an object with the previous node and `insertAfter` +// function to insert after it. `next` is a node that will be added to the right. +// Used for bin cancellation and inserting spacings. + +var traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, prev, next, isRoot) { + if (next) { + // temporarily append the right node, if exists + nodes.push(next); + } + + var i = 0; + + for (; i < nodes.length; i++) { + var node = nodes[i]; + var partialGroup = buildHTML_checkPartialGroup(node); + + if (partialGroup) { + // Recursive DFS + // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array + traverseNonSpaceNodes(partialGroup.children, callback, prev, null, isRoot); + continue; + } // Ignore explicit spaces (e.g., \;, \,) when determining what implicit + // spacing should go between atoms of different classes + + + var nonspace = !node.hasClass("mspace"); + + if (nonspace) { + var result = callback(node, prev.node); + + if (result) { + if (prev.insertAfter) { + prev.insertAfter(result); + } else { + // insert at front + nodes.unshift(result); + i++; + } + } + } + + if (nonspace) { + prev.node = node; + } else if (isRoot && node.hasClass("newline")) { + prev.node = buildHTML_makeSpan(["leftmost"]); // treat like beginning of line + } + + prev.insertAfter = function (index) { + return function (n) { + nodes.splice(index + 1, 0, n); + i++; + }; + }(i); + } + + if (next) { + nodes.pop(); + } +}; // Check if given node is a partial group, i.e., does not affect spacing around. + + +var buildHTML_checkPartialGroup = function checkPartialGroup(node) { + if (node instanceof tree_DocumentFragment || node instanceof domTree_Anchor || node instanceof domTree_Span && node.hasClass("enclosing")) { + return node; + } + + return null; +}; // Return the outermost node of a domTree. + + +var getOutermostNode = function getOutermostNode(node, side) { + var partialGroup = buildHTML_checkPartialGroup(node); + + if (partialGroup) { + var children = partialGroup.children; + + if (children.length) { + if (side === "right") { + return getOutermostNode(children[children.length - 1], "right"); + } else if (side === "left") { + return getOutermostNode(children[0], "left"); + } + } + } + + return node; +}; // Return math atom class (mclass) of a domTree. +// If `side` is given, it will get the type of the outermost node at given side. + + +var getTypeOfDomTree = function getTypeOfDomTree(node, side) { + if (!node) { + return null; + } + + if (side) { + node = getOutermostNode(node, side); + } // This makes a lot of assumptions as to where the type of atom + // appears. We should do a better job of enforcing this. + + + return DomEnum[node.classes[0]] || null; +}; +var makeNullDelimiter = function makeNullDelimiter(options, classes) { + var moreClasses = ["nulldelimiter"].concat(options.baseSizingClasses()); + return buildHTML_makeSpan(classes.concat(moreClasses)); +}; +/** + * buildGroup is the function that takes a group and calls the correct groupType + * function for it. It also handles the interaction of size and style changes + * between parents and children. + */ + +var buildHTML_buildGroup = function buildGroup(group, options, baseOptions) { + if (!group) { + return buildHTML_makeSpan(); + } + + if (_htmlGroupBuilders[group.type]) { + // Call the groupBuilders function + var groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account + // for that size difference. + + if (baseOptions && options.size !== baseOptions.size) { + groupNode = buildHTML_makeSpan(options.sizingClasses(baseOptions), [groupNode], options); + var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; + groupNode.height *= multiplier; + groupNode.depth *= multiplier; + } + + return groupNode; + } else { + throw new src_ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`) + * into an unbreakable HTML node of class .base, with proper struts to + * guarantee correct vertical extent. `buildHTML` calls this repeatedly to + * make up the entire expression as a sequence of unbreakable units. + */ + +function buildHTMLUnbreakable(children, options) { + // Compute height and depth of this chunk. + var body = buildHTML_makeSpan(["base"], children, options); // Add strut, which ensures that the top of the HTML element falls at + // the height of the expression, and the bottom of the HTML element + // falls at the depth of the expression. + + var strut = buildHTML_makeSpan(["strut"]); + strut.style.height = body.height + body.depth + "em"; + strut.style.verticalAlign = -body.depth + "em"; + body.children.unshift(strut); + return body; +} +/** + * Take an entire parse tree, and build it into an appropriate set of HTML + * nodes. + */ + + +function buildHTML(tree, options) { + // Strip off outer tag wrapper for processing below. + var tag = null; + + if (tree.length === 1 && tree[0].type === "tag") { + tag = tree[0].tag; + tree = tree[0].body; + } // Build the expression contained in the tree + + + var expression = buildHTML_buildExpression(tree, options, "root"); + var children = []; // Create one base node for each chunk between potential line breaks. + // The TeXBook [p.173] says "A formula will be broken only after a + // relation symbol like $=$ or $<$ or $\rightarrow$, or after a binary + // operation symbol like $+$ or $-$ or $\times$, where the relation or + // binary operation is on the ``outer level'' of the formula (i.e., not + // enclosed in {...} and not part of an \over construction)." + + var parts = []; + + for (var i = 0; i < expression.length; i++) { + parts.push(expression[i]); + + if (expression[i].hasClass("mbin") || expression[i].hasClass("mrel") || expression[i].hasClass("allowbreak")) { + // Put any post-operator glue on same line as operator. + // Watch for \nobreak along the way, and stop at \newline. + var nobreak = false; + + while (i < expression.length - 1 && expression[i + 1].hasClass("mspace") && !expression[i + 1].hasClass("newline")) { + i++; + parts.push(expression[i]); + + if (expression[i].hasClass("nobreak")) { + nobreak = true; + } + } // Don't allow break if \nobreak among the post-operator glue. + + + if (!nobreak) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } + } else if (expression[i].hasClass("newline")) { + // Write the line except the newline + parts.pop(); + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } // Put the newline at the top level + + + children.push(expression[i]); + } + } + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + } // Now, if there was a tag, build it too and append it as a final child. + + + var tagChild; + + if (tag) { + tagChild = buildHTMLUnbreakable(buildHTML_buildExpression(tag, options, true)); + tagChild.classes = ["tag"]; + children.push(tagChild); + } + + var htmlNode = buildHTML_makeSpan(["katex-html"], children); + htmlNode.setAttribute("aria-hidden", "true"); // Adjust the strut of the tag to be the maximum height of all children + // (the height of the enclosing htmlNode) for proper vertical alignment. + + if (tagChild) { + var strut = tagChild.children[0]; + strut.style.height = htmlNode.height + htmlNode.depth + "em"; + strut.style.verticalAlign = -htmlNode.depth + "em"; + } + + return htmlNode; +} +// CONCATENATED MODULE: ./src/mathMLTree.js +/** + * These objects store data about MathML nodes. This is the MathML equivalent + * of the types in domTree.js. Since MathML handles its own rendering, and + * since we're mainly using MathML to improve accessibility, we don't manage + * any of the styling state that the plain DOM nodes do. + * + * The `toNode` and `toMarkup` functions work simlarly to how they do in + * domTree.js, creating namespaced DOM nodes and HTML text markup respectively. + */ + + +function newDocumentFragment(children) { + return new tree_DocumentFragment(children); +} +/** + * This node represents a general purpose MathML node of any type. The + * constructor requires the type of node to create (for example, `"mo"` or + * `"mspace"`, corresponding to `` and `` tags). + */ + +var mathMLTree_MathNode = +/*#__PURE__*/ +function () { + function MathNode(type, children) { + this.type = void 0; + this.attributes = void 0; + this.children = void 0; + this.type = type; + this.attributes = {}; + this.children = children || []; + } + /** + * Sets an attribute on a MathML node. MathML depends on attributes to convey a + * semantic content, so this is used heavily. + */ + + + var _proto = MathNode.prototype; + + _proto.setAttribute = function setAttribute(name, value) { + this.attributes[name] = value; + } + /** + * Gets an attribute on a MathML node. + */ + ; + + _proto.getAttribute = function getAttribute(name) { + return this.attributes[name]; + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + ; + + _proto.toNode = function toNode() { + var node = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type); + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (var i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + } + /** + * Converts the math node into an HTML markup string. + */ + ; + + _proto.toMarkup = function toMarkup() { + var markup = "<" + this.type; // Add the attributes + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + markup += " " + attr + "=\""; + markup += utils.escape(this.attributes[attr]); + markup += "\""; + } + } + + markup += ">"; + + for (var i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ""; + return markup; + } + /** + * Converts the math node into a string, similar to innerText, but escaped. + */ + ; + + _proto.toText = function toText() { + return this.children.map(function (child) { + return child.toText(); + }).join(""); + }; + + return MathNode; +}(); +/** + * This node represents a piece of text. + */ + +var mathMLTree_TextNode = +/*#__PURE__*/ +function () { + function TextNode(text) { + this.text = void 0; + this.text = text; + } + /** + * Converts the text node into a DOM text node. + */ + + + var _proto2 = TextNode.prototype; + + _proto2.toNode = function toNode() { + return document.createTextNode(this.text); + } + /** + * Converts the text node into escaped HTML markup + * (representing the text itself). + */ + ; + + _proto2.toMarkup = function toMarkup() { + return utils.escape(this.toText()); + } + /** + * Converts the text node into a string + * (representing the text iteself). + */ + ; + + _proto2.toText = function toText() { + return this.text; + }; + + return TextNode; +}(); +/** + * This node represents a space, but may render as or as text, + * depending on the width. + */ + +var SpaceNode = +/*#__PURE__*/ +function () { + /** + * Create a Space node with width given in CSS ems. + */ + function SpaceNode(width) { + this.width = void 0; + this.character = void 0; + this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html + // for a table of space-like characters. We use Unicode + // representations instead of &LongNames; as it's not clear how to + // make the latter via document.createTextNode. + + if (width >= 0.05555 && width <= 0.05556) { + this.character = "\u200A"; //   + } else if (width >= 0.1666 && width <= 0.1667) { + this.character = "\u2009"; //   + } else if (width >= 0.2222 && width <= 0.2223) { + this.character = "\u2005"; //   + } else if (width >= 0.2777 && width <= 0.2778) { + this.character = "\u2005\u200A"; //    + } else if (width >= -0.05556 && width <= -0.05555) { + this.character = "\u200A\u2063"; // ​ + } else if (width >= -0.1667 && width <= -0.1666) { + this.character = "\u2009\u2063"; // ​ + } else if (width >= -0.2223 && width <= -0.2222) { + this.character = "\u205F\u2063"; // ​ + } else if (width >= -0.2778 && width <= -0.2777) { + this.character = "\u2005\u2063"; // ​ + } else { + this.character = null; + } + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + + + var _proto3 = SpaceNode.prototype; + + _proto3.toNode = function toNode() { + if (this.character) { + return document.createTextNode(this.character); + } else { + var node = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mspace"); + node.setAttribute("width", this.width + "em"); + return node; + } + } + /** + * Converts the math node into an HTML markup string. + */ + ; + + _proto3.toMarkup = function toMarkup() { + if (this.character) { + return "" + this.character + ""; + } else { + return ""; + } + } + /** + * Converts the math node into a string, similar to innerText. + */ + ; + + _proto3.toText = function toText() { + if (this.character) { + return this.character; + } else { + return " "; + } + }; + + return SpaceNode; +}(); + +/* harmony default export */ var mathMLTree = ({ + MathNode: mathMLTree_MathNode, + TextNode: mathMLTree_TextNode, + SpaceNode: SpaceNode, + newDocumentFragment: newDocumentFragment +}); +// CONCATENATED MODULE: ./src/buildMathML.js +/** + * This file converts a parse tree into a cooresponding MathML tree. The main + * entry point is the `buildMathML` function, which takes a parse tree from the + * parser. + */ + + + + + + + + + +/** + * Takes a symbol and converts it into a MathML text node after performing + * optional replacement from symbols.js. + */ +var buildMathML_makeText = function makeText(text, mode, options) { + if (src_symbols[mode][text] && src_symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.substr(4, 2) === "tt" || options.font && options.font.substr(4, 2) === "tt"))) { + text = src_symbols[mode][text].replace; + } + + return new mathMLTree.TextNode(text); +}; +/** + * Wrap the given array of nodes in an node if needed, i.e., + * unless the array has length 1. Always returns a single node. + */ + +var buildMathML_makeRow = function makeRow(body) { + if (body.length === 1) { + return body[0]; + } else { + return new mathMLTree.MathNode("mrow", body); + } +}; +/** + * Returns the math variant as a string or null if none is required. + */ + +var buildMathML_getVariant = function getVariant(group, options) { + // Handle \text... font specifiers as best we can. + // MathML has a limited list of allowable mathvariant specifiers; see + // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt + if (options.fontFamily === "texttt") { + return "monospace"; + } else if (options.fontFamily === "textsf") { + if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "sans-serif-bold-italic"; + } else if (options.fontShape === "textit") { + return "sans-serif-italic"; + } else if (options.fontWeight === "textbf") { + return "bold-sans-serif"; + } else { + return "sans-serif"; + } + } else if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "bold-italic"; + } else if (options.fontShape === "textit") { + return "italic"; + } else if (options.fontWeight === "textbf") { + return "bold"; + } + + var font = options.font; + + if (!font || font === "mathnormal") { + return null; + } + + var mode = group.mode; + + if (font === "mathit") { + return "italic"; + } else if (font === "boldsymbol") { + return group.type === "textord" ? "bold" : "bold-italic"; + } else if (font === "mathbf") { + return "bold"; + } else if (font === "mathbb") { + return "double-struck"; + } else if (font === "mathfrak") { + return "fraktur"; + } else if (font === "mathscr" || font === "mathcal") { + // MathML makes no distinction between script and caligrahpic + return "script"; + } else if (font === "mathsf") { + return "sans-serif"; + } else if (font === "mathtt") { + return "monospace"; + } + + var text = group.text; + + if (utils.contains(["\\imath", "\\jmath"], text)) { + return null; + } + + if (src_symbols[mode][text] && src_symbols[mode][text].replace) { + text = src_symbols[mode][text].replace; + } + + var fontName = buildCommon.fontMap[font].fontName; + + if (getCharacterMetrics(text, fontName, mode)) { + return buildCommon.fontMap[font].variant; + } + + return null; +}; +/** + * Takes a list of nodes, builds them, and returns a list of the generated + * MathML nodes. Also combine consecutive outputs into a single + * tag. + */ + +var buildMathML_buildExpression = function buildExpression(expression, options, isOrdgroup) { + if (expression.length === 1) { + var group = buildMathML_buildGroup(expression[0], options); + + if (isOrdgroup && group instanceof mathMLTree_MathNode && group.type === "mo") { + // When TeX writers want to suppress spacing on an operator, + // they often put the operator by itself inside braces. + group.setAttribute("lspace", "0em"); + group.setAttribute("rspace", "0em"); + } + + return [group]; + } + + var groups = []; + var lastGroup; + + for (var i = 0; i < expression.length; i++) { + var _group = buildMathML_buildGroup(expression[i], options); + + if (_group instanceof mathMLTree_MathNode && lastGroup instanceof mathMLTree_MathNode) { + // Concatenate adjacent s + if (_group.type === 'mtext' && lastGroup.type === 'mtext' && _group.getAttribute('mathvariant') === lastGroup.getAttribute('mathvariant')) { + var _lastGroup$children; + + (_lastGroup$children = lastGroup.children).push.apply(_lastGroup$children, _group.children); + + continue; // Concatenate adjacent s + } else if (_group.type === 'mn' && lastGroup.type === 'mn') { + var _lastGroup$children2; + + (_lastGroup$children2 = lastGroup.children).push.apply(_lastGroup$children2, _group.children); + + continue; // Concatenate ... followed by . + } else if (_group.type === 'mi' && _group.children.length === 1 && lastGroup.type === 'mn') { + var child = _group.children[0]; + + if (child instanceof mathMLTree_TextNode && child.text === '.') { + var _lastGroup$children3; + + (_lastGroup$children3 = lastGroup.children).push.apply(_lastGroup$children3, _group.children); + + continue; + } + } else if (lastGroup.type === 'mi' && lastGroup.children.length === 1) { + var lastChild = lastGroup.children[0]; + + if (lastChild instanceof mathMLTree_TextNode && lastChild.text === "\u0338" && (_group.type === 'mo' || _group.type === 'mi' || _group.type === 'mn')) { + var _child = _group.children[0]; + + if (_child instanceof mathMLTree_TextNode && _child.text.length > 0) { + // Overlay with combining character long solidus + _child.text = _child.text.slice(0, 1) + "\u0338" + _child.text.slice(1); + groups.pop(); + } + } + } + } + + groups.push(_group); + lastGroup = _group; + } + + return groups; +}; +/** + * Equivalent to buildExpression, but wraps the elements in an + * if there's more than one. Returns a single node instead of an array. + */ + +var buildExpressionRow = function buildExpressionRow(expression, options, isOrdgroup) { + return buildMathML_makeRow(buildMathML_buildExpression(expression, options, isOrdgroup)); +}; +/** + * Takes a group from the parser and calls the appropriate groupBuilders function + * on it to produce a MathML node. + */ + +var buildMathML_buildGroup = function buildGroup(group, options) { + if (!group) { + return new mathMLTree.MathNode("mrow"); + } + + if (_mathmlGroupBuilders[group.type]) { + // Call the groupBuilders function + var result = _mathmlGroupBuilders[group.type](group, options); + return result; + } else { + throw new src_ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Takes a full parse tree and settings and builds a MathML representation of + * it. In particular, we put the elements from building the parse tree into a + * tag so we can also include that TeX source as an annotation. + * + * Note that we actually return a domTree element with a `` inside it so + * we can do appropriate styling. + */ + +function buildMathML(tree, texExpression, options, isDisplayMode, forMathmlOnly) { + var expression = buildMathML_buildExpression(tree, options); // Wrap up the expression in an mrow so it is presented in the semantics + // tag correctly, unless it's a single or . + + var wrapper; + + if (expression.length === 1 && expression[0] instanceof mathMLTree_MathNode && utils.contains(["mrow", "mtable"], expression[0].type)) { + wrapper = expression[0]; + } else { + wrapper = new mathMLTree.MathNode("mrow", expression); + } // Build a TeX annotation of the source + + + var annotation = new mathMLTree.MathNode("annotation", [new mathMLTree.TextNode(texExpression)]); + annotation.setAttribute("encoding", "application/x-tex"); + var semantics = new mathMLTree.MathNode("semantics", [wrapper, annotation]); + var math = new mathMLTree.MathNode("math", [semantics]); + math.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML"); + + if (isDisplayMode) { + math.setAttribute("display", "block"); + } // You can't style nodes, so we wrap the node in a span. + // NOTE: The span class is not typed to have nodes as children, and + // we don't want to make the children type more generic since the children + // of span are expected to have more fields in `buildHtml` contexts. + + + var wrapperClass = forMathmlOnly ? "katex" : "katex-mathml"; // $FlowFixMe + + return buildCommon.makeSpan([wrapperClass], [math]); +} +// CONCATENATED MODULE: ./src/buildTree.js + + + + + + + +var buildTree_optionsFromSettings = function optionsFromSettings(settings) { + return new src_Options({ + style: settings.displayMode ? src_Style.DISPLAY : src_Style.TEXT, + maxSize: settings.maxSize, + minRuleThickness: settings.minRuleThickness + }); +}; + +var buildTree_displayWrap = function displayWrap(node, settings) { + if (settings.displayMode) { + var classes = ["katex-display"]; + + if (settings.leqno) { + classes.push("leqno"); + } + + if (settings.fleqn) { + classes.push("fleqn"); + } + + node = buildCommon.makeSpan(classes, [node]); + } + + return node; +}; + +var buildTree_buildTree = function buildTree(tree, expression, settings) { + var options = buildTree_optionsFromSettings(settings); + var katexNode; + + if (settings.output === "mathml") { + return buildMathML(tree, expression, options, settings.displayMode, true); + } else if (settings.output === "html") { + var htmlNode = buildHTML(tree, options); + katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + } else { + var mathMLNode = buildMathML(tree, expression, options, settings.displayMode, false); + + var _htmlNode = buildHTML(tree, options); + + katexNode = buildCommon.makeSpan(["katex"], [mathMLNode, _htmlNode]); + } + + return buildTree_displayWrap(katexNode, settings); +}; +var buildTree_buildHTMLTree = function buildHTMLTree(tree, expression, settings) { + var options = buildTree_optionsFromSettings(settings); + var htmlNode = buildHTML(tree, options); + var katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + return buildTree_displayWrap(katexNode, settings); +}; +/* harmony default export */ var src_buildTree = (buildTree_buildTree); +// CONCATENATED MODULE: ./src/stretchy.js +/** + * This file provides support to buildMathML.js and buildHTML.js + * for stretchy wide elements rendered from SVG files + * and other CSS trickery. + */ + + + + +var stretchyCodePoint = { + widehat: "^", + widecheck: "ˇ", + widetilde: "~", + utilde: "~", + overleftarrow: "\u2190", + underleftarrow: "\u2190", + xleftarrow: "\u2190", + overrightarrow: "\u2192", + underrightarrow: "\u2192", + xrightarrow: "\u2192", + underbrace: "\u23DF", + overbrace: "\u23DE", + overgroup: "\u23E0", + undergroup: "\u23E1", + overleftrightarrow: "\u2194", + underleftrightarrow: "\u2194", + xleftrightarrow: "\u2194", + Overrightarrow: "\u21D2", + xRightarrow: "\u21D2", + overleftharpoon: "\u21BC", + xleftharpoonup: "\u21BC", + overrightharpoon: "\u21C0", + xrightharpoonup: "\u21C0", + xLeftarrow: "\u21D0", + xLeftrightarrow: "\u21D4", + xhookleftarrow: "\u21A9", + xhookrightarrow: "\u21AA", + xmapsto: "\u21A6", + xrightharpoondown: "\u21C1", + xleftharpoondown: "\u21BD", + xrightleftharpoons: "\u21CC", + xleftrightharpoons: "\u21CB", + xtwoheadleftarrow: "\u219E", + xtwoheadrightarrow: "\u21A0", + xlongequal: "=", + xtofrom: "\u21C4", + xrightleftarrows: "\u21C4", + xrightequilibrium: "\u21CC", + // Not a perfect match. + xleftequilibrium: "\u21CB" // None better available. + +}; + +var stretchy_mathMLnode = function mathMLnode(label) { + var node = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(stretchyCodePoint[label.substr(1)])]); + node.setAttribute("stretchy", "true"); + return node; +}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts. +// Copyright (c) 2009-2010, Design Science, Inc. () +// Copyright (c) 2014-2017 Khan Academy () +// Licensed under the SIL Open Font License, Version 1.1. +// See \nhttp://scripts.sil.org/OFL +// Very Long SVGs +// Many of the KaTeX stretchy wide elements use a long SVG image and an +// overflow: hidden tactic to achieve a stretchy image while avoiding +// distortion of arrowheads or brace corners. +// The SVG typically contains a very long (400 em) arrow. +// The SVG is in a container span that has overflow: hidden, so the span +// acts like a window that exposes only part of the SVG. +// The SVG always has a longer, thinner aspect ratio than the container span. +// After the SVG fills 100% of the height of the container span, +// there is a long arrow shaft left over. That left-over shaft is not shown. +// Instead, it is sliced off because the span's CSS has overflow: hidden. +// Thus, the reader sees an arrow that matches the subject matter width +// without distortion. +// Some functions, such as \cancel, need to vary their aspect ratio. These +// functions do not get the overflow SVG treatment. +// Second Brush Stroke +// Low resolution monitors struggle to display images in fine detail. +// So browsers apply anti-aliasing. A long straight arrow shaft therefore +// will sometimes appear as if it has a blurred edge. +// To mitigate this, these SVG files contain a second "brush-stroke" on the +// arrow shafts. That is, a second long thin rectangular SVG path has been +// written directly on top of each arrow shaft. This reinforcement causes +// some of the screen pixels to display as black instead of the anti-aliased +// gray pixel that a single path would generate. So we get arrow shafts +// whose edges appear to be sharper. +// In the katexImagesData object just below, the dimensions all +// correspond to path geometry inside the relevant SVG. +// For example, \overrightarrow uses the same arrowhead as glyph U+2192 +// from the KaTeX Main font. The scaling factor is 1000. +// That is, inside the font, that arrowhead is 522 units tall, which +// corresponds to 0.522 em inside the document. + + +var katexImagesData = { + // path(s), minWidth, height, align + overrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + overleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + underrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + underleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + xrightarrow: [["rightarrow"], 1.469, 522, "xMaxYMin"], + xleftarrow: [["leftarrow"], 1.469, 522, "xMinYMin"], + Overrightarrow: [["doublerightarrow"], 0.888, 560, "xMaxYMin"], + xRightarrow: [["doublerightarrow"], 1.526, 560, "xMaxYMin"], + xLeftarrow: [["doubleleftarrow"], 1.526, 560, "xMinYMin"], + overleftharpoon: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoonup: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoondown: [["leftharpoondown"], 0.888, 522, "xMinYMin"], + overrightharpoon: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoonup: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoondown: [["rightharpoondown"], 0.888, 522, "xMaxYMin"], + xlongequal: [["longequal"], 0.888, 334, "xMinYMin"], + xtwoheadleftarrow: [["twoheadleftarrow"], 0.888, 334, "xMinYMin"], + xtwoheadrightarrow: [["twoheadrightarrow"], 0.888, 334, "xMaxYMin"], + overleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + overbrace: [["leftbrace", "midbrace", "rightbrace"], 1.6, 548], + underbrace: [["leftbraceunder", "midbraceunder", "rightbraceunder"], 1.6, 548], + underleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + xleftrightarrow: [["leftarrow", "rightarrow"], 1.75, 522], + xLeftrightarrow: [["doubleleftarrow", "doublerightarrow"], 1.75, 560], + xrightleftharpoons: [["leftharpoondownplus", "rightharpoonplus"], 1.75, 716], + xleftrightharpoons: [["leftharpoonplus", "rightharpoondownplus"], 1.75, 716], + xhookleftarrow: [["leftarrow", "righthook"], 1.08, 522], + xhookrightarrow: [["lefthook", "rightarrow"], 1.08, 522], + overlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + underlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + overgroup: [["leftgroup", "rightgroup"], 0.888, 342], + undergroup: [["leftgroupunder", "rightgroupunder"], 0.888, 342], + xmapsto: [["leftmapsto", "rightarrow"], 1.5, 522], + xtofrom: [["leftToFrom", "rightToFrom"], 1.75, 528], + // The next three arrows are from the mhchem package. + // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the + // document as \xrightarrow or \xrightleftharpoons. Those have + // min-length = 1.75em, so we set min-length on these next three to match. + xrightleftarrows: [["baraboveleftarrow", "rightarrowabovebar"], 1.75, 901], + xrightequilibrium: [["baraboveshortleftharpoon", "rightharpoonaboveshortbar"], 1.75, 716], + xleftequilibrium: [["shortbaraboveleftharpoon", "shortrightharpoonabovebar"], 1.75, 716] +}; + +var groupLength = function groupLength(arg) { + if (arg.type === "ordgroup") { + return arg.body.length; + } else { + return 1; + } +}; + +var stretchy_svgSpan = function svgSpan(group, options) { + // Create a span with inline SVG for the element. + function buildSvgSpan_() { + var viewBoxWidth = 400000; // default + + var label = group.label.substr(1); + + if (utils.contains(["widehat", "widecheck", "widetilde", "utilde"], label)) { + // Each type in the `if` statement corresponds to one of the ParseNode + // types below. This narrowing is required to access `grp.base`. + var grp = group; // There are four SVG images available for each function. + // Choose a taller image when there are more characters. + + var numChars = groupLength(grp.base); + var viewBoxHeight; + var pathName; + + var _height; + + if (numChars > 5) { + if (label === "widehat" || label === "widecheck") { + viewBoxHeight = 420; + viewBoxWidth = 2364; + _height = 0.42; + pathName = label + "4"; + } else { + viewBoxHeight = 312; + viewBoxWidth = 2340; + _height = 0.34; + pathName = "tilde4"; + } + } else { + var imgIndex = [1, 1, 2, 2, 3, 3][numChars]; + + if (label === "widehat" || label === "widecheck") { + viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex]; + viewBoxHeight = [0, 239, 300, 360, 420][imgIndex]; + _height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex]; + pathName = label + imgIndex; + } else { + viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex]; + viewBoxHeight = [0, 260, 286, 306, 312][imgIndex]; + _height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex]; + pathName = "tilde" + imgIndex; + } + } + + var path = new domTree_PathNode(pathName); + var svgNode = new SvgNode([path], { + "width": "100%", + "height": _height + "em", + "viewBox": "0 0 " + viewBoxWidth + " " + viewBoxHeight, + "preserveAspectRatio": "none" + }); + return { + span: buildCommon.makeSvgSpan([], [svgNode], options), + minWidth: 0, + height: _height + }; + } else { + var spans = []; + var data = katexImagesData[label]; + var paths = data[0], + _minWidth = data[1], + _viewBoxHeight = data[2]; + + var _height2 = _viewBoxHeight / 1000; + + var numSvgChildren = paths.length; + var widthClasses; + var aligns; + + if (numSvgChildren === 1) { + // $FlowFixMe: All these cases must be of the 4-tuple type. + var align1 = data[3]; + widthClasses = ["hide-tail"]; + aligns = [align1]; + } else if (numSvgChildren === 2) { + widthClasses = ["halfarrow-left", "halfarrow-right"]; + aligns = ["xMinYMin", "xMaxYMin"]; + } else if (numSvgChildren === 3) { + widthClasses = ["brace-left", "brace-center", "brace-right"]; + aligns = ["xMinYMin", "xMidYMin", "xMaxYMin"]; + } else { + throw new Error("Correct katexImagesData or update code here to support\n " + numSvgChildren + " children."); + } + + for (var i = 0; i < numSvgChildren; i++) { + var _path = new domTree_PathNode(paths[i]); + + var _svgNode = new SvgNode([_path], { + "width": "400em", + "height": _height2 + "em", + "viewBox": "0 0 " + viewBoxWidth + " " + _viewBoxHeight, + "preserveAspectRatio": aligns[i] + " slice" + }); + + var _span = buildCommon.makeSvgSpan([widthClasses[i]], [_svgNode], options); + + if (numSvgChildren === 1) { + return { + span: _span, + minWidth: _minWidth, + height: _height2 + }; + } else { + _span.style.height = _height2 + "em"; + spans.push(_span); + } + } + + return { + span: buildCommon.makeSpan(["stretchy"], spans, options), + minWidth: _minWidth, + height: _height2 + }; + } + } // buildSvgSpan_() + + + var _buildSvgSpan_ = buildSvgSpan_(), + span = _buildSvgSpan_.span, + minWidth = _buildSvgSpan_.minWidth, + height = _buildSvgSpan_.height; // Note that we are returning span.depth = 0. + // Any adjustments relative to the baseline must be done in buildHTML. + + + span.height = height; + span.style.height = height + "em"; + + if (minWidth > 0) { + span.style.minWidth = minWidth + "em"; + } + + return span; +}; + +var stretchy_encloseSpan = function encloseSpan(inner, label, pad, options) { + // Return an image span for \cancel, \bcancel, \xcancel, or \fbox + var img; + var totalHeight = inner.height + inner.depth + 2 * pad; + + if (/fbox|color/.test(label)) { + img = buildCommon.makeSpan(["stretchy", label], [], options); + + if (label === "fbox") { + var color = options.color && options.getColor(); + + if (color) { + img.style.borderColor = color; + } + } + } else { + // \cancel, \bcancel, or \xcancel + // Since \cancel's SVG is inline and it omits the viewBox attribute, + // its stroke-width will not vary with span area. + var lines = []; + + if (/^[bx]cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "0", + "x2": "100%", + "y2": "100%", + "stroke-width": "0.046em" + })); + } + + if (/^x?cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "100%", + "x2": "100%", + "y2": "0", + "stroke-width": "0.046em" + })); + } + + var svgNode = new SvgNode(lines, { + "width": "100%", + "height": totalHeight + "em" + }); + img = buildCommon.makeSvgSpan([], [svgNode], options); + } + + img.height = totalHeight; + img.style.height = totalHeight + "em"; + return img; +}; + +/* harmony default export */ var stretchy = ({ + encloseSpan: stretchy_encloseSpan, + mathMLnode: stretchy_mathMLnode, + svgSpan: stretchy_svgSpan +}); +// CONCATENATED MODULE: ./src/parseNode.js + + +/** + * Asserts that the node is of the given type and returns it with stricter + * typing. Throws if the node's type does not match. + */ +function assertNodeType(node, type) { + if (!node || node.type !== type) { + throw new Error("Expected node of type " + type + ", but got " + (node ? "node of type " + node.type : String(node))); + } + + return node; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function assertSymbolNodeType(node) { + var typedNode = checkSymbolNodeType(node); + + if (!typedNode) { + throw new Error("Expected node of symbol group type, but got " + (node ? "node of type " + node.type : String(node))); + } + + return typedNode; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function checkSymbolNodeType(node) { + if (node && (node.type === "atom" || NON_ATOMS.hasOwnProperty(node.type))) { + // $FlowFixMe + return node; + } + + return null; +} +// CONCATENATED MODULE: ./src/functions/accent.js + + + + + + + + + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "accent", but +var accent_htmlBuilder = function htmlBuilder(grp, options) { + // Accents are handled in the TeXbook pg. 443, rule 12. + var base; + var group; + var supSubGroup; + + if (grp && grp.type === "supsub") { + // If our base is a character box, and we have superscripts and + // subscripts, the supsub will defer to us. In particular, we want + // to attach the superscripts and subscripts to the inner body (so + // that the position of the superscripts and subscripts won't be + // affected by the height of the accent). We accomplish this by + // sticking the base of the accent into the base of the supsub, and + // rendering that, while keeping track of where the accent is. + // The real accent group is the base of the supsub group + group = assertNodeType(grp.base, "accent"); // The character box is the base of the accent group + + base = group.base; // Stick the character box into the base of the supsub group + + grp.base = base; // Rerender the supsub group with its new base, and store that + // result. + + supSubGroup = assertSpan(buildHTML_buildGroup(grp, options)); // reset original base + + grp.base = group; + } else { + group = assertNodeType(grp, "accent"); + base = group.base; + } // Build the base group + + + var body = buildHTML_buildGroup(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character? + + var mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line "If the + // nucleus is not a single character, let s = 0; otherwise set s to the + // kern amount for the nucleus followed by the \skewchar of its font." + // Note that our skew metrics are just the kern between each character + // and the skewchar. + + var skew = 0; + + if (mustShift) { + // If the base is a character box, then we want the skew of the + // innermost character. To do that, we find the innermost character: + var baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it + + var baseGroup = buildHTML_buildGroup(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol. + + skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we + // removed with getBaseElem might contain things like \color which + // we can't get rid of. + // TODO(emily): Find a better way to get the skew + } // calculate the amount of space between the body and the accent + + + var clearance = Math.min(body.height, options.fontMetrics().xHeight); // Build the accent + + var accentBody; + + if (!group.isStretchy) { + var accent; + var width; + + if (group.label === "\\vec") { + // Before version 0.9, \vec used the combining font glyph U+20D7. + // But browsers, especially Safari, are not consistent in how they + // render combining characters when not preceded by a character. + // So now we use an SVG. + // If Safari reforms, we should consider reverting to the glyph. + accent = buildCommon.staticSvg("vec", options); + width = buildCommon.svgData.vec[1]; + } else { + accent = buildCommon.makeOrd({ + mode: group.mode, + text: group.label + }, options, "textord"); + accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to + // shift the accent over to a place we don't want. + + accent.italic = 0; + width = accent.width; + } + + accentBody = buildCommon.makeSpan(["accent-body"], [accent]); // "Full" accents expand the width of the resulting symbol to be + // at least the width of the accent, and overlap directly onto the + // character without any vertical offset. + + var accentFull = group.label === "\\textcircled"; + + if (accentFull) { + accentBody.classes.push('accent-full'); + clearance = body.height; + } // Shift the accent over by the skew. + + + var left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }` + // so that the accent doesn't contribute to the bounding box. + // We need to shift the character by its width (effectively half + // its width) to compensate. + + if (!accentFull) { + left -= width / 2; + } + + accentBody.style.left = left + "em"; // \textcircled uses the \bigcirc glyph, so it needs some + // vertical adjustment to match LaTeX. + + if (group.label === "\\textcircled") { + accentBody.style.top = ".2em"; + } + + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: -clearance + }, { + type: "elem", + elem: accentBody + }] + }, options); + } else { + accentBody = stretchy.svgSpan(group, options); + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"], + wrapperStyle: skew > 0 ? { + width: "calc(100% - " + 2 * skew + "em)", + marginLeft: 2 * skew + "em" + } : undefined + }] + }, options); + } + + var accentWrap = buildCommon.makeSpan(["mord", "accent"], [accentBody], options); + + if (supSubGroup) { + // Here, we replace the "base" child of the supsub with our newly + // generated accent. + supSubGroup.children[0] = accentWrap; // Since we don't rerun the height calculation after replacing the + // accent, we manually recalculate height. + + supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not. + + supSubGroup.classes[0] = "mord"; + return supSubGroup; + } else { + return accentWrap; + } +}; + +var accent_mathmlBuilder = function mathmlBuilder(group, options) { + var accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode("mo", [buildMathML_makeText(group.label, group.mode)]); + var node = new mathMLTree.MathNode("mover", [buildMathML_buildGroup(group.base, options), accentNode]); + node.setAttribute("accent", "true"); + return node; +}; + +var NON_STRETCHY_ACCENT_REGEX = new RegExp(["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring"].map(function (accent) { + return "\\" + accent; +}).join("|")); // Accents + +defineFunction({ + type: "accent", + names: ["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring", "\\widecheck", "\\widehat", "\\widetilde", "\\overrightarrow", "\\overleftarrow", "\\Overrightarrow", "\\overleftrightarrow", "\\overgroup", "\\overlinesegment", "\\overleftharpoon", "\\overrightharpoon"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var base = args[0]; + var isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName); + var isShifty = !isStretchy || context.funcName === "\\widehat" || context.funcName === "\\widetilde" || context.funcName === "\\widecheck"; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: isStretchy, + isShifty: isShifty, + base: base + }; + }, + htmlBuilder: accent_htmlBuilder, + mathmlBuilder: accent_mathmlBuilder +}); // Text-mode accents + +defineFunction({ + type: "accent", + names: ["\\'", "\\`", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\r", "\\H", "\\v", "\\textcircled"], + props: { + numArgs: 1, + allowedInText: true, + allowedInMath: false + }, + handler: function handler(context, args) { + var base = args[0]; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: false, + isShifty: true, + base: base + }; + }, + htmlBuilder: accent_htmlBuilder, + mathmlBuilder: accent_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/accentunder.js +// Horizontal overlap functions + + + + + + +defineFunction({ + type: "accentUnder", + names: ["\\underleftarrow", "\\underrightarrow", "\\underleftrightarrow", "\\undergroup", "\\underlinesegment", "\\utilde"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var base = args[0]; + return { + type: "accentUnder", + mode: parser.mode, + label: funcName, + base: base + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Treat under accents much like underlines. + var innerGroup = buildHTML_buildGroup(group.base, options); + var accentBody = stretchy.svgSpan(group, options); + var kern = group.label === "\\utilde" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns + + var vlist = buildCommon.makeVList({ + positionType: "top", + positionData: innerGroup.height, + children: [{ + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: kern + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "accentunder"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var accentNode = stretchy.mathMLnode(group.label); + var node = new mathMLTree.MathNode("munder", [buildMathML_buildGroup(group.base, options), accentNode]); + node.setAttribute("accentunder", "true"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/arrow.js + + + + + + + +// Helper function +var arrow_paddedNode = function paddedNode(group) { + var node = new mathMLTree.MathNode("mpadded", group ? [group] : []); + node.setAttribute("width", "+0.6em"); + node.setAttribute("lspace", "0.3em"); + return node; +}; // Stretchy arrows with an optional argument + + +defineFunction({ + type: "xArrow", + names: ["\\xleftarrow", "\\xrightarrow", "\\xLeftarrow", "\\xRightarrow", "\\xleftrightarrow", "\\xLeftrightarrow", "\\xhookleftarrow", "\\xhookrightarrow", "\\xmapsto", "\\xrightharpoondown", "\\xrightharpoonup", "\\xleftharpoondown", "\\xleftharpoonup", "\\xrightleftharpoons", "\\xleftrightharpoons", "\\xlongequal", "\\xtwoheadrightarrow", "\\xtwoheadleftarrow", "\\xtofrom", // The next 3 functions are here to support the mhchem extension. + // Direct use of these functions is discouraged and may break someday. + "\\xrightleftarrows", "\\xrightequilibrium", "\\xleftequilibrium"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "xArrow", + mode: parser.mode, + label: funcName, + body: args[0], + below: optArgs[0] + }; + }, + // Flow is unable to correctly infer the type of `group`, even though it's + // unamibiguously determined from the passed-in `type` above. + htmlBuilder: function htmlBuilder(group, options) { + var style = options.style; // Build the argument groups in the appropriate style. + // Ref: amsmath.dtx: \hbox{$\scriptstyle\mkern#3mu{#6}\mkern#4mu$}% + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + var newOptions = options.havingStyle(style.sup()); + var upperGroup = buildCommon.wrapFragment(buildHTML_buildGroup(group.body, newOptions, options), options); + upperGroup.classes.push("x-arrow-pad"); + var lowerGroup; + + if (group.below) { + // Build the lower group + newOptions = options.havingStyle(style.sub()); + lowerGroup = buildCommon.wrapFragment(buildHTML_buildGroup(group.below, newOptions, options), options); + lowerGroup.classes.push("x-arrow-pad"); + } + + var arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0. + // The point we want on the math axis is at 0.5 * arrowBody.height. + + var arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\if0#2\else\mkern#2mu\fi + + var upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu + + if (upperGroup.depth > 0.25 || group.label === "\\xleftequilibrium") { + upperShift -= upperGroup.depth; // shift up if depth encroaches + } // Generate the vlist + + + var vlist; + + if (lowerGroup) { + var lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111; + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }, { + type: "elem", + elem: lowerGroup, + shift: lowerShift + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }] + }, options); + } // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + return buildCommon.makeSpan(["mrel", "x-arrow"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var arrowNode = stretchy.mathMLnode(group.label); + var node; + + if (group.body) { + var upperNode = arrow_paddedNode(buildMathML_buildGroup(group.body, options)); + + if (group.below) { + var lowerNode = arrow_paddedNode(buildMathML_buildGroup(group.below, options)); + node = new mathMLTree.MathNode("munderover", [arrowNode, lowerNode, upperNode]); + } else { + node = new mathMLTree.MathNode("mover", [arrowNode, upperNode]); + } + } else if (group.below) { + var _lowerNode = arrow_paddedNode(buildMathML_buildGroup(group.below, options)); + + node = new mathMLTree.MathNode("munder", [arrowNode, _lowerNode]); + } else { + // This should never happen. + // Parser.js throws an error if there is no argument. + node = arrow_paddedNode(); + node = new mathMLTree.MathNode("mover", [arrowNode, node]); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/char.js + + + // \@char is an internal function that takes a grouped decimal argument like +// {123} and converts into symbol with code 123. It is used by the *macro* +// \char defined in macros.js. + +defineFunction({ + type: "textord", + names: ["\\@char"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var arg = assertNodeType(args[0], "ordgroup"); + var group = arg.body; + var number = ""; + + for (var i = 0; i < group.length; i++) { + var node = assertNodeType(group[i], "textord"); + number += node.text; + } + + var code = parseInt(number); + + if (isNaN(code)) { + throw new src_ParseError("\\@char has non-numeric argument " + number); + } + + return { + type: "textord", + mode: parser.mode, + text: String.fromCharCode(code) + }; + } +}); +// CONCATENATED MODULE: ./src/functions/color.js + + + + + + + +var color_htmlBuilder = function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options.withColor(group.color), false); // \color isn't supposed to affect the type of the elements it contains. + // To accomplish this, we wrap the results in a fragment, so the inner + // elements will be able to directly interact with their neighbors. For + // example, `\color{red}{2 +} 3` has the same spacing as `2 + 3` + + return buildCommon.makeFragment(elements); +}; + +var color_mathmlBuilder = function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(group.body, options.withColor(group.color)); + var node = new mathMLTree.MathNode("mstyle", inner); + node.setAttribute("mathcolor", group.color); + return node; +}; + +defineFunction({ + type: "color", + names: ["\\textcolor"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "original"] + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var color = assertNodeType(args[0], "color-token").color; + var body = args[1]; + return { + type: "color", + mode: parser.mode, + color: color, + body: ordargument(body) + }; + }, + htmlBuilder: color_htmlBuilder, + mathmlBuilder: color_mathmlBuilder +}); +defineFunction({ + type: "color", + names: ["\\color"], + props: { + numArgs: 1, + allowedInText: true, + greediness: 3, + argTypes: ["color"] + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser, + breakOnTokenText = _ref2.breakOnTokenText; + var color = assertNodeType(args[0], "color-token").color; // Set macro \current@color in current namespace to store the current + // color, mimicking the behavior of color.sty. + // This is currently used just to correctly color a \right + // that follows a \color command. + + parser.gullet.macros.set("\\current@color", color); // Parse out the implicit body that should be colored. + + var body = parser.parseExpression(true, breakOnTokenText); + return { + type: "color", + mode: parser.mode, + color: color, + body: body + }; + }, + htmlBuilder: color_htmlBuilder, + mathmlBuilder: color_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/cr.js +// Row breaks within tabular environments, and line breaks at top level + + + + + + // \\ is a macro mapping to either \cr or \newline. Because they have the +// same signature, we implement them as one megafunction, with newRow +// indicating whether we're in the \cr case, and newLine indicating whether +// to break the line in the \newline case. + +defineFunction({ + type: "cr", + names: ["\\cr", "\\newline"], + props: { + numArgs: 0, + numOptionalArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser, + funcName = _ref.funcName; + var size = optArgs[0]; + var newRow = funcName === "\\cr"; + var newLine = false; + + if (!newRow) { + if (parser.settings.displayMode && parser.settings.useStrictBehavior("newLineInDisplayMode", "In LaTeX, \\\\ or \\newline " + "does nothing in display mode")) { + newLine = false; + } else { + newLine = true; + } + } + + return { + type: "cr", + mode: parser.mode, + newLine: newLine, + newRow: newRow, + size: size && assertNodeType(size, "size").value + }; + }, + // The following builders are called only at the top level, + // not within tabular/array environments. + htmlBuilder: function htmlBuilder(group, options) { + if (group.newRow) { + throw new src_ParseError("\\cr valid only within a tabular/array environment"); + } + + var span = buildCommon.makeSpan(["mspace"], [], options); + + if (group.newLine) { + span.classes.push("newline"); + + if (group.size) { + span.style.marginTop = units_calculateSize(group.size, options) + "em"; + } + } + + return span; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mspace"); + + if (group.newLine) { + node.setAttribute("linebreak", "newline"); + + if (group.size) { + node.setAttribute("height", units_calculateSize(group.size, options) + "em"); + } + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/def.js + + + +var globalMap = { + "\\global": "\\global", + "\\long": "\\\\globallong", + "\\\\globallong": "\\\\globallong", + "\\def": "\\gdef", + "\\gdef": "\\gdef", + "\\edef": "\\xdef", + "\\xdef": "\\xdef", + "\\let": "\\\\globallet", + "\\futurelet": "\\\\globalfuture" +}; + +var def_checkControlSequence = function checkControlSequence(tok) { + var name = tok.text; + + if (/^(?:[\\{}$&#^_]|EOF)$/.test(name)) { + throw new src_ParseError("Expected a control sequence", tok); + } + + return name; +}; + +var getRHS = function getRHS(parser) { + var tok = parser.gullet.popToken(); + + if (tok.text === "=") { + // consume optional equals + tok = parser.gullet.popToken(); + + if (tok.text === " ") { + // consume one optional space + tok = parser.gullet.popToken(); + } + } + + return tok; +}; + +var letCommand = function letCommand(parser, name, tok, global) { + var macro = parser.gullet.macros.get(tok.text); + + if (macro == null) { + // don't expand it later even if a macro with the same name is defined + // e.g., \let\foo=\frac \def\frac{\relax} \frac12 + tok.noexpand = true; + macro = { + tokens: [tok], + numArgs: 0, + // reproduce the same behavior in expansion + unexpandable: !parser.gullet.isExpandable(tok.text) + }; + } + + parser.gullet.macros.set(name, macro, global); +}; // -> | +// -> |\global +// -> | +// -> \global|\long|\outer + + +defineFunction({ + type: "internal", + names: ["\\global", "\\long", "\\\\globallong"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref) { + var parser = _ref.parser, + funcName = _ref.funcName; + parser.consumeSpaces(); + var token = parser.fetch(); + + if (globalMap[token.text]) { + // KaTeX doesn't have \par, so ignore \long + if (funcName === "\\global" || funcName === "\\\\globallong") { + token.text = globalMap[token.text]; + } + + return assertNodeType(parser.parseFunction(), "internal"); + } + + throw new src_ParseError("Invalid token after macro prefix", token); + } +}); // Basic support for macro definitions: \def, \gdef, \edef, \xdef +// -> +// -> \def|\gdef|\edef|\xdef +// -> + +defineFunction({ + type: "internal", + names: ["\\def", "\\gdef", "\\edef", "\\xdef"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref2) { + var parser = _ref2.parser, + funcName = _ref2.funcName; + var arg = parser.gullet.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new src_ParseError("\\gdef's first argument must be a macro name"); + } + + var name = arg[0].text; // Count argument specifiers, and check they are in the order #1 #2 ... + + var numArgs = 0; + arg = parser.gullet.consumeArgs(1)[0]; + + while (arg.length === 1 && arg[0].text === "#") { + arg = parser.gullet.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new src_ParseError("Invalid argument number length \"" + arg.length + "\""); + } + + if (!/^[1-9]$/.test(arg[0].text)) { + throw new src_ParseError("Invalid argument number \"" + arg[0].text + "\""); + } + + numArgs++; + + if (parseInt(arg[0].text) !== numArgs) { + throw new src_ParseError("Argument number \"" + arg[0].text + "\" out of order"); + } + + arg = parser.gullet.consumeArgs(1)[0]; + } + + if (funcName === "\\edef" || funcName === "\\xdef") { + arg = parser.gullet.expandTokens(arg); + arg.reverse(); // to fit in with stack order + } // Final arg is the expansion of the macro + + + parser.gullet.macros.set(name, { + tokens: arg, + numArgs: numArgs + }, funcName === globalMap[funcName]); + return { + type: "internal", + mode: parser.mode + }; + } +}); // -> +// -> \futurelet +// | \let +// -> |= + +defineFunction({ + type: "internal", + names: ["\\let", "\\\\globallet"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref3) { + var parser = _ref3.parser, + funcName = _ref3.funcName; + var name = def_checkControlSequence(parser.gullet.popToken()); + parser.gullet.consumeSpaces(); + var tok = getRHS(parser); + letCommand(parser, name, tok, funcName === "\\\\globallet"); + return { + type: "internal", + mode: parser.mode + }; + } +}); // ref: https://www.tug.org/TUGboat/tb09-3/tb22bechtolsheim.pdf + +defineFunction({ + type: "internal", + names: ["\\futurelet", "\\\\globalfuture"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref4) { + var parser = _ref4.parser, + funcName = _ref4.funcName; + var name = def_checkControlSequence(parser.gullet.popToken()); + var middle = parser.gullet.popToken(); + var tok = parser.gullet.popToken(); + letCommand(parser, name, tok, funcName === "\\\\globalfuture"); + parser.gullet.pushToken(tok); + parser.gullet.pushToken(middle); + return { + type: "internal", + mode: parser.mode + }; + } +}); +// CONCATENATED MODULE: ./src/delimiter.js +/** + * This file deals with creating delimiters of various sizes. The TeXbook + * discusses these routines on page 441-442, in the "Another subroutine sets box + * x to a specified variable delimiter" paragraph. + * + * There are three main routines here. `makeSmallDelim` makes a delimiter in the + * normal font, but in either text, script, or scriptscript style. + * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1, + * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of + * smaller pieces that are stacked on top of one another. + * + * The functions take a parameter `center`, which determines if the delimiter + * should be centered around the axis. + * + * Then, there are three exposed functions. `sizedDelim` makes a delimiter in + * one of the given sizes. This is used for things like `\bigl`. + * `customSizedDelim` makes a delimiter with a given total height+depth. It is + * called in places like `\sqrt`. `leftRightDelim` makes an appropriate + * delimiter which surrounds an expression of a given height an depth. It is + * used in `\left` and `\right`. + */ + + + + + + + + + +/** + * Get the metrics for a given symbol and font, after transformation (i.e. + * after following replacement from symbols.js) + */ +var delimiter_getMetrics = function getMetrics(symbol, font, mode) { + var replace = src_symbols.math[symbol] && src_symbols.math[symbol].replace; + var metrics = getCharacterMetrics(replace || symbol, font, mode); + + if (!metrics) { + throw new Error("Unsupported symbol " + symbol + " and font size " + font + "."); + } + + return metrics; +}; +/** + * Puts a delimiter span in a given style, and adds appropriate height, depth, + * and maxFontSizes. + */ + + +var delimiter_styleWrap = function styleWrap(delim, toStyle, options, classes) { + var newOptions = options.havingBaseStyle(toStyle); + var span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options); + var delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier; + span.height *= delimSizeMultiplier; + span.depth *= delimSizeMultiplier; + span.maxFontSize = newOptions.sizeMultiplier; + return span; +}; + +var centerSpan = function centerSpan(span, options, style) { + var newOptions = options.havingBaseStyle(style); + var shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight; + span.classes.push("delimcenter"); + span.style.top = shift + "em"; + span.height -= shift; + span.depth += shift; +}; +/** + * Makes a small delimiter. This is a delimiter that comes in the Main-Regular + * font, but is restyled to either be in textstyle, scriptstyle, or + * scriptscriptstyle. + */ + + +var delimiter_makeSmallDelim = function makeSmallDelim(delim, style, center, options, mode, classes) { + var text = buildCommon.makeSymbol(delim, "Main-Regular", mode, options); + var span = delimiter_styleWrap(text, style, options, classes); + + if (center) { + centerSpan(span, options, style); + } + + return span; +}; +/** + * Builds a symbol in the given font size (note size is an integer) + */ + + +var delimiter_mathrmSize = function mathrmSize(value, size, mode, options) { + return buildCommon.makeSymbol(value, "Size" + size + "-Regular", mode, options); +}; +/** + * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2, + * Size3, or Size4 fonts. It is always rendered in textstyle. + */ + + +var delimiter_makeLargeDelim = function makeLargeDelim(delim, size, center, options, mode, classes) { + var inner = delimiter_mathrmSize(delim, size, mode, options); + var span = delimiter_styleWrap(buildCommon.makeSpan(["delimsizing", "size" + size], [inner], options), src_Style.TEXT, options, classes); + + if (center) { + centerSpan(span, options, src_Style.TEXT); + } + + return span; +}; +/** + * Make an inner span with the given offset and in the given font. This is used + * in `makeStackedDelim` to make the stacking pieces for the delimiter. + */ + + +var delimiter_makeInner = function makeInner(symbol, font, mode) { + var sizeClass; // Apply the correct CSS class to choose the right font. + + if (font === "Size1-Regular") { + sizeClass = "delim-size1"; + } else + /* if (font === "Size4-Regular") */ + { + sizeClass = "delim-size4"; + } + + var inner = buildCommon.makeSpan(["delimsizinginner", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element + // in the appropriate tag that VList uses. + + return { + type: "elem", + elem: inner + }; +}; // Helper for makeStackedDelim + + +var lap = { + type: "kern", + size: -0.005 +}; +/** + * Make a stacked delimiter out of a given delimiter, with the total height at + * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook. + */ + +var delimiter_makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, options, mode, classes) { + // There are four parts, the top, an optional middle, a repeated part, and a + // bottom. + var top; + var middle; + var repeat; + var bottom; + top = repeat = bottom = delim; + middle = null; // Also keep track of what font the delimiters are in + + var font = "Size1-Regular"; // We set the parts and font based on the symbol. Note that we use + // '\u23d0' instead of '|' and '\u2016' instead of '\\|' for the + // repeats of the arrows + + if (delim === "\\uparrow") { + repeat = bottom = "\u23D0"; + } else if (delim === "\\Uparrow") { + repeat = bottom = "\u2016"; + } else if (delim === "\\downarrow") { + top = repeat = "\u23D0"; + } else if (delim === "\\Downarrow") { + top = repeat = "\u2016"; + } else if (delim === "\\updownarrow") { + top = "\\uparrow"; + repeat = "\u23D0"; + bottom = "\\downarrow"; + } else if (delim === "\\Updownarrow") { + top = "\\Uparrow"; + repeat = "\u2016"; + bottom = "\\Downarrow"; + } else if (delim === "[" || delim === "\\lbrack") { + top = "\u23A1"; + repeat = "\u23A2"; + bottom = "\u23A3"; + font = "Size4-Regular"; + } else if (delim === "]" || delim === "\\rbrack") { + top = "\u23A4"; + repeat = "\u23A5"; + bottom = "\u23A6"; + font = "Size4-Regular"; + } else if (delim === "\\lfloor" || delim === "\u230A") { + repeat = top = "\u23A2"; + bottom = "\u23A3"; + font = "Size4-Regular"; + } else if (delim === "\\lceil" || delim === "\u2308") { + top = "\u23A1"; + repeat = bottom = "\u23A2"; + font = "Size4-Regular"; + } else if (delim === "\\rfloor" || delim === "\u230B") { + repeat = top = "\u23A5"; + bottom = "\u23A6"; + font = "Size4-Regular"; + } else if (delim === "\\rceil" || delim === "\u2309") { + top = "\u23A4"; + repeat = bottom = "\u23A5"; + font = "Size4-Regular"; + } else if (delim === "(" || delim === "\\lparen") { + top = "\u239B"; + repeat = "\u239C"; + bottom = "\u239D"; + font = "Size4-Regular"; + } else if (delim === ")" || delim === "\\rparen") { + top = "\u239E"; + repeat = "\u239F"; + bottom = "\u23A0"; + font = "Size4-Regular"; + } else if (delim === "\\{" || delim === "\\lbrace") { + top = "\u23A7"; + middle = "\u23A8"; + bottom = "\u23A9"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\}" || delim === "\\rbrace") { + top = "\u23AB"; + middle = "\u23AC"; + bottom = "\u23AD"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\lgroup" || delim === "\u27EE") { + top = "\u23A7"; + bottom = "\u23A9"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\rgroup" || delim === "\u27EF") { + top = "\u23AB"; + bottom = "\u23AD"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\lmoustache" || delim === "\u23B0") { + top = "\u23A7"; + bottom = "\u23AD"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\rmoustache" || delim === "\u23B1") { + top = "\u23AB"; + bottom = "\u23A9"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } // Get the metrics of the four sections + + + var topMetrics = delimiter_getMetrics(top, font, mode); + var topHeightTotal = topMetrics.height + topMetrics.depth; + var repeatMetrics = delimiter_getMetrics(repeat, font, mode); + var repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth; + var bottomMetrics = delimiter_getMetrics(bottom, font, mode); + var bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth; + var middleHeightTotal = 0; + var middleFactor = 1; + + if (middle !== null) { + var middleMetrics = delimiter_getMetrics(middle, font, mode); + middleHeightTotal = middleMetrics.height + middleMetrics.depth; + middleFactor = 2; // repeat symmetrically above and below middle + } // Calcuate the minimal height that the delimiter can have. + // It is at least the size of the top, bottom, and optional middle combined. + + + var minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need + + var repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols + + var realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note + // that in this context, "center" means that the delimiter should be + // centered around the axis in the current style, while normally it is + // centered around the axis in textstyle. + + var axisHeight = options.fontMetrics().axisHeight; + + if (center) { + axisHeight *= options.sizeMultiplier; + } // Calculate the depth + + + var depth = realHeightTotal / 2 - axisHeight; // This function differs from the TeX procedure in one way. + // We shift each repeat element downwards by 0.005em, to prevent a gap + // due to browser floating point rounding error. + // Then, at the last element-to element joint, we add one extra repeat + // element to cover the gap created by the shifts. + // Find the shift needed to align the upper end of the extra element at a point + // 0.005em above the lower end of the top element. + + var shiftOfExtraElement = (repeatCount + 1) * 0.005 - repeatHeightTotal; // Now, we start building the pieces that will go into the vlist + // Keep a list of the inner pieces + + var inners = []; // Add the bottom symbol + + inners.push(delimiter_makeInner(bottom, font, mode)); + + if (middle === null) { + // Add that many symbols + for (var i = 0; i < repeatCount; i++) { + inners.push(lap); // overlap + + inners.push(delimiter_makeInner(repeat, font, mode)); + } + } else { + // When there is a middle bit, we need the middle part and two repeated + // sections + for (var _i = 0; _i < repeatCount; _i++) { + inners.push(lap); + inners.push(delimiter_makeInner(repeat, font, mode)); + } // Insert one extra repeat element. + + + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(delimiter_makeInner(repeat, font, mode)); + inners.push(lap); // Now insert the middle of the brace. + + inners.push(delimiter_makeInner(middle, font, mode)); + + for (var _i2 = 0; _i2 < repeatCount; _i2++) { + inners.push(lap); + inners.push(delimiter_makeInner(repeat, font, mode)); + } + } // To cover the gap create by the overlaps, insert one more repeat element, + // at a position that juts 0.005 above the bottom of the top element. + + + if ((repeat === "\u239C" || repeat === "\u239F") && repeatCount === 0) { + // Parentheses need a short repeat element in order to avoid an overrun. + // We'll make a 0.3em tall element from a SVG. + var overlap = buildCommon.svgData.leftParenInner[2] / 2; + inners.push({ + type: "kern", + size: -overlap + }); + var pathName = repeat === "\u239C" ? "leftParenInner" : "rightParenInner"; + var innerSpan = buildCommon.staticSvg(pathName, options); + inners.push({ + type: "elem", + elem: innerSpan + }); + inners.push({ + type: "kern", + size: -overlap + }); + } else { + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(delimiter_makeInner(repeat, font, mode)); + inners.push(lap); + } // Add the top symbol + + + inners.push(delimiter_makeInner(top, font, mode)); // Finally, build the vlist + + var newOptions = options.havingBaseStyle(src_Style.TEXT); + var inner = buildCommon.makeVList({ + positionType: "bottom", + positionData: depth, + children: inners + }, newOptions); + return delimiter_styleWrap(buildCommon.makeSpan(["delimsizing", "mult"], [inner], newOptions), src_Style.TEXT, options, classes); +}; // All surds have 0.08em padding above the viniculum inside the SVG. +// That keeps browser span height rounding error from pinching the line. + + +var vbPad = 80; // padding above the surd, measured inside the viewBox. + +var emPad = 0.08; // padding, in ems, measured in the document. + +var delimiter_sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight, extraViniculum, options) { + var path = sqrtPath(sqrtName, extraViniculum, viewBoxHeight); + var pathNode = new domTree_PathNode(sqrtName, path); + var svg = new SvgNode([pathNode], { + // Note: 1000:1 ratio of viewBox to document em width. + "width": "400em", + "height": height + "em", + "viewBox": "0 0 400000 " + viewBoxHeight, + "preserveAspectRatio": "xMinYMin slice" + }); + return buildCommon.makeSvgSpan(["hide-tail"], [svg], options); +}; +/** + * Make a sqrt image of the given height, + */ + + +var makeSqrtImage = function makeSqrtImage(height, options) { + // Define a newOptions that removes the effect of size changes such as \Huge. + // We don't pick different a height surd for \Huge. For it, we scale up. + var newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds. + + var delim = traverseSequence("\\surd", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions); + var sizeMultiplier = newOptions.sizeMultiplier; // default + // The standard sqrt SVGs each have a 0.04em thick viniculum. + // If Settings.minRuleThickness is larger than that, we add extraViniculum. + + var extraViniculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol. + + var span; + var spanHeight = 0; + var texHeight = 0; + var viewBoxHeight = 0; + var advanceWidth; // We create viewBoxes with 80 units of "padding" above each surd. + // Then browser rounding error on the parent span height will not + // encroach on the ink of the viniculum. But that padding is not + // included in the TeX-like `height` used for calculation of + // vertical alignment. So texHeight = span.height < span.style.height. + + if (delim.type === "small") { + // Get an SVG that is derived from glyph U+221A in font KaTeX-Main. + // 1000 unit normal glyph height. + viewBoxHeight = 1000 + 1000 * extraViniculum + vbPad; + + if (height < 1.0) { + sizeMultiplier = 1.0; // mimic a \textfont radical + } else if (height < 1.4) { + sizeMultiplier = 0.7; // mimic a \scriptfont radical + } + + spanHeight = (1.0 + extraViniculum + emPad) / sizeMultiplier; + texHeight = (1.00 + extraViniculum) / sizeMultiplier; + span = delimiter_sqrtSvg("sqrtMain", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.853em"; + advanceWidth = 0.833 / sizeMultiplier; // from the font. + } else if (delim.type === "large") { + // These SVGs come from fonts: KaTeX_Size1, _Size2, etc. + viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size]; + texHeight = (sizeToMaxHeight[delim.size] + extraViniculum) / sizeMultiplier; + spanHeight = (sizeToMaxHeight[delim.size] + extraViniculum + emPad) / sizeMultiplier; + span = delimiter_sqrtSvg("sqrtSize" + delim.size, spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "1.02em"; + advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font. + } else { + // Tall sqrt. In TeX, this would be stacked using multiple glyphs. + // We'll use a single SVG to accomplish the same thing. + spanHeight = height + extraViniculum + emPad; + texHeight = height + extraViniculum; + viewBoxHeight = Math.floor(1000 * height + extraViniculum) + vbPad; + span = delimiter_sqrtSvg("sqrtTall", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.742em"; + advanceWidth = 1.056; + } + + span.height = texHeight; + span.style.height = spanHeight + "em"; + return { + span: span, + advanceWidth: advanceWidth, + // Calculate the actual line width. + // This actually should depend on the chosen font -- e.g. \boldmath + // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and + // have thicker rules. + ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraViniculum) * sizeMultiplier + }; +}; // There are three kinds of delimiters, delimiters that stack when they become +// too large + + +var stackLargeDelimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230A", "\u230B", "\\lceil", "\\rceil", "\u2308", "\u2309", "\\surd"]; // delimiters that always stack + +var stackAlwaysDelimiters = ["\\uparrow", "\\downarrow", "\\updownarrow", "\\Uparrow", "\\Downarrow", "\\Updownarrow", "|", "\\|", "\\vert", "\\Vert", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27EE", "\u27EF", "\\lmoustache", "\\rmoustache", "\u23B0", "\u23B1"]; // and delimiters that never stack + +var stackNeverDelimiters = ["<", ">", "\\langle", "\\rangle", "/", "\\backslash", "\\lt", "\\gt"]; // Metrics of the different sizes. Found by looking at TeX's output of +// $\bigl| // \Bigl| \biggl| \Biggl| \showlists$ +// Used to create stacked delimiters of appropriate sizes in makeSizedDelim. + +var sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0]; +/** + * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4. + */ + +var delimiter_makeSizedDelim = function makeSizedDelim(delim, size, options, mode, classes) { + // < and > turn into \langle and \rangle in delimiters + if (delim === "<" || delim === "\\lt" || delim === "\u27E8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27E9") { + delim = "\\rangle"; + } // Sized delimiters are never centered. + + + if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) { + return delimiter_makeLargeDelim(delim, size, false, options, mode, classes); + } else if (utils.contains(stackAlwaysDelimiters, delim)) { + return delimiter_makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes); + } else { + throw new src_ParseError("Illegal delimiter: '" + delim + "'"); + } +}; +/** + * There are three different sequences of delimiter sizes that the delimiters + * follow depending on the kind of delimiter. This is used when creating custom + * sized delimiters to decide whether to create a small, large, or stacked + * delimiter. + * + * In real TeX, these sequences aren't explicitly defined, but are instead + * defined inside the font metrics. Since there are only three sequences that + * are possible for the delimiters that TeX defines, it is easier to just encode + * them explicitly here. + */ + + +// Delimiters that never stack try small delimiters and large delimiters only +var stackNeverDelimiterSequence = [{ + type: "small", + style: src_Style.SCRIPTSCRIPT +}, { + type: "small", + style: src_Style.SCRIPT +}, { + type: "small", + style: src_Style.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}]; // Delimiters that always stack try the small delimiters first, then stack + +var stackAlwaysDelimiterSequence = [{ + type: "small", + style: src_Style.SCRIPTSCRIPT +}, { + type: "small", + style: src_Style.SCRIPT +}, { + type: "small", + style: src_Style.TEXT +}, { + type: "stack" +}]; // Delimiters that stack when large try the small and then large delimiters, and +// stack afterwards + +var stackLargeDelimiterSequence = [{ + type: "small", + style: src_Style.SCRIPTSCRIPT +}, { + type: "small", + style: src_Style.SCRIPT +}, { + type: "small", + style: src_Style.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}, { + type: "stack" +}]; +/** + * Get the font used in a delimiter based on what kind of delimiter it is. + * TODO(#963) Use more specific font family return type once that is introduced. + */ + +var delimTypeToFont = function delimTypeToFont(type) { + if (type.type === "small") { + return "Main-Regular"; + } else if (type.type === "large") { + return "Size" + type.size + "-Regular"; + } else if (type.type === "stack") { + return "Size4-Regular"; + } else { + throw new Error("Add support for delim type '" + type.type + "' here."); + } +}; +/** + * Traverse a sequence of types of delimiters to decide what kind of delimiter + * should be used to create a delimiter of the given height+depth. + */ + + +var traverseSequence = function traverseSequence(delim, height, sequence, options) { + // Here, we choose the index we should start at in the sequences. In smaller + // sizes (which correspond to larger numbers in style.size) we start earlier + // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts + // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2 + var start = Math.min(2, 3 - options.style.size); + + for (var i = start; i < sequence.length; i++) { + if (sequence[i].type === "stack") { + // This is always the last delimiter, so we just break the loop now. + break; + } + + var metrics = delimiter_getMetrics(delim, delimTypeToFont(sequence[i]), "math"); + var heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we + // account for the style change size. + + if (sequence[i].type === "small") { + var newOptions = options.havingBaseStyle(sequence[i].style); + heightDepth *= newOptions.sizeMultiplier; + } // Check if the delimiter at this size works for the given height. + + + if (heightDepth > height) { + return sequence[i]; + } + } // If we reached the end of the sequence, return the last sequence element. + + + return sequence[sequence.length - 1]; +}; +/** + * Make a delimiter of a given height+depth, with optional centering. Here, we + * traverse the sequences, and create a delimiter that the sequence tells us to. + */ + + +var delimiter_makeCustomSizedDelim = function makeCustomSizedDelim(delim, height, center, options, mode, classes) { + if (delim === "<" || delim === "\\lt" || delim === "\u27E8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27E9") { + delim = "\\rangle"; + } // Decide what sequence to use + + + var sequence; + + if (utils.contains(stackNeverDelimiters, delim)) { + sequence = stackNeverDelimiterSequence; + } else if (utils.contains(stackLargeDelimiters, delim)) { + sequence = stackLargeDelimiterSequence; + } else { + sequence = stackAlwaysDelimiterSequence; + } // Look through the sequence + + + var delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs. + // Depending on the sequence element we decided on, call the + // appropriate function. + + if (delimType.type === "small") { + return delimiter_makeSmallDelim(delim, delimType.style, center, options, mode, classes); + } else if (delimType.type === "large") { + return delimiter_makeLargeDelim(delim, delimType.size, center, options, mode, classes); + } else + /* if (delimType.type === "stack") */ + { + return delimiter_makeStackedDelim(delim, height, center, options, mode, classes); + } +}; +/** + * Make a delimiter for use with `\left` and `\right`, given a height and depth + * of an expression that the delimiters surround. + */ + + +var makeLeftRightDelim = function makeLeftRightDelim(delim, height, depth, options, mode, classes) { + // We always center \left/\right delimiters, so the axis is always shifted + var axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right + + var delimiterFactor = 901; + var delimiterExtend = 5.0 / options.fontMetrics().ptPerEm; + var maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight); + var totalHeight = Math.max( // In real TeX, calculations are done using integral values which are + // 65536 per pt, or 655360 per em. So, the division here truncates in + // TeX but doesn't here, producing different results. If we wanted to + // exactly match TeX's calculation, we could do + // Math.floor(655360 * maxDistFromAxis / 500) * + // delimiterFactor / 655360 + // (To see the difference, compare + // x^{x^{\left(\rule{0.1em}{0.68em}\right)}} + // in TeX and KaTeX) + maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total + // height + + return delimiter_makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes); +}; + +/* harmony default export */ var delimiter = ({ + sqrtImage: makeSqrtImage, + sizedDelim: delimiter_makeSizedDelim, + customSizedDelim: delimiter_makeCustomSizedDelim, + leftRightDelim: makeLeftRightDelim +}); +// CONCATENATED MODULE: ./src/functions/delimsizing.js + + + + + + + + + +// Extra data needed for the delimiter handler down below +var delimiterSizes = { + "\\bigl": { + mclass: "mopen", + size: 1 + }, + "\\Bigl": { + mclass: "mopen", + size: 2 + }, + "\\biggl": { + mclass: "mopen", + size: 3 + }, + "\\Biggl": { + mclass: "mopen", + size: 4 + }, + "\\bigr": { + mclass: "mclose", + size: 1 + }, + "\\Bigr": { + mclass: "mclose", + size: 2 + }, + "\\biggr": { + mclass: "mclose", + size: 3 + }, + "\\Biggr": { + mclass: "mclose", + size: 4 + }, + "\\bigm": { + mclass: "mrel", + size: 1 + }, + "\\Bigm": { + mclass: "mrel", + size: 2 + }, + "\\biggm": { + mclass: "mrel", + size: 3 + }, + "\\Biggm": { + mclass: "mrel", + size: 4 + }, + "\\big": { + mclass: "mord", + size: 1 + }, + "\\Big": { + mclass: "mord", + size: 2 + }, + "\\bigg": { + mclass: "mord", + size: 3 + }, + "\\Bigg": { + mclass: "mord", + size: 4 + } +}; +var delimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230A", "\u230B", "\\lceil", "\\rceil", "\u2308", "\u2309", "<", ">", "\\langle", "\u27E8", "\\rangle", "\u27E9", "\\lt", "\\gt", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27EE", "\u27EF", "\\lmoustache", "\\rmoustache", "\u23B0", "\u23B1", "/", "\\backslash", "|", "\\vert", "\\|", "\\Vert", "\\uparrow", "\\Uparrow", "\\downarrow", "\\Downarrow", "\\updownarrow", "\\Updownarrow", "."]; + +// Delimiter functions +function checkDelimiter(delim, context) { + var symDelim = checkSymbolNodeType(delim); + + if (symDelim && utils.contains(delimiters, symDelim.text)) { + return symDelim; + } else if (symDelim) { + throw new src_ParseError("Invalid delimiter '" + symDelim.text + "' after '" + context.funcName + "'", delim); + } else { + throw new src_ParseError("Invalid delimiter type '" + delim.type + "'", delim); + } +} + +defineFunction({ + type: "delimsizing", + names: ["\\bigl", "\\Bigl", "\\biggl", "\\Biggl", "\\bigr", "\\Bigr", "\\biggr", "\\Biggr", "\\bigm", "\\Bigm", "\\biggm", "\\Biggm", "\\big", "\\Big", "\\bigg", "\\Bigg"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var delim = checkDelimiter(args[0], context); + return { + type: "delimsizing", + mode: context.parser.mode, + size: delimiterSizes[context.funcName].size, + mclass: delimiterSizes[context.funcName].mclass, + delim: delim.text + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + if (group.delim === ".") { + // Empty delimiters still count as elements, even though they don't + // show anything. + return buildCommon.makeSpan([group.mclass]); + } // Use delimiter.sizedDelim to generate the delimiter. + + + return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]); + }, + mathmlBuilder: function mathmlBuilder(group) { + var children = []; + + if (group.delim !== ".") { + children.push(buildMathML_makeText(group.delim, group.mode)); + } + + var node = new mathMLTree.MathNode("mo", children); + + if (group.mclass === "mopen" || group.mclass === "mclose") { + // Only some of the delimsizing functions act as fences, and they + // return "mopen" or "mclose" mclass. + node.setAttribute("fence", "true"); + } else { + // Explicitly disable fencing if it's not a fence, to override the + // defaults. + node.setAttribute("fence", "false"); + } + + return node; + } +}); + +function assertParsed(group) { + if (!group.body) { + throw new Error("Bug: The leftright ParseNode wasn't fully parsed."); + } +} + +defineFunction({ + type: "leftright-right", + names: ["\\right"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + // \left case below triggers parsing of \right in + // `const right = parser.parseFunction();` + // uses this return value. + var color = context.parser.gullet.macros.get("\\current@color"); + + if (color && typeof color !== "string") { + throw new src_ParseError("\\current@color set to non-string in \\right"); + } + + return { + type: "leftright-right", + mode: context.parser.mode, + delim: checkDelimiter(args[0], context).text, + color: color // undefined if not set via \color + + }; + } +}); +defineFunction({ + type: "leftright", + names: ["\\left"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var delim = checkDelimiter(args[0], context); + var parser = context.parser; // Parse out the implicit body + + ++parser.leftrightDepth; // parseExpression stops before '\\right' + + var body = parser.parseExpression(false); + --parser.leftrightDepth; // Check the next token + + parser.expect("\\right", false); + var right = assertNodeType(parser.parseFunction(), "leftright-right"); + return { + type: "leftright", + mode: parser.mode, + body: body, + left: delim.text, + right: right.delim, + rightColor: right.color + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + assertParsed(group); // Build the inner expression + + var inner = buildHTML_buildExpression(group.body, options, true, ["mopen", "mclose"]); + var innerHeight = 0; + var innerDepth = 0; + var hadMiddle = false; // Calculate its height and depth + + for (var i = 0; i < inner.length; i++) { + // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + if (inner[i].isMiddle) { + hadMiddle = true; + } else { + innerHeight = Math.max(inner[i].height, innerHeight); + innerDepth = Math.max(inner[i].depth, innerDepth); + } + } // The size of delimiters is the same, regardless of what style we are + // in. Thus, to correctly calculate the size of delimiter we need around + // a group, we scale down the inner size based on the size. + + + innerHeight *= options.sizeMultiplier; + innerDepth *= options.sizeMultiplier; + var leftDelim; + + if (group.left === ".") { + // Empty delimiters in \left and \right make null delimiter spaces. + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + // Otherwise, use leftRightDelim to generate the correct sized + // delimiter. + leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, ["mopen"]); + } // Add it to the beginning of the expression + + + inner.unshift(leftDelim); // Handle middle delimiters + + if (hadMiddle) { + for (var _i = 1; _i < inner.length; _i++) { + var middleDelim = inner[_i]; // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + + var isMiddle = middleDelim.isMiddle; + + if (isMiddle) { + // Apply the options that were active when \middle was called + inner[_i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []); + } + } + } + + var rightDelim; // Same for the right delimiter, but using color specified by \color + + if (group.right === ".") { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + var colorOptions = group.rightColor ? options.withColor(group.rightColor) : options; + rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, ["mclose"]); + } // Add it to the end of the expression. + + + inner.push(rightDelim); + return buildCommon.makeSpan(["minner"], inner, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + assertParsed(group); + var inner = buildMathML_buildExpression(group.body, options); + + if (group.left !== ".") { + var leftNode = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.left, group.mode)]); + leftNode.setAttribute("fence", "true"); + inner.unshift(leftNode); + } + + if (group.right !== ".") { + var rightNode = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.right, group.mode)]); + rightNode.setAttribute("fence", "true"); + + if (group.rightColor) { + rightNode.setAttribute("mathcolor", group.rightColor); + } + + inner.push(rightNode); + } + + return buildMathML_makeRow(inner); + } +}); +defineFunction({ + type: "middle", + names: ["\\middle"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var delim = checkDelimiter(args[0], context); + + if (!context.parser.leftrightDepth) { + throw new src_ParseError("\\middle without preceding \\left", delim); + } + + return { + type: "middle", + mode: context.parser.mode, + delim: delim.text + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var middleDelim; + + if (group.delim === ".") { + middleDelim = makeNullDelimiter(options, []); + } else { + middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []); + var isMiddle = { + delim: group.delim, + options: options + }; // Property `isMiddle` not defined on `span`. It is only used in + // this file above. + // TODO: Fix this violation of the `span` type and possibly rename + // things since `isMiddle` sounds like a boolean, but is a struct. + // $FlowFixMe + + middleDelim.isMiddle = isMiddle; + } + + return middleDelim; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // A Firefox \middle will strech a character vertically only if it + // is in the fence part of the operator dictionary at: + // https://www.w3.org/TR/MathML3/appendixc.html. + // So we need to avoid U+2223 and use plain "|" instead. + var textNode = group.delim === "\\vert" || group.delim === "|" ? buildMathML_makeText("|", "text") : buildMathML_makeText(group.delim, group.mode); + var middleNode = new mathMLTree.MathNode("mo", [textNode]); + middleNode.setAttribute("fence", "true"); // MathML gives 5/18em spacing to each element. + // \middle should get delimiter spacing instead. + + middleNode.setAttribute("lspace", "0.05em"); + middleNode.setAttribute("rspace", "0.05em"); + return middleNode; + } +}); +// CONCATENATED MODULE: ./src/functions/enclose.js + + + + + + + + + +var enclose_htmlBuilder = function htmlBuilder(group, options) { + // \cancel, \bcancel, \xcancel, \sout, \fbox, \colorbox, \fcolorbox + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + var inner = buildCommon.wrapFragment(buildHTML_buildGroup(group.body, options), options); + var label = group.label.substr(1); + var scale = options.sizeMultiplier; + var img; + var imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different + // depending on whether the subject is wider than it is tall, or vice versa. + // We don't know the width of a group, so as a proxy, we test if + // the subject is a single character. This captures most of the + // subjects that should get the "tall" treatment. + + var isSingleChar = utils.isCharacterBox(group.body); + + if (label === "sout") { + img = buildCommon.makeSpan(["stretchy", "sout"]); + img.height = options.fontMetrics().defaultRuleThickness / scale; + imgShift = -0.5 * options.fontMetrics().xHeight; + } else { + // Add horizontal padding + if (/cancel/.test(label)) { + if (!isSingleChar) { + inner.classes.push("cancel-pad"); + } + } else { + inner.classes.push("boxpad"); + } // Add vertical padding + + + var vertPad = 0; + var ruleThickness = 0; // ref: cancel package: \advance\totalheight2\p@ % "+2" + + if (/box/.test(label)) { + ruleThickness = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // User override. + ); + vertPad = options.fontMetrics().fboxsep + (label === "colorbox" ? 0 : ruleThickness); + } else { + vertPad = isSingleChar ? 0.2 : 0; + } + + img = stretchy.encloseSpan(inner, label, vertPad, options); + + if (/fbox|boxed|fcolorbox/.test(label)) { + img.style.borderStyle = "solid"; + img.style.borderWidth = ruleThickness + "em"; + } + + imgShift = inner.depth + vertPad; + + if (group.backgroundColor) { + img.style.backgroundColor = group.backgroundColor; + + if (group.borderColor) { + img.style.borderColor = group.borderColor; + } + } + } + + var vlist; + + if (group.backgroundColor) { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Put the color background behind inner; + { + type: "elem", + elem: img, + shift: imgShift + }, { + type: "elem", + elem: inner, + shift: 0 + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Write the \cancel stroke on top of inner. + { + type: "elem", + elem: inner, + shift: 0 + }, { + type: "elem", + elem: img, + shift: imgShift, + wrapperClasses: /cancel/.test(label) ? ["svg-align"] : [] + }] + }, options); + } + + if (/cancel/.test(label)) { + // The cancel package documentation says that cancel lines add their height + // to the expression, but tests show that isn't how it actually works. + vlist.height = inner.height; + vlist.depth = inner.depth; + } + + if (/cancel/.test(label) && !isSingleChar) { + // cancel does not create horiz space for its line extension. + return buildCommon.makeSpan(["mord", "cancel-lap"], [vlist], options); + } else { + return buildCommon.makeSpan(["mord"], [vlist], options); + } +}; + +var enclose_mathmlBuilder = function mathmlBuilder(group, options) { + var fboxsep = 0; + var node = new mathMLTree.MathNode(group.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [buildMathML_buildGroup(group.body, options)]); + + switch (group.label) { + case "\\cancel": + node.setAttribute("notation", "updiagonalstrike"); + break; + + case "\\bcancel": + node.setAttribute("notation", "downdiagonalstrike"); + break; + + case "\\sout": + node.setAttribute("notation", "horizontalstrike"); + break; + + case "\\fbox": + node.setAttribute("notation", "box"); + break; + + case "\\fcolorbox": + case "\\colorbox": + // doesn't have a good notation option. So use + // instead. Set some attributes that come included with . + fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm; + node.setAttribute("width", "+" + 2 * fboxsep + "pt"); + node.setAttribute("height", "+" + 2 * fboxsep + "pt"); + node.setAttribute("lspace", fboxsep + "pt"); // + + node.setAttribute("voffset", fboxsep + "pt"); + + if (group.label === "\\fcolorbox") { + var thk = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // user override + ); + node.setAttribute("style", "border: " + thk + "em solid " + String(group.borderColor)); + } + + break; + + case "\\xcancel": + node.setAttribute("notation", "updiagonalstrike downdiagonalstrike"); + break; + } + + if (group.backgroundColor) { + node.setAttribute("mathbackground", group.backgroundColor); + } + + return node; +}; + +defineFunction({ + type: "enclose", + names: ["\\colorbox"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "text"] + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser, + funcName = _ref.funcName; + var color = assertNodeType(args[0], "color-token").color; + var body = args[1]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor: color, + body: body + }; + }, + htmlBuilder: enclose_htmlBuilder, + mathmlBuilder: enclose_mathmlBuilder +}); +defineFunction({ + type: "enclose", + names: ["\\fcolorbox"], + props: { + numArgs: 3, + allowedInText: true, + greediness: 3, + argTypes: ["color", "color", "text"] + }, + handler: function handler(_ref2, args, optArgs) { + var parser = _ref2.parser, + funcName = _ref2.funcName; + var borderColor = assertNodeType(args[0], "color-token").color; + var backgroundColor = assertNodeType(args[1], "color-token").color; + var body = args[2]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor: backgroundColor, + borderColor: borderColor, + body: body + }; + }, + htmlBuilder: enclose_htmlBuilder, + mathmlBuilder: enclose_mathmlBuilder +}); +defineFunction({ + type: "enclose", + names: ["\\fbox"], + props: { + numArgs: 1, + argTypes: ["hbox"], + allowedInText: true + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser; + return { + type: "enclose", + mode: parser.mode, + label: "\\fbox", + body: args[0] + }; + } +}); +defineFunction({ + type: "enclose", + names: ["\\cancel", "\\bcancel", "\\xcancel", "\\sout"], + props: { + numArgs: 1 + }, + handler: function handler(_ref4, args, optArgs) { + var parser = _ref4.parser, + funcName = _ref4.funcName; + var body = args[0]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + body: body + }; + }, + htmlBuilder: enclose_htmlBuilder, + mathmlBuilder: enclose_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/defineEnvironment.js + + +/** + * All registered environments. + * `environments.js` exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary via `environments.js`. + */ +var _environments = {}; +function defineEnvironment(_ref) { + var type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of environments. + var data = { + type: type, + numArgs: props.numArgs || 0, + greediness: 1, + allowedInText: false, + numOptionalArgs: 0, + handler: handler + }; + + for (var i = 0; i < names.length; ++i) { + // TODO: The value type of _environments should be a type union of all + // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is + // an existential type. + // $FlowFixMe + _environments[names[i]] = data; + } + + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } +} +// CONCATENATED MODULE: ./src/environments/array.js + + + + + + + + + + + + + +function getHLines(parser) { + // Return an array. The array length = number of hlines. + // Each element in the array tells if the line is dashed. + var hlineInfo = []; + parser.consumeSpaces(); + var nxt = parser.fetch().text; + + while (nxt === "\\hline" || nxt === "\\hdashline") { + parser.consume(); + hlineInfo.push(nxt === "\\hdashline"); + parser.consumeSpaces(); + nxt = parser.fetch().text; + } + + return hlineInfo; +} +/** + * Parse the body of the environment, with rows delimited by \\ and + * columns delimited by &, and create a nested list in row-major order + * with one group per cell. If given an optional argument style + * ("text", "display", etc.), then each cell is cast into that style. + */ + + +function parseArray(parser, _ref, style) { + var hskipBeforeAndAfter = _ref.hskipBeforeAndAfter, + addJot = _ref.addJot, + cols = _ref.cols, + arraystretch = _ref.arraystretch, + colSeparationType = _ref.colSeparationType; + // Parse body of array with \\ temporarily mapped to \cr + parser.gullet.beginGroup(); + parser.gullet.macros.set("\\\\", "\\cr"); // Get current arraystretch if it's not set by the environment + + if (!arraystretch) { + var stretch = parser.gullet.expandMacroAsText("\\arraystretch"); + + if (stretch == null) { + // Default \arraystretch from lttab.dtx + arraystretch = 1; + } else { + arraystretch = parseFloat(stretch); + + if (!arraystretch || arraystretch < 0) { + throw new src_ParseError("Invalid \\arraystretch: " + stretch); + } + } + } // Start group for first cell + + + parser.gullet.beginGroup(); + var row = []; + var body = [row]; + var rowGaps = []; + var hLinesBeforeRow = []; // Test for \hline at the top of the array. + + hLinesBeforeRow.push(getHLines(parser)); + + while (true) { + // eslint-disable-line no-constant-condition + // Parse each cell in its own group (namespace) + var cell = parser.parseExpression(false, "\\cr"); + parser.gullet.endGroup(); + parser.gullet.beginGroup(); + cell = { + type: "ordgroup", + mode: parser.mode, + body: cell + }; + + if (style) { + cell = { + type: "styling", + mode: parser.mode, + style: style, + body: [cell] + }; + } + + row.push(cell); + var next = parser.fetch().text; + + if (next === "&") { + parser.consume(); + } else if (next === "\\end") { + // Arrays terminate newlines with `\crcr` which consumes a `\cr` if + // the last line is empty. + // NOTE: Currently, `cell` is the last item added into `row`. + if (row.length === 1 && cell.type === "styling" && cell.body[0].body.length === 0) { + body.pop(); + } + + if (hLinesBeforeRow.length < body.length + 1) { + hLinesBeforeRow.push([]); + } + + break; + } else if (next === "\\cr") { + var cr = assertNodeType(parser.parseFunction(), "cr"); + rowGaps.push(cr.size); // check for \hline(s) following the row separator + + hLinesBeforeRow.push(getHLines(parser)); + row = []; + body.push(row); + } else { + throw new src_ParseError("Expected & or \\\\ or \\cr or \\end", parser.nextToken); + } + } // End cell group + + + parser.gullet.endGroup(); // End array group defining \\ + + parser.gullet.endGroup(); + return { + type: "array", + mode: parser.mode, + addJot: addJot, + arraystretch: arraystretch, + body: body, + cols: cols, + rowGaps: rowGaps, + hskipBeforeAndAfter: hskipBeforeAndAfter, + hLinesBeforeRow: hLinesBeforeRow, + colSeparationType: colSeparationType + }; +} // Decides on a style for cells in an array according to whether the given +// environment name starts with the letter 'd'. + + +function dCellStyle(envName) { + if (envName.substr(0, 1) === "d") { + return "display"; + } else { + return "text"; + } +} + +var array_htmlBuilder = function htmlBuilder(group, options) { + var r; + var c; + var nr = group.body.length; + var hLinesBeforeRow = group.hLinesBeforeRow; + var nc = 0; + var body = new Array(nr); + var hlines = []; + var ruleThickness = Math.max( // From LaTeX \showthe\arrayrulewidth. Equals 0.04 em. + options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override. + ); // Horizontal spacing + + var pt = 1 / options.fontMetrics().ptPerEm; + var arraycolsep = 5 * pt; // default value, i.e. \arraycolsep in article.cls + + if (group.colSeparationType && group.colSeparationType === "small") { + // We're in a {smallmatrix}. Default column space is \thickspace, + // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}. + // But that needs adjustment because LaTeX applies \scriptstyle to the + // entire array, including the colspace, but this function applies + // \scriptstyle only inside each element. + var localMultiplier = options.havingStyle(src_Style.SCRIPT).sizeMultiplier; + arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier); + } // Vertical spacing + + + var baselineskip = 12 * pt; // see size10.clo + // Default \jot from ltmath.dtx + // TODO(edemaine): allow overriding \jot via \setlength (#687) + + var jot = 3 * pt; + var arrayskip = group.arraystretch * baselineskip; + var arstrutHeight = 0.7 * arrayskip; // \strutbox in ltfsstrc.dtx and + + var arstrutDepth = 0.3 * arrayskip; // \@arstrutbox in lttab.dtx + + var totalHeight = 0; // Set a position for \hline(s) at the top of the array, if any. + + function setHLinePos(hlinesInGap) { + for (var i = 0; i < hlinesInGap.length; ++i) { + if (i > 0) { + totalHeight += 0.25; + } + + hlines.push({ + pos: totalHeight, + isDashed: hlinesInGap[i] + }); + } + } + + setHLinePos(hLinesBeforeRow[0]); + + for (r = 0; r < group.body.length; ++r) { + var inrow = group.body[r]; + var height = arstrutHeight; // \@array adds an \@arstrut + + var depth = arstrutDepth; // to each tow (via the template) + + if (nc < inrow.length) { + nc = inrow.length; + } + + var outrow = new Array(inrow.length); + + for (c = 0; c < inrow.length; ++c) { + var elt = buildHTML_buildGroup(inrow[c], options); + + if (depth < elt.depth) { + depth = elt.depth; + } + + if (height < elt.height) { + height = elt.height; + } + + outrow[c] = elt; + } + + var rowGap = group.rowGaps[r]; + var gap = 0; + + if (rowGap) { + gap = units_calculateSize(rowGap, options); + + if (gap > 0) { + // \@argarraycr + gap += arstrutDepth; + + if (depth < gap) { + depth = gap; // \@xargarraycr + } + + gap = 0; + } + } // In AMS multiline environments such as aligned and gathered, rows + // correspond to lines that have additional \jot added to the + // \baselineskip via \openup. + + + if (group.addJot) { + depth += jot; + } + + outrow.height = height; + outrow.depth = depth; + totalHeight += height; + outrow.pos = totalHeight; + totalHeight += depth + gap; // \@yargarraycr + + body[r] = outrow; // Set a position for \hline(s), if any. + + setHLinePos(hLinesBeforeRow[r + 1]); + } + + var offset = totalHeight / 2 + options.fontMetrics().axisHeight; + var colDescriptions = group.cols || []; + var cols = []; + var colSep; + var colDescrNum; + + for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column + // descriptions, so trailing separators don't get lost. + c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) { + var colDescr = colDescriptions[colDescrNum] || {}; + var firstSeparator = true; + + while (colDescr.type === "separator") { + // If there is more than one separator in a row, add a space + // between them. + if (!firstSeparator) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = options.fontMetrics().doubleRuleSep + "em"; + cols.push(colSep); + } + + if (colDescr.separator === "|" || colDescr.separator === ":") { + var lineType = colDescr.separator === "|" ? "solid" : "dashed"; + var separator = buildCommon.makeSpan(["vertical-separator"], [], options); + separator.style.height = totalHeight + "em"; + separator.style.borderRightWidth = ruleThickness + "em"; + separator.style.borderRightStyle = lineType; + separator.style.margin = "0 -" + ruleThickness / 2 + "em"; + separator.style.verticalAlign = -(totalHeight - offset) + "em"; + cols.push(separator); + } else { + throw new src_ParseError("Invalid separator type: " + colDescr.separator); + } + + colDescrNum++; + colDescr = colDescriptions[colDescrNum] || {}; + firstSeparator = false; + } + + if (c >= nc) { + continue; + } + + var sepwidth = void 0; + + if (c > 0 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.pregap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + + var col = []; + + for (r = 0; r < nr; ++r) { + var row = body[r]; + var elem = row[c]; + + if (!elem) { + continue; + } + + var shift = row.pos - offset; + elem.depth = row.depth; + elem.height = row.height; + col.push({ + type: "elem", + elem: elem, + shift: shift + }); + } + + col = buildCommon.makeVList({ + positionType: "individualShift", + children: col + }, options); + col = buildCommon.makeSpan(["col-align-" + (colDescr.align || "c")], [col]); + cols.push(col); + + if (c < nc - 1 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.postgap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + } + + body = buildCommon.makeSpan(["mtable"], cols); // Add \hline(s), if any. + + if (hlines.length > 0) { + var line = buildCommon.makeLineSpan("hline", options, ruleThickness); + var dashes = buildCommon.makeLineSpan("hdashline", options, ruleThickness); + var vListElems = [{ + type: "elem", + elem: body, + shift: 0 + }]; + + while (hlines.length > 0) { + var hline = hlines.pop(); + var lineShift = hline.pos - offset; + + if (hline.isDashed) { + vListElems.push({ + type: "elem", + elem: dashes, + shift: lineShift + }); + } else { + vListElems.push({ + type: "elem", + elem: line, + shift: lineShift + }); + } + } + + body = buildCommon.makeVList({ + positionType: "individualShift", + children: vListElems + }, options); + } + + return buildCommon.makeSpan(["mord"], [body], options); +}; + +var alignMap = { + c: "center ", + l: "left ", + r: "right " +}; + +var array_mathmlBuilder = function mathmlBuilder(group, options) { + var table = new mathMLTree.MathNode("mtable", group.body.map(function (row) { + return new mathMLTree.MathNode("mtr", row.map(function (cell) { + return new mathMLTree.MathNode("mtd", [buildMathML_buildGroup(cell, options)]); + })); + })); // Set column alignment, row spacing, column spacing, and + // array lines by setting attributes on the table element. + // Set the row spacing. In MathML, we specify a gap distance. + // We do not use rowGap[] because MathML automatically increases + // cell height with the height/depth of the element content. + // LaTeX \arraystretch multiplies the row baseline-to-baseline distance. + // We simulate this by adding (arraystretch - 1)em to the gap. This + // does a reasonable job of adjusting arrays containing 1 em tall content. + // The 0.16 and 0.09 values are found emprically. They produce an array + // similar to LaTeX and in which content does not interfere with \hines. + + var gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray} + : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0); + table.setAttribute("rowspacing", gap + "em"); // MathML table lines go only between cells. + // To place a line on an edge we'll use , if necessary. + + var menclose = ""; + var align = ""; + + if (group.cols && group.cols.length > 0) { + // Find column alignment, column spacing, and vertical lines. + var cols = group.cols; + var columnLines = ""; + var prevTypeWasAlign = false; + var iStart = 0; + var iEnd = cols.length; + + if (cols[0].type === "separator") { + menclose += "top "; + iStart = 1; + } + + if (cols[cols.length - 1].type === "separator") { + menclose += "bottom "; + iEnd -= 1; + } + + for (var i = iStart; i < iEnd; i++) { + if (cols[i].type === "align") { + align += alignMap[cols[i].align]; + + if (prevTypeWasAlign) { + columnLines += "none "; + } + + prevTypeWasAlign = true; + } else if (cols[i].type === "separator") { + // MathML accepts only single lines between cells. + // So we read only the first of consecutive separators. + if (prevTypeWasAlign) { + columnLines += cols[i].separator === "|" ? "solid " : "dashed "; + prevTypeWasAlign = false; + } + } + } + + table.setAttribute("columnalign", align.trim()); + + if (/[sd]/.test(columnLines)) { + table.setAttribute("columnlines", columnLines.trim()); + } + } // Set column spacing. + + + if (group.colSeparationType === "align") { + var _cols = group.cols || []; + + var spacing = ""; + + for (var _i = 1; _i < _cols.length; _i++) { + spacing += _i % 2 ? "0em " : "1em "; + } + + table.setAttribute("columnspacing", spacing.trim()); + } else if (group.colSeparationType === "alignat") { + table.setAttribute("columnspacing", "0em"); + } else if (group.colSeparationType === "small") { + table.setAttribute("columnspacing", "0.2778em"); + } else { + table.setAttribute("columnspacing", "1em"); + } // Address \hline and \hdashline + + + var rowLines = ""; + var hlines = group.hLinesBeforeRow; + menclose += hlines[0].length > 0 ? "left " : ""; + menclose += hlines[hlines.length - 1].length > 0 ? "right " : ""; + + for (var _i2 = 1; _i2 < hlines.length - 1; _i2++) { + rowLines += hlines[_i2].length === 0 ? "none " // MathML accepts only a single line between rows. Read one element. + : hlines[_i2][0] ? "dashed " : "solid "; + } + + if (/[sd]/.test(rowLines)) { + table.setAttribute("rowlines", rowLines.trim()); + } + + if (menclose !== "") { + table = new mathMLTree.MathNode("menclose", [table]); + table.setAttribute("notation", menclose.trim()); + } + + if (group.arraystretch && group.arraystretch < 1) { + // A small array. Wrap in scriptstyle so row gap is not too large. + table = new mathMLTree.MathNode("mstyle", [table]); + table.setAttribute("scriptlevel", "1"); + } + + return table; +}; // Convenience function for aligned and alignedat environments. + + +var array_alignedHandler = function alignedHandler(context, args) { + var cols = []; + var res = parseArray(context.parser, { + cols: cols, + addJot: true + }, "display"); // Determining number of columns. + // 1. If the first argument is given, we use it as a number of columns, + // and makes sure that each row doesn't exceed that number. + // 2. Otherwise, just count number of columns = maximum number + // of cells in each row ("aligned" mode -- isAligned will be true). + // + // At the same time, prepend empty group {} at beginning of every second + // cell in each row (starting with second cell) so that operators become + // binary. This behavior is implemented in amsmath's \start@aligned. + + var numMaths; + var numCols = 0; + var emptyGroup = { + type: "ordgroup", + mode: context.mode, + body: [] + }; + + if (args[0] && args[0].type === "ordgroup") { + var arg0 = ""; + + for (var i = 0; i < args[0].body.length; i++) { + var textord = assertNodeType(args[0].body[i], "textord"); + arg0 += textord.text; + } + + numMaths = Number(arg0); + numCols = numMaths * 2; + } + + var isAligned = !numCols; + res.body.forEach(function (row) { + for (var _i3 = 1; _i3 < row.length; _i3 += 2) { + // Modify ordgroup node within styling node + var styling = assertNodeType(row[_i3], "styling"); + var ordgroup = assertNodeType(styling.body[0], "ordgroup"); + ordgroup.body.unshift(emptyGroup); + } + + if (!isAligned) { + // Case 1 + var curMaths = row.length / 2; + + if (numMaths < curMaths) { + throw new src_ParseError("Too many math in a row: " + ("expected " + numMaths + ", but got " + curMaths), row[0]); + } + } else if (numCols < row.length) { + // Case 2 + numCols = row.length; + } + }); // Adjusting alignment. + // In aligned mode, we add one \qquad between columns; + // otherwise we add nothing. + + for (var _i4 = 0; _i4 < numCols; ++_i4) { + var align = "r"; + var pregap = 0; + + if (_i4 % 2 === 1) { + align = "l"; + } else if (_i4 > 0 && isAligned) { + // "aligned" mode. + pregap = 1; // add one \quad + } + + cols[_i4] = { + type: "align", + align: align, + pregap: pregap, + postgap: 0 + }; + } + + res.colSeparationType = isAligned ? "align" : "alignat"; + return res; +}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation +// is part of the source2e.pdf file of LaTeX2e source documentation. +// {darray} is an {array} environment where cells are set in \displaystyle, +// as defined in nccmath.sty. + + +defineEnvironment({ + type: "array", + names: ["array", "darray"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + // Since no types are specified above, the two possibilities are + // - The argument is wrapped in {} or [], in which case Parser's + // parseGroup() returns an "ordgroup" wrapping some symbol node. + // - The argument is a bare symbol node. + var symNode = checkSymbolNodeType(args[0]); + var colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + var cols = colalign.map(function (nde) { + var node = assertSymbolNodeType(nde); + var ca = node.text; + + if ("lcr".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } else if (ca === "|") { + return { + type: "separator", + separator: "|" + }; + } else if (ca === ":") { + return { + type: "separator", + separator: ":" + }; + } + + throw new src_ParseError("Unknown column alignment: " + ca, nde); + }); + var res = { + cols: cols, + hskipBeforeAndAfter: true // \@preamble in lttab.dtx + + }; + return parseArray(context.parser, res, dCellStyle(context.envName)); + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // The matrix environments of amsmath builds on the array environment +// of LaTeX, which is discussed above. + +defineEnvironment({ + type: "array", + names: ["matrix", "pmatrix", "bmatrix", "Bmatrix", "vmatrix", "Vmatrix"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var delimiters = { + "matrix": null, + "pmatrix": ["(", ")"], + "bmatrix": ["[", "]"], + "Bmatrix": ["\\{", "\\}"], + "vmatrix": ["|", "|"], + "Vmatrix": ["\\Vert", "\\Vert"] + }[context.envName]; // \hskip -\arraycolsep in amsmath + + var payload = { + hskipBeforeAndAfter: false + }; + var res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return delimiters ? { + type: "leftright", + mode: context.mode, + body: [res], + left: delimiters[0], + right: delimiters[1], + rightColor: undefined // \right uninfluenced by \color in array + + } : res; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); +defineEnvironment({ + type: "array", + names: ["smallmatrix"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var payload = { + arraystretch: 0.5 + }; + var res = parseArray(context.parser, payload, "script"); + res.colSeparationType = "small"; + return res; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); +defineEnvironment({ + type: "array", + names: ["subarray"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + // Parsing of {subarray} is similar to {array} + var symNode = checkSymbolNodeType(args[0]); + var colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + var cols = colalign.map(function (nde) { + var node = assertSymbolNodeType(nde); + var ca = node.text; // {subarray} only recognizes "l" & "c" + + if ("lc".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } + + throw new src_ParseError("Unknown column alignment: " + ca, nde); + }); + + if (cols.length > 1) { + throw new src_ParseError("{subarray} can contain only one column"); + } + + var res = { + cols: cols, + hskipBeforeAndAfter: false, + arraystretch: 0.5 + }; + res = parseArray(context.parser, res, "script"); + + if (res.body.length > 0 && res.body[0].length > 1) { + throw new src_ParseError("{subarray} can contain only one column"); + } + + return res; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // A cases environment (in amsmath.sty) is almost equivalent to +// \def\arraystretch{1.2}% +// \left\{\begin{array}{@{}l@{\quad}l@{}} … \end{array}\right. +// {dcases} is a {cases} environment where cells are set in \displaystyle, +// as defined in mathtools.sty. +// {rcases} is another mathtools environment. It's brace is on the right side. + +defineEnvironment({ + type: "array", + names: ["cases", "dcases", "rcases", "drcases"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var payload = { + arraystretch: 1.2, + cols: [{ + type: "align", + align: "l", + pregap: 0, + // TODO(kevinb) get the current style. + // For now we use the metrics for TEXT style which is what we were + // doing before. Before attempting to get the current style we + // should look at TeX's behavior especially for \over and matrices. + postgap: 1.0 + /* 1em quad */ + + }, { + type: "align", + align: "l", + pregap: 0, + postgap: 0 + }] + }; + var res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return { + type: "leftright", + mode: context.mode, + body: [res], + left: context.envName.indexOf("r") > -1 ? "." : "\\{", + right: context.envName.indexOf("r") > -1 ? "\\}" : ".", + rightColor: undefined + }; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // An aligned environment is like the align* environment +// except it operates within math mode. +// Note that we assume \nomallineskiplimit to be zero, +// so that \strut@ is the same as \strut. + +defineEnvironment({ + type: "array", + names: ["aligned"], + props: { + numArgs: 0 + }, + handler: array_alignedHandler, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // A gathered environment is like an array environment with one centered +// column, but where rows are considered lines so get \jot line spacing +// and contents are set in \displaystyle. + +defineEnvironment({ + type: "array", + names: ["gathered"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var res = { + cols: [{ + type: "align", + align: "c" + }], + addJot: true + }; + return parseArray(context.parser, res, "display"); + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // alignat environment is like an align environment, but one must explicitly +// specify maximum number of columns in each row, and can adjust spacing between +// each columns. + +defineEnvironment({ + type: "array", + names: ["alignedat"], + // One for numbered and for unnumbered; + // but, KaTeX doesn't supports math numbering yet, + // they make no difference for now. + props: { + numArgs: 1 + }, + handler: array_alignedHandler, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // Catch \hline outside array environment + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\hline", "\\hdashline"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: true + }, + handler: function handler(context, args) { + throw new src_ParseError(context.funcName + " valid only within array environment"); + } +}); +// CONCATENATED MODULE: ./src/environments.js + +var environments = _environments; +/* harmony default export */ var src_environments = (environments); // All environment definitions should be imported below + + +// CONCATENATED MODULE: ./src/functions/environment.js + + + + // Environment delimiters. HTML/MathML rendering is defined in the corresponding +// defineEnvironment definitions. +// $FlowFixMe, "environment" handler returns an environment ParseNode + +defineFunction({ + type: "environment", + names: ["\\begin", "\\end"], + props: { + numArgs: 1, + argTypes: ["text"] + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var nameGroup = args[0]; + + if (nameGroup.type !== "ordgroup") { + throw new src_ParseError("Invalid environment name", nameGroup); + } + + var envName = ""; + + for (var i = 0; i < nameGroup.body.length; ++i) { + envName += assertNodeType(nameGroup.body[i], "textord").text; + } + + if (funcName === "\\begin") { + // begin...end is similar to left...right + if (!src_environments.hasOwnProperty(envName)) { + throw new src_ParseError("No such environment: " + envName, nameGroup); + } // Build the environment object. Arguments and other information will + // be made available to the begin and end methods using properties. + + + var env = src_environments[envName]; + + var _parser$parseArgument = parser.parseArguments("\\begin{" + envName + "}", env), + _args = _parser$parseArgument.args, + optArgs = _parser$parseArgument.optArgs; + + var context = { + mode: parser.mode, + envName: envName, + parser: parser + }; + var result = env.handler(context, _args, optArgs); + parser.expect("\\end", false); + var endNameToken = parser.nextToken; + var end = assertNodeType(parser.parseFunction(), "environment"); + + if (end.name !== envName) { + throw new src_ParseError("Mismatch: \\begin{" + envName + "} matched by \\end{" + end.name + "}", endNameToken); + } + + return result; + } + + return { + type: "environment", + mode: parser.mode, + name: envName, + nameGroup: nameGroup + }; + } +}); +// CONCATENATED MODULE: ./src/functions/mclass.js + + + + + + +var mclass_makeSpan = buildCommon.makeSpan; + +function mclass_htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options, true); + return mclass_makeSpan([group.mclass], elements, options); +} + +function mclass_mathmlBuilder(group, options) { + var node; + var inner = buildMathML_buildExpression(group.body, options); + + if (group.mclass === "minner") { + return mathMLTree.newDocumentFragment(inner); + } else if (group.mclass === "mord") { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mi"; + } else { + node = new mathMLTree.MathNode("mi", inner); + } + } else { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mo"; + } else { + node = new mathMLTree.MathNode("mo", inner); + } // Set spacing based on what is the most likely adjacent atom type. + // See TeXbook p170. + + + if (group.mclass === "mbin") { + node.attributes.lspace = "0.22em"; // medium space + + node.attributes.rspace = "0.22em"; + } else if (group.mclass === "mpunct") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0.17em"; // thinspace + } else if (group.mclass === "mopen" || group.mclass === "mclose") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0em"; + } // MathML default space is 5/18 em, so needs no action. + // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo + + } + + return node; +} // Math class commands except \mathop + + +defineFunction({ + type: "mclass", + names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "mclass", + mode: parser.mode, + mclass: "m" + funcName.substr(5), + // TODO(kevinb): don't prefix with 'm' + body: ordargument(body), + isCharacterBox: utils.isCharacterBox(body) + }; + }, + htmlBuilder: mclass_htmlBuilder, + mathmlBuilder: mclass_mathmlBuilder +}); +var binrelClass = function binrelClass(arg) { + // \binrel@ spacing varies with (bin|rel|ord) of the atom in the argument. + // (by rendering separately and with {}s before and after, and measuring + // the change in spacing). We'll do roughly the same by detecting the + // atom type directly. + var atom = arg.type === "ordgroup" && arg.body.length ? arg.body[0] : arg; + + if (atom.type === "atom" && (atom.family === "bin" || atom.family === "rel")) { + return "m" + atom.family; + } else { + return "mord"; + } +}; // \@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord. +// This is equivalent to \binrel@{x}\binrel@@{y} in AMSTeX. + +defineFunction({ + type: "mclass", + names: ["\\@binrel"], + props: { + numArgs: 2 + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(args[0]), + body: [args[1]], + isCharacterBox: utils.isCharacterBox(args[1]) + }; + } +}); // Build a relation or stacked op by placing one symbol on top of another + +defineFunction({ + type: "mclass", + names: ["\\stackrel", "\\overset", "\\underset"], + props: { + numArgs: 2 + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser, + funcName = _ref3.funcName; + var baseArg = args[1]; + var shiftedArg = args[0]; + var mclass; + + if (funcName !== "\\stackrel") { + // LaTeX applies \binrel spacing to \overset and \underset. + mclass = binrelClass(baseArg); + } else { + mclass = "mrel"; // for \stackrel + } + + var baseOp = { + type: "op", + mode: baseArg.mode, + limits: true, + alwaysHandleSupSub: true, + parentIsSupSub: false, + symbol: false, + suppressBaseShift: funcName !== "\\stackrel", + body: ordargument(baseArg) + }; + var supsub = { + type: "supsub", + mode: shiftedArg.mode, + base: baseOp, + sup: funcName === "\\underset" ? null : shiftedArg, + sub: funcName === "\\underset" ? shiftedArg : null + }; + return { + type: "mclass", + mode: parser.mode, + mclass: mclass, + body: [supsub], + isCharacterBox: utils.isCharacterBox(supsub) + }; + }, + htmlBuilder: mclass_htmlBuilder, + mathmlBuilder: mclass_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/font.js +// TODO(kevinb): implement \\sl and \\sc + + + + + + +var font_htmlBuilder = function htmlBuilder(group, options) { + var font = group.font; + var newOptions = options.withFont(font); + return buildHTML_buildGroup(group.body, newOptions); +}; + +var font_mathmlBuilder = function mathmlBuilder(group, options) { + var font = group.font; + var newOptions = options.withFont(font); + return buildMathML_buildGroup(group.body, newOptions); +}; + +var fontAliases = { + "\\Bbb": "\\mathbb", + "\\bold": "\\mathbf", + "\\frak": "\\mathfrak", + "\\bm": "\\boldsymbol" +}; +defineFunction({ + type: "font", + names: [// styles, except \boldsymbol defined below + "\\mathrm", "\\mathit", "\\mathbf", "\\mathnormal", // families + "\\mathbb", "\\mathcal", "\\mathfrak", "\\mathscr", "\\mathsf", "\\mathtt", // aliases, except \bm defined below + "\\Bbb", "\\bold", "\\frak"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + var func = funcName; + + if (func in fontAliases) { + func = fontAliases[func]; + } + + return { + type: "font", + mode: parser.mode, + font: func.slice(1), + body: body + }; + }, + htmlBuilder: font_htmlBuilder, + mathmlBuilder: font_mathmlBuilder +}); +defineFunction({ + type: "mclass", + names: ["\\boldsymbol", "\\bm"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var body = args[0]; + var isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty's \boldsymbol uses \binrel spacing to inherit the + // argument's bin|rel|ord status + + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(body), + body: [{ + type: "font", + mode: parser.mode, + font: "boldsymbol", + body: body + }], + isCharacterBox: isCharacterBox + }; + } +}); // Old font changing functions + +defineFunction({ + type: "font", + names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it", "\\cal"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser, + funcName = _ref3.funcName, + breakOnTokenText = _ref3.breakOnTokenText; + var mode = parser.mode; + var body = parser.parseExpression(true, breakOnTokenText); + var style = "math" + funcName.slice(1); + return { + type: "font", + mode: mode, + font: style, + body: { + type: "ordgroup", + mode: parser.mode, + body: body + } + }; + }, + htmlBuilder: font_htmlBuilder, + mathmlBuilder: font_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/genfrac.js + + + + + + + + + + + +var genfrac_adjustStyle = function adjustStyle(size, originalStyle) { + // Figure out what style this fraction should be in based on the + // function used + var style = originalStyle; + + if (size === "display") { + // Get display style as a default. + // If incoming style is sub/sup, use style.text() to get correct size. + style = style.id >= src_Style.SCRIPT.id ? style.text() : src_Style.DISPLAY; + } else if (size === "text" && style.size === src_Style.DISPLAY.size) { + // We're in a \tfrac but incoming style is displaystyle, so: + style = src_Style.TEXT; + } else if (size === "script") { + style = src_Style.SCRIPT; + } else if (size === "scriptscript") { + style = src_Style.SCRIPTSCRIPT; + } + + return style; +}; + +var genfrac_htmlBuilder = function htmlBuilder(group, options) { + // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e). + var style = genfrac_adjustStyle(group.size, options.style); + var nstyle = style.fracNum(); + var dstyle = style.fracDen(); + var newOptions; + newOptions = options.havingStyle(nstyle); + var numerm = buildHTML_buildGroup(group.numer, newOptions, options); + + if (group.continued) { + // \cfrac inserts a \strut into the numerator. + // Get \strut dimensions from TeXbook page 353. + var hStrut = 8.5 / options.fontMetrics().ptPerEm; + var dStrut = 3.5 / options.fontMetrics().ptPerEm; + numerm.height = numerm.height < hStrut ? hStrut : numerm.height; + numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth; + } + + newOptions = options.havingStyle(dstyle); + var denomm = buildHTML_buildGroup(group.denom, newOptions, options); + var rule; + var ruleWidth; + var ruleSpacing; + + if (group.hasBarLine) { + if (group.barSize) { + ruleWidth = units_calculateSize(group.barSize, options); + rule = buildCommon.makeLineSpan("frac-line", options, ruleWidth); + } else { + rule = buildCommon.makeLineSpan("frac-line", options); + } + + ruleWidth = rule.height; + ruleSpacing = rule.height; + } else { + rule = null; + ruleWidth = 0; + ruleSpacing = options.fontMetrics().defaultRuleThickness; + } // Rule 15b + + + var numShift; + var clearance; + var denomShift; + + if (style.size === src_Style.DISPLAY.size || group.size === "display") { + numShift = options.fontMetrics().num1; + + if (ruleWidth > 0) { + clearance = 3 * ruleSpacing; + } else { + clearance = 7 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom1; + } else { + if (ruleWidth > 0) { + numShift = options.fontMetrics().num2; + clearance = ruleSpacing; + } else { + numShift = options.fontMetrics().num3; + clearance = 3 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom2; + } + + var frac; + + if (!rule) { + // Rule 15c + var candidateClearance = numShift - numerm.depth - (denomm.height - denomShift); + + if (candidateClearance < clearance) { + numShift += 0.5 * (clearance - candidateClearance); + denomShift += 0.5 * (clearance - candidateClearance); + } + + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } else { + // Rule 15d + var axisHeight = options.fontMetrics().axisHeight; + + if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) { + numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth)); + } + + if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) { + denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift)); + } + + var midShift = -(axisHeight - 0.5 * ruleWidth); + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: rule, + shift: midShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } // Since we manually change the style sometimes (with \dfrac or \tfrac), + // account for the possible size change here. + + + newOptions = options.havingStyle(style); + frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier; + frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e + + var delimSize; + + if (style.size === src_Style.DISPLAY.size) { + delimSize = options.fontMetrics().delim1; + } else { + delimSize = options.fontMetrics().delim2; + } + + var leftDelim; + var rightDelim; + + if (group.leftDelim == null) { + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, ["mopen"]); + } + + if (group.continued) { + rightDelim = buildCommon.makeSpan([]); // zero width for \cfrac + } else if (group.rightDelim == null) { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, ["mclose"]); + } + + return buildCommon.makeSpan(["mord"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan(["mfrac"], [frac]), rightDelim], options); +}; + +var genfrac_mathmlBuilder = function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mfrac", [buildMathML_buildGroup(group.numer, options), buildMathML_buildGroup(group.denom, options)]); + + if (!group.hasBarLine) { + node.setAttribute("linethickness", "0px"); + } else if (group.barSize) { + var ruleWidth = units_calculateSize(group.barSize, options); + node.setAttribute("linethickness", ruleWidth + "em"); + } + + var style = genfrac_adjustStyle(group.size, options.style); + + if (style.size !== options.style.size) { + node = new mathMLTree.MathNode("mstyle", [node]); + var isDisplay = style.size === src_Style.DISPLAY.size ? "true" : "false"; + node.setAttribute("displaystyle", isDisplay); + node.setAttribute("scriptlevel", "0"); + } + + if (group.leftDelim != null || group.rightDelim != null) { + var withDelims = []; + + if (group.leftDelim != null) { + var leftOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.leftDelim.replace("\\", ""))]); + leftOp.setAttribute("fence", "true"); + withDelims.push(leftOp); + } + + withDelims.push(node); + + if (group.rightDelim != null) { + var rightOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.rightDelim.replace("\\", ""))]); + rightOp.setAttribute("fence", "true"); + withDelims.push(rightOp); + } + + return buildMathML_makeRow(withDelims); + } + + return node; +}; + +defineFunction({ + type: "genfrac", + names: ["\\cfrac", "\\dfrac", "\\frac", "\\tfrac", "\\dbinom", "\\binom", "\\tbinom", "\\\\atopfrac", // can’t be entered directly + "\\\\bracefrac", "\\\\brackfrac"], + props: { + numArgs: 2, + greediness: 2 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var numer = args[0]; + var denom = args[1]; + var hasBarLine; + var leftDelim = null; + var rightDelim = null; + var size = "auto"; + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\frac": + case "\\tfrac": + hasBarLine = true; + break; + + case "\\\\atopfrac": + hasBarLine = false; + break; + + case "\\dbinom": + case "\\binom": + case "\\tbinom": + hasBarLine = false; + leftDelim = "("; + rightDelim = ")"; + break; + + case "\\\\bracefrac": + hasBarLine = false; + leftDelim = "\\{"; + rightDelim = "\\}"; + break; + + case "\\\\brackfrac": + hasBarLine = false; + leftDelim = "["; + rightDelim = "]"; + break; + + default: + throw new Error("Unrecognized genfrac command"); + } + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\dbinom": + size = "display"; + break; + + case "\\tfrac": + case "\\tbinom": + size = "text"; + break; + } + + return { + type: "genfrac", + mode: parser.mode, + continued: funcName === "\\cfrac", + numer: numer, + denom: denom, + hasBarLine: hasBarLine, + leftDelim: leftDelim, + rightDelim: rightDelim, + size: size, + barSize: null + }; + }, + htmlBuilder: genfrac_htmlBuilder, + mathmlBuilder: genfrac_mathmlBuilder +}); // Infix generalized fractions -- these are not rendered directly, but replaced +// immediately by one of the variants above. + +defineFunction({ + type: "infix", + names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"], + props: { + numArgs: 0, + infix: true + }, + handler: function handler(_ref2) { + var parser = _ref2.parser, + funcName = _ref2.funcName, + token = _ref2.token; + var replaceWith; + + switch (funcName) { + case "\\over": + replaceWith = "\\frac"; + break; + + case "\\choose": + replaceWith = "\\binom"; + break; + + case "\\atop": + replaceWith = "\\\\atopfrac"; + break; + + case "\\brace": + replaceWith = "\\\\bracefrac"; + break; + + case "\\brack": + replaceWith = "\\\\brackfrac"; + break; + + default: + throw new Error("Unrecognized infix genfrac command"); + } + + return { + type: "infix", + mode: parser.mode, + replaceWith: replaceWith, + token: token + }; + } +}); +var stylArray = ["display", "text", "script", "scriptscript"]; + +var delimFromValue = function delimFromValue(delimString) { + var delim = null; + + if (delimString.length > 0) { + delim = delimString; + delim = delim === "." ? null : delim; + } + + return delim; +}; + +defineFunction({ + type: "genfrac", + names: ["\\genfrac"], + props: { + numArgs: 6, + greediness: 6, + argTypes: ["math", "math", "size", "text", "math", "math"] + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser; + var numer = args[4]; + var denom = args[5]; // Look into the parse nodes to get the desired delimiters. + + var leftDelim = args[0].type === "atom" && args[0].family === "open" ? delimFromValue(args[0].text) : null; + var rightDelim = args[1].type === "atom" && args[1].family === "close" ? delimFromValue(args[1].text) : null; + var barNode = assertNodeType(args[2], "size"); + var hasBarLine; + var barSize = null; + + if (barNode.isBlank) { + // \genfrac acts differently than \above. + // \genfrac treats an empty size group as a signal to use a + // standard bar size. \above would see size = 0 and omit the bar. + hasBarLine = true; + } else { + barSize = barNode.value; + hasBarLine = barSize.number > 0; + } // Find out if we want displaystyle, textstyle, etc. + + + var size = "auto"; + var styl = args[3]; + + if (styl.type === "ordgroup") { + if (styl.body.length > 0) { + var textOrd = assertNodeType(styl.body[0], "textord"); + size = stylArray[Number(textOrd.text)]; + } + } else { + styl = assertNodeType(styl, "textord"); + size = stylArray[Number(styl.text)]; + } + + return { + type: "genfrac", + mode: parser.mode, + numer: numer, + denom: denom, + continued: false, + hasBarLine: hasBarLine, + barSize: barSize, + leftDelim: leftDelim, + rightDelim: rightDelim, + size: size + }; + }, + htmlBuilder: genfrac_htmlBuilder, + mathmlBuilder: genfrac_mathmlBuilder +}); // \above is an infix fraction that also defines a fraction bar size. + +defineFunction({ + type: "infix", + names: ["\\above"], + props: { + numArgs: 1, + argTypes: ["size"], + infix: true + }, + handler: function handler(_ref4, args) { + var parser = _ref4.parser, + funcName = _ref4.funcName, + token = _ref4.token; + return { + type: "infix", + mode: parser.mode, + replaceWith: "\\\\abovefrac", + size: assertNodeType(args[0], "size").value, + token: token + }; + } +}); +defineFunction({ + type: "genfrac", + names: ["\\\\abovefrac"], + props: { + numArgs: 3, + argTypes: ["math", "size", "math"] + }, + handler: function handler(_ref5, args) { + var parser = _ref5.parser, + funcName = _ref5.funcName; + var numer = args[0]; + var barSize = assert(assertNodeType(args[1], "infix").size); + var denom = args[2]; + var hasBarLine = barSize.number > 0; + return { + type: "genfrac", + mode: parser.mode, + numer: numer, + denom: denom, + continued: false, + hasBarLine: hasBarLine, + barSize: barSize, + leftDelim: null, + rightDelim: null, + size: "auto" + }; + }, + htmlBuilder: genfrac_htmlBuilder, + mathmlBuilder: genfrac_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/horizBrace.js + + + + + + + + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "horizBrace", but +var horizBrace_htmlBuilder = function htmlBuilder(grp, options) { + var style = options.style; // Pull out the `ParseNode<"horizBrace">` if `grp` is a "supsub" node. + + var supSubGroup; + var group; + + if (grp.type === "supsub") { + // Ref: LaTeX source2e: }}}}\limits} + // i.e. LaTeX treats the brace similar to an op and passes it + // with \limits, so we need to assign supsub style. + supSubGroup = grp.sup ? buildHTML_buildGroup(grp.sup, options.havingStyle(style.sup()), options) : buildHTML_buildGroup(grp.sub, options.havingStyle(style.sub()), options); + group = assertNodeType(grp.base, "horizBrace"); + } else { + group = assertNodeType(grp, "horizBrace"); + } // Build the base group + + + var body = buildHTML_buildGroup(group.base, options.havingBaseStyle(src_Style.DISPLAY)); // Create the stretchy element + + var braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns ┏━━━━━━━━┓ + // This first vlist contains the content and the brace: equation + + var vlist; + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: braceBody + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: body.depth + 0.1 + braceBody.height, + children: [{ + type: "elem", + elem: braceBody + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: body + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[0].classes.push("svg-align"); + } + + if (supSubGroup) { + // To write the supsub, wrap the first vlist in another vlist: + // They can't all go in the same vlist, because the note might be + // wider than the equation. We want the equation to control the + // brace width. + // note long note long note + // ┏━━━━━━━━┓ or ┏━━━┓ not ┏━━━━━━━━━┓ + // equation eqn eqn + var vSpan = buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: vSpan + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: supSubGroup + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth, + children: [{ + type: "elem", + elem: supSubGroup + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: vSpan + }] + }, options); + } + } + + return buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); +}; + +var horizBrace_mathmlBuilder = function mathmlBuilder(group, options) { + var accentNode = stretchy.mathMLnode(group.label); + return new mathMLTree.MathNode(group.isOver ? "mover" : "munder", [buildMathML_buildGroup(group.base, options), accentNode]); +}; // Horizontal stretchy braces + + +defineFunction({ + type: "horizBrace", + names: ["\\overbrace", "\\underbrace"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "horizBrace", + mode: parser.mode, + label: funcName, + isOver: /^\\over/.test(funcName), + base: args[0] + }; + }, + htmlBuilder: horizBrace_htmlBuilder, + mathmlBuilder: horizBrace_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/href.js + + + + + + +defineFunction({ + type: "href", + names: ["\\href"], + props: { + numArgs: 2, + argTypes: ["url", "original"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var body = args[1]; + var href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\href", + url: href + })) { + return parser.formatUnsupportedCmd("\\href"); + } + + return { + type: "href", + mode: parser.mode, + href: href, + body: ordargument(body) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options, false); + return buildCommon.makeAnchor(group.href, [], elements, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var math = buildExpressionRow(group.body, options); + + if (!(math instanceof mathMLTree_MathNode)) { + math = new mathMLTree_MathNode("mrow", [math]); + } + + math.setAttribute("href", group.href); + return math; + } +}); +defineFunction({ + type: "href", + names: ["\\url"], + props: { + numArgs: 1, + argTypes: ["url"], + allowedInText: true + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\url", + url: href + })) { + return parser.formatUnsupportedCmd("\\url"); + } + + var chars = []; + + for (var i = 0; i < href.length; i++) { + var c = href[i]; + + if (c === "~") { + c = "\\textasciitilde"; + } + + chars.push({ + type: "textord", + mode: "text", + text: c + }); + } + + var body = { + type: "text", + mode: parser.mode, + font: "\\texttt", + body: chars + }; + return { + type: "href", + mode: parser.mode, + href: href, + body: ordargument(body) + }; + } +}); +// CONCATENATED MODULE: ./src/functions/html.js + + + + + + +defineFunction({ + type: "html", + names: ["\\htmlClass", "\\htmlId", "\\htmlStyle", "\\htmlData"], + props: { + numArgs: 2, + argTypes: ["raw", "original"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName, + token = _ref.token; + var value = assertNodeType(args[0], "raw").string; + var body = args[1]; + + if (parser.settings.strict) { + parser.settings.reportNonstrict("htmlExtension", "HTML extension is disabled on strict mode"); + } + + var trustContext; + var attributes = {}; + + switch (funcName) { + case "\\htmlClass": + attributes.class = value; + trustContext = { + command: "\\htmlClass", + class: value + }; + break; + + case "\\htmlId": + attributes.id = value; + trustContext = { + command: "\\htmlId", + id: value + }; + break; + + case "\\htmlStyle": + attributes.style = value; + trustContext = { + command: "\\htmlStyle", + style: value + }; + break; + + case "\\htmlData": + { + var data = value.split(","); + + for (var i = 0; i < data.length; i++) { + var keyVal = data[i].split("="); + + if (keyVal.length !== 2) { + throw new src_ParseError("Error parsing key-value for \\htmlData"); + } + + attributes["data-" + keyVal[0].trim()] = keyVal[1].trim(); + } + + trustContext = { + command: "\\htmlData", + attributes: attributes + }; + break; + } + + default: + throw new Error("Unrecognized html command"); + } + + if (!parser.settings.isTrusted(trustContext)) { + return parser.formatUnsupportedCmd(funcName); + } + + return { + type: "html", + mode: parser.mode, + attributes: attributes, + body: ordargument(body) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options, false); + var classes = ["enclosing"]; + + if (group.attributes.class) { + classes.push.apply(classes, group.attributes.class.trim().split(/\s+/)); + } + + var span = buildCommon.makeSpan(classes, elements, options); + + for (var attr in group.attributes) { + if (attr !== "class" && group.attributes.hasOwnProperty(attr)) { + span.setAttribute(attr, group.attributes[attr]); + } + } + + return span; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + return buildExpressionRow(group.body, options); + } +}); +// CONCATENATED MODULE: ./src/functions/htmlmathml.js + + + + +defineFunction({ + type: "htmlmathml", + names: ["\\html@mathml"], + props: { + numArgs: 2, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + return { + type: "htmlmathml", + mode: parser.mode, + html: ordargument(args[0]), + mathml: ordargument(args[1]) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.html, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + return buildExpressionRow(group.mathml, options); + } +}); +// CONCATENATED MODULE: ./src/functions/includegraphics.js + + + + + + + +var includegraphics_sizeData = function sizeData(str) { + if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(str)) { + // str is a number with no unit specified. + // default unit is bp, per graphix package. + return { + number: +str, + unit: "bp" + }; + } else { + var match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(str); + + if (!match) { + throw new src_ParseError("Invalid size: '" + str + "' in \\includegraphics"); + } + + var data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new src_ParseError("Invalid unit: '" + data.unit + "' in \\includegraphics."); + } + + return data; + } +}; + +defineFunction({ + type: "includegraphics", + names: ["\\includegraphics"], + props: { + numArgs: 1, + numOptionalArgs: 1, + argTypes: ["raw", "url"], + allowedInText: false + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var width = { + number: 0, + unit: "em" + }; + var height = { + number: 0.9, + unit: "em" + }; // sorta character sized. + + var totalheight = { + number: 0, + unit: "em" + }; + var alt = ""; + + if (optArgs[0]) { + var attributeStr = assertNodeType(optArgs[0], "raw").string; // Parser.js does not parse key/value pairs. We get a string. + + var attributes = attributeStr.split(","); + + for (var i = 0; i < attributes.length; i++) { + var keyVal = attributes[i].split("="); + + if (keyVal.length === 2) { + var str = keyVal[1].trim(); + + switch (keyVal[0].trim()) { + case "alt": + alt = str; + break; + + case "width": + width = includegraphics_sizeData(str); + break; + + case "height": + height = includegraphics_sizeData(str); + break; + + case "totalheight": + totalheight = includegraphics_sizeData(str); + break; + + default: + throw new src_ParseError("Invalid key: '" + keyVal[0] + "' in \\includegraphics."); + } + } + } + } + + var src = assertNodeType(args[0], "url").url; + + if (alt === "") { + // No alt given. Use the file name. Strip away the path. + alt = src; + alt = alt.replace(/^.*[\\/]/, ''); + alt = alt.substring(0, alt.lastIndexOf('.')); + } + + if (!parser.settings.isTrusted({ + command: "\\includegraphics", + url: src + })) { + return parser.formatUnsupportedCmd("\\includegraphics"); + } + + return { + type: "includegraphics", + mode: parser.mode, + alt: alt, + width: width, + height: height, + totalheight: totalheight, + src: src + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var height = units_calculateSize(group.height, options); + var depth = 0; + + if (group.totalheight.number > 0) { + depth = units_calculateSize(group.totalheight, options) - height; + depth = Number(depth.toFixed(2)); + } + + var width = 0; + + if (group.width.number > 0) { + width = units_calculateSize(group.width, options); + } + + var style = { + height: height + depth + "em" + }; + + if (width > 0) { + style.width = width + "em"; + } + + if (depth > 0) { + style.verticalAlign = -depth + "em"; + } + + var node = new domTree_Img(group.src, group.alt, style); + node.height = height; + node.depth = depth; + return node; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mglyph", []); + node.setAttribute("alt", group.alt); + var height = units_calculateSize(group.height, options); + var depth = 0; + + if (group.totalheight.number > 0) { + depth = units_calculateSize(group.totalheight, options) - height; + depth = depth.toFixed(2); + node.setAttribute("valign", "-" + depth + "em"); + } + + node.setAttribute("height", height + depth + "em"); + + if (group.width.number > 0) { + var width = units_calculateSize(group.width, options); + node.setAttribute("width", width + "em"); + } + + node.setAttribute("src", group.src); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/kern.js +// Horizontal spacing commands + + + + + // TODO: \hskip and \mskip should support plus and minus in lengths + +defineFunction({ + type: "kern", + names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"], + props: { + numArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var size = assertNodeType(args[0], "size"); + + if (parser.settings.strict) { + var mathFunction = funcName[1] === 'm'; // \mkern, \mskip + + var muUnit = size.value.unit === 'mu'; + + if (mathFunction) { + if (!muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + funcName + " supports only mu units, " + ("not " + size.value.unit + " units")); + } + + if (parser.mode !== "math") { + parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + funcName + " works only in math mode"); + } + } else { + // !mathFunction + if (muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + funcName + " doesn't support mu units"); + } + } + } + + return { + type: "kern", + mode: parser.mode, + dimension: size.value + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.makeGlue(group.dimension, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var dimension = units_calculateSize(group.dimension, options); + return new mathMLTree.SpaceNode(dimension); + } +}); +// CONCATENATED MODULE: ./src/functions/lap.js +// Horizontal overlap functions + + + + + +defineFunction({ + type: "lap", + names: ["\\mathllap", "\\mathrlap", "\\mathclap"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "lap", + mode: parser.mode, + alignment: funcName.slice(5), + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // mathllap, mathrlap, mathclap + var inner; + + if (group.alignment === "clap") { + // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/ + inner = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span + + inner = buildCommon.makeSpan(["inner"], [inner], options); + } else { + inner = buildCommon.makeSpan(["inner"], [buildHTML_buildGroup(group.body, options)]); + } + + var fix = buildCommon.makeSpan(["fix"], []); + var node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the + // two items involved in the lap. + // Next, use a strut to set the height of the HTML bounding box. + // Otherwise, a tall argument may be misplaced. + // This code resolved issue #1153 + + var strut = buildCommon.makeSpan(["strut"]); + strut.style.height = node.height + node.depth + "em"; + strut.style.verticalAlign = -node.depth + "em"; + node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall. + // This code resolves issue #1234 + + node = buildCommon.makeSpan(["thinbox"], [node], options); + return buildCommon.makeSpan(["mord", "vbox"], [node], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // mathllap, mathrlap, mathclap + var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]); + + if (group.alignment !== "rlap") { + var offset = group.alignment === "llap" ? "-1" : "-0.5"; + node.setAttribute("lspace", offset + "width"); + } + + node.setAttribute("width", "0px"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/math.js + + // Switching from text mode back to math mode + +defineFunction({ + type: "styling", + names: ["\\(", "$"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + handler: function handler(_ref, args) { + var funcName = _ref.funcName, + parser = _ref.parser; + var outerMode = parser.mode; + parser.switchMode("math"); + var close = funcName === "\\(" ? "\\)" : "$"; + var body = parser.parseExpression(false, close); + parser.expect(close); + parser.switchMode(outerMode); + return { + type: "styling", + mode: parser.mode, + style: "text", + body: body + }; + } +}); // Check for extra closing math delimiters + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\)", "\\]"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + handler: function handler(context, args) { + throw new src_ParseError("Mismatched " + context.funcName); + } +}); +// CONCATENATED MODULE: ./src/functions/mathchoice.js + + + + + + +var mathchoice_chooseMathStyle = function chooseMathStyle(group, options) { + switch (options.style.size) { + case src_Style.DISPLAY.size: + return group.display; + + case src_Style.TEXT.size: + return group.text; + + case src_Style.SCRIPT.size: + return group.script; + + case src_Style.SCRIPTSCRIPT.size: + return group.scriptscript; + + default: + return group.text; + } +}; + +defineFunction({ + type: "mathchoice", + names: ["\\mathchoice"], + props: { + numArgs: 4 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + return { + type: "mathchoice", + mode: parser.mode, + display: ordargument(args[0]), + text: ordargument(args[1]), + script: ordargument(args[2]), + scriptscript: ordargument(args[3]) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var body = mathchoice_chooseMathStyle(group, options); + var elements = buildHTML_buildExpression(body, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var body = mathchoice_chooseMathStyle(group, options); + return buildExpressionRow(body, options); + } +}); +// CONCATENATED MODULE: ./src/functions/utils/assembleSupSub.js + + +// For an operator with limits, assemble the base, sup, and sub into a span. +var assembleSupSub_assembleSupSub = function assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift) { + base = buildCommon.makeSpan([], [base]); + var sub; + var sup; // We manually have to handle the superscripts and subscripts. This, + // aside from the kern calculations, is copied from supsub. + + if (supGroup) { + var elem = buildHTML_buildGroup(supGroup, options.havingStyle(style.sup()), options); + sup = { + elem: elem, + kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth) + }; + } + + if (subGroup) { + var _elem = buildHTML_buildGroup(subGroup, options.havingStyle(style.sub()), options); + + sub = { + elem: _elem, + kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - _elem.height) + }; + } // Build the final group as a vlist of the possible subscript, base, + // and possible superscript. + + + var finalGroup; + + if (sup && sub) { + var bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift; + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: bottom, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else if (sub) { + var top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note + // that we are supposed to shift the limits by 1/2 of the slant, + // but since we are centering the limits adding a full slant of + // margin will shift by 1/2 that. + + finalGroup = buildCommon.makeVList({ + positionType: "top", + positionData: top, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }] + }, options); + } else if (sup) { + var _bottom = base.depth + baseShift; + + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: _bottom, + children: [{ + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else { + // This case probably shouldn't occur (this would mean the + // supsub was sending us a group with no superscript or + // subscript) but be safe. + return base; + } + + return buildCommon.makeSpan(["mop", "op-limits"], [finalGroup], options); +}; +// CONCATENATED MODULE: ./src/functions/op.js +// Limits, symbols + + + + + + + + + + +// Most operators have a large successor symbol, but these don't. +var noSuccessor = ["\\smallint"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only "op", but also +// "supsub" since some of them (like \int) can affect super/subscripting. + +var op_htmlBuilder = function htmlBuilder(grp, options) { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + var supGroup; + var subGroup; + var hasLimits = false; + var group; + + if (grp.type === "supsub") { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = grp.sup; + subGroup = grp.sub; + group = assertNodeType(grp.base, "op"); + hasLimits = true; + } else { + group = assertNodeType(grp, "op"); + } + + var style = options.style; + var large = false; + + if (style.size === src_Style.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) { + // Most symbol operators get larger in displaystyle (rule 13) + large = true; + } + + var base; + + if (group.symbol) { + // If this is a symbol, create the symbol. + var fontName = large ? "Size2-Regular" : "Size1-Regular"; + var stash = ""; + + if (group.name === "\\oiint" || group.name === "\\oiiint") { + // No font glyphs yet, so use a glyph w/o the oval. + // TODO: When font glyphs are available, delete this code. + stash = group.name.substr(1); // $FlowFixMe + + group.name = stash === "oiint" ? "\\iint" : "\\iiint"; + } + + base = buildCommon.makeSymbol(group.name, fontName, "math", options, ["mop", "op-symbol", large ? "large-op" : "small-op"]); + + if (stash.length > 0) { + // We're in \oiint or \oiiint. Overlay the oval. + // TODO: When font glyphs are available, delete this code. + var italic = base.italic; + var oval = buildCommon.staticSvg(stash + "Size" + (large ? "2" : "1"), options); + base = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: base, + shift: 0 + }, { + type: "elem", + elem: oval, + shift: large ? 0.08 : 0 + }] + }, options); // $FlowFixMe + + group.name = "\\" + stash; + base.classes.unshift("mop"); // $FlowFixMe + + base.italic = italic; + } + } else if (group.body) { + // If this is a list, compose that list. + var inner = buildHTML_buildExpression(group.body, options, true); + + if (inner.length === 1 && inner[0] instanceof domTree_SymbolNode) { + base = inner[0]; + base.classes[0] = "mop"; // replace old mclass + } else { + base = buildCommon.makeSpan(["mop"], buildCommon.tryCombineChars(inner), options); + } + } else { + // Otherwise, this is a text operator. Build the text from the + // operator's name. + // TODO(emily): Add a space in the middle of some of these + // operators, like \limsup + var output = []; + + for (var i = 1; i < group.name.length; i++) { + output.push(buildCommon.mathsym(group.name[i], group.mode, options)); + } + + base = buildCommon.makeSpan(["mop"], output, options); + } // If content of op is a single symbol, shift it vertically. + + + var baseShift = 0; + var slant = 0; + + if ((base instanceof domTree_SymbolNode || group.name === "\\oiint" || group.name === "\\oiiint") && !group.suppressBaseShift) { + // We suppress the shift of the base of \overset and \underset. Otherwise, + // shift the symbol so its center lies on the axis (rule 13). It + // appears that our fonts have the centers of the symbols already + // almost on the axis, so these numbers are very small. Note we + // don't actually apply this here, but instead it is used either in + // the vlist creation or separately when there are no limits. + baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction. + // $FlowFixMe + + slant = base.italic; + } + + if (hasLimits) { + return assembleSupSub_assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift); + } else { + if (baseShift) { + base.style.position = "relative"; + base.style.top = baseShift + "em"; + } + + return base; + } +}; + +var op_mathmlBuilder = function mathmlBuilder(group, options) { + var node; + + if (group.symbol) { + // This is a symbol. Just add the symbol. + node = new mathMLTree_MathNode("mo", [buildMathML_makeText(group.name, group.mode)]); + + if (utils.contains(noSuccessor, group.name)) { + node.setAttribute("largeop", "false"); + } + } else if (group.body) { + // This is an operator with children. Add them. + node = new mathMLTree_MathNode("mo", buildMathML_buildExpression(group.body, options)); + } else { + // This is a text operator. Add all of the characters from the + // operator's name. + node = new mathMLTree_MathNode("mi", [new mathMLTree_TextNode(group.name.slice(1))]); // Append an . + // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4 + + var operator = new mathMLTree_MathNode("mo", [buildMathML_makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + node = new mathMLTree_MathNode("mo", [node, operator]); + } else { + node = newDocumentFragment([node, operator]); + } + } + + return node; +}; + +var singleCharBigOps = { + "\u220F": "\\prod", + "\u2210": "\\coprod", + "\u2211": "\\sum", + "\u22C0": "\\bigwedge", + "\u22C1": "\\bigvee", + "\u22C2": "\\bigcap", + "\u22C3": "\\bigcup", + "\u2A00": "\\bigodot", + "\u2A01": "\\bigoplus", + "\u2A02": "\\bigotimes", + "\u2A04": "\\biguplus", + "\u2A06": "\\bigsqcup" +}; +defineFunction({ + type: "op", + names: ["\\coprod", "\\bigvee", "\\bigwedge", "\\biguplus", "\\bigcap", "\\bigcup", "\\intop", "\\prod", "\\sum", "\\bigotimes", "\\bigoplus", "\\bigodot", "\\bigsqcup", "\\smallint", "\u220F", "\u2210", "\u2211", "\u22C0", "\u22C1", "\u22C2", "\u22C3", "\u2A00", "\u2A01", "\u2A02", "\u2A04", "\u2A06"], + props: { + numArgs: 0 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var fName = funcName; + + if (fName.length === 1) { + fName = singleCharBigOps[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // Note: calling defineFunction with a type that's already been defined only +// works because the same htmlBuilder and mathmlBuilder are being used. + +defineFunction({ + type: "op", + names: ["\\mathop"], + props: { + numArgs: 1 + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var body = args[0]; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + body: ordargument(body) + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // There are 2 flags for operators; whether they produce limits in +// displaystyle, and whether they are symbols and should grow in +// displaystyle. These four groups cover the four possible choices. + +var singleCharIntegrals = { + "\u222B": "\\int", + "\u222C": "\\iint", + "\u222D": "\\iiint", + "\u222E": "\\oint", + "\u222F": "\\oiint", + "\u2230": "\\oiiint" +}; // No limits, not symbols + +defineFunction({ + type: "op", + names: ["\\arcsin", "\\arccos", "\\arctan", "\\arctg", "\\arcctg", "\\arg", "\\ch", "\\cos", "\\cosec", "\\cosh", "\\cot", "\\cotg", "\\coth", "\\csc", "\\ctg", "\\cth", "\\deg", "\\dim", "\\exp", "\\hom", "\\ker", "\\lg", "\\ln", "\\log", "\\sec", "\\sin", "\\sinh", "\\sh", "\\tan", "\\tanh", "\\tg", "\\th"], + props: { + numArgs: 0 + }, + handler: function handler(_ref3) { + var parser = _ref3.parser, + funcName = _ref3.funcName; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // Limits, not symbols + +defineFunction({ + type: "op", + names: ["\\det", "\\gcd", "\\inf", "\\lim", "\\max", "\\min", "\\Pr", "\\sup"], + props: { + numArgs: 0 + }, + handler: function handler(_ref4) { + var parser = _ref4.parser, + funcName = _ref4.funcName; + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // No limits, symbols + +defineFunction({ + type: "op", + names: ["\\int", "\\iint", "\\iiint", "\\oint", "\\oiint", "\\oiiint", "\u222B", "\u222C", "\u222D", "\u222E", "\u222F", "\u2230"], + props: { + numArgs: 0 + }, + handler: function handler(_ref5) { + var parser = _ref5.parser, + funcName = _ref5.funcName; + var fName = funcName; + + if (fName.length === 1) { + fName = singleCharIntegrals[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/operatorname.js + + + + + + + + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only +// "operatorname", but also "supsub" since \operatorname* can +var operatorname_htmlBuilder = function htmlBuilder(grp, options) { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + var supGroup; + var subGroup; + var hasLimits = false; + var group; + + if (grp.type === "supsub") { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = grp.sup; + subGroup = grp.sub; + group = assertNodeType(grp.base, "operatorname"); + hasLimits = true; + } else { + group = assertNodeType(grp, "operatorname"); + } + + var base; + + if (group.body.length > 0) { + var body = group.body.map(function (child) { + // $FlowFixMe: Check if the node has a string `text` property. + var childText = child.text; + + if (typeof childText === "string") { + return { + type: "textord", + mode: child.mode, + text: childText + }; + } else { + return child; + } + }); // Consolidate function names into symbol characters. + + var expression = buildHTML_buildExpression(body, options.withFont("mathrm"), true); + + for (var i = 0; i < expression.length; i++) { + var child = expression[i]; + + if (child instanceof domTree_SymbolNode) { + // Per amsopn package, + // change minus to hyphen and \ast to asterisk + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } + } + + base = buildCommon.makeSpan(["mop"], expression, options); + } else { + base = buildCommon.makeSpan(["mop"], [], options); + } + + if (hasLimits) { + return assembleSupSub_assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0); + } else { + return base; + } +}; + +var operatorname_mathmlBuilder = function mathmlBuilder(group, options) { + // The steps taken here are similar to the html version. + var expression = buildMathML_buildExpression(group.body, options.withFont("mathrm")); // Is expression a string or has it something like a fraction? + + var isAllString = true; // default + + for (var i = 0; i < expression.length; i++) { + var node = expression[i]; + + if (node instanceof mathMLTree.SpaceNode) {// Do nothing + } else if (node instanceof mathMLTree.MathNode) { + switch (node.type) { + case "mi": + case "mn": + case "ms": + case "mspace": + case "mtext": + break; + // Do nothing yet. + + case "mo": + { + var child = node.children[0]; + + if (node.children.length === 1 && child instanceof mathMLTree.TextNode) { + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } else { + isAllString = false; + } + + break; + } + + default: + isAllString = false; + } + } else { + isAllString = false; + } + } + + if (isAllString) { + // Write a single TextNode instead of multiple nested tags. + var word = expression.map(function (node) { + return node.toText(); + }).join(""); + expression = [new mathMLTree.TextNode(word)]; + } + + var identifier = new mathMLTree.MathNode("mi", expression); + identifier.setAttribute("mathvariant", "normal"); // \u2061 is the same as ⁡ + // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp + + var operator = new mathMLTree.MathNode("mo", [buildMathML_makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + return new mathMLTree.MathNode("mo", [identifier, operator]); + } else { + return mathMLTree.newDocumentFragment([identifier, operator]); + } +}; // \operatorname +// amsopn.dtx: \mathop{#1\kern\z@\operator@font#3}\newmcodes@ + + +defineFunction({ + type: "operatorname", + names: ["\\operatorname", "\\operatorname*"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "operatorname", + mode: parser.mode, + body: ordargument(body), + alwaysHandleSupSub: funcName === "\\operatorname*", + limits: false, + parentIsSupSub: false + }; + }, + htmlBuilder: operatorname_htmlBuilder, + mathmlBuilder: operatorname_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/ordgroup.js + + + + +defineFunctionBuilders({ + type: "ordgroup", + htmlBuilder: function htmlBuilder(group, options) { + if (group.semisimple) { + return buildCommon.makeFragment(buildHTML_buildExpression(group.body, options, false)); + } + + return buildCommon.makeSpan(["mord"], buildHTML_buildExpression(group.body, options, true), options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + return buildExpressionRow(group.body, options, true); + } +}); +// CONCATENATED MODULE: ./src/functions/overline.js + + + + + +defineFunction({ + type: "overline", + names: ["\\overline"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var body = args[0]; + return { + type: "overline", + mode: parser.mode, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Overlines are handled in the TeXbook pg 443, Rule 9. + // Build the inner group in the cramped style. + var innerGroup = buildHTML_buildGroup(group.body, options.havingCrampedStyle()); // Create the line above the body + + var line = buildCommon.makeLineSpan("overline-line", options); // Generate the vlist, with the appropriate kerns + + var defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + var vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: innerGroup + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: defaultRuleThickness + }] + }, options); + return buildCommon.makeSpan(["mord", "overline"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203E")]); + operator.setAttribute("stretchy", "true"); + var node = new mathMLTree.MathNode("mover", [buildMathML_buildGroup(group.body, options), operator]); + node.setAttribute("accent", "true"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/phantom.js + + + + + +defineFunction({ + type: "phantom", + names: ["\\phantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var body = args[0]; + return { + type: "phantom", + mode: parser.mode, + body: ordargument(body) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options.withPhantom(), false); // \phantom isn't supposed to affect the elements it contains. + // See "color" for more details. + + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(group.body, options); + return new mathMLTree.MathNode("mphantom", inner); + } +}); +defineFunction({ + type: "hphantom", + names: ["\\hphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var body = args[0]; + return { + type: "hphantom", + mode: parser.mode, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var node = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options.withPhantom())]); + node.height = 0; + node.depth = 0; + + if (node.children) { + for (var i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + node.children[i].depth = 0; + } + } // See smash for comment re: use of makeVList + + + node = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \smash as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [node], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(ordargument(group.body), options); + var phantom = new mathMLTree.MathNode("mphantom", inner); + var node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("height", "0px"); + node.setAttribute("depth", "0px"); + return node; + } +}); +defineFunction({ + type: "vphantom", + names: ["\\vphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser; + var body = args[0]; + return { + type: "vphantom", + mode: parser.mode, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var inner = buildCommon.makeSpan(["inner"], [buildHTML_buildGroup(group.body, options.withPhantom())]); + var fix = buildCommon.makeSpan(["fix"], []); + return buildCommon.makeSpan(["mord", "rlap"], [inner, fix], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(ordargument(group.body), options); + var phantom = new mathMLTree.MathNode("mphantom", inner); + var node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("width", "0px"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/raisebox.js + + + + + + + // Box manipulation + +defineFunction({ + type: "raisebox", + names: ["\\raisebox"], + props: { + numArgs: 2, + argTypes: ["size", "hbox"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var amount = assertNodeType(args[0], "size").value; + var body = args[1]; + return { + type: "raisebox", + mode: parser.mode, + dy: amount, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var body = buildHTML_buildGroup(group.body, options); + var dy = units_calculateSize(group.dy, options); + return buildCommon.makeVList({ + positionType: "shift", + positionData: -dy, + children: [{ + type: "elem", + elem: body + }] + }, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]); + var dy = group.dy.number + group.dy.unit; + node.setAttribute("voffset", dy); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/rule.js + + + + + +defineFunction({ + type: "rule", + names: ["\\rule"], + props: { + numArgs: 2, + numOptionalArgs: 1, + argTypes: ["size", "size", "size"] + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var shift = optArgs[0]; + var width = assertNodeType(args[0], "size"); + var height = assertNodeType(args[1], "size"); + return { + type: "rule", + mode: parser.mode, + shift: shift && assertNodeType(shift, "size").value, + width: width.value, + height: height.value + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Make an empty span for the rule + var rule = buildCommon.makeSpan(["mord", "rule"], [], options); // Calculate the shift, width, and height of the rule, and account for units + + var width = units_calculateSize(group.width, options); + var height = units_calculateSize(group.height, options); + var shift = group.shift ? units_calculateSize(group.shift, options) : 0; // Style the rule to the right size + + rule.style.borderRightWidth = width + "em"; + rule.style.borderTopWidth = height + "em"; + rule.style.bottom = shift + "em"; // Record the height and width + + rule.width = width; + rule.height = height + shift; + rule.depth = -shift; // Font size is the number large enough that the browser will + // reserve at least `absHeight` space above the baseline. + // The 1.125 factor was empirically determined + + rule.maxFontSize = height * 1.125 * options.sizeMultiplier; + return rule; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var width = units_calculateSize(group.width, options); + var height = units_calculateSize(group.height, options); + var shift = group.shift ? units_calculateSize(group.shift, options) : 0; + var color = options.color && options.getColor() || "black"; + var rule = new mathMLTree.MathNode("mspace"); + rule.setAttribute("mathbackground", color); + rule.setAttribute("width", width + "em"); + rule.setAttribute("height", height + "em"); + var wrapper = new mathMLTree.MathNode("mpadded", [rule]); + + if (shift >= 0) { + wrapper.setAttribute("height", "+" + shift + "em"); + } else { + wrapper.setAttribute("height", shift + "em"); + wrapper.setAttribute("depth", "+" + -shift + "em"); + } + + wrapper.setAttribute("voffset", shift + "em"); + return wrapper; + } +}); +// CONCATENATED MODULE: ./src/functions/sizing.js + + + + + +function sizingGroup(value, options, baseOptions) { + var inner = buildHTML_buildExpression(value, options, false); + var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize + // manually. Handle nested size changes. + + for (var i = 0; i < inner.length; i++) { + var pos = inner[i].classes.indexOf("sizing"); + + if (pos < 0) { + Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions)); + } else if (inner[i].classes[pos + 1] === "reset-size" + options.size) { + // This is a nested size change: e.g., inner[i] is the "b" in + // `\Huge a \small b`. Override the old size (the `reset-` class) + // but not the new size. + inner[i].classes[pos + 1] = "reset-size" + baseOptions.size; + } + + inner[i].height *= multiplier; + inner[i].depth *= multiplier; + } + + return buildCommon.makeFragment(inner); +} +var sizeFuncs = ["\\tiny", "\\sixptsize", "\\scriptsize", "\\footnotesize", "\\small", "\\normalsize", "\\large", "\\Large", "\\LARGE", "\\huge", "\\Huge"]; +var sizing_htmlBuilder = function htmlBuilder(group, options) { + // Handle sizing operators like \Huge. Real TeX doesn't actually allow + // these functions inside of math expressions, so we do some special + // handling. + var newOptions = options.havingSize(group.size); + return sizingGroup(group.body, newOptions, options); +}; +defineFunction({ + type: "sizing", + names: sizeFuncs, + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref, args) { + var breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + var body = parser.parseExpression(false, breakOnTokenText); + return { + type: "sizing", + mode: parser.mode, + // Figure out what size to use based on the list of functions above + size: sizeFuncs.indexOf(funcName) + 1, + body: body + }; + }, + htmlBuilder: sizing_htmlBuilder, + mathmlBuilder: function mathmlBuilder(group, options) { + var newOptions = options.havingSize(group.size); + var inner = buildMathML_buildExpression(group.body, newOptions); + var node = new mathMLTree.MathNode("mstyle", inner); // TODO(emily): This doesn't produce the correct size for nested size + // changes, because we don't keep state of what style we're currently + // in, so we can't reset the size to normal before changing it. Now + // that we're passing an options parameter we should be able to fix + // this. + + node.setAttribute("mathsize", newOptions.sizeMultiplier + "em"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/smash.js +// smash, with optional [tb], as in AMS + + + + + + +defineFunction({ + type: "smash", + names: ["\\smash"], + props: { + numArgs: 1, + numOptionalArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var smashHeight = false; + var smashDepth = false; + var tbArg = optArgs[0] && assertNodeType(optArgs[0], "ordgroup"); + + if (tbArg) { + // Optional [tb] argument is engaged. + // ref: amsmath: \renewcommand{\smash}[1][tb]{% + // def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}% + var letter = ""; + + for (var i = 0; i < tbArg.body.length; ++i) { + var node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property. + + letter = node.text; + + if (letter === "t") { + smashHeight = true; + } else if (letter === "b") { + smashDepth = true; + } else { + smashHeight = false; + smashDepth = false; + break; + } + } + } else { + smashHeight = true; + smashDepth = true; + } + + var body = args[0]; + return { + type: "smash", + mode: parser.mode, + body: body, + smashHeight: smashHeight, + smashDepth: smashDepth + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var node = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options)]); + + if (!group.smashHeight && !group.smashDepth) { + return node; + } + + if (group.smashHeight) { + node.height = 0; // In order to influence makeVList, we have to reset the children. + + if (node.children) { + for (var i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + } + } + } + + if (group.smashDepth) { + node.depth = 0; + + if (node.children) { + for (var _i = 0; _i < node.children.length; _i++) { + node.children[_i].depth = 0; + } + } + } // At this point, we've reset the TeX-like height and depth values. + // But the span still has an HTML line height. + // makeVList applies "display: table-cell", which prevents the browser + // from acting on that line height. So we'll call makeVList now. + + + var smashedNode = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \hphantom as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [smashedNode], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]); + + if (group.smashHeight) { + node.setAttribute("height", "0px"); + } + + if (group.smashDepth) { + node.setAttribute("depth", "0px"); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/sqrt.js + + + + + + + +defineFunction({ + type: "sqrt", + names: ["\\sqrt"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var index = optArgs[0]; + var body = args[0]; + return { + type: "sqrt", + mode: parser.mode, + body: body, + index: index + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Square roots are handled in the TeXbook pg. 443, Rule 11. + // First, we do the same steps as in overline to build the inner group + // and line + var inner = buildHTML_buildGroup(group.body, options.havingCrampedStyle()); + + if (inner.height === 0) { + // Render a small surd. + inner.height = options.fontMetrics().xHeight; + } // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + + inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \surd delimiter + + var metrics = options.fontMetrics(); + var theta = metrics.defaultRuleThickness; + var phi = theta; + + if (options.style.id < src_Style.TEXT.id) { + phi = options.fontMetrics().xHeight; + } // Calculate the clearance between the body and line + + + var lineClearance = theta + phi / 4; + var minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size + + var _delimiter$sqrtImage = delimiter.sqrtImage(minDelimiterHeight, options), + img = _delimiter$sqrtImage.span, + ruleWidth = _delimiter$sqrtImage.ruleWidth, + advanceWidth = _delimiter$sqrtImage.advanceWidth; + + var delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size + + if (delimDepth > inner.height + inner.depth + lineClearance) { + lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2; + } // Shift the sqrt image + + + var imgShift = img.height - inner.height - lineClearance - ruleWidth; + inner.style.paddingLeft = advanceWidth + "em"; // Overlay the image and the argument. + + var body = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: inner, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: -(inner.height + imgShift) + }, { + type: "elem", + elem: img + }, { + type: "kern", + size: ruleWidth + }] + }, options); + + if (!group.index) { + return buildCommon.makeSpan(["mord", "sqrt"], [body], options); + } else { + // Handle the optional root index + // The index is always in scriptscript style + var newOptions = options.havingStyle(src_Style.SCRIPTSCRIPT); + var rootm = buildHTML_buildGroup(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX + // source, in the definition of `\r@@t`. + + var toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly + + var rootVList = buildCommon.makeVList({ + positionType: "shift", + positionData: -toShift, + children: [{ + type: "elem", + elem: rootm + }] + }, options); // Add a class surrounding it so we can add on the appropriate + // kerning + + var rootVListWrap = buildCommon.makeSpan(["root"], [rootVList]); + return buildCommon.makeSpan(["mord", "sqrt"], [rootVListWrap, body], options); + } + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var body = group.body, + index = group.index; + return index ? new mathMLTree.MathNode("mroot", [buildMathML_buildGroup(body, options), buildMathML_buildGroup(index, options)]) : new mathMLTree.MathNode("msqrt", [buildMathML_buildGroup(body, options)]); + } +}); +// CONCATENATED MODULE: ./src/functions/styling.js + + + + + +var styling_styleMap = { + "display": src_Style.DISPLAY, + "text": src_Style.TEXT, + "script": src_Style.SCRIPT, + "scriptscript": src_Style.SCRIPTSCRIPT +}; +defineFunction({ + type: "styling", + names: ["\\displaystyle", "\\textstyle", "\\scriptstyle", "\\scriptscriptstyle"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref, args) { + var breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + // parse out the implicit body + var body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g. + // here and in buildHTML and de-dupe the enumeration of all the styles). + // $FlowFixMe: The names above exactly match the styles. + + var style = funcName.slice(1, funcName.length - 5); + return { + type: "styling", + mode: parser.mode, + // Figure out what style to use by pulling out the style from + // the function name + style: style, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Style changes are handled in the TeXbook on pg. 442, Rule 3. + var newStyle = styling_styleMap[group.style]; + var newOptions = options.havingStyle(newStyle).withFont(''); + return sizingGroup(group.body, newOptions, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // Figure out what style we're changing to. + var newStyle = styling_styleMap[group.style]; + var newOptions = options.havingStyle(newStyle); + var inner = buildMathML_buildExpression(group.body, newOptions); + var node = new mathMLTree.MathNode("mstyle", inner); + var styleAttributes = { + "display": ["0", "true"], + "text": ["0", "false"], + "script": ["1", "false"], + "scriptscript": ["2", "false"] + }; + var attr = styleAttributes[group.style]; + node.setAttribute("scriptlevel", attr[0]); + node.setAttribute("displaystyle", attr[1]); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/supsub.js + + + + + + + + + + + + + +/** + * Sometimes, groups perform special rules when they have superscripts or + * subscripts attached to them. This function lets the `supsub` group know that + * Sometimes, groups perform special rules when they have superscripts or + * its inner element should handle the superscripts and subscripts instead of + * handling them itself. + */ +var supsub_htmlBuilderDelegate = function htmlBuilderDelegate(group, options) { + var base = group.base; + + if (!base) { + return null; + } else if (base.type === "op") { + // Operators handle supsubs differently when they have limits + // (e.g. `\displaystyle\sum_2^3`) + var delegate = base.limits && (options.style.size === src_Style.DISPLAY.size || base.alwaysHandleSupSub); + return delegate ? op_htmlBuilder : null; + } else if (base.type === "operatorname") { + var _delegate = base.alwaysHandleSupSub && (options.style.size === src_Style.DISPLAY.size || base.limits); + + return _delegate ? operatorname_htmlBuilder : null; + } else if (base.type === "accent") { + return utils.isCharacterBox(base.base) ? accent_htmlBuilder : null; + } else if (base.type === "horizBrace") { + var isSup = !group.sub; + return isSup === base.isOver ? horizBrace_htmlBuilder : null; + } else { + return null; + } +}; // Super scripts and subscripts, whose precise placement can depend on other +// functions that precede them. + + +defineFunctionBuilders({ + type: "supsub", + htmlBuilder: function htmlBuilder(group, options) { + // Superscript and subscripts are handled in the TeXbook on page + // 445-446, rules 18(a-f). + // Here is where we defer to the inner group if it should handle + // superscripts and subscripts itself. + var builderDelegate = supsub_htmlBuilderDelegate(group, options); + + if (builderDelegate) { + return builderDelegate(group, options); + } + + var valueBase = group.base, + valueSup = group.sup, + valueSub = group.sub; + var base = buildHTML_buildGroup(valueBase, options); + var supm; + var subm; + var metrics = options.fontMetrics(); // Rule 18a + + var supShift = 0; + var subShift = 0; + var isCharacterBox = valueBase && utils.isCharacterBox(valueBase); + + if (valueSup) { + var newOptions = options.havingStyle(options.style.sup()); + supm = buildHTML_buildGroup(valueSup, newOptions, options); + + if (!isCharacterBox) { + supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + if (valueSub) { + var _newOptions = options.havingStyle(options.style.sub()); + + subm = buildHTML_buildGroup(valueSub, _newOptions, options); + + if (!isCharacterBox) { + subShift = base.depth + _newOptions.fontMetrics().subDrop * _newOptions.sizeMultiplier / options.sizeMultiplier; + } + } // Rule 18c + + + var minSupShift; + + if (options.style === src_Style.DISPLAY) { + minSupShift = metrics.sup1; + } else if (options.style.cramped) { + minSupShift = metrics.sup3; + } else { + minSupShift = metrics.sup2; + } // scriptspace is a font-size-independent size, so scale it + // appropriately for use as the marginRight. + + + var multiplier = options.sizeMultiplier; + var marginRight = 0.5 / metrics.ptPerEm / multiplier + "em"; + var marginLeft = null; + + if (subm) { + // Subscripts shouldn't be shifted by the base's italic correction. + // Account for that by shifting the subscript back the appropriate + // amount. Note we only do this when the base is a single symbol. + var isOiint = group.base && group.base.type === "op" && group.base.name && (group.base.name === "\\oiint" || group.base.name === "\\oiiint"); + + if (base instanceof domTree_SymbolNode || isOiint) { + // $FlowFixMe + marginLeft = -base.italic + "em"; + } + } + + var supsub; + + if (supm && subm) { + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + subShift = Math.max(subShift, metrics.sub2); + var ruleWidth = metrics.defaultRuleThickness; // Rule 18e + + var maxWidth = 4 * ruleWidth; + + if (supShift - supm.depth - (subm.height - subShift) < maxWidth) { + subShift = maxWidth - (supShift - supm.depth) + subm.height; + var psi = 0.8 * metrics.xHeight - (supShift - supm.depth); + + if (psi > 0) { + supShift += psi; + subShift -= psi; + } + } + + var vlistElem = [{ + type: "elem", + elem: subm, + shift: subShift, + marginRight: marginRight, + marginLeft: marginLeft + }, { + type: "elem", + elem: supm, + shift: -supShift, + marginRight: marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "individualShift", + children: vlistElem + }, options); + } else if (subm) { + // Rule 18b + subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight); + var _vlistElem = [{ + type: "elem", + elem: subm, + marginLeft: marginLeft, + marginRight: marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: subShift, + children: _vlistElem + }, options); + } else if (supm) { + // Rule 18c, d + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: -supShift, + children: [{ + type: "elem", + elem: supm, + marginRight: marginRight + }] + }, options); + } else { + throw new Error("supsub must have either sup or sub."); + } // Wrap the supsub vlist in a span.msupsub to reset text-align. + + + var mclass = getTypeOfDomTree(base, "right") || "mord"; + return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan(["msupsub"], [supsub])], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // Is the inner group a relevant horizonal brace? + var isBrace = false; + var isOver; + var isSup; + + if (group.base && group.base.type === "horizBrace") { + isSup = !!group.sup; + + if (isSup === group.base.isOver) { + isBrace = true; + isOver = group.base.isOver; + } + } + + if (group.base && (group.base.type === "op" || group.base.type === "operatorname")) { + group.base.parentIsSupSub = true; + } + + var children = [buildMathML_buildGroup(group.base, options)]; + + if (group.sub) { + children.push(buildMathML_buildGroup(group.sub, options)); + } + + if (group.sup) { + children.push(buildMathML_buildGroup(group.sup, options)); + } + + var nodeType; + + if (isBrace) { + nodeType = isOver ? "mover" : "munder"; + } else if (!group.sub) { + var base = group.base; + + if (base && base.type === "op" && base.limits && (options.style === src_Style.DISPLAY || base.alwaysHandleSupSub)) { + nodeType = "mover"; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (base.limits || options.style === src_Style.DISPLAY)) { + nodeType = "mover"; + } else { + nodeType = "msup"; + } + } else if (!group.sup) { + var _base = group.base; + + if (_base && _base.type === "op" && _base.limits && (options.style === src_Style.DISPLAY || _base.alwaysHandleSupSub)) { + nodeType = "munder"; + } else if (_base && _base.type === "operatorname" && _base.alwaysHandleSupSub && (_base.limits || options.style === src_Style.DISPLAY)) { + nodeType = "munder"; + } else { + nodeType = "msub"; + } + } else { + var _base2 = group.base; + + if (_base2 && _base2.type === "op" && _base2.limits && options.style === src_Style.DISPLAY) { + nodeType = "munderover"; + } else if (_base2 && _base2.type === "operatorname" && _base2.alwaysHandleSupSub && (options.style === src_Style.DISPLAY || _base2.limits)) { + nodeType = "munderover"; + } else { + nodeType = "msubsup"; + } + } + + var node = new mathMLTree.MathNode(nodeType, children); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/symbolsOp.js + + + + // Operator ParseNodes created in Parser.js from symbol Groups in src/symbols.js. + +defineFunctionBuilders({ + type: "atom", + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.mathsym(group.text, group.mode, options, ["m" + group.family]); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.text, group.mode)]); + + if (group.family === "bin") { + var variant = buildMathML_getVariant(group, options); + + if (variant === "bold-italic") { + node.setAttribute("mathvariant", variant); + } + } else if (group.family === "punct") { + node.setAttribute("separator", "true"); + } else if (group.family === "open" || group.family === "close") { + // Delims built here should not stretch vertically. + // See delimsizing.js for stretchy delims. + node.setAttribute("stretchy", "false"); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/symbolsOrd.js + + + + +// "mathord" and "textord" ParseNodes created in Parser.js from symbol Groups in +var defaultVariant = { + "mi": "italic", + "mn": "normal", + "mtext": "normal" +}; +defineFunctionBuilders({ + type: "mathord", + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "mathord"); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mi", [buildMathML_makeText(group.text, group.mode, options)]); + var variant = buildMathML_getVariant(group, options) || "italic"; + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } +}); +defineFunctionBuilders({ + type: "textord", + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "textord"); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var text = buildMathML_makeText(group.text, group.mode, options); + var variant = buildMathML_getVariant(group, options) || "normal"; + var node; + + if (group.mode === 'text') { + node = new mathMLTree.MathNode("mtext", [text]); + } else if (/[0-9]/.test(group.text)) { + // TODO(kevinb) merge adjacent nodes + // do it as a post processing step + node = new mathMLTree.MathNode("mn", [text]); + } else if (group.text === "\\prime") { + node = new mathMLTree.MathNode("mo", [text]); + } else { + node = new mathMLTree.MathNode("mi", [text]); + } + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/symbolsSpacing.js + + + + // A map of CSS-based spacing functions to their CSS class. + +var cssSpace = { + "\\nobreak": "nobreak", + "\\allowbreak": "allowbreak" +}; // A lookup table to determine whether a spacing function/symbol should be +// treated like a regular space character. If a symbol or command is a key +// in this table, then it should be a regular space character. Furthermore, +// the associated value may have a `className` specifying an extra CSS class +// to add to the created `span`. + +var regularSpace = { + " ": {}, + "\\ ": {}, + "~": { + className: "nobreak" + }, + "\\space": {}, + "\\nobreakspace": { + className: "nobreak" + } +}; // ParseNode<"spacing"> created in Parser.js from the "spacing" symbol Groups in +// src/symbols.js. + +defineFunctionBuilders({ + type: "spacing", + htmlBuilder: function htmlBuilder(group, options) { + if (regularSpace.hasOwnProperty(group.text)) { + var className = regularSpace[group.text].className || ""; // Spaces are generated by adding an actual space. Each of these + // things has an entry in the symbols table, so these will be turned + // into appropriate outputs. + + if (group.mode === "text") { + var ord = buildCommon.makeOrd(group, options, "textord"); + ord.classes.push(className); + return ord; + } else { + return buildCommon.makeSpan(["mspace", className], [buildCommon.mathsym(group.text, group.mode, options)], options); + } + } else if (cssSpace.hasOwnProperty(group.text)) { + // Spaces based on just a CSS class. + return buildCommon.makeSpan(["mspace", cssSpace[group.text]], [], options); + } else { + throw new src_ParseError("Unknown type of space \"" + group.text + "\""); + } + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node; + + if (regularSpace.hasOwnProperty(group.text)) { + node = new mathMLTree.MathNode("mtext", [new mathMLTree.TextNode("\xA0")]); + } else if (cssSpace.hasOwnProperty(group.text)) { + // CSS-based MathML spaces (\nobreak, \allowbreak) are ignored + return new mathMLTree.MathNode("mspace"); + } else { + throw new src_ParseError("Unknown type of space \"" + group.text + "\""); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/tag.js + + + + +var tag_pad = function pad() { + var padNode = new mathMLTree.MathNode("mtd", []); + padNode.setAttribute("width", "50%"); + return padNode; +}; + +defineFunctionBuilders({ + type: "tag", + mathmlBuilder: function mathmlBuilder(group, options) { + var table = new mathMLTree.MathNode("mtable", [new mathMLTree.MathNode("mtr", [tag_pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.body, options)]), tag_pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.tag, options)])])]); + table.setAttribute("width", "100%"); + return table; // TODO: Left-aligned tags. + // Currently, the group and options passed here do not contain + // enough info to set tag alignment. `leqno` is in Settings but it is + // not passed to Options. On the HTML side, leqno is + // set by a CSS class applied in buildTree.js. That would have worked + // in MathML if browsers supported . Since they don't, we + // need to rewrite the way this function is called. + } +}); +// CONCATENATED MODULE: ./src/functions/text.js + + + + // Non-mathy text, possibly in a font + +var textFontFamilies = { + "\\text": undefined, + "\\textrm": "textrm", + "\\textsf": "textsf", + "\\texttt": "texttt", + "\\textnormal": "textrm" +}; +var textFontWeights = { + "\\textbf": "textbf", + "\\textmd": "textmd" +}; +var textFontShapes = { + "\\textit": "textit", + "\\textup": "textup" +}; + +var optionsWithFont = function optionsWithFont(group, options) { + var font = group.font; // Checks if the argument is a font family or a font style. + + if (!font) { + return options; + } else if (textFontFamilies[font]) { + return options.withTextFontFamily(textFontFamilies[font]); + } else if (textFontWeights[font]) { + return options.withTextFontWeight(textFontWeights[font]); + } else { + return options.withTextFontShape(textFontShapes[font]); + } +}; + +defineFunction({ + type: "text", + names: [// Font families + "\\text", "\\textrm", "\\textsf", "\\texttt", "\\textnormal", // Font weights + "\\textbf", "\\textmd", // Font Shapes + "\\textit", "\\textup"], + props: { + numArgs: 1, + argTypes: ["text"], + greediness: 2, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "text", + mode: parser.mode, + body: ordargument(body), + font: funcName + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var newOptions = optionsWithFont(group, options); + var inner = buildHTML_buildExpression(group.body, newOptions, true); + return buildCommon.makeSpan(["mord", "text"], buildCommon.tryCombineChars(inner), newOptions); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var newOptions = optionsWithFont(group, options); + return buildExpressionRow(group.body, newOptions); + } +}); +// CONCATENATED MODULE: ./src/functions/underline.js + + + + + +defineFunction({ + type: "underline", + names: ["\\underline"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + return { + type: "underline", + mode: parser.mode, + body: args[0] + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Underlines are handled in the TeXbook pg 443, Rule 10. + // Build the inner group. + var innerGroup = buildHTML_buildGroup(group.body, options); // Create the line to go below the body + + var line = buildCommon.makeLineSpan("underline-line", options); // Generate the vlist, with the appropriate kerns + + var defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + var vlist = buildCommon.makeVList({ + positionType: "top", + positionData: innerGroup.height, + children: [{ + type: "kern", + size: defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "underline"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203E")]); + operator.setAttribute("stretchy", "true"); + var node = new mathMLTree.MathNode("munder", [buildMathML_buildGroup(group.body, options), operator]); + node.setAttribute("accentunder", "true"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/verb.js + + + + +defineFunction({ + type: "verb", + names: ["\\verb"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(context, args, optArgs) { + // \verb and \verb* are dealt with directly in Parser.js. + // If we end up here, it's because of a failure to match the two delimiters + // in the regex in Lexer.js. LaTeX raises the following error when \verb is + // terminated by end of line (or file). + throw new src_ParseError("\\verb ended by end of line instead of matching delimiter"); + }, + htmlBuilder: function htmlBuilder(group, options) { + var text = makeVerb(group); + var body = []; // \verb enters text mode and therefore is sized like \textstyle + + var newOptions = options.havingStyle(options.style.text()); + + for (var i = 0; i < text.length; i++) { + var c = text[i]; + + if (c === '~') { + c = '\\textasciitilde'; + } + + body.push(buildCommon.makeSymbol(c, "Typewriter-Regular", group.mode, newOptions, ["mord", "texttt"])); + } + + return buildCommon.makeSpan(["mord", "text"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var text = new mathMLTree.TextNode(makeVerb(group)); + var node = new mathMLTree.MathNode("mtext", [text]); + node.setAttribute("mathvariant", "monospace"); + return node; + } +}); +/** + * Converts verb group into body string. + * + * \verb* replaces each space with an open box \u2423 + * \verb replaces each space with a no-break space \xA0 + */ + +var makeVerb = function makeVerb(group) { + return group.body.replace(/ /g, group.star ? "\u2423" : '\xA0'); +}; +// CONCATENATED MODULE: ./src/functions.js +/** Include this to ensure that all functions are defined. */ + +var functions = _functions; +/* harmony default export */ var src_functions = (functions); // TODO(kevinb): have functions return an object and call defineFunction with +// that object in this file instead of relying on side-effects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// CONCATENATED MODULE: ./src/Lexer.js +/** + * The Lexer class handles tokenizing the input in various ways. Since our + * parser expects us to be able to backtrack, the lexer allows lexing from any + * given starting point. + * + * Its main exposed function is the `lex` function, which takes a position to + * lex from and a type of token to lex. It defers to the appropriate `_innerLex` + * function. + * + * The various `_innerLex` functions perform the actual lexing of different + * kinds. + */ + + + + +/* The following tokenRegex + * - matches typical whitespace (but not NBSP etc.) using its first group + * - does not match any control character \x00-\x1f except whitespace + * - does not match a bare backslash + * - matches any ASCII character except those just mentioned + * - does not match the BMP private use area \uE000-\uF8FF + * - does not match bare surrogate code units + * - matches any BMP character except for those just described + * - matches any valid Unicode surrogate pair + * - matches a backslash followed by one or more letters + * - matches a backslash followed by any BMP character, including newline + * Just because the Lexer matches something doesn't mean it's valid input: + * If there is no matching function or symbol definition, the Parser will + * still reject the input. + */ +var spaceRegexString = "[ \r\n\t]"; +var controlWordRegexString = "\\\\[a-zA-Z@]+"; +var controlSymbolRegexString = "\\\\[^\uD800-\uDFFF]"; +var controlWordWhitespaceRegexString = "" + controlWordRegexString + spaceRegexString + "*"; +var controlWordWhitespaceRegex = new RegExp("^(" + controlWordRegexString + ")" + spaceRegexString + "*$"); +var combiningDiacriticalMarkString = "[\u0300-\u036F]"; +var combiningDiacriticalMarksEndRegex = new RegExp(combiningDiacriticalMarkString + "+$"); +var tokenRegexString = "(" + spaceRegexString + "+)|" + // whitespace +"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]" + ( // single codepoint +combiningDiacriticalMarkString + "*") + // ...plus accents +"|[\uD800-\uDBFF][\uDC00-\uDFFF]" + ( // surrogate pair +combiningDiacriticalMarkString + "*") + // ...plus accents +"|\\\\verb\\*([^]).*?\\3" + // \verb* +"|\\\\verb([^*a-zA-Z]).*?\\4" + // \verb unstarred +"|\\\\operatorname\\*" + ( // \operatorname* +"|" + controlWordWhitespaceRegexString) + ( // \macroName + spaces +"|" + controlSymbolRegexString + ")"); // \\, \', etc. + +/** Main Lexer class */ + +var Lexer_Lexer = +/*#__PURE__*/ +function () { + // category codes, only supports comment characters (14) for now + function Lexer(input, settings) { + this.input = void 0; + this.settings = void 0; + this.tokenRegex = void 0; + this.catcodes = void 0; + // Separate accents from characters + this.input = input; + this.settings = settings; + this.tokenRegex = new RegExp(tokenRegexString, 'g'); + this.catcodes = { + "%": 14 // comment character + + }; + } + + var _proto = Lexer.prototype; + + _proto.setCatcode = function setCatcode(char, code) { + this.catcodes[char] = code; + } + /** + * This function lexes a single token. + */ + ; + + _proto.lex = function lex() { + var input = this.input; + var pos = this.tokenRegex.lastIndex; + + if (pos === input.length) { + return new Token_Token("EOF", new SourceLocation(this, pos, pos)); + } + + var match = this.tokenRegex.exec(input); + + if (match === null || match.index !== pos) { + throw new src_ParseError("Unexpected character: '" + input[pos] + "'", new Token_Token(input[pos], new SourceLocation(this, pos, pos + 1))); + } + + var text = match[2] || " "; + + if (this.catcodes[text] === 14) { + // comment character + var nlIndex = input.indexOf('\n', this.tokenRegex.lastIndex); + + if (nlIndex === -1) { + this.tokenRegex.lastIndex = input.length; // EOF + + this.settings.reportNonstrict("commentAtEnd", "% comment has no terminating newline; LaTeX would " + "fail because of commenting the end of math mode (e.g. $)"); + } else { + this.tokenRegex.lastIndex = nlIndex + 1; + } + + return this.lex(); + } // Trim any trailing whitespace from control word match + + + var controlMatch = text.match(controlWordWhitespaceRegex); + + if (controlMatch) { + text = controlMatch[1]; + } + + return new Token_Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex)); + }; + + return Lexer; +}(); + + +// CONCATENATED MODULE: ./src/Namespace.js +/** + * A `Namespace` refers to a space of nameable things like macros or lengths, + * which can be `set` either globally or local to a nested group, using an + * undo stack similar to how TeX implements this functionality. + * Performance-wise, `get` and local `set` take constant time, while global + * `set` takes time proportional to the depth of group nesting. + */ + + +var Namespace_Namespace = +/*#__PURE__*/ +function () { + /** + * Both arguments are optional. The first argument is an object of + * built-in mappings which never change. The second argument is an object + * of initial (global-level) mappings, which will constantly change + * according to any global/top-level `set`s done. + */ + function Namespace(builtins, globalMacros) { + if (builtins === void 0) { + builtins = {}; + } + + if (globalMacros === void 0) { + globalMacros = {}; + } + + this.current = void 0; + this.builtins = void 0; + this.undefStack = void 0; + this.current = globalMacros; + this.builtins = builtins; + this.undefStack = []; + } + /** + * Start a new nested group, affecting future local `set`s. + */ + + + var _proto = Namespace.prototype; + + _proto.beginGroup = function beginGroup() { + this.undefStack.push({}); + } + /** + * End current nested group, restoring values before the group began. + */ + ; + + _proto.endGroup = function endGroup() { + if (this.undefStack.length === 0) { + throw new src_ParseError("Unbalanced namespace destruction: attempt " + "to pop global namespace; please report this as a bug"); + } + + var undefs = this.undefStack.pop(); + + for (var undef in undefs) { + if (undefs.hasOwnProperty(undef)) { + if (undefs[undef] === undefined) { + delete this.current[undef]; + } else { + this.current[undef] = undefs[undef]; + } + } + } + } + /** + * Detect whether `name` has a definition. Equivalent to + * `get(name) != null`. + */ + ; + + _proto.has = function has(name) { + return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name); + } + /** + * Get the current value of a name, or `undefined` if there is no value. + * + * Note: Do not use `if (namespace.get(...))` to detect whether a macro + * is defined, as the definition may be the empty string which evaluates + * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or + * `if (namespace.has(...))`. + */ + ; + + _proto.get = function get(name) { + if (this.current.hasOwnProperty(name)) { + return this.current[name]; + } else { + return this.builtins[name]; + } + } + /** + * Set the current value of a name, and optionally set it globally too. + * Local set() sets the current value and (when appropriate) adds an undo + * operation to the undo stack. Global set() may change the undo + * operation at every level, so takes time linear in their number. + */ + ; + + _proto.set = function set(name, value, global) { + if (global === void 0) { + global = false; + } + + if (global) { + // Global set is equivalent to setting in all groups. Simulate this + // by destroying any undos currently scheduled for this name, + // and adding an undo with the *new* value (in case it later gets + // locally reset within this environment). + for (var i = 0; i < this.undefStack.length; i++) { + delete this.undefStack[i][name]; + } + + if (this.undefStack.length > 0) { + this.undefStack[this.undefStack.length - 1][name] = value; + } + } else { + // Undo this set at end of this group (possibly to `undefined`), + // unless an undo is already in place, in which case that older + // value is the correct one. + var top = this.undefStack[this.undefStack.length - 1]; + + if (top && !top.hasOwnProperty(name)) { + top[name] = this.current[name]; + } + } + + this.current[name] = value; + }; + + return Namespace; +}(); + + +// CONCATENATED MODULE: ./src/macros.js +/** + * Predefined macros for KaTeX. + * This can be used to define some commands in terms of others. + */ + + + + + + +var builtinMacros = {}; +/* harmony default export */ var macros = (builtinMacros); // This function might one day accept an additional argument and do more things. + +function defineMacro(name, body) { + builtinMacros[name] = body; +} ////////////////////////////////////////////////////////////////////// +// macro tools + +defineMacro("\\noexpand", function (context) { + // The expansion is the token itself; but that token is interpreted + // as if its meaning were ‘\relax’ if it is a control sequence that + // would ordinarily be expanded by TeX’s expansion rules. + var t = context.popToken(); + + if (context.isExpandable(t.text)) { + t.noexpand = true; + t.treatAsRelax = true; + } + + return { + tokens: [t], + numArgs: 0 + }; +}); +defineMacro("\\expandafter", function (context) { + // TeX first reads the token that comes immediately after \expandafter, + // without expanding it; let’s call this token t. Then TeX reads the + // token that comes after t (and possibly more tokens, if that token + // has an argument), replacing it by its expansion. Finally TeX puts + // t back in front of that expansion. + var t = context.popToken(); + context.expandOnce(true); // expand only an expandable token + + return { + tokens: [t], + numArgs: 0 + }; +}); // LaTeX's \@firstoftwo{#1}{#2} expands to #1, skipping #2 +// TeX source: \long\def\@firstoftwo#1#2{#1} + +defineMacro("\\@firstoftwo", function (context) { + var args = context.consumeArgs(2); + return { + tokens: args[0], + numArgs: 0 + }; +}); // LaTeX's \@secondoftwo{#1}{#2} expands to #2, skipping #1 +// TeX source: \long\def\@secondoftwo#1#2{#2} + +defineMacro("\\@secondoftwo", function (context) { + var args = context.consumeArgs(2); + return { + tokens: args[1], + numArgs: 0 + }; +}); // LaTeX's \@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded) +// symbol that isn't a space, consuming any spaces but not consuming the +// first nonspace character. If that nonspace character matches #1, then +// the macro expands to #2; otherwise, it expands to #3. + +defineMacro("\\@ifnextchar", function (context) { + var args = context.consumeArgs(3); // symbol, if, else + + context.consumeSpaces(); + var nextToken = context.future(); + + if (args[0].length === 1 && args[0][0].text === nextToken.text) { + return { + tokens: args[1], + numArgs: 0 + }; + } else { + return { + tokens: args[2], + numArgs: 0 + }; + } +}); // LaTeX's \@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol. +// If it is `*`, then it consumes the symbol, and the macro expands to #1; +// otherwise, the macro expands to #2 (without consuming the symbol). +// TeX source: \def\@ifstar#1{\@ifnextchar *{\@firstoftwo{#1}}} + +defineMacro("\\@ifstar", "\\@ifnextchar *{\\@firstoftwo{#1}}"); // LaTeX's \TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode + +defineMacro("\\TextOrMath", function (context) { + var args = context.consumeArgs(2); + + if (context.mode === 'text') { + return { + tokens: args[0], + numArgs: 0 + }; + } else { + return { + tokens: args[1], + numArgs: 0 + }; + } +}); // Lookup table for parsing numbers in base 8 through 16 + +var digitToNumber = { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "a": 10, + "A": 10, + "b": 11, + "B": 11, + "c": 12, + "C": 12, + "d": 13, + "D": 13, + "e": 14, + "E": 14, + "f": 15, + "F": 15 +}; // TeX \char makes a literal character (catcode 12) using the following forms: +// (see The TeXBook, p. 43) +// \char123 -- decimal +// \char'123 -- octal +// \char"123 -- hex +// \char`x -- character that can be written (i.e. isn't active) +// \char`\x -- character that cannot be written (e.g. %) +// These all refer to characters from the font, so we turn them into special +// calls to a function \@char dealt with in the Parser. + +defineMacro("\\char", function (context) { + var token = context.popToken(); + var base; + var number = ''; + + if (token.text === "'") { + base = 8; + token = context.popToken(); + } else if (token.text === '"') { + base = 16; + token = context.popToken(); + } else if (token.text === "`") { + token = context.popToken(); + + if (token.text[0] === "\\") { + number = token.text.charCodeAt(1); + } else if (token.text === "EOF") { + throw new src_ParseError("\\char` missing argument"); + } else { + number = token.text.charCodeAt(0); + } + } else { + base = 10; + } + + if (base) { + // Parse a number in the given base, starting with first `token`. + number = digitToNumber[token.text]; + + if (number == null || number >= base) { + throw new src_ParseError("Invalid base-" + base + " digit " + token.text); + } + + var digit; + + while ((digit = digitToNumber[context.future().text]) != null && digit < base) { + number *= base; + number += digit; + context.popToken(); + } + } + + return "\\@char{" + number + "}"; +}); // \newcommand{\macro}[args]{definition} +// \renewcommand{\macro}[args]{definition} +// TODO: Optional arguments: \newcommand{\macro}[args][default]{definition} + +var macros_newcommand = function newcommand(context, existsOK, nonexistsOK) { + var arg = context.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new src_ParseError("\\newcommand's first argument must be a macro name"); + } + + var name = arg[0].text; + var exists = context.isDefined(name); + + if (exists && !existsOK) { + throw new src_ParseError("\\newcommand{" + name + "} attempting to redefine " + (name + "; use \\renewcommand")); + } + + if (!exists && !nonexistsOK) { + throw new src_ParseError("\\renewcommand{" + name + "} when command " + name + " " + "does not yet exist; use \\newcommand"); + } + + var numArgs = 0; + arg = context.consumeArgs(1)[0]; + + if (arg.length === 1 && arg[0].text === "[") { + var argText = ''; + var token = context.expandNextToken(); + + while (token.text !== "]" && token.text !== "EOF") { + // TODO: Should properly expand arg, e.g., ignore {}s + argText += token.text; + token = context.expandNextToken(); + } + + if (!argText.match(/^\s*[0-9]+\s*$/)) { + throw new src_ParseError("Invalid number of arguments: " + argText); + } + + numArgs = parseInt(argText); + arg = context.consumeArgs(1)[0]; + } // Final arg is the expansion of the macro + + + context.macros.set(name, { + tokens: arg, + numArgs: numArgs + }); + return ''; +}; + +defineMacro("\\newcommand", function (context) { + return macros_newcommand(context, false, true); +}); +defineMacro("\\renewcommand", function (context) { + return macros_newcommand(context, true, false); +}); +defineMacro("\\providecommand", function (context) { + return macros_newcommand(context, true, true); +}); // terminal (console) tools + +defineMacro("\\message", function (context) { + var arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console + + console.log(arg.reverse().map(function (token) { + return token.text; + }).join("")); + return ''; +}); +defineMacro("\\errmessage", function (context) { + var arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console + + console.error(arg.reverse().map(function (token) { + return token.text; + }).join("")); + return ''; +}); +defineMacro("\\show", function (context) { + var tok = context.popToken(); + var name = tok.text; // eslint-disable-next-line no-console + + console.log(tok, context.macros.get(name), src_functions[name], src_symbols.math[name], src_symbols.text[name]); + return ''; +}); ////////////////////////////////////////////////////////////////////// +// Grouping +// \let\bgroup={ \let\egroup=} + +defineMacro("\\bgroup", "{"); +defineMacro("\\egroup", "}"); // Symbols from latex.ltx: +// \def\lq{`} +// \def\rq{'} +// \def \aa {\r a} +// \def \AA {\r A} + +defineMacro("\\lq", "`"); +defineMacro("\\rq", "'"); +defineMacro("\\aa", "\\r a"); +defineMacro("\\AA", "\\r A"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML. +// \DeclareTextCommandDefault{\textcopyright}{\textcircled{c}} +// \DeclareTextCommandDefault{\textregistered}{\textcircled{% +// \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont R}} +// \DeclareRobustCommand{\copyright}{% +// \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi} + +defineMacro("\\textcopyright", "\\html@mathml{\\textcircled{c}}{\\char`©}"); +defineMacro("\\copyright", "\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"); +defineMacro("\\textregistered", "\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"); // Characters omitted from Unicode range 1D400–1D7FF + +defineMacro("\u212C", "\\mathscr{B}"); // script + +defineMacro("\u2130", "\\mathscr{E}"); +defineMacro("\u2131", "\\mathscr{F}"); +defineMacro("\u210B", "\\mathscr{H}"); +defineMacro("\u2110", "\\mathscr{I}"); +defineMacro("\u2112", "\\mathscr{L}"); +defineMacro("\u2133", "\\mathscr{M}"); +defineMacro("\u211B", "\\mathscr{R}"); +defineMacro("\u212D", "\\mathfrak{C}"); // Fraktur + +defineMacro("\u210C", "\\mathfrak{H}"); +defineMacro("\u2128", "\\mathfrak{Z}"); // Define \Bbbk with a macro that works in both HTML and MathML. + +defineMacro("\\Bbbk", "\\Bbb{k}"); // Unicode middle dot +// The KaTeX fonts do not contain U+00B7. Instead, \cdotp displays +// the dot at U+22C5 and gives it punct spacing. + +defineMacro("\xB7", "\\cdotp"); // \llap and \rlap render their contents in text mode + +defineMacro("\\llap", "\\mathllap{\\textrm{#1}}"); +defineMacro("\\rlap", "\\mathrlap{\\textrm{#1}}"); +defineMacro("\\clap", "\\mathclap{\\textrm{#1}}"); // \not is defined by base/fontmath.ltx via +// \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36} +// It's thus treated like a \mathrel, but defined by a symbol that has zero +// width but extends to the right. We use \rlap to get that spacing. +// For MathML we write U+0338 here. buildMathML.js will then do the overlay. + +defineMacro("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'); // Negated symbols from base/fontmath.ltx: +// \def\neq{\not=} \let\ne=\neq +// \DeclareRobustCommand +// \notin{\mathrel{\m@th\mathpalette\c@ncel\in}} +// \def\c@ncel#1#2{\m@th\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}} + +defineMacro("\\neq", "\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"); +defineMacro("\\ne", "\\neq"); +defineMacro("\u2260", "\\neq"); +defineMacro("\\notin", "\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}" + "{\\mathrel{\\char`∉}}"); +defineMacro("\u2209", "\\notin"); // Unicode stacked relations + +defineMacro("\u2258", "\\html@mathml{" + "\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}" + "}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u2259", "\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u225A", "\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}"); +defineMacro("\u225B", "\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}" + "{\\mathrel{\\char`\u225B}}"); +defineMacro("\u225D", "\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}" + "{\\mathrel{\\char`\u225D}}"); +defineMacro("\u225E", "\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}" + "{\\mathrel{\\char`\u225E}}"); +defineMacro("\u225F", "\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}"); // Misc Unicode + +defineMacro("\u27C2", "\\perp"); +defineMacro("\u203C", "\\mathclose{!\\mkern-0.8mu!}"); +defineMacro("\u220C", "\\notni"); +defineMacro("\u231C", "\\ulcorner"); +defineMacro("\u231D", "\\urcorner"); +defineMacro("\u231E", "\\llcorner"); +defineMacro("\u231F", "\\lrcorner"); +defineMacro("\xA9", "\\copyright"); +defineMacro("\xAE", "\\textregistered"); +defineMacro("\uFE0F", "\\textregistered"); // The KaTeX fonts have corners at codepoints that don't match Unicode. +// For MathML purposes, use the Unicode code point. + +defineMacro("\\ulcorner", "\\html@mathml{\\@ulcorner}{\\mathop{\\char\"231c}}"); +defineMacro("\\urcorner", "\\html@mathml{\\@urcorner}{\\mathop{\\char\"231d}}"); +defineMacro("\\llcorner", "\\html@mathml{\\@llcorner}{\\mathop{\\char\"231e}}"); +defineMacro("\\lrcorner", "\\html@mathml{\\@lrcorner}{\\mathop{\\char\"231f}}"); ////////////////////////////////////////////////////////////////////// +// LaTeX_2ε +// \vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ +// \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} +// We'll call \varvdots, which gets a glyph from symbols.js. +// The zero-width rule gets us an equivalent to the vertical 6pt kern. + +defineMacro("\\vdots", "\\mathord{\\varvdots\\rule{0pt}{15pt}}"); +defineMacro("\u22EE", "\\vdots"); ////////////////////////////////////////////////////////////////////// +// amsmath.sty +// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf +// Italic Greek capital letters. AMS defines these with \DeclareMathSymbol, +// but they are equivalent to \mathit{\Letter}. + +defineMacro("\\varGamma", "\\mathit{\\Gamma}"); +defineMacro("\\varDelta", "\\mathit{\\Delta}"); +defineMacro("\\varTheta", "\\mathit{\\Theta}"); +defineMacro("\\varLambda", "\\mathit{\\Lambda}"); +defineMacro("\\varXi", "\\mathit{\\Xi}"); +defineMacro("\\varPi", "\\mathit{\\Pi}"); +defineMacro("\\varSigma", "\\mathit{\\Sigma}"); +defineMacro("\\varUpsilon", "\\mathit{\\Upsilon}"); +defineMacro("\\varPhi", "\\mathit{\\Phi}"); +defineMacro("\\varPsi", "\\mathit{\\Psi}"); +defineMacro("\\varOmega", "\\mathit{\\Omega}"); //\newcommand{\substack}[1]{\subarray{c}#1\endsubarray} + +defineMacro("\\substack", "\\begin{subarray}{c}#1\\end{subarray}"); // \renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript +// \mkern-\thinmuskip{:}\mskip6muplus1mu\relax} + +defineMacro("\\colon", "\\nobreak\\mskip2mu\\mathpunct{}" + "\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu"); // \newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}} + +defineMacro("\\boxed", "\\fbox{$\\displaystyle{#1}$}"); // \def\iff{\DOTSB\;\Longleftrightarrow\;} +// \def\implies{\DOTSB\;\Longrightarrow\;} +// \def\impliedby{\DOTSB\;\Longleftarrow\;} + +defineMacro("\\iff", "\\DOTSB\\;\\Longleftrightarrow\\;"); +defineMacro("\\implies", "\\DOTSB\\;\\Longrightarrow\\;"); +defineMacro("\\impliedby", "\\DOTSB\\;\\Longleftarrow\\;"); // AMSMath's automatic \dots, based on \mdots@@ macro. + +var dotsByToken = { + ',': '\\dotsc', + '\\not': '\\dotsb', + // \keybin@ checks for the following: + '+': '\\dotsb', + '=': '\\dotsb', + '<': '\\dotsb', + '>': '\\dotsb', + '-': '\\dotsb', + '*': '\\dotsb', + ':': '\\dotsb', + // Symbols whose definition starts with \DOTSB: + '\\DOTSB': '\\dotsb', + '\\coprod': '\\dotsb', + '\\bigvee': '\\dotsb', + '\\bigwedge': '\\dotsb', + '\\biguplus': '\\dotsb', + '\\bigcap': '\\dotsb', + '\\bigcup': '\\dotsb', + '\\prod': '\\dotsb', + '\\sum': '\\dotsb', + '\\bigotimes': '\\dotsb', + '\\bigoplus': '\\dotsb', + '\\bigodot': '\\dotsb', + '\\bigsqcup': '\\dotsb', + '\\And': '\\dotsb', + '\\longrightarrow': '\\dotsb', + '\\Longrightarrow': '\\dotsb', + '\\longleftarrow': '\\dotsb', + '\\Longleftarrow': '\\dotsb', + '\\longleftrightarrow': '\\dotsb', + '\\Longleftrightarrow': '\\dotsb', + '\\mapsto': '\\dotsb', + '\\longmapsto': '\\dotsb', + '\\hookrightarrow': '\\dotsb', + '\\doteq': '\\dotsb', + // Symbols whose definition starts with \mathbin: + '\\mathbin': '\\dotsb', + // Symbols whose definition starts with \mathrel: + '\\mathrel': '\\dotsb', + '\\relbar': '\\dotsb', + '\\Relbar': '\\dotsb', + '\\xrightarrow': '\\dotsb', + '\\xleftarrow': '\\dotsb', + // Symbols whose definition starts with \DOTSI: + '\\DOTSI': '\\dotsi', + '\\int': '\\dotsi', + '\\oint': '\\dotsi', + '\\iint': '\\dotsi', + '\\iiint': '\\dotsi', + '\\iiiint': '\\dotsi', + '\\idotsint': '\\dotsi', + // Symbols whose definition starts with \DOTSX: + '\\DOTSX': '\\dotsx' +}; +defineMacro("\\dots", function (context) { + // TODO: If used in text mode, should expand to \textellipsis. + // However, in KaTeX, \textellipsis and \ldots behave the same + // (in text mode), and it's unlikely we'd see any of the math commands + // that affect the behavior of \dots when in text mode. So fine for now + // (until we support \ifmmode ... \else ... \fi). + var thedots = '\\dotso'; + var next = context.expandAfterFuture().text; + + if (next in dotsByToken) { + thedots = dotsByToken[next]; + } else if (next.substr(0, 4) === '\\not') { + thedots = '\\dotsb'; + } else if (next in src_symbols.math) { + if (utils.contains(['bin', 'rel'], src_symbols.math[next].group)) { + thedots = '\\dotsb'; + } + } + + return thedots; +}); +var spaceAfterDots = { + // \rightdelim@ checks for the following: + ')': true, + ']': true, + '\\rbrack': true, + '\\}': true, + '\\rbrace': true, + '\\rangle': true, + '\\rceil': true, + '\\rfloor': true, + '\\rgroup': true, + '\\rmoustache': true, + '\\right': true, + '\\bigr': true, + '\\biggr': true, + '\\Bigr': true, + '\\Biggr': true, + // \extra@ also tests for the following: + '$': true, + // \extrap@ checks for the following: + ';': true, + '.': true, + ',': true +}; +defineMacro("\\dotso", function (context) { + var next = context.future().text; + + if (next in spaceAfterDots) { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\dotsc", function (context) { + var next = context.future().text; // \dotsc uses \extra@ but not \extrap@, instead specially checking for + // ';' and '.', but doesn't check for ','. + + if (next in spaceAfterDots && next !== ',') { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\cdots", function (context) { + var next = context.future().text; + + if (next in spaceAfterDots) { + return "\\@cdots\\,"; + } else { + return "\\@cdots"; + } +}); +defineMacro("\\dotsb", "\\cdots"); +defineMacro("\\dotsm", "\\cdots"); +defineMacro("\\dotsi", "\\!\\cdots"); // amsmath doesn't actually define \dotsx, but \dots followed by a macro +// starting with \DOTSX implies \dotso, and then \extra@ detects this case +// and forces the added `\,`. + +defineMacro("\\dotsx", "\\ldots\\,"); // \let\DOTSI\relax +// \let\DOTSB\relax +// \let\DOTSX\relax + +defineMacro("\\DOTSI", "\\relax"); +defineMacro("\\DOTSB", "\\relax"); +defineMacro("\\DOTSX", "\\relax"); // Spacing, based on amsmath.sty's override of LaTeX defaults +// \DeclareRobustCommand{\tmspace}[3]{% +// \ifmmode\mskip#1#2\else\kern#1#3\fi\relax} + +defineMacro("\\tmspace", "\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"); // \renewcommand{\,}{\tmspace+\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\,", "\\tmspace+{3mu}{.1667em}"); // \let\thinspace\, + +defineMacro("\\thinspace", "\\,"); // \def\>{\mskip\medmuskip} +// \renewcommand{\:}{\tmspace+\medmuskip{.2222em}} +// TODO: \> and math mode of \: should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\>", "\\mskip{4mu}"); +defineMacro("\\:", "\\tmspace+{4mu}{.2222em}"); // \let\medspace\: + +defineMacro("\\medspace", "\\:"); // \renewcommand{\;}{\tmspace+\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip = 5mu plus 5mu + +defineMacro("\\;", "\\tmspace+{5mu}{.2777em}"); // \let\thickspace\; + +defineMacro("\\thickspace", "\\;"); // \renewcommand{\!}{\tmspace-\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\!", "\\tmspace-{3mu}{.1667em}"); // \let\negthinspace\! + +defineMacro("\\negthinspace", "\\!"); // \newcommand{\negmedspace}{\tmspace-\medmuskip{.2222em}} +// TODO: math mode should use \medmuskip + +defineMacro("\\negmedspace", "\\tmspace-{4mu}{.2222em}"); // \newcommand{\negthickspace}{\tmspace-\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip + +defineMacro("\\negthickspace", "\\tmspace-{5mu}{.277em}"); // \def\enspace{\kern.5em } + +defineMacro("\\enspace", "\\kern.5em "); // \def\enskip{\hskip.5em\relax} + +defineMacro("\\enskip", "\\hskip.5em\\relax"); // \def\quad{\hskip1em\relax} + +defineMacro("\\quad", "\\hskip1em\\relax"); // \def\qquad{\hskip2em\relax} + +defineMacro("\\qquad", "\\hskip2em\\relax"); // \tag@in@display form of \tag + +defineMacro("\\tag", "\\@ifstar\\tag@literal\\tag@paren"); +defineMacro("\\tag@paren", "\\tag@literal{({#1})}"); +defineMacro("\\tag@literal", function (context) { + if (context.macros.get("\\df@tag")) { + throw new src_ParseError("Multiple \\tag"); + } + + return "\\gdef\\df@tag{\\text{#1}}"; +}); // \renewcommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin +// {\operator@font mod}\penalty900 +// \mkern5mu\nonscript\mskip-\medmuskip} +// \newcommand{\pod}[1]{\allowbreak +// \if@display\mkern18mu\else\mkern8mu\fi(#1)} +// \renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}} +// \newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu +// \else\mkern12mu\fi{\operator@font mod}\,\,#1} +// TODO: math mode should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\bmod", "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}" + "\\mathbin{\\rm mod}" + "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"); +defineMacro("\\pod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"); +defineMacro("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}"); +defineMacro("\\mod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}" + "{\\rm mod}\\,\\,#1"); // \pmb -- A simulation of bold. +// The version in ambsy.sty works by typesetting three copies of the argument +// with small offsets. We use two copies. We omit the vertical offset because +// of rendering problems that makeVList encounters in Safari. + +defineMacro("\\pmb", "\\html@mathml{" + "\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}" + "{\\mathbf{#1}}"); ////////////////////////////////////////////////////////////////////// +// LaTeX source2e +// \\ defaults to \newline, but changes to \cr within array environment + +defineMacro("\\\\", "\\newline"); // \def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@} +// TODO: Doesn't normally work in math mode because \@ fails. KaTeX doesn't +// support \@ yet, so that's omitted, and we add \text so that the result +// doesn't look funny in math mode. + +defineMacro("\\TeX", "\\textrm{\\html@mathml{" + "T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX" + "}{TeX}}"); // \DeclareRobustCommand{\LaTeX}{L\kern-.36em% +// {\sbox\z@ T% +// \vbox to\ht\z@{\hbox{\check@mathfonts +// \fontsize\sf@size\z@ +// \math@fontsfalse\selectfont +// A}% +// \vss}% +// }% +// \kern-.15em% +// \TeX} +// This code aligns the top of the A with the T (from the perspective of TeX's +// boxes, though visually the A appears to extend above slightly). +// We compute the corresponding \raisebox when A is rendered in \normalsize +// \scriptstyle, which has a scale factor of 0.7 (see Options.js). + +var latexRaiseA = fontMetricsData['Main-Regular']["T".charCodeAt(0)][1] - 0.7 * fontMetricsData['Main-Regular']["A".charCodeAt(0)][1] + "em"; +defineMacro("\\LaTeX", "\\textrm{\\html@mathml{" + ("L\\kern-.36em\\raisebox{" + latexRaiseA + "}{\\scriptstyle A}") + "\\kern-.15em\\TeX}{LaTeX}}"); // New KaTeX logo based on tweaking LaTeX logo + +defineMacro("\\KaTeX", "\\textrm{\\html@mathml{" + ("K\\kern-.17em\\raisebox{" + latexRaiseA + "}{\\scriptstyle A}") + "\\kern-.15em\\TeX}{KaTeX}}"); // \DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace} +// \def\@hspace#1{\hskip #1\relax} +// \def\@hspacer#1{\vrule \@width\z@\nobreak +// \hskip #1\hskip \z@skip} + +defineMacro("\\hspace", "\\@ifstar\\@hspacer\\@hspace"); +defineMacro("\\@hspace", "\\hskip #1\\relax"); +defineMacro("\\@hspacer", "\\rule{0pt}{0pt}\\hskip #1\\relax"); ////////////////////////////////////////////////////////////////////// +// mathtools.sty +//\providecommand\ordinarycolon{:} + +defineMacro("\\ordinarycolon", ":"); //\def\vcentcolon{\mathrel{\mathop\ordinarycolon}} +//TODO(edemaine): Not yet centered. Fix via \raisebox or #726 + +defineMacro("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}"); // \providecommand*\dblcolon{\vcentcolon\mathrel{\mkern-.9mu}\vcentcolon} + +defineMacro("\\dblcolon", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}" + "{\\mathop{\\char\"2237}}"); // \providecommand*\coloneqq{\vcentcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\coloneqq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2254}}"); // ≔ +// \providecommand*\Coloneqq{\dblcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\Coloneqq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2237\\char\"3d}}"); // \providecommand*\coloneq{\vcentcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\coloneq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"3a\\char\"2212}}"); // \providecommand*\Coloneq{\dblcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\Coloneq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"2237\\char\"2212}}"); // \providecommand*\eqqcolon{=\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2255}}"); // ≕ +// \providecommand*\Eqqcolon{=\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"3d\\char\"2237}}"); // \providecommand*\eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2239}}"); // \providecommand*\Eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"2212\\char\"2237}}"); // \providecommand*\colonapprox{\vcentcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\colonapprox", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"3a\\char\"2248}}"); // \providecommand*\Colonapprox{\dblcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\Colonapprox", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"2237\\char\"2248}}"); // \providecommand*\colonsim{\vcentcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\colonsim", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"3a\\char\"223c}}"); // \providecommand*\Colonsim{\dblcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\Colonsim", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"2237\\char\"223c}}"); // Some Unicode characters are implemented with macros to mathtools functions. + +defineMacro("\u2237", "\\dblcolon"); // :: + +defineMacro("\u2239", "\\eqcolon"); // -: + +defineMacro("\u2254", "\\coloneqq"); // := + +defineMacro("\u2255", "\\eqqcolon"); // =: + +defineMacro("\u2A74", "\\Coloneqq"); // ::= +////////////////////////////////////////////////////////////////////// +// colonequals.sty +// Alternate names for mathtools's macros: + +defineMacro("\\ratio", "\\vcentcolon"); +defineMacro("\\coloncolon", "\\dblcolon"); +defineMacro("\\colonequals", "\\coloneqq"); +defineMacro("\\coloncolonequals", "\\Coloneqq"); +defineMacro("\\equalscolon", "\\eqqcolon"); +defineMacro("\\equalscoloncolon", "\\Eqqcolon"); +defineMacro("\\colonminus", "\\coloneq"); +defineMacro("\\coloncolonminus", "\\Coloneq"); +defineMacro("\\minuscolon", "\\eqcolon"); +defineMacro("\\minuscoloncolon", "\\Eqcolon"); // \colonapprox name is same in mathtools and colonequals. + +defineMacro("\\coloncolonapprox", "\\Colonapprox"); // \colonsim name is same in mathtools and colonequals. + +defineMacro("\\coloncolonsim", "\\Colonsim"); // Additional macros, implemented by analogy with mathtools definitions: + +defineMacro("\\simcolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\simcoloncolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"); +defineMacro("\\approxcolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\approxcoloncolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"); // Present in newtxmath, pxfonts and txfonts + +defineMacro("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}"); +defineMacro("\\limsup", "\\DOTSB\\operatorname*{lim\\,sup}"); +defineMacro("\\liminf", "\\DOTSB\\operatorname*{lim\\,inf}"); ////////////////////////////////////////////////////////////////////// +// MathML alternates for KaTeX glyphs in the Unicode private area + +defineMacro("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{\u2269}"); +defineMacro("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{\u2268}"); +defineMacro("\\ngeqq", "\\html@mathml{\\@ngeqq}{\u2271}"); +defineMacro("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{\u2271}"); +defineMacro("\\nleqq", "\\html@mathml{\\@nleqq}{\u2270}"); +defineMacro("\\nleqslant", "\\html@mathml{\\@nleqslant}{\u2270}"); +defineMacro("\\nshortmid", "\\html@mathml{\\@nshortmid}{∤}"); +defineMacro("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{∦}"); +defineMacro("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{\u2288}"); +defineMacro("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{\u2289}"); +defineMacro("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{⊊}"); +defineMacro("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{⫋}"); +defineMacro("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{⊋}"); +defineMacro("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{⫌}"); +defineMacro("\\imath", "\\html@mathml{\\@imath}{\u0131}"); +defineMacro("\\jmath", "\\html@mathml{\\@jmath}{\u0237}"); ////////////////////////////////////////////////////////////////////// +// stmaryrd and semantic +// The stmaryrd and semantic packages render the next four items by calling a +// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros. + +defineMacro("\\llbracket", "\\html@mathml{" + "\\mathopen{[\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u27E6}}"); +defineMacro("\\rrbracket", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu]}}" + "{\\mathclose{\\char`\u27E7}}"); +defineMacro("\u27E6", "\\llbracket"); // blackboard bold [ + +defineMacro("\u27E7", "\\rrbracket"); // blackboard bold ] + +defineMacro("\\lBrace", "\\html@mathml{" + "\\mathopen{\\{\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u2983}}"); +defineMacro("\\rBrace", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu\\}}}" + "{\\mathclose{\\char`\u2984}}"); +defineMacro("\u2983", "\\lBrace"); // blackboard bold { + +defineMacro("\u2984", "\\rBrace"); // blackboard bold } +// TODO: Create variable sized versions of the last two items. I believe that +// will require new font glyphs. +// The stmaryrd function `\minuso` provides a "Plimsoll" symbol that +// superimposes the characters \circ and \mathminus. Used in chemistry. + +defineMacro("\\minuso", "\\mathbin{\\html@mathml{" + "{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}" + "{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}" + "{\\char`⦵}}"); +defineMacro("⦵", "\\minuso"); ////////////////////////////////////////////////////////////////////// +// texvc.sty +// The texvc package contains macros available in mediawiki pages. +// We omit the functions deprecated at +// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax +// We also omit texvc's \O, which conflicts with \text{\O} + +defineMacro("\\darr", "\\downarrow"); +defineMacro("\\dArr", "\\Downarrow"); +defineMacro("\\Darr", "\\Downarrow"); +defineMacro("\\lang", "\\langle"); +defineMacro("\\rang", "\\rangle"); +defineMacro("\\uarr", "\\uparrow"); +defineMacro("\\uArr", "\\Uparrow"); +defineMacro("\\Uarr", "\\Uparrow"); +defineMacro("\\N", "\\mathbb{N}"); +defineMacro("\\R", "\\mathbb{R}"); +defineMacro("\\Z", "\\mathbb{Z}"); +defineMacro("\\alef", "\\aleph"); +defineMacro("\\alefsym", "\\aleph"); +defineMacro("\\Alpha", "\\mathrm{A}"); +defineMacro("\\Beta", "\\mathrm{B}"); +defineMacro("\\bull", "\\bullet"); +defineMacro("\\Chi", "\\mathrm{X}"); +defineMacro("\\clubs", "\\clubsuit"); +defineMacro("\\cnums", "\\mathbb{C}"); +defineMacro("\\Complex", "\\mathbb{C}"); +defineMacro("\\Dagger", "\\ddagger"); +defineMacro("\\diamonds", "\\diamondsuit"); +defineMacro("\\empty", "\\emptyset"); +defineMacro("\\Epsilon", "\\mathrm{E}"); +defineMacro("\\Eta", "\\mathrm{H}"); +defineMacro("\\exist", "\\exists"); +defineMacro("\\harr", "\\leftrightarrow"); +defineMacro("\\hArr", "\\Leftrightarrow"); +defineMacro("\\Harr", "\\Leftrightarrow"); +defineMacro("\\hearts", "\\heartsuit"); +defineMacro("\\image", "\\Im"); +defineMacro("\\infin", "\\infty"); +defineMacro("\\Iota", "\\mathrm{I}"); +defineMacro("\\isin", "\\in"); +defineMacro("\\Kappa", "\\mathrm{K}"); +defineMacro("\\larr", "\\leftarrow"); +defineMacro("\\lArr", "\\Leftarrow"); +defineMacro("\\Larr", "\\Leftarrow"); +defineMacro("\\lrarr", "\\leftrightarrow"); +defineMacro("\\lrArr", "\\Leftrightarrow"); +defineMacro("\\Lrarr", "\\Leftrightarrow"); +defineMacro("\\Mu", "\\mathrm{M}"); +defineMacro("\\natnums", "\\mathbb{N}"); +defineMacro("\\Nu", "\\mathrm{N}"); +defineMacro("\\Omicron", "\\mathrm{O}"); +defineMacro("\\plusmn", "\\pm"); +defineMacro("\\rarr", "\\rightarrow"); +defineMacro("\\rArr", "\\Rightarrow"); +defineMacro("\\Rarr", "\\Rightarrow"); +defineMacro("\\real", "\\Re"); +defineMacro("\\reals", "\\mathbb{R}"); +defineMacro("\\Reals", "\\mathbb{R}"); +defineMacro("\\Rho", "\\mathrm{P}"); +defineMacro("\\sdot", "\\cdot"); +defineMacro("\\sect", "\\S"); +defineMacro("\\spades", "\\spadesuit"); +defineMacro("\\sub", "\\subset"); +defineMacro("\\sube", "\\subseteq"); +defineMacro("\\supe", "\\supseteq"); +defineMacro("\\Tau", "\\mathrm{T}"); +defineMacro("\\thetasym", "\\vartheta"); // TODO: defineMacro("\\varcoppa", "\\\mbox{\\coppa}"); + +defineMacro("\\weierp", "\\wp"); +defineMacro("\\Zeta", "\\mathrm{Z}"); ////////////////////////////////////////////////////////////////////// +// statmath.sty +// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf + +defineMacro("\\argmin", "\\DOTSB\\operatorname*{arg\\,min}"); +defineMacro("\\argmax", "\\DOTSB\\operatorname*{arg\\,max}"); +defineMacro("\\plim", "\\DOTSB\\mathop{\\operatorname{plim}}\\limits"); ////////////////////////////////////////////////////////////////////// +// braket.sty +// http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/braket/braket.pdf + +defineMacro("\\bra", "\\mathinner{\\langle{#1}|}"); +defineMacro("\\ket", "\\mathinner{|{#1}\\rangle}"); +defineMacro("\\braket", "\\mathinner{\\langle{#1}\\rangle}"); +defineMacro("\\Bra", "\\left\\langle#1\\right|"); +defineMacro("\\Ket", "\\left|#1\\right\\rangle"); // Custom Khan Academy colors, should be moved to an optional package + +defineMacro("\\blue", "\\textcolor{##6495ed}{#1}"); +defineMacro("\\orange", "\\textcolor{##ffa500}{#1}"); +defineMacro("\\pink", "\\textcolor{##ff00af}{#1}"); +defineMacro("\\red", "\\textcolor{##df0030}{#1}"); +defineMacro("\\green", "\\textcolor{##28ae7b}{#1}"); +defineMacro("\\gray", "\\textcolor{gray}{#1}"); +defineMacro("\\purple", "\\textcolor{##9d38bd}{#1}"); +defineMacro("\\blueA", "\\textcolor{##ccfaff}{#1}"); +defineMacro("\\blueB", "\\textcolor{##80f6ff}{#1}"); +defineMacro("\\blueC", "\\textcolor{##63d9ea}{#1}"); +defineMacro("\\blueD", "\\textcolor{##11accd}{#1}"); +defineMacro("\\blueE", "\\textcolor{##0c7f99}{#1}"); +defineMacro("\\tealA", "\\textcolor{##94fff5}{#1}"); +defineMacro("\\tealB", "\\textcolor{##26edd5}{#1}"); +defineMacro("\\tealC", "\\textcolor{##01d1c1}{#1}"); +defineMacro("\\tealD", "\\textcolor{##01a995}{#1}"); +defineMacro("\\tealE", "\\textcolor{##208170}{#1}"); +defineMacro("\\greenA", "\\textcolor{##b6ffb0}{#1}"); +defineMacro("\\greenB", "\\textcolor{##8af281}{#1}"); +defineMacro("\\greenC", "\\textcolor{##74cf70}{#1}"); +defineMacro("\\greenD", "\\textcolor{##1fab54}{#1}"); +defineMacro("\\greenE", "\\textcolor{##0d923f}{#1}"); +defineMacro("\\goldA", "\\textcolor{##ffd0a9}{#1}"); +defineMacro("\\goldB", "\\textcolor{##ffbb71}{#1}"); +defineMacro("\\goldC", "\\textcolor{##ff9c39}{#1}"); +defineMacro("\\goldD", "\\textcolor{##e07d10}{#1}"); +defineMacro("\\goldE", "\\textcolor{##a75a05}{#1}"); +defineMacro("\\redA", "\\textcolor{##fca9a9}{#1}"); +defineMacro("\\redB", "\\textcolor{##ff8482}{#1}"); +defineMacro("\\redC", "\\textcolor{##f9685d}{#1}"); +defineMacro("\\redD", "\\textcolor{##e84d39}{#1}"); +defineMacro("\\redE", "\\textcolor{##bc2612}{#1}"); +defineMacro("\\maroonA", "\\textcolor{##ffbde0}{#1}"); +defineMacro("\\maroonB", "\\textcolor{##ff92c6}{#1}"); +defineMacro("\\maroonC", "\\textcolor{##ed5fa6}{#1}"); +defineMacro("\\maroonD", "\\textcolor{##ca337c}{#1}"); +defineMacro("\\maroonE", "\\textcolor{##9e034e}{#1}"); +defineMacro("\\purpleA", "\\textcolor{##ddd7ff}{#1}"); +defineMacro("\\purpleB", "\\textcolor{##c6b9fc}{#1}"); +defineMacro("\\purpleC", "\\textcolor{##aa87ff}{#1}"); +defineMacro("\\purpleD", "\\textcolor{##7854ab}{#1}"); +defineMacro("\\purpleE", "\\textcolor{##543b78}{#1}"); +defineMacro("\\mintA", "\\textcolor{##f5f9e8}{#1}"); +defineMacro("\\mintB", "\\textcolor{##edf2df}{#1}"); +defineMacro("\\mintC", "\\textcolor{##e0e5cc}{#1}"); +defineMacro("\\grayA", "\\textcolor{##f6f7f7}{#1}"); +defineMacro("\\grayB", "\\textcolor{##f0f1f2}{#1}"); +defineMacro("\\grayC", "\\textcolor{##e3e5e6}{#1}"); +defineMacro("\\grayD", "\\textcolor{##d6d8da}{#1}"); +defineMacro("\\grayE", "\\textcolor{##babec2}{#1}"); +defineMacro("\\grayF", "\\textcolor{##888d93}{#1}"); +defineMacro("\\grayG", "\\textcolor{##626569}{#1}"); +defineMacro("\\grayH", "\\textcolor{##3b3e40}{#1}"); +defineMacro("\\grayI", "\\textcolor{##21242c}{#1}"); +defineMacro("\\kaBlue", "\\textcolor{##314453}{#1}"); +defineMacro("\\kaGreen", "\\textcolor{##71B307}{#1}"); +// CONCATENATED MODULE: ./src/MacroExpander.js +/** + * This file contains the “gullet” where macros are expanded + * until only non-macro tokens remain. + */ + + + + + + + +// List of commands that act like macros but aren't defined as a macro, +// function, or symbol. Used in `isDefined`. +var implicitCommands = { + "\\relax": true, + // MacroExpander.js + "^": true, + // Parser.js + "_": true, + // Parser.js + "\\limits": true, + // Parser.js + "\\nolimits": true // Parser.js + +}; + +var MacroExpander_MacroExpander = +/*#__PURE__*/ +function () { + function MacroExpander(input, settings, mode) { + this.settings = void 0; + this.expansionCount = void 0; + this.lexer = void 0; + this.macros = void 0; + this.stack = void 0; + this.mode = void 0; + this.settings = settings; + this.expansionCount = 0; + this.feed(input); // Make new global namespace + + this.macros = new Namespace_Namespace(macros, settings.macros); + this.mode = mode; + this.stack = []; // contains tokens in REVERSE order + } + /** + * Feed a new input string to the same MacroExpander + * (with existing macros etc.). + */ + + + var _proto = MacroExpander.prototype; + + _proto.feed = function feed(input) { + this.lexer = new Lexer_Lexer(input, this.settings); + } + /** + * Switches between "text" and "math" modes. + */ + ; + + _proto.switchMode = function switchMode(newMode) { + this.mode = newMode; + } + /** + * Start a new group nesting within all namespaces. + */ + ; + + _proto.beginGroup = function beginGroup() { + this.macros.beginGroup(); + } + /** + * End current group nesting within all namespaces. + */ + ; + + _proto.endGroup = function endGroup() { + this.macros.endGroup(); + } + /** + * Returns the topmost token on the stack, without expanding it. + * Similar in behavior to TeX's `\futurelet`. + */ + ; + + _proto.future = function future() { + if (this.stack.length === 0) { + this.pushToken(this.lexer.lex()); + } + + return this.stack[this.stack.length - 1]; + } + /** + * Remove and return the next unexpanded token. + */ + ; + + _proto.popToken = function popToken() { + this.future(); // ensure non-empty stack + + return this.stack.pop(); + } + /** + * Add a given token to the token stack. In particular, this get be used + * to put back a token returned from one of the other methods. + */ + ; + + _proto.pushToken = function pushToken(token) { + this.stack.push(token); + } + /** + * Append an array of tokens to the token stack. + */ + ; + + _proto.pushTokens = function pushTokens(tokens) { + var _this$stack; + + (_this$stack = this.stack).push.apply(_this$stack, tokens); + } + /** + * Consume all following space tokens, without expansion. + */ + ; + + _proto.consumeSpaces = function consumeSpaces() { + for (;;) { + var token = this.future(); + + if (token.text === " ") { + this.stack.pop(); + } else { + break; + } + } + } + /** + * Consume the specified number of arguments from the token stream, + * and return the resulting array of arguments. + */ + ; + + _proto.consumeArgs = function consumeArgs(numArgs) { + var args = []; // obtain arguments, either single token or balanced {…} group + + for (var i = 0; i < numArgs; ++i) { + this.consumeSpaces(); // ignore spaces before each argument + + var startOfArg = this.popToken(); + + if (startOfArg.text === "{") { + var arg = []; + var depth = 1; + + while (depth !== 0) { + var tok = this.popToken(); + arg.push(tok); + + if (tok.text === "{") { + ++depth; + } else if (tok.text === "}") { + --depth; + } else if (tok.text === "EOF") { + throw new src_ParseError("End of input in macro argument", startOfArg); + } + } + + arg.pop(); // remove last } + + arg.reverse(); // like above, to fit in with stack order + + args[i] = arg; + } else if (startOfArg.text === "EOF") { + throw new src_ParseError("End of input expecting macro argument"); + } else { + args[i] = [startOfArg]; + } + } + + return args; + } + /** + * Expand the next token only once if possible. + * + * If the token is expanded, the resulting tokens will be pushed onto + * the stack in reverse order and will be returned as an array, + * also in reverse order. + * + * If not, the next token will be returned without removing it + * from the stack. This case can be detected by a `Token` return value + * instead of an `Array` return value. + * + * In either case, the next token will be on the top of the stack, + * or the stack will be empty. + * + * Used to implement `expandAfterFuture` and `expandNextToken`. + * + * At the moment, macro expansion doesn't handle delimited macros, + * i.e. things like those defined by \def\foo#1\end{…}. + * See the TeX book page 202ff. for details on how those should behave. + * + * If expandableOnly, only expandable tokens are expanded and + * an undefined control sequence results in an error. + */ + ; + + _proto.expandOnce = function expandOnce(expandableOnly) { + var topToken = this.popToken(); + var name = topToken.text; + var expansion = !topToken.noexpand ? this._getExpansion(name) : null; + + if (expansion == null || expandableOnly && expansion.unexpandable) { + if (expandableOnly && expansion == null && name[0] === "\\" && !this.isDefined(name)) { + throw new src_ParseError("Undefined control sequence: " + name); + } + + this.pushToken(topToken); + return topToken; + } + + this.expansionCount++; + + if (this.expansionCount > this.settings.maxExpand) { + throw new src_ParseError("Too many expansions: infinite loop or " + "need to increase maxExpand setting"); + } + + var tokens = expansion.tokens; + + if (expansion.numArgs) { + var args = this.consumeArgs(expansion.numArgs); // paste arguments in place of the placeholders + + tokens = tokens.slice(); // make a shallow copy + + for (var i = tokens.length - 1; i >= 0; --i) { + var tok = tokens[i]; + + if (tok.text === "#") { + if (i === 0) { + throw new src_ParseError("Incomplete placeholder at end of macro body", tok); + } + + tok = tokens[--i]; // next token on stack + + if (tok.text === "#") { + // ## → # + tokens.splice(i + 1, 1); // drop first # + } else if (/^[1-9]$/.test(tok.text)) { + var _tokens; + + // replace the placeholder with the indicated argument + (_tokens = tokens).splice.apply(_tokens, [i, 2].concat(args[+tok.text - 1])); + } else { + throw new src_ParseError("Not a valid argument number", tok); + } + } + } + } // Concatenate expansion onto top of stack. + + + this.pushTokens(tokens); + return tokens; + } + /** + * Expand the next token only once (if possible), and return the resulting + * top token on the stack (without removing anything from the stack). + * Similar in behavior to TeX's `\expandafter\futurelet`. + * Equivalent to expandOnce() followed by future(). + */ + ; + + _proto.expandAfterFuture = function expandAfterFuture() { + this.expandOnce(); + return this.future(); + } + /** + * Recursively expand first token, then return first non-expandable token. + */ + ; + + _proto.expandNextToken = function expandNextToken() { + for (;;) { + var expanded = this.expandOnce(); // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token_Token) { + // \relax stops the expansion, but shouldn't get returned (a + // null return value couldn't get implemented as a function). + // the token after \noexpand is interpreted as if its meaning + // were ‘\relax’ + if (expanded.text === "\\relax" || expanded.treatAsRelax) { + this.stack.pop(); + } else { + return this.stack.pop(); // === expanded + } + } + } // Flow unable to figure out that this pathway is impossible. + // https://github.com/facebook/flow/issues/4808 + + + throw new Error(); // eslint-disable-line no-unreachable + } + /** + * Fully expand the given macro name and return the resulting list of + * tokens, or return `undefined` if no such macro is defined. + */ + ; + + _proto.expandMacro = function expandMacro(name) { + return this.macros.has(name) ? this.expandTokens([new Token_Token(name)]) : undefined; + } + /** + * Fully expand the given token stream and return the resulting list of tokens + */ + ; + + _proto.expandTokens = function expandTokens(tokens) { + var output = []; + var oldStackLength = this.stack.length; + this.pushTokens(tokens); + + while (this.stack.length > oldStackLength) { + var expanded = this.expandOnce(true); // expand only expandable tokens + // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token_Token) { + if (expanded.treatAsRelax) { + // the expansion of \noexpand is the token itself + expanded.noexpand = false; + expanded.treatAsRelax = false; + } + + output.push(this.stack.pop()); + } + } + + return output; + } + /** + * Fully expand the given macro name and return the result as a string, + * or return `undefined` if no such macro is defined. + */ + ; + + _proto.expandMacroAsText = function expandMacroAsText(name) { + var tokens = this.expandMacro(name); + + if (tokens) { + return tokens.map(function (token) { + return token.text; + }).join(""); + } else { + return tokens; + } + } + /** + * Returns the expanded macro as a reversed array of tokens and a macro + * argument count. Or returns `null` if no such macro. + */ + ; + + _proto._getExpansion = function _getExpansion(name) { + var definition = this.macros.get(name); + + if (definition == null) { + // mainly checking for undefined here + return definition; + } + + var expansion = typeof definition === "function" ? definition(this) : definition; + + if (typeof expansion === "string") { + var numArgs = 0; + + if (expansion.indexOf("#") !== -1) { + var stripped = expansion.replace(/##/g, ""); + + while (stripped.indexOf("#" + (numArgs + 1)) !== -1) { + ++numArgs; + } + } + + var bodyLexer = new Lexer_Lexer(expansion, this.settings); + var tokens = []; + var tok = bodyLexer.lex(); + + while (tok.text !== "EOF") { + tokens.push(tok); + tok = bodyLexer.lex(); + } + + tokens.reverse(); // to fit in with stack using push and pop + + var expanded = { + tokens: tokens, + numArgs: numArgs + }; + return expanded; + } + + return expansion; + } + /** + * Determine whether a command is currently "defined" (has some + * functionality), meaning that it's a macro (in the current group), + * a function, a symbol, or one of the special commands listed in + * `implicitCommands`. + */ + ; + + _proto.isDefined = function isDefined(name) { + return this.macros.has(name) || src_functions.hasOwnProperty(name) || src_symbols.math.hasOwnProperty(name) || src_symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name); + } + /** + * Determine whether a command is expandable. + */ + ; + + _proto.isExpandable = function isExpandable(name) { + var macro = this.macros.get(name); + return macro != null ? typeof macro === "string" || typeof macro === "function" || !macro.unexpandable // TODO(ylem): #2085 + : src_functions.hasOwnProperty(name) + /* && !functions[name].primitive*/ + ; + }; + + return MacroExpander; +}(); + + +// CONCATENATED MODULE: ./src/Parser.js +/* eslint no-constant-condition:0 */ + + + + + + + + + + // Pre-evaluate both modules as unicodeSymbols require String.normalize() + +var unicodeAccents = { + "́": { + "text": "\\'", + "math": "\\acute" + }, + "̀": { + "text": "\\`", + "math": "\\grave" + }, + "̈": { + "text": "\\\"", + "math": "\\ddot" + }, + "̃": { + "text": "\\~", + "math": "\\tilde" + }, + "̄": { + "text": "\\=", + "math": "\\bar" + }, + "̆": { + "text": "\\u", + "math": "\\breve" + }, + "̌": { + "text": "\\v", + "math": "\\check" + }, + "̂": { + "text": "\\^", + "math": "\\hat" + }, + "̇": { + "text": "\\.", + "math": "\\dot" + }, + "̊": { + "text": "\\r", + "math": "\\mathring" + }, + "̋": { + "text": "\\H" + } +}; +var unicodeSymbols = { + "á": "á", + "à": "à", + "ä": "ä", + "ǟ": "ǟ", + "ã": "ã", + "ā": "ā", + "ă": "ă", + "ắ": "ắ", + "ằ": "ằ", + "ẵ": "ẵ", + "ǎ": "ǎ", + "â": "â", + "ấ": "ấ", + "ầ": "ầ", + "ẫ": "ẫ", + "ȧ": "ȧ", + "ǡ": "ǡ", + "å": "å", + "ǻ": "ǻ", + "ḃ": "ḃ", + "ć": "ć", + "č": "č", + "ĉ": "ĉ", + "ċ": "ċ", + "ď": "ď", + "ḋ": "ḋ", + "é": "é", + "è": "è", + "ë": "ë", + "ẽ": "ẽ", + "ē": "ē", + "ḗ": "ḗ", + "ḕ": "ḕ", + "ĕ": "ĕ", + "ě": "ě", + "ê": "ê", + "ế": "ế", + "ề": "ề", + "ễ": "ễ", + "ė": "ė", + "ḟ": "ḟ", + "ǵ": "ǵ", + "ḡ": "ḡ", + "ğ": "ğ", + "ǧ": "ǧ", + "ĝ": "ĝ", + "ġ": "ġ", + "ḧ": "ḧ", + "ȟ": "ȟ", + "ĥ": "ĥ", + "ḣ": "ḣ", + "í": "í", + "ì": "ì", + "ï": "ï", + "ḯ": "ḯ", + "ĩ": "ĩ", + "ī": "ī", + "ĭ": "ĭ", + "ǐ": "ǐ", + "î": "î", + "ǰ": "ǰ", + "ĵ": "ĵ", + "ḱ": "ḱ", + "ǩ": "ǩ", + "ĺ": "ĺ", + "ľ": "ľ", + "ḿ": "ḿ", + "ṁ": "ṁ", + "ń": "ń", + "ǹ": "ǹ", + "ñ": "ñ", + "ň": "ň", + "ṅ": "ṅ", + "ó": "ó", + "ò": "ò", + "ö": "ö", + "ȫ": "ȫ", + "õ": "õ", + "ṍ": "ṍ", + "ṏ": "ṏ", + "ȭ": "ȭ", + "ō": "ō", + "ṓ": "ṓ", + "ṑ": "ṑ", + "ŏ": "ŏ", + "ǒ": "ǒ", + "ô": "ô", + "ố": "ố", + "ồ": "ồ", + "ỗ": "ỗ", + "ȯ": "ȯ", + "ȱ": "ȱ", + "ő": "ő", + "ṕ": "ṕ", + "ṗ": "ṗ", + "ŕ": "ŕ", + "ř": "ř", + "ṙ": "ṙ", + "ś": "ś", + "ṥ": "ṥ", + "š": "š", + "ṧ": "ṧ", + "ŝ": "ŝ", + "ṡ": "ṡ", + "ẗ": "ẗ", + "ť": "ť", + "ṫ": "ṫ", + "ú": "ú", + "ù": "ù", + "ü": "ü", + "ǘ": "ǘ", + "ǜ": "ǜ", + "ǖ": "ǖ", + "ǚ": "ǚ", + "ũ": "ũ", + "ṹ": "ṹ", + "ū": "ū", + "ṻ": "ṻ", + "ŭ": "ŭ", + "ǔ": "ǔ", + "û": "û", + "ů": "ů", + "ű": "ű", + "ṽ": "ṽ", + "ẃ": "ẃ", + "ẁ": "ẁ", + "ẅ": "ẅ", + "ŵ": "ŵ", + "ẇ": "ẇ", + "ẘ": "ẘ", + "ẍ": "ẍ", + "ẋ": "ẋ", + "ý": "ý", + "ỳ": "ỳ", + "ÿ": "ÿ", + "ỹ": "ỹ", + "ȳ": "ȳ", + "ŷ": "ŷ", + "ẏ": "ẏ", + "ẙ": "ẙ", + "ź": "ź", + "ž": "ž", + "ẑ": "ẑ", + "ż": "ż", + "Á": "Á", + "À": "À", + "Ä": "Ä", + "Ǟ": "Ǟ", + "Ã": "Ã", + "Ā": "Ā", + "Ă": "Ă", + "Ắ": "Ắ", + "Ằ": "Ằ", + "Ẵ": "Ẵ", + "Ǎ": "Ǎ", + "Â": "Â", + "Ấ": "Ấ", + "Ầ": "Ầ", + "Ẫ": "Ẫ", + "Ȧ": "Ȧ", + "Ǡ": "Ǡ", + "Å": "Å", + "Ǻ": "Ǻ", + "Ḃ": "Ḃ", + "Ć": "Ć", + "Č": "Č", + "Ĉ": "Ĉ", + "Ċ": "Ċ", + "Ď": "Ď", + "Ḋ": "Ḋ", + "É": "É", + "È": "È", + "Ë": "Ë", + "Ẽ": "Ẽ", + "Ē": "Ē", + "Ḗ": "Ḗ", + "Ḕ": "Ḕ", + "Ĕ": "Ĕ", + "Ě": "Ě", + "Ê": "Ê", + "Ế": "Ế", + "Ề": "Ề", + "Ễ": "Ễ", + "Ė": "Ė", + "Ḟ": "Ḟ", + "Ǵ": "Ǵ", + "Ḡ": "Ḡ", + "Ğ": "Ğ", + "Ǧ": "Ǧ", + "Ĝ": "Ĝ", + "Ġ": "Ġ", + "Ḧ": "Ḧ", + "Ȟ": "Ȟ", + "Ĥ": "Ĥ", + "Ḣ": "Ḣ", + "Í": "Í", + "Ì": "Ì", + "Ï": "Ï", + "Ḯ": "Ḯ", + "Ĩ": "Ĩ", + "Ī": "Ī", + "Ĭ": "Ĭ", + "Ǐ": "Ǐ", + "Î": "Î", + "İ": "İ", + "Ĵ": "Ĵ", + "Ḱ": "Ḱ", + "Ǩ": "Ǩ", + "Ĺ": "Ĺ", + "Ľ": "Ľ", + "Ḿ": "Ḿ", + "Ṁ": "Ṁ", + "Ń": "Ń", + "Ǹ": "Ǹ", + "Ñ": "Ñ", + "Ň": "Ň", + "Ṅ": "Ṅ", + "Ó": "Ó", + "Ò": "Ò", + "Ö": "Ö", + "Ȫ": "Ȫ", + "Õ": "Õ", + "Ṍ": "Ṍ", + "Ṏ": "Ṏ", + "Ȭ": "Ȭ", + "Ō": "Ō", + "Ṓ": "Ṓ", + "Ṑ": "Ṑ", + "Ŏ": "Ŏ", + "Ǒ": "Ǒ", + "Ô": "Ô", + "Ố": "Ố", + "Ồ": "Ồ", + "Ỗ": "Ỗ", + "Ȯ": "Ȯ", + "Ȱ": "Ȱ", + "Ő": "Ő", + "Ṕ": "Ṕ", + "Ṗ": "Ṗ", + "Ŕ": "Ŕ", + "Ř": "Ř", + "Ṙ": "Ṙ", + "Ś": "Ś", + "Ṥ": "Ṥ", + "Š": "Š", + "Ṧ": "Ṧ", + "Ŝ": "Ŝ", + "Ṡ": "Ṡ", + "Ť": "Ť", + "Ṫ": "Ṫ", + "Ú": "Ú", + "Ù": "Ù", + "Ü": "Ü", + "Ǘ": "Ǘ", + "Ǜ": "Ǜ", + "Ǖ": "Ǖ", + "Ǚ": "Ǚ", + "Ũ": "Ũ", + "Ṹ": "Ṹ", + "Ū": "Ū", + "Ṻ": "Ṻ", + "Ŭ": "Ŭ", + "Ǔ": "Ǔ", + "Û": "Û", + "Ů": "Ů", + "Ű": "Ű", + "Ṽ": "Ṽ", + "Ẃ": "Ẃ", + "Ẁ": "Ẁ", + "Ẅ": "Ẅ", + "Ŵ": "Ŵ", + "Ẇ": "Ẇ", + "Ẍ": "Ẍ", + "Ẋ": "Ẋ", + "Ý": "Ý", + "Ỳ": "Ỳ", + "Ÿ": "Ÿ", + "Ỹ": "Ỹ", + "Ȳ": "Ȳ", + "Ŷ": "Ŷ", + "Ẏ": "Ẏ", + "Ź": "Ź", + "Ž": "Ž", + "Ẑ": "Ẑ", + "Ż": "Ż", + "ά": "ά", + "ὰ": "ὰ", + "ᾱ": "ᾱ", + "ᾰ": "ᾰ", + "έ": "έ", + "ὲ": "ὲ", + "ή": "ή", + "ὴ": "ὴ", + "ί": "ί", + "ὶ": "ὶ", + "ϊ": "ϊ", + "ΐ": "ΐ", + "ῒ": "ῒ", + "ῑ": "ῑ", + "ῐ": "ῐ", + "ό": "ό", + "ὸ": "ὸ", + "ύ": "ύ", + "ὺ": "ὺ", + "ϋ": "ϋ", + "ΰ": "ΰ", + "ῢ": "ῢ", + "ῡ": "ῡ", + "ῠ": "ῠ", + "ώ": "ώ", + "ὼ": "ὼ", + "Ύ": "Ύ", + "Ὺ": "Ὺ", + "Ϋ": "Ϋ", + "Ῡ": "Ῡ", + "Ῠ": "Ῠ", + "Ώ": "Ώ", + "Ὼ": "Ὼ" +}; + +/** + * This file contains the parser used to parse out a TeX expression from the + * input. Since TeX isn't context-free, standard parsers don't work particularly + * well. + * + * The strategy of this parser is as such: + * + * The main functions (the `.parse...` ones) take a position in the current + * parse string to parse tokens from. The lexer (found in Lexer.js, stored at + * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When + * individual tokens are needed at a position, the lexer is called to pull out a + * token, which is then used. + * + * The parser has a property called "mode" indicating the mode that + * the parser is currently in. Currently it has to be one of "math" or + * "text", which denotes whether the current environment is a math-y + * one or a text-y one (e.g. inside \text). Currently, this serves to + * limit the functions which can be used in text mode. + * + * The main functions then return an object which contains the useful data that + * was parsed at its given point, and a new position at the end of the parsed + * data. The main functions can call each other and continue the parsing by + * using the returned position as a new starting point. + * + * There are also extra `.handle...` functions, which pull out some reused + * functionality into self-contained functions. + * + * The functions return ParseNodes. + */ +var Parser_Parser = +/*#__PURE__*/ +function () { + function Parser(input, settings) { + this.mode = void 0; + this.gullet = void 0; + this.settings = void 0; + this.leftrightDepth = void 0; + this.nextToken = void 0; + // Start in math mode + this.mode = "math"; // Create a new macro expander (gullet) and (indirectly via that) also a + // new lexer (mouth) for this parser (stomach, in the language of TeX) + + this.gullet = new MacroExpander_MacroExpander(input, settings, this.mode); // Store the settings for use in parsing + + this.settings = settings; // Count leftright depth (for \middle errors) + + this.leftrightDepth = 0; + } + /** + * Checks a result to make sure it has the right type, and throws an + * appropriate error otherwise. + */ + + + var _proto = Parser.prototype; + + _proto.expect = function expect(text, consume) { + if (consume === void 0) { + consume = true; + } + + if (this.fetch().text !== text) { + throw new src_ParseError("Expected '" + text + "', got '" + this.fetch().text + "'", this.fetch()); + } + + if (consume) { + this.consume(); + } + } + /** + * Discards the current lookahead token, considering it consumed. + */ + ; + + _proto.consume = function consume() { + this.nextToken = null; + } + /** + * Return the current lookahead token, or if there isn't one (at the + * beginning, or if the previous lookahead token was consume()d), + * fetch the next token as the new lookahead token and return it. + */ + ; + + _proto.fetch = function fetch() { + if (this.nextToken == null) { + this.nextToken = this.gullet.expandNextToken(); + } + + return this.nextToken; + } + /** + * Switches between "text" and "math" modes. + */ + ; + + _proto.switchMode = function switchMode(newMode) { + this.mode = newMode; + this.gullet.switchMode(newMode); + } + /** + * Main parsing function, which parses an entire input. + */ + ; + + _proto.parse = function parse() { + if (!this.settings.globalGroup) { + // Create a group namespace for the math expression. + // (LaTeX creates a new group for every $...$, $$...$$, \[...\].) + this.gullet.beginGroup(); + } // Use old \color behavior (same as LaTeX's \textcolor) if requested. + // We do this within the group for the math expression, so it doesn't + // pollute settings.macros. + + + if (this.settings.colorIsTextColor) { + this.gullet.macros.set("\\color", "\\textcolor"); + } // Try to parse the input + + + var parse = this.parseExpression(false); // If we succeeded, make sure there's an EOF at the end + + this.expect("EOF"); // End the group namespace for the expression + + if (!this.settings.globalGroup) { + this.gullet.endGroup(); + } + + return parse; + }; + + _proto.parseExpression = function parseExpression(breakOnInfix, breakOnTokenText) { + var body = []; // Keep adding atoms to the body until we can't parse any more atoms (either + // we reached the end, a }, or a \right) + + while (true) { + // Ignore spaces in math mode + if (this.mode === "math") { + this.consumeSpaces(); + } + + var lex = this.fetch(); + + if (Parser.endOfExpression.indexOf(lex.text) !== -1) { + break; + } + + if (breakOnTokenText && lex.text === breakOnTokenText) { + break; + } + + if (breakOnInfix && src_functions[lex.text] && src_functions[lex.text].infix) { + break; + } + + var atom = this.parseAtom(breakOnTokenText); + + if (!atom) { + break; + } else if (atom.type === "internal") { + continue; + } + + body.push(atom); + } + + if (this.mode === "text") { + this.formLigatures(body); + } + + return this.handleInfixNodes(body); + } + /** + * Rewrites infix operators such as \over with corresponding commands such + * as \frac. + * + * There can only be one infix operator per group. If there's more than one + * then the expression is ambiguous. This can be resolved by adding {}. + */ + ; + + _proto.handleInfixNodes = function handleInfixNodes(body) { + var overIndex = -1; + var funcName; + + for (var i = 0; i < body.length; i++) { + if (body[i].type === "infix") { + if (overIndex !== -1) { + throw new src_ParseError("only one infix operator per group", body[i].token); + } + + overIndex = i; + funcName = body[i].replaceWith; + } + } + + if (overIndex !== -1 && funcName) { + var numerNode; + var denomNode; + var numerBody = body.slice(0, overIndex); + var denomBody = body.slice(overIndex + 1); + + if (numerBody.length === 1 && numerBody[0].type === "ordgroup") { + numerNode = numerBody[0]; + } else { + numerNode = { + type: "ordgroup", + mode: this.mode, + body: numerBody + }; + } + + if (denomBody.length === 1 && denomBody[0].type === "ordgroup") { + denomNode = denomBody[0]; + } else { + denomNode = { + type: "ordgroup", + mode: this.mode, + body: denomBody + }; + } + + var node; + + if (funcName === "\\\\abovefrac") { + node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []); + } else { + node = this.callFunction(funcName, [numerNode, denomNode], []); + } + + return [node]; + } else { + return body; + } + } // The greediness of a superscript or subscript + ; + + /** + * Handle a subscript or superscript with nice errors. + */ + _proto.handleSupSubscript = function handleSupSubscript(name) { + var symbolToken = this.fetch(); + var symbol = symbolToken.text; + this.consume(); + var group = this.parseGroup(name, false, Parser.SUPSUB_GREEDINESS, undefined, undefined, true); // ignore spaces before sup/subscript argument + + if (!group) { + throw new src_ParseError("Expected group after '" + symbol + "'", symbolToken); + } + + return group; + } + /** + * Converts the textual input of an unsupported command into a text node + * contained within a color node whose color is determined by errorColor + */ + ; + + _proto.formatUnsupportedCmd = function formatUnsupportedCmd(text) { + var textordArray = []; + + for (var i = 0; i < text.length; i++) { + textordArray.push({ + type: "textord", + mode: "text", + text: text[i] + }); + } + + var textNode = { + type: "text", + mode: this.mode, + body: textordArray + }; + var colorNode = { + type: "color", + mode: this.mode, + color: this.settings.errorColor, + body: [textNode] + }; + return colorNode; + } + /** + * Parses a group with optional super/subscripts. + */ + ; + + _proto.parseAtom = function parseAtom(breakOnTokenText) { + // The body of an atom is an implicit group, so that things like + // \left(x\right)^2 work correctly. + var base = this.parseGroup("atom", false, null, breakOnTokenText); // In text mode, we don't have superscripts or subscripts + + if (this.mode === "text") { + return base; + } // Note that base may be empty (i.e. null) at this point. + + + var superscript; + var subscript; + + while (true) { + // Guaranteed in math mode, so eat any spaces first. + this.consumeSpaces(); // Lex the first token + + var lex = this.fetch(); + + if (lex.text === "\\limits" || lex.text === "\\nolimits") { + // We got a limit control + if (base && base.type === "op") { + var limits = lex.text === "\\limits"; + base.limits = limits; + base.alwaysHandleSupSub = true; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub) { + var _limits = lex.text === "\\limits"; + + base.limits = _limits; + } else { + throw new src_ParseError("Limit controls must follow a math operator", lex); + } + + this.consume(); + } else if (lex.text === "^") { + // We got a superscript start + if (superscript) { + throw new src_ParseError("Double superscript", lex); + } + + superscript = this.handleSupSubscript("superscript"); + } else if (lex.text === "_") { + // We got a subscript start + if (subscript) { + throw new src_ParseError("Double subscript", lex); + } + + subscript = this.handleSupSubscript("subscript"); + } else if (lex.text === "'") { + // We got a prime + if (superscript) { + throw new src_ParseError("Double superscript", lex); + } + + var prime = { + type: "textord", + mode: this.mode, + text: "\\prime" + }; // Many primes can be grouped together, so we handle this here + + var primes = [prime]; + this.consume(); // Keep lexing tokens until we get something that's not a prime + + while (this.fetch().text === "'") { + // For each one, add another prime to the list + primes.push(prime); + this.consume(); + } // If there's a superscript following the primes, combine that + // superscript in with the primes. + + + if (this.fetch().text === "^") { + primes.push(this.handleSupSubscript("superscript")); + } // Put everything into an ordgroup as the superscript + + + superscript = { + type: "ordgroup", + mode: this.mode, + body: primes + }; + } else { + // If it wasn't ^, _, or ', stop parsing super/subscripts + break; + } + } // Base must be set if superscript or subscript are set per logic above, + // but need to check here for type check to pass. + + + if (superscript || subscript) { + // If we got either a superscript or subscript, create a supsub + return { + type: "supsub", + mode: this.mode, + base: base, + sup: superscript, + sub: subscript + }; + } else { + // Otherwise return the original body + return base; + } + } + /** + * Parses an entire function, including its base and all of its arguments. + */ + ; + + _proto.parseFunction = function parseFunction(breakOnTokenText, name, // For error reporting. + greediness) { + var token = this.fetch(); + var func = token.text; + var funcData = src_functions[func]; + + if (!funcData) { + return null; + } + + this.consume(); // consume command token + + if (greediness != null && funcData.greediness <= greediness) { + throw new src_ParseError("Got function '" + func + "' with no arguments" + (name ? " as " + name : ""), token); + } else if (this.mode === "text" && !funcData.allowedInText) { + throw new src_ParseError("Can't use function '" + func + "' in text mode", token); + } else if (this.mode === "math" && funcData.allowedInMath === false) { + throw new src_ParseError("Can't use function '" + func + "' in math mode", token); + } + + var _this$parseArguments = this.parseArguments(func, funcData), + args = _this$parseArguments.args, + optArgs = _this$parseArguments.optArgs; + + return this.callFunction(func, args, optArgs, token, breakOnTokenText); + } + /** + * Call a function handler with a suitable context and arguments. + */ + ; + + _proto.callFunction = function callFunction(name, args, optArgs, token, breakOnTokenText) { + var context = { + funcName: name, + parser: this, + token: token, + breakOnTokenText: breakOnTokenText + }; + var func = src_functions[name]; + + if (func && func.handler) { + return func.handler(context, args, optArgs); + } else { + throw new src_ParseError("No function handler for " + name); + } + } + /** + * Parses the arguments of a function or environment + */ + ; + + _proto.parseArguments = function parseArguments(func, // Should look like "\name" or "\begin{name}". + funcData) { + var totalArgs = funcData.numArgs + funcData.numOptionalArgs; + + if (totalArgs === 0) { + return { + args: [], + optArgs: [] + }; + } + + var baseGreediness = funcData.greediness; + var args = []; + var optArgs = []; + + for (var i = 0; i < totalArgs; i++) { + var argType = funcData.argTypes && funcData.argTypes[i]; + var isOptional = i < funcData.numOptionalArgs; // Ignore spaces between arguments. As the TeXbook says: + // "After you have said ‘\def\row#1#2{...}’, you are allowed to + // put spaces between the arguments (e.g., ‘\row x n’), because + // TeX doesn’t use single spaces as undelimited arguments." + + var consumeSpaces = i > 0 && !isOptional || // Also consume leading spaces in math mode, as parseSymbol + // won't know what to do with them. This can only happen with + // macros, e.g. \frac\foo\foo where \foo expands to a space symbol. + // In LaTeX, the \foo's get treated as (blank) arguments. + // In KaTeX, for now, both spaces will get consumed. + // TODO(edemaine) + i === 0 && !isOptional && this.mode === "math"; + var arg = this.parseGroupOfType("argument to '" + func + "'", argType, isOptional, baseGreediness, consumeSpaces); + + if (!arg) { + if (isOptional) { + optArgs.push(null); + continue; + } + + throw new src_ParseError("Expected group after '" + func + "'", this.fetch()); + } + + (isOptional ? optArgs : args).push(arg); + } + + return { + args: args, + optArgs: optArgs + }; + } + /** + * Parses a group when the mode is changing. + */ + ; + + _proto.parseGroupOfType = function parseGroupOfType(name, type, optional, greediness, consumeSpaces) { + switch (type) { + case "color": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseColorGroup(optional); + + case "size": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseSizeGroup(optional); + + case "url": + return this.parseUrlGroup(optional, consumeSpaces); + + case "math": + case "text": + return this.parseGroup(name, optional, greediness, undefined, type, consumeSpaces); + + case "hbox": + { + // hbox argument type wraps the argument in the equivalent of + // \hbox, which is like \text but switching to \textstyle size. + var group = this.parseGroup(name, optional, greediness, undefined, "text", consumeSpaces); + + if (!group) { + return group; + } + + var styledGroup = { + type: "styling", + mode: group.mode, + body: [group], + style: "text" // simulate \textstyle + + }; + return styledGroup; + } + + case "raw": + { + if (consumeSpaces) { + this.consumeSpaces(); + } + + if (optional && this.fetch().text === "{") { + return null; + } + + var token = this.parseStringGroup("raw", optional, true); + + if (token) { + return { + type: "raw", + mode: "text", + string: token.text + }; + } else { + throw new src_ParseError("Expected raw group", this.fetch()); + } + } + + case "original": + case null: + case undefined: + return this.parseGroup(name, optional, greediness, undefined, undefined, consumeSpaces); + + default: + throw new src_ParseError("Unknown group type as " + name, this.fetch()); + } + } + /** + * Discard any space tokens, fetching the next non-space token. + */ + ; + + _proto.consumeSpaces = function consumeSpaces() { + while (this.fetch().text === " ") { + this.consume(); + } + } + /** + * Parses a group, essentially returning the string formed by the + * brace-enclosed tokens plus some position information. + */ + ; + + _proto.parseStringGroup = function parseStringGroup(modeName, // Used to describe the mode in error messages. + optional, raw) { + var groupBegin = optional ? "[" : "{"; + var groupEnd = optional ? "]" : "}"; + var beginToken = this.fetch(); + + if (beginToken.text !== groupBegin) { + if (optional) { + return null; + } else if (raw && beginToken.text !== "EOF" && /[^{}[\]]/.test(beginToken.text)) { + this.consume(); + return beginToken; + } + } + + var outerMode = this.mode; + this.mode = "text"; + this.expect(groupBegin); + var str = ""; + var firstToken = this.fetch(); + var nested = 0; // allow nested braces in raw string group + + var lastToken = firstToken; + var nextToken; + + while ((nextToken = this.fetch()).text !== groupEnd || raw && nested > 0) { + switch (nextToken.text) { + case "EOF": + throw new src_ParseError("Unexpected end of input in " + modeName, firstToken.range(lastToken, str)); + + case groupBegin: + nested++; + break; + + case groupEnd: + nested--; + break; + } + + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + this.expect(groupEnd); + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a regex-delimited group: the largest sequence of tokens + * whose concatenated strings match `regex`. Returns the string + * formed by the tokens plus some position information. + */ + ; + + _proto.parseRegexGroup = function parseRegexGroup(regex, modeName) { + var outerMode = this.mode; + this.mode = "text"; + var firstToken = this.fetch(); + var lastToken = firstToken; + var str = ""; + var nextToken; + + while ((nextToken = this.fetch()).text !== "EOF" && regex.test(str + nextToken.text)) { + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + if (str === "") { + throw new src_ParseError("Invalid " + modeName + ": '" + firstToken.text + "'", firstToken); + } + + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a color description. + */ + ; + + _proto.parseColorGroup = function parseColorGroup(optional) { + var res = this.parseStringGroup("color", optional); + + if (!res) { + return null; + } + + var match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text); + + if (!match) { + throw new src_ParseError("Invalid color: '" + res.text + "'", res); + } + + var color = match[0]; + + if (/^[0-9a-f]{6}$/i.test(color)) { + // We allow a 6-digit HTML color spec without a leading "#". + // This follows the xcolor package's HTML color model. + // Predefined color names are all missed by this RegEx pattern. + color = "#" + color; + } + + return { + type: "color-token", + mode: this.mode, + color: color + }; + } + /** + * Parses a size specification, consisting of magnitude and unit. + */ + ; + + _proto.parseSizeGroup = function parseSizeGroup(optional) { + var res; + var isBlank = false; + + if (!optional && this.fetch().text !== "{") { + res = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, "size"); + } else { + res = this.parseStringGroup("size", optional); + } + + if (!res) { + return null; + } + + if (!optional && res.text.length === 0) { + // Because we've tested for what is !optional, this block won't + // affect \kern, \hspace, etc. It will capture the mandatory arguments + // to \genfrac and \above. + res.text = "0pt"; // Enable \above{} + + isBlank = true; // This is here specifically for \genfrac + } + + var match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(res.text); + + if (!match) { + throw new src_ParseError("Invalid size: '" + res.text + "'", res); + } + + var data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new src_ParseError("Invalid unit: '" + data.unit + "'", res); + } + + return { + type: "size", + mode: this.mode, + value: data, + isBlank: isBlank + }; + } + /** + * Parses an URL, checking escaped letters and allowed protocols, + * and setting the catcode of % as an active character (as in \hyperref). + */ + ; + + _proto.parseUrlGroup = function parseUrlGroup(optional, consumeSpaces) { + this.gullet.lexer.setCatcode("%", 13); // active character + + var res = this.parseStringGroup("url", optional, true); // get raw string + + this.gullet.lexer.setCatcode("%", 14); // comment character + + if (!res) { + return null; + } // hyperref package allows backslashes alone in href, but doesn't + // generate valid links in such cases; we interpret this as + // "undefined" behaviour, and keep them as-is. Some browser will + // replace backslashes with forward slashes. + + + var url = res.text.replace(/\\([#$%&~_^{}])/g, '$1'); + return { + type: "url", + mode: this.mode, + url: url + }; + } + /** + * If `optional` is false or absent, this parses an ordinary group, + * which is either a single nucleus (like "x") or an expression + * in braces (like "{x+y}") or an implicit group, a group that starts + * at the current position, and ends right before a higher explicit + * group ends, or at EOF. + * If `optional` is true, it parses either a bracket-delimited expression + * (like "[x+y]") or returns null to indicate the absence of a + * bracket-enclosed group. + * If `mode` is present, switches to that mode while parsing the group, + * and switches back after. + */ + ; + + _proto.parseGroup = function parseGroup(name, // For error reporting. + optional, greediness, breakOnTokenText, mode, consumeSpaces) { + // Switch to specified mode + var outerMode = this.mode; + + if (mode) { + this.switchMode(mode); + } // Consume spaces if requested, crucially *after* we switch modes, + // so that the next non-space token is parsed in the correct mode. + + + if (consumeSpaces) { + this.consumeSpaces(); + } // Get first token + + + var firstToken = this.fetch(); + var text = firstToken.text; + var result; // Try to parse an open brace or \begingroup + + if (optional ? text === "[" : text === "{" || text === "\\begingroup") { + this.consume(); + var groupEnd = Parser.endOfGroup[text]; // Start a new group namespace + + this.gullet.beginGroup(); // If we get a brace, parse an expression + + var expression = this.parseExpression(false, groupEnd); + var lastToken = this.fetch(); // Check that we got a matching closing brace + + this.expect(groupEnd); // End group namespace + + this.gullet.endGroup(); + result = { + type: "ordgroup", + mode: this.mode, + loc: SourceLocation.range(firstToken, lastToken), + body: expression, + // A group formed by \begingroup...\endgroup is a semi-simple group + // which doesn't affect spacing in math mode, i.e., is transparent. + // https://tex.stackexchange.com/questions/1930/when-should-one- + // use-begingroup-instead-of-bgroup + semisimple: text === "\\begingroup" || undefined + }; + } else if (optional) { + // Return nothing for an optional group + result = null; + } else { + // If there exists a function with this name, parse the function. + // Otherwise, just return a nucleus + result = this.parseFunction(breakOnTokenText, name, greediness) || this.parseSymbol(); + + if (result == null && text[0] === "\\" && !implicitCommands.hasOwnProperty(text)) { + if (this.settings.throwOnError) { + throw new src_ParseError("Undefined control sequence: " + text, firstToken); + } + + result = this.formatUnsupportedCmd(text); + this.consume(); + } + } // Switch mode back + + + if (mode) { + this.switchMode(outerMode); + } + + return result; + } + /** + * Form ligature-like combinations of characters for text mode. + * This includes inputs like "--", "---", "``" and "''". + * The result will simply replace multiple textord nodes with a single + * character in each value by a single textord node having multiple + * characters in its value. The representation is still ASCII source. + * The group will be modified in place. + */ + ; + + _proto.formLigatures = function formLigatures(group) { + var n = group.length - 1; + + for (var i = 0; i < n; ++i) { + var a = group[i]; // $FlowFixMe: Not every node type has a `text` property. + + var v = a.text; + + if (v === "-" && group[i + 1].text === "-") { + if (i + 1 < n && group[i + 2].text === "-") { + group.splice(i, 3, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 2]), + text: "---" + }); + n -= 2; + } else { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: "--" + }); + n -= 1; + } + } + + if ((v === "'" || v === "`") && group[i + 1].text === v) { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: v + v + }); + n -= 1; + } + } + } + /** + * Parse a single symbol out of the string. Here, we handle single character + * symbols and special functions like \verb. + */ + ; + + _proto.parseSymbol = function parseSymbol() { + var nucleus = this.fetch(); + var text = nucleus.text; + + if (/^\\verb[^a-zA-Z]/.test(text)) { + this.consume(); + var arg = text.slice(5); + var star = arg.charAt(0) === "*"; + + if (star) { + arg = arg.slice(1); + } // Lexer's tokenRegex is constructed to always have matching + // first/last characters. + + + if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) { + throw new src_ParseError("\\verb assertion failed --\n please report what input caused this bug"); + } + + arg = arg.slice(1, -1); // remove first and last char + + return { + type: "verb", + mode: "text", + body: arg, + star: star + }; + } // At this point, we should have a symbol, possibly with accents. + // First expand any accented base symbol according to unicodeSymbols. + + + if (unicodeSymbols.hasOwnProperty(text[0]) && !src_symbols[this.mode][text[0]]) { + // This behavior is not strict (XeTeX-compatible) in math mode. + if (this.settings.strict && this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", "Accented Unicode text character \"" + text[0] + "\" used in " + "math mode", nucleus); + } + + text = unicodeSymbols[text[0]] + text.substr(1); + } // Strip off any combining characters + + + var match = combiningDiacriticalMarksEndRegex.exec(text); + + if (match) { + text = text.substring(0, match.index); + + if (text === 'i') { + text = "\u0131"; // dotless i, in math and text mode + } else if (text === 'j') { + text = "\u0237"; // dotless j, in math and text mode + } + } // Recognize base symbol + + + var symbol; + + if (src_symbols[this.mode][text]) { + if (this.settings.strict && this.mode === 'math' && extraLatin.indexOf(text) >= 0) { + this.settings.reportNonstrict("unicodeTextInMathMode", "Latin-1/Unicode text character \"" + text[0] + "\" used in " + "math mode", nucleus); + } + + var group = src_symbols[this.mode][text].group; + var loc = SourceLocation.range(nucleus); + var s; + + if (ATOMS.hasOwnProperty(group)) { + // $FlowFixMe + var family = group; + s = { + type: "atom", + mode: this.mode, + family: family, + loc: loc, + text: text + }; + } else { + // $FlowFixMe + s = { + type: group, + mode: this.mode, + loc: loc, + text: text + }; + } + + symbol = s; + } else if (text.charCodeAt(0) >= 0x80) { + // no symbol for e.g. ^ + if (this.settings.strict) { + if (!supportedCodepoint(text.charCodeAt(0))) { + this.settings.reportNonstrict("unknownSymbol", "Unrecognized Unicode character \"" + text[0] + "\"" + (" (" + text.charCodeAt(0) + ")"), nucleus); + } else if (this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", "Unicode text character \"" + text[0] + "\" used in math mode", nucleus); + } + } // All nonmathematical Unicode characters are rendered as if they + // are in text mode (wrapped in \text) because that's what it + // takes to render them in LaTeX. Setting `mode: this.mode` is + // another natural choice (the user requested math mode), but + // this makes it more difficult for getCharacterMetrics() to + // distinguish Unicode characters without metrics and those for + // which we want to simulate the letter M. + + + symbol = { + type: "textord", + mode: "text", + loc: SourceLocation.range(nucleus), + text: text + }; + } else { + return null; // EOF, ^, _, {, }, etc. + } + + this.consume(); // Transform combining characters into accents + + if (match) { + for (var i = 0; i < match[0].length; i++) { + var accent = match[0][i]; + + if (!unicodeAccents[accent]) { + throw new src_ParseError("Unknown accent ' " + accent + "'", nucleus); + } + + var command = unicodeAccents[accent][this.mode]; + + if (!command) { + throw new src_ParseError("Accent " + accent + " unsupported in " + this.mode + " mode", nucleus); + } + + symbol = { + type: "accent", + mode: this.mode, + loc: SourceLocation.range(nucleus), + label: command, + isStretchy: false, + isShifty: true, + base: symbol + }; + } + } + + return symbol; + }; + + return Parser; +}(); + +Parser_Parser.endOfExpression = ["}", "\\endgroup", "\\end", "\\right", "&"]; +Parser_Parser.endOfGroup = { + "[": "]", + "{": "}", + "\\begingroup": "\\endgroup" + /** + * Parses an "expression", which is a list of atoms. + * + * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This + * happens when functions have higher precendence han infix + * nodes in implicit parses. + * + * `breakOnTokenText`: The text of the token that the expression should end + * with, or `null` if something else should end the + * expression. + */ + +}; +Parser_Parser.SUPSUB_GREEDINESS = 1; + +// CONCATENATED MODULE: ./src/parseTree.js +/** + * Provides a single function for parsing an expression using a Parser + * TODO(emily): Remove this + */ + + + +/** + * Parses an expression using a Parser, then returns the parsed result. + */ +var parseTree_parseTree = function parseTree(toParse, settings) { + if (!(typeof toParse === 'string' || toParse instanceof String)) { + throw new TypeError('KaTeX can only parse string typed expression'); + } + + var parser = new Parser_Parser(toParse, settings); // Blank out any \df@tag to avoid spurious "Duplicate \tag" errors + + delete parser.gullet.macros.current["\\df@tag"]; + var tree = parser.parse(); // If the input used \tag, it will set the \df@tag macro to the tag. + // In this case, we separately parse the tag and wrap the tree. + + if (parser.gullet.macros.get("\\df@tag")) { + if (!settings.displayMode) { + throw new src_ParseError("\\tag works only in display equations"); + } + + parser.gullet.feed("\\df@tag"); + tree = [{ + type: "tag", + mode: "text", + body: tree, + tag: parser.parse() + }]; + } + + return tree; +}; + +/* harmony default export */ var src_parseTree = (parseTree_parseTree); +// CONCATENATED MODULE: ./katex.js +/* eslint no-console:0 */ + +/** + * This is the main entry point for KaTeX. Here, we expose functions for + * rendering expressions either to DOM nodes or to markup strings. + * + * We also expose the ParseError class to check if errors thrown from KaTeX are + * errors in the expression, or errors in javascript handling. + */ + + + + + + + + + + +/** + * Parse and build an expression, and place that expression in the DOM node + * given. + */ +var katex_render = function render(expression, baseNode, options) { + baseNode.textContent = ""; + var node = katex_renderToDomTree(expression, options).toNode(); + baseNode.appendChild(node); +}; // KaTeX's styles don't work properly in quirks mode. Print out an error, and +// disable rendering. + + +if (typeof document !== "undefined") { + if (document.compatMode !== "CSS1Compat") { + typeof console !== "undefined" && console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your " + "website has a suitable doctype."); + + katex_render = function render() { + throw new src_ParseError("KaTeX doesn't work in quirks mode."); + }; + } +} +/** + * Parse and build an expression, and return the markup for that. + */ + + +var renderToString = function renderToString(expression, options) { + var markup = katex_renderToDomTree(expression, options).toMarkup(); + return markup; +}; +/** + * Parse an expression and return the parse tree. + */ + + +var katex_generateParseTree = function generateParseTree(expression, options) { + var settings = new Settings_Settings(options); + return src_parseTree(expression, settings); +}; +/** + * If the given error is a KaTeX ParseError and options.throwOnError is false, + * renders the invalid LaTeX as a span with hover title giving the KaTeX + * error message. Otherwise, simply throws the error. + */ + + +var katex_renderError = function renderError(error, expression, options) { + if (options.throwOnError || !(error instanceof src_ParseError)) { + throw error; + } + + var node = buildCommon.makeSpan(["katex-error"], [new domTree_SymbolNode(expression)]); + node.setAttribute("title", error.toString()); + node.setAttribute("style", "color:" + options.errorColor); + return node; +}; +/** + * Generates and returns the katex build tree. This is used for advanced + * use cases (like rendering to custom output). + */ + + +var katex_renderToDomTree = function renderToDomTree(expression, options) { + var settings = new Settings_Settings(options); + + try { + var tree = src_parseTree(expression, settings); + return buildTree_buildTree(tree, expression, settings); + } catch (error) { + return katex_renderError(error, expression, settings); + } +}; +/** + * Generates and returns the katex build tree, with just HTML (no MathML). + * This is used for advanced use cases (like rendering to custom output). + */ + + +var katex_renderToHTMLTree = function renderToHTMLTree(expression, options) { + var settings = new Settings_Settings(options); + + try { + var tree = src_parseTree(expression, settings); + return buildTree_buildHTMLTree(tree, expression, settings); + } catch (error) { + return katex_renderError(error, expression, settings); + } +}; + +/* harmony default export */ var katex_0 = ({ + /** + * Current KaTeX version + */ + version: "0.12.0", + + /** + * Renders the given LaTeX into an HTML+MathML combination, and adds + * it as a child to the specified DOM node. + */ + render: katex_render, + + /** + * Renders the given LaTeX into an HTML+MathML combination string, + * for sending to the client. + */ + renderToString: renderToString, + + /** + * KaTeX error, usually during parsing. + */ + ParseError: src_ParseError, + + /** + * Parses the given LaTeX into KaTeX's internal parse tree structure, + * without rendering to HTML or MathML. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __parse: katex_generateParseTree, + + /** + * Renders the given LaTeX into an HTML+MathML internal DOM tree + * representation, without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToDomTree: katex_renderToDomTree, + + /** + * Renders the given LaTeX into an HTML internal DOM tree representation, + * without MathML and without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToHTMLTree: katex_renderToHTMLTree, + + /** + * extends internal font metrics object with a new object + * each key in the new object represents a font name + */ + __setFontMetrics: setFontMetrics, + + /** + * adds a new symbol to builtin symbols table + */ + __defineSymbol: defineSymbol, + + /** + * adds a new macro to builtin macro list + */ + __defineMacro: defineMacro, + + /** + * Expose the dom tree node types, which can be useful for type checking nodes. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __domTree: { + Span: domTree_Span, + Anchor: domTree_Anchor, + SymbolNode: domTree_SymbolNode, + SvgNode: SvgNode, + PathNode: domTree_PathNode, + LineNode: LineNode + } +}); +// CONCATENATED MODULE: ./katex.webpack.js +/** + * This is the webpack entry point for KaTeX. As ECMAScript, flow[1] and jest[2] + * doesn't support CSS modules natively, a separate entry point is used and + * it is not flowtyped. + * + * [1] https://gist.github.com/lambdahands/d19e0da96285b749f0ef + * [2] https://facebook.github.io/jest/docs/en/webpack.html + */ + + +/* harmony default export */ var katex_webpack = __webpack_exports__["default"] = (katex_0); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/docs/static/katex/katex.min.css b/docs/static/katex/katex.min.css new file mode 100644 index 000000000..98b7c7bde --- /dev/null +++ b/docs/static/katex/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Math;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Math;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Script;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size1;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size2;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size3;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size4;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Typewriter;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype");font-weight:400;font-style:normal}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto;border-color:currentColor}.katex *{-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.12.0"}.katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:700;font-style:italic}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed;border-collapse:collapse}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .vbox{-ms-flex-direction:column;flex-direction:column;align-items:baseline}.katex .hbox,.katex .vbox{display:-ms-inline-flexbox;display:inline-flex}.katex .hbox{-ms-flex-direction:row;flex-direction:row;width:100%}.katex .thinbox{display:inline-flex;flex-direction:row;width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:0 solid;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em} diff --git a/docs/static/katex/katex.min.js b/docs/static/katex/katex.min.js new file mode 100644 index 000000000..4df7e1722 --- /dev/null +++ b/docs/static/katex/katex.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.katex=e():t.katex=e()}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(a,n,function(e){return t[e]}.bind(null,n));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e,r){},function(t,e,r){"use strict";r.r(e);r(0);var a=function(){function t(t,e,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=e,this.end=r}return t.range=function(e,r){return r?e&&e.loc&&r.loc&&e.loc.lexer===r.loc.lexer?new t(e.loc.lexer,e.loc.start,r.loc.end):null:e&&e.loc},t}(),n=function(){function t(t,e){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=t,this.loc=e}return t.prototype.range=function(e,r){return new t(r,a.range(this,e))},t}(),i=function t(e,r){this.position=void 0;var a,n="KaTeX parse error: "+e,i=r&&r.loc;if(i&&i.start<=i.end){var o=i.lexer.input;a=i.start;var s=i.end;a===o.length?n+=" at end of input: ":n+=" at position "+(a+1)+": ";var l=o.slice(a,s).replace(/[^]/g,"$&\u0332");n+=(a>15?"\u2026"+o.slice(a-15,a):o.slice(0,a))+l+(s+15":">","<":"<",'"':""","'":"'"},h=/[&><"']/g;var m=function t(e){return"ordgroup"===e.type?1===e.body.length?t(e.body[0]):e:"color"===e.type?1===e.body.length?t(e.body[0]):e:"font"===e.type?t(e.body):e},c={contains:function(t,e){return-1!==t.indexOf(e)},deflt:function(t,e){return void 0===t?e:t},escape:function(t){return String(t).replace(h,function(t){return l[t]})},hyphenate:function(t){return t.replace(s,"-$1").toLowerCase()},getBaseElem:m,isCharacterBox:function(t){var e=m(t);return"mathord"===e.type||"textord"===e.type||"atom"===e.type},protocolFromUrl:function(t){var e=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(t);return null!=e?e[1]:"_relative"}},u=function(){function t(t){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{},this.displayMode=c.deflt(t.displayMode,!1),this.output=c.deflt(t.output,"htmlAndMathml"),this.leqno=c.deflt(t.leqno,!1),this.fleqn=c.deflt(t.fleqn,!1),this.throwOnError=c.deflt(t.throwOnError,!0),this.errorColor=c.deflt(t.errorColor,"#cc0000"),this.macros=t.macros||{},this.minRuleThickness=Math.max(0,c.deflt(t.minRuleThickness,0)),this.colorIsTextColor=c.deflt(t.colorIsTextColor,!1),this.strict=c.deflt(t.strict,"warn"),this.trust=c.deflt(t.trust,!1),this.maxSize=Math.max(0,c.deflt(t.maxSize,1/0)),this.maxExpand=Math.max(0,c.deflt(t.maxExpand,1e3)),this.globalGroup=c.deflt(t.globalGroup,!1)}var e=t.prototype;return e.reportNonstrict=function(t,e,r){var a=this.strict;if("function"==typeof a&&(a=a(t,e,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new o("LaTeX-incompatible input and strict mode is set to 'error': "+e+" ["+t+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]")}},e.useStrictBehavior=function(t,e,r){var a=this.strict;if("function"==typeof a)try{a=a(t,e,r)}catch(t){a="error"}return!(!a||"ignore"===a)&&(!0===a||"error"===a||("warn"===a?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]"),!1)))},e.isTrusted=function(t){t.url&&!t.protocol&&(t.protocol=c.protocolFromUrl(t.url));var e="function"==typeof this.trust?this.trust(t):this.trust;return Boolean(e)},t}(),p=function(){function t(t,e,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=e,this.cramped=r}var e=t.prototype;return e.sup=function(){return d[f[this.id]]},e.sub=function(){return d[g[this.id]]},e.fracNum=function(){return d[x[this.id]]},e.fracDen=function(){return d[v[this.id]]},e.cramp=function(){return d[b[this.id]]},e.text=function(){return d[y[this.id]]},e.isTight=function(){return this.size>=2},t}(),d=[new p(0,0,!1),new p(1,0,!0),new p(2,1,!1),new p(3,1,!0),new p(4,2,!1),new p(5,2,!0),new p(6,3,!1),new p(7,3,!0)],f=[4,5,4,5,6,7,6,7],g=[5,5,5,5,7,7,7,7],x=[2,3,4,5,6,7,6,7],v=[3,3,5,5,7,7,7,7],b=[1,1,3,3,5,5,7,7],y=[0,1,2,3,2,3,2,3],w={DISPLAY:d[0],TEXT:d[2],SCRIPT:d[4],SCRIPTSCRIPT:d[6]},k=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];var S=[];function M(t){for(var e=0;e=S[e]&&t<=S[e+1])return!0;return!1}k.forEach(function(t){return t.blocks.forEach(function(t){return S.push.apply(S,t)})});var z={leftParenInner:"M291 0 H417 V300 H291 z",rightParenInner:"M457 0 H583 V300 H457 z",doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},A=function(){function t(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){for(var t=document.createDocumentFragment(),e=0;e"},N=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,t,r,a),this.children=e||[]}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"span")},e.toMarkup=function(){return q.call(this,"span")},t}(),I=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,e,a),this.children=r||[],this.setAttribute("href",t)}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"a")},e.toMarkup=function(){return q.call(this,"a")},t}(),O=function(){function t(t,e,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=e,this.src=t,this.classes=["mord"],this.style=r}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createElement("img");for(var e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t},e.toMarkup=function(){var t=""+this.alt+"=n[0]&&t<=n[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=R[this.text])}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createTextNode(this.text),e=null;for(var r in this.italic>0&&((e=document.createElement("span")).style.marginRight=this.italic+"em"),this.classes.length>0&&((e=e||document.createElement("span")).className=T(this.classes)),this.style)this.style.hasOwnProperty(r)&&((e=e||document.createElement("span")).style[r]=this.style[r]);return e?(e.appendChild(t),e):t},e.toMarkup=function(){var t=!1,e="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(a)&&(r+=c.hyphenate(a)+":"+this.style[a]+";");r&&(t=!0,e+=' style="'+c.escape(r)+'"');var n=c.escape(this.text);return t?(e+=">",e+=n,e+=""):n},t}(),L=function(){function t(t,e){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=e||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r":""},t}(),D=function(){function t(t){this.attributes=void 0,this.attributes=t||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","line");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t},e.toMarkup=function(){var t="","\\gt",!0),$("math",Z,et,"\u2208","\\in",!0),$("math",Z,et,"\ue020","\\@not"),$("math",Z,et,"\u2282","\\subset",!0),$("math",Z,et,"\u2283","\\supset",!0),$("math",Z,et,"\u2286","\\subseteq",!0),$("math",Z,et,"\u2287","\\supseteq",!0),$("math",K,et,"\u2288","\\nsubseteq",!0),$("math",K,et,"\u2289","\\nsupseteq",!0),$("math",Z,et,"\u22a8","\\models"),$("math",Z,et,"\u2190","\\leftarrow",!0),$("math",Z,et,"\u2264","\\le"),$("math",Z,et,"\u2264","\\leq",!0),$("math",Z,et,"<","\\lt",!0),$("math",Z,et,"\u2192","\\rightarrow",!0),$("math",Z,et,"\u2192","\\to"),$("math",K,et,"\u2271","\\ngeq",!0),$("math",K,et,"\u2270","\\nleq",!0),$("math",Z,"spacing","\xa0","\\ "),$("math",Z,"spacing","\xa0","~"),$("math",Z,"spacing","\xa0","\\space"),$("math",Z,"spacing","\xa0","\\nobreakspace"),$("text",Z,"spacing","\xa0","\\ "),$("text",Z,"spacing","\xa0"," "),$("text",Z,"spacing","\xa0","~"),$("text",Z,"spacing","\xa0","\\space"),$("text",Z,"spacing","\xa0","\\nobreakspace"),$("math",Z,"spacing",null,"\\nobreak"),$("math",Z,"spacing",null,"\\allowbreak"),$("math",Z,"punct",",",","),$("math",Z,"punct",";",";"),$("math",K,J,"\u22bc","\\barwedge",!0),$("math",K,J,"\u22bb","\\veebar",!0),$("math",Z,J,"\u2299","\\odot",!0),$("math",Z,J,"\u2295","\\oplus",!0),$("math",Z,J,"\u2297","\\otimes",!0),$("math",Z,"textord","\u2202","\\partial",!0),$("math",Z,J,"\u2298","\\oslash",!0),$("math",K,J,"\u229a","\\circledcirc",!0),$("math",K,J,"\u22a1","\\boxdot",!0),$("math",Z,J,"\u25b3","\\bigtriangleup"),$("math",Z,J,"\u25bd","\\bigtriangledown"),$("math",Z,J,"\u2020","\\dagger"),$("math",Z,J,"\u22c4","\\diamond"),$("math",Z,J,"\u22c6","\\star"),$("math",Z,J,"\u25c3","\\triangleleft"),$("math",Z,J,"\u25b9","\\triangleright"),$("math",Z,"open","{","\\{"),$("text",Z,"textord","{","\\{"),$("text",Z,"textord","{","\\textbraceleft"),$("math",Z,"close","}","\\}"),$("text",Z,"textord","}","\\}"),$("text",Z,"textord","}","\\textbraceright"),$("math",Z,"open","{","\\lbrace"),$("math",Z,"close","}","\\rbrace"),$("math",Z,"open","[","\\lbrack",!0),$("text",Z,"textord","[","\\lbrack",!0),$("math",Z,"close","]","\\rbrack",!0),$("text",Z,"textord","]","\\rbrack",!0),$("math",Z,"open","(","\\lparen",!0),$("math",Z,"close",")","\\rparen",!0),$("text",Z,"textord","<","\\textless",!0),$("text",Z,"textord",">","\\textgreater",!0),$("math",Z,"open","\u230a","\\lfloor",!0),$("math",Z,"close","\u230b","\\rfloor",!0),$("math",Z,"open","\u2308","\\lceil",!0),$("math",Z,"close","\u2309","\\rceil",!0),$("math",Z,"textord","\\","\\backslash"),$("math",Z,"textord","\u2223","|"),$("math",Z,"textord","\u2223","\\vert"),$("text",Z,"textord","|","\\textbar",!0),$("math",Z,"textord","\u2225","\\|"),$("math",Z,"textord","\u2225","\\Vert"),$("text",Z,"textord","\u2225","\\textbardbl"),$("text",Z,"textord","~","\\textasciitilde"),$("text",Z,"textord","\\","\\textbackslash"),$("text",Z,"textord","^","\\textasciicircum"),$("math",Z,et,"\u2191","\\uparrow",!0),$("math",Z,et,"\u21d1","\\Uparrow",!0),$("math",Z,et,"\u2193","\\downarrow",!0),$("math",Z,et,"\u21d3","\\Downarrow",!0),$("math",Z,et,"\u2195","\\updownarrow",!0),$("math",Z,et,"\u21d5","\\Updownarrow",!0),$("math",Z,tt,"\u2210","\\coprod"),$("math",Z,tt,"\u22c1","\\bigvee"),$("math",Z,tt,"\u22c0","\\bigwedge"),$("math",Z,tt,"\u2a04","\\biguplus"),$("math",Z,tt,"\u22c2","\\bigcap"),$("math",Z,tt,"\u22c3","\\bigcup"),$("math",Z,tt,"\u222b","\\int"),$("math",Z,tt,"\u222b","\\intop"),$("math",Z,tt,"\u222c","\\iint"),$("math",Z,tt,"\u222d","\\iiint"),$("math",Z,tt,"\u220f","\\prod"),$("math",Z,tt,"\u2211","\\sum"),$("math",Z,tt,"\u2a02","\\bigotimes"),$("math",Z,tt,"\u2a01","\\bigoplus"),$("math",Z,tt,"\u2a00","\\bigodot"),$("math",Z,tt,"\u222e","\\oint"),$("math",Z,tt,"\u2a06","\\bigsqcup"),$("math",Z,tt,"\u222b","\\smallint"),$("text",Z,"inner","\u2026","\\textellipsis"),$("math",Z,"inner","\u2026","\\mathellipsis"),$("text",Z,"inner","\u2026","\\ldots",!0),$("math",Z,"inner","\u2026","\\ldots",!0),$("math",Z,"inner","\u22ef","\\@cdots",!0),$("math",Z,"inner","\u22f1","\\ddots",!0),$("math",Z,"textord","\u22ee","\\varvdots"),$("math",Z,"accent-token","\u02ca","\\acute"),$("math",Z,"accent-token","\u02cb","\\grave"),$("math",Z,"accent-token","\xa8","\\ddot"),$("math",Z,"accent-token","~","\\tilde"),$("math",Z,"accent-token","\u02c9","\\bar"),$("math",Z,"accent-token","\u02d8","\\breve"),$("math",Z,"accent-token","\u02c7","\\check"),$("math",Z,"accent-token","^","\\hat"),$("math",Z,"accent-token","\u20d7","\\vec"),$("math",Z,"accent-token","\u02d9","\\dot"),$("math",Z,"accent-token","\u02da","\\mathring"),$("math",Z,Q,"\ue131","\\@imath"),$("math",Z,Q,"\ue237","\\@jmath"),$("math",Z,"textord","\u0131","\u0131"),$("math",Z,"textord","\u0237","\u0237"),$("text",Z,"textord","\u0131","\\i",!0),$("text",Z,"textord","\u0237","\\j",!0),$("text",Z,"textord","\xdf","\\ss",!0),$("text",Z,"textord","\xe6","\\ae",!0),$("text",Z,"textord","\u0153","\\oe",!0),$("text",Z,"textord","\xf8","\\o",!0),$("text",Z,"textord","\xc6","\\AE",!0),$("text",Z,"textord","\u0152","\\OE",!0),$("text",Z,"textord","\xd8","\\O",!0),$("text",Z,"accent-token","\u02ca","\\'"),$("text",Z,"accent-token","\u02cb","\\`"),$("text",Z,"accent-token","\u02c6","\\^"),$("text",Z,"accent-token","\u02dc","\\~"),$("text",Z,"accent-token","\u02c9","\\="),$("text",Z,"accent-token","\u02d8","\\u"),$("text",Z,"accent-token","\u02d9","\\."),$("text",Z,"accent-token","\u02da","\\r"),$("text",Z,"accent-token","\u02c7","\\v"),$("text",Z,"accent-token","\xa8",'\\"'),$("text",Z,"accent-token","\u02dd","\\H"),$("text",Z,"accent-token","\u25ef","\\textcircled");var rt={"--":!0,"---":!0,"``":!0,"''":!0};$("text",Z,"textord","\u2013","--",!0),$("text",Z,"textord","\u2013","\\textendash"),$("text",Z,"textord","\u2014","---",!0),$("text",Z,"textord","\u2014","\\textemdash"),$("text",Z,"textord","\u2018","`",!0),$("text",Z,"textord","\u2018","\\textquoteleft"),$("text",Z,"textord","\u2019","'",!0),$("text",Z,"textord","\u2019","\\textquoteright"),$("text",Z,"textord","\u201c","``",!0),$("text",Z,"textord","\u201c","\\textquotedblleft"),$("text",Z,"textord","\u201d","''",!0),$("text",Z,"textord","\u201d","\\textquotedblright"),$("math",Z,"textord","\xb0","\\degree",!0),$("text",Z,"textord","\xb0","\\degree"),$("text",Z,"textord","\xb0","\\textdegree",!0),$("math",Z,"textord","\xa3","\\pounds"),$("math",Z,"textord","\xa3","\\mathsterling",!0),$("text",Z,"textord","\xa3","\\pounds"),$("text",Z,"textord","\xa3","\\textsterling",!0),$("math",K,"textord","\u2720","\\maltese"),$("text",K,"textord","\u2720","\\maltese");for(var at=0;at<'0123456789/@."'.length;at++){var nt='0123456789/@."'.charAt(at);$("math",Z,"textord",nt,nt)}for(var it=0;it<'0123456789!@*()-=+";:?/.,'.length;it++){var ot='0123456789!@*()-=+";:?/.,'.charAt(it);$("text",Z,"textord",ot,ot)}for(var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",lt=0;lt=5?0:t>=3?1:2]){var r=Y[e]={cssEmPerMu:V.quad[e]/18};for(var a in V)V.hasOwnProperty(a)&&(r[a]=V[a][e])}return Y[e]}(this.size)),this._fontMetrics},e.getColor=function(){return this.phantom?"transparent":this.color},t}();kt.BASESIZE=6;var St=kt,Mt={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},zt={ex:!0,em:!0,mu:!0},At=function(t){return"string"!=typeof t&&(t=t.unit),t in Mt||t in zt||"ex"===t},Tt=function(t,e){var r;if(t.unit in Mt)r=Mt[t.unit]/e.fontMetrics().ptPerEm/e.sizeMultiplier;else if("mu"===t.unit)r=e.fontMetrics().cssEmPerMu;else{var a;if(a=e.style.isTight()?e.havingStyle(e.style.text()):e,"ex"===t.unit)r=a.fontMetrics().xHeight;else{if("em"!==t.unit)throw new o("Invalid unit: '"+t.unit+"'");r=a.fontMetrics().quad}a!==e&&(r*=a.sizeMultiplier/e.sizeMultiplier)}return Math.min(t.number*r,e.maxSize)},Bt=function(t,e,r){return j[r][t]&&j[r][t].replace&&(t=j[r][t].replace),{value:t,metrics:G(t,e,r)}},Ct=function(t,e,r,a,n){var i,o=Bt(t,e,r),s=o.metrics;if(t=o.value,s){var l=s.italic;("text"===r||a&&"mathit"===a.font)&&(l=0),i=new E(t,s.height,s.depth,l,s.skew,s.width,n)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+t+"' in style '"+e+"' and mode '"+r+"'"),i=new E(t,0,0,0,0,0,n);if(a){i.maxFontSize=a.sizeMultiplier,a.style.isTight()&&i.classes.push("mtight");var h=a.getColor();h&&(i.style.color=h)}return i},qt=function(t,e){if(T(t.classes)!==T(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;for(var r in t.style)if(t.style.hasOwnProperty(r)&&t.style[r]!==e.style[r])return!1;for(var a in e.style)if(e.style.hasOwnProperty(a)&&t.style[a]!==e.style[a])return!1;return!0},Nt=function(t){for(var e=0,r=0,a=0,n=0;ne&&(e=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}t.height=e,t.depth=r,t.maxFontSize=a},It=function(t,e,r,a){var n=new N(t,e,r,a);return Nt(n),n},Ot=function(t,e,r,a){return new N(t,e,r,a)},Rt=function(t){var e=new A(t);return Nt(e),e},Et=function(t,e,r){var a="";switch(t){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=t}return a+"-"+("textbf"===e&&"textit"===r?"BoldItalic":"textbf"===e?"Bold":"textit"===e?"Italic":"Regular")},Lt={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Pt={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659],leftParenInner:["leftParenInner",.875,.3],rightParenInner:["rightParenInner",.875,.3]},Dt={fontMap:Lt,makeSymbol:Ct,mathsym:function(t,e,r,a){return void 0===a&&(a=[]),"boldsymbol"===r.font&&Bt(t,"Main-Bold",e).metrics?Ct(t,"Main-Bold",e,r,a.concat(["mathbf"])):"\\"===t||"main"===j[e][t].font?Ct(t,"Main-Regular",e,r,a):Ct(t,"AMS-Regular",e,r,a.concat(["amsrm"]))},makeSpan:It,makeSvgSpan:Ot,makeLineSpan:function(t,e,r){var a=It([t],[],e);return a.height=Math.max(r||e.fontMetrics().defaultRuleThickness,e.minRuleThickness),a.style.borderBottomWidth=a.height+"em",a.maxFontSize=1,a},makeAnchor:function(t,e,r,a){var n=new I(t,e,r,a);return Nt(n),n},makeFragment:Rt,wrapFragment:function(t,e){return t instanceof A?It([],[t],e):t},makeVList:function(t,e){for(var r=function(t){if("individualShift"===t.positionType){for(var e=t.children,r=[e[0]],a=-e[0].shift-e[0].elem.depth,n=a,i=1;i0&&(i.push(se(o,e)),o=[]),i.push(n[s]));o.length>0&&i.push(se(o,e)),r&&((a=se(ee(r,e,!0))).classes=["tag"],i.push(a));var h=Zt(["katex-html"],i);if(h.setAttribute("aria-hidden","true"),a){var m=a.children[0];m.style.height=h.height+h.depth+"em",m.style.verticalAlign=-h.depth+"em"}return h}function he(t){return new A(t)}var me=function(){function t(t,e){this.type=void 0,this.attributes=void 0,this.children=void 0,this.type=t,this.attributes={},this.children=e||[]}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.getAttribute=function(t){return this.attributes[t]},e.toNode=function(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r"},e.toText=function(){return this.children.map(function(t){return t.toText()}).join("")},t}(),ce=function(){function t(t){this.text=void 0,this.text=t}var e=t.prototype;return e.toNode=function(){return document.createTextNode(this.text)},e.toMarkup=function(){return c.escape(this.toText())},e.toText=function(){return this.text},t}(),ue={MathNode:me,TextNode:ce,SpaceNode:function(){function t(t){this.width=void 0,this.character=void 0,this.width=t,this.character=t>=.05555&&t<=.05556?"\u200a":t>=.1666&&t<=.1667?"\u2009":t>=.2222&&t<=.2223?"\u2005":t>=.2777&&t<=.2778?"\u2005\u200a":t>=-.05556&&t<=-.05555?"\u200a\u2063":t>=-.1667&&t<=-.1666?"\u2009\u2063":t>=-.2223&&t<=-.2222?"\u205f\u2063":t>=-.2778&&t<=-.2777?"\u2005\u2063":null}var e=t.prototype;return e.toNode=function(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",this.width+"em"),t},e.toMarkup=function(){return this.character?""+this.character+"":''},e.toText=function(){return this.character?this.character:" "},t}(),newDocumentFragment:he},pe=function(t,e,r){return!j[e][t]||!j[e][t].replace||55349===t.charCodeAt(0)||rt.hasOwnProperty(t)&&r&&(r.fontFamily&&"tt"===r.fontFamily.substr(4,2)||r.font&&"tt"===r.font.substr(4,2))||(t=j[e][t].replace),new ue.TextNode(t)},de=function(t){return 1===t.length?t[0]:new ue.MathNode("mrow",t)},fe=function(t,e){if("texttt"===e.fontFamily)return"monospace";if("textsf"===e.fontFamily)return"textit"===e.fontShape&&"textbf"===e.fontWeight?"sans-serif-bold-italic":"textit"===e.fontShape?"sans-serif-italic":"textbf"===e.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===e.fontShape&&"textbf"===e.fontWeight)return"bold-italic";if("textit"===e.fontShape)return"italic";if("textbf"===e.fontWeight)return"bold";var r=e.font;if(!r||"mathnormal"===r)return null;var a=t.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===t.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var n=t.text;return c.contains(["\\imath","\\jmath"],n)?null:(j[a][n]&&j[a][n].replace&&(n=j[a][n].replace),G(n,Dt.fontMap[r].fontName,a)?Dt.fontMap[r].variant:null)},ge=function(t,e,r){if(1===t.length){var a=ve(t[0],e);return r&&a instanceof me&&"mo"===a.type&&(a.setAttribute("lspace","0em"),a.setAttribute("rspace","0em")),[a]}for(var n,i=[],o=0;o0&&(p.text=p.text.slice(0,1)+"\u0338"+p.text.slice(1),i.pop())}}}i.push(s),n=s}return i},xe=function(t,e,r){return de(ge(t,e,r))},ve=function(t,e){if(!t)return new ue.MathNode("mrow");if(Xt[t.type])return Xt[t.type](t,e);throw new o("Got group of unknown type: '"+t.type+"'")};function be(t,e,r,a,n){var i,o=ge(t,r);i=1===o.length&&o[0]instanceof me&&c.contains(["mrow","mtable"],o[0].type)?o[0]:new ue.MathNode("mrow",o);var s=new ue.MathNode("annotation",[new ue.TextNode(e)]);s.setAttribute("encoding","application/x-tex");var l=new ue.MathNode("semantics",[i,s]),h=new ue.MathNode("math",[l]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&h.setAttribute("display","block");var m=n?"katex":"katex-mathml";return Dt.makeSpan([m],[h])}var ye=function(t){return new St({style:t.displayMode?w.DISPLAY:w.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},we=function(t,e){if(e.displayMode){var r=["katex-display"];e.leqno&&r.push("leqno"),e.fleqn&&r.push("fleqn"),t=Dt.makeSpan(r,[t])}return t},ke=function(t,e,r){var a,n=ye(r);if("mathml"===r.output)return be(t,e,n,r.displayMode,!0);if("html"===r.output){var i=le(t,n);a=Dt.makeSpan(["katex"],[i])}else{var o=be(t,e,n,r.displayMode,!1),s=le(t,n);a=Dt.makeSpan(["katex"],[o,s])}return we(a,r)},Se={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb"},Me={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},ze=function(t){return"ordgroup"===t.type?t.body.length:1},Ae=function(t,e,r,a){var n,i=t.height+t.depth+2*r;if(/fbox|color/.test(e)){if(n=Dt.makeSpan(["stretchy",e],[],a),"fbox"===e){var o=a.color&&a.getColor();o&&(n.style.borderColor=o)}}else{var s=[];/^[bx]cancel$/.test(e)&&s.push(new D({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(e)&&s.push(new D({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var l=new L(s,{width:"100%",height:i+"em"});n=Dt.makeSvgSpan([],[l],a)}return n.height=i,n.style.height=i+"em",n},Te=function(t){var e=new ue.MathNode("mo",[new ue.TextNode(Se[t.substr(1)])]);return e.setAttribute("stretchy","true"),e},Be=function(t,e){var r=function(){var r=4e5,a=t.label.substr(1);if(c.contains(["widehat","widecheck","widetilde","utilde"],a)){var n,i,o,s=ze(t.base);if(s>5)"widehat"===a||"widecheck"===a?(n=420,r=2364,o=.42,i=a+"4"):(n=312,r=2340,o=.34,i="tilde4");else{var l=[1,1,2,2,3,3][s];"widehat"===a||"widecheck"===a?(r=[0,1062,2364,2364,2364][l],n=[0,239,300,360,420][l],o=[0,.24,.3,.3,.36,.42][l],i=a+l):(r=[0,600,1033,2339,2340][l],n=[0,260,286,306,312][l],o=[0,.26,.286,.3,.306,.34][l],i="tilde"+l)}var h=new P(i),m=new L([h],{width:"100%",height:o+"em",viewBox:"0 0 "+r+" "+n,preserveAspectRatio:"none"});return{span:Dt.makeSvgSpan([],[m],e),minWidth:0,height:o}}var u,p,d=[],f=Me[a],g=f[0],x=f[1],v=f[2],b=v/1e3,y=g.length;if(1===y)u=["hide-tail"],p=[f[3]];else if(2===y)u=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else{if(3!==y)throw new Error("Correct katexImagesData or update code here to support\n "+y+" children.");u=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"]}for(var w=0;w0&&(a.style.minWidth=n+"em"),a};function Ce(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function qe(t){var e=Ne(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function Ne(t){return t&&("atom"===t.type||X.hasOwnProperty(t.type))?t:null}var Ie=function(t,e){var r,a,n;t&&"supsub"===t.type?(r=(a=Ce(t.base,"accent")).base,t.base=r,n=function(t){if(t instanceof N)return t;throw new Error("Expected span but got "+String(t)+".")}(oe(t,e)),t.base=a):r=(a=Ce(t,"accent")).base;var i=oe(r,e.havingCrampedStyle()),o=0;if(a.isShifty&&c.isCharacterBox(r)){var s=c.getBaseElem(r);o=H(oe(s,e.havingCrampedStyle())).skew}var l,h=Math.min(i.height,e.fontMetrics().xHeight);if(a.isStretchy)l=Be(a,e),l=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:l,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+2*o+"em)",marginLeft:2*o+"em"}:void 0}]},e);else{var m,u;"\\vec"===a.label?(m=Dt.staticSvg("vec",e),u=Dt.svgData.vec[1]):((m=H(m=Dt.makeOrd({mode:a.mode,text:a.label},e,"textord"))).italic=0,u=m.width),l=Dt.makeSpan(["accent-body"],[m]);var p="\\textcircled"===a.label;p&&(l.classes.push("accent-full"),h=i.height);var d=o;p||(d-=u/2),l.style.left=d+"em","\\textcircled"===a.label&&(l.style.top=".2em"),l=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-h},{type:"elem",elem:l}]},e)}var f=Dt.makeSpan(["mord","accent"],[l],e);return n?(n.children[0]=f,n.height=Math.max(f.height,n.height),n.classes[0]="mord",n):f},Oe=function(t,e){var r=t.isStretchy?Te(t.label):new ue.MathNode("mo",[pe(t.label,t.mode)]),a=new ue.MathNode("mover",[ve(t.base,e),r]);return a.setAttribute("accent","true"),a},Re=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(function(t){return"\\"+t}).join("|"));_t({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(t,e){var r=e[0],a=!Re.test(t.funcName),n=!a||"\\widehat"===t.funcName||"\\widetilde"===t.funcName||"\\widecheck"===t.funcName;return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:a,isShifty:n,base:r}},htmlBuilder:Ie,mathmlBuilder:Oe}),_t({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!1},handler:function(t,e){var r=e[0];return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Ie,mathmlBuilder:Oe}),_t({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"accentUnder",mode:r.mode,label:a,base:n}},htmlBuilder:function(t,e){var r=oe(t.base,e),a=Be(t,e),n="\\utilde"===t.label?.12:0,i=Dt.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]},e);return Dt.makeSpan(["mord","accentunder"],[i],e)},mathmlBuilder:function(t,e){var r=Te(t.label),a=new ue.MathNode("munder",[ve(t.base,e),r]);return a.setAttribute("accentunder","true"),a}});var Ee=function(t){var e=new ue.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};_t({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium"],props:{numArgs:1,numOptionalArgs:1},handler:function(t,e,r){var a=t.parser,n=t.funcName;return{type:"xArrow",mode:a.mode,label:n,body:e[0],below:r[0]}},htmlBuilder:function(t,e){var r,a=e.style,n=e.havingStyle(a.sup()),i=Dt.wrapFragment(oe(t.body,n,e),e);i.classes.push("x-arrow-pad"),t.below&&(n=e.havingStyle(a.sub()),(r=Dt.wrapFragment(oe(t.below,n,e),e)).classes.push("x-arrow-pad"));var o,s=Be(t,e),l=-e.fontMetrics().axisHeight+.5*s.height,h=-e.fontMetrics().axisHeight-.5*s.height-.111;if((i.depth>.25||"\\xleftequilibrium"===t.label)&&(h-=i.depth),r){var m=-e.fontMetrics().axisHeight+r.height+.5*s.height+.111;o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:s,shift:l},{type:"elem",elem:r,shift:m}]},e)}else o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:s,shift:l}]},e);return o.children[0].children[0].children[1].classes.push("svg-align"),Dt.makeSpan(["mrel","x-arrow"],[o],e)},mathmlBuilder:function(t,e){var r,a=Te(t.label);if(t.body){var n=Ee(ve(t.body,e));if(t.below){var i=Ee(ve(t.below,e));r=new ue.MathNode("munderover",[a,i,n])}else r=new ue.MathNode("mover",[a,n])}else if(t.below){var o=Ee(ve(t.below,e));r=new ue.MathNode("munder",[a,o])}else r=Ee(),r=new ue.MathNode("mover",[a,r]);return r}}),_t({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){for(var r=t.parser,a=Ce(e[0],"ordgroup").body,n="",i=0;i","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Je=[0,1.2,1.8,2.4,3],Qe=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],tr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"stack"}],er=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],rr=function(t){if("small"===t.type)return"Main-Regular";if("large"===t.type)return"Size"+t.size+"-Regular";if("stack"===t.type)return"Size4-Regular";throw new Error("Add support for delim type '"+t.type+"' here.")},ar=function(t,e,r,a){for(var n=Math.min(2,3-a.style.size);ne)return r[n]}return r[r.length-1]},nr=function(t,e,r,a,n,i){var o;"<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),o=c.contains(Ke,t)?Qe:c.contains($e,t)?er:tr;var s=ar(t,e,o,a);return"small"===s.type?function(t,e,r,a,n,i){var o=Dt.makeSymbol(t,"Main-Regular",n,a),s=Ue(o,e,a,i);return r&&Ge(s,a,e),s}(t,s.style,r,a,n,i):"large"===s.type?Ye(t,s.size,r,a,n,i):_e(t,e,r,a,n,i)},ir=function(t,e){var r,a,n=e.havingBaseSizing(),i=ar("\\surd",t*n.sizeMultiplier,er,n),o=n.sizeMultiplier,s=Math.max(0,e.minRuleThickness-e.fontMetrics().sqrtRuleThickness),l=0,h=0,m=0;return"small"===i.type?(t<1?o=1:t<1.4&&(o=.7),h=(1+s)/o,(r=je("sqrtMain",l=(1+s+.08)/o,m=1e3+1e3*s+80,s,e)).style.minWidth="0.853em",a=.833/o):"large"===i.type?(m=1080*Je[i.size],h=(Je[i.size]+s)/o,l=(Je[i.size]+s+.08)/o,(r=je("sqrtSize"+i.size,l,m,s,e)).style.minWidth="1.02em",a=1/o):(l=t+s+.08,h=t+s,m=Math.floor(1e3*t+s)+80,(r=je("sqrtTall",l,m,s,e)).style.minWidth="0.742em",a=1.056),r.height=h,r.style.height=l+"em",{span:r,advanceWidth:a,ruleWidth:(e.fontMetrics().sqrtRuleThickness+s)*o}},or=function(t,e,r,a,n){if("<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),c.contains($e,t)||c.contains(Ke,t))return Ye(t,e,!1,r,a,n);if(c.contains(Ze,t))return _e(t,Je[e],!1,r,a,n);throw new o("Illegal delimiter: '"+t+"'")},sr=nr,lr=function(t,e,r,a,n,i){var o=a.fontMetrics().axisHeight*a.sizeMultiplier,s=5/a.fontMetrics().ptPerEm,l=Math.max(e-o,r+o),h=Math.max(l/500*901,2*l-s);return nr(t,h,!0,a,n,i)},hr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},mr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function cr(t,e){var r=Ne(t);if(r&&c.contains(mr,r.text))return r;throw new o(r?"Invalid delimiter '"+r.text+"' after '"+e.funcName+"'":"Invalid delimiter type '"+t.type+"'",t)}function ur(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}_t({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1},handler:function(t,e){var r=cr(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:hr[t.funcName].size,mclass:hr[t.funcName].mclass,delim:r.text}},htmlBuilder:function(t,e){return"."===t.delim?Dt.makeSpan([t.mclass]):or(t.delim,t.size,e,t.mode,[t.mclass])},mathmlBuilder:function(t){var e=[];"."!==t.delim&&e.push(pe(t.delim,t.mode));var r=new ue.MathNode("mo",e);return"mopen"===t.mclass||"mclose"===t.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r}}),_t({type:"leftright-right",names:["\\right"],props:{numArgs:1},handler:function(t,e){var r=t.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new o("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:cr(e[0],t).text,color:r}}}),_t({type:"leftright",names:["\\left"],props:{numArgs:1},handler:function(t,e){var r=cr(e[0],t),a=t.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=Ce(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:function(t,e){ur(t);for(var r,a,n=ee(t.body,e,!0,["mopen","mclose"]),i=0,o=0,s=!1,l=0;l-1?"mpadded":"menclose",[ve(t.body,e)]);switch(t.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*r+"pt"),a.setAttribute("height","+"+2*r+"pt"),a.setAttribute("lspace",r+"pt"),a.setAttribute("voffset",r+"pt"),"\\fcolorbox"===t.label){var n=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(t.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return t.backgroundColor&&a.setAttribute("mathbackground",t.backgroundColor),a};_t({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,greediness:3,argTypes:["color","text"]},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=Ce(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:o}},htmlBuilder:pr,mathmlBuilder:dr}),_t({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,greediness:3,argTypes:["color","color","text"]},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=Ce(e[0],"color-token").color,o=Ce(e[1],"color-token").color,s=e[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:pr,mathmlBuilder:dr}),_t({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(t,e){return{type:"enclose",mode:t.parser.mode,label:"\\fbox",body:e[0]}}}),_t({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout"],props:{numArgs:1},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=e[0];return{type:"enclose",mode:a.mode,label:n,body:i}},htmlBuilder:pr,mathmlBuilder:dr});var fr={};function gr(t){for(var e=t.type,r=t.names,a=t.props,n=t.handler,i=t.htmlBuilder,o=t.mathmlBuilder,s={type:e,numArgs:a.numArgs||0,greediness:1,allowedInText:!1,numOptionalArgs:0,handler:n},l=0;l0&&(b+=.25),h.push({pos:b,isDashed:t[e]})}for(y(i[0]),r=0;r0&&(M<(B+=v)&&(M=B),B=0),t.addJot&&(M+=f),z.height=S,z.depth=M,b+=S,z.pos=b,b+=M+B,l[r]=z,y(i[r+1])}var C,q,N=b/2+e.fontMetrics().axisHeight,I=t.cols||[],O=[];for(a=0,q=0;a=s)){var D=void 0;(a>0||t.hskipBeforeAndAfter)&&0!==(D=c.deflt(R.pregap,p))&&((C=Dt.makeSpan(["arraycolsep"],[])).style.width=D+"em",O.push(C));var H=[];for(r=0;r0){for(var G=Dt.makeLineSpan("hline",e,m),Y=Dt.makeLineSpan("hdashline",e,m),W=[{type:"elem",elem:l,shift:0}];h.length>0;){var X=h.pop(),_=X.pos-N;X.isDashed?W.push({type:"elem",elem:Y,shift:_}):W.push({type:"elem",elem:G,shift:_})}l=Dt.makeVList({positionType:"individualShift",children:W},e)}return Dt.makeSpan(["mord"],[l],e)},wr={c:"center ",l:"left ",r:"right "},kr=function(t,e){var r=new ue.MathNode("mtable",t.body.map(function(t){return new ue.MathNode("mtr",t.map(function(t){return new ue.MathNode("mtd",[ve(t,e)])}))})),a=.5===t.arraystretch?.1:.16+t.arraystretch-1+(t.addJot?.09:0);r.setAttribute("rowspacing",a+"em");var n="",i="";if(t.cols&&t.cols.length>0){var o=t.cols,s="",l=!1,h=0,m=o.length;"separator"===o[0].type&&(n+="top ",h=1),"separator"===o[o.length-1].type&&(n+="bottom ",m-=1);for(var c=h;c0?"left ":"",n+=g[g.length-1].length>0?"right ":"";for(var x=1;x0&&m&&(p=1),a[c]={type:"align",align:u,pregap:p,postgap:0}}return n.colSeparationType=m?"align":"alignat",n};gr({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(t,e){var r={cols:(Ne(e[0])?[e[0]]:Ce(e[0],"ordgroup").body).map(function(t){var e=qe(t).text;if(-1!=="lcr".indexOf(e))return{type:"align",align:e};if("|"===e)return{type:"separator",separator:"|"};if(":"===e)return{type:"separator",separator:":"};throw new o("Unknown column alignment: "+e,t)}),hskipBeforeAndAfter:!0};return vr(t.parser,r,br(t.envName))},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix"],props:{numArgs:0},handler:function(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName],r=vr(t.parser,{hskipBeforeAndAfter:!1},br(t.envName));return e?{type:"leftright",mode:t.mode,body:[r],left:e[0],right:e[1],rightColor:void 0}:r},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(t){var e=vr(t.parser,{arraystretch:.5},"script");return e.colSeparationType="small",e},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["subarray"],props:{numArgs:1},handler:function(t,e){var r=(Ne(e[0])?[e[0]]:Ce(e[0],"ordgroup").body).map(function(t){var e=qe(t).text;if(-1!=="lc".indexOf(e))return{type:"align",align:e};throw new o("Unknown column alignment: "+e,t)});if(r.length>1)throw new o("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=vr(t.parser,a,"script")).body.length>0&&a.body[0].length>1)throw new o("{subarray} can contain only one column");return a},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler:function(t){var e=vr(t.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},br(t.envName));return{type:"leftright",mode:t.mode,body:[e],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["aligned"],props:{numArgs:0},handler:Sr,htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["gathered"],props:{numArgs:0},handler:function(t){return vr(t.parser,{cols:[{type:"align",align:"c"}],addJot:!0},"display")},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["alignedat"],props:{numArgs:1},handler:Sr,htmlBuilder:yr,mathmlBuilder:kr}),_t({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler:function(t,e){throw new o(t.funcName+" valid only within array environment")}});var Mr=fr;_t({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];if("ordgroup"!==n.type)throw new o("Invalid environment name",n);for(var i="",s=0;s=w.SCRIPT.id?r.text():w.DISPLAY:"text"===t&&r.size===w.DISPLAY.size?r=w.TEXT:"script"===t?r=w.SCRIPT:"scriptscript"===t&&(r=w.SCRIPTSCRIPT),r},Or=function(t,e){var r,a=Ir(t.size,e.style),n=a.fracNum(),i=a.fracDen();r=e.havingStyle(n);var o=oe(t.numer,r,e);if(t.continued){var s=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;o.height=o.height0?3*c:7*c,d=e.fontMetrics().denom1):(m>0?(u=e.fontMetrics().num2,p=c):(u=e.fontMetrics().num3,p=3*c),d=e.fontMetrics().denom2),h){var y=e.fontMetrics().axisHeight;u-o.depth-(y+.5*m)0&&(e="."===(e=t)?null:e),e};_t({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,greediness:6,argTypes:["math","math","size","text","math","math"]},handler:function(t,e){var r,a=t.parser,n=e[4],i=e[5],o="atom"===e[0].type&&"open"===e[0].family?Lr(e[0].text):null,s="atom"===e[1].type&&"close"===e[1].family?Lr(e[1].text):null,l=Ce(e[2],"size"),h=null;r=!!l.isBlank||(h=l.value).number>0;var m="auto",c=e[3];if("ordgroup"===c.type){if(c.body.length>0){var u=Ce(c.body[0],"textord");m=Er[Number(u.text)]}}else c=Ce(c,"textord"),m=Er[Number(c.text)];return{type:"genfrac",mode:a.mode,numer:n,denom:i,continued:!1,hasBarLine:r,barSize:h,leftDelim:o,rightDelim:s,size:m}},htmlBuilder:Or,mathmlBuilder:Rr}),_t({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(t,e){var r=t.parser,a=(t.funcName,t.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ce(e[0],"size").value,token:a}}}),_t({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(t,e){var r=t.parser,a=(t.funcName,e[0]),n=function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t}(Ce(e[1],"infix").size),i=e[2],o=n.number>0;return{type:"genfrac",mode:r.mode,numer:a,denom:i,continued:!1,hasBarLine:o,barSize:n,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Or,mathmlBuilder:Rr});var Pr=function(t,e){var r,a,n=e.style;"supsub"===t.type?(r=t.sup?oe(t.sup,e.havingStyle(n.sup()),e):oe(t.sub,e.havingStyle(n.sub()),e),a=Ce(t.base,"horizBrace")):a=Ce(t,"horizBrace");var i,o=oe(a.base,e.havingBaseStyle(w.DISPLAY)),s=Be(a,e);if(a.isOver?(i=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},e)).children[0].children[0].children[1].classes.push("svg-align"):(i=Dt.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},e)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Dt.makeSpan(["mord",a.isOver?"mover":"munder"],[i],e);i=a.isOver?Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},e):Dt.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},e)}return Dt.makeSpan(["mord",a.isOver?"mover":"munder"],[i],e)};_t({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName;return{type:"horizBrace",mode:r.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Pr,mathmlBuilder:function(t,e){var r=Te(t.label);return new ue.MathNode(t.isOver?"mover":"munder",[ve(t.base,e),r])}}),_t({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=e[1],n=Ce(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:$t(a)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(t,e){var r=ee(t.body,e,!1);return Dt.makeAnchor(t.href,[],r,e)},mathmlBuilder:function(t,e){var r=xe(t.body,e);return r instanceof me||(r=new me("mrow",[r])),r.setAttribute("href",t.href),r}}),_t({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=Ce(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:a}))return r.formatUnsupportedCmd("\\url");for(var n=[],i=0;i0&&(a=Tt(t.totalheight,e)-r,a=Number(a.toFixed(2)));var n=0;t.width.number>0&&(n=Tt(t.width,e));var i={height:r+a+"em"};n>0&&(i.width=n+"em"),a>0&&(i.verticalAlign=-a+"em");var o=new O(t.src,t.alt,i);return o.height=r,o.depth=a,o},mathmlBuilder:function(t,e){var r=new ue.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var a=Tt(t.height,e),n=0;if(t.totalheight.number>0&&(n=(n=Tt(t.totalheight,e)-a).toFixed(2),r.setAttribute("valign","-"+n+"em")),r.setAttribute("height",a+n+"em"),t.width.number>0){var i=Tt(t.width,e);r.setAttribute("width",i+"em")}return r.setAttribute("src",t.src),r}}),_t({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=Ce(e[0],"size");if(r.settings.strict){var i="m"===a[1],o="mu"===n.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, not "+n.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder:function(t,e){return Dt.makeGlue(t.dimension,e)},mathmlBuilder:function(t,e){var r=Tt(t.dimension,e);return new ue.SpaceNode(r)}}),_t({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"lap",mode:r.mode,alignment:a.slice(5),body:n}},htmlBuilder:function(t,e){var r;"clap"===t.alignment?(r=Dt.makeSpan([],[oe(t.body,e)]),r=Dt.makeSpan(["inner"],[r],e)):r=Dt.makeSpan(["inner"],[oe(t.body,e)]);var a=Dt.makeSpan(["fix"],[]),n=Dt.makeSpan([t.alignment],[r,a],e),i=Dt.makeSpan(["strut"]);return i.style.height=n.height+n.depth+"em",i.style.verticalAlign=-n.depth+"em",n.children.unshift(i),n=Dt.makeSpan(["thinbox"],[n],e),Dt.makeSpan(["mord","vbox"],[n],e)},mathmlBuilder:function(t,e){var r=new ue.MathNode("mpadded",[ve(t.body,e)]);if("rlap"!==t.alignment){var a="llap"===t.alignment?"-1":"-0.5";r.setAttribute("lspace",a+"width")}return r.setAttribute("width","0px"),r}}),_t({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(t,e){var r=t.funcName,a=t.parser,n=a.mode;a.switchMode("math");var i="\\("===r?"\\)":"$",o=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:o}}}),_t({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(t,e){throw new o("Mismatched "+t.funcName)}});var Hr=function(t,e){switch(e.style.size){case w.DISPLAY.size:return t.display;case w.TEXT.size:return t.text;case w.SCRIPT.size:return t.script;case w.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};_t({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4},handler:function(t,e){return{type:"mathchoice",mode:t.parser.mode,display:$t(e[0]),text:$t(e[1]),script:$t(e[2]),scriptscript:$t(e[3])}},htmlBuilder:function(t,e){var r=Hr(t,e),a=ee(r,e,!1);return Dt.makeFragment(a)},mathmlBuilder:function(t,e){var r=Hr(t,e);return xe(r,e)}});var Fr=function(t,e,r,a,n,i,o){var s,l,h;if(t=Dt.makeSpan([],[t]),e){var m=oe(e,a.havingStyle(n.sup()),a);l={elem:m,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-m.depth)}}if(r){var c=oe(r,a.havingStyle(n.sub()),a);s={elem:c,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-c.height)}}if(l&&s){var u=a.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+t.depth+o;h=Dt.makeVList({positionType:"bottom",positionData:u,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:-i+"em"},{type:"kern",size:s.kern},{type:"elem",elem:t},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:i+"em"},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(s){var p=t.height-o;h=Dt.makeVList({positionType:"top",positionData:p,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:-i+"em"},{type:"kern",size:s.kern},{type:"elem",elem:t}]},a)}else{if(!l)return t;var d=t.depth+o;h=Dt.makeVList({positionType:"bottom",positionData:d,children:[{type:"elem",elem:t},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:i+"em"},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}return Dt.makeSpan(["mop","op-limits"],[h],a)},Vr=["\\smallint"],Ur=function(t,e){var r,a,n,i=!1;"supsub"===t.type?(r=t.sup,a=t.sub,n=Ce(t.base,"op"),i=!0):n=Ce(t,"op");var o,s=e.style,l=!1;if(s.size===w.DISPLAY.size&&n.symbol&&!c.contains(Vr,n.name)&&(l=!0),n.symbol){var h=l?"Size2-Regular":"Size1-Regular",m="";if("\\oiint"!==n.name&&"\\oiiint"!==n.name||(m=n.name.substr(1),n.name="oiint"===m?"\\iint":"\\iiint"),o=Dt.makeSymbol(n.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),m.length>0){var u=o.italic,p=Dt.staticSvg(m+"Size"+(l?"2":"1"),e);o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),n.name="\\"+m,o.classes.unshift("mop"),o.italic=u}}else if(n.body){var d=ee(n.body,e,!0);1===d.length&&d[0]instanceof E?(o=d[0]).classes[0]="mop":o=Dt.makeSpan(["mop"],Dt.tryCombineChars(d),e)}else{for(var f=[],g=1;g0){for(var s=n.body.map(function(t){var e=t.text;return"string"==typeof e?{type:"textord",mode:t.mode,text:e}:t}),l=ee(s,e.withFont("mathrm"),!0),h=0;h=0?s.setAttribute("height","+"+n+"em"):(s.setAttribute("height",n+"em"),s.setAttribute("depth","+"+-n+"em")),s.setAttribute("voffset",n+"em"),s}});var jr=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];_t({type:"sizing",names:jr,props:{numArgs:0,allowedInText:!0},handler:function(t,e){var r=t.breakOnTokenText,a=t.funcName,n=t.parser,i=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:jr.indexOf(a)+1,body:i}},htmlBuilder:function(t,e){var r=e.havingSize(t.size);return _r(t.body,r,e)},mathmlBuilder:function(t,e){var r=e.havingSize(t.size),a=ge(t.body,r),n=new ue.MathNode("mstyle",a);return n.setAttribute("mathsize",r.sizeMultiplier+"em"),n}}),_t({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(t,e,r){var a=t.parser,n=!1,i=!1,o=r[0]&&Ce(r[0],"ordgroup");if(o)for(var s="",l=0;lr.height+r.depth+i&&(i=(i+c-r.height-r.depth)/2);var u=l.height-r.height-i-h;r.style.paddingLeft=m+"em";var p=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:l},{type:"kern",size:h}]},e);if(t.index){var d=e.havingStyle(w.SCRIPTSCRIPT),f=oe(t.index,d,e),g=.6*(p.height-p.depth),x=Dt.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},e),v=Dt.makeSpan(["root"],[x]);return Dt.makeSpan(["mord","sqrt"],[v,p],e)}return Dt.makeSpan(["mord","sqrt"],[p],e)},mathmlBuilder:function(t,e){var r=t.body,a=t.index;return a?new ue.MathNode("mroot",[ve(r,e),ve(a,e)]):new ue.MathNode("msqrt",[ve(r,e)])}});var $r={display:w.DISPLAY,text:w.TEXT,script:w.SCRIPT,scriptscript:w.SCRIPTSCRIPT};_t({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0},handler:function(t,e){var r=t.breakOnTokenText,a=t.funcName,n=t.parser,i=n.parseExpression(!0,r),o=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:o,body:i}},htmlBuilder:function(t,e){var r=$r[t.style],a=e.havingStyle(r).withFont("");return _r(t.body,a,e)},mathmlBuilder:function(t,e){var r=$r[t.style],a=e.havingStyle(r),n=ge(t.body,a),i=new ue.MathNode("mstyle",n),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[t.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});jt({type:"supsub",htmlBuilder:function(t,e){var r=function(t,e){var r=t.base;return r?"op"===r.type?r.limits&&(e.style.size===w.DISPLAY.size||r.alwaysHandleSupSub)?Ur:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(e.style.size===w.DISPLAY.size||r.limits)?Xr:null:"accent"===r.type?c.isCharacterBox(r.base)?Ie:null:"horizBrace"===r.type&&!t.sub===r.isOver?Pr:null:null}(t,e);if(r)return r(t,e);var a,n,i,o=t.base,s=t.sup,l=t.sub,h=oe(o,e),m=e.fontMetrics(),u=0,p=0,d=o&&c.isCharacterBox(o);if(s){var f=e.havingStyle(e.style.sup());a=oe(s,f,e),d||(u=h.height-f.fontMetrics().supDrop*f.sizeMultiplier/e.sizeMultiplier)}if(l){var g=e.havingStyle(e.style.sub());n=oe(l,g,e),d||(p=h.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}i=e.style===w.DISPLAY?m.sup1:e.style.cramped?m.sup3:m.sup2;var x,v=e.sizeMultiplier,b=.5/m.ptPerEm/v+"em",y=null;if(n){var k=t.base&&"op"===t.base.type&&t.base.name&&("\\oiint"===t.base.name||"\\oiiint"===t.base.name);(h instanceof E||k)&&(y=-h.italic+"em")}if(a&&n){u=Math.max(u,i,a.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var S=4*m.defaultRuleThickness;if(u-a.depth-(n.height-p)0&&(u+=M,p-=M)}var z=[{type:"elem",elem:n,shift:p,marginRight:b,marginLeft:y},{type:"elem",elem:a,shift:-u,marginRight:b}];x=Dt.makeVList({positionType:"individualShift",children:z},e)}else if(n){p=Math.max(p,m.sub1,n.height-.8*m.xHeight);var A=[{type:"elem",elem:n,marginLeft:y,marginRight:b}];x=Dt.makeVList({positionType:"shift",positionData:p,children:A},e)}else{if(!a)throw new Error("supsub must have either sup or sub.");u=Math.max(u,i,a.depth+.25*m.xHeight),x=Dt.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:a,marginRight:b}]},e)}var T=ne(h,"right")||"mord";return Dt.makeSpan([T],[h,Dt.makeSpan(["msupsub"],[x])],e)},mathmlBuilder:function(t,e){var r,a=!1;t.base&&"horizBrace"===t.base.type&&!!t.sup===t.base.isOver&&(a=!0,r=t.base.isOver),!t.base||"op"!==t.base.type&&"operatorname"!==t.base.type||(t.base.parentIsSupSub=!0);var n,i=[ve(t.base,e)];if(t.sub&&i.push(ve(t.sub,e)),t.sup&&i.push(ve(t.sup,e)),a)n=r?"mover":"munder";else if(t.sub)if(t.sup){var o=t.base;n=o&&"op"===o.type&&o.limits&&e.style===w.DISPLAY?"munderover":o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(e.style===w.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=t.base;n=s&&"op"===s.type&&s.limits&&(e.style===w.DISPLAY||s.alwaysHandleSupSub)?"munder":s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||e.style===w.DISPLAY)?"munder":"msub"}else{var l=t.base;n=l&&"op"===l.type&&l.limits&&(e.style===w.DISPLAY||l.alwaysHandleSupSub)?"mover":l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||e.style===w.DISPLAY)?"mover":"msup"}return new ue.MathNode(n,i)}}),jt({type:"atom",htmlBuilder:function(t,e){return Dt.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder:function(t,e){var r=new ue.MathNode("mo",[pe(t.text,t.mode)]);if("bin"===t.family){var a=fe(t,e);"bold-italic"===a&&r.setAttribute("mathvariant",a)}else"punct"===t.family?r.setAttribute("separator","true"):"open"!==t.family&&"close"!==t.family||r.setAttribute("stretchy","false");return r}});var Zr={mi:"italic",mn:"normal",mtext:"normal"};jt({type:"mathord",htmlBuilder:function(t,e){return Dt.makeOrd(t,e,"mathord")},mathmlBuilder:function(t,e){var r=new ue.MathNode("mi",[pe(t.text,t.mode,e)]),a=fe(t,e)||"italic";return a!==Zr[r.type]&&r.setAttribute("mathvariant",a),r}}),jt({type:"textord",htmlBuilder:function(t,e){return Dt.makeOrd(t,e,"textord")},mathmlBuilder:function(t,e){var r,a=pe(t.text,t.mode,e),n=fe(t,e)||"normal";return r="text"===t.mode?new ue.MathNode("mtext",[a]):/[0-9]/.test(t.text)?new ue.MathNode("mn",[a]):"\\prime"===t.text?new ue.MathNode("mo",[a]):new ue.MathNode("mi",[a]),n!==Zr[r.type]&&r.setAttribute("mathvariant",n),r}});var Kr={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Jr={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};jt({type:"spacing",htmlBuilder:function(t,e){if(Jr.hasOwnProperty(t.text)){var r=Jr[t.text].className||"";if("text"===t.mode){var a=Dt.makeOrd(t,e,"textord");return a.classes.push(r),a}return Dt.makeSpan(["mspace",r],[Dt.mathsym(t.text,t.mode,e)],e)}if(Kr.hasOwnProperty(t.text))return Dt.makeSpan(["mspace",Kr[t.text]],[],e);throw new o('Unknown type of space "'+t.text+'"')},mathmlBuilder:function(t,e){if(!Jr.hasOwnProperty(t.text)){if(Kr.hasOwnProperty(t.text))return new ue.MathNode("mspace");throw new o('Unknown type of space "'+t.text+'"')}return new ue.MathNode("mtext",[new ue.TextNode("\xa0")])}});var Qr=function(){var t=new ue.MathNode("mtd",[]);return t.setAttribute("width","50%"),t};jt({type:"tag",mathmlBuilder:function(t,e){var r=new ue.MathNode("mtable",[new ue.MathNode("mtr",[Qr(),new ue.MathNode("mtd",[xe(t.body,e)]),Qr(),new ue.MathNode("mtd",[xe(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var ta={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},ea={"\\textbf":"textbf","\\textmd":"textmd"},ra={"\\textit":"textit","\\textup":"textup"},aa=function(t,e){var r=t.font;return r?ta[r]?e.withTextFontFamily(ta[r]):ea[r]?e.withTextFontWeight(ea[r]):e.withTextFontShape(ra[r]):e};_t({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],greediness:2,allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"text",mode:r.mode,body:$t(n),font:a}},htmlBuilder:function(t,e){var r=aa(t,e),a=ee(t.body,r,!0);return Dt.makeSpan(["mord","text"],Dt.tryCombineChars(a),r)},mathmlBuilder:function(t,e){var r=aa(t,e);return xe(t.body,r)}}),_t({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){return{type:"underline",mode:t.parser.mode,body:e[0]}},htmlBuilder:function(t,e){var r=oe(t.body,e),a=Dt.makeLineSpan("underline-line",e),n=e.fontMetrics().defaultRuleThickness,i=Dt.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:r}]},e);return Dt.makeSpan(["mord","underline"],[i],e)},mathmlBuilder:function(t,e){var r=new ue.MathNode("mo",[new ue.TextNode("\u203e")]);r.setAttribute("stretchy","true");var a=new ue.MathNode("munder",[ve(t.body,e),r]);return a.setAttribute("accentunder","true"),a}}),_t({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(t,e,r){throw new o("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(t,e){for(var r=na(t),a=[],n=e.havingStyle(e.style.text()),i=0;i0&&(this.undefStack[this.undefStack.length-1][t]=e)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(t)&&(n[t]=this.current[t])}this.current[t]=e},t}(),ca={},ua=ca;function pa(t,e){ca[t]=e}pa("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}}),pa("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}}),pa("\\@firstoftwo",function(t){return{tokens:t.consumeArgs(2)[0],numArgs:0}}),pa("\\@secondoftwo",function(t){return{tokens:t.consumeArgs(2)[1],numArgs:0}}),pa("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return 1===e[0].length&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}}),pa("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),pa("\\TextOrMath",function(t){var e=t.consumeArgs(2);return"text"===t.mode?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var da={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};pa("\\char",function(t){var e,r=t.popToken(),a="";if("'"===r.text)e=8,r=t.popToken();else if('"'===r.text)e=16,r=t.popToken();else if("`"===r.text)if("\\"===(r=t.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new o("\\char` missing argument");a=r.text.charCodeAt(0)}else e=10;if(e){if(null==(a=da[r.text])||a>=e)throw new o("Invalid base-"+e+" digit "+r.text);for(var n;null!=(n=da[t.future().text])&&n":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};pa("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in ga?e=ga[r]:"\\not"===r.substr(0,4)?e="\\dotsb":r in j.math&&c.contains(["bin","rel"],j.math[r].group)&&(e="\\dotsb"),e});var xa={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};pa("\\dotso",function(t){return t.future().text in xa?"\\ldots\\,":"\\ldots"}),pa("\\dotsc",function(t){var e=t.future().text;return e in xa&&","!==e?"\\ldots\\,":"\\ldots"}),pa("\\cdots",function(t){return t.future().text in xa?"\\@cdots\\,":"\\@cdots"}),pa("\\dotsb","\\cdots"),pa("\\dotsm","\\cdots"),pa("\\dotsi","\\!\\cdots"),pa("\\dotsx","\\ldots\\,"),pa("\\DOTSI","\\relax"),pa("\\DOTSB","\\relax"),pa("\\DOTSX","\\relax"),pa("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),pa("\\,","\\tmspace+{3mu}{.1667em}"),pa("\\thinspace","\\,"),pa("\\>","\\mskip{4mu}"),pa("\\:","\\tmspace+{4mu}{.2222em}"),pa("\\medspace","\\:"),pa("\\;","\\tmspace+{5mu}{.2777em}"),pa("\\thickspace","\\;"),pa("\\!","\\tmspace-{3mu}{.1667em}"),pa("\\negthinspace","\\!"),pa("\\negmedspace","\\tmspace-{4mu}{.2222em}"),pa("\\negthickspace","\\tmspace-{5mu}{.277em}"),pa("\\enspace","\\kern.5em "),pa("\\enskip","\\hskip.5em\\relax"),pa("\\quad","\\hskip1em\\relax"),pa("\\qquad","\\hskip2em\\relax"),pa("\\tag","\\@ifstar\\tag@literal\\tag@paren"),pa("\\tag@paren","\\tag@literal{({#1})}"),pa("\\tag@literal",function(t){if(t.macros.get("\\df@tag"))throw new o("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),pa("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),pa("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),pa("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),pa("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),pa("\\pmb","\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}"),pa("\\\\","\\newline"),pa("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var va=F["Main-Regular"]["T".charCodeAt(0)][1]-.7*F["Main-Regular"]["A".charCodeAt(0)][1]+"em";pa("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+va+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),pa("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+va+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),pa("\\hspace","\\@ifstar\\@hspacer\\@hspace"),pa("\\@hspace","\\hskip #1\\relax"),pa("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),pa("\\ordinarycolon",":"),pa("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),pa("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),pa("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),pa("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),pa("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),pa("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),pa("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),pa("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),pa("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),pa("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),pa("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),pa("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),pa("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),pa("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),pa("\u2237","\\dblcolon"),pa("\u2239","\\eqcolon"),pa("\u2254","\\coloneqq"),pa("\u2255","\\eqqcolon"),pa("\u2a74","\\Coloneqq"),pa("\\ratio","\\vcentcolon"),pa("\\coloncolon","\\dblcolon"),pa("\\colonequals","\\coloneqq"),pa("\\coloncolonequals","\\Coloneqq"),pa("\\equalscolon","\\eqqcolon"),pa("\\equalscoloncolon","\\Eqqcolon"),pa("\\colonminus","\\coloneq"),pa("\\coloncolonminus","\\Coloneq"),pa("\\minuscolon","\\eqcolon"),pa("\\minuscoloncolon","\\Eqcolon"),pa("\\coloncolonapprox","\\Colonapprox"),pa("\\coloncolonsim","\\Colonsim"),pa("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),pa("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),pa("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),pa("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),pa("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),pa("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),pa("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),pa("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),pa("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),pa("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),pa("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),pa("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),pa("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),pa("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),pa("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),pa("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),pa("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),pa("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),pa("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),pa("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),pa("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),pa("\\imath","\\html@mathml{\\@imath}{\u0131}"),pa("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),pa("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),pa("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),pa("\u27e6","\\llbracket"),pa("\u27e7","\\rrbracket"),pa("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),pa("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),pa("\u2983","\\lBrace"),pa("\u2984","\\rBrace"),pa("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),pa("\u29b5","\\minuso"),pa("\\darr","\\downarrow"),pa("\\dArr","\\Downarrow"),pa("\\Darr","\\Downarrow"),pa("\\lang","\\langle"),pa("\\rang","\\rangle"),pa("\\uarr","\\uparrow"),pa("\\uArr","\\Uparrow"),pa("\\Uarr","\\Uparrow"),pa("\\N","\\mathbb{N}"),pa("\\R","\\mathbb{R}"),pa("\\Z","\\mathbb{Z}"),pa("\\alef","\\aleph"),pa("\\alefsym","\\aleph"),pa("\\Alpha","\\mathrm{A}"),pa("\\Beta","\\mathrm{B}"),pa("\\bull","\\bullet"),pa("\\Chi","\\mathrm{X}"),pa("\\clubs","\\clubsuit"),pa("\\cnums","\\mathbb{C}"),pa("\\Complex","\\mathbb{C}"),pa("\\Dagger","\\ddagger"),pa("\\diamonds","\\diamondsuit"),pa("\\empty","\\emptyset"),pa("\\Epsilon","\\mathrm{E}"),pa("\\Eta","\\mathrm{H}"),pa("\\exist","\\exists"),pa("\\harr","\\leftrightarrow"),pa("\\hArr","\\Leftrightarrow"),pa("\\Harr","\\Leftrightarrow"),pa("\\hearts","\\heartsuit"),pa("\\image","\\Im"),pa("\\infin","\\infty"),pa("\\Iota","\\mathrm{I}"),pa("\\isin","\\in"),pa("\\Kappa","\\mathrm{K}"),pa("\\larr","\\leftarrow"),pa("\\lArr","\\Leftarrow"),pa("\\Larr","\\Leftarrow"),pa("\\lrarr","\\leftrightarrow"),pa("\\lrArr","\\Leftrightarrow"),pa("\\Lrarr","\\Leftrightarrow"),pa("\\Mu","\\mathrm{M}"),pa("\\natnums","\\mathbb{N}"),pa("\\Nu","\\mathrm{N}"),pa("\\Omicron","\\mathrm{O}"),pa("\\plusmn","\\pm"),pa("\\rarr","\\rightarrow"),pa("\\rArr","\\Rightarrow"),pa("\\Rarr","\\Rightarrow"),pa("\\real","\\Re"),pa("\\reals","\\mathbb{R}"),pa("\\Reals","\\mathbb{R}"),pa("\\Rho","\\mathrm{P}"),pa("\\sdot","\\cdot"),pa("\\sect","\\S"),pa("\\spades","\\spadesuit"),pa("\\sub","\\subset"),pa("\\sube","\\subseteq"),pa("\\supe","\\supseteq"),pa("\\Tau","\\mathrm{T}"),pa("\\thetasym","\\vartheta"),pa("\\weierp","\\wp"),pa("\\Zeta","\\mathrm{Z}"),pa("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),pa("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),pa("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),pa("\\bra","\\mathinner{\\langle{#1}|}"),pa("\\ket","\\mathinner{|{#1}\\rangle}"),pa("\\braket","\\mathinner{\\langle{#1}\\rangle}"),pa("\\Bra","\\left\\langle#1\\right|"),pa("\\Ket","\\left|#1\\right\\rangle"),pa("\\blue","\\textcolor{##6495ed}{#1}"),pa("\\orange","\\textcolor{##ffa500}{#1}"),pa("\\pink","\\textcolor{##ff00af}{#1}"),pa("\\red","\\textcolor{##df0030}{#1}"),pa("\\green","\\textcolor{##28ae7b}{#1}"),pa("\\gray","\\textcolor{gray}{#1}"),pa("\\purple","\\textcolor{##9d38bd}{#1}"),pa("\\blueA","\\textcolor{##ccfaff}{#1}"),pa("\\blueB","\\textcolor{##80f6ff}{#1}"),pa("\\blueC","\\textcolor{##63d9ea}{#1}"),pa("\\blueD","\\textcolor{##11accd}{#1}"),pa("\\blueE","\\textcolor{##0c7f99}{#1}"),pa("\\tealA","\\textcolor{##94fff5}{#1}"),pa("\\tealB","\\textcolor{##26edd5}{#1}"),pa("\\tealC","\\textcolor{##01d1c1}{#1}"),pa("\\tealD","\\textcolor{##01a995}{#1}"),pa("\\tealE","\\textcolor{##208170}{#1}"),pa("\\greenA","\\textcolor{##b6ffb0}{#1}"),pa("\\greenB","\\textcolor{##8af281}{#1}"),pa("\\greenC","\\textcolor{##74cf70}{#1}"),pa("\\greenD","\\textcolor{##1fab54}{#1}"),pa("\\greenE","\\textcolor{##0d923f}{#1}"),pa("\\goldA","\\textcolor{##ffd0a9}{#1}"),pa("\\goldB","\\textcolor{##ffbb71}{#1}"),pa("\\goldC","\\textcolor{##ff9c39}{#1}"),pa("\\goldD","\\textcolor{##e07d10}{#1}"),pa("\\goldE","\\textcolor{##a75a05}{#1}"),pa("\\redA","\\textcolor{##fca9a9}{#1}"),pa("\\redB","\\textcolor{##ff8482}{#1}"),pa("\\redC","\\textcolor{##f9685d}{#1}"),pa("\\redD","\\textcolor{##e84d39}{#1}"),pa("\\redE","\\textcolor{##bc2612}{#1}"),pa("\\maroonA","\\textcolor{##ffbde0}{#1}"),pa("\\maroonB","\\textcolor{##ff92c6}{#1}"),pa("\\maroonC","\\textcolor{##ed5fa6}{#1}"),pa("\\maroonD","\\textcolor{##ca337c}{#1}"),pa("\\maroonE","\\textcolor{##9e034e}{#1}"),pa("\\purpleA","\\textcolor{##ddd7ff}{#1}"),pa("\\purpleB","\\textcolor{##c6b9fc}{#1}"),pa("\\purpleC","\\textcolor{##aa87ff}{#1}"),pa("\\purpleD","\\textcolor{##7854ab}{#1}"),pa("\\purpleE","\\textcolor{##543b78}{#1}"),pa("\\mintA","\\textcolor{##f5f9e8}{#1}"),pa("\\mintB","\\textcolor{##edf2df}{#1}"),pa("\\mintC","\\textcolor{##e0e5cc}{#1}"),pa("\\grayA","\\textcolor{##f6f7f7}{#1}"),pa("\\grayB","\\textcolor{##f0f1f2}{#1}"),pa("\\grayC","\\textcolor{##e3e5e6}{#1}"),pa("\\grayD","\\textcolor{##d6d8da}{#1}"),pa("\\grayE","\\textcolor{##babec2}{#1}"),pa("\\grayF","\\textcolor{##888d93}{#1}"),pa("\\grayG","\\textcolor{##626569}{#1}"),pa("\\grayH","\\textcolor{##3b3e40}{#1}"),pa("\\grayI","\\textcolor{##21242c}{#1}"),pa("\\kaBlue","\\textcolor{##314453}{#1}"),pa("\\kaGreen","\\textcolor{##71B307}{#1}");var ba={"\\relax":!0,"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},ya=function(){function t(t,e,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=e,this.expansionCount=0,this.feed(t),this.macros=new ma(ua,e.macros),this.mode=r,this.stack=[]}var e=t.prototype;return e.feed=function(t){this.lexer=new ha(t,this.settings)},e.switchMode=function(t){this.mode=t},e.beginGroup=function(){this.macros.beginGroup()},e.endGroup=function(){this.macros.endGroup()},e.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},e.popToken=function(){return this.future(),this.stack.pop()},e.pushToken=function(t){this.stack.push(t)},e.pushTokens=function(t){var e;(e=this.stack).push.apply(e,t)},e.consumeSpaces=function(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}},e.consumeArgs=function(t){for(var e=[],r=0;rthis.settings.maxExpand)throw new o("Too many expansions: infinite loop or need to increase maxExpand setting");var n=a.tokens;if(a.numArgs)for(var i=this.consumeArgs(a.numArgs),s=(n=n.slice()).length-1;s>=0;--s){var l=n[s];if("#"===l.text){if(0===s)throw new o("Incomplete placeholder at end of macro body",l);if("#"===(l=n[--s]).text)n.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new o("Not a valid argument number",l);var h;(h=n).splice.apply(h,[s,2].concat(i[+l.text-1]))}}}return this.pushTokens(n),n},e.expandAfterFuture=function(){return this.expandOnce(),this.future()},e.expandNextToken=function(){for(;;){var t=this.expandOnce();if(t instanceof n){if("\\relax"!==t.text&&!t.treatAsRelax)return this.stack.pop();this.stack.pop()}}throw new Error},e.expandMacro=function(t){return this.macros.has(t)?this.expandTokens([new n(t)]):void 0},e.expandTokens=function(t){var e=[],r=this.stack.length;for(this.pushTokens(t);this.stack.length>r;){var a=this.expandOnce(!0);a instanceof n&&(a.treatAsRelax&&(a.noexpand=!1,a.treatAsRelax=!1),e.push(this.stack.pop()))}return e},e.expandMacroAsText=function(t){var e=this.expandMacro(t);return e?e.map(function(t){return t.text}).join(""):e},e._getExpansion=function(t){var e=this.macros.get(t);if(null==e)return e;var r="function"==typeof e?e(this):e;if("string"==typeof r){var a=0;if(-1!==r.indexOf("#"))for(var n=r.replace(/##/g,"");-1!==n.indexOf("#"+(a+1));)++a;for(var i=new ha(r,this.settings),o=[],s=i.lex();"EOF"!==s.text;)o.push(s),s=i.lex();return o.reverse(),{tokens:o,numArgs:a}}return r},e.isDefined=function(t){return this.macros.has(t)||ia.hasOwnProperty(t)||j.math.hasOwnProperty(t)||j.text.hasOwnProperty(t)||ba.hasOwnProperty(t)},e.isExpandable=function(t){var e=this.macros.get(t);return null!=e?"string"==typeof e||"function"==typeof e||!e.unexpandable:ia.hasOwnProperty(t)},t}(),wa={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"}},ka={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\u010f":"d\u030c","\u1e0b":"d\u0307","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u013a":"l\u0301","\u013e":"l\u030c","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\u010e":"D\u030c","\u1e0a":"D\u0307","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0139":"L\u0301","\u013d":"L\u030c","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u0164":"T\u030c","\u1e6a":"T\u0307","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"},Sa=function(){function t(t,e){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new ya(t,e,this.mode),this.settings=e,this.leftrightDepth=0}var e=t.prototype;return e.expect=function(t,e){if(void 0===e&&(e=!0),this.fetch().text!==t)throw new o("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());e&&this.consume()},e.consume=function(){this.nextToken=null},e.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},e.switchMode=function(t){this.mode=t,this.gullet.switchMode(t)},e.parse=function(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t},e.parseExpression=function(e,r){for(var a=[];;){"math"===this.mode&&this.consumeSpaces();var n=this.fetch();if(-1!==t.endOfExpression.indexOf(n.text))break;if(r&&n.text===r)break;if(e&&ia[n.text]&&ia[n.text].infix)break;var i=this.parseAtom(r);if(!i)break;"internal"!==i.type&&a.push(i)}return"text"===this.mode&&this.formLigatures(a),this.handleInfixNodes(a)},e.handleInfixNodes=function(t){for(var e,r=-1,a=0;a0&&!h||0===s&&!h&&"math"===this.mode,c=this.parseGroupOfType("argument to '"+t+"'",l,h,a,m);if(!c){if(h){i.push(null);continue}throw new o("Expected group after '"+t+"'",this.fetch())}(h?i:n).push(c)}return{args:n,optArgs:i}},e.parseGroupOfType=function(t,e,r,a,n){switch(e){case"color":return n&&this.consumeSpaces(),this.parseColorGroup(r);case"size":return n&&this.consumeSpaces(),this.parseSizeGroup(r);case"url":return this.parseUrlGroup(r,n);case"math":case"text":return this.parseGroup(t,r,a,void 0,e,n);case"hbox":var i=this.parseGroup(t,r,a,void 0,"text",n);return i?{type:"styling",mode:i.mode,body:[i],style:"text"}:i;case"raw":if(n&&this.consumeSpaces(),r&&"{"===this.fetch().text)return null;var s=this.parseStringGroup("raw",r,!0);if(s)return{type:"raw",mode:"text",string:s.text};throw new o("Expected raw group",this.fetch());case"original":case null:case void 0:return this.parseGroup(t,r,a,void 0,void 0,n);default:throw new o("Unknown group type as "+t,this.fetch())}},e.consumeSpaces=function(){for(;" "===this.fetch().text;)this.consume()},e.parseStringGroup=function(t,e,r){var a=e?"[":"{",n=e?"]":"}",i=this.fetch();if(i.text!==a){if(e)return null;if(r&&"EOF"!==i.text&&/[^{}[\]]/.test(i.text))return this.consume(),i}var s=this.mode;this.mode="text",this.expect(a);for(var l,h="",m=this.fetch(),c=0,u=m;(l=this.fetch()).text!==n||r&&c>0;){switch(l.text){case"EOF":throw new o("Unexpected end of input in "+t,m.range(u,h));case a:c++;break;case n:c--}h+=(u=l).text,this.consume()}return this.expect(n),this.mode=s,m.range(u,h)},e.parseRegexGroup=function(t,e){var r=this.mode;this.mode="text";for(var a,n=this.fetch(),i=n,s="";"EOF"!==(a=this.fetch()).text&&t.test(s+a.text);)s+=(i=a).text,this.consume();if(""===s)throw new o("Invalid "+e+": '"+n.text+"'",n);return this.mode=r,n.range(i,s)},e.parseColorGroup=function(t){var e=this.parseStringGroup("color",t);if(!e)return null;var r=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);if(!r)throw new o("Invalid color: '"+e.text+"'",e);var a=r[0];return/^[0-9a-f]{6}$/i.test(a)&&(a="#"+a),{type:"color-token",mode:this.mode,color:a}},e.parseSizeGroup=function(t){var e,r=!1;if(!(e=t||"{"===this.fetch().text?this.parseStringGroup("size",t):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;t||0!==e.text.length||(e.text="0pt",r=!0);var a=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e.text);if(!a)throw new o("Invalid size: '"+e.text+"'",e);var n={number:+(a[1]+a[2]),unit:a[3]};if(!At(n))throw new o("Invalid unit: '"+n.unit+"'",e);return{type:"size",mode:this.mode,value:n,isBlank:r}},e.parseUrlGroup=function(t,e){this.gullet.lexer.setCatcode("%",13);var r=this.parseStringGroup("url",t,!0);if(this.gullet.lexer.setCatcode("%",14),!r)return null;var a=r.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}},e.parseGroup=function(e,r,n,i,s,l){var h=this.mode;s&&this.switchMode(s),l&&this.consumeSpaces();var m,c=this.fetch(),u=c.text;if(r?"["===u:"{"===u||"\\begingroup"===u){this.consume();var p=t.endOfGroup[u];this.gullet.beginGroup();var d=this.parseExpression(!1,p),f=this.fetch();this.expect(p),this.gullet.endGroup(),m={type:"ordgroup",mode:this.mode,loc:a.range(c,f),body:d,semisimple:"\\begingroup"===u||void 0}}else if(r)m=null;else if(null==(m=this.parseFunction(i,e,n)||this.parseSymbol())&&"\\"===u[0]&&!ba.hasOwnProperty(u)){if(this.settings.throwOnError)throw new o("Undefined control sequence: "+u,c);m=this.formatUnsupportedCmd(u),this.consume()}return s&&this.switchMode(h),m},e.formLigatures=function(t){for(var e=t.length-1,r=0;r=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+e[0]+'" used in math mode',t);var l,h=j[this.mode][e].group,m=a.range(t);if(W.hasOwnProperty(h)){var c=h;l={type:"atom",mode:this.mode,family:c,loc:m,text:e}}else l={type:h,mode:this.mode,loc:m,text:e};i=l}else{if(!(e.charCodeAt(0)>=128))return null;this.settings.strict&&(M(e.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+e[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+e[0]+'" ('+e.charCodeAt(0)+")",t)),i={type:"textord",mode:"text",loc:a.range(t),text:e}}if(this.consume(),s)for(var u=0;u 15) { + left = "…" + input.slice(start - 15, start); + } else { + left = input.slice(0, start); + } + + let right; + + if (end + 15 < input.length) { + right = input.slice(end, end + 15) + "…"; + } else { + right = input.slice(end); + } + + error += left + underlined + right; + } // Some hackery to make ParseError a prototype of Error + // See http://stackoverflow.com/a/8460753 + + + const self = new Error(error); + self.name = "ParseError"; // $FlowFixMe + + self.__proto__ = ParseError.prototype; // $FlowFixMe + + self.position = start; + return self; + } + +} // $FlowFixMe More hackery + + +ParseError.prototype.__proto__ = Error.prototype; + +/** + * This file contains a list of utility functions which are useful in other + * files. + */ + +/** + * Return whether an element is contained in a list + */ +const contains = function contains(list, elem) { + return list.indexOf(elem) !== -1; +}; +/** + * Provide a default value if a setting is undefined + * NOTE: Couldn't use `T` as the output type due to facebook/flow#5022. + */ + + +const deflt = function deflt(setting, defaultIfUndefined) { + return setting === undefined ? defaultIfUndefined : setting; +}; // hyphenate and escape adapted from Facebook's React under Apache 2 license + + +const uppercase = /([A-Z])/g; + +const hyphenate = function hyphenate(str) { + return str.replace(uppercase, "-$1").toLowerCase(); +}; + +const ESCAPE_LOOKUP = { + "&": "&", + ">": ">", + "<": "<", + "\"": """, + "'": "'" +}; +const ESCAPE_REGEX = /[&><"']/g; +/** + * Escapes text to prevent scripting attacks. + */ + +function escape(text) { + return String(text).replace(ESCAPE_REGEX, match => ESCAPE_LOOKUP[match]); +} +/** + * Sometimes we want to pull out the innermost element of a group. In most + * cases, this will just be the group itself, but when ordgroups and colors have + * a single element, we want to pull that out. + */ + + +const getBaseElem = function getBaseElem(group) { + if (group.type === "ordgroup") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "color") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "font") { + return getBaseElem(group.body); + } else { + return group; + } +}; +/** + * TeXbook algorithms often reference "character boxes", which are simply groups + * with a single character in them. To decide if something is a character box, + * we find its innermost group, and see if it is a single character. + */ + + +const isCharacterBox = function isCharacterBox(group) { + const baseElem = getBaseElem(group); // These are all they types of groups which hold single characters + + return baseElem.type === "mathord" || baseElem.type === "textord" || baseElem.type === "atom"; +}; + +const assert = function assert(value) { + if (!value) { + throw new Error('Expected non-null, but got ' + String(value)); + } + + return value; +}; +/** + * Return the protocol of a URL, or "_relative" if the URL does not specify a + * protocol (and thus is relative). + */ + +const protocolFromUrl = function protocolFromUrl(url) { + const protocol = /^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(url); + return protocol != null ? protocol[1] : "_relative"; +}; +var utils = { + contains, + deflt, + escape, + hyphenate, + getBaseElem, + isCharacterBox, + protocolFromUrl +}; + +/* eslint no-console:0 */ + +/** + * The main Settings object + * + * The current options stored are: + * - displayMode: Whether the expression should be typeset as inline math + * (false, the default), meaning that the math starts in + * \textstyle and is placed in an inline-block); or as display + * math (true), meaning that the math starts in \displaystyle + * and is placed in a block with vertical margin. + */ +class Settings { + constructor(options) { + this.displayMode = void 0; + this.output = void 0; + this.leqno = void 0; + this.fleqn = void 0; + this.throwOnError = void 0; + this.errorColor = void 0; + this.macros = void 0; + this.minRuleThickness = void 0; + this.colorIsTextColor = void 0; + this.strict = void 0; + this.trust = void 0; + this.maxSize = void 0; + this.maxExpand = void 0; + this.globalGroup = void 0; + // allow null options + options = options || {}; + this.displayMode = utils.deflt(options.displayMode, false); + this.output = utils.deflt(options.output, "htmlAndMathml"); + this.leqno = utils.deflt(options.leqno, false); + this.fleqn = utils.deflt(options.fleqn, false); + this.throwOnError = utils.deflt(options.throwOnError, true); + this.errorColor = utils.deflt(options.errorColor, "#cc0000"); + this.macros = options.macros || {}; + this.minRuleThickness = Math.max(0, utils.deflt(options.minRuleThickness, 0)); + this.colorIsTextColor = utils.deflt(options.colorIsTextColor, false); + this.strict = utils.deflt(options.strict, "warn"); + this.trust = utils.deflt(options.trust, false); + this.maxSize = Math.max(0, utils.deflt(options.maxSize, Infinity)); + this.maxExpand = Math.max(0, utils.deflt(options.maxExpand, 1000)); + this.globalGroup = utils.deflt(options.globalGroup, false); + } + /** + * Report nonstrict (non-LaTeX-compatible) input. + * Can safely not be called if `this.strict` is false in JavaScript. + */ + + + reportNonstrict(errorCode, errorMsg, token) { + let strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + strict = strict(errorCode, errorMsg, token); + } + + if (!strict || strict === "ignore") { + return; + } else if (strict === true || strict === "error") { + throw new ParseError("LaTeX-incompatible input and strict mode is set to 'error': " + `${errorMsg} [${errorCode}]`, token); + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + `${errorMsg} [${errorCode}]`); + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + `unrecognized '${strict}': ${errorMsg} [${errorCode}]`); + } + } + /** + * Check whether to apply strict (LaTeX-adhering) behavior for unusual + * input (like `\\`). Unlike `nonstrict`, will not throw an error; + * instead, "error" translates to a return value of `true`, while "ignore" + * translates to a return value of `false`. May still print a warning: + * "warn" prints a warning and returns `false`. + * This is for the second category of `errorCode`s listed in the README. + */ + + + useStrictBehavior(errorCode, errorMsg, token) { + let strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + // But catch any exceptions thrown by function, treating them + // like "error". + try { + strict = strict(errorCode, errorMsg, token); + } catch (error) { + strict = "error"; + } + } + + if (!strict || strict === "ignore") { + return false; + } else if (strict === true || strict === "error") { + return true; + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + `${errorMsg} [${errorCode}]`); + return false; + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + `unrecognized '${strict}': ${errorMsg} [${errorCode}]`); + return false; + } + } + /** + * Check whether to test potentially dangerous input, and return + * `true` (trusted) or `false` (untrusted). The sole argument `context` + * should be an object with `command` field specifying the relevant LaTeX + * command (as a string starting with `\`), and any other arguments, etc. + * If `context` has a `url` field, a `protocol` field will automatically + * get added by this function (changing the specified object). + */ + + + isTrusted(context) { + if (context.url && !context.protocol) { + context.protocol = utils.protocolFromUrl(context.url); + } + + const trust = typeof this.trust === "function" ? this.trust(context) : this.trust; + return Boolean(trust); + } + +} + +/** + * This file contains information and classes for the various kinds of styles + * used in TeX. It provides a generic `Style` class, which holds information + * about a specific style. It then provides instances of all the different kinds + * of styles possible, and provides functions to move between them and get + * information about them. + */ + +/** + * The main style class. Contains a unique id for the style, a size (which is + * the same for cramped and uncramped version of a style), and a cramped flag. + */ +class Style { + constructor(id, size, cramped) { + this.id = void 0; + this.size = void 0; + this.cramped = void 0; + this.id = id; + this.size = size; + this.cramped = cramped; + } + /** + * Get the style of a superscript given a base in the current style. + */ + + + sup() { + return styles[sup[this.id]]; + } + /** + * Get the style of a subscript given a base in the current style. + */ + + + sub() { + return styles[sub[this.id]]; + } + /** + * Get the style of a fraction numerator given the fraction in the current + * style. + */ + + + fracNum() { + return styles[fracNum[this.id]]; + } + /** + * Get the style of a fraction denominator given the fraction in the current + * style. + */ + + + fracDen() { + return styles[fracDen[this.id]]; + } + /** + * Get the cramped version of a style (in particular, cramping a cramped style + * doesn't change the style). + */ + + + cramp() { + return styles[cramp[this.id]]; + } + /** + * Get a text or display version of this style. + */ + + + text() { + return styles[text[this.id]]; + } + /** + * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle) + */ + + + isTight() { + return this.size >= 2; + } + +} // Export an interface for type checking, but don't expose the implementation. +// This way, no more styles can be generated. + + +// IDs of the different styles +const D = 0; +const Dc = 1; +const T = 2; +const Tc = 3; +const S = 4; +const Sc = 5; +const SS = 6; +const SSc = 7; // Instances of the different styles + +const styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another + +const sup = [S, Sc, S, Sc, SS, SSc, SS, SSc]; +const sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc]; +const fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc]; +const fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc]; +const cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc]; +const text = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles. + +var Style$1 = { + DISPLAY: styles[D], + TEXT: styles[T], + SCRIPT: styles[S], + SCRIPTSCRIPT: styles[SS] +}; + +/* + * This file defines the Unicode scripts and script families that we + * support. To add new scripts or families, just add a new entry to the + * scriptData array below. Adding scripts to the scriptData array allows + * characters from that script to appear in \text{} environments. + */ + +/** + * Each script or script family has a name and an array of blocks. + * Each block is an array of two numbers which specify the start and + * end points (inclusive) of a block of Unicode codepoints. + */ + +/** + * Unicode block data for the families of scripts we support in \text{}. + * Scripts only need to appear here if they do not have font metrics. + */ +const scriptData = [{ + // Latin characters beyond the Latin-1 characters we have metrics for. + // Needed for Czech, Hungarian and Turkish text, for example. + name: 'latin', + blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B + [0x0300, 0x036f]] +}, { + // The Cyrillic script used by Russian and related languages. + // A Cyrillic subset used to be supported as explicitly defined + // symbols in symbols.js + name: 'cyrillic', + blocks: [[0x0400, 0x04ff]] +}, { + // The Brahmic scripts of South and Southeast Asia + // Devanagari (0900–097F) + // Bengali (0980–09FF) + // Gurmukhi (0A00–0A7F) + // Gujarati (0A80–0AFF) + // Oriya (0B00–0B7F) + // Tamil (0B80–0BFF) + // Telugu (0C00–0C7F) + // Kannada (0C80–0CFF) + // Malayalam (0D00–0D7F) + // Sinhala (0D80–0DFF) + // Thai (0E00–0E7F) + // Lao (0E80–0EFF) + // Tibetan (0F00–0FFF) + // Myanmar (1000–109F) + name: 'brahmic', + blocks: [[0x0900, 0x109F]] +}, { + name: 'georgian', + blocks: [[0x10A0, 0x10ff]] +}, { + // Chinese and Japanese. + // The "k" in cjk is for Korean, but we've separated Korean out + name: "cjk", + blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana + [0x4E00, 0x9FAF], // CJK ideograms + [0xFF00, 0xFF60]] +}, { + // Korean + name: 'hangul', + blocks: [[0xAC00, 0xD7AF]] +}]; +/** + * Given a codepoint, return the name of the script or script family + * it is from, or null if it is not part of a known block + */ + +function scriptFromCodepoint(codepoint) { + for (let i = 0; i < scriptData.length; i++) { + const script = scriptData[i]; + + for (let i = 0; i < script.blocks.length; i++) { + const block = script.blocks[i]; + + if (codepoint >= block[0] && codepoint <= block[1]) { + return script.name; + } + } + } + + return null; +} +/** + * A flattened version of all the supported blocks in a single array. + * This is an optimization to make supportedCodepoint() fast. + */ + +const allBlocks = []; +scriptData.forEach(s => s.blocks.forEach(b => allBlocks.push(...b))); +/** + * Given a codepoint, return true if it falls within one of the + * scripts or script families defined above and false otherwise. + * + * Micro benchmarks shows that this is faster than + * /[\u3000-\u30FF\u4E00-\u9FAF\uFF00-\uFF60\uAC00-\uD7AF\u0900-\u109F]/.test() + * in Firefox, Chrome and Node. + */ + +function supportedCodepoint(codepoint) { + for (let i = 0; i < allBlocks.length; i += 2) { + if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) { + return true; + } + } + + return false; +} + +/** + * This file provides support to domTree.js and delimiter.js. + * It's a storehouse of path geometry for SVG images. + */ +// In all paths below, the viewBox-to-em scale is 1000:1. +const hLinePad = 80; // padding above a sqrt viniculum. Prevents image cropping. +// The viniculum of a \sqrt can be made thicker by a KaTeX rendering option. +// Think of variable extraViniculum as two detours in the SVG path. +// The detour begins at the lower left of the area labeled extraViniculum below. +// The detour proceeds one extraViniculum distance up and slightly to the right, +// displacing the radiused corner between surd and viniculum. The radius is +// traversed as usual, then the detour resumes. It goes right, to the end of +// the very long viniculumn, then down one extraViniculum distance, +// after which it resumes regular path geometry for the radical. + +/* viniculum + / + /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraViniculum + / █████████████████████←0.04em (40 unit) std viniculum thickness + / / + / / + / /\ + / / surd +*/ + +const sqrtMain = function sqrtMain(extraViniculum, hLinePad) { + // sqrtMain path geometry is from glyph U221A in the font KaTeX Main + return `M95,${622 + extraViniculum + hLinePad} +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l${extraViniculum / 2.075} -${extraViniculum} +c5.3,-9.3,12,-14,20,-14 +H400000v${40 + extraViniculum}H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M${834 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}h-400000z`; +}; + +const sqrtSize1 = function sqrtSize1(extraViniculum, hLinePad) { + // size1 is from glyph U221A in the font KaTeX_Size1-Regular + return `M263,${601 + extraViniculum + hLinePad}c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l${extraViniculum / 2.084} -${extraViniculum} +c4.7,-7.3,11,-11,19,-11 +H40000v${40 + extraViniculum}H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M${1001 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}h-400000z`; +}; + +const sqrtSize2 = function sqrtSize2(extraViniculum, hLinePad) { + // size2 is from glyph U221A in the font KaTeX_Size2-Regular + return `M983 ${10 + extraViniculum + hLinePad} +l${extraViniculum / 3.13} -${extraViniculum} +c4,-6.7,10,-10,18,-10 H400000v${40 + extraViniculum} +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M${1001 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}h-400000z`; +}; + +const sqrtSize3 = function sqrtSize3(extraViniculum, hLinePad) { + // size3 is from glyph U221A in the font KaTeX_Size3-Regular + return `M424,${2398 + extraViniculum + hLinePad} +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l${extraViniculum / 4.223} -${extraViniculum}c4,-6.7,10,-10,18,-10 H400000 +v${40 + extraViniculum}H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M${1001 + extraViniculum} ${hLinePad} +h400000v${40 + extraViniculum}h-400000z`; +}; + +const sqrtSize4 = function sqrtSize4(extraViniculum, hLinePad) { + // size4 is from glyph U221A in the font KaTeX_Size4-Regular + return `M473,${2713 + extraViniculum + hLinePad} +c339.3,-1799.3,509.3,-2700,510,-2702 l${extraViniculum / 5.298} -${extraViniculum} +c3.3,-7.3,9.3,-11,18,-11 H400000v${40 + extraViniculum}H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM${1001 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}H1017.7z`; +}; + +const sqrtTall = function sqrtTall(extraViniculum, hLinePad, viewBoxHeight) { + // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular + // One path edge has a variable length. It runs vertically from the viniculumn + // to a point near (14 units) the bottom of the surd. The viniculum + // is normally 40 units thick. So the length of the line in question is: + const vertSegment = viewBoxHeight - 54 - hLinePad - extraViniculum; + return `M702 ${extraViniculum + hLinePad}H400000${40 + extraViniculum} +H742v${vertSegment}l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 ${hLinePad}H400000v${40 + extraViniculum}H742z`; +}; + +const sqrtPath = function sqrtPath(size, extraViniculum, viewBoxHeight) { + extraViniculum = 1000 * extraViniculum; // Convert from document ems to viewBox. + + let path = ""; + + switch (size) { + case "sqrtMain": + path = sqrtMain(extraViniculum, hLinePad); + break; + + case "sqrtSize1": + path = sqrtSize1(extraViniculum, hLinePad); + break; + + case "sqrtSize2": + path = sqrtSize2(extraViniculum, hLinePad); + break; + + case "sqrtSize3": + path = sqrtSize3(extraViniculum, hLinePad); + break; + + case "sqrtSize4": + path = sqrtSize4(extraViniculum, hLinePad); + break; + + case "sqrtTall": + path = sqrtTall(extraViniculum, hLinePad, viewBoxHeight); + } + + return path; +}; +const path = { + // Two paths that cover gaps in built-up parentheses. + leftParenInner: `M291 0 H417 V300 H291 z`, + rightParenInner: `M457 0 H583 V300 H457 z`, + // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main + doubleleftarrow: `M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`, + // doublerightarrow is from glyph U+21D2 in font KaTeX Main + doublerightarrow: `M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`, + // leftarrow is from glyph U+2190 in font KaTeX Main + leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`, + // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular + leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`, + leftbraceunder: `M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`, + // overgroup is from the MnSymbol package (public domain) + leftgroup: `M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`, + leftgroupunder: `M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`, + // Harpoons are from glyph U+21BD in font KaTeX Main + leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`, + leftharpoonplus: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`, + leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`, + leftharpoondownplus: `M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`, + // hook is from glyph U+21A9 in font KaTeX Main + lefthook: `M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`, + leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`, + leftmapsto: `M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`, + // tofrom is from glyph U+21C4 in font KaTeX AMS Regular + leftToFrom: `M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`, + longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`, + midbrace: `M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`, + midbraceunder: `M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`, + oiintSize1: `M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`, + oiintSize2: `M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`, + oiiintSize1: `M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`, + oiiintSize2: `M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`, + rightarrow: `M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`, + rightbrace: `M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`, + rightbraceunder: `M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`, + rightgroup: `M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`, + rightgroupunder: `M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`, + rightharpoon: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`, + rightharpoonplus: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`, + rightharpoondown: `M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`, + rightharpoondownplus: `M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`, + righthook: `M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`, + rightlinesegment: `M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`, + rightToFrom: `M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`, + // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular + twoheadleftarrow: `M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`, + twoheadrightarrow: `M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`, + // tilde1 is a modified version of a glyph from the MnSymbol package + tilde1: `M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`, + // ditto tilde2, tilde3, & tilde4 + tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`, + tilde3: `M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`, + tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`, + // vec is from glyph U+20D7 in font KaTeX Main + vec: `M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`, + // widehat1 is a modified version of a glyph from the MnSymbol package + widehat1: `M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`, + // ditto widehat2, widehat3, & widehat4 + widehat2: `M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat3: `M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat4: `M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + // widecheck paths are all inverted versions of widehat + widecheck1: `M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`, + widecheck2: `M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck3: `M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck4: `M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + // The next ten paths support reaction arrows from the mhchem package. + // Arrows for \ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX + // baraboveleftarrow is mostly from from glyph U+2190 in font KaTeX Main + baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`, + // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main + rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`, + // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end. + // Ref from mhchem.sty: \rlap{\raisebox{-.22ex}{$\kern0.5em + baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`, + rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`, + shortbaraboveleftharpoon: `M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`, + shortrightharpoonabovebar: `M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z` +}; + +/** + * This node represents a document fragment, which contains elements, but when + * placed into the DOM doesn't have any representation itself. It only contains + * children and doesn't have any DOM node properties. + */ +class DocumentFragment { + // HtmlDomNode + // Never used; needed for satisfying interface. + constructor(children) { + this.children = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + this.children = children; + this.classes = []; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = {}; + } + + hasClass(className) { + return utils.contains(this.classes, className); + } + /** Convert the fragment into a node. */ + + + toNode() { + const frag = document.createDocumentFragment(); + + for (let i = 0; i < this.children.length; i++) { + frag.appendChild(this.children[i].toNode()); + } + + return frag; + } + /** Convert the fragment into HTML markup. */ + + + toMarkup() { + let markup = ""; // Simply concatenate the markup for the children together. + + for (let i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + return markup; + } + /** + * Converts the math node into a string, similar to innerText. Applies to + * MathDomNode's only. + */ + + + toText() { + // To avoid this, we would subclass documentFragment separately for + // MathML, but polyfills for subclassing is expensive per PR 1469. + // $FlowFixMe: Only works for ChildType = MathDomNode. + const toText = child => child.toText(); + + return this.children.map(toText).join(""); + } + +} + +/** + * These objects store the data about the DOM nodes we create, as well as some + * extra data. They can then be transformed into real DOM nodes with the + * `toNode` function or HTML markup using `toMarkup`. They are useful for both + * storing extra properties on the nodes, as well as providing a way to easily + * work with the DOM. + * + * Similar functions for working with MathML nodes exist in mathMLTree.js. + * + * TODO: refactor `span` and `anchor` into common superclass when + * target environments support class inheritance + */ + +/** + * Create an HTML className based on a list of classes. In addition to joining + * with spaces, we also remove empty classes. + */ +const createClass = function createClass(classes) { + return classes.filter(cls => cls).join(" "); +}; + +const initNode = function initNode(classes, options, style) { + this.classes = classes || []; + this.attributes = {}; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = style || {}; + + if (options) { + if (options.style.isTight()) { + this.classes.push("mtight"); + } + + const color = options.getColor(); + + if (color) { + this.style.color = color; + } + } +}; +/** + * Convert into an HTML node + */ + + +const toNode = function toNode(tagName) { + const node = document.createElement(tagName); // Apply the class + + node.className = createClass(this.classes); // Apply inline styles + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe Flow doesn't seem to understand span.style's type. + node.style[style] = this.style[style]; + } + } // Apply attributes + + + for (const attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } // Append the children, also as HTML nodes + + + for (let i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; +}; +/** + * Convert into an HTML markup string + */ + + +const toMarkup = function toMarkup(tagName) { + let markup = `<${tagName}`; // Add the class + + if (this.classes.length) { + markup += ` class="${utils.escape(createClass(this.classes))}"`; + } + + let styles = ""; // Add the styles, after hyphenation + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += `${utils.hyphenate(style)}:${this.style[style]};`; + } + } + + if (styles) { + markup += ` style="${utils.escape(styles)}"`; + } // Add the attributes + + + for (const attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + markup += ` ${attr}="${utils.escape(this.attributes[attr])}"`; + } + } + + markup += ">"; // Add the markup of the children, also as markup + + for (let i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ``; + return markup; +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. +// This type does not include all CSS properties. Additional properties should +// be added as needed. + + +/** + * This node represents a span node, with a className, a list of children, and + * an inline style. It also contains information about its height, depth, and + * maxFontSize. + * + * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan + * otherwise. This typesafety is important when HTML builders access a span's + * children. + */ +class Span { + constructor(classes, children, options, style) { + this.children = void 0; + this.attributes = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.width = void 0; + this.maxFontSize = void 0; + this.style = void 0; + initNode.call(this, classes, options, style); + this.children = children || []; + } + /** + * Sets an arbitrary attribute on the span. Warning: use this wisely. Not + * all browsers support attributes the same, and having too many custom + * attributes is probably bad. + */ + + + setAttribute(attribute, value) { + this.attributes[attribute] = value; + } + + hasClass(className) { + return utils.contains(this.classes, className); + } + + toNode() { + return toNode.call(this, "span"); + } + + toMarkup() { + return toMarkup.call(this, "span"); + } + +} +/** + * This node represents an anchor () element with a hyperlink. See `span` + * for further details. + */ + +class Anchor { + constructor(href, classes, children, options) { + this.children = void 0; + this.attributes = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + initNode.call(this, classes, options); + this.children = children || []; + this.setAttribute('href', href); + } + + setAttribute(attribute, value) { + this.attributes[attribute] = value; + } + + hasClass(className) { + return utils.contains(this.classes, className); + } + + toNode() { + return toNode.call(this, "a"); + } + + toMarkup() { + return toMarkup.call(this, "a"); + } + +} +/** + * This node represents an image embed () element. + */ + +class Img { + constructor(src, alt, style) { + this.src = void 0; + this.alt = void 0; + this.classes = void 0; + this.height = void 0; + this.depth = void 0; + this.maxFontSize = void 0; + this.style = void 0; + this.alt = alt; + this.src = src; + this.classes = ["mord"]; + this.style = style; + } + + hasClass(className) { + return utils.contains(this.classes, className); + } + + toNode() { + const node = document.createElement("img"); + node.src = this.src; + node.alt = this.alt; + node.className = "mord"; // Apply inline styles + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe + node.style[style] = this.style[style]; + } + } + + return node; + } + + toMarkup() { + let markup = `${this.alt} 0) { + span = document.createElement("span"); + span.style.marginRight = this.italic + "em"; + } + + if (this.classes.length > 0) { + span = span || document.createElement("span"); + span.className = createClass(this.classes); + } + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + span = span || document.createElement("span"); // $FlowFixMe Flow doesn't seem to understand span.style's type. + + span.style[style] = this.style[style]; + } + } + + if (span) { + span.appendChild(node); + return span; + } else { + return node; + } + } + /** + * Creates markup for a symbol node. + */ + + + toMarkup() { + // TODO(alpert): More duplication than I'd like from + // span.prototype.toMarkup and symbolNode.prototype.toNode... + let needsSpan = false; + let markup = " 0) { + styles += "margin-right:" + this.italic + "em;"; + } + + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += utils.hyphenate(style) + ":" + this.style[style] + ";"; + } + } + + if (styles) { + needsSpan = true; + markup += " style=\"" + utils.escape(styles) + "\""; + } + + const escaped = utils.escape(this.text); + + if (needsSpan) { + markup += ">"; + markup += escaped; + markup += ""; + return markup; + } else { + return escaped; + } + } + +} +/** + * SVG nodes are used to render stretchy wide elements. + */ + +class SvgNode { + constructor(children, attributes) { + this.children = void 0; + this.attributes = void 0; + this.children = children || []; + this.attributes = attributes || {}; + } + + toNode() { + const svgNS = "http://www.w3.org/2000/svg"; + const node = document.createElementNS(svgNS, "svg"); // Apply attributes + + for (const attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (let i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + } + + toMarkup() { + let markup = "`; + } else { + return ``; + } + } + +} +class LineNode { + constructor(attributes) { + this.attributes = void 0; + this.attributes = attributes || {}; + } + + toNode() { + const svgNS = "http://www.w3.org/2000/svg"; + const node = document.createElementNS(svgNS, "line"); // Apply attributes + + for (const attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + return node; + } + + toMarkup() { + let markup = " but got ${String(group)}.`); + } +} + +// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY. +var metricMap = { + "AMS-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.68889, 0, 0, 0.72222], + "66": [0, 0.68889, 0, 0, 0.66667], + "67": [0, 0.68889, 0, 0, 0.72222], + "68": [0, 0.68889, 0, 0, 0.72222], + "69": [0, 0.68889, 0, 0, 0.66667], + "70": [0, 0.68889, 0, 0, 0.61111], + "71": [0, 0.68889, 0, 0, 0.77778], + "72": [0, 0.68889, 0, 0, 0.77778], + "73": [0, 0.68889, 0, 0, 0.38889], + "74": [0.16667, 0.68889, 0, 0, 0.5], + "75": [0, 0.68889, 0, 0, 0.77778], + "76": [0, 0.68889, 0, 0, 0.66667], + "77": [0, 0.68889, 0, 0, 0.94445], + "78": [0, 0.68889, 0, 0, 0.72222], + "79": [0.16667, 0.68889, 0, 0, 0.77778], + "80": [0, 0.68889, 0, 0, 0.61111], + "81": [0.16667, 0.68889, 0, 0, 0.77778], + "82": [0, 0.68889, 0, 0, 0.72222], + "83": [0, 0.68889, 0, 0, 0.55556], + "84": [0, 0.68889, 0, 0, 0.66667], + "85": [0, 0.68889, 0, 0, 0.72222], + "86": [0, 0.68889, 0, 0, 0.72222], + "87": [0, 0.68889, 0, 0, 1.0], + "88": [0, 0.68889, 0, 0, 0.72222], + "89": [0, 0.68889, 0, 0, 0.72222], + "90": [0, 0.68889, 0, 0, 0.66667], + "107": [0, 0.68889, 0, 0, 0.55556], + "160": [0, 0, 0, 0, 0.25], + "165": [0, 0.675, 0.025, 0, 0.75], + "174": [0.15559, 0.69224, 0, 0, 0.94666], + "240": [0, 0.68889, 0, 0, 0.55556], + "295": [0, 0.68889, 0, 0, 0.54028], + "710": [0, 0.825, 0, 0, 2.33334], + "732": [0, 0.9, 0, 0, 2.33334], + "770": [0, 0.825, 0, 0, 2.33334], + "771": [0, 0.9, 0, 0, 2.33334], + "989": [0.08167, 0.58167, 0, 0, 0.77778], + "1008": [0, 0.43056, 0.04028, 0, 0.66667], + "8245": [0, 0.54986, 0, 0, 0.275], + "8463": [0, 0.68889, 0, 0, 0.54028], + "8487": [0, 0.68889, 0, 0, 0.72222], + "8498": [0, 0.68889, 0, 0, 0.55556], + "8502": [0, 0.68889, 0, 0, 0.66667], + "8503": [0, 0.68889, 0, 0, 0.44445], + "8504": [0, 0.68889, 0, 0, 0.66667], + "8513": [0, 0.68889, 0, 0, 0.63889], + "8592": [-0.03598, 0.46402, 0, 0, 0.5], + "8594": [-0.03598, 0.46402, 0, 0, 0.5], + "8602": [-0.13313, 0.36687, 0, 0, 1.0], + "8603": [-0.13313, 0.36687, 0, 0, 1.0], + "8606": [0.01354, 0.52239, 0, 0, 1.0], + "8608": [0.01354, 0.52239, 0, 0, 1.0], + "8610": [0.01354, 0.52239, 0, 0, 1.11111], + "8611": [0.01354, 0.52239, 0, 0, 1.11111], + "8619": [0, 0.54986, 0, 0, 1.0], + "8620": [0, 0.54986, 0, 0, 1.0], + "8621": [-0.13313, 0.37788, 0, 0, 1.38889], + "8622": [-0.13313, 0.36687, 0, 0, 1.0], + "8624": [0, 0.69224, 0, 0, 0.5], + "8625": [0, 0.69224, 0, 0, 0.5], + "8630": [0, 0.43056, 0, 0, 1.0], + "8631": [0, 0.43056, 0, 0, 1.0], + "8634": [0.08198, 0.58198, 0, 0, 0.77778], + "8635": [0.08198, 0.58198, 0, 0, 0.77778], + "8638": [0.19444, 0.69224, 0, 0, 0.41667], + "8639": [0.19444, 0.69224, 0, 0, 0.41667], + "8642": [0.19444, 0.69224, 0, 0, 0.41667], + "8643": [0.19444, 0.69224, 0, 0, 0.41667], + "8644": [0.1808, 0.675, 0, 0, 1.0], + "8646": [0.1808, 0.675, 0, 0, 1.0], + "8647": [0.1808, 0.675, 0, 0, 1.0], + "8648": [0.19444, 0.69224, 0, 0, 0.83334], + "8649": [0.1808, 0.675, 0, 0, 1.0], + "8650": [0.19444, 0.69224, 0, 0, 0.83334], + "8651": [0.01354, 0.52239, 0, 0, 1.0], + "8652": [0.01354, 0.52239, 0, 0, 1.0], + "8653": [-0.13313, 0.36687, 0, 0, 1.0], + "8654": [-0.13313, 0.36687, 0, 0, 1.0], + "8655": [-0.13313, 0.36687, 0, 0, 1.0], + "8666": [0.13667, 0.63667, 0, 0, 1.0], + "8667": [0.13667, 0.63667, 0, 0, 1.0], + "8669": [-0.13313, 0.37788, 0, 0, 1.0], + "8672": [-0.064, 0.437, 0, 0, 1.334], + "8674": [-0.064, 0.437, 0, 0, 1.334], + "8705": [0, 0.825, 0, 0, 0.5], + "8708": [0, 0.68889, 0, 0, 0.55556], + "8709": [0.08167, 0.58167, 0, 0, 0.77778], + "8717": [0, 0.43056, 0, 0, 0.42917], + "8722": [-0.03598, 0.46402, 0, 0, 0.5], + "8724": [0.08198, 0.69224, 0, 0, 0.77778], + "8726": [0.08167, 0.58167, 0, 0, 0.77778], + "8733": [0, 0.69224, 0, 0, 0.77778], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8737": [0, 0.69224, 0, 0, 0.72222], + "8738": [0.03517, 0.52239, 0, 0, 0.72222], + "8739": [0.08167, 0.58167, 0, 0, 0.22222], + "8740": [0.25142, 0.74111, 0, 0, 0.27778], + "8741": [0.08167, 0.58167, 0, 0, 0.38889], + "8742": [0.25142, 0.74111, 0, 0, 0.5], + "8756": [0, 0.69224, 0, 0, 0.66667], + "8757": [0, 0.69224, 0, 0, 0.66667], + "8764": [-0.13313, 0.36687, 0, 0, 0.77778], + "8765": [-0.13313, 0.37788, 0, 0, 0.77778], + "8769": [-0.13313, 0.36687, 0, 0, 0.77778], + "8770": [-0.03625, 0.46375, 0, 0, 0.77778], + "8774": [0.30274, 0.79383, 0, 0, 0.77778], + "8776": [-0.01688, 0.48312, 0, 0, 0.77778], + "8778": [0.08167, 0.58167, 0, 0, 0.77778], + "8782": [0.06062, 0.54986, 0, 0, 0.77778], + "8783": [0.06062, 0.54986, 0, 0, 0.77778], + "8785": [0.08198, 0.58198, 0, 0, 0.77778], + "8786": [0.08198, 0.58198, 0, 0, 0.77778], + "8787": [0.08198, 0.58198, 0, 0, 0.77778], + "8790": [0, 0.69224, 0, 0, 0.77778], + "8791": [0.22958, 0.72958, 0, 0, 0.77778], + "8796": [0.08198, 0.91667, 0, 0, 0.77778], + "8806": [0.25583, 0.75583, 0, 0, 0.77778], + "8807": [0.25583, 0.75583, 0, 0, 0.77778], + "8808": [0.25142, 0.75726, 0, 0, 0.77778], + "8809": [0.25142, 0.75726, 0, 0, 0.77778], + "8812": [0.25583, 0.75583, 0, 0, 0.5], + "8814": [0.20576, 0.70576, 0, 0, 0.77778], + "8815": [0.20576, 0.70576, 0, 0, 0.77778], + "8816": [0.30274, 0.79383, 0, 0, 0.77778], + "8817": [0.30274, 0.79383, 0, 0, 0.77778], + "8818": [0.22958, 0.72958, 0, 0, 0.77778], + "8819": [0.22958, 0.72958, 0, 0, 0.77778], + "8822": [0.1808, 0.675, 0, 0, 0.77778], + "8823": [0.1808, 0.675, 0, 0, 0.77778], + "8828": [0.13667, 0.63667, 0, 0, 0.77778], + "8829": [0.13667, 0.63667, 0, 0, 0.77778], + "8830": [0.22958, 0.72958, 0, 0, 0.77778], + "8831": [0.22958, 0.72958, 0, 0, 0.77778], + "8832": [0.20576, 0.70576, 0, 0, 0.77778], + "8833": [0.20576, 0.70576, 0, 0, 0.77778], + "8840": [0.30274, 0.79383, 0, 0, 0.77778], + "8841": [0.30274, 0.79383, 0, 0, 0.77778], + "8842": [0.13597, 0.63597, 0, 0, 0.77778], + "8843": [0.13597, 0.63597, 0, 0, 0.77778], + "8847": [0.03517, 0.54986, 0, 0, 0.77778], + "8848": [0.03517, 0.54986, 0, 0, 0.77778], + "8858": [0.08198, 0.58198, 0, 0, 0.77778], + "8859": [0.08198, 0.58198, 0, 0, 0.77778], + "8861": [0.08198, 0.58198, 0, 0, 0.77778], + "8862": [0, 0.675, 0, 0, 0.77778], + "8863": [0, 0.675, 0, 0, 0.77778], + "8864": [0, 0.675, 0, 0, 0.77778], + "8865": [0, 0.675, 0, 0, 0.77778], + "8872": [0, 0.69224, 0, 0, 0.61111], + "8873": [0, 0.69224, 0, 0, 0.72222], + "8874": [0, 0.69224, 0, 0, 0.88889], + "8876": [0, 0.68889, 0, 0, 0.61111], + "8877": [0, 0.68889, 0, 0, 0.61111], + "8878": [0, 0.68889, 0, 0, 0.72222], + "8879": [0, 0.68889, 0, 0, 0.72222], + "8882": [0.03517, 0.54986, 0, 0, 0.77778], + "8883": [0.03517, 0.54986, 0, 0, 0.77778], + "8884": [0.13667, 0.63667, 0, 0, 0.77778], + "8885": [0.13667, 0.63667, 0, 0, 0.77778], + "8888": [0, 0.54986, 0, 0, 1.11111], + "8890": [0.19444, 0.43056, 0, 0, 0.55556], + "8891": [0.19444, 0.69224, 0, 0, 0.61111], + "8892": [0.19444, 0.69224, 0, 0, 0.61111], + "8901": [0, 0.54986, 0, 0, 0.27778], + "8903": [0.08167, 0.58167, 0, 0, 0.77778], + "8905": [0.08167, 0.58167, 0, 0, 0.77778], + "8906": [0.08167, 0.58167, 0, 0, 0.77778], + "8907": [0, 0.69224, 0, 0, 0.77778], + "8908": [0, 0.69224, 0, 0, 0.77778], + "8909": [-0.03598, 0.46402, 0, 0, 0.77778], + "8910": [0, 0.54986, 0, 0, 0.76042], + "8911": [0, 0.54986, 0, 0, 0.76042], + "8912": [0.03517, 0.54986, 0, 0, 0.77778], + "8913": [0.03517, 0.54986, 0, 0, 0.77778], + "8914": [0, 0.54986, 0, 0, 0.66667], + "8915": [0, 0.54986, 0, 0, 0.66667], + "8916": [0, 0.69224, 0, 0, 0.66667], + "8918": [0.0391, 0.5391, 0, 0, 0.77778], + "8919": [0.0391, 0.5391, 0, 0, 0.77778], + "8920": [0.03517, 0.54986, 0, 0, 1.33334], + "8921": [0.03517, 0.54986, 0, 0, 1.33334], + "8922": [0.38569, 0.88569, 0, 0, 0.77778], + "8923": [0.38569, 0.88569, 0, 0, 0.77778], + "8926": [0.13667, 0.63667, 0, 0, 0.77778], + "8927": [0.13667, 0.63667, 0, 0, 0.77778], + "8928": [0.30274, 0.79383, 0, 0, 0.77778], + "8929": [0.30274, 0.79383, 0, 0, 0.77778], + "8934": [0.23222, 0.74111, 0, 0, 0.77778], + "8935": [0.23222, 0.74111, 0, 0, 0.77778], + "8936": [0.23222, 0.74111, 0, 0, 0.77778], + "8937": [0.23222, 0.74111, 0, 0, 0.77778], + "8938": [0.20576, 0.70576, 0, 0, 0.77778], + "8939": [0.20576, 0.70576, 0, 0, 0.77778], + "8940": [0.30274, 0.79383, 0, 0, 0.77778], + "8941": [0.30274, 0.79383, 0, 0, 0.77778], + "8994": [0.19444, 0.69224, 0, 0, 0.77778], + "8995": [0.19444, 0.69224, 0, 0, 0.77778], + "9416": [0.15559, 0.69224, 0, 0, 0.90222], + "9484": [0, 0.69224, 0, 0, 0.5], + "9488": [0, 0.69224, 0, 0, 0.5], + "9492": [0, 0.37788, 0, 0, 0.5], + "9496": [0, 0.37788, 0, 0, 0.5], + "9585": [0.19444, 0.68889, 0, 0, 0.88889], + "9586": [0.19444, 0.74111, 0, 0, 0.88889], + "9632": [0, 0.675, 0, 0, 0.77778], + "9633": [0, 0.675, 0, 0, 0.77778], + "9650": [0, 0.54986, 0, 0, 0.72222], + "9651": [0, 0.54986, 0, 0, 0.72222], + "9654": [0.03517, 0.54986, 0, 0, 0.77778], + "9660": [0, 0.54986, 0, 0, 0.72222], + "9661": [0, 0.54986, 0, 0, 0.72222], + "9664": [0.03517, 0.54986, 0, 0, 0.77778], + "9674": [0.11111, 0.69224, 0, 0, 0.66667], + "9733": [0.19444, 0.69224, 0, 0, 0.94445], + "10003": [0, 0.69224, 0, 0, 0.83334], + "10016": [0, 0.69224, 0, 0, 0.83334], + "10731": [0.11111, 0.69224, 0, 0, 0.66667], + "10846": [0.19444, 0.75583, 0, 0, 0.61111], + "10877": [0.13667, 0.63667, 0, 0, 0.77778], + "10878": [0.13667, 0.63667, 0, 0, 0.77778], + "10885": [0.25583, 0.75583, 0, 0, 0.77778], + "10886": [0.25583, 0.75583, 0, 0, 0.77778], + "10887": [0.13597, 0.63597, 0, 0, 0.77778], + "10888": [0.13597, 0.63597, 0, 0, 0.77778], + "10889": [0.26167, 0.75726, 0, 0, 0.77778], + "10890": [0.26167, 0.75726, 0, 0, 0.77778], + "10891": [0.48256, 0.98256, 0, 0, 0.77778], + "10892": [0.48256, 0.98256, 0, 0, 0.77778], + "10901": [0.13667, 0.63667, 0, 0, 0.77778], + "10902": [0.13667, 0.63667, 0, 0, 0.77778], + "10933": [0.25142, 0.75726, 0, 0, 0.77778], + "10934": [0.25142, 0.75726, 0, 0, 0.77778], + "10935": [0.26167, 0.75726, 0, 0, 0.77778], + "10936": [0.26167, 0.75726, 0, 0, 0.77778], + "10937": [0.26167, 0.75726, 0, 0, 0.77778], + "10938": [0.26167, 0.75726, 0, 0, 0.77778], + "10949": [0.25583, 0.75583, 0, 0, 0.77778], + "10950": [0.25583, 0.75583, 0, 0, 0.77778], + "10955": [0.28481, 0.79383, 0, 0, 0.77778], + "10956": [0.28481, 0.79383, 0, 0, 0.77778], + "57350": [0.08167, 0.58167, 0, 0, 0.22222], + "57351": [0.08167, 0.58167, 0, 0, 0.38889], + "57352": [0.08167, 0.58167, 0, 0, 0.77778], + "57353": [0, 0.43056, 0.04028, 0, 0.66667], + "57356": [0.25142, 0.75726, 0, 0, 0.77778], + "57357": [0.25142, 0.75726, 0, 0, 0.77778], + "57358": [0.41951, 0.91951, 0, 0, 0.77778], + "57359": [0.30274, 0.79383, 0, 0, 0.77778], + "57360": [0.30274, 0.79383, 0, 0, 0.77778], + "57361": [0.41951, 0.91951, 0, 0, 0.77778], + "57366": [0.25142, 0.75726, 0, 0, 0.77778], + "57367": [0.25142, 0.75726, 0, 0, 0.77778], + "57368": [0.25142, 0.75726, 0, 0, 0.77778], + "57369": [0.25142, 0.75726, 0, 0, 0.77778], + "57370": [0.13597, 0.63597, 0, 0, 0.77778], + "57371": [0.13597, 0.63597, 0, 0, 0.77778] + }, + "Caligraphic-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.68333, 0, 0.19445, 0.79847], + "66": [0, 0.68333, 0.03041, 0.13889, 0.65681], + "67": [0, 0.68333, 0.05834, 0.13889, 0.52653], + "68": [0, 0.68333, 0.02778, 0.08334, 0.77139], + "69": [0, 0.68333, 0.08944, 0.11111, 0.52778], + "70": [0, 0.68333, 0.09931, 0.11111, 0.71875], + "71": [0.09722, 0.68333, 0.0593, 0.11111, 0.59487], + "72": [0, 0.68333, 0.00965, 0.11111, 0.84452], + "73": [0, 0.68333, 0.07382, 0, 0.54452], + "74": [0.09722, 0.68333, 0.18472, 0.16667, 0.67778], + "75": [0, 0.68333, 0.01445, 0.05556, 0.76195], + "76": [0, 0.68333, 0, 0.13889, 0.68972], + "77": [0, 0.68333, 0, 0.13889, 1.2009], + "78": [0, 0.68333, 0.14736, 0.08334, 0.82049], + "79": [0, 0.68333, 0.02778, 0.11111, 0.79611], + "80": [0, 0.68333, 0.08222, 0.08334, 0.69556], + "81": [0.09722, 0.68333, 0, 0.11111, 0.81667], + "82": [0, 0.68333, 0, 0.08334, 0.8475], + "83": [0, 0.68333, 0.075, 0.13889, 0.60556], + "84": [0, 0.68333, 0.25417, 0, 0.54464], + "85": [0, 0.68333, 0.09931, 0.08334, 0.62583], + "86": [0, 0.68333, 0.08222, 0, 0.61278], + "87": [0, 0.68333, 0.08222, 0.08334, 0.98778], + "88": [0, 0.68333, 0.14643, 0.13889, 0.7133], + "89": [0.09722, 0.68333, 0.08222, 0.08334, 0.66834], + "90": [0, 0.68333, 0.07944, 0.13889, 0.72473], + "160": [0, 0, 0, 0, 0.25] + }, + "Fraktur-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69141, 0, 0, 0.29574], + "34": [0, 0.69141, 0, 0, 0.21471], + "38": [0, 0.69141, 0, 0, 0.73786], + "39": [0, 0.69141, 0, 0, 0.21201], + "40": [0.24982, 0.74947, 0, 0, 0.38865], + "41": [0.24982, 0.74947, 0, 0, 0.38865], + "42": [0, 0.62119, 0, 0, 0.27764], + "43": [0.08319, 0.58283, 0, 0, 0.75623], + "44": [0, 0.10803, 0, 0, 0.27764], + "45": [0.08319, 0.58283, 0, 0, 0.75623], + "46": [0, 0.10803, 0, 0, 0.27764], + "47": [0.24982, 0.74947, 0, 0, 0.50181], + "48": [0, 0.47534, 0, 0, 0.50181], + "49": [0, 0.47534, 0, 0, 0.50181], + "50": [0, 0.47534, 0, 0, 0.50181], + "51": [0.18906, 0.47534, 0, 0, 0.50181], + "52": [0.18906, 0.47534, 0, 0, 0.50181], + "53": [0.18906, 0.47534, 0, 0, 0.50181], + "54": [0, 0.69141, 0, 0, 0.50181], + "55": [0.18906, 0.47534, 0, 0, 0.50181], + "56": [0, 0.69141, 0, 0, 0.50181], + "57": [0.18906, 0.47534, 0, 0, 0.50181], + "58": [0, 0.47534, 0, 0, 0.21606], + "59": [0.12604, 0.47534, 0, 0, 0.21606], + "61": [-0.13099, 0.36866, 0, 0, 0.75623], + "63": [0, 0.69141, 0, 0, 0.36245], + "65": [0, 0.69141, 0, 0, 0.7176], + "66": [0, 0.69141, 0, 0, 0.88397], + "67": [0, 0.69141, 0, 0, 0.61254], + "68": [0, 0.69141, 0, 0, 0.83158], + "69": [0, 0.69141, 0, 0, 0.66278], + "70": [0.12604, 0.69141, 0, 0, 0.61119], + "71": [0, 0.69141, 0, 0, 0.78539], + "72": [0.06302, 0.69141, 0, 0, 0.7203], + "73": [0, 0.69141, 0, 0, 0.55448], + "74": [0.12604, 0.69141, 0, 0, 0.55231], + "75": [0, 0.69141, 0, 0, 0.66845], + "76": [0, 0.69141, 0, 0, 0.66602], + "77": [0, 0.69141, 0, 0, 1.04953], + "78": [0, 0.69141, 0, 0, 0.83212], + "79": [0, 0.69141, 0, 0, 0.82699], + "80": [0.18906, 0.69141, 0, 0, 0.82753], + "81": [0.03781, 0.69141, 0, 0, 0.82699], + "82": [0, 0.69141, 0, 0, 0.82807], + "83": [0, 0.69141, 0, 0, 0.82861], + "84": [0, 0.69141, 0, 0, 0.66899], + "85": [0, 0.69141, 0, 0, 0.64576], + "86": [0, 0.69141, 0, 0, 0.83131], + "87": [0, 0.69141, 0, 0, 1.04602], + "88": [0, 0.69141, 0, 0, 0.71922], + "89": [0.18906, 0.69141, 0, 0, 0.83293], + "90": [0.12604, 0.69141, 0, 0, 0.60201], + "91": [0.24982, 0.74947, 0, 0, 0.27764], + "93": [0.24982, 0.74947, 0, 0, 0.27764], + "94": [0, 0.69141, 0, 0, 0.49965], + "97": [0, 0.47534, 0, 0, 0.50046], + "98": [0, 0.69141, 0, 0, 0.51315], + "99": [0, 0.47534, 0, 0, 0.38946], + "100": [0, 0.62119, 0, 0, 0.49857], + "101": [0, 0.47534, 0, 0, 0.40053], + "102": [0.18906, 0.69141, 0, 0, 0.32626], + "103": [0.18906, 0.47534, 0, 0, 0.5037], + "104": [0.18906, 0.69141, 0, 0, 0.52126], + "105": [0, 0.69141, 0, 0, 0.27899], + "106": [0, 0.69141, 0, 0, 0.28088], + "107": [0, 0.69141, 0, 0, 0.38946], + "108": [0, 0.69141, 0, 0, 0.27953], + "109": [0, 0.47534, 0, 0, 0.76676], + "110": [0, 0.47534, 0, 0, 0.52666], + "111": [0, 0.47534, 0, 0, 0.48885], + "112": [0.18906, 0.52396, 0, 0, 0.50046], + "113": [0.18906, 0.47534, 0, 0, 0.48912], + "114": [0, 0.47534, 0, 0, 0.38919], + "115": [0, 0.47534, 0, 0, 0.44266], + "116": [0, 0.62119, 0, 0, 0.33301], + "117": [0, 0.47534, 0, 0, 0.5172], + "118": [0, 0.52396, 0, 0, 0.5118], + "119": [0, 0.52396, 0, 0, 0.77351], + "120": [0.18906, 0.47534, 0, 0, 0.38865], + "121": [0.18906, 0.47534, 0, 0, 0.49884], + "122": [0.18906, 0.47534, 0, 0, 0.39054], + "160": [0, 0, 0, 0, 0.25], + "8216": [0, 0.69141, 0, 0, 0.21471], + "8217": [0, 0.69141, 0, 0, 0.21471], + "58112": [0, 0.62119, 0, 0, 0.49749], + "58113": [0, 0.62119, 0, 0, 0.4983], + "58114": [0.18906, 0.69141, 0, 0, 0.33328], + "58115": [0.18906, 0.69141, 0, 0, 0.32923], + "58116": [0.18906, 0.47534, 0, 0, 0.50343], + "58117": [0, 0.69141, 0, 0, 0.33301], + "58118": [0, 0.62119, 0, 0, 0.33409], + "58119": [0, 0.47534, 0, 0, 0.50073] + }, + "Main-Bold": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.35], + "34": [0, 0.69444, 0, 0, 0.60278], + "35": [0.19444, 0.69444, 0, 0, 0.95833], + "36": [0.05556, 0.75, 0, 0, 0.575], + "37": [0.05556, 0.75, 0, 0, 0.95833], + "38": [0, 0.69444, 0, 0, 0.89444], + "39": [0, 0.69444, 0, 0, 0.31944], + "40": [0.25, 0.75, 0, 0, 0.44722], + "41": [0.25, 0.75, 0, 0, 0.44722], + "42": [0, 0.75, 0, 0, 0.575], + "43": [0.13333, 0.63333, 0, 0, 0.89444], + "44": [0.19444, 0.15556, 0, 0, 0.31944], + "45": [0, 0.44444, 0, 0, 0.38333], + "46": [0, 0.15556, 0, 0, 0.31944], + "47": [0.25, 0.75, 0, 0, 0.575], + "48": [0, 0.64444, 0, 0, 0.575], + "49": [0, 0.64444, 0, 0, 0.575], + "50": [0, 0.64444, 0, 0, 0.575], + "51": [0, 0.64444, 0, 0, 0.575], + "52": [0, 0.64444, 0, 0, 0.575], + "53": [0, 0.64444, 0, 0, 0.575], + "54": [0, 0.64444, 0, 0, 0.575], + "55": [0, 0.64444, 0, 0, 0.575], + "56": [0, 0.64444, 0, 0, 0.575], + "57": [0, 0.64444, 0, 0, 0.575], + "58": [0, 0.44444, 0, 0, 0.31944], + "59": [0.19444, 0.44444, 0, 0, 0.31944], + "60": [0.08556, 0.58556, 0, 0, 0.89444], + "61": [-0.10889, 0.39111, 0, 0, 0.89444], + "62": [0.08556, 0.58556, 0, 0, 0.89444], + "63": [0, 0.69444, 0, 0, 0.54305], + "64": [0, 0.69444, 0, 0, 0.89444], + "65": [0, 0.68611, 0, 0, 0.86944], + "66": [0, 0.68611, 0, 0, 0.81805], + "67": [0, 0.68611, 0, 0, 0.83055], + "68": [0, 0.68611, 0, 0, 0.88194], + "69": [0, 0.68611, 0, 0, 0.75555], + "70": [0, 0.68611, 0, 0, 0.72361], + "71": [0, 0.68611, 0, 0, 0.90416], + "72": [0, 0.68611, 0, 0, 0.9], + "73": [0, 0.68611, 0, 0, 0.43611], + "74": [0, 0.68611, 0, 0, 0.59444], + "75": [0, 0.68611, 0, 0, 0.90138], + "76": [0, 0.68611, 0, 0, 0.69166], + "77": [0, 0.68611, 0, 0, 1.09166], + "78": [0, 0.68611, 0, 0, 0.9], + "79": [0, 0.68611, 0, 0, 0.86388], + "80": [0, 0.68611, 0, 0, 0.78611], + "81": [0.19444, 0.68611, 0, 0, 0.86388], + "82": [0, 0.68611, 0, 0, 0.8625], + "83": [0, 0.68611, 0, 0, 0.63889], + "84": [0, 0.68611, 0, 0, 0.8], + "85": [0, 0.68611, 0, 0, 0.88472], + "86": [0, 0.68611, 0.01597, 0, 0.86944], + "87": [0, 0.68611, 0.01597, 0, 1.18888], + "88": [0, 0.68611, 0, 0, 0.86944], + "89": [0, 0.68611, 0.02875, 0, 0.86944], + "90": [0, 0.68611, 0, 0, 0.70277], + "91": [0.25, 0.75, 0, 0, 0.31944], + "92": [0.25, 0.75, 0, 0, 0.575], + "93": [0.25, 0.75, 0, 0, 0.31944], + "94": [0, 0.69444, 0, 0, 0.575], + "95": [0.31, 0.13444, 0.03194, 0, 0.575], + "97": [0, 0.44444, 0, 0, 0.55902], + "98": [0, 0.69444, 0, 0, 0.63889], + "99": [0, 0.44444, 0, 0, 0.51111], + "100": [0, 0.69444, 0, 0, 0.63889], + "101": [0, 0.44444, 0, 0, 0.52708], + "102": [0, 0.69444, 0.10903, 0, 0.35139], + "103": [0.19444, 0.44444, 0.01597, 0, 0.575], + "104": [0, 0.69444, 0, 0, 0.63889], + "105": [0, 0.69444, 0, 0, 0.31944], + "106": [0.19444, 0.69444, 0, 0, 0.35139], + "107": [0, 0.69444, 0, 0, 0.60694], + "108": [0, 0.69444, 0, 0, 0.31944], + "109": [0, 0.44444, 0, 0, 0.95833], + "110": [0, 0.44444, 0, 0, 0.63889], + "111": [0, 0.44444, 0, 0, 0.575], + "112": [0.19444, 0.44444, 0, 0, 0.63889], + "113": [0.19444, 0.44444, 0, 0, 0.60694], + "114": [0, 0.44444, 0, 0, 0.47361], + "115": [0, 0.44444, 0, 0, 0.45361], + "116": [0, 0.63492, 0, 0, 0.44722], + "117": [0, 0.44444, 0, 0, 0.63889], + "118": [0, 0.44444, 0.01597, 0, 0.60694], + "119": [0, 0.44444, 0.01597, 0, 0.83055], + "120": [0, 0.44444, 0, 0, 0.60694], + "121": [0.19444, 0.44444, 0.01597, 0, 0.60694], + "122": [0, 0.44444, 0, 0, 0.51111], + "123": [0.25, 0.75, 0, 0, 0.575], + "124": [0.25, 0.75, 0, 0, 0.31944], + "125": [0.25, 0.75, 0, 0, 0.575], + "126": [0.35, 0.34444, 0, 0, 0.575], + "160": [0, 0, 0, 0, 0.25], + "163": [0, 0.69444, 0, 0, 0.86853], + "168": [0, 0.69444, 0, 0, 0.575], + "172": [0, 0.44444, 0, 0, 0.76666], + "176": [0, 0.69444, 0, 0, 0.86944], + "177": [0.13333, 0.63333, 0, 0, 0.89444], + "184": [0.17014, 0, 0, 0, 0.51111], + "198": [0, 0.68611, 0, 0, 1.04166], + "215": [0.13333, 0.63333, 0, 0, 0.89444], + "216": [0.04861, 0.73472, 0, 0, 0.89444], + "223": [0, 0.69444, 0, 0, 0.59722], + "230": [0, 0.44444, 0, 0, 0.83055], + "247": [0.13333, 0.63333, 0, 0, 0.89444], + "248": [0.09722, 0.54167, 0, 0, 0.575], + "305": [0, 0.44444, 0, 0, 0.31944], + "338": [0, 0.68611, 0, 0, 1.16944], + "339": [0, 0.44444, 0, 0, 0.89444], + "567": [0.19444, 0.44444, 0, 0, 0.35139], + "710": [0, 0.69444, 0, 0, 0.575], + "711": [0, 0.63194, 0, 0, 0.575], + "713": [0, 0.59611, 0, 0, 0.575], + "714": [0, 0.69444, 0, 0, 0.575], + "715": [0, 0.69444, 0, 0, 0.575], + "728": [0, 0.69444, 0, 0, 0.575], + "729": [0, 0.69444, 0, 0, 0.31944], + "730": [0, 0.69444, 0, 0, 0.86944], + "732": [0, 0.69444, 0, 0, 0.575], + "733": [0, 0.69444, 0, 0, 0.575], + "915": [0, 0.68611, 0, 0, 0.69166], + "916": [0, 0.68611, 0, 0, 0.95833], + "920": [0, 0.68611, 0, 0, 0.89444], + "923": [0, 0.68611, 0, 0, 0.80555], + "926": [0, 0.68611, 0, 0, 0.76666], + "928": [0, 0.68611, 0, 0, 0.9], + "931": [0, 0.68611, 0, 0, 0.83055], + "933": [0, 0.68611, 0, 0, 0.89444], + "934": [0, 0.68611, 0, 0, 0.83055], + "936": [0, 0.68611, 0, 0, 0.89444], + "937": [0, 0.68611, 0, 0, 0.83055], + "8211": [0, 0.44444, 0.03194, 0, 0.575], + "8212": [0, 0.44444, 0.03194, 0, 1.14999], + "8216": [0, 0.69444, 0, 0, 0.31944], + "8217": [0, 0.69444, 0, 0, 0.31944], + "8220": [0, 0.69444, 0, 0, 0.60278], + "8221": [0, 0.69444, 0, 0, 0.60278], + "8224": [0.19444, 0.69444, 0, 0, 0.51111], + "8225": [0.19444, 0.69444, 0, 0, 0.51111], + "8242": [0, 0.55556, 0, 0, 0.34444], + "8407": [0, 0.72444, 0.15486, 0, 0.575], + "8463": [0, 0.69444, 0, 0, 0.66759], + "8465": [0, 0.69444, 0, 0, 0.83055], + "8467": [0, 0.69444, 0, 0, 0.47361], + "8472": [0.19444, 0.44444, 0, 0, 0.74027], + "8476": [0, 0.69444, 0, 0, 0.83055], + "8501": [0, 0.69444, 0, 0, 0.70277], + "8592": [-0.10889, 0.39111, 0, 0, 1.14999], + "8593": [0.19444, 0.69444, 0, 0, 0.575], + "8594": [-0.10889, 0.39111, 0, 0, 1.14999], + "8595": [0.19444, 0.69444, 0, 0, 0.575], + "8596": [-0.10889, 0.39111, 0, 0, 1.14999], + "8597": [0.25, 0.75, 0, 0, 0.575], + "8598": [0.19444, 0.69444, 0, 0, 1.14999], + "8599": [0.19444, 0.69444, 0, 0, 1.14999], + "8600": [0.19444, 0.69444, 0, 0, 1.14999], + "8601": [0.19444, 0.69444, 0, 0, 1.14999], + "8636": [-0.10889, 0.39111, 0, 0, 1.14999], + "8637": [-0.10889, 0.39111, 0, 0, 1.14999], + "8640": [-0.10889, 0.39111, 0, 0, 1.14999], + "8641": [-0.10889, 0.39111, 0, 0, 1.14999], + "8656": [-0.10889, 0.39111, 0, 0, 1.14999], + "8657": [0.19444, 0.69444, 0, 0, 0.70277], + "8658": [-0.10889, 0.39111, 0, 0, 1.14999], + "8659": [0.19444, 0.69444, 0, 0, 0.70277], + "8660": [-0.10889, 0.39111, 0, 0, 1.14999], + "8661": [0.25, 0.75, 0, 0, 0.70277], + "8704": [0, 0.69444, 0, 0, 0.63889], + "8706": [0, 0.69444, 0.06389, 0, 0.62847], + "8707": [0, 0.69444, 0, 0, 0.63889], + "8709": [0.05556, 0.75, 0, 0, 0.575], + "8711": [0, 0.68611, 0, 0, 0.95833], + "8712": [0.08556, 0.58556, 0, 0, 0.76666], + "8715": [0.08556, 0.58556, 0, 0, 0.76666], + "8722": [0.13333, 0.63333, 0, 0, 0.89444], + "8723": [0.13333, 0.63333, 0, 0, 0.89444], + "8725": [0.25, 0.75, 0, 0, 0.575], + "8726": [0.25, 0.75, 0, 0, 0.575], + "8727": [-0.02778, 0.47222, 0, 0, 0.575], + "8728": [-0.02639, 0.47361, 0, 0, 0.575], + "8729": [-0.02639, 0.47361, 0, 0, 0.575], + "8730": [0.18, 0.82, 0, 0, 0.95833], + "8733": [0, 0.44444, 0, 0, 0.89444], + "8734": [0, 0.44444, 0, 0, 1.14999], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8739": [0.25, 0.75, 0, 0, 0.31944], + "8741": [0.25, 0.75, 0, 0, 0.575], + "8743": [0, 0.55556, 0, 0, 0.76666], + "8744": [0, 0.55556, 0, 0, 0.76666], + "8745": [0, 0.55556, 0, 0, 0.76666], + "8746": [0, 0.55556, 0, 0, 0.76666], + "8747": [0.19444, 0.69444, 0.12778, 0, 0.56875], + "8764": [-0.10889, 0.39111, 0, 0, 0.89444], + "8768": [0.19444, 0.69444, 0, 0, 0.31944], + "8771": [0.00222, 0.50222, 0, 0, 0.89444], + "8776": [0.02444, 0.52444, 0, 0, 0.89444], + "8781": [0.00222, 0.50222, 0, 0, 0.89444], + "8801": [0.00222, 0.50222, 0, 0, 0.89444], + "8804": [0.19667, 0.69667, 0, 0, 0.89444], + "8805": [0.19667, 0.69667, 0, 0, 0.89444], + "8810": [0.08556, 0.58556, 0, 0, 1.14999], + "8811": [0.08556, 0.58556, 0, 0, 1.14999], + "8826": [0.08556, 0.58556, 0, 0, 0.89444], + "8827": [0.08556, 0.58556, 0, 0, 0.89444], + "8834": [0.08556, 0.58556, 0, 0, 0.89444], + "8835": [0.08556, 0.58556, 0, 0, 0.89444], + "8838": [0.19667, 0.69667, 0, 0, 0.89444], + "8839": [0.19667, 0.69667, 0, 0, 0.89444], + "8846": [0, 0.55556, 0, 0, 0.76666], + "8849": [0.19667, 0.69667, 0, 0, 0.89444], + "8850": [0.19667, 0.69667, 0, 0, 0.89444], + "8851": [0, 0.55556, 0, 0, 0.76666], + "8852": [0, 0.55556, 0, 0, 0.76666], + "8853": [0.13333, 0.63333, 0, 0, 0.89444], + "8854": [0.13333, 0.63333, 0, 0, 0.89444], + "8855": [0.13333, 0.63333, 0, 0, 0.89444], + "8856": [0.13333, 0.63333, 0, 0, 0.89444], + "8857": [0.13333, 0.63333, 0, 0, 0.89444], + "8866": [0, 0.69444, 0, 0, 0.70277], + "8867": [0, 0.69444, 0, 0, 0.70277], + "8868": [0, 0.69444, 0, 0, 0.89444], + "8869": [0, 0.69444, 0, 0, 0.89444], + "8900": [-0.02639, 0.47361, 0, 0, 0.575], + "8901": [-0.02639, 0.47361, 0, 0, 0.31944], + "8902": [-0.02778, 0.47222, 0, 0, 0.575], + "8968": [0.25, 0.75, 0, 0, 0.51111], + "8969": [0.25, 0.75, 0, 0, 0.51111], + "8970": [0.25, 0.75, 0, 0, 0.51111], + "8971": [0.25, 0.75, 0, 0, 0.51111], + "8994": [-0.13889, 0.36111, 0, 0, 1.14999], + "8995": [-0.13889, 0.36111, 0, 0, 1.14999], + "9651": [0.19444, 0.69444, 0, 0, 1.02222], + "9657": [-0.02778, 0.47222, 0, 0, 0.575], + "9661": [0.19444, 0.69444, 0, 0, 1.02222], + "9667": [-0.02778, 0.47222, 0, 0, 0.575], + "9711": [0.19444, 0.69444, 0, 0, 1.14999], + "9824": [0.12963, 0.69444, 0, 0, 0.89444], + "9825": [0.12963, 0.69444, 0, 0, 0.89444], + "9826": [0.12963, 0.69444, 0, 0, 0.89444], + "9827": [0.12963, 0.69444, 0, 0, 0.89444], + "9837": [0, 0.75, 0, 0, 0.44722], + "9838": [0.19444, 0.69444, 0, 0, 0.44722], + "9839": [0.19444, 0.69444, 0, 0, 0.44722], + "10216": [0.25, 0.75, 0, 0, 0.44722], + "10217": [0.25, 0.75, 0, 0, 0.44722], + "10815": [0, 0.68611, 0, 0, 0.9], + "10927": [0.19667, 0.69667, 0, 0, 0.89444], + "10928": [0.19667, 0.69667, 0, 0, 0.89444], + "57376": [0.19444, 0.69444, 0, 0, 0] + }, + "Main-BoldItalic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.11417, 0, 0.38611], + "34": [0, 0.69444, 0.07939, 0, 0.62055], + "35": [0.19444, 0.69444, 0.06833, 0, 0.94444], + "37": [0.05556, 0.75, 0.12861, 0, 0.94444], + "38": [0, 0.69444, 0.08528, 0, 0.88555], + "39": [0, 0.69444, 0.12945, 0, 0.35555], + "40": [0.25, 0.75, 0.15806, 0, 0.47333], + "41": [0.25, 0.75, 0.03306, 0, 0.47333], + "42": [0, 0.75, 0.14333, 0, 0.59111], + "43": [0.10333, 0.60333, 0.03306, 0, 0.88555], + "44": [0.19444, 0.14722, 0, 0, 0.35555], + "45": [0, 0.44444, 0.02611, 0, 0.41444], + "46": [0, 0.14722, 0, 0, 0.35555], + "47": [0.25, 0.75, 0.15806, 0, 0.59111], + "48": [0, 0.64444, 0.13167, 0, 0.59111], + "49": [0, 0.64444, 0.13167, 0, 0.59111], + "50": [0, 0.64444, 0.13167, 0, 0.59111], + "51": [0, 0.64444, 0.13167, 0, 0.59111], + "52": [0.19444, 0.64444, 0.13167, 0, 0.59111], + "53": [0, 0.64444, 0.13167, 0, 0.59111], + "54": [0, 0.64444, 0.13167, 0, 0.59111], + "55": [0.19444, 0.64444, 0.13167, 0, 0.59111], + "56": [0, 0.64444, 0.13167, 0, 0.59111], + "57": [0, 0.64444, 0.13167, 0, 0.59111], + "58": [0, 0.44444, 0.06695, 0, 0.35555], + "59": [0.19444, 0.44444, 0.06695, 0, 0.35555], + "61": [-0.10889, 0.39111, 0.06833, 0, 0.88555], + "63": [0, 0.69444, 0.11472, 0, 0.59111], + "64": [0, 0.69444, 0.09208, 0, 0.88555], + "65": [0, 0.68611, 0, 0, 0.86555], + "66": [0, 0.68611, 0.0992, 0, 0.81666], + "67": [0, 0.68611, 0.14208, 0, 0.82666], + "68": [0, 0.68611, 0.09062, 0, 0.87555], + "69": [0, 0.68611, 0.11431, 0, 0.75666], + "70": [0, 0.68611, 0.12903, 0, 0.72722], + "71": [0, 0.68611, 0.07347, 0, 0.89527], + "72": [0, 0.68611, 0.17208, 0, 0.8961], + "73": [0, 0.68611, 0.15681, 0, 0.47166], + "74": [0, 0.68611, 0.145, 0, 0.61055], + "75": [0, 0.68611, 0.14208, 0, 0.89499], + "76": [0, 0.68611, 0, 0, 0.69777], + "77": [0, 0.68611, 0.17208, 0, 1.07277], + "78": [0, 0.68611, 0.17208, 0, 0.8961], + "79": [0, 0.68611, 0.09062, 0, 0.85499], + "80": [0, 0.68611, 0.0992, 0, 0.78721], + "81": [0.19444, 0.68611, 0.09062, 0, 0.85499], + "82": [0, 0.68611, 0.02559, 0, 0.85944], + "83": [0, 0.68611, 0.11264, 0, 0.64999], + "84": [0, 0.68611, 0.12903, 0, 0.7961], + "85": [0, 0.68611, 0.17208, 0, 0.88083], + "86": [0, 0.68611, 0.18625, 0, 0.86555], + "87": [0, 0.68611, 0.18625, 0, 1.15999], + "88": [0, 0.68611, 0.15681, 0, 0.86555], + "89": [0, 0.68611, 0.19803, 0, 0.86555], + "90": [0, 0.68611, 0.14208, 0, 0.70888], + "91": [0.25, 0.75, 0.1875, 0, 0.35611], + "93": [0.25, 0.75, 0.09972, 0, 0.35611], + "94": [0, 0.69444, 0.06709, 0, 0.59111], + "95": [0.31, 0.13444, 0.09811, 0, 0.59111], + "97": [0, 0.44444, 0.09426, 0, 0.59111], + "98": [0, 0.69444, 0.07861, 0, 0.53222], + "99": [0, 0.44444, 0.05222, 0, 0.53222], + "100": [0, 0.69444, 0.10861, 0, 0.59111], + "101": [0, 0.44444, 0.085, 0, 0.53222], + "102": [0.19444, 0.69444, 0.21778, 0, 0.4], + "103": [0.19444, 0.44444, 0.105, 0, 0.53222], + "104": [0, 0.69444, 0.09426, 0, 0.59111], + "105": [0, 0.69326, 0.11387, 0, 0.35555], + "106": [0.19444, 0.69326, 0.1672, 0, 0.35555], + "107": [0, 0.69444, 0.11111, 0, 0.53222], + "108": [0, 0.69444, 0.10861, 0, 0.29666], + "109": [0, 0.44444, 0.09426, 0, 0.94444], + "110": [0, 0.44444, 0.09426, 0, 0.64999], + "111": [0, 0.44444, 0.07861, 0, 0.59111], + "112": [0.19444, 0.44444, 0.07861, 0, 0.59111], + "113": [0.19444, 0.44444, 0.105, 0, 0.53222], + "114": [0, 0.44444, 0.11111, 0, 0.50167], + "115": [0, 0.44444, 0.08167, 0, 0.48694], + "116": [0, 0.63492, 0.09639, 0, 0.385], + "117": [0, 0.44444, 0.09426, 0, 0.62055], + "118": [0, 0.44444, 0.11111, 0, 0.53222], + "119": [0, 0.44444, 0.11111, 0, 0.76777], + "120": [0, 0.44444, 0.12583, 0, 0.56055], + "121": [0.19444, 0.44444, 0.105, 0, 0.56166], + "122": [0, 0.44444, 0.13889, 0, 0.49055], + "126": [0.35, 0.34444, 0.11472, 0, 0.59111], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.69444, 0.11473, 0, 0.59111], + "176": [0, 0.69444, 0, 0, 0.94888], + "184": [0.17014, 0, 0, 0, 0.53222], + "198": [0, 0.68611, 0.11431, 0, 1.02277], + "216": [0.04861, 0.73472, 0.09062, 0, 0.88555], + "223": [0.19444, 0.69444, 0.09736, 0, 0.665], + "230": [0, 0.44444, 0.085, 0, 0.82666], + "248": [0.09722, 0.54167, 0.09458, 0, 0.59111], + "305": [0, 0.44444, 0.09426, 0, 0.35555], + "338": [0, 0.68611, 0.11431, 0, 1.14054], + "339": [0, 0.44444, 0.085, 0, 0.82666], + "567": [0.19444, 0.44444, 0.04611, 0, 0.385], + "710": [0, 0.69444, 0.06709, 0, 0.59111], + "711": [0, 0.63194, 0.08271, 0, 0.59111], + "713": [0, 0.59444, 0.10444, 0, 0.59111], + "714": [0, 0.69444, 0.08528, 0, 0.59111], + "715": [0, 0.69444, 0, 0, 0.59111], + "728": [0, 0.69444, 0.10333, 0, 0.59111], + "729": [0, 0.69444, 0.12945, 0, 0.35555], + "730": [0, 0.69444, 0, 0, 0.94888], + "732": [0, 0.69444, 0.11472, 0, 0.59111], + "733": [0, 0.69444, 0.11472, 0, 0.59111], + "915": [0, 0.68611, 0.12903, 0, 0.69777], + "916": [0, 0.68611, 0, 0, 0.94444], + "920": [0, 0.68611, 0.09062, 0, 0.88555], + "923": [0, 0.68611, 0, 0, 0.80666], + "926": [0, 0.68611, 0.15092, 0, 0.76777], + "928": [0, 0.68611, 0.17208, 0, 0.8961], + "931": [0, 0.68611, 0.11431, 0, 0.82666], + "933": [0, 0.68611, 0.10778, 0, 0.88555], + "934": [0, 0.68611, 0.05632, 0, 0.82666], + "936": [0, 0.68611, 0.10778, 0, 0.88555], + "937": [0, 0.68611, 0.0992, 0, 0.82666], + "8211": [0, 0.44444, 0.09811, 0, 0.59111], + "8212": [0, 0.44444, 0.09811, 0, 1.18221], + "8216": [0, 0.69444, 0.12945, 0, 0.35555], + "8217": [0, 0.69444, 0.12945, 0, 0.35555], + "8220": [0, 0.69444, 0.16772, 0, 0.62055], + "8221": [0, 0.69444, 0.07939, 0, 0.62055] + }, + "Main-Italic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.12417, 0, 0.30667], + "34": [0, 0.69444, 0.06961, 0, 0.51444], + "35": [0.19444, 0.69444, 0.06616, 0, 0.81777], + "37": [0.05556, 0.75, 0.13639, 0, 0.81777], + "38": [0, 0.69444, 0.09694, 0, 0.76666], + "39": [0, 0.69444, 0.12417, 0, 0.30667], + "40": [0.25, 0.75, 0.16194, 0, 0.40889], + "41": [0.25, 0.75, 0.03694, 0, 0.40889], + "42": [0, 0.75, 0.14917, 0, 0.51111], + "43": [0.05667, 0.56167, 0.03694, 0, 0.76666], + "44": [0.19444, 0.10556, 0, 0, 0.30667], + "45": [0, 0.43056, 0.02826, 0, 0.35778], + "46": [0, 0.10556, 0, 0, 0.30667], + "47": [0.25, 0.75, 0.16194, 0, 0.51111], + "48": [0, 0.64444, 0.13556, 0, 0.51111], + "49": [0, 0.64444, 0.13556, 0, 0.51111], + "50": [0, 0.64444, 0.13556, 0, 0.51111], + "51": [0, 0.64444, 0.13556, 0, 0.51111], + "52": [0.19444, 0.64444, 0.13556, 0, 0.51111], + "53": [0, 0.64444, 0.13556, 0, 0.51111], + "54": [0, 0.64444, 0.13556, 0, 0.51111], + "55": [0.19444, 0.64444, 0.13556, 0, 0.51111], + "56": [0, 0.64444, 0.13556, 0, 0.51111], + "57": [0, 0.64444, 0.13556, 0, 0.51111], + "58": [0, 0.43056, 0.0582, 0, 0.30667], + "59": [0.19444, 0.43056, 0.0582, 0, 0.30667], + "61": [-0.13313, 0.36687, 0.06616, 0, 0.76666], + "63": [0, 0.69444, 0.1225, 0, 0.51111], + "64": [0, 0.69444, 0.09597, 0, 0.76666], + "65": [0, 0.68333, 0, 0, 0.74333], + "66": [0, 0.68333, 0.10257, 0, 0.70389], + "67": [0, 0.68333, 0.14528, 0, 0.71555], + "68": [0, 0.68333, 0.09403, 0, 0.755], + "69": [0, 0.68333, 0.12028, 0, 0.67833], + "70": [0, 0.68333, 0.13305, 0, 0.65277], + "71": [0, 0.68333, 0.08722, 0, 0.77361], + "72": [0, 0.68333, 0.16389, 0, 0.74333], + "73": [0, 0.68333, 0.15806, 0, 0.38555], + "74": [0, 0.68333, 0.14028, 0, 0.525], + "75": [0, 0.68333, 0.14528, 0, 0.76888], + "76": [0, 0.68333, 0, 0, 0.62722], + "77": [0, 0.68333, 0.16389, 0, 0.89666], + "78": [0, 0.68333, 0.16389, 0, 0.74333], + "79": [0, 0.68333, 0.09403, 0, 0.76666], + "80": [0, 0.68333, 0.10257, 0, 0.67833], + "81": [0.19444, 0.68333, 0.09403, 0, 0.76666], + "82": [0, 0.68333, 0.03868, 0, 0.72944], + "83": [0, 0.68333, 0.11972, 0, 0.56222], + "84": [0, 0.68333, 0.13305, 0, 0.71555], + "85": [0, 0.68333, 0.16389, 0, 0.74333], + "86": [0, 0.68333, 0.18361, 0, 0.74333], + "87": [0, 0.68333, 0.18361, 0, 0.99888], + "88": [0, 0.68333, 0.15806, 0, 0.74333], + "89": [0, 0.68333, 0.19383, 0, 0.74333], + "90": [0, 0.68333, 0.14528, 0, 0.61333], + "91": [0.25, 0.75, 0.1875, 0, 0.30667], + "93": [0.25, 0.75, 0.10528, 0, 0.30667], + "94": [0, 0.69444, 0.06646, 0, 0.51111], + "95": [0.31, 0.12056, 0.09208, 0, 0.51111], + "97": [0, 0.43056, 0.07671, 0, 0.51111], + "98": [0, 0.69444, 0.06312, 0, 0.46], + "99": [0, 0.43056, 0.05653, 0, 0.46], + "100": [0, 0.69444, 0.10333, 0, 0.51111], + "101": [0, 0.43056, 0.07514, 0, 0.46], + "102": [0.19444, 0.69444, 0.21194, 0, 0.30667], + "103": [0.19444, 0.43056, 0.08847, 0, 0.46], + "104": [0, 0.69444, 0.07671, 0, 0.51111], + "105": [0, 0.65536, 0.1019, 0, 0.30667], + "106": [0.19444, 0.65536, 0.14467, 0, 0.30667], + "107": [0, 0.69444, 0.10764, 0, 0.46], + "108": [0, 0.69444, 0.10333, 0, 0.25555], + "109": [0, 0.43056, 0.07671, 0, 0.81777], + "110": [0, 0.43056, 0.07671, 0, 0.56222], + "111": [0, 0.43056, 0.06312, 0, 0.51111], + "112": [0.19444, 0.43056, 0.06312, 0, 0.51111], + "113": [0.19444, 0.43056, 0.08847, 0, 0.46], + "114": [0, 0.43056, 0.10764, 0, 0.42166], + "115": [0, 0.43056, 0.08208, 0, 0.40889], + "116": [0, 0.61508, 0.09486, 0, 0.33222], + "117": [0, 0.43056, 0.07671, 0, 0.53666], + "118": [0, 0.43056, 0.10764, 0, 0.46], + "119": [0, 0.43056, 0.10764, 0, 0.66444], + "120": [0, 0.43056, 0.12042, 0, 0.46389], + "121": [0.19444, 0.43056, 0.08847, 0, 0.48555], + "122": [0, 0.43056, 0.12292, 0, 0.40889], + "126": [0.35, 0.31786, 0.11585, 0, 0.51111], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.66786, 0.10474, 0, 0.51111], + "176": [0, 0.69444, 0, 0, 0.83129], + "184": [0.17014, 0, 0, 0, 0.46], + "198": [0, 0.68333, 0.12028, 0, 0.88277], + "216": [0.04861, 0.73194, 0.09403, 0, 0.76666], + "223": [0.19444, 0.69444, 0.10514, 0, 0.53666], + "230": [0, 0.43056, 0.07514, 0, 0.71555], + "248": [0.09722, 0.52778, 0.09194, 0, 0.51111], + "338": [0, 0.68333, 0.12028, 0, 0.98499], + "339": [0, 0.43056, 0.07514, 0, 0.71555], + "710": [0, 0.69444, 0.06646, 0, 0.51111], + "711": [0, 0.62847, 0.08295, 0, 0.51111], + "713": [0, 0.56167, 0.10333, 0, 0.51111], + "714": [0, 0.69444, 0.09694, 0, 0.51111], + "715": [0, 0.69444, 0, 0, 0.51111], + "728": [0, 0.69444, 0.10806, 0, 0.51111], + "729": [0, 0.66786, 0.11752, 0, 0.30667], + "730": [0, 0.69444, 0, 0, 0.83129], + "732": [0, 0.66786, 0.11585, 0, 0.51111], + "733": [0, 0.69444, 0.1225, 0, 0.51111], + "915": [0, 0.68333, 0.13305, 0, 0.62722], + "916": [0, 0.68333, 0, 0, 0.81777], + "920": [0, 0.68333, 0.09403, 0, 0.76666], + "923": [0, 0.68333, 0, 0, 0.69222], + "926": [0, 0.68333, 0.15294, 0, 0.66444], + "928": [0, 0.68333, 0.16389, 0, 0.74333], + "931": [0, 0.68333, 0.12028, 0, 0.71555], + "933": [0, 0.68333, 0.11111, 0, 0.76666], + "934": [0, 0.68333, 0.05986, 0, 0.71555], + "936": [0, 0.68333, 0.11111, 0, 0.76666], + "937": [0, 0.68333, 0.10257, 0, 0.71555], + "8211": [0, 0.43056, 0.09208, 0, 0.51111], + "8212": [0, 0.43056, 0.09208, 0, 1.02222], + "8216": [0, 0.69444, 0.12417, 0, 0.30667], + "8217": [0, 0.69444, 0.12417, 0, 0.30667], + "8220": [0, 0.69444, 0.1685, 0, 0.51444], + "8221": [0, 0.69444, 0.06961, 0, 0.51444], + "8463": [0, 0.68889, 0, 0, 0.54028] + }, + "Main-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.27778], + "34": [0, 0.69444, 0, 0, 0.5], + "35": [0.19444, 0.69444, 0, 0, 0.83334], + "36": [0.05556, 0.75, 0, 0, 0.5], + "37": [0.05556, 0.75, 0, 0, 0.83334], + "38": [0, 0.69444, 0, 0, 0.77778], + "39": [0, 0.69444, 0, 0, 0.27778], + "40": [0.25, 0.75, 0, 0, 0.38889], + "41": [0.25, 0.75, 0, 0, 0.38889], + "42": [0, 0.75, 0, 0, 0.5], + "43": [0.08333, 0.58333, 0, 0, 0.77778], + "44": [0.19444, 0.10556, 0, 0, 0.27778], + "45": [0, 0.43056, 0, 0, 0.33333], + "46": [0, 0.10556, 0, 0, 0.27778], + "47": [0.25, 0.75, 0, 0, 0.5], + "48": [0, 0.64444, 0, 0, 0.5], + "49": [0, 0.64444, 0, 0, 0.5], + "50": [0, 0.64444, 0, 0, 0.5], + "51": [0, 0.64444, 0, 0, 0.5], + "52": [0, 0.64444, 0, 0, 0.5], + "53": [0, 0.64444, 0, 0, 0.5], + "54": [0, 0.64444, 0, 0, 0.5], + "55": [0, 0.64444, 0, 0, 0.5], + "56": [0, 0.64444, 0, 0, 0.5], + "57": [0, 0.64444, 0, 0, 0.5], + "58": [0, 0.43056, 0, 0, 0.27778], + "59": [0.19444, 0.43056, 0, 0, 0.27778], + "60": [0.0391, 0.5391, 0, 0, 0.77778], + "61": [-0.13313, 0.36687, 0, 0, 0.77778], + "62": [0.0391, 0.5391, 0, 0, 0.77778], + "63": [0, 0.69444, 0, 0, 0.47222], + "64": [0, 0.69444, 0, 0, 0.77778], + "65": [0, 0.68333, 0, 0, 0.75], + "66": [0, 0.68333, 0, 0, 0.70834], + "67": [0, 0.68333, 0, 0, 0.72222], + "68": [0, 0.68333, 0, 0, 0.76389], + "69": [0, 0.68333, 0, 0, 0.68056], + "70": [0, 0.68333, 0, 0, 0.65278], + "71": [0, 0.68333, 0, 0, 0.78472], + "72": [0, 0.68333, 0, 0, 0.75], + "73": [0, 0.68333, 0, 0, 0.36111], + "74": [0, 0.68333, 0, 0, 0.51389], + "75": [0, 0.68333, 0, 0, 0.77778], + "76": [0, 0.68333, 0, 0, 0.625], + "77": [0, 0.68333, 0, 0, 0.91667], + "78": [0, 0.68333, 0, 0, 0.75], + "79": [0, 0.68333, 0, 0, 0.77778], + "80": [0, 0.68333, 0, 0, 0.68056], + "81": [0.19444, 0.68333, 0, 0, 0.77778], + "82": [0, 0.68333, 0, 0, 0.73611], + "83": [0, 0.68333, 0, 0, 0.55556], + "84": [0, 0.68333, 0, 0, 0.72222], + "85": [0, 0.68333, 0, 0, 0.75], + "86": [0, 0.68333, 0.01389, 0, 0.75], + "87": [0, 0.68333, 0.01389, 0, 1.02778], + "88": [0, 0.68333, 0, 0, 0.75], + "89": [0, 0.68333, 0.025, 0, 0.75], + "90": [0, 0.68333, 0, 0, 0.61111], + "91": [0.25, 0.75, 0, 0, 0.27778], + "92": [0.25, 0.75, 0, 0, 0.5], + "93": [0.25, 0.75, 0, 0, 0.27778], + "94": [0, 0.69444, 0, 0, 0.5], + "95": [0.31, 0.12056, 0.02778, 0, 0.5], + "97": [0, 0.43056, 0, 0, 0.5], + "98": [0, 0.69444, 0, 0, 0.55556], + "99": [0, 0.43056, 0, 0, 0.44445], + "100": [0, 0.69444, 0, 0, 0.55556], + "101": [0, 0.43056, 0, 0, 0.44445], + "102": [0, 0.69444, 0.07778, 0, 0.30556], + "103": [0.19444, 0.43056, 0.01389, 0, 0.5], + "104": [0, 0.69444, 0, 0, 0.55556], + "105": [0, 0.66786, 0, 0, 0.27778], + "106": [0.19444, 0.66786, 0, 0, 0.30556], + "107": [0, 0.69444, 0, 0, 0.52778], + "108": [0, 0.69444, 0, 0, 0.27778], + "109": [0, 0.43056, 0, 0, 0.83334], + "110": [0, 0.43056, 0, 0, 0.55556], + "111": [0, 0.43056, 0, 0, 0.5], + "112": [0.19444, 0.43056, 0, 0, 0.55556], + "113": [0.19444, 0.43056, 0, 0, 0.52778], + "114": [0, 0.43056, 0, 0, 0.39167], + "115": [0, 0.43056, 0, 0, 0.39445], + "116": [0, 0.61508, 0, 0, 0.38889], + "117": [0, 0.43056, 0, 0, 0.55556], + "118": [0, 0.43056, 0.01389, 0, 0.52778], + "119": [0, 0.43056, 0.01389, 0, 0.72222], + "120": [0, 0.43056, 0, 0, 0.52778], + "121": [0.19444, 0.43056, 0.01389, 0, 0.52778], + "122": [0, 0.43056, 0, 0, 0.44445], + "123": [0.25, 0.75, 0, 0, 0.5], + "124": [0.25, 0.75, 0, 0, 0.27778], + "125": [0.25, 0.75, 0, 0, 0.5], + "126": [0.35, 0.31786, 0, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "163": [0, 0.69444, 0, 0, 0.76909], + "167": [0.19444, 0.69444, 0, 0, 0.44445], + "168": [0, 0.66786, 0, 0, 0.5], + "172": [0, 0.43056, 0, 0, 0.66667], + "176": [0, 0.69444, 0, 0, 0.75], + "177": [0.08333, 0.58333, 0, 0, 0.77778], + "182": [0.19444, 0.69444, 0, 0, 0.61111], + "184": [0.17014, 0, 0, 0, 0.44445], + "198": [0, 0.68333, 0, 0, 0.90278], + "215": [0.08333, 0.58333, 0, 0, 0.77778], + "216": [0.04861, 0.73194, 0, 0, 0.77778], + "223": [0, 0.69444, 0, 0, 0.5], + "230": [0, 0.43056, 0, 0, 0.72222], + "247": [0.08333, 0.58333, 0, 0, 0.77778], + "248": [0.09722, 0.52778, 0, 0, 0.5], + "305": [0, 0.43056, 0, 0, 0.27778], + "338": [0, 0.68333, 0, 0, 1.01389], + "339": [0, 0.43056, 0, 0, 0.77778], + "567": [0.19444, 0.43056, 0, 0, 0.30556], + "710": [0, 0.69444, 0, 0, 0.5], + "711": [0, 0.62847, 0, 0, 0.5], + "713": [0, 0.56778, 0, 0, 0.5], + "714": [0, 0.69444, 0, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0, 0, 0.5], + "729": [0, 0.66786, 0, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.75], + "732": [0, 0.66786, 0, 0, 0.5], + "733": [0, 0.69444, 0, 0, 0.5], + "915": [0, 0.68333, 0, 0, 0.625], + "916": [0, 0.68333, 0, 0, 0.83334], + "920": [0, 0.68333, 0, 0, 0.77778], + "923": [0, 0.68333, 0, 0, 0.69445], + "926": [0, 0.68333, 0, 0, 0.66667], + "928": [0, 0.68333, 0, 0, 0.75], + "931": [0, 0.68333, 0, 0, 0.72222], + "933": [0, 0.68333, 0, 0, 0.77778], + "934": [0, 0.68333, 0, 0, 0.72222], + "936": [0, 0.68333, 0, 0, 0.77778], + "937": [0, 0.68333, 0, 0, 0.72222], + "8211": [0, 0.43056, 0.02778, 0, 0.5], + "8212": [0, 0.43056, 0.02778, 0, 1.0], + "8216": [0, 0.69444, 0, 0, 0.27778], + "8217": [0, 0.69444, 0, 0, 0.27778], + "8220": [0, 0.69444, 0, 0, 0.5], + "8221": [0, 0.69444, 0, 0, 0.5], + "8224": [0.19444, 0.69444, 0, 0, 0.44445], + "8225": [0.19444, 0.69444, 0, 0, 0.44445], + "8230": [0, 0.12, 0, 0, 1.172], + "8242": [0, 0.55556, 0, 0, 0.275], + "8407": [0, 0.71444, 0.15382, 0, 0.5], + "8463": [0, 0.68889, 0, 0, 0.54028], + "8465": [0, 0.69444, 0, 0, 0.72222], + "8467": [0, 0.69444, 0, 0.11111, 0.41667], + "8472": [0.19444, 0.43056, 0, 0.11111, 0.63646], + "8476": [0, 0.69444, 0, 0, 0.72222], + "8501": [0, 0.69444, 0, 0, 0.61111], + "8592": [-0.13313, 0.36687, 0, 0, 1.0], + "8593": [0.19444, 0.69444, 0, 0, 0.5], + "8594": [-0.13313, 0.36687, 0, 0, 1.0], + "8595": [0.19444, 0.69444, 0, 0, 0.5], + "8596": [-0.13313, 0.36687, 0, 0, 1.0], + "8597": [0.25, 0.75, 0, 0, 0.5], + "8598": [0.19444, 0.69444, 0, 0, 1.0], + "8599": [0.19444, 0.69444, 0, 0, 1.0], + "8600": [0.19444, 0.69444, 0, 0, 1.0], + "8601": [0.19444, 0.69444, 0, 0, 1.0], + "8614": [0.011, 0.511, 0, 0, 1.0], + "8617": [0.011, 0.511, 0, 0, 1.126], + "8618": [0.011, 0.511, 0, 0, 1.126], + "8636": [-0.13313, 0.36687, 0, 0, 1.0], + "8637": [-0.13313, 0.36687, 0, 0, 1.0], + "8640": [-0.13313, 0.36687, 0, 0, 1.0], + "8641": [-0.13313, 0.36687, 0, 0, 1.0], + "8652": [0.011, 0.671, 0, 0, 1.0], + "8656": [-0.13313, 0.36687, 0, 0, 1.0], + "8657": [0.19444, 0.69444, 0, 0, 0.61111], + "8658": [-0.13313, 0.36687, 0, 0, 1.0], + "8659": [0.19444, 0.69444, 0, 0, 0.61111], + "8660": [-0.13313, 0.36687, 0, 0, 1.0], + "8661": [0.25, 0.75, 0, 0, 0.61111], + "8704": [0, 0.69444, 0, 0, 0.55556], + "8706": [0, 0.69444, 0.05556, 0.08334, 0.5309], + "8707": [0, 0.69444, 0, 0, 0.55556], + "8709": [0.05556, 0.75, 0, 0, 0.5], + "8711": [0, 0.68333, 0, 0, 0.83334], + "8712": [0.0391, 0.5391, 0, 0, 0.66667], + "8715": [0.0391, 0.5391, 0, 0, 0.66667], + "8722": [0.08333, 0.58333, 0, 0, 0.77778], + "8723": [0.08333, 0.58333, 0, 0, 0.77778], + "8725": [0.25, 0.75, 0, 0, 0.5], + "8726": [0.25, 0.75, 0, 0, 0.5], + "8727": [-0.03472, 0.46528, 0, 0, 0.5], + "8728": [-0.05555, 0.44445, 0, 0, 0.5], + "8729": [-0.05555, 0.44445, 0, 0, 0.5], + "8730": [0.2, 0.8, 0, 0, 0.83334], + "8733": [0, 0.43056, 0, 0, 0.77778], + "8734": [0, 0.43056, 0, 0, 1.0], + "8736": [0, 0.69224, 0, 0, 0.72222], + "8739": [0.25, 0.75, 0, 0, 0.27778], + "8741": [0.25, 0.75, 0, 0, 0.5], + "8743": [0, 0.55556, 0, 0, 0.66667], + "8744": [0, 0.55556, 0, 0, 0.66667], + "8745": [0, 0.55556, 0, 0, 0.66667], + "8746": [0, 0.55556, 0, 0, 0.66667], + "8747": [0.19444, 0.69444, 0.11111, 0, 0.41667], + "8764": [-0.13313, 0.36687, 0, 0, 0.77778], + "8768": [0.19444, 0.69444, 0, 0, 0.27778], + "8771": [-0.03625, 0.46375, 0, 0, 0.77778], + "8773": [-0.022, 0.589, 0, 0, 1.0], + "8776": [-0.01688, 0.48312, 0, 0, 0.77778], + "8781": [-0.03625, 0.46375, 0, 0, 0.77778], + "8784": [-0.133, 0.67, 0, 0, 0.778], + "8801": [-0.03625, 0.46375, 0, 0, 0.77778], + "8804": [0.13597, 0.63597, 0, 0, 0.77778], + "8805": [0.13597, 0.63597, 0, 0, 0.77778], + "8810": [0.0391, 0.5391, 0, 0, 1.0], + "8811": [0.0391, 0.5391, 0, 0, 1.0], + "8826": [0.0391, 0.5391, 0, 0, 0.77778], + "8827": [0.0391, 0.5391, 0, 0, 0.77778], + "8834": [0.0391, 0.5391, 0, 0, 0.77778], + "8835": [0.0391, 0.5391, 0, 0, 0.77778], + "8838": [0.13597, 0.63597, 0, 0, 0.77778], + "8839": [0.13597, 0.63597, 0, 0, 0.77778], + "8846": [0, 0.55556, 0, 0, 0.66667], + "8849": [0.13597, 0.63597, 0, 0, 0.77778], + "8850": [0.13597, 0.63597, 0, 0, 0.77778], + "8851": [0, 0.55556, 0, 0, 0.66667], + "8852": [0, 0.55556, 0, 0, 0.66667], + "8853": [0.08333, 0.58333, 0, 0, 0.77778], + "8854": [0.08333, 0.58333, 0, 0, 0.77778], + "8855": [0.08333, 0.58333, 0, 0, 0.77778], + "8856": [0.08333, 0.58333, 0, 0, 0.77778], + "8857": [0.08333, 0.58333, 0, 0, 0.77778], + "8866": [0, 0.69444, 0, 0, 0.61111], + "8867": [0, 0.69444, 0, 0, 0.61111], + "8868": [0, 0.69444, 0, 0, 0.77778], + "8869": [0, 0.69444, 0, 0, 0.77778], + "8872": [0.249, 0.75, 0, 0, 0.867], + "8900": [-0.05555, 0.44445, 0, 0, 0.5], + "8901": [-0.05555, 0.44445, 0, 0, 0.27778], + "8902": [-0.03472, 0.46528, 0, 0, 0.5], + "8904": [0.005, 0.505, 0, 0, 0.9], + "8942": [0.03, 0.9, 0, 0, 0.278], + "8943": [-0.19, 0.31, 0, 0, 1.172], + "8945": [-0.1, 0.82, 0, 0, 1.282], + "8968": [0.25, 0.75, 0, 0, 0.44445], + "8969": [0.25, 0.75, 0, 0, 0.44445], + "8970": [0.25, 0.75, 0, 0, 0.44445], + "8971": [0.25, 0.75, 0, 0, 0.44445], + "8994": [-0.14236, 0.35764, 0, 0, 1.0], + "8995": [-0.14236, 0.35764, 0, 0, 1.0], + "9136": [0.244, 0.744, 0, 0, 0.412], + "9137": [0.244, 0.744, 0, 0, 0.412], + "9651": [0.19444, 0.69444, 0, 0, 0.88889], + "9657": [-0.03472, 0.46528, 0, 0, 0.5], + "9661": [0.19444, 0.69444, 0, 0, 0.88889], + "9667": [-0.03472, 0.46528, 0, 0, 0.5], + "9711": [0.19444, 0.69444, 0, 0, 1.0], + "9824": [0.12963, 0.69444, 0, 0, 0.77778], + "9825": [0.12963, 0.69444, 0, 0, 0.77778], + "9826": [0.12963, 0.69444, 0, 0, 0.77778], + "9827": [0.12963, 0.69444, 0, 0, 0.77778], + "9837": [0, 0.75, 0, 0, 0.38889], + "9838": [0.19444, 0.69444, 0, 0, 0.38889], + "9839": [0.19444, 0.69444, 0, 0, 0.38889], + "10216": [0.25, 0.75, 0, 0, 0.38889], + "10217": [0.25, 0.75, 0, 0, 0.38889], + "10222": [0.244, 0.744, 0, 0, 0.412], + "10223": [0.244, 0.744, 0, 0, 0.412], + "10229": [0.011, 0.511, 0, 0, 1.609], + "10230": [0.011, 0.511, 0, 0, 1.638], + "10231": [0.011, 0.511, 0, 0, 1.859], + "10232": [0.024, 0.525, 0, 0, 1.609], + "10233": [0.024, 0.525, 0, 0, 1.638], + "10234": [0.024, 0.525, 0, 0, 1.858], + "10236": [0.011, 0.511, 0, 0, 1.638], + "10815": [0, 0.68333, 0, 0, 0.75], + "10927": [0.13597, 0.63597, 0, 0, 0.77778], + "10928": [0.13597, 0.63597, 0, 0, 0.77778], + "57376": [0.19444, 0.69444, 0, 0, 0] + }, + "Math-BoldItalic": { + "32": [0, 0, 0, 0, 0.25], + "48": [0, 0.44444, 0, 0, 0.575], + "49": [0, 0.44444, 0, 0, 0.575], + "50": [0, 0.44444, 0, 0, 0.575], + "51": [0.19444, 0.44444, 0, 0, 0.575], + "52": [0.19444, 0.44444, 0, 0, 0.575], + "53": [0.19444, 0.44444, 0, 0, 0.575], + "54": [0, 0.64444, 0, 0, 0.575], + "55": [0.19444, 0.44444, 0, 0, 0.575], + "56": [0, 0.64444, 0, 0, 0.575], + "57": [0.19444, 0.44444, 0, 0, 0.575], + "65": [0, 0.68611, 0, 0, 0.86944], + "66": [0, 0.68611, 0.04835, 0, 0.8664], + "67": [0, 0.68611, 0.06979, 0, 0.81694], + "68": [0, 0.68611, 0.03194, 0, 0.93812], + "69": [0, 0.68611, 0.05451, 0, 0.81007], + "70": [0, 0.68611, 0.15972, 0, 0.68889], + "71": [0, 0.68611, 0, 0, 0.88673], + "72": [0, 0.68611, 0.08229, 0, 0.98229], + "73": [0, 0.68611, 0.07778, 0, 0.51111], + "74": [0, 0.68611, 0.10069, 0, 0.63125], + "75": [0, 0.68611, 0.06979, 0, 0.97118], + "76": [0, 0.68611, 0, 0, 0.75555], + "77": [0, 0.68611, 0.11424, 0, 1.14201], + "78": [0, 0.68611, 0.11424, 0, 0.95034], + "79": [0, 0.68611, 0.03194, 0, 0.83666], + "80": [0, 0.68611, 0.15972, 0, 0.72309], + "81": [0.19444, 0.68611, 0, 0, 0.86861], + "82": [0, 0.68611, 0.00421, 0, 0.87235], + "83": [0, 0.68611, 0.05382, 0, 0.69271], + "84": [0, 0.68611, 0.15972, 0, 0.63663], + "85": [0, 0.68611, 0.11424, 0, 0.80027], + "86": [0, 0.68611, 0.25555, 0, 0.67778], + "87": [0, 0.68611, 0.15972, 0, 1.09305], + "88": [0, 0.68611, 0.07778, 0, 0.94722], + "89": [0, 0.68611, 0.25555, 0, 0.67458], + "90": [0, 0.68611, 0.06979, 0, 0.77257], + "97": [0, 0.44444, 0, 0, 0.63287], + "98": [0, 0.69444, 0, 0, 0.52083], + "99": [0, 0.44444, 0, 0, 0.51342], + "100": [0, 0.69444, 0, 0, 0.60972], + "101": [0, 0.44444, 0, 0, 0.55361], + "102": [0.19444, 0.69444, 0.11042, 0, 0.56806], + "103": [0.19444, 0.44444, 0.03704, 0, 0.5449], + "104": [0, 0.69444, 0, 0, 0.66759], + "105": [0, 0.69326, 0, 0, 0.4048], + "106": [0.19444, 0.69326, 0.0622, 0, 0.47083], + "107": [0, 0.69444, 0.01852, 0, 0.6037], + "108": [0, 0.69444, 0.0088, 0, 0.34815], + "109": [0, 0.44444, 0, 0, 1.0324], + "110": [0, 0.44444, 0, 0, 0.71296], + "111": [0, 0.44444, 0, 0, 0.58472], + "112": [0.19444, 0.44444, 0, 0, 0.60092], + "113": [0.19444, 0.44444, 0.03704, 0, 0.54213], + "114": [0, 0.44444, 0.03194, 0, 0.5287], + "115": [0, 0.44444, 0, 0, 0.53125], + "116": [0, 0.63492, 0, 0, 0.41528], + "117": [0, 0.44444, 0, 0, 0.68102], + "118": [0, 0.44444, 0.03704, 0, 0.56666], + "119": [0, 0.44444, 0.02778, 0, 0.83148], + "120": [0, 0.44444, 0, 0, 0.65903], + "121": [0.19444, 0.44444, 0.03704, 0, 0.59028], + "122": [0, 0.44444, 0.04213, 0, 0.55509], + "160": [0, 0, 0, 0, 0.25], + "915": [0, 0.68611, 0.15972, 0, 0.65694], + "916": [0, 0.68611, 0, 0, 0.95833], + "920": [0, 0.68611, 0.03194, 0, 0.86722], + "923": [0, 0.68611, 0, 0, 0.80555], + "926": [0, 0.68611, 0.07458, 0, 0.84125], + "928": [0, 0.68611, 0.08229, 0, 0.98229], + "931": [0, 0.68611, 0.05451, 0, 0.88507], + "933": [0, 0.68611, 0.15972, 0, 0.67083], + "934": [0, 0.68611, 0, 0, 0.76666], + "936": [0, 0.68611, 0.11653, 0, 0.71402], + "937": [0, 0.68611, 0.04835, 0, 0.8789], + "945": [0, 0.44444, 0, 0, 0.76064], + "946": [0.19444, 0.69444, 0.03403, 0, 0.65972], + "947": [0.19444, 0.44444, 0.06389, 0, 0.59003], + "948": [0, 0.69444, 0.03819, 0, 0.52222], + "949": [0, 0.44444, 0, 0, 0.52882], + "950": [0.19444, 0.69444, 0.06215, 0, 0.50833], + "951": [0.19444, 0.44444, 0.03704, 0, 0.6], + "952": [0, 0.69444, 0.03194, 0, 0.5618], + "953": [0, 0.44444, 0, 0, 0.41204], + "954": [0, 0.44444, 0, 0, 0.66759], + "955": [0, 0.69444, 0, 0, 0.67083], + "956": [0.19444, 0.44444, 0, 0, 0.70787], + "957": [0, 0.44444, 0.06898, 0, 0.57685], + "958": [0.19444, 0.69444, 0.03021, 0, 0.50833], + "959": [0, 0.44444, 0, 0, 0.58472], + "960": [0, 0.44444, 0.03704, 0, 0.68241], + "961": [0.19444, 0.44444, 0, 0, 0.6118], + "962": [0.09722, 0.44444, 0.07917, 0, 0.42361], + "963": [0, 0.44444, 0.03704, 0, 0.68588], + "964": [0, 0.44444, 0.13472, 0, 0.52083], + "965": [0, 0.44444, 0.03704, 0, 0.63055], + "966": [0.19444, 0.44444, 0, 0, 0.74722], + "967": [0.19444, 0.44444, 0, 0, 0.71805], + "968": [0.19444, 0.69444, 0.03704, 0, 0.75833], + "969": [0, 0.44444, 0.03704, 0, 0.71782], + "977": [0, 0.69444, 0, 0, 0.69155], + "981": [0.19444, 0.69444, 0, 0, 0.7125], + "982": [0, 0.44444, 0.03194, 0, 0.975], + "1009": [0.19444, 0.44444, 0, 0, 0.6118], + "1013": [0, 0.44444, 0, 0, 0.48333], + "57649": [0, 0.44444, 0, 0, 0.39352], + "57911": [0.19444, 0.44444, 0, 0, 0.43889] + }, + "Math-Italic": { + "32": [0, 0, 0, 0, 0.25], + "48": [0, 0.43056, 0, 0, 0.5], + "49": [0, 0.43056, 0, 0, 0.5], + "50": [0, 0.43056, 0, 0, 0.5], + "51": [0.19444, 0.43056, 0, 0, 0.5], + "52": [0.19444, 0.43056, 0, 0, 0.5], + "53": [0.19444, 0.43056, 0, 0, 0.5], + "54": [0, 0.64444, 0, 0, 0.5], + "55": [0.19444, 0.43056, 0, 0, 0.5], + "56": [0, 0.64444, 0, 0, 0.5], + "57": [0.19444, 0.43056, 0, 0, 0.5], + "65": [0, 0.68333, 0, 0.13889, 0.75], + "66": [0, 0.68333, 0.05017, 0.08334, 0.75851], + "67": [0, 0.68333, 0.07153, 0.08334, 0.71472], + "68": [0, 0.68333, 0.02778, 0.05556, 0.82792], + "69": [0, 0.68333, 0.05764, 0.08334, 0.7382], + "70": [0, 0.68333, 0.13889, 0.08334, 0.64306], + "71": [0, 0.68333, 0, 0.08334, 0.78625], + "72": [0, 0.68333, 0.08125, 0.05556, 0.83125], + "73": [0, 0.68333, 0.07847, 0.11111, 0.43958], + "74": [0, 0.68333, 0.09618, 0.16667, 0.55451], + "75": [0, 0.68333, 0.07153, 0.05556, 0.84931], + "76": [0, 0.68333, 0, 0.02778, 0.68056], + "77": [0, 0.68333, 0.10903, 0.08334, 0.97014], + "78": [0, 0.68333, 0.10903, 0.08334, 0.80347], + "79": [0, 0.68333, 0.02778, 0.08334, 0.76278], + "80": [0, 0.68333, 0.13889, 0.08334, 0.64201], + "81": [0.19444, 0.68333, 0, 0.08334, 0.79056], + "82": [0, 0.68333, 0.00773, 0.08334, 0.75929], + "83": [0, 0.68333, 0.05764, 0.08334, 0.6132], + "84": [0, 0.68333, 0.13889, 0.08334, 0.58438], + "85": [0, 0.68333, 0.10903, 0.02778, 0.68278], + "86": [0, 0.68333, 0.22222, 0, 0.58333], + "87": [0, 0.68333, 0.13889, 0, 0.94445], + "88": [0, 0.68333, 0.07847, 0.08334, 0.82847], + "89": [0, 0.68333, 0.22222, 0, 0.58056], + "90": [0, 0.68333, 0.07153, 0.08334, 0.68264], + "97": [0, 0.43056, 0, 0, 0.52859], + "98": [0, 0.69444, 0, 0, 0.42917], + "99": [0, 0.43056, 0, 0.05556, 0.43276], + "100": [0, 0.69444, 0, 0.16667, 0.52049], + "101": [0, 0.43056, 0, 0.05556, 0.46563], + "102": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959], + "103": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697], + "104": [0, 0.69444, 0, 0, 0.57616], + "105": [0, 0.65952, 0, 0, 0.34451], + "106": [0.19444, 0.65952, 0.05724, 0, 0.41181], + "107": [0, 0.69444, 0.03148, 0, 0.5206], + "108": [0, 0.69444, 0.01968, 0.08334, 0.29838], + "109": [0, 0.43056, 0, 0, 0.87801], + "110": [0, 0.43056, 0, 0, 0.60023], + "111": [0, 0.43056, 0, 0.05556, 0.48472], + "112": [0.19444, 0.43056, 0, 0.08334, 0.50313], + "113": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641], + "114": [0, 0.43056, 0.02778, 0.05556, 0.45116], + "115": [0, 0.43056, 0, 0.05556, 0.46875], + "116": [0, 0.61508, 0, 0.08334, 0.36111], + "117": [0, 0.43056, 0, 0.02778, 0.57246], + "118": [0, 0.43056, 0.03588, 0.02778, 0.48472], + "119": [0, 0.43056, 0.02691, 0.08334, 0.71592], + "120": [0, 0.43056, 0, 0.02778, 0.57153], + "121": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028], + "122": [0, 0.43056, 0.04398, 0.05556, 0.46505], + "160": [0, 0, 0, 0, 0.25], + "915": [0, 0.68333, 0.13889, 0.08334, 0.61528], + "916": [0, 0.68333, 0, 0.16667, 0.83334], + "920": [0, 0.68333, 0.02778, 0.08334, 0.76278], + "923": [0, 0.68333, 0, 0.16667, 0.69445], + "926": [0, 0.68333, 0.07569, 0.08334, 0.74236], + "928": [0, 0.68333, 0.08125, 0.05556, 0.83125], + "931": [0, 0.68333, 0.05764, 0.08334, 0.77986], + "933": [0, 0.68333, 0.13889, 0.05556, 0.58333], + "934": [0, 0.68333, 0, 0.08334, 0.66667], + "936": [0, 0.68333, 0.11, 0.05556, 0.61222], + "937": [0, 0.68333, 0.05017, 0.08334, 0.7724], + "945": [0, 0.43056, 0.0037, 0.02778, 0.6397], + "946": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563], + "947": [0.19444, 0.43056, 0.05556, 0, 0.51773], + "948": [0, 0.69444, 0.03785, 0.05556, 0.44444], + "949": [0, 0.43056, 0, 0.08334, 0.46632], + "950": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375], + "951": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653], + "952": [0, 0.69444, 0.02778, 0.08334, 0.46944], + "953": [0, 0.43056, 0, 0.05556, 0.35394], + "954": [0, 0.43056, 0, 0, 0.57616], + "955": [0, 0.69444, 0, 0, 0.58334], + "956": [0.19444, 0.43056, 0, 0.02778, 0.60255], + "957": [0, 0.43056, 0.06366, 0.02778, 0.49398], + "958": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375], + "959": [0, 0.43056, 0, 0.05556, 0.48472], + "960": [0, 0.43056, 0.03588, 0, 0.57003], + "961": [0.19444, 0.43056, 0, 0.08334, 0.51702], + "962": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285], + "963": [0, 0.43056, 0.03588, 0, 0.57141], + "964": [0, 0.43056, 0.1132, 0.02778, 0.43715], + "965": [0, 0.43056, 0.03588, 0.02778, 0.54028], + "966": [0.19444, 0.43056, 0, 0.08334, 0.65417], + "967": [0.19444, 0.43056, 0, 0.05556, 0.62569], + "968": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139], + "969": [0, 0.43056, 0.03588, 0, 0.62245], + "977": [0, 0.69444, 0, 0.08334, 0.59144], + "981": [0.19444, 0.69444, 0, 0.08334, 0.59583], + "982": [0, 0.43056, 0.02778, 0, 0.82813], + "1009": [0.19444, 0.43056, 0, 0.08334, 0.51702], + "1013": [0, 0.43056, 0, 0.05556, 0.4059], + "57649": [0, 0.43056, 0, 0.02778, 0.32246], + "57911": [0.19444, 0.43056, 0, 0.08334, 0.38403] + }, + "SansSerif-Bold": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.36667], + "34": [0, 0.69444, 0, 0, 0.55834], + "35": [0.19444, 0.69444, 0, 0, 0.91667], + "36": [0.05556, 0.75, 0, 0, 0.55], + "37": [0.05556, 0.75, 0, 0, 1.02912], + "38": [0, 0.69444, 0, 0, 0.83056], + "39": [0, 0.69444, 0, 0, 0.30556], + "40": [0.25, 0.75, 0, 0, 0.42778], + "41": [0.25, 0.75, 0, 0, 0.42778], + "42": [0, 0.75, 0, 0, 0.55], + "43": [0.11667, 0.61667, 0, 0, 0.85556], + "44": [0.10556, 0.13056, 0, 0, 0.30556], + "45": [0, 0.45833, 0, 0, 0.36667], + "46": [0, 0.13056, 0, 0, 0.30556], + "47": [0.25, 0.75, 0, 0, 0.55], + "48": [0, 0.69444, 0, 0, 0.55], + "49": [0, 0.69444, 0, 0, 0.55], + "50": [0, 0.69444, 0, 0, 0.55], + "51": [0, 0.69444, 0, 0, 0.55], + "52": [0, 0.69444, 0, 0, 0.55], + "53": [0, 0.69444, 0, 0, 0.55], + "54": [0, 0.69444, 0, 0, 0.55], + "55": [0, 0.69444, 0, 0, 0.55], + "56": [0, 0.69444, 0, 0, 0.55], + "57": [0, 0.69444, 0, 0, 0.55], + "58": [0, 0.45833, 0, 0, 0.30556], + "59": [0.10556, 0.45833, 0, 0, 0.30556], + "61": [-0.09375, 0.40625, 0, 0, 0.85556], + "63": [0, 0.69444, 0, 0, 0.51945], + "64": [0, 0.69444, 0, 0, 0.73334], + "65": [0, 0.69444, 0, 0, 0.73334], + "66": [0, 0.69444, 0, 0, 0.73334], + "67": [0, 0.69444, 0, 0, 0.70278], + "68": [0, 0.69444, 0, 0, 0.79445], + "69": [0, 0.69444, 0, 0, 0.64167], + "70": [0, 0.69444, 0, 0, 0.61111], + "71": [0, 0.69444, 0, 0, 0.73334], + "72": [0, 0.69444, 0, 0, 0.79445], + "73": [0, 0.69444, 0, 0, 0.33056], + "74": [0, 0.69444, 0, 0, 0.51945], + "75": [0, 0.69444, 0, 0, 0.76389], + "76": [0, 0.69444, 0, 0, 0.58056], + "77": [0, 0.69444, 0, 0, 0.97778], + "78": [0, 0.69444, 0, 0, 0.79445], + "79": [0, 0.69444, 0, 0, 0.79445], + "80": [0, 0.69444, 0, 0, 0.70278], + "81": [0.10556, 0.69444, 0, 0, 0.79445], + "82": [0, 0.69444, 0, 0, 0.70278], + "83": [0, 0.69444, 0, 0, 0.61111], + "84": [0, 0.69444, 0, 0, 0.73334], + "85": [0, 0.69444, 0, 0, 0.76389], + "86": [0, 0.69444, 0.01528, 0, 0.73334], + "87": [0, 0.69444, 0.01528, 0, 1.03889], + "88": [0, 0.69444, 0, 0, 0.73334], + "89": [0, 0.69444, 0.0275, 0, 0.73334], + "90": [0, 0.69444, 0, 0, 0.67223], + "91": [0.25, 0.75, 0, 0, 0.34306], + "93": [0.25, 0.75, 0, 0, 0.34306], + "94": [0, 0.69444, 0, 0, 0.55], + "95": [0.35, 0.10833, 0.03056, 0, 0.55], + "97": [0, 0.45833, 0, 0, 0.525], + "98": [0, 0.69444, 0, 0, 0.56111], + "99": [0, 0.45833, 0, 0, 0.48889], + "100": [0, 0.69444, 0, 0, 0.56111], + "101": [0, 0.45833, 0, 0, 0.51111], + "102": [0, 0.69444, 0.07639, 0, 0.33611], + "103": [0.19444, 0.45833, 0.01528, 0, 0.55], + "104": [0, 0.69444, 0, 0, 0.56111], + "105": [0, 0.69444, 0, 0, 0.25556], + "106": [0.19444, 0.69444, 0, 0, 0.28611], + "107": [0, 0.69444, 0, 0, 0.53056], + "108": [0, 0.69444, 0, 0, 0.25556], + "109": [0, 0.45833, 0, 0, 0.86667], + "110": [0, 0.45833, 0, 0, 0.56111], + "111": [0, 0.45833, 0, 0, 0.55], + "112": [0.19444, 0.45833, 0, 0, 0.56111], + "113": [0.19444, 0.45833, 0, 0, 0.56111], + "114": [0, 0.45833, 0.01528, 0, 0.37222], + "115": [0, 0.45833, 0, 0, 0.42167], + "116": [0, 0.58929, 0, 0, 0.40417], + "117": [0, 0.45833, 0, 0, 0.56111], + "118": [0, 0.45833, 0.01528, 0, 0.5], + "119": [0, 0.45833, 0.01528, 0, 0.74445], + "120": [0, 0.45833, 0, 0, 0.5], + "121": [0.19444, 0.45833, 0.01528, 0, 0.5], + "122": [0, 0.45833, 0, 0, 0.47639], + "126": [0.35, 0.34444, 0, 0, 0.55], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.69444, 0, 0, 0.55], + "176": [0, 0.69444, 0, 0, 0.73334], + "180": [0, 0.69444, 0, 0, 0.55], + "184": [0.17014, 0, 0, 0, 0.48889], + "305": [0, 0.45833, 0, 0, 0.25556], + "567": [0.19444, 0.45833, 0, 0, 0.28611], + "710": [0, 0.69444, 0, 0, 0.55], + "711": [0, 0.63542, 0, 0, 0.55], + "713": [0, 0.63778, 0, 0, 0.55], + "728": [0, 0.69444, 0, 0, 0.55], + "729": [0, 0.69444, 0, 0, 0.30556], + "730": [0, 0.69444, 0, 0, 0.73334], + "732": [0, 0.69444, 0, 0, 0.55], + "733": [0, 0.69444, 0, 0, 0.55], + "915": [0, 0.69444, 0, 0, 0.58056], + "916": [0, 0.69444, 0, 0, 0.91667], + "920": [0, 0.69444, 0, 0, 0.85556], + "923": [0, 0.69444, 0, 0, 0.67223], + "926": [0, 0.69444, 0, 0, 0.73334], + "928": [0, 0.69444, 0, 0, 0.79445], + "931": [0, 0.69444, 0, 0, 0.79445], + "933": [0, 0.69444, 0, 0, 0.85556], + "934": [0, 0.69444, 0, 0, 0.79445], + "936": [0, 0.69444, 0, 0, 0.85556], + "937": [0, 0.69444, 0, 0, 0.79445], + "8211": [0, 0.45833, 0.03056, 0, 0.55], + "8212": [0, 0.45833, 0.03056, 0, 1.10001], + "8216": [0, 0.69444, 0, 0, 0.30556], + "8217": [0, 0.69444, 0, 0, 0.30556], + "8220": [0, 0.69444, 0, 0, 0.55834], + "8221": [0, 0.69444, 0, 0, 0.55834] + }, + "SansSerif-Italic": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0.05733, 0, 0.31945], + "34": [0, 0.69444, 0.00316, 0, 0.5], + "35": [0.19444, 0.69444, 0.05087, 0, 0.83334], + "36": [0.05556, 0.75, 0.11156, 0, 0.5], + "37": [0.05556, 0.75, 0.03126, 0, 0.83334], + "38": [0, 0.69444, 0.03058, 0, 0.75834], + "39": [0, 0.69444, 0.07816, 0, 0.27778], + "40": [0.25, 0.75, 0.13164, 0, 0.38889], + "41": [0.25, 0.75, 0.02536, 0, 0.38889], + "42": [0, 0.75, 0.11775, 0, 0.5], + "43": [0.08333, 0.58333, 0.02536, 0, 0.77778], + "44": [0.125, 0.08333, 0, 0, 0.27778], + "45": [0, 0.44444, 0.01946, 0, 0.33333], + "46": [0, 0.08333, 0, 0, 0.27778], + "47": [0.25, 0.75, 0.13164, 0, 0.5], + "48": [0, 0.65556, 0.11156, 0, 0.5], + "49": [0, 0.65556, 0.11156, 0, 0.5], + "50": [0, 0.65556, 0.11156, 0, 0.5], + "51": [0, 0.65556, 0.11156, 0, 0.5], + "52": [0, 0.65556, 0.11156, 0, 0.5], + "53": [0, 0.65556, 0.11156, 0, 0.5], + "54": [0, 0.65556, 0.11156, 0, 0.5], + "55": [0, 0.65556, 0.11156, 0, 0.5], + "56": [0, 0.65556, 0.11156, 0, 0.5], + "57": [0, 0.65556, 0.11156, 0, 0.5], + "58": [0, 0.44444, 0.02502, 0, 0.27778], + "59": [0.125, 0.44444, 0.02502, 0, 0.27778], + "61": [-0.13, 0.37, 0.05087, 0, 0.77778], + "63": [0, 0.69444, 0.11809, 0, 0.47222], + "64": [0, 0.69444, 0.07555, 0, 0.66667], + "65": [0, 0.69444, 0, 0, 0.66667], + "66": [0, 0.69444, 0.08293, 0, 0.66667], + "67": [0, 0.69444, 0.11983, 0, 0.63889], + "68": [0, 0.69444, 0.07555, 0, 0.72223], + "69": [0, 0.69444, 0.11983, 0, 0.59722], + "70": [0, 0.69444, 0.13372, 0, 0.56945], + "71": [0, 0.69444, 0.11983, 0, 0.66667], + "72": [0, 0.69444, 0.08094, 0, 0.70834], + "73": [0, 0.69444, 0.13372, 0, 0.27778], + "74": [0, 0.69444, 0.08094, 0, 0.47222], + "75": [0, 0.69444, 0.11983, 0, 0.69445], + "76": [0, 0.69444, 0, 0, 0.54167], + "77": [0, 0.69444, 0.08094, 0, 0.875], + "78": [0, 0.69444, 0.08094, 0, 0.70834], + "79": [0, 0.69444, 0.07555, 0, 0.73611], + "80": [0, 0.69444, 0.08293, 0, 0.63889], + "81": [0.125, 0.69444, 0.07555, 0, 0.73611], + "82": [0, 0.69444, 0.08293, 0, 0.64584], + "83": [0, 0.69444, 0.09205, 0, 0.55556], + "84": [0, 0.69444, 0.13372, 0, 0.68056], + "85": [0, 0.69444, 0.08094, 0, 0.6875], + "86": [0, 0.69444, 0.1615, 0, 0.66667], + "87": [0, 0.69444, 0.1615, 0, 0.94445], + "88": [0, 0.69444, 0.13372, 0, 0.66667], + "89": [0, 0.69444, 0.17261, 0, 0.66667], + "90": [0, 0.69444, 0.11983, 0, 0.61111], + "91": [0.25, 0.75, 0.15942, 0, 0.28889], + "93": [0.25, 0.75, 0.08719, 0, 0.28889], + "94": [0, 0.69444, 0.0799, 0, 0.5], + "95": [0.35, 0.09444, 0.08616, 0, 0.5], + "97": [0, 0.44444, 0.00981, 0, 0.48056], + "98": [0, 0.69444, 0.03057, 0, 0.51667], + "99": [0, 0.44444, 0.08336, 0, 0.44445], + "100": [0, 0.69444, 0.09483, 0, 0.51667], + "101": [0, 0.44444, 0.06778, 0, 0.44445], + "102": [0, 0.69444, 0.21705, 0, 0.30556], + "103": [0.19444, 0.44444, 0.10836, 0, 0.5], + "104": [0, 0.69444, 0.01778, 0, 0.51667], + "105": [0, 0.67937, 0.09718, 0, 0.23889], + "106": [0.19444, 0.67937, 0.09162, 0, 0.26667], + "107": [0, 0.69444, 0.08336, 0, 0.48889], + "108": [0, 0.69444, 0.09483, 0, 0.23889], + "109": [0, 0.44444, 0.01778, 0, 0.79445], + "110": [0, 0.44444, 0.01778, 0, 0.51667], + "111": [0, 0.44444, 0.06613, 0, 0.5], + "112": [0.19444, 0.44444, 0.0389, 0, 0.51667], + "113": [0.19444, 0.44444, 0.04169, 0, 0.51667], + "114": [0, 0.44444, 0.10836, 0, 0.34167], + "115": [0, 0.44444, 0.0778, 0, 0.38333], + "116": [0, 0.57143, 0.07225, 0, 0.36111], + "117": [0, 0.44444, 0.04169, 0, 0.51667], + "118": [0, 0.44444, 0.10836, 0, 0.46111], + "119": [0, 0.44444, 0.10836, 0, 0.68334], + "120": [0, 0.44444, 0.09169, 0, 0.46111], + "121": [0.19444, 0.44444, 0.10836, 0, 0.46111], + "122": [0, 0.44444, 0.08752, 0, 0.43472], + "126": [0.35, 0.32659, 0.08826, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.67937, 0.06385, 0, 0.5], + "176": [0, 0.69444, 0, 0, 0.73752], + "184": [0.17014, 0, 0, 0, 0.44445], + "305": [0, 0.44444, 0.04169, 0, 0.23889], + "567": [0.19444, 0.44444, 0.04169, 0, 0.26667], + "710": [0, 0.69444, 0.0799, 0, 0.5], + "711": [0, 0.63194, 0.08432, 0, 0.5], + "713": [0, 0.60889, 0.08776, 0, 0.5], + "714": [0, 0.69444, 0.09205, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0.09483, 0, 0.5], + "729": [0, 0.67937, 0.07774, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.73752], + "732": [0, 0.67659, 0.08826, 0, 0.5], + "733": [0, 0.69444, 0.09205, 0, 0.5], + "915": [0, 0.69444, 0.13372, 0, 0.54167], + "916": [0, 0.69444, 0, 0, 0.83334], + "920": [0, 0.69444, 0.07555, 0, 0.77778], + "923": [0, 0.69444, 0, 0, 0.61111], + "926": [0, 0.69444, 0.12816, 0, 0.66667], + "928": [0, 0.69444, 0.08094, 0, 0.70834], + "931": [0, 0.69444, 0.11983, 0, 0.72222], + "933": [0, 0.69444, 0.09031, 0, 0.77778], + "934": [0, 0.69444, 0.04603, 0, 0.72222], + "936": [0, 0.69444, 0.09031, 0, 0.77778], + "937": [0, 0.69444, 0.08293, 0, 0.72222], + "8211": [0, 0.44444, 0.08616, 0, 0.5], + "8212": [0, 0.44444, 0.08616, 0, 1.0], + "8216": [0, 0.69444, 0.07816, 0, 0.27778], + "8217": [0, 0.69444, 0.07816, 0, 0.27778], + "8220": [0, 0.69444, 0.14205, 0, 0.5], + "8221": [0, 0.69444, 0.00316, 0, 0.5] + }, + "SansSerif-Regular": { + "32": [0, 0, 0, 0, 0.25], + "33": [0, 0.69444, 0, 0, 0.31945], + "34": [0, 0.69444, 0, 0, 0.5], + "35": [0.19444, 0.69444, 0, 0, 0.83334], + "36": [0.05556, 0.75, 0, 0, 0.5], + "37": [0.05556, 0.75, 0, 0, 0.83334], + "38": [0, 0.69444, 0, 0, 0.75834], + "39": [0, 0.69444, 0, 0, 0.27778], + "40": [0.25, 0.75, 0, 0, 0.38889], + "41": [0.25, 0.75, 0, 0, 0.38889], + "42": [0, 0.75, 0, 0, 0.5], + "43": [0.08333, 0.58333, 0, 0, 0.77778], + "44": [0.125, 0.08333, 0, 0, 0.27778], + "45": [0, 0.44444, 0, 0, 0.33333], + "46": [0, 0.08333, 0, 0, 0.27778], + "47": [0.25, 0.75, 0, 0, 0.5], + "48": [0, 0.65556, 0, 0, 0.5], + "49": [0, 0.65556, 0, 0, 0.5], + "50": [0, 0.65556, 0, 0, 0.5], + "51": [0, 0.65556, 0, 0, 0.5], + "52": [0, 0.65556, 0, 0, 0.5], + "53": [0, 0.65556, 0, 0, 0.5], + "54": [0, 0.65556, 0, 0, 0.5], + "55": [0, 0.65556, 0, 0, 0.5], + "56": [0, 0.65556, 0, 0, 0.5], + "57": [0, 0.65556, 0, 0, 0.5], + "58": [0, 0.44444, 0, 0, 0.27778], + "59": [0.125, 0.44444, 0, 0, 0.27778], + "61": [-0.13, 0.37, 0, 0, 0.77778], + "63": [0, 0.69444, 0, 0, 0.47222], + "64": [0, 0.69444, 0, 0, 0.66667], + "65": [0, 0.69444, 0, 0, 0.66667], + "66": [0, 0.69444, 0, 0, 0.66667], + "67": [0, 0.69444, 0, 0, 0.63889], + "68": [0, 0.69444, 0, 0, 0.72223], + "69": [0, 0.69444, 0, 0, 0.59722], + "70": [0, 0.69444, 0, 0, 0.56945], + "71": [0, 0.69444, 0, 0, 0.66667], + "72": [0, 0.69444, 0, 0, 0.70834], + "73": [0, 0.69444, 0, 0, 0.27778], + "74": [0, 0.69444, 0, 0, 0.47222], + "75": [0, 0.69444, 0, 0, 0.69445], + "76": [0, 0.69444, 0, 0, 0.54167], + "77": [0, 0.69444, 0, 0, 0.875], + "78": [0, 0.69444, 0, 0, 0.70834], + "79": [0, 0.69444, 0, 0, 0.73611], + "80": [0, 0.69444, 0, 0, 0.63889], + "81": [0.125, 0.69444, 0, 0, 0.73611], + "82": [0, 0.69444, 0, 0, 0.64584], + "83": [0, 0.69444, 0, 0, 0.55556], + "84": [0, 0.69444, 0, 0, 0.68056], + "85": [0, 0.69444, 0, 0, 0.6875], + "86": [0, 0.69444, 0.01389, 0, 0.66667], + "87": [0, 0.69444, 0.01389, 0, 0.94445], + "88": [0, 0.69444, 0, 0, 0.66667], + "89": [0, 0.69444, 0.025, 0, 0.66667], + "90": [0, 0.69444, 0, 0, 0.61111], + "91": [0.25, 0.75, 0, 0, 0.28889], + "93": [0.25, 0.75, 0, 0, 0.28889], + "94": [0, 0.69444, 0, 0, 0.5], + "95": [0.35, 0.09444, 0.02778, 0, 0.5], + "97": [0, 0.44444, 0, 0, 0.48056], + "98": [0, 0.69444, 0, 0, 0.51667], + "99": [0, 0.44444, 0, 0, 0.44445], + "100": [0, 0.69444, 0, 0, 0.51667], + "101": [0, 0.44444, 0, 0, 0.44445], + "102": [0, 0.69444, 0.06944, 0, 0.30556], + "103": [0.19444, 0.44444, 0.01389, 0, 0.5], + "104": [0, 0.69444, 0, 0, 0.51667], + "105": [0, 0.67937, 0, 0, 0.23889], + "106": [0.19444, 0.67937, 0, 0, 0.26667], + "107": [0, 0.69444, 0, 0, 0.48889], + "108": [0, 0.69444, 0, 0, 0.23889], + "109": [0, 0.44444, 0, 0, 0.79445], + "110": [0, 0.44444, 0, 0, 0.51667], + "111": [0, 0.44444, 0, 0, 0.5], + "112": [0.19444, 0.44444, 0, 0, 0.51667], + "113": [0.19444, 0.44444, 0, 0, 0.51667], + "114": [0, 0.44444, 0.01389, 0, 0.34167], + "115": [0, 0.44444, 0, 0, 0.38333], + "116": [0, 0.57143, 0, 0, 0.36111], + "117": [0, 0.44444, 0, 0, 0.51667], + "118": [0, 0.44444, 0.01389, 0, 0.46111], + "119": [0, 0.44444, 0.01389, 0, 0.68334], + "120": [0, 0.44444, 0, 0, 0.46111], + "121": [0.19444, 0.44444, 0.01389, 0, 0.46111], + "122": [0, 0.44444, 0, 0, 0.43472], + "126": [0.35, 0.32659, 0, 0, 0.5], + "160": [0, 0, 0, 0, 0.25], + "168": [0, 0.67937, 0, 0, 0.5], + "176": [0, 0.69444, 0, 0, 0.66667], + "184": [0.17014, 0, 0, 0, 0.44445], + "305": [0, 0.44444, 0, 0, 0.23889], + "567": [0.19444, 0.44444, 0, 0, 0.26667], + "710": [0, 0.69444, 0, 0, 0.5], + "711": [0, 0.63194, 0, 0, 0.5], + "713": [0, 0.60889, 0, 0, 0.5], + "714": [0, 0.69444, 0, 0, 0.5], + "715": [0, 0.69444, 0, 0, 0.5], + "728": [0, 0.69444, 0, 0, 0.5], + "729": [0, 0.67937, 0, 0, 0.27778], + "730": [0, 0.69444, 0, 0, 0.66667], + "732": [0, 0.67659, 0, 0, 0.5], + "733": [0, 0.69444, 0, 0, 0.5], + "915": [0, 0.69444, 0, 0, 0.54167], + "916": [0, 0.69444, 0, 0, 0.83334], + "920": [0, 0.69444, 0, 0, 0.77778], + "923": [0, 0.69444, 0, 0, 0.61111], + "926": [0, 0.69444, 0, 0, 0.66667], + "928": [0, 0.69444, 0, 0, 0.70834], + "931": [0, 0.69444, 0, 0, 0.72222], + "933": [0, 0.69444, 0, 0, 0.77778], + "934": [0, 0.69444, 0, 0, 0.72222], + "936": [0, 0.69444, 0, 0, 0.77778], + "937": [0, 0.69444, 0, 0, 0.72222], + "8211": [0, 0.44444, 0.02778, 0, 0.5], + "8212": [0, 0.44444, 0.02778, 0, 1.0], + "8216": [0, 0.69444, 0, 0, 0.27778], + "8217": [0, 0.69444, 0, 0, 0.27778], + "8220": [0, 0.69444, 0, 0, 0.5], + "8221": [0, 0.69444, 0, 0, 0.5] + }, + "Script-Regular": { + "32": [0, 0, 0, 0, 0.25], + "65": [0, 0.7, 0.22925, 0, 0.80253], + "66": [0, 0.7, 0.04087, 0, 0.90757], + "67": [0, 0.7, 0.1689, 0, 0.66619], + "68": [0, 0.7, 0.09371, 0, 0.77443], + "69": [0, 0.7, 0.18583, 0, 0.56162], + "70": [0, 0.7, 0.13634, 0, 0.89544], + "71": [0, 0.7, 0.17322, 0, 0.60961], + "72": [0, 0.7, 0.29694, 0, 0.96919], + "73": [0, 0.7, 0.19189, 0, 0.80907], + "74": [0.27778, 0.7, 0.19189, 0, 1.05159], + "75": [0, 0.7, 0.31259, 0, 0.91364], + "76": [0, 0.7, 0.19189, 0, 0.87373], + "77": [0, 0.7, 0.15981, 0, 1.08031], + "78": [0, 0.7, 0.3525, 0, 0.9015], + "79": [0, 0.7, 0.08078, 0, 0.73787], + "80": [0, 0.7, 0.08078, 0, 1.01262], + "81": [0, 0.7, 0.03305, 0, 0.88282], + "82": [0, 0.7, 0.06259, 0, 0.85], + "83": [0, 0.7, 0.19189, 0, 0.86767], + "84": [0, 0.7, 0.29087, 0, 0.74697], + "85": [0, 0.7, 0.25815, 0, 0.79996], + "86": [0, 0.7, 0.27523, 0, 0.62204], + "87": [0, 0.7, 0.27523, 0, 0.80532], + "88": [0, 0.7, 0.26006, 0, 0.94445], + "89": [0, 0.7, 0.2939, 0, 0.70961], + "90": [0, 0.7, 0.24037, 0, 0.8212], + "160": [0, 0, 0, 0, 0.25] + }, + "Size1-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.35001, 0.85, 0, 0, 0.45834], + "41": [0.35001, 0.85, 0, 0, 0.45834], + "47": [0.35001, 0.85, 0, 0, 0.57778], + "91": [0.35001, 0.85, 0, 0, 0.41667], + "92": [0.35001, 0.85, 0, 0, 0.57778], + "93": [0.35001, 0.85, 0, 0, 0.41667], + "123": [0.35001, 0.85, 0, 0, 0.58334], + "125": [0.35001, 0.85, 0, 0, 0.58334], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.72222, 0, 0, 0.55556], + "732": [0, 0.72222, 0, 0, 0.55556], + "770": [0, 0.72222, 0, 0, 0.55556], + "771": [0, 0.72222, 0, 0, 0.55556], + "8214": [-0.00099, 0.601, 0, 0, 0.77778], + "8593": [1e-05, 0.6, 0, 0, 0.66667], + "8595": [1e-05, 0.6, 0, 0, 0.66667], + "8657": [1e-05, 0.6, 0, 0, 0.77778], + "8659": [1e-05, 0.6, 0, 0, 0.77778], + "8719": [0.25001, 0.75, 0, 0, 0.94445], + "8720": [0.25001, 0.75, 0, 0, 0.94445], + "8721": [0.25001, 0.75, 0, 0, 1.05556], + "8730": [0.35001, 0.85, 0, 0, 1.0], + "8739": [-0.00599, 0.606, 0, 0, 0.33333], + "8741": [-0.00599, 0.606, 0, 0, 0.55556], + "8747": [0.30612, 0.805, 0.19445, 0, 0.47222], + "8748": [0.306, 0.805, 0.19445, 0, 0.47222], + "8749": [0.306, 0.805, 0.19445, 0, 0.47222], + "8750": [0.30612, 0.805, 0.19445, 0, 0.47222], + "8896": [0.25001, 0.75, 0, 0, 0.83334], + "8897": [0.25001, 0.75, 0, 0, 0.83334], + "8898": [0.25001, 0.75, 0, 0, 0.83334], + "8899": [0.25001, 0.75, 0, 0, 0.83334], + "8968": [0.35001, 0.85, 0, 0, 0.47222], + "8969": [0.35001, 0.85, 0, 0, 0.47222], + "8970": [0.35001, 0.85, 0, 0, 0.47222], + "8971": [0.35001, 0.85, 0, 0, 0.47222], + "9168": [-0.00099, 0.601, 0, 0, 0.66667], + "10216": [0.35001, 0.85, 0, 0, 0.47222], + "10217": [0.35001, 0.85, 0, 0, 0.47222], + "10752": [0.25001, 0.75, 0, 0, 1.11111], + "10753": [0.25001, 0.75, 0, 0, 1.11111], + "10754": [0.25001, 0.75, 0, 0, 1.11111], + "10756": [0.25001, 0.75, 0, 0, 0.83334], + "10758": [0.25001, 0.75, 0, 0, 0.83334] + }, + "Size2-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.65002, 1.15, 0, 0, 0.59722], + "41": [0.65002, 1.15, 0, 0, 0.59722], + "47": [0.65002, 1.15, 0, 0, 0.81111], + "91": [0.65002, 1.15, 0, 0, 0.47222], + "92": [0.65002, 1.15, 0, 0, 0.81111], + "93": [0.65002, 1.15, 0, 0, 0.47222], + "123": [0.65002, 1.15, 0, 0, 0.66667], + "125": [0.65002, 1.15, 0, 0, 0.66667], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.75, 0, 0, 1.0], + "732": [0, 0.75, 0, 0, 1.0], + "770": [0, 0.75, 0, 0, 1.0], + "771": [0, 0.75, 0, 0, 1.0], + "8719": [0.55001, 1.05, 0, 0, 1.27778], + "8720": [0.55001, 1.05, 0, 0, 1.27778], + "8721": [0.55001, 1.05, 0, 0, 1.44445], + "8730": [0.65002, 1.15, 0, 0, 1.0], + "8747": [0.86225, 1.36, 0.44445, 0, 0.55556], + "8748": [0.862, 1.36, 0.44445, 0, 0.55556], + "8749": [0.862, 1.36, 0.44445, 0, 0.55556], + "8750": [0.86225, 1.36, 0.44445, 0, 0.55556], + "8896": [0.55001, 1.05, 0, 0, 1.11111], + "8897": [0.55001, 1.05, 0, 0, 1.11111], + "8898": [0.55001, 1.05, 0, 0, 1.11111], + "8899": [0.55001, 1.05, 0, 0, 1.11111], + "8968": [0.65002, 1.15, 0, 0, 0.52778], + "8969": [0.65002, 1.15, 0, 0, 0.52778], + "8970": [0.65002, 1.15, 0, 0, 0.52778], + "8971": [0.65002, 1.15, 0, 0, 0.52778], + "10216": [0.65002, 1.15, 0, 0, 0.61111], + "10217": [0.65002, 1.15, 0, 0, 0.61111], + "10752": [0.55001, 1.05, 0, 0, 1.51112], + "10753": [0.55001, 1.05, 0, 0, 1.51112], + "10754": [0.55001, 1.05, 0, 0, 1.51112], + "10756": [0.55001, 1.05, 0, 0, 1.11111], + "10758": [0.55001, 1.05, 0, 0, 1.11111] + }, + "Size3-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [0.95003, 1.45, 0, 0, 0.73611], + "41": [0.95003, 1.45, 0, 0, 0.73611], + "47": [0.95003, 1.45, 0, 0, 1.04445], + "91": [0.95003, 1.45, 0, 0, 0.52778], + "92": [0.95003, 1.45, 0, 0, 1.04445], + "93": [0.95003, 1.45, 0, 0, 0.52778], + "123": [0.95003, 1.45, 0, 0, 0.75], + "125": [0.95003, 1.45, 0, 0, 0.75], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.75, 0, 0, 1.44445], + "732": [0, 0.75, 0, 0, 1.44445], + "770": [0, 0.75, 0, 0, 1.44445], + "771": [0, 0.75, 0, 0, 1.44445], + "8730": [0.95003, 1.45, 0, 0, 1.0], + "8968": [0.95003, 1.45, 0, 0, 0.58334], + "8969": [0.95003, 1.45, 0, 0, 0.58334], + "8970": [0.95003, 1.45, 0, 0, 0.58334], + "8971": [0.95003, 1.45, 0, 0, 0.58334], + "10216": [0.95003, 1.45, 0, 0, 0.75], + "10217": [0.95003, 1.45, 0, 0, 0.75] + }, + "Size4-Regular": { + "32": [0, 0, 0, 0, 0.25], + "40": [1.25003, 1.75, 0, 0, 0.79167], + "41": [1.25003, 1.75, 0, 0, 0.79167], + "47": [1.25003, 1.75, 0, 0, 1.27778], + "91": [1.25003, 1.75, 0, 0, 0.58334], + "92": [1.25003, 1.75, 0, 0, 1.27778], + "93": [1.25003, 1.75, 0, 0, 0.58334], + "123": [1.25003, 1.75, 0, 0, 0.80556], + "125": [1.25003, 1.75, 0, 0, 0.80556], + "160": [0, 0, 0, 0, 0.25], + "710": [0, 0.825, 0, 0, 1.8889], + "732": [0, 0.825, 0, 0, 1.8889], + "770": [0, 0.825, 0, 0, 1.8889], + "771": [0, 0.825, 0, 0, 1.8889], + "8730": [1.25003, 1.75, 0, 0, 1.0], + "8968": [1.25003, 1.75, 0, 0, 0.63889], + "8969": [1.25003, 1.75, 0, 0, 0.63889], + "8970": [1.25003, 1.75, 0, 0, 0.63889], + "8971": [1.25003, 1.75, 0, 0, 0.63889], + "9115": [0.64502, 1.155, 0, 0, 0.875], + "9116": [1e-05, 0.6, 0, 0, 0.875], + "9117": [0.64502, 1.155, 0, 0, 0.875], + "9118": [0.64502, 1.155, 0, 0, 0.875], + "9119": [1e-05, 0.6, 0, 0, 0.875], + "9120": [0.64502, 1.155, 0, 0, 0.875], + "9121": [0.64502, 1.155, 0, 0, 0.66667], + "9122": [-0.00099, 0.601, 0, 0, 0.66667], + "9123": [0.64502, 1.155, 0, 0, 0.66667], + "9124": [0.64502, 1.155, 0, 0, 0.66667], + "9125": [-0.00099, 0.601, 0, 0, 0.66667], + "9126": [0.64502, 1.155, 0, 0, 0.66667], + "9127": [1e-05, 0.9, 0, 0, 0.88889], + "9128": [0.65002, 1.15, 0, 0, 0.88889], + "9129": [0.90001, 0, 0, 0, 0.88889], + "9130": [0, 0.3, 0, 0, 0.88889], + "9131": [1e-05, 0.9, 0, 0, 0.88889], + "9132": [0.65002, 1.15, 0, 0, 0.88889], + "9133": [0.90001, 0, 0, 0, 0.88889], + "9143": [0.88502, 0.915, 0, 0, 1.05556], + "10216": [1.25003, 1.75, 0, 0, 0.80556], + "10217": [1.25003, 1.75, 0, 0, 0.80556], + "57344": [-0.00499, 0.605, 0, 0, 1.05556], + "57345": [-0.00499, 0.605, 0, 0, 1.05556], + "57680": [0, 0.12, 0, 0, 0.45], + "57681": [0, 0.12, 0, 0, 0.45], + "57682": [0, 0.12, 0, 0, 0.45], + "57683": [0, 0.12, 0, 0, 0.45] + }, + "Typewriter-Regular": { + "32": [0, 0, 0, 0, 0.525], + "33": [0, 0.61111, 0, 0, 0.525], + "34": [0, 0.61111, 0, 0, 0.525], + "35": [0, 0.61111, 0, 0, 0.525], + "36": [0.08333, 0.69444, 0, 0, 0.525], + "37": [0.08333, 0.69444, 0, 0, 0.525], + "38": [0, 0.61111, 0, 0, 0.525], + "39": [0, 0.61111, 0, 0, 0.525], + "40": [0.08333, 0.69444, 0, 0, 0.525], + "41": [0.08333, 0.69444, 0, 0, 0.525], + "42": [0, 0.52083, 0, 0, 0.525], + "43": [-0.08056, 0.53055, 0, 0, 0.525], + "44": [0.13889, 0.125, 0, 0, 0.525], + "45": [-0.08056, 0.53055, 0, 0, 0.525], + "46": [0, 0.125, 0, 0, 0.525], + "47": [0.08333, 0.69444, 0, 0, 0.525], + "48": [0, 0.61111, 0, 0, 0.525], + "49": [0, 0.61111, 0, 0, 0.525], + "50": [0, 0.61111, 0, 0, 0.525], + "51": [0, 0.61111, 0, 0, 0.525], + "52": [0, 0.61111, 0, 0, 0.525], + "53": [0, 0.61111, 0, 0, 0.525], + "54": [0, 0.61111, 0, 0, 0.525], + "55": [0, 0.61111, 0, 0, 0.525], + "56": [0, 0.61111, 0, 0, 0.525], + "57": [0, 0.61111, 0, 0, 0.525], + "58": [0, 0.43056, 0, 0, 0.525], + "59": [0.13889, 0.43056, 0, 0, 0.525], + "60": [-0.05556, 0.55556, 0, 0, 0.525], + "61": [-0.19549, 0.41562, 0, 0, 0.525], + "62": [-0.05556, 0.55556, 0, 0, 0.525], + "63": [0, 0.61111, 0, 0, 0.525], + "64": [0, 0.61111, 0, 0, 0.525], + "65": [0, 0.61111, 0, 0, 0.525], + "66": [0, 0.61111, 0, 0, 0.525], + "67": [0, 0.61111, 0, 0, 0.525], + "68": [0, 0.61111, 0, 0, 0.525], + "69": [0, 0.61111, 0, 0, 0.525], + "70": [0, 0.61111, 0, 0, 0.525], + "71": [0, 0.61111, 0, 0, 0.525], + "72": [0, 0.61111, 0, 0, 0.525], + "73": [0, 0.61111, 0, 0, 0.525], + "74": [0, 0.61111, 0, 0, 0.525], + "75": [0, 0.61111, 0, 0, 0.525], + "76": [0, 0.61111, 0, 0, 0.525], + "77": [0, 0.61111, 0, 0, 0.525], + "78": [0, 0.61111, 0, 0, 0.525], + "79": [0, 0.61111, 0, 0, 0.525], + "80": [0, 0.61111, 0, 0, 0.525], + "81": [0.13889, 0.61111, 0, 0, 0.525], + "82": [0, 0.61111, 0, 0, 0.525], + "83": [0, 0.61111, 0, 0, 0.525], + "84": [0, 0.61111, 0, 0, 0.525], + "85": [0, 0.61111, 0, 0, 0.525], + "86": [0, 0.61111, 0, 0, 0.525], + "87": [0, 0.61111, 0, 0, 0.525], + "88": [0, 0.61111, 0, 0, 0.525], + "89": [0, 0.61111, 0, 0, 0.525], + "90": [0, 0.61111, 0, 0, 0.525], + "91": [0.08333, 0.69444, 0, 0, 0.525], + "92": [0.08333, 0.69444, 0, 0, 0.525], + "93": [0.08333, 0.69444, 0, 0, 0.525], + "94": [0, 0.61111, 0, 0, 0.525], + "95": [0.09514, 0, 0, 0, 0.525], + "96": [0, 0.61111, 0, 0, 0.525], + "97": [0, 0.43056, 0, 0, 0.525], + "98": [0, 0.61111, 0, 0, 0.525], + "99": [0, 0.43056, 0, 0, 0.525], + "100": [0, 0.61111, 0, 0, 0.525], + "101": [0, 0.43056, 0, 0, 0.525], + "102": [0, 0.61111, 0, 0, 0.525], + "103": [0.22222, 0.43056, 0, 0, 0.525], + "104": [0, 0.61111, 0, 0, 0.525], + "105": [0, 0.61111, 0, 0, 0.525], + "106": [0.22222, 0.61111, 0, 0, 0.525], + "107": [0, 0.61111, 0, 0, 0.525], + "108": [0, 0.61111, 0, 0, 0.525], + "109": [0, 0.43056, 0, 0, 0.525], + "110": [0, 0.43056, 0, 0, 0.525], + "111": [0, 0.43056, 0, 0, 0.525], + "112": [0.22222, 0.43056, 0, 0, 0.525], + "113": [0.22222, 0.43056, 0, 0, 0.525], + "114": [0, 0.43056, 0, 0, 0.525], + "115": [0, 0.43056, 0, 0, 0.525], + "116": [0, 0.55358, 0, 0, 0.525], + "117": [0, 0.43056, 0, 0, 0.525], + "118": [0, 0.43056, 0, 0, 0.525], + "119": [0, 0.43056, 0, 0, 0.525], + "120": [0, 0.43056, 0, 0, 0.525], + "121": [0.22222, 0.43056, 0, 0, 0.525], + "122": [0, 0.43056, 0, 0, 0.525], + "123": [0.08333, 0.69444, 0, 0, 0.525], + "124": [0.08333, 0.69444, 0, 0, 0.525], + "125": [0.08333, 0.69444, 0, 0, 0.525], + "126": [0, 0.61111, 0, 0, 0.525], + "127": [0, 0.61111, 0, 0, 0.525], + "160": [0, 0, 0, 0, 0.525], + "176": [0, 0.61111, 0, 0, 0.525], + "184": [0.19445, 0, 0, 0, 0.525], + "305": [0, 0.43056, 0, 0, 0.525], + "567": [0.22222, 0.43056, 0, 0, 0.525], + "711": [0, 0.56597, 0, 0, 0.525], + "713": [0, 0.56555, 0, 0, 0.525], + "714": [0, 0.61111, 0, 0, 0.525], + "715": [0, 0.61111, 0, 0, 0.525], + "728": [0, 0.61111, 0, 0, 0.525], + "730": [0, 0.61111, 0, 0, 0.525], + "770": [0, 0.61111, 0, 0, 0.525], + "771": [0, 0.61111, 0, 0, 0.525], + "776": [0, 0.61111, 0, 0, 0.525], + "915": [0, 0.61111, 0, 0, 0.525], + "916": [0, 0.61111, 0, 0, 0.525], + "920": [0, 0.61111, 0, 0, 0.525], + "923": [0, 0.61111, 0, 0, 0.525], + "926": [0, 0.61111, 0, 0, 0.525], + "928": [0, 0.61111, 0, 0, 0.525], + "931": [0, 0.61111, 0, 0, 0.525], + "933": [0, 0.61111, 0, 0, 0.525], + "934": [0, 0.61111, 0, 0, 0.525], + "936": [0, 0.61111, 0, 0, 0.525], + "937": [0, 0.61111, 0, 0, 0.525], + "8216": [0, 0.61111, 0, 0, 0.525], + "8217": [0, 0.61111, 0, 0, 0.525], + "8242": [0, 0.61111, 0, 0, 0.525], + "9251": [0.11111, 0.21944, 0, 0, 0.525] + } +}; + +/** + * This file contains metrics regarding fonts and individual symbols. The sigma + * and xi variables, as well as the metricMap map contain data extracted from + * TeX, TeX font metrics, and the TTF files. These data are then exposed via the + * `metrics` variable and the getCharacterMetrics function. + */ +// In TeX, there are actually three sets of dimensions, one for each of +// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4: +// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are +// provided in the the arrays below, in that order. +// +// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respsectively. +// This was determined by running the following script: +// +// latex -interaction=nonstopmode \ +// '\documentclass{article}\usepackage{amsmath}\begin{document}' \ +// '$a$ \expandafter\show\the\textfont2' \ +// '\expandafter\show\the\scriptfont2' \ +// '\expandafter\show\the\scriptscriptfont2' \ +// '\stop' +// +// The metrics themselves were retreived using the following commands: +// +// tftopl cmsy10 +// tftopl cmsy7 +// tftopl cmsy5 +// +// The output of each of these commands is quite lengthy. The only part we +// care about is the FONTDIMEN section. Each value is measured in EMs. +const sigmasAndXis = { + slant: [0.250, 0.250, 0.250], + // sigma1 + space: [0.000, 0.000, 0.000], + // sigma2 + stretch: [0.000, 0.000, 0.000], + // sigma3 + shrink: [0.000, 0.000, 0.000], + // sigma4 + xHeight: [0.431, 0.431, 0.431], + // sigma5 + quad: [1.000, 1.171, 1.472], + // sigma6 + extraSpace: [0.000, 0.000, 0.000], + // sigma7 + num1: [0.677, 0.732, 0.925], + // sigma8 + num2: [0.394, 0.384, 0.387], + // sigma9 + num3: [0.444, 0.471, 0.504], + // sigma10 + denom1: [0.686, 0.752, 1.025], + // sigma11 + denom2: [0.345, 0.344, 0.532], + // sigma12 + sup1: [0.413, 0.503, 0.504], + // sigma13 + sup2: [0.363, 0.431, 0.404], + // sigma14 + sup3: [0.289, 0.286, 0.294], + // sigma15 + sub1: [0.150, 0.143, 0.200], + // sigma16 + sub2: [0.247, 0.286, 0.400], + // sigma17 + supDrop: [0.386, 0.353, 0.494], + // sigma18 + subDrop: [0.050, 0.071, 0.100], + // sigma19 + delim1: [2.390, 1.700, 1.980], + // sigma20 + delim2: [1.010, 1.157, 1.420], + // sigma21 + axisHeight: [0.250, 0.250, 0.250], + // sigma22 + // These font metrics are extracted from TeX by using tftopl on cmex10.tfm; + // they correspond to the font parameters of the extension fonts (family 3). + // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to + // match cmex7, we'd use cmex7.tfm values for script and scriptscript + // values. + defaultRuleThickness: [0.04, 0.049, 0.049], + // xi8; cmex7: 0.049 + bigOpSpacing1: [0.111, 0.111, 0.111], + // xi9 + bigOpSpacing2: [0.166, 0.166, 0.166], + // xi10 + bigOpSpacing3: [0.2, 0.2, 0.2], + // xi11 + bigOpSpacing4: [0.6, 0.611, 0.611], + // xi12; cmex7: 0.611 + bigOpSpacing5: [0.1, 0.143, 0.143], + // xi13; cmex7: 0.143 + // The \sqrt rule width is taken from the height of the surd character. + // Since we use the same font at all sizes, this thickness doesn't scale. + sqrtRuleThickness: [0.04, 0.04, 0.04], + // This value determines how large a pt is, for metrics which are defined + // in terms of pts. + // This value is also used in katex.less; if you change it make sure the + // values match. + ptPerEm: [10.0, 10.0, 10.0], + // The space between adjacent `|` columns in an array definition. From + // `\showthe\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm. + doubleRuleSep: [0.2, 0.2, 0.2], + // The width of separator lines in {array} environments. From + // `\showthe\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm. + arrayRuleWidth: [0.04, 0.04, 0.04], + // Two values from LaTeX source2e: + fboxsep: [0.3, 0.3, 0.3], + // 3 pt / ptPerEm + fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm + +}; // This map contains a mapping from font name and character code to character +// should have Latin-1 and Cyrillic characters, but may not depending on the +// operating system. The metrics do not account for extra height from the +// accents. In the case of Cyrillic characters which have both ascenders and +// descenders we prefer approximations with ascenders, primarily to prevent +// the fraction bar or root line from intersecting the glyph. +// TODO(kevinb) allow union of multiple glyph metrics for better accuracy. + +const extraCharacterMap = { + // Latin-1 + 'Å': 'A', + 'Ç': 'C', + 'Ð': 'D', + 'Þ': 'o', + 'å': 'a', + 'ç': 'c', + 'ð': 'd', + 'þ': 'o', + // Cyrillic + 'А': 'A', + 'Б': 'B', + 'В': 'B', + 'Г': 'F', + 'Д': 'A', + 'Е': 'E', + 'Ж': 'K', + 'З': '3', + 'И': 'N', + 'Й': 'N', + 'К': 'K', + 'Л': 'N', + 'М': 'M', + 'Н': 'H', + 'О': 'O', + 'П': 'N', + 'Р': 'P', + 'С': 'C', + 'Т': 'T', + 'У': 'y', + 'Ф': 'O', + 'Х': 'X', + 'Ц': 'U', + 'Ч': 'h', + 'Ш': 'W', + 'Щ': 'W', + 'Ъ': 'B', + 'Ы': 'X', + 'Ь': 'B', + 'Э': '3', + 'Ю': 'X', + 'Я': 'R', + 'а': 'a', + 'б': 'b', + 'в': 'a', + 'г': 'r', + 'д': 'y', + 'е': 'e', + 'ж': 'm', + 'з': 'e', + 'и': 'n', + 'й': 'n', + 'к': 'n', + 'л': 'n', + 'м': 'm', + 'н': 'n', + 'о': 'o', + 'п': 'n', + 'р': 'p', + 'с': 'c', + 'т': 'o', + 'у': 'y', + 'ф': 'b', + 'х': 'x', + 'ц': 'n', + 'ч': 'n', + 'ш': 'w', + 'щ': 'w', + 'ъ': 'a', + 'ы': 'm', + 'ь': 'a', + 'э': 'e', + 'ю': 'm', + 'я': 'r' +}; + +/** + * This function adds new font metrics to default metricMap + * It can also override existing metrics + */ +function setFontMetrics(fontName, metrics) { + metricMap[fontName] = metrics; +} +/** + * This function is a convenience function for looking up information in the + * metricMap table. It takes a character as a string, and a font. + * + * Note: the `width` property may be undefined if fontMetricsData.js wasn't + * built using `Make extended_metrics`. + */ + +function getCharacterMetrics(character, font, mode) { + if (!metricMap[font]) { + throw new Error(`Font metrics not found for font: ${font}.`); + } + + let ch = character.charCodeAt(0); + let metrics = metricMap[font][ch]; + + if (!metrics && character[0] in extraCharacterMap) { + ch = extraCharacterMap[character[0]].charCodeAt(0); + metrics = metricMap[font][ch]; + } + + if (!metrics && mode === 'text') { + // We don't typically have font metrics for Asian scripts. + // But since we support them in text mode, we need to return + // some sort of metrics. + // So if the character is in a script we support but we + // don't have metrics for it, just use the metrics for + // the Latin capital letter M. This is close enough because + // we (currently) only care about the height of the glpyh + // not its width. + if (supportedCodepoint(ch)) { + metrics = metricMap[font][77]; // 77 is the charcode for 'M' + } + } + + if (metrics) { + return { + depth: metrics[0], + height: metrics[1], + italic: metrics[2], + skew: metrics[3], + width: metrics[4] + }; + } +} +const fontMetricsBySizeIndex = {}; +/** + * Get the font metrics for a given size. + */ + +function getGlobalMetrics(size) { + let sizeIndex; + + if (size >= 5) { + sizeIndex = 0; + } else if (size >= 3) { + sizeIndex = 1; + } else { + sizeIndex = 2; + } + + if (!fontMetricsBySizeIndex[sizeIndex]) { + const metrics = fontMetricsBySizeIndex[sizeIndex] = { + cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18 + }; + + for (const key in sigmasAndXis) { + if (sigmasAndXis.hasOwnProperty(key)) { + metrics[key] = sigmasAndXis[key][sizeIndex]; + } + } + } + + return fontMetricsBySizeIndex[sizeIndex]; +} + +/** + * This file holds a list of all no-argument functions and single-character + * symbols (like 'a' or ';'). + * + * For each of the symbols, there are three properties they can have: + * - font (required): the font to be used for this symbol. Either "main" (the + normal font), or "ams" (the ams fonts). + * - group (required): the ParseNode group type the symbol should have (i.e. + "textord", "mathord", etc). + See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types + * - replace: the character that this symbol or function should be + * replaced with (i.e. "\phi" has a replace value of "\u03d5", the phi + * character in the main font). + * + * The outermost map in the table indicates what mode the symbols should be + * accepted in (e.g. "math" or "text"). + */ +// Some of these have a "-token" suffix since these are also used as `ParseNode` +// types for raw text tokens, and we want to avoid conflicts with higher-level +// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by +// looking up the `symbols` map. +const ATOMS = { + "bin": 1, + "close": 1, + "inner": 1, + "open": 1, + "punct": 1, + "rel": 1 +}; +const NON_ATOMS = { + "accent-token": 1, + "mathord": 1, + "op-token": 1, + "spacing": 1, + "textord": 1 +}; +const symbols = { + "math": {}, + "text": {} +}; +/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */ + +function defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) { + symbols[mode][name] = { + font, + group, + replace + }; + + if (acceptUnicodeChar && replace) { + symbols[mode][replace] = symbols[mode][name]; + } +} // Some abbreviations for commonly used strings. +// This helps minify the code, and also spotting typos using jshint. +// modes: + +const math = "math"; +const text$1 = "text"; // fonts: + +const main = "main"; +const ams = "ams"; // groups: + +const accent = "accent-token"; +const bin = "bin"; +const close = "close"; +const inner = "inner"; +const mathord = "mathord"; +const op = "op-token"; +const open = "open"; +const punct = "punct"; +const rel = "rel"; +const spacing = "spacing"; +const textord = "textord"; // Now comes the symbol table +// Relation Symbols + +defineSymbol(math, main, rel, "\u2261", "\\equiv", true); +defineSymbol(math, main, rel, "\u227a", "\\prec", true); +defineSymbol(math, main, rel, "\u227b", "\\succ", true); +defineSymbol(math, main, rel, "\u223c", "\\sim", true); +defineSymbol(math, main, rel, "\u22a5", "\\perp"); +defineSymbol(math, main, rel, "\u2aaf", "\\preceq", true); +defineSymbol(math, main, rel, "\u2ab0", "\\succeq", true); +defineSymbol(math, main, rel, "\u2243", "\\simeq", true); +defineSymbol(math, main, rel, "\u2223", "\\mid", true); +defineSymbol(math, main, rel, "\u226a", "\\ll", true); +defineSymbol(math, main, rel, "\u226b", "\\gg", true); +defineSymbol(math, main, rel, "\u224d", "\\asymp", true); +defineSymbol(math, main, rel, "\u2225", "\\parallel"); +defineSymbol(math, main, rel, "\u22c8", "\\bowtie", true); +defineSymbol(math, main, rel, "\u2323", "\\smile", true); +defineSymbol(math, main, rel, "\u2291", "\\sqsubseteq", true); +defineSymbol(math, main, rel, "\u2292", "\\sqsupseteq", true); +defineSymbol(math, main, rel, "\u2250", "\\doteq", true); +defineSymbol(math, main, rel, "\u2322", "\\frown", true); +defineSymbol(math, main, rel, "\u220b", "\\ni", true); +defineSymbol(math, main, rel, "\u221d", "\\propto", true); +defineSymbol(math, main, rel, "\u22a2", "\\vdash", true); +defineSymbol(math, main, rel, "\u22a3", "\\dashv", true); +defineSymbol(math, main, rel, "\u220b", "\\owns"); // Punctuation + +defineSymbol(math, main, punct, "\u002e", "\\ldotp"); +defineSymbol(math, main, punct, "\u22c5", "\\cdotp"); // Misc Symbols + +defineSymbol(math, main, textord, "\u0023", "\\#"); +defineSymbol(text$1, main, textord, "\u0023", "\\#"); +defineSymbol(math, main, textord, "\u0026", "\\&"); +defineSymbol(text$1, main, textord, "\u0026", "\\&"); +defineSymbol(math, main, textord, "\u2135", "\\aleph", true); +defineSymbol(math, main, textord, "\u2200", "\\forall", true); +defineSymbol(math, main, textord, "\u210f", "\\hbar", true); +defineSymbol(math, main, textord, "\u2203", "\\exists", true); +defineSymbol(math, main, textord, "\u2207", "\\nabla", true); +defineSymbol(math, main, textord, "\u266d", "\\flat", true); +defineSymbol(math, main, textord, "\u2113", "\\ell", true); +defineSymbol(math, main, textord, "\u266e", "\\natural", true); +defineSymbol(math, main, textord, "\u2663", "\\clubsuit", true); +defineSymbol(math, main, textord, "\u2118", "\\wp", true); +defineSymbol(math, main, textord, "\u266f", "\\sharp", true); +defineSymbol(math, main, textord, "\u2662", "\\diamondsuit", true); +defineSymbol(math, main, textord, "\u211c", "\\Re", true); +defineSymbol(math, main, textord, "\u2661", "\\heartsuit", true); +defineSymbol(math, main, textord, "\u2111", "\\Im", true); +defineSymbol(math, main, textord, "\u2660", "\\spadesuit", true); +defineSymbol(text$1, main, textord, "\u00a7", "\\S", true); +defineSymbol(text$1, main, textord, "\u00b6", "\\P", true); // Math and Text + +defineSymbol(math, main, textord, "\u2020", "\\dag"); +defineSymbol(text$1, main, textord, "\u2020", "\\dag"); +defineSymbol(text$1, main, textord, "\u2020", "\\textdagger"); +defineSymbol(math, main, textord, "\u2021", "\\ddag"); +defineSymbol(text$1, main, textord, "\u2021", "\\ddag"); +defineSymbol(text$1, main, textord, "\u2021", "\\textdaggerdbl"); // Large Delimiters + +defineSymbol(math, main, close, "\u23b1", "\\rmoustache", true); +defineSymbol(math, main, open, "\u23b0", "\\lmoustache", true); +defineSymbol(math, main, close, "\u27ef", "\\rgroup", true); +defineSymbol(math, main, open, "\u27ee", "\\lgroup", true); // Binary Operators + +defineSymbol(math, main, bin, "\u2213", "\\mp", true); +defineSymbol(math, main, bin, "\u2296", "\\ominus", true); +defineSymbol(math, main, bin, "\u228e", "\\uplus", true); +defineSymbol(math, main, bin, "\u2293", "\\sqcap", true); +defineSymbol(math, main, bin, "\u2217", "\\ast"); +defineSymbol(math, main, bin, "\u2294", "\\sqcup", true); +defineSymbol(math, main, bin, "\u25ef", "\\bigcirc"); +defineSymbol(math, main, bin, "\u2219", "\\bullet"); +defineSymbol(math, main, bin, "\u2021", "\\ddagger"); +defineSymbol(math, main, bin, "\u2240", "\\wr", true); +defineSymbol(math, main, bin, "\u2a3f", "\\amalg"); +defineSymbol(math, main, bin, "\u0026", "\\And"); // from amsmath +// Arrow Symbols + +defineSymbol(math, main, rel, "\u27f5", "\\longleftarrow", true); +defineSymbol(math, main, rel, "\u21d0", "\\Leftarrow", true); +defineSymbol(math, main, rel, "\u27f8", "\\Longleftarrow", true); +defineSymbol(math, main, rel, "\u27f6", "\\longrightarrow", true); +defineSymbol(math, main, rel, "\u21d2", "\\Rightarrow", true); +defineSymbol(math, main, rel, "\u27f9", "\\Longrightarrow", true); +defineSymbol(math, main, rel, "\u2194", "\\leftrightarrow", true); +defineSymbol(math, main, rel, "\u27f7", "\\longleftrightarrow", true); +defineSymbol(math, main, rel, "\u21d4", "\\Leftrightarrow", true); +defineSymbol(math, main, rel, "\u27fa", "\\Longleftrightarrow", true); +defineSymbol(math, main, rel, "\u21a6", "\\mapsto", true); +defineSymbol(math, main, rel, "\u27fc", "\\longmapsto", true); +defineSymbol(math, main, rel, "\u2197", "\\nearrow", true); +defineSymbol(math, main, rel, "\u21a9", "\\hookleftarrow", true); +defineSymbol(math, main, rel, "\u21aa", "\\hookrightarrow", true); +defineSymbol(math, main, rel, "\u2198", "\\searrow", true); +defineSymbol(math, main, rel, "\u21bc", "\\leftharpoonup", true); +defineSymbol(math, main, rel, "\u21c0", "\\rightharpoonup", true); +defineSymbol(math, main, rel, "\u2199", "\\swarrow", true); +defineSymbol(math, main, rel, "\u21bd", "\\leftharpoondown", true); +defineSymbol(math, main, rel, "\u21c1", "\\rightharpoondown", true); +defineSymbol(math, main, rel, "\u2196", "\\nwarrow", true); +defineSymbol(math, main, rel, "\u21cc", "\\rightleftharpoons", true); // AMS Negated Binary Relations + +defineSymbol(math, ams, rel, "\u226e", "\\nless", true); // Symbol names preceeded by "@" each have a corresponding macro. + +defineSymbol(math, ams, rel, "\ue010", "\\@nleqslant"); +defineSymbol(math, ams, rel, "\ue011", "\\@nleqq"); +defineSymbol(math, ams, rel, "\u2a87", "\\lneq", true); +defineSymbol(math, ams, rel, "\u2268", "\\lneqq", true); +defineSymbol(math, ams, rel, "\ue00c", "\\@lvertneqq"); +defineSymbol(math, ams, rel, "\u22e6", "\\lnsim", true); +defineSymbol(math, ams, rel, "\u2a89", "\\lnapprox", true); +defineSymbol(math, ams, rel, "\u2280", "\\nprec", true); // unicode-math maps \u22e0 to \npreccurlyeq. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u22e0", "\\npreceq", true); +defineSymbol(math, ams, rel, "\u22e8", "\\precnsim", true); +defineSymbol(math, ams, rel, "\u2ab9", "\\precnapprox", true); +defineSymbol(math, ams, rel, "\u2241", "\\nsim", true); +defineSymbol(math, ams, rel, "\ue006", "\\@nshortmid"); +defineSymbol(math, ams, rel, "\u2224", "\\nmid", true); +defineSymbol(math, ams, rel, "\u22ac", "\\nvdash", true); +defineSymbol(math, ams, rel, "\u22ad", "\\nvDash", true); +defineSymbol(math, ams, rel, "\u22ea", "\\ntriangleleft"); +defineSymbol(math, ams, rel, "\u22ec", "\\ntrianglelefteq", true); +defineSymbol(math, ams, rel, "\u228a", "\\subsetneq", true); +defineSymbol(math, ams, rel, "\ue01a", "\\@varsubsetneq"); +defineSymbol(math, ams, rel, "\u2acb", "\\subsetneqq", true); +defineSymbol(math, ams, rel, "\ue017", "\\@varsubsetneqq"); +defineSymbol(math, ams, rel, "\u226f", "\\ngtr", true); +defineSymbol(math, ams, rel, "\ue00f", "\\@ngeqslant"); +defineSymbol(math, ams, rel, "\ue00e", "\\@ngeqq"); +defineSymbol(math, ams, rel, "\u2a88", "\\gneq", true); +defineSymbol(math, ams, rel, "\u2269", "\\gneqq", true); +defineSymbol(math, ams, rel, "\ue00d", "\\@gvertneqq"); +defineSymbol(math, ams, rel, "\u22e7", "\\gnsim", true); +defineSymbol(math, ams, rel, "\u2a8a", "\\gnapprox", true); +defineSymbol(math, ams, rel, "\u2281", "\\nsucc", true); // unicode-math maps \u22e1 to \nsucccurlyeq. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u22e1", "\\nsucceq", true); +defineSymbol(math, ams, rel, "\u22e9", "\\succnsim", true); +defineSymbol(math, ams, rel, "\u2aba", "\\succnapprox", true); // unicode-math maps \u2246 to \simneqq. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u2246", "\\ncong", true); +defineSymbol(math, ams, rel, "\ue007", "\\@nshortparallel"); +defineSymbol(math, ams, rel, "\u2226", "\\nparallel", true); +defineSymbol(math, ams, rel, "\u22af", "\\nVDash", true); +defineSymbol(math, ams, rel, "\u22eb", "\\ntriangleright"); +defineSymbol(math, ams, rel, "\u22ed", "\\ntrianglerighteq", true); +defineSymbol(math, ams, rel, "\ue018", "\\@nsupseteqq"); +defineSymbol(math, ams, rel, "\u228b", "\\supsetneq", true); +defineSymbol(math, ams, rel, "\ue01b", "\\@varsupsetneq"); +defineSymbol(math, ams, rel, "\u2acc", "\\supsetneqq", true); +defineSymbol(math, ams, rel, "\ue019", "\\@varsupsetneqq"); +defineSymbol(math, ams, rel, "\u22ae", "\\nVdash", true); +defineSymbol(math, ams, rel, "\u2ab5", "\\precneqq", true); +defineSymbol(math, ams, rel, "\u2ab6", "\\succneqq", true); +defineSymbol(math, ams, rel, "\ue016", "\\@nsubseteqq"); +defineSymbol(math, ams, bin, "\u22b4", "\\unlhd"); +defineSymbol(math, ams, bin, "\u22b5", "\\unrhd"); // AMS Negated Arrows + +defineSymbol(math, ams, rel, "\u219a", "\\nleftarrow", true); +defineSymbol(math, ams, rel, "\u219b", "\\nrightarrow", true); +defineSymbol(math, ams, rel, "\u21cd", "\\nLeftarrow", true); +defineSymbol(math, ams, rel, "\u21cf", "\\nRightarrow", true); +defineSymbol(math, ams, rel, "\u21ae", "\\nleftrightarrow", true); +defineSymbol(math, ams, rel, "\u21ce", "\\nLeftrightarrow", true); // AMS Misc + +defineSymbol(math, ams, rel, "\u25b3", "\\vartriangle"); +defineSymbol(math, ams, textord, "\u210f", "\\hslash"); +defineSymbol(math, ams, textord, "\u25bd", "\\triangledown"); +defineSymbol(math, ams, textord, "\u25ca", "\\lozenge"); +defineSymbol(math, ams, textord, "\u24c8", "\\circledS"); +defineSymbol(math, ams, textord, "\u00ae", "\\circledR"); +defineSymbol(text$1, ams, textord, "\u00ae", "\\circledR"); +defineSymbol(math, ams, textord, "\u2221", "\\measuredangle", true); +defineSymbol(math, ams, textord, "\u2204", "\\nexists"); +defineSymbol(math, ams, textord, "\u2127", "\\mho"); +defineSymbol(math, ams, textord, "\u2132", "\\Finv", true); +defineSymbol(math, ams, textord, "\u2141", "\\Game", true); +defineSymbol(math, ams, textord, "\u2035", "\\backprime"); +defineSymbol(math, ams, textord, "\u25b2", "\\blacktriangle"); +defineSymbol(math, ams, textord, "\u25bc", "\\blacktriangledown"); +defineSymbol(math, ams, textord, "\u25a0", "\\blacksquare"); +defineSymbol(math, ams, textord, "\u29eb", "\\blacklozenge"); +defineSymbol(math, ams, textord, "\u2605", "\\bigstar"); +defineSymbol(math, ams, textord, "\u2222", "\\sphericalangle", true); +defineSymbol(math, ams, textord, "\u2201", "\\complement", true); // unicode-math maps U+F0 to \matheth. We map to AMS function \eth + +defineSymbol(math, ams, textord, "\u00f0", "\\eth", true); +defineSymbol(text$1, main, textord, "\u00f0", "\u00f0"); +defineSymbol(math, ams, textord, "\u2571", "\\diagup"); +defineSymbol(math, ams, textord, "\u2572", "\\diagdown"); +defineSymbol(math, ams, textord, "\u25a1", "\\square"); +defineSymbol(math, ams, textord, "\u25a1", "\\Box"); +defineSymbol(math, ams, textord, "\u25ca", "\\Diamond"); // unicode-math maps U+A5 to \mathyen. We map to AMS function \yen + +defineSymbol(math, ams, textord, "\u00a5", "\\yen", true); +defineSymbol(text$1, ams, textord, "\u00a5", "\\yen", true); +defineSymbol(math, ams, textord, "\u2713", "\\checkmark", true); +defineSymbol(text$1, ams, textord, "\u2713", "\\checkmark"); // AMS Hebrew + +defineSymbol(math, ams, textord, "\u2136", "\\beth", true); +defineSymbol(math, ams, textord, "\u2138", "\\daleth", true); +defineSymbol(math, ams, textord, "\u2137", "\\gimel", true); // AMS Greek + +defineSymbol(math, ams, textord, "\u03dd", "\\digamma", true); +defineSymbol(math, ams, textord, "\u03f0", "\\varkappa"); // AMS Delimiters + +defineSymbol(math, ams, open, "\u250c", "\\@ulcorner", true); +defineSymbol(math, ams, close, "\u2510", "\\@urcorner", true); +defineSymbol(math, ams, open, "\u2514", "\\@llcorner", true); +defineSymbol(math, ams, close, "\u2518", "\\@lrcorner", true); // AMS Binary Relations + +defineSymbol(math, ams, rel, "\u2266", "\\leqq", true); +defineSymbol(math, ams, rel, "\u2a7d", "\\leqslant", true); +defineSymbol(math, ams, rel, "\u2a95", "\\eqslantless", true); +defineSymbol(math, ams, rel, "\u2272", "\\lesssim", true); +defineSymbol(math, ams, rel, "\u2a85", "\\lessapprox", true); +defineSymbol(math, ams, rel, "\u224a", "\\approxeq", true); +defineSymbol(math, ams, bin, "\u22d6", "\\lessdot"); +defineSymbol(math, ams, rel, "\u22d8", "\\lll", true); +defineSymbol(math, ams, rel, "\u2276", "\\lessgtr", true); +defineSymbol(math, ams, rel, "\u22da", "\\lesseqgtr", true); +defineSymbol(math, ams, rel, "\u2a8b", "\\lesseqqgtr", true); +defineSymbol(math, ams, rel, "\u2251", "\\doteqdot"); +defineSymbol(math, ams, rel, "\u2253", "\\risingdotseq", true); +defineSymbol(math, ams, rel, "\u2252", "\\fallingdotseq", true); +defineSymbol(math, ams, rel, "\u223d", "\\backsim", true); +defineSymbol(math, ams, rel, "\u22cd", "\\backsimeq", true); +defineSymbol(math, ams, rel, "\u2ac5", "\\subseteqq", true); +defineSymbol(math, ams, rel, "\u22d0", "\\Subset", true); +defineSymbol(math, ams, rel, "\u228f", "\\sqsubset", true); +defineSymbol(math, ams, rel, "\u227c", "\\preccurlyeq", true); +defineSymbol(math, ams, rel, "\u22de", "\\curlyeqprec", true); +defineSymbol(math, ams, rel, "\u227e", "\\precsim", true); +defineSymbol(math, ams, rel, "\u2ab7", "\\precapprox", true); +defineSymbol(math, ams, rel, "\u22b2", "\\vartriangleleft"); +defineSymbol(math, ams, rel, "\u22b4", "\\trianglelefteq"); +defineSymbol(math, ams, rel, "\u22a8", "\\vDash", true); +defineSymbol(math, ams, rel, "\u22aa", "\\Vvdash", true); +defineSymbol(math, ams, rel, "\u2323", "\\smallsmile"); +defineSymbol(math, ams, rel, "\u2322", "\\smallfrown"); +defineSymbol(math, ams, rel, "\u224f", "\\bumpeq", true); +defineSymbol(math, ams, rel, "\u224e", "\\Bumpeq", true); +defineSymbol(math, ams, rel, "\u2267", "\\geqq", true); +defineSymbol(math, ams, rel, "\u2a7e", "\\geqslant", true); +defineSymbol(math, ams, rel, "\u2a96", "\\eqslantgtr", true); +defineSymbol(math, ams, rel, "\u2273", "\\gtrsim", true); +defineSymbol(math, ams, rel, "\u2a86", "\\gtrapprox", true); +defineSymbol(math, ams, bin, "\u22d7", "\\gtrdot"); +defineSymbol(math, ams, rel, "\u22d9", "\\ggg", true); +defineSymbol(math, ams, rel, "\u2277", "\\gtrless", true); +defineSymbol(math, ams, rel, "\u22db", "\\gtreqless", true); +defineSymbol(math, ams, rel, "\u2a8c", "\\gtreqqless", true); +defineSymbol(math, ams, rel, "\u2256", "\\eqcirc", true); +defineSymbol(math, ams, rel, "\u2257", "\\circeq", true); +defineSymbol(math, ams, rel, "\u225c", "\\triangleq", true); +defineSymbol(math, ams, rel, "\u223c", "\\thicksim"); +defineSymbol(math, ams, rel, "\u2248", "\\thickapprox"); +defineSymbol(math, ams, rel, "\u2ac6", "\\supseteqq", true); +defineSymbol(math, ams, rel, "\u22d1", "\\Supset", true); +defineSymbol(math, ams, rel, "\u2290", "\\sqsupset", true); +defineSymbol(math, ams, rel, "\u227d", "\\succcurlyeq", true); +defineSymbol(math, ams, rel, "\u22df", "\\curlyeqsucc", true); +defineSymbol(math, ams, rel, "\u227f", "\\succsim", true); +defineSymbol(math, ams, rel, "\u2ab8", "\\succapprox", true); +defineSymbol(math, ams, rel, "\u22b3", "\\vartriangleright"); +defineSymbol(math, ams, rel, "\u22b5", "\\trianglerighteq"); +defineSymbol(math, ams, rel, "\u22a9", "\\Vdash", true); +defineSymbol(math, ams, rel, "\u2223", "\\shortmid"); +defineSymbol(math, ams, rel, "\u2225", "\\shortparallel"); +defineSymbol(math, ams, rel, "\u226c", "\\between", true); +defineSymbol(math, ams, rel, "\u22d4", "\\pitchfork", true); +defineSymbol(math, ams, rel, "\u221d", "\\varpropto"); +defineSymbol(math, ams, rel, "\u25c0", "\\blacktriangleleft"); // unicode-math says that \therefore is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(math, ams, rel, "\u2234", "\\therefore", true); +defineSymbol(math, ams, rel, "\u220d", "\\backepsilon"); +defineSymbol(math, ams, rel, "\u25b6", "\\blacktriangleright"); // unicode-math says that \because is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(math, ams, rel, "\u2235", "\\because", true); +defineSymbol(math, ams, rel, "\u22d8", "\\llless"); +defineSymbol(math, ams, rel, "\u22d9", "\\gggtr"); +defineSymbol(math, ams, bin, "\u22b2", "\\lhd"); +defineSymbol(math, ams, bin, "\u22b3", "\\rhd"); +defineSymbol(math, ams, rel, "\u2242", "\\eqsim", true); +defineSymbol(math, main, rel, "\u22c8", "\\Join"); +defineSymbol(math, ams, rel, "\u2251", "\\Doteq", true); // AMS Binary Operators + +defineSymbol(math, ams, bin, "\u2214", "\\dotplus", true); +defineSymbol(math, ams, bin, "\u2216", "\\smallsetminus"); +defineSymbol(math, ams, bin, "\u22d2", "\\Cap", true); +defineSymbol(math, ams, bin, "\u22d3", "\\Cup", true); +defineSymbol(math, ams, bin, "\u2a5e", "\\doublebarwedge", true); +defineSymbol(math, ams, bin, "\u229f", "\\boxminus", true); +defineSymbol(math, ams, bin, "\u229e", "\\boxplus", true); +defineSymbol(math, ams, bin, "\u22c7", "\\divideontimes", true); +defineSymbol(math, ams, bin, "\u22c9", "\\ltimes", true); +defineSymbol(math, ams, bin, "\u22ca", "\\rtimes", true); +defineSymbol(math, ams, bin, "\u22cb", "\\leftthreetimes", true); +defineSymbol(math, ams, bin, "\u22cc", "\\rightthreetimes", true); +defineSymbol(math, ams, bin, "\u22cf", "\\curlywedge", true); +defineSymbol(math, ams, bin, "\u22ce", "\\curlyvee", true); +defineSymbol(math, ams, bin, "\u229d", "\\circleddash", true); +defineSymbol(math, ams, bin, "\u229b", "\\circledast", true); +defineSymbol(math, ams, bin, "\u22c5", "\\centerdot"); +defineSymbol(math, ams, bin, "\u22ba", "\\intercal", true); +defineSymbol(math, ams, bin, "\u22d2", "\\doublecap"); +defineSymbol(math, ams, bin, "\u22d3", "\\doublecup"); +defineSymbol(math, ams, bin, "\u22a0", "\\boxtimes", true); // AMS Arrows +// Note: unicode-math maps \u21e2 to their own function \rightdasharrow. +// We'll map it to AMS function \dashrightarrow. It produces the same atom. + +defineSymbol(math, ams, rel, "\u21e2", "\\dashrightarrow", true); // unicode-math maps \u21e0 to \leftdasharrow. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u21e0", "\\dashleftarrow", true); +defineSymbol(math, ams, rel, "\u21c7", "\\leftleftarrows", true); +defineSymbol(math, ams, rel, "\u21c6", "\\leftrightarrows", true); +defineSymbol(math, ams, rel, "\u21da", "\\Lleftarrow", true); +defineSymbol(math, ams, rel, "\u219e", "\\twoheadleftarrow", true); +defineSymbol(math, ams, rel, "\u21a2", "\\leftarrowtail", true); +defineSymbol(math, ams, rel, "\u21ab", "\\looparrowleft", true); +defineSymbol(math, ams, rel, "\u21cb", "\\leftrightharpoons", true); +defineSymbol(math, ams, rel, "\u21b6", "\\curvearrowleft", true); // unicode-math maps \u21ba to \acwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u21ba", "\\circlearrowleft", true); +defineSymbol(math, ams, rel, "\u21b0", "\\Lsh", true); +defineSymbol(math, ams, rel, "\u21c8", "\\upuparrows", true); +defineSymbol(math, ams, rel, "\u21bf", "\\upharpoonleft", true); +defineSymbol(math, ams, rel, "\u21c3", "\\downharpoonleft", true); +defineSymbol(math, ams, rel, "\u22b8", "\\multimap", true); +defineSymbol(math, ams, rel, "\u21ad", "\\leftrightsquigarrow", true); +defineSymbol(math, ams, rel, "\u21c9", "\\rightrightarrows", true); +defineSymbol(math, ams, rel, "\u21c4", "\\rightleftarrows", true); +defineSymbol(math, ams, rel, "\u21a0", "\\twoheadrightarrow", true); +defineSymbol(math, ams, rel, "\u21a3", "\\rightarrowtail", true); +defineSymbol(math, ams, rel, "\u21ac", "\\looparrowright", true); +defineSymbol(math, ams, rel, "\u21b7", "\\curvearrowright", true); // unicode-math maps \u21bb to \cwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(math, ams, rel, "\u21bb", "\\circlearrowright", true); +defineSymbol(math, ams, rel, "\u21b1", "\\Rsh", true); +defineSymbol(math, ams, rel, "\u21ca", "\\downdownarrows", true); +defineSymbol(math, ams, rel, "\u21be", "\\upharpoonright", true); +defineSymbol(math, ams, rel, "\u21c2", "\\downharpoonright", true); +defineSymbol(math, ams, rel, "\u21dd", "\\rightsquigarrow", true); +defineSymbol(math, ams, rel, "\u21dd", "\\leadsto"); +defineSymbol(math, ams, rel, "\u21db", "\\Rrightarrow", true); +defineSymbol(math, ams, rel, "\u21be", "\\restriction"); +defineSymbol(math, main, textord, "\u2018", "`"); +defineSymbol(math, main, textord, "$", "\\$"); +defineSymbol(text$1, main, textord, "$", "\\$"); +defineSymbol(text$1, main, textord, "$", "\\textdollar"); +defineSymbol(math, main, textord, "%", "\\%"); +defineSymbol(text$1, main, textord, "%", "\\%"); +defineSymbol(math, main, textord, "_", "\\_"); +defineSymbol(text$1, main, textord, "_", "\\_"); +defineSymbol(text$1, main, textord, "_", "\\textunderscore"); +defineSymbol(math, main, textord, "\u2220", "\\angle", true); +defineSymbol(math, main, textord, "\u221e", "\\infty", true); +defineSymbol(math, main, textord, "\u2032", "\\prime"); +defineSymbol(math, main, textord, "\u25b3", "\\triangle"); +defineSymbol(math, main, textord, "\u0393", "\\Gamma", true); +defineSymbol(math, main, textord, "\u0394", "\\Delta", true); +defineSymbol(math, main, textord, "\u0398", "\\Theta", true); +defineSymbol(math, main, textord, "\u039b", "\\Lambda", true); +defineSymbol(math, main, textord, "\u039e", "\\Xi", true); +defineSymbol(math, main, textord, "\u03a0", "\\Pi", true); +defineSymbol(math, main, textord, "\u03a3", "\\Sigma", true); +defineSymbol(math, main, textord, "\u03a5", "\\Upsilon", true); +defineSymbol(math, main, textord, "\u03a6", "\\Phi", true); +defineSymbol(math, main, textord, "\u03a8", "\\Psi", true); +defineSymbol(math, main, textord, "\u03a9", "\\Omega", true); +defineSymbol(math, main, textord, "A", "\u0391"); +defineSymbol(math, main, textord, "B", "\u0392"); +defineSymbol(math, main, textord, "E", "\u0395"); +defineSymbol(math, main, textord, "Z", "\u0396"); +defineSymbol(math, main, textord, "H", "\u0397"); +defineSymbol(math, main, textord, "I", "\u0399"); +defineSymbol(math, main, textord, "K", "\u039A"); +defineSymbol(math, main, textord, "M", "\u039C"); +defineSymbol(math, main, textord, "N", "\u039D"); +defineSymbol(math, main, textord, "O", "\u039F"); +defineSymbol(math, main, textord, "P", "\u03A1"); +defineSymbol(math, main, textord, "T", "\u03A4"); +defineSymbol(math, main, textord, "X", "\u03A7"); +defineSymbol(math, main, textord, "\u00ac", "\\neg", true); +defineSymbol(math, main, textord, "\u00ac", "\\lnot"); +defineSymbol(math, main, textord, "\u22a4", "\\top"); +defineSymbol(math, main, textord, "\u22a5", "\\bot"); +defineSymbol(math, main, textord, "\u2205", "\\emptyset"); +defineSymbol(math, ams, textord, "\u2205", "\\varnothing"); +defineSymbol(math, main, mathord, "\u03b1", "\\alpha", true); +defineSymbol(math, main, mathord, "\u03b2", "\\beta", true); +defineSymbol(math, main, mathord, "\u03b3", "\\gamma", true); +defineSymbol(math, main, mathord, "\u03b4", "\\delta", true); +defineSymbol(math, main, mathord, "\u03f5", "\\epsilon", true); +defineSymbol(math, main, mathord, "\u03b6", "\\zeta", true); +defineSymbol(math, main, mathord, "\u03b7", "\\eta", true); +defineSymbol(math, main, mathord, "\u03b8", "\\theta", true); +defineSymbol(math, main, mathord, "\u03b9", "\\iota", true); +defineSymbol(math, main, mathord, "\u03ba", "\\kappa", true); +defineSymbol(math, main, mathord, "\u03bb", "\\lambda", true); +defineSymbol(math, main, mathord, "\u03bc", "\\mu", true); +defineSymbol(math, main, mathord, "\u03bd", "\\nu", true); +defineSymbol(math, main, mathord, "\u03be", "\\xi", true); +defineSymbol(math, main, mathord, "\u03bf", "\\omicron", true); +defineSymbol(math, main, mathord, "\u03c0", "\\pi", true); +defineSymbol(math, main, mathord, "\u03c1", "\\rho", true); +defineSymbol(math, main, mathord, "\u03c3", "\\sigma", true); +defineSymbol(math, main, mathord, "\u03c4", "\\tau", true); +defineSymbol(math, main, mathord, "\u03c5", "\\upsilon", true); +defineSymbol(math, main, mathord, "\u03d5", "\\phi", true); +defineSymbol(math, main, mathord, "\u03c7", "\\chi", true); +defineSymbol(math, main, mathord, "\u03c8", "\\psi", true); +defineSymbol(math, main, mathord, "\u03c9", "\\omega", true); +defineSymbol(math, main, mathord, "\u03b5", "\\varepsilon", true); +defineSymbol(math, main, mathord, "\u03d1", "\\vartheta", true); +defineSymbol(math, main, mathord, "\u03d6", "\\varpi", true); +defineSymbol(math, main, mathord, "\u03f1", "\\varrho", true); +defineSymbol(math, main, mathord, "\u03c2", "\\varsigma", true); +defineSymbol(math, main, mathord, "\u03c6", "\\varphi", true); +defineSymbol(math, main, bin, "\u2217", "*"); +defineSymbol(math, main, bin, "+", "+"); +defineSymbol(math, main, bin, "\u2212", "-"); +defineSymbol(math, main, bin, "\u22c5", "\\cdot", true); +defineSymbol(math, main, bin, "\u2218", "\\circ"); +defineSymbol(math, main, bin, "\u00f7", "\\div", true); +defineSymbol(math, main, bin, "\u00b1", "\\pm", true); +defineSymbol(math, main, bin, "\u00d7", "\\times", true); +defineSymbol(math, main, bin, "\u2229", "\\cap", true); +defineSymbol(math, main, bin, "\u222a", "\\cup", true); +defineSymbol(math, main, bin, "\u2216", "\\setminus"); +defineSymbol(math, main, bin, "\u2227", "\\land"); +defineSymbol(math, main, bin, "\u2228", "\\lor"); +defineSymbol(math, main, bin, "\u2227", "\\wedge", true); +defineSymbol(math, main, bin, "\u2228", "\\vee", true); +defineSymbol(math, main, textord, "\u221a", "\\surd"); +defineSymbol(math, main, open, "\u27e8", "\\langle", true); +defineSymbol(math, main, open, "\u2223", "\\lvert"); +defineSymbol(math, main, open, "\u2225", "\\lVert"); +defineSymbol(math, main, close, "?", "?"); +defineSymbol(math, main, close, "!", "!"); +defineSymbol(math, main, close, "\u27e9", "\\rangle", true); +defineSymbol(math, main, close, "\u2223", "\\rvert"); +defineSymbol(math, main, close, "\u2225", "\\rVert"); +defineSymbol(math, main, rel, "=", "="); +defineSymbol(math, main, rel, ":", ":"); +defineSymbol(math, main, rel, "\u2248", "\\approx", true); +defineSymbol(math, main, rel, "\u2245", "\\cong", true); +defineSymbol(math, main, rel, "\u2265", "\\ge"); +defineSymbol(math, main, rel, "\u2265", "\\geq", true); +defineSymbol(math, main, rel, "\u2190", "\\gets"); +defineSymbol(math, main, rel, ">", "\\gt", true); +defineSymbol(math, main, rel, "\u2208", "\\in", true); +defineSymbol(math, main, rel, "\ue020", "\\@not"); +defineSymbol(math, main, rel, "\u2282", "\\subset", true); +defineSymbol(math, main, rel, "\u2283", "\\supset", true); +defineSymbol(math, main, rel, "\u2286", "\\subseteq", true); +defineSymbol(math, main, rel, "\u2287", "\\supseteq", true); +defineSymbol(math, ams, rel, "\u2288", "\\nsubseteq", true); +defineSymbol(math, ams, rel, "\u2289", "\\nsupseteq", true); +defineSymbol(math, main, rel, "\u22a8", "\\models"); +defineSymbol(math, main, rel, "\u2190", "\\leftarrow", true); +defineSymbol(math, main, rel, "\u2264", "\\le"); +defineSymbol(math, main, rel, "\u2264", "\\leq", true); +defineSymbol(math, main, rel, "<", "\\lt", true); +defineSymbol(math, main, rel, "\u2192", "\\rightarrow", true); +defineSymbol(math, main, rel, "\u2192", "\\to"); +defineSymbol(math, ams, rel, "\u2271", "\\ngeq", true); +defineSymbol(math, ams, rel, "\u2270", "\\nleq", true); +defineSymbol(math, main, spacing, "\u00a0", "\\ "); +defineSymbol(math, main, spacing, "\u00a0", "~"); +defineSymbol(math, main, spacing, "\u00a0", "\\space"); // Ref: LaTeX Source 2e: \DeclareRobustCommand{\nobreakspace}{% + +defineSymbol(math, main, spacing, "\u00a0", "\\nobreakspace"); +defineSymbol(text$1, main, spacing, "\u00a0", "\\ "); +defineSymbol(text$1, main, spacing, "\u00a0", " "); +defineSymbol(text$1, main, spacing, "\u00a0", "~"); +defineSymbol(text$1, main, spacing, "\u00a0", "\\space"); +defineSymbol(text$1, main, spacing, "\u00a0", "\\nobreakspace"); +defineSymbol(math, main, spacing, null, "\\nobreak"); +defineSymbol(math, main, spacing, null, "\\allowbreak"); +defineSymbol(math, main, punct, ",", ","); +defineSymbol(math, main, punct, ";", ";"); +defineSymbol(math, ams, bin, "\u22bc", "\\barwedge", true); +defineSymbol(math, ams, bin, "\u22bb", "\\veebar", true); +defineSymbol(math, main, bin, "\u2299", "\\odot", true); +defineSymbol(math, main, bin, "\u2295", "\\oplus", true); +defineSymbol(math, main, bin, "\u2297", "\\otimes", true); +defineSymbol(math, main, textord, "\u2202", "\\partial", true); +defineSymbol(math, main, bin, "\u2298", "\\oslash", true); +defineSymbol(math, ams, bin, "\u229a", "\\circledcirc", true); +defineSymbol(math, ams, bin, "\u22a1", "\\boxdot", true); +defineSymbol(math, main, bin, "\u25b3", "\\bigtriangleup"); +defineSymbol(math, main, bin, "\u25bd", "\\bigtriangledown"); +defineSymbol(math, main, bin, "\u2020", "\\dagger"); +defineSymbol(math, main, bin, "\u22c4", "\\diamond"); +defineSymbol(math, main, bin, "\u22c6", "\\star"); +defineSymbol(math, main, bin, "\u25c3", "\\triangleleft"); +defineSymbol(math, main, bin, "\u25b9", "\\triangleright"); +defineSymbol(math, main, open, "{", "\\{"); +defineSymbol(text$1, main, textord, "{", "\\{"); +defineSymbol(text$1, main, textord, "{", "\\textbraceleft"); +defineSymbol(math, main, close, "}", "\\}"); +defineSymbol(text$1, main, textord, "}", "\\}"); +defineSymbol(text$1, main, textord, "}", "\\textbraceright"); +defineSymbol(math, main, open, "{", "\\lbrace"); +defineSymbol(math, main, close, "}", "\\rbrace"); +defineSymbol(math, main, open, "[", "\\lbrack", true); +defineSymbol(text$1, main, textord, "[", "\\lbrack", true); +defineSymbol(math, main, close, "]", "\\rbrack", true); +defineSymbol(text$1, main, textord, "]", "\\rbrack", true); +defineSymbol(math, main, open, "(", "\\lparen", true); +defineSymbol(math, main, close, ")", "\\rparen", true); +defineSymbol(text$1, main, textord, "<", "\\textless", true); // in T1 fontenc + +defineSymbol(text$1, main, textord, ">", "\\textgreater", true); // in T1 fontenc + +defineSymbol(math, main, open, "\u230a", "\\lfloor", true); +defineSymbol(math, main, close, "\u230b", "\\rfloor", true); +defineSymbol(math, main, open, "\u2308", "\\lceil", true); +defineSymbol(math, main, close, "\u2309", "\\rceil", true); +defineSymbol(math, main, textord, "\\", "\\backslash"); +defineSymbol(math, main, textord, "\u2223", "|"); +defineSymbol(math, main, textord, "\u2223", "\\vert"); +defineSymbol(text$1, main, textord, "|", "\\textbar", true); // in T1 fontenc + +defineSymbol(math, main, textord, "\u2225", "\\|"); +defineSymbol(math, main, textord, "\u2225", "\\Vert"); +defineSymbol(text$1, main, textord, "\u2225", "\\textbardbl"); +defineSymbol(text$1, main, textord, "~", "\\textasciitilde"); +defineSymbol(text$1, main, textord, "\\", "\\textbackslash"); +defineSymbol(text$1, main, textord, "^", "\\textasciicircum"); +defineSymbol(math, main, rel, "\u2191", "\\uparrow", true); +defineSymbol(math, main, rel, "\u21d1", "\\Uparrow", true); +defineSymbol(math, main, rel, "\u2193", "\\downarrow", true); +defineSymbol(math, main, rel, "\u21d3", "\\Downarrow", true); +defineSymbol(math, main, rel, "\u2195", "\\updownarrow", true); +defineSymbol(math, main, rel, "\u21d5", "\\Updownarrow", true); +defineSymbol(math, main, op, "\u2210", "\\coprod"); +defineSymbol(math, main, op, "\u22c1", "\\bigvee"); +defineSymbol(math, main, op, "\u22c0", "\\bigwedge"); +defineSymbol(math, main, op, "\u2a04", "\\biguplus"); +defineSymbol(math, main, op, "\u22c2", "\\bigcap"); +defineSymbol(math, main, op, "\u22c3", "\\bigcup"); +defineSymbol(math, main, op, "\u222b", "\\int"); +defineSymbol(math, main, op, "\u222b", "\\intop"); +defineSymbol(math, main, op, "\u222c", "\\iint"); +defineSymbol(math, main, op, "\u222d", "\\iiint"); +defineSymbol(math, main, op, "\u220f", "\\prod"); +defineSymbol(math, main, op, "\u2211", "\\sum"); +defineSymbol(math, main, op, "\u2a02", "\\bigotimes"); +defineSymbol(math, main, op, "\u2a01", "\\bigoplus"); +defineSymbol(math, main, op, "\u2a00", "\\bigodot"); +defineSymbol(math, main, op, "\u222e", "\\oint"); +defineSymbol(math, main, op, "\u2a06", "\\bigsqcup"); +defineSymbol(math, main, op, "\u222b", "\\smallint"); +defineSymbol(text$1, main, inner, "\u2026", "\\textellipsis"); +defineSymbol(math, main, inner, "\u2026", "\\mathellipsis"); +defineSymbol(text$1, main, inner, "\u2026", "\\ldots", true); +defineSymbol(math, main, inner, "\u2026", "\\ldots", true); +defineSymbol(math, main, inner, "\u22ef", "\\@cdots", true); +defineSymbol(math, main, inner, "\u22f1", "\\ddots", true); +defineSymbol(math, main, textord, "\u22ee", "\\varvdots"); // \vdots is a macro + +defineSymbol(math, main, accent, "\u02ca", "\\acute"); +defineSymbol(math, main, accent, "\u02cb", "\\grave"); +defineSymbol(math, main, accent, "\u00a8", "\\ddot"); +defineSymbol(math, main, accent, "\u007e", "\\tilde"); +defineSymbol(math, main, accent, "\u02c9", "\\bar"); +defineSymbol(math, main, accent, "\u02d8", "\\breve"); +defineSymbol(math, main, accent, "\u02c7", "\\check"); +defineSymbol(math, main, accent, "\u005e", "\\hat"); +defineSymbol(math, main, accent, "\u20d7", "\\vec"); +defineSymbol(math, main, accent, "\u02d9", "\\dot"); +defineSymbol(math, main, accent, "\u02da", "\\mathring"); // \imath and \jmath should be invariant to \mathrm, \mathbf, etc., so use PUA + +defineSymbol(math, main, mathord, "\ue131", "\\@imath"); +defineSymbol(math, main, mathord, "\ue237", "\\@jmath"); +defineSymbol(math, main, textord, "\u0131", "\u0131"); +defineSymbol(math, main, textord, "\u0237", "\u0237"); +defineSymbol(text$1, main, textord, "\u0131", "\\i", true); +defineSymbol(text$1, main, textord, "\u0237", "\\j", true); +defineSymbol(text$1, main, textord, "\u00df", "\\ss", true); +defineSymbol(text$1, main, textord, "\u00e6", "\\ae", true); +defineSymbol(text$1, main, textord, "\u0153", "\\oe", true); +defineSymbol(text$1, main, textord, "\u00f8", "\\o", true); +defineSymbol(text$1, main, textord, "\u00c6", "\\AE", true); +defineSymbol(text$1, main, textord, "\u0152", "\\OE", true); +defineSymbol(text$1, main, textord, "\u00d8", "\\O", true); +defineSymbol(text$1, main, accent, "\u02ca", "\\'"); // acute + +defineSymbol(text$1, main, accent, "\u02cb", "\\`"); // grave + +defineSymbol(text$1, main, accent, "\u02c6", "\\^"); // circumflex + +defineSymbol(text$1, main, accent, "\u02dc", "\\~"); // tilde + +defineSymbol(text$1, main, accent, "\u02c9", "\\="); // macron + +defineSymbol(text$1, main, accent, "\u02d8", "\\u"); // breve + +defineSymbol(text$1, main, accent, "\u02d9", "\\."); // dot above + +defineSymbol(text$1, main, accent, "\u02da", "\\r"); // ring above + +defineSymbol(text$1, main, accent, "\u02c7", "\\v"); // caron + +defineSymbol(text$1, main, accent, "\u00a8", '\\"'); // diaresis + +defineSymbol(text$1, main, accent, "\u02dd", "\\H"); // double acute + +defineSymbol(text$1, main, accent, "\u25ef", "\\textcircled"); // \bigcirc glyph +// These ligatures are detected and created in Parser.js's `formLigatures`. + +const ligatures = { + "--": true, + "---": true, + "``": true, + "''": true +}; +defineSymbol(text$1, main, textord, "\u2013", "--", true); +defineSymbol(text$1, main, textord, "\u2013", "\\textendash"); +defineSymbol(text$1, main, textord, "\u2014", "---", true); +defineSymbol(text$1, main, textord, "\u2014", "\\textemdash"); +defineSymbol(text$1, main, textord, "\u2018", "`", true); +defineSymbol(text$1, main, textord, "\u2018", "\\textquoteleft"); +defineSymbol(text$1, main, textord, "\u2019", "'", true); +defineSymbol(text$1, main, textord, "\u2019", "\\textquoteright"); +defineSymbol(text$1, main, textord, "\u201c", "``", true); +defineSymbol(text$1, main, textord, "\u201c", "\\textquotedblleft"); +defineSymbol(text$1, main, textord, "\u201d", "''", true); +defineSymbol(text$1, main, textord, "\u201d", "\\textquotedblright"); // \degree from gensymb package + +defineSymbol(math, main, textord, "\u00b0", "\\degree", true); +defineSymbol(text$1, main, textord, "\u00b0", "\\degree"); // \textdegree from inputenc package + +defineSymbol(text$1, main, textord, "\u00b0", "\\textdegree", true); // TODO: In LaTeX, \pounds can generate a different character in text and math +// mode, but among our fonts, only Main-Regular defines this character "163". + +defineSymbol(math, main, textord, "\u00a3", "\\pounds"); +defineSymbol(math, main, textord, "\u00a3", "\\mathsterling", true); +defineSymbol(text$1, main, textord, "\u00a3", "\\pounds"); +defineSymbol(text$1, main, textord, "\u00a3", "\\textsterling", true); +defineSymbol(math, ams, textord, "\u2720", "\\maltese"); +defineSymbol(text$1, ams, textord, "\u2720", "\\maltese"); // There are lots of symbols which are the same, so we add them in afterwards. +// All of these are textords in math mode + +const mathTextSymbols = "0123456789/@.\""; + +for (let i = 0; i < mathTextSymbols.length; i++) { + const ch = mathTextSymbols.charAt(i); + defineSymbol(math, main, textord, ch, ch); +} // All of these are textords in text mode + + +const textSymbols = "0123456789!@*()-=+\";:?/.,"; + +for (let i = 0; i < textSymbols.length; i++) { + const ch = textSymbols.charAt(i); + defineSymbol(text$1, main, textord, ch, ch); +} // All of these are textords in text mode, and mathords in math mode + + +const letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + +for (let i = 0; i < letters.length; i++) { + const ch = letters.charAt(i); + defineSymbol(math, main, mathord, ch, ch); + defineSymbol(text$1, main, textord, ch, ch); +} // Blackboard bold and script letters in Unicode range + + +defineSymbol(math, ams, textord, "C", "\u2102"); // blackboard bold + +defineSymbol(text$1, ams, textord, "C", "\u2102"); +defineSymbol(math, ams, textord, "H", "\u210D"); +defineSymbol(text$1, ams, textord, "H", "\u210D"); +defineSymbol(math, ams, textord, "N", "\u2115"); +defineSymbol(text$1, ams, textord, "N", "\u2115"); +defineSymbol(math, ams, textord, "P", "\u2119"); +defineSymbol(text$1, ams, textord, "P", "\u2119"); +defineSymbol(math, ams, textord, "Q", "\u211A"); +defineSymbol(text$1, ams, textord, "Q", "\u211A"); +defineSymbol(math, ams, textord, "R", "\u211D"); +defineSymbol(text$1, ams, textord, "R", "\u211D"); +defineSymbol(math, ams, textord, "Z", "\u2124"); +defineSymbol(text$1, ams, textord, "Z", "\u2124"); +defineSymbol(math, main, mathord, "h", "\u210E"); // italic h, Planck constant + +defineSymbol(text$1, main, mathord, "h", "\u210E"); // The next loop loads wide (surrogate pair) characters. +// We support some letters in the Unicode range U+1D400 to U+1D7FF, +// Mathematical Alphanumeric Symbols. +// Some editors do not deal well with wide characters. So don't write the +// string into this file. Instead, create the string from the surrogate pair. + +let wideChar = ""; + +for (let i = 0; i < letters.length; i++) { + const ch = letters.charAt(i); // The hex numbers in the next line are a surrogate pair. + // 0xD835 is the high surrogate for all letters in the range we support. + // 0xDC00 is the low surrogate for bold A. + + wideChar = String.fromCharCode(0xD835, 0xDC00 + i); // A-Z a-z bold + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDC34 + i); // A-Z a-z italic + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDC68 + i); // A-Z a-z bold italic + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDD04 + i); // A-Z a-z Fractur + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDDA0 + i); // A-Z a-z sans-serif + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDDD4 + i); // A-Z a-z sans bold + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDE08 + i); // A-Z a-z sans italic + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDE70 + i); // A-Z a-z monospace + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + + if (i < 26) { + // KaTeX fonts have only capital letters for blackboard bold and script. + // See exception for k below. + wideChar = String.fromCharCode(0xD835, 0xDD38 + i); // A-Z double struck + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDC9C + i); // A-Z script + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + } // TODO: Add bold script when it is supported by a KaTeX font. + +} // "k" is the only double struck lower case letter in the KaTeX fonts. + + +wideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck + +defineSymbol(math, main, mathord, "k", wideChar); +defineSymbol(text$1, main, textord, "k", wideChar); // Next, some wide character numerals + +for (let i = 0; i < 10; i++) { + const ch = i.toString(); + wideChar = String.fromCharCode(0xD835, 0xDFCE + i); // 0-9 bold + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDFE2 + i); // 0-9 sans serif + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDFEC + i); // 0-9 bold sans + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); + wideChar = String.fromCharCode(0xD835, 0xDFF6 + i); // 0-9 monospace + + defineSymbol(math, main, mathord, ch, wideChar); + defineSymbol(text$1, main, textord, ch, wideChar); +} // We add these Latin-1 letters as symbols for backwards-compatibility, +// but they are not actually in the font, nor are they supported by the +// Unicode accent mechanism, so they fall back to Times font and look ugly. +// TODO(edemaine): Fix this. + + +const extraLatin = "\u00c7\u00d0\u00de\u00e7\u00fe"; + +for (let i = 0; i < extraLatin.length; i++) { + const ch = extraLatin.charAt(i); + defineSymbol(math, main, mathord, ch, ch); + defineSymbol(text$1, main, textord, ch, ch); +} + +/** + * This file provides support for Unicode range U+1D400 to U+1D7FF, + * Mathematical Alphanumeric Symbols. + * + * Function wideCharacterFont takes a wide character as input and returns + * the font information necessary to render it properly. + */ +/** + * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf + * That document sorts characters into groups by font type, say bold or italic. + * + * In the arrays below, each subarray consists three elements: + * * The CSS class of that group when in math mode. + * * The CSS class of that group when in text mode. + * * The font name, so that KaTeX can get font metrics. + */ + +const wideLatinLetterData = [["mathbf", "textbf", "Main-Bold"], // A-Z bold upright +["mathbf", "textbf", "Main-Bold"], // a-z bold upright +["mathnormal", "textit", "Math-Italic"], // A-Z italic +["mathnormal", "textit", "Math-Italic"], // a-z italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // A-Z bold italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // a-z bold italic +// Map fancy A-Z letters to script, not calligraphic. +// This aligns with unicode-math and math fonts (except Cambria Math). +["mathscr", "textscr", "Script-Regular"], // A-Z script +["", "", ""], // a-z script. No font +["", "", ""], // A-Z bold script. No font +["", "", ""], // a-z bold script. No font +["mathfrak", "textfrak", "Fraktur-Regular"], // A-Z Fraktur +["mathfrak", "textfrak", "Fraktur-Regular"], // a-z Fraktur +["mathbb", "textbb", "AMS-Regular"], // A-Z double-struck +["mathbb", "textbb", "AMS-Regular"], // k double-struck +["", "", ""], // A-Z bold Fraktur No font metrics +["", "", ""], // a-z bold Fraktur. No font. +["mathsf", "textsf", "SansSerif-Regular"], // A-Z sans-serif +["mathsf", "textsf", "SansSerif-Regular"], // a-z sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // A-Z bold sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // a-z bold sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // A-Z italic sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // a-z italic sans-serif +["", "", ""], // A-Z bold italic sans. No font +["", "", ""], // a-z bold italic sans. No font +["mathtt", "texttt", "Typewriter-Regular"], // A-Z monospace +["mathtt", "texttt", "Typewriter-Regular"]]; +const wideNumeralData = [["mathbf", "textbf", "Main-Bold"], // 0-9 bold +["", "", ""], // 0-9 double-struck. No KaTeX font. +["mathsf", "textsf", "SansSerif-Regular"], // 0-9 sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // 0-9 bold sans-serif +["mathtt", "texttt", "Typewriter-Regular"]]; +const wideCharacterFont = function wideCharacterFont(wideChar, mode) { + // IE doesn't support codePointAt(). So work with the surrogate pair. + const H = wideChar.charCodeAt(0); // high surrogate + + const L = wideChar.charCodeAt(1); // low surrogate + + const codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000; + const j = mode === "math" ? 0 : 1; // column index for CSS class. + + if (0x1D400 <= codePoint && codePoint < 0x1D6A4) { + // wideLatinLetterData contains exactly 26 chars on each row. + // So we can calculate the relevant row. No traverse necessary. + const i = Math.floor((codePoint - 0x1D400) / 26); + return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]]; + } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) { + // Numerals, ten per row. + const i = Math.floor((codePoint - 0x1D7CE) / 10); + return [wideNumeralData[i][2], wideNumeralData[i][j]]; + } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) { + // dotless i or j + return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]]; + } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) { + // Greek letters. Not supported, yet. + return ["", ""]; + } else { + // We don't support any wide characters outside 1D400–1D7FF. + throw new ParseError("Unsupported character: " + wideChar); + } +}; + +/** + * This file contains information about the options that the Parser carries + * around with it while parsing. Data is held in an `Options` object, and when + * recursing, a new `Options` object can be created with the `.with*` and + * `.reset` functions. + */ +const sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize]. +// The size mappings are taken from TeX with \normalsize=10pt. +[1, 1, 1], // size1: [5, 5, 5] \tiny +[2, 1, 1], // size2: [6, 5, 5] +[3, 1, 1], // size3: [7, 5, 5] \scriptsize +[4, 2, 1], // size4: [8, 6, 5] \footnotesize +[5, 2, 1], // size5: [9, 6, 5] \small +[6, 3, 1], // size6: [10, 7, 5] \normalsize +[7, 4, 2], // size7: [12, 8, 6] \large +[8, 6, 3], // size8: [14.4, 10, 7] \Large +[9, 7, 6], // size9: [17.28, 12, 10] \LARGE +[10, 8, 7], // size10: [20.74, 14.4, 12] \huge +[11, 10, 9]]; +const sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if +// you change size indexes, change that function. +0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488]; + +const sizeAtStyle = function sizeAtStyle(size, style) { + return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1]; +}; // In these types, "" (empty string) means "no change". + + +/** + * This is the main options class. It contains the current style, size, color, + * and font. + * + * Options objects should not be modified. To create a new Options with + * different properties, call a `.having*` method. + */ +class Options { + // A font family applies to a group of fonts (i.e. SansSerif), while a font + // represents a specific font (i.e. SansSerif Bold). + // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm + + /** + * The base size index. + */ + constructor(data) { + this.style = void 0; + this.color = void 0; + this.size = void 0; + this.textSize = void 0; + this.phantom = void 0; + this.font = void 0; + this.fontFamily = void 0; + this.fontWeight = void 0; + this.fontShape = void 0; + this.sizeMultiplier = void 0; + this.maxSize = void 0; + this.minRuleThickness = void 0; + this._fontMetrics = void 0; + this.style = data.style; + this.color = data.color; + this.size = data.size || Options.BASESIZE; + this.textSize = data.textSize || this.size; + this.phantom = !!data.phantom; + this.font = data.font || ""; + this.fontFamily = data.fontFamily || ""; + this.fontWeight = data.fontWeight || ''; + this.fontShape = data.fontShape || ''; + this.sizeMultiplier = sizeMultipliers[this.size - 1]; + this.maxSize = data.maxSize; + this.minRuleThickness = data.minRuleThickness; + this._fontMetrics = undefined; + } + /** + * Returns a new options object with the same properties as "this". Properties + * from "extension" will be copied to the new options object. + */ + + + extend(extension) { + const data = { + style: this.style, + size: this.size, + textSize: this.textSize, + color: this.color, + phantom: this.phantom, + font: this.font, + fontFamily: this.fontFamily, + fontWeight: this.fontWeight, + fontShape: this.fontShape, + maxSize: this.maxSize, + minRuleThickness: this.minRuleThickness + }; + + for (const key in extension) { + if (extension.hasOwnProperty(key)) { + data[key] = extension[key]; + } + } + + return new Options(data); + } + /** + * Return an options object with the given style. If `this.style === style`, + * returns `this`. + */ + + + havingStyle(style) { + if (this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: sizeAtStyle(this.textSize, style) + }); + } + } + /** + * Return an options object with a cramped version of the current style. If + * the current style is cramped, returns `this`. + */ + + + havingCrampedStyle() { + return this.havingStyle(this.style.cramp()); + } + /** + * Return an options object with the given size and in at least `\textstyle`. + * Returns `this` if appropriate. + */ + + + havingSize(size) { + if (this.size === size && this.textSize === size) { + return this; + } else { + return this.extend({ + style: this.style.text(), + size: size, + textSize: size, + sizeMultiplier: sizeMultipliers[size - 1] + }); + } + } + /** + * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted, + * changes to at least `\textstyle`. + */ + + + havingBaseStyle(style) { + style = style || this.style.text(); + const wantSize = sizeAtStyle(Options.BASESIZE, style); + + if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: wantSize + }); + } + } + /** + * Remove the effect of sizing changes such as \Huge. + * Keep the effect of the current style, such as \scriptstyle. + */ + + + havingBaseSizing() { + let size; + + switch (this.style.id) { + case 4: + case 5: + size = 3; // normalsize in scriptstyle + + break; + + case 6: + case 7: + size = 1; // normalsize in scriptscriptstyle + + break; + + default: + size = 6; + // normalsize in textstyle or displaystyle + } + + return this.extend({ + style: this.style.text(), + size: size + }); + } + /** + * Create a new options object with the given color. + */ + + + withColor(color) { + return this.extend({ + color: color + }); + } + /** + * Create a new options object with "phantom" set to true. + */ + + + withPhantom() { + return this.extend({ + phantom: true + }); + } + /** + * Creates a new options object with the given math font or old text font. + * @type {[type]} + */ + + + withFont(font) { + return this.extend({ + font + }); + } + /** + * Create a new options objects with the given fontFamily. + */ + + + withTextFontFamily(fontFamily) { + return this.extend({ + fontFamily, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + + + withTextFontWeight(fontWeight) { + return this.extend({ + fontWeight, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + + + withTextFontShape(fontShape) { + return this.extend({ + fontShape, + font: "" + }); + } + /** + * Return the CSS sizing classes required to switch from enclosing options + * `oldOptions` to `this`. Returns an array of classes. + */ + + + sizingClasses(oldOptions) { + if (oldOptions.size !== this.size) { + return ["sizing", "reset-size" + oldOptions.size, "size" + this.size]; + } else { + return []; + } + } + /** + * Return the CSS sizing classes required to switch to the base size. Like + * `this.havingSize(BASESIZE).sizingClasses(this)`. + */ + + + baseSizingClasses() { + if (this.size !== Options.BASESIZE) { + return ["sizing", "reset-size" + this.size, "size" + Options.BASESIZE]; + } else { + return []; + } + } + /** + * Return the font metrics for this size. + */ + + + fontMetrics() { + if (!this._fontMetrics) { + this._fontMetrics = getGlobalMetrics(this.size); + } + + return this._fontMetrics; + } + /** + * Gets the CSS color of the current options object + */ + + + getColor() { + if (this.phantom) { + return "transparent"; + } else { + return this.color; + } + } + +} + +Options.BASESIZE = 6; + +/** + * This file does conversion between units. In particular, it provides + * calculateSize to convert other units into ems. + */ +// Thus, multiplying a length by this number converts the length from units +// into pts. Dividing the result by ptPerEm gives the number of ems +// *assuming* a font size of ptPerEm (normal size, normal style). + +const ptPerUnit = { + // https://en.wikibooks.org/wiki/LaTeX/Lengths and + // https://tex.stackexchange.com/a/8263 + "pt": 1, + // TeX point + "mm": 7227 / 2540, + // millimeter + "cm": 7227 / 254, + // centimeter + "in": 72.27, + // inch + "bp": 803 / 800, + // big (PostScript) points + "pc": 12, + // pica + "dd": 1238 / 1157, + // didot + "cc": 14856 / 1157, + // cicero (12 didot) + "nd": 685 / 642, + // new didot + "nc": 1370 / 107, + // new cicero (12 new didot) + "sp": 1 / 65536, + // scaled point (TeX's internal smallest unit) + // https://tex.stackexchange.com/a/41371 + "px": 803 / 800 // \pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX + +}; // Dictionary of relative units, for fast validity testing. + +const relativeUnit = { + "ex": true, + "em": true, + "mu": true +}; + +/** + * Determine whether the specified unit (either a string defining the unit + * or a "size" parse node containing a unit field) is valid. + */ +const validUnit = function validUnit(unit) { + if (typeof unit !== "string") { + unit = unit.unit; + } + + return unit in ptPerUnit || unit in relativeUnit || unit === "ex"; +}; +/* + * Convert a "size" parse node (with numeric "number" and string "unit" fields, + * as parsed by functions.js argType "size") into a CSS em value for the + * current style/scale. `options` gives the current options. + */ + +const calculateSize = function calculateSize(sizeValue, options) { + let scale; + + if (sizeValue.unit in ptPerUnit) { + // Absolute units + scale = ptPerUnit[sizeValue.unit] // Convert unit to pt + / options.fontMetrics().ptPerEm // Convert pt to CSS em + / options.sizeMultiplier; // Unscale to make absolute units + } else if (sizeValue.unit === "mu") { + // `mu` units scale with scriptstyle/scriptscriptstyle. + scale = options.fontMetrics().cssEmPerMu; + } else { + // Other relative units always refer to the *textstyle* font + // in the current size. + let unitOptions; + + if (options.style.isTight()) { + // isTight() means current style is script/scriptscript. + unitOptions = options.havingStyle(options.style.text()); + } else { + unitOptions = options; + } // TODO: In TeX these units are relative to the quad of the current + // *text* font, e.g. cmr10. KaTeX instead uses values from the + // comparably-sized *Computer Modern symbol* font. At 10pt, these + // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641; + // cmr5=1.361133, cmsy5=1.472241. Consider $\scriptsize a\kern1emb$. + // TeX \showlists shows a kern of 1.13889 * fontsize; + // KaTeX shows a kern of 1.171 * fontsize. + + + if (sizeValue.unit === "ex") { + scale = unitOptions.fontMetrics().xHeight; + } else if (sizeValue.unit === "em") { + scale = unitOptions.fontMetrics().quad; + } else { + throw new ParseError("Invalid unit: '" + sizeValue.unit + "'"); + } + + if (unitOptions !== options) { + scale *= unitOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + return Math.min(sizeValue.number * scale, options.maxSize); +}; + +/* eslint no-console:0 */ + +/** + * Looks up the given symbol in fontMetrics, after applying any symbol + * replacements defined in symbol.js + */ +const lookupSymbol = function lookupSymbol(value, // TODO(#963): Use a union type for this. +fontName, mode) { + // Replace the value with its replaced value from symbol.js + if (symbols[mode][value] && symbols[mode][value].replace) { + value = symbols[mode][value].replace; + } + + return { + value: value, + metrics: getCharacterMetrics(value, fontName, mode) + }; +}; +/** + * Makes a symbolNode after translation via the list of symbols in symbols.js. + * Correctly pulls out metrics for the character, and optionally takes a list of + * classes to be attached to the node. + * + * TODO: make argument order closer to makeSpan + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + * TODO(#953): Make `options` mandatory and always pass it in. + */ + + +const makeSymbol = function makeSymbol(value, fontName, mode, options, classes) { + const lookup = lookupSymbol(value, fontName, mode); + const metrics = lookup.metrics; + value = lookup.value; + let symbolNode; + + if (metrics) { + let italic = metrics.italic; + + if (mode === "text" || options && options.font === "mathit") { + italic = 0; + } + + symbolNode = new SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes); + } else { + // TODO(emily): Figure out a good way to only print this in development + typeof console !== "undefined" && console.warn("No character metrics " + `for '${value}' in style '${fontName}' and mode '${mode}'`); + symbolNode = new SymbolNode(value, 0, 0, 0, 0, 0, classes); + } + + if (options) { + symbolNode.maxFontSize = options.sizeMultiplier; + + if (options.style.isTight()) { + symbolNode.classes.push("mtight"); + } + + const color = options.getColor(); + + if (color) { + symbolNode.style.color = color; + } + } + + return symbolNode; +}; +/** + * Makes a symbol in Main-Regular or AMS-Regular. + * Used for rel, bin, open, close, inner, and punct. + */ + + +const mathsym = function mathsym(value, mode, options, classes) { + if (classes === void 0) { + classes = []; + } + + // Decide what font to render the symbol in by its entry in the symbols + // table. + // Have a special case for when the value = \ because the \ is used as a + // textord in unsupported command errors but cannot be parsed as a regular + // text ordinal and is therefore not present as a symbol in the symbols + // table for text, as well as a special case for boldsymbol because it + // can be used for bold + and - + if (options.font === "boldsymbol" && lookupSymbol(value, "Main-Bold", mode).metrics) { + return makeSymbol(value, "Main-Bold", mode, options, classes.concat(["mathbf"])); + } else if (value === "\\" || symbols[mode][value].font === "main") { + return makeSymbol(value, "Main-Regular", mode, options, classes); + } else { + return makeSymbol(value, "AMS-Regular", mode, options, classes.concat(["amsrm"])); + } +}; +/** + * Determines which of the two font names (Main-Bold and Math-BoldItalic) and + * corresponding style tags (mathbf or boldsymbol) to use for font "boldsymbol", + * depending on the symbol. Use this function instead of fontMap for font + * "boldsymbol". + */ + + +const boldsymbol = function boldsymbol(value, mode, options, classes, type) { + if (type !== "textord" && lookupSymbol(value, "Math-BoldItalic", mode).metrics) { + return { + fontName: "Math-BoldItalic", + fontClass: "boldsymbol" + }; + } else { + // Some glyphs do not exist in Math-BoldItalic so we need to use + // Main-Bold instead. + return { + fontName: "Main-Bold", + fontClass: "mathbf" + }; + } +}; +/** + * Makes either a mathord or textord in the correct font and color. + */ + + +const makeOrd = function makeOrd(group, options, type) { + const mode = group.mode; + const text = group.text; + const classes = ["mord"]; // Math mode or Old font (i.e. \rm) + + const isFont = mode === "math" || mode === "text" && options.font; + const fontOrFamily = isFont ? options.font : options.fontFamily; + + if (text.charCodeAt(0) === 0xD835) { + // surrogate pairs get special treatment + const _wideCharacterFont = wideCharacterFont(text, mode), + wideFontName = _wideCharacterFont[0], + wideFontClass = _wideCharacterFont[1]; + + return makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass)); + } else if (fontOrFamily) { + let fontName; + let fontClasses; + + if (fontOrFamily === "boldsymbol") { + const fontData = boldsymbol(text, mode, options, classes, type); + fontName = fontData.fontName; + fontClasses = [fontData.fontClass]; + } else if (isFont) { + fontName = fontMap[fontOrFamily].fontName; + fontClasses = [fontOrFamily]; + } else { + fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape); + fontClasses = [fontOrFamily, options.fontWeight, options.fontShape]; + } + + if (lookupSymbol(text, fontName, mode).metrics) { + return makeSymbol(text, fontName, mode, options, classes.concat(fontClasses)); + } else if (ligatures.hasOwnProperty(text) && fontName.substr(0, 10) === "Typewriter") { + // Deconstruct ligatures in monospace fonts (\texttt, \tt). + const parts = []; + + for (let i = 0; i < text.length; i++) { + parts.push(makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses))); + } + + return makeFragment(parts); + } + } // Makes a symbol in the default font for mathords and textords. + + + if (type === "mathord") { + return makeSymbol(text, "Math-Italic", mode, options, classes.concat(["mathnormal"])); + } else if (type === "textord") { + const font = symbols[mode][text] && symbols[mode][text].font; + + if (font === "ams") { + const fontName = retrieveTextFontName("amsrm", options.fontWeight, options.fontShape); + return makeSymbol(text, fontName, mode, options, classes.concat("amsrm", options.fontWeight, options.fontShape)); + } else if (font === "main" || !font) { + const fontName = retrieveTextFontName("textrm", options.fontWeight, options.fontShape); + return makeSymbol(text, fontName, mode, options, classes.concat(options.fontWeight, options.fontShape)); + } else { + // fonts added by plugins + const fontName = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class + + return makeSymbol(text, fontName, mode, options, classes.concat(fontName, options.fontWeight, options.fontShape)); + } + } else { + throw new Error("unexpected type: " + type + " in makeOrd"); + } +}; +/** + * Returns true if subsequent symbolNodes have the same classes, skew, maxFont, + * and styles. + */ + + +const canCombine = (prev, next) => { + if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) { + return false; + } + + for (const style in prev.style) { + if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) { + return false; + } + } + + for (const style in next.style) { + if (next.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) { + return false; + } + } + + return true; +}; +/** + * Combine consequetive domTree.symbolNodes into a single symbolNode. + * Note: this function mutates the argument. + */ + + +const tryCombineChars = chars => { + for (let i = 0; i < chars.length - 1; i++) { + const prev = chars[i]; + const next = chars[i + 1]; + + if (prev instanceof SymbolNode && next instanceof SymbolNode && canCombine(prev, next)) { + prev.text += next.text; + prev.height = Math.max(prev.height, next.height); + prev.depth = Math.max(prev.depth, next.depth); // Use the last character's italic correction since we use + // it to add padding to the right of the span created from + // the combined characters. + + prev.italic = next.italic; + chars.splice(i + 1, 1); + i--; + } + } + + return chars; +}; +/** + * Calculate the height, depth, and maxFontSize of an element based on its + * children. + */ + + +const sizeElementFromChildren = function sizeElementFromChildren(elem) { + let height = 0; + let depth = 0; + let maxFontSize = 0; + + for (let i = 0; i < elem.children.length; i++) { + const child = elem.children[i]; + + if (child.height > height) { + height = child.height; + } + + if (child.depth > depth) { + depth = child.depth; + } + + if (child.maxFontSize > maxFontSize) { + maxFontSize = child.maxFontSize; + } + } + + elem.height = height; + elem.depth = depth; + elem.maxFontSize = maxFontSize; +}; +/** + * Makes a span with the given list of classes, list of children, and options. + * + * TODO(#953): Ensure that `options` is always provided (currently some call + * sites don't pass it) and make the type below mandatory. + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + */ + + +const makeSpan = function makeSpan(classes, children, options, style) { + const span = new Span(classes, children, options, style); + sizeElementFromChildren(span); + return span; +}; // SVG one is simpler -- doesn't require height, depth, max-font setting. +// This is also a separate method for typesafety. + + +const makeSvgSpan = (classes, children, options, style) => new Span(classes, children, options, style); + +const makeLineSpan = function makeLineSpan(className, options, thickness) { + const line = makeSpan([className], [], options); + line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness); + line.style.borderBottomWidth = line.height + "em"; + line.maxFontSize = 1.0; + return line; +}; +/** + * Makes an anchor with the given href, list of classes, list of children, + * and options. + */ + + +const makeAnchor = function makeAnchor(href, classes, children, options) { + const anchor = new Anchor(href, classes, children, options); + sizeElementFromChildren(anchor); + return anchor; +}; +/** + * Makes a document fragment with the given list of children. + */ + + +const makeFragment = function makeFragment(children) { + const fragment = new DocumentFragment(children); + sizeElementFromChildren(fragment); + return fragment; +}; +/** + * Wraps group in a span if it's a document fragment, allowing to apply classes + * and styles + */ + + +const wrapFragment = function wrapFragment(group, options) { + if (group instanceof DocumentFragment) { + return makeSpan([], [group], options); + } + + return group; +}; // These are exact object types to catch typos in the names of the optional fields. + + +// Computes the updated `children` list and the overall depth. +// +// This helper function for makeVList makes it easier to enforce type safety by +// allowing early exits (returns) in the logic. +const getVListChildrenAndDepth = function getVListChildrenAndDepth(params) { + if (params.positionType === "individualShift") { + const oldChildren = params.children; + const children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be + // shifted to the correct specified shift + + const depth = -oldChildren[0].shift - oldChildren[0].elem.depth; + let currPos = depth; + + for (let i = 1; i < oldChildren.length; i++) { + const diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth; + const size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth); + currPos = currPos + diff; + children.push({ + type: "kern", + size + }); + children.push(oldChildren[i]); + } + + return { + children, + depth + }; + } + + let depth; + + if (params.positionType === "top") { + // We always start at the bottom, so calculate the bottom by adding up + // all the sizes + let bottom = params.positionData; + + for (let i = 0; i < params.children.length; i++) { + const child = params.children[i]; + bottom -= child.type === "kern" ? child.size : child.elem.height + child.elem.depth; + } + + depth = bottom; + } else if (params.positionType === "bottom") { + depth = -params.positionData; + } else { + const firstChild = params.children[0]; + + if (firstChild.type !== "elem") { + throw new Error('First child must have type "elem".'); + } + + if (params.positionType === "shift") { + depth = -firstChild.elem.depth - params.positionData; + } else if (params.positionType === "firstBaseline") { + depth = -firstChild.elem.depth; + } else { + throw new Error(`Invalid positionType ${params.positionType}.`); + } + } + + return { + children: params.children, + depth + }; +}; +/** + * Makes a vertical list by stacking elements and kerns on top of each other. + * Allows for many different ways of specifying the positioning method. + * + * See VListParam documentation above. + */ + + +const makeVList = function makeVList(params, options) { + const _getVListChildrenAndD = getVListChildrenAndDepth(params), + children = _getVListChildrenAndD.children, + depth = _getVListChildrenAndD.depth; // Create a strut that is taller than any list item. The strut is added to + // each item, where it will determine the item's baseline. Since it has + // `overflow:hidden`, the strut's top edge will sit on the item's line box's + // top edge and the strut's bottom edge will sit on the item's baseline, + // with no additional line-height spacing. This allows the item baseline to + // be positioned precisely without worrying about font ascent and + // line-height. + + + let pstrutSize = 0; + + for (let i = 0; i < children.length; i++) { + const child = children[i]; + + if (child.type === "elem") { + const elem = child.elem; + pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height); + } + } + + pstrutSize += 2; + const pstrut = makeSpan(["pstrut"], []); + pstrut.style.height = pstrutSize + "em"; // Create a new list of actual children at the correct offsets + + const realChildren = []; + let minPos = depth; + let maxPos = depth; + let currPos = depth; + + for (let i = 0; i < children.length; i++) { + const child = children[i]; + + if (child.type === "kern") { + currPos += child.size; + } else { + const elem = child.elem; + const classes = child.wrapperClasses || []; + const style = child.wrapperStyle || {}; + const childWrap = makeSpan(classes, [pstrut, elem], undefined, style); + childWrap.style.top = -pstrutSize - currPos - elem.depth + "em"; + + if (child.marginLeft) { + childWrap.style.marginLeft = child.marginLeft; + } + + if (child.marginRight) { + childWrap.style.marginRight = child.marginRight; + } + + realChildren.push(childWrap); + currPos += elem.height + elem.depth; + } + + minPos = Math.min(minPos, currPos); + maxPos = Math.max(maxPos, currPos); + } // The vlist contents go in a table-cell with `vertical-align:bottom`. + // This cell's bottom edge will determine the containing table's baseline + // without overly expanding the containing line-box. + + + const vlist = makeSpan(["vlist"], realChildren); + vlist.style.height = maxPos + "em"; // A second row is used if necessary to represent the vlist's depth. + + let rows; + + if (minPos < 0) { + // We will define depth in an empty span with display: table-cell. + // It should render with the height that we define. But Chrome, in + // contenteditable mode only, treats that span as if it contains some + // text content. And that min-height over-rides our desired height. + // So we put another empty span inside the depth strut span. + const emptySpan = makeSpan([], []); + const depthStrut = makeSpan(["vlist"], [emptySpan]); + depthStrut.style.height = -minPos + "em"; // Safari wants the first row to have inline content; otherwise it + // puts the bottom of the *second* row on the baseline. + + const topStrut = makeSpan(["vlist-s"], [new SymbolNode("\u200b")]); + rows = [makeSpan(["vlist-r"], [vlist, topStrut]), makeSpan(["vlist-r"], [depthStrut])]; + } else { + rows = [makeSpan(["vlist-r"], [vlist])]; + } + + const vtable = makeSpan(["vlist-t"], rows); + + if (rows.length === 2) { + vtable.classes.push("vlist-t2"); + } + + vtable.height = maxPos; + vtable.depth = -minPos; + return vtable; +}; // Glue is a concept from TeX which is a flexible space between elements in +// either a vertical or horizontal list. In KaTeX, at least for now, it's +// static space between elements in a horizontal layout. + + +const makeGlue = (measurement, options) => { + // Make an empty span for the space + const rule = makeSpan(["mspace"], [], options); + const size = calculateSize(measurement, options); + rule.style.marginRight = `${size}em`; + return rule; +}; // Takes font options, and returns the appropriate fontLookup name + + +const retrieveTextFontName = function retrieveTextFontName(fontFamily, fontWeight, fontShape) { + let baseFontName = ""; + + switch (fontFamily) { + case "amsrm": + baseFontName = "AMS"; + break; + + case "textrm": + baseFontName = "Main"; + break; + + case "textsf": + baseFontName = "SansSerif"; + break; + + case "texttt": + baseFontName = "Typewriter"; + break; + + default: + baseFontName = fontFamily; + // use fonts added by a plugin + } + + let fontStylesName; + + if (fontWeight === "textbf" && fontShape === "textit") { + fontStylesName = "BoldItalic"; + } else if (fontWeight === "textbf") { + fontStylesName = "Bold"; + } else if (fontWeight === "textit") { + fontStylesName = "Italic"; + } else { + fontStylesName = "Regular"; + } + + return `${baseFontName}-${fontStylesName}`; +}; +/** + * Maps TeX font commands to objects containing: + * - variant: string used for "mathvariant" attribute in buildMathML.js + * - fontName: the "style" parameter to fontMetrics.getCharacterMetrics + */ +// A map between tex font commands an MathML mathvariant attribute values + + +const fontMap = { + // styles + "mathbf": { + variant: "bold", + fontName: "Main-Bold" + }, + "mathrm": { + variant: "normal", + fontName: "Main-Regular" + }, + "textit": { + variant: "italic", + fontName: "Main-Italic" + }, + "mathit": { + variant: "italic", + fontName: "Main-Italic" + }, + "mathnormal": { + variant: "italic", + fontName: "Math-Italic" + }, + // "boldsymbol" is missing because they require the use of multiple fonts: + // Math-BoldItalic and Main-Bold. This is handled by a special case in + // makeOrd which ends up calling boldsymbol. + // families + "mathbb": { + variant: "double-struck", + fontName: "AMS-Regular" + }, + "mathcal": { + variant: "script", + fontName: "Caligraphic-Regular" + }, + "mathfrak": { + variant: "fraktur", + fontName: "Fraktur-Regular" + }, + "mathscr": { + variant: "script", + fontName: "Script-Regular" + }, + "mathsf": { + variant: "sans-serif", + fontName: "SansSerif-Regular" + }, + "mathtt": { + variant: "monospace", + fontName: "Typewriter-Regular" + } +}; +const svgData = { + // path, width, height + vec: ["vec", 0.471, 0.714], + // values from the font glyph + oiintSize1: ["oiintSize1", 0.957, 0.499], + // oval to overlay the integrand + oiintSize2: ["oiintSize2", 1.472, 0.659], + oiiintSize1: ["oiiintSize1", 1.304, 0.499], + oiiintSize2: ["oiiintSize2", 1.98, 0.659], + leftParenInner: ["leftParenInner", 0.875, 0.3], + rightParenInner: ["rightParenInner", 0.875, 0.3] +}; + +const staticSvg = function staticSvg(value, options) { + // Create a span with inline SVG for the element. + const _svgData$value = svgData[value], + pathName = _svgData$value[0], + width = _svgData$value[1], + height = _svgData$value[2]; + const path = new PathNode(pathName); + const svgNode = new SvgNode([path], { + "width": width + "em", + "height": height + "em", + // Override CSS rule `.katex svg { width: 100% }` + "style": "width:" + width + "em", + "viewBox": "0 0 " + 1000 * width + " " + 1000 * height, + "preserveAspectRatio": "xMinYMin" + }); + const span = makeSvgSpan(["overlay"], [svgNode], options); + span.height = height; + span.style.height = height + "em"; + span.style.width = width + "em"; + return span; +}; + +var buildCommon = { + fontMap, + makeSymbol, + mathsym, + makeSpan, + makeSvgSpan, + makeLineSpan, + makeAnchor, + makeFragment, + wrapFragment, + makeVList, + makeOrd, + makeGlue, + staticSvg, + svgData, + tryCombineChars +}; + +/** + * Describes spaces between different classes of atoms. + */ +const thinspace = { + number: 3, + unit: "mu" +}; +const mediumspace = { + number: 4, + unit: "mu" +}; +const thickspace = { + number: 5, + unit: "mu" +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. + +// Spacing relationships for display and text styles +const spacings = { + mord: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + minner: thinspace + }, + mbin: { + mord: mediumspace, + mop: mediumspace, + mopen: mediumspace, + minner: mediumspace + }, + mrel: { + mord: thickspace, + mop: thickspace, + mopen: thickspace, + minner: thickspace + }, + mopen: {}, + mclose: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mpunct: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + mopen: thinspace, + mclose: thinspace, + mpunct: thinspace, + minner: thinspace + }, + minner: { + mord: thinspace, + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + mopen: thinspace, + mpunct: thinspace, + minner: thinspace + } +}; // Spacing relationships for script and scriptscript styles + +const tightSpacings = { + mord: { + mop: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace + }, + mbin: {}, + mrel: {}, + mopen: {}, + mclose: { + mop: thinspace + }, + mpunct: {}, + minner: { + mop: thinspace + } +}; + +/** Context provided to function handlers for error messages. */ +// Note: reverse the order of the return type union will cause a flow error. +// See https://github.com/facebook/flow/issues/3663. +// More general version of `HtmlBuilder` for nodes (e.g. \sum, accent types) +// whose presence impacts super/subscripting. In this case, ParseNode<"supsub"> +// delegates its HTML building to the HtmlBuilder corresponding to these nodes. + +/** + * Final function spec for use at parse time. + * This is almost identical to `FunctionPropSpec`, except it + * 1. includes the function handler, and + * 2. requires all arguments except argTypes. + * It is generated by `defineFunction()` below. + */ + +/** + * All registered functions. + * `functions.js` just exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary. + */ +const _functions = {}; +/** + * All HTML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +const _htmlGroupBuilders = {}; +/** + * All MathML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +const _mathmlGroupBuilders = {}; +function defineFunction(_ref) { + let type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of functions + const data = { + type, + numArgs: props.numArgs, + argTypes: props.argTypes, + greediness: props.greediness === undefined ? 1 : props.greediness, + allowedInText: !!props.allowedInText, + allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath, + numOptionalArgs: props.numOptionalArgs || 0, + infix: !!props.infix, + handler: handler + }; + + for (let i = 0; i < names.length; ++i) { + _functions[names[i]] = data; + } + + if (type) { + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } + } +} +/** + * Use this to register only the HTML and MathML builders for a function (e.g. + * if the function's ParseNode is generated in Parser.js rather than via a + * stand-alone handler provided to `defineFunction`). + */ + +function defineFunctionBuilders(_ref2) { + let type = _ref2.type, + htmlBuilder = _ref2.htmlBuilder, + mathmlBuilder = _ref2.mathmlBuilder; + defineFunction({ + type, + names: [], + props: { + numArgs: 0 + }, + + handler() { + throw new Error('Should never be called.'); + }, + + htmlBuilder, + mathmlBuilder + }); +} // Since the corresponding buildHTML/buildMathML function expects a +// list of elements, we normalize for different kinds of arguments + +const ordargument = function ordargument(arg) { + return arg.type === "ordgroup" ? arg.body : [arg]; +}; + +/** + * This file does the main work of building a domTree structure from a parse + * tree. The entry point is the `buildHTML` function, which takes a parse tree. + * Then, the buildExpression, buildGroup, and various groupBuilders functions + * are called, to produce a final HTML tree. + */ +const makeSpan$1 = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`) +// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6, +// and the text before Rule 19. + +const binLeftCanceller = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"]; +const binRightCanceller = ["rightmost", "mrel", "mclose", "mpunct"]; +const styleMap = { + "display": Style$1.DISPLAY, + "text": Style$1.TEXT, + "script": Style$1.SCRIPT, + "scriptscript": Style$1.SCRIPTSCRIPT +}; +const DomEnum = { + mord: "mord", + mop: "mop", + mbin: "mbin", + mrel: "mrel", + mopen: "mopen", + mclose: "mclose", + mpunct: "mpunct", + minner: "minner" +}; + +/** + * Take a list of nodes, build them in order, and return a list of the built + * nodes. documentFragments are flattened into their contents, so the + * returned list contains no fragments. `isRealGroup` is true if `expression` + * is a real group (no atoms will be added on either side), as opposed to + * a partial group (e.g. one created by \color). `surrounding` is an array + * consisting type of nodes that will be added to the left and right. + */ +const buildExpression = function buildExpression(expression, options, isRealGroup, surrounding) { + if (surrounding === void 0) { + surrounding = [null, null]; + } + + // Parse expressions into `groups`. + const groups = []; + + for (let i = 0; i < expression.length; i++) { + const output = buildGroup(expression[i], options); + + if (output instanceof DocumentFragment) { + const children = output.children; + groups.push(...children); + } else { + groups.push(output); + } + } // If `expression` is a partial group, let the parent handle spacings + // to avoid processing groups multiple times. + + + if (!isRealGroup) { + return groups; + } + + let glueOptions = options; + + if (expression.length === 1) { + const node = expression[0]; + + if (node.type === "sizing") { + glueOptions = options.havingSize(node.size); + } else if (node.type === "styling") { + glueOptions = options.havingStyle(styleMap[node.style]); + } + } // Dummy spans for determining spacings between surrounding atoms. + // If `expression` has no atoms on the left or right, class "leftmost" + // or "rightmost", respectively, is used to indicate it. + + + const dummyPrev = makeSpan$1([surrounding[0] || "leftmost"], [], options); + const dummyNext = makeSpan$1([surrounding[1] || "rightmost"], [], options); // TODO: These code assumes that a node's math class is the first element + // of its `classes` array. A later cleanup should ensure this, for + // instance by changing the signature of `makeSpan`. + // Before determining what spaces to insert, perform bin cancellation. + // Binary operators change to ordinary symbols in some contexts. + + const isRoot = isRealGroup === "root"; + traverseNonSpaceNodes(groups, (node, prev) => { + const prevType = prev.classes[0]; + const type = node.classes[0]; + + if (prevType === "mbin" && utils.contains(binRightCanceller, type)) { + prev.classes[0] = "mord"; + } else if (type === "mbin" && utils.contains(binLeftCanceller, prevType)) { + node.classes[0] = "mord"; + } + }, { + node: dummyPrev + }, dummyNext, isRoot); + traverseNonSpaceNodes(groups, (node, prev) => { + const prevType = getTypeOfDomTree(prev); + const type = getTypeOfDomTree(node); // 'mtight' indicates that the node is script or scriptscript style. + + const space = prevType && type ? node.hasClass("mtight") ? tightSpacings[prevType][type] : spacings[prevType][type] : null; + + if (space) { + // Insert glue (spacing) after the `prev`. + return buildCommon.makeGlue(space, glueOptions); + } + }, { + node: dummyPrev + }, dummyNext, isRoot); + return groups; +}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and +// previous node as arguments, optionally returning a node to insert after the +// previous node. `prev` is an object with the previous node and `insertAfter` +// function to insert after it. `next` is a node that will be added to the right. +// Used for bin cancellation and inserting spacings. + +const traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, prev, next, isRoot) { + if (next) { + // temporarily append the right node, if exists + nodes.push(next); + } + + let i = 0; + + for (; i < nodes.length; i++) { + const node = nodes[i]; + const partialGroup = checkPartialGroup(node); + + if (partialGroup) { + // Recursive DFS + // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array + traverseNonSpaceNodes(partialGroup.children, callback, prev, null, isRoot); + continue; + } // Ignore explicit spaces (e.g., \;, \,) when determining what implicit + // spacing should go between atoms of different classes + + + const nonspace = !node.hasClass("mspace"); + + if (nonspace) { + const result = callback(node, prev.node); + + if (result) { + if (prev.insertAfter) { + prev.insertAfter(result); + } else { + // insert at front + nodes.unshift(result); + i++; + } + } + } + + if (nonspace) { + prev.node = node; + } else if (isRoot && node.hasClass("newline")) { + prev.node = makeSpan$1(["leftmost"]); // treat like beginning of line + } + + prev.insertAfter = (index => n => { + nodes.splice(index + 1, 0, n); + i++; + })(i); + } + + if (next) { + nodes.pop(); + } +}; // Check if given node is a partial group, i.e., does not affect spacing around. + + +const checkPartialGroup = function checkPartialGroup(node) { + if (node instanceof DocumentFragment || node instanceof Anchor || node instanceof Span && node.hasClass("enclosing")) { + return node; + } + + return null; +}; // Return the outermost node of a domTree. + + +const getOutermostNode = function getOutermostNode(node, side) { + const partialGroup = checkPartialGroup(node); + + if (partialGroup) { + const children = partialGroup.children; + + if (children.length) { + if (side === "right") { + return getOutermostNode(children[children.length - 1], "right"); + } else if (side === "left") { + return getOutermostNode(children[0], "left"); + } + } + } + + return node; +}; // Return math atom class (mclass) of a domTree. +// If `side` is given, it will get the type of the outermost node at given side. + + +const getTypeOfDomTree = function getTypeOfDomTree(node, side) { + if (!node) { + return null; + } + + if (side) { + node = getOutermostNode(node, side); + } // This makes a lot of assumptions as to where the type of atom + // appears. We should do a better job of enforcing this. + + + return DomEnum[node.classes[0]] || null; +}; +const makeNullDelimiter = function makeNullDelimiter(options, classes) { + const moreClasses = ["nulldelimiter"].concat(options.baseSizingClasses()); + return makeSpan$1(classes.concat(moreClasses)); +}; +/** + * buildGroup is the function that takes a group and calls the correct groupType + * function for it. It also handles the interaction of size and style changes + * between parents and children. + */ + +const buildGroup = function buildGroup(group, options, baseOptions) { + if (!group) { + return makeSpan$1(); + } + + if (_htmlGroupBuilders[group.type]) { + // Call the groupBuilders function + let groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account + // for that size difference. + + if (baseOptions && options.size !== baseOptions.size) { + groupNode = makeSpan$1(options.sizingClasses(baseOptions), [groupNode], options); + const multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; + groupNode.height *= multiplier; + groupNode.depth *= multiplier; + } + + return groupNode; + } else { + throw new ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`) + * into an unbreakable HTML node of class .base, with proper struts to + * guarantee correct vertical extent. `buildHTML` calls this repeatedly to + * make up the entire expression as a sequence of unbreakable units. + */ + +function buildHTMLUnbreakable(children, options) { + // Compute height and depth of this chunk. + const body = makeSpan$1(["base"], children, options); // Add strut, which ensures that the top of the HTML element falls at + // the height of the expression, and the bottom of the HTML element + // falls at the depth of the expression. + + const strut = makeSpan$1(["strut"]); + strut.style.height = body.height + body.depth + "em"; + strut.style.verticalAlign = -body.depth + "em"; + body.children.unshift(strut); + return body; +} +/** + * Take an entire parse tree, and build it into an appropriate set of HTML + * nodes. + */ + + +function buildHTML(tree, options) { + // Strip off outer tag wrapper for processing below. + let tag = null; + + if (tree.length === 1 && tree[0].type === "tag") { + tag = tree[0].tag; + tree = tree[0].body; + } // Build the expression contained in the tree + + + const expression = buildExpression(tree, options, "root"); + const children = []; // Create one base node for each chunk between potential line breaks. + // The TeXBook [p.173] says "A formula will be broken only after a + // relation symbol like $=$ or $<$ or $\rightarrow$, or after a binary + // operation symbol like $+$ or $-$ or $\times$, where the relation or + // binary operation is on the ``outer level'' of the formula (i.e., not + // enclosed in {...} and not part of an \over construction)." + + let parts = []; + + for (let i = 0; i < expression.length; i++) { + parts.push(expression[i]); + + if (expression[i].hasClass("mbin") || expression[i].hasClass("mrel") || expression[i].hasClass("allowbreak")) { + // Put any post-operator glue on same line as operator. + // Watch for \nobreak along the way, and stop at \newline. + let nobreak = false; + + while (i < expression.length - 1 && expression[i + 1].hasClass("mspace") && !expression[i + 1].hasClass("newline")) { + i++; + parts.push(expression[i]); + + if (expression[i].hasClass("nobreak")) { + nobreak = true; + } + } // Don't allow break if \nobreak among the post-operator glue. + + + if (!nobreak) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } + } else if (expression[i].hasClass("newline")) { + // Write the line except the newline + parts.pop(); + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } // Put the newline at the top level + + + children.push(expression[i]); + } + } + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + } // Now, if there was a tag, build it too and append it as a final child. + + + let tagChild; + + if (tag) { + tagChild = buildHTMLUnbreakable(buildExpression(tag, options, true)); + tagChild.classes = ["tag"]; + children.push(tagChild); + } + + const htmlNode = makeSpan$1(["katex-html"], children); + htmlNode.setAttribute("aria-hidden", "true"); // Adjust the strut of the tag to be the maximum height of all children + // (the height of the enclosing htmlNode) for proper vertical alignment. + + if (tagChild) { + const strut = tagChild.children[0]; + strut.style.height = htmlNode.height + htmlNode.depth + "em"; + strut.style.verticalAlign = -htmlNode.depth + "em"; + } + + return htmlNode; +} + +/** + * These objects store data about MathML nodes. This is the MathML equivalent + * of the types in domTree.js. Since MathML handles its own rendering, and + * since we're mainly using MathML to improve accessibility, we don't manage + * any of the styling state that the plain DOM nodes do. + * + * The `toNode` and `toMarkup` functions work simlarly to how they do in + * domTree.js, creating namespaced DOM nodes and HTML text markup respectively. + */ +function newDocumentFragment(children) { + return new DocumentFragment(children); +} +/** + * This node represents a general purpose MathML node of any type. The + * constructor requires the type of node to create (for example, `"mo"` or + * `"mspace"`, corresponding to `` and `` tags). + */ + +class MathNode { + constructor(type, children) { + this.type = void 0; + this.attributes = void 0; + this.children = void 0; + this.type = type; + this.attributes = {}; + this.children = children || []; + } + /** + * Sets an attribute on a MathML node. MathML depends on attributes to convey a + * semantic content, so this is used heavily. + */ + + + setAttribute(name, value) { + this.attributes[name] = value; + } + /** + * Gets an attribute on a MathML node. + */ + + + getAttribute(name) { + return this.attributes[name]; + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + + + toNode() { + const node = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type); + + for (const attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (let i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + } + /** + * Converts the math node into an HTML markup string. + */ + + + toMarkup() { + let markup = "<" + this.type; // Add the attributes + + for (const attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + markup += " " + attr + "=\""; + markup += utils.escape(this.attributes[attr]); + markup += "\""; + } + } + + markup += ">"; + + for (let i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ""; + return markup; + } + /** + * Converts the math node into a string, similar to innerText, but escaped. + */ + + + toText() { + return this.children.map(child => child.toText()).join(""); + } + +} +/** + * This node represents a piece of text. + */ + +class TextNode { + constructor(text) { + this.text = void 0; + this.text = text; + } + /** + * Converts the text node into a DOM text node. + */ + + + toNode() { + return document.createTextNode(this.text); + } + /** + * Converts the text node into escaped HTML markup + * (representing the text itself). + */ + + + toMarkup() { + return utils.escape(this.toText()); + } + /** + * Converts the text node into a string + * (representing the text iteself). + */ + + + toText() { + return this.text; + } + +} +/** + * This node represents a space, but may render as or as text, + * depending on the width. + */ + +class SpaceNode { + /** + * Create a Space node with width given in CSS ems. + */ + constructor(width) { + this.width = void 0; + this.character = void 0; + this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html + // for a table of space-like characters. We use Unicode + // representations instead of &LongNames; as it's not clear how to + // make the latter via document.createTextNode. + + if (width >= 0.05555 && width <= 0.05556) { + this.character = "\u200a"; //   + } else if (width >= 0.1666 && width <= 0.1667) { + this.character = "\u2009"; //   + } else if (width >= 0.2222 && width <= 0.2223) { + this.character = "\u2005"; //   + } else if (width >= 0.2777 && width <= 0.2778) { + this.character = "\u2005\u200a"; //    + } else if (width >= -0.05556 && width <= -0.05555) { + this.character = "\u200a\u2063"; // ​ + } else if (width >= -0.1667 && width <= -0.1666) { + this.character = "\u2009\u2063"; // ​ + } else if (width >= -0.2223 && width <= -0.2222) { + this.character = "\u205f\u2063"; // ​ + } else if (width >= -0.2778 && width <= -0.2777) { + this.character = "\u2005\u2063"; // ​ + } else { + this.character = null; + } + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + + + toNode() { + if (this.character) { + return document.createTextNode(this.character); + } else { + const node = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mspace"); + node.setAttribute("width", this.width + "em"); + return node; + } + } + /** + * Converts the math node into an HTML markup string. + */ + + + toMarkup() { + if (this.character) { + return `${this.character}`; + } else { + return ``; + } + } + /** + * Converts the math node into a string, similar to innerText. + */ + + + toText() { + if (this.character) { + return this.character; + } else { + return " "; + } + } + +} + +var mathMLTree = { + MathNode, + TextNode, + SpaceNode, + newDocumentFragment +}; + +/** + * This file converts a parse tree into a cooresponding MathML tree. The main + * entry point is the `buildMathML` function, which takes a parse tree from the + * parser. + */ + +/** + * Takes a symbol and converts it into a MathML text node after performing + * optional replacement from symbols.js. + */ +const makeText = function makeText(text, mode, options) { + if (symbols[mode][text] && symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.substr(4, 2) === "tt" || options.font && options.font.substr(4, 2) === "tt"))) { + text = symbols[mode][text].replace; + } + + return new mathMLTree.TextNode(text); +}; +/** + * Wrap the given array of nodes in an node if needed, i.e., + * unless the array has length 1. Always returns a single node. + */ + +const makeRow = function makeRow(body) { + if (body.length === 1) { + return body[0]; + } else { + return new mathMLTree.MathNode("mrow", body); + } +}; +/** + * Returns the math variant as a string or null if none is required. + */ + +const getVariant = function getVariant(group, options) { + // Handle \text... font specifiers as best we can. + // MathML has a limited list of allowable mathvariant specifiers; see + // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt + if (options.fontFamily === "texttt") { + return "monospace"; + } else if (options.fontFamily === "textsf") { + if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "sans-serif-bold-italic"; + } else if (options.fontShape === "textit") { + return "sans-serif-italic"; + } else if (options.fontWeight === "textbf") { + return "bold-sans-serif"; + } else { + return "sans-serif"; + } + } else if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "bold-italic"; + } else if (options.fontShape === "textit") { + return "italic"; + } else if (options.fontWeight === "textbf") { + return "bold"; + } + + const font = options.font; + + if (!font || font === "mathnormal") { + return null; + } + + const mode = group.mode; + + if (font === "mathit") { + return "italic"; + } else if (font === "boldsymbol") { + return group.type === "textord" ? "bold" : "bold-italic"; + } else if (font === "mathbf") { + return "bold"; + } else if (font === "mathbb") { + return "double-struck"; + } else if (font === "mathfrak") { + return "fraktur"; + } else if (font === "mathscr" || font === "mathcal") { + // MathML makes no distinction between script and caligrahpic + return "script"; + } else if (font === "mathsf") { + return "sans-serif"; + } else if (font === "mathtt") { + return "monospace"; + } + + let text = group.text; + + if (utils.contains(["\\imath", "\\jmath"], text)) { + return null; + } + + if (symbols[mode][text] && symbols[mode][text].replace) { + text = symbols[mode][text].replace; + } + + const fontName = buildCommon.fontMap[font].fontName; + + if (getCharacterMetrics(text, fontName, mode)) { + return buildCommon.fontMap[font].variant; + } + + return null; +}; +/** + * Takes a list of nodes, builds them, and returns a list of the generated + * MathML nodes. Also combine consecutive outputs into a single + * tag. + */ + +const buildExpression$1 = function buildExpression(expression, options, isOrdgroup) { + if (expression.length === 1) { + const group = buildGroup$1(expression[0], options); + + if (isOrdgroup && group instanceof MathNode && group.type === "mo") { + // When TeX writers want to suppress spacing on an operator, + // they often put the operator by itself inside braces. + group.setAttribute("lspace", "0em"); + group.setAttribute("rspace", "0em"); + } + + return [group]; + } + + const groups = []; + let lastGroup; + + for (let i = 0; i < expression.length; i++) { + const group = buildGroup$1(expression[i], options); + + if (group instanceof MathNode && lastGroup instanceof MathNode) { + // Concatenate adjacent s + if (group.type === 'mtext' && lastGroup.type === 'mtext' && group.getAttribute('mathvariant') === lastGroup.getAttribute('mathvariant')) { + lastGroup.children.push(...group.children); + continue; // Concatenate adjacent s + } else if (group.type === 'mn' && lastGroup.type === 'mn') { + lastGroup.children.push(...group.children); + continue; // Concatenate ... followed by . + } else if (group.type === 'mi' && group.children.length === 1 && lastGroup.type === 'mn') { + const child = group.children[0]; + + if (child instanceof TextNode && child.text === '.') { + lastGroup.children.push(...group.children); + continue; + } + } else if (lastGroup.type === 'mi' && lastGroup.children.length === 1) { + const lastChild = lastGroup.children[0]; + + if (lastChild instanceof TextNode && lastChild.text === '\u0338' && (group.type === 'mo' || group.type === 'mi' || group.type === 'mn')) { + const child = group.children[0]; + + if (child instanceof TextNode && child.text.length > 0) { + // Overlay with combining character long solidus + child.text = child.text.slice(0, 1) + "\u0338" + child.text.slice(1); + groups.pop(); + } + } + } + } + + groups.push(group); + lastGroup = group; + } + + return groups; +}; +/** + * Equivalent to buildExpression, but wraps the elements in an + * if there's more than one. Returns a single node instead of an array. + */ + +const buildExpressionRow = function buildExpressionRow(expression, options, isOrdgroup) { + return makeRow(buildExpression$1(expression, options, isOrdgroup)); +}; +/** + * Takes a group from the parser and calls the appropriate groupBuilders function + * on it to produce a MathML node. + */ + +const buildGroup$1 = function buildGroup(group, options) { + if (!group) { + return new mathMLTree.MathNode("mrow"); + } + + if (_mathmlGroupBuilders[group.type]) { + // Call the groupBuilders function + const result = _mathmlGroupBuilders[group.type](group, options); + return result; + } else { + throw new ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Takes a full parse tree and settings and builds a MathML representation of + * it. In particular, we put the elements from building the parse tree into a + * tag so we can also include that TeX source as an annotation. + * + * Note that we actually return a domTree element with a `` inside it so + * we can do appropriate styling. + */ + +function buildMathML(tree, texExpression, options, isDisplayMode, forMathmlOnly) { + const expression = buildExpression$1(tree, options); // Wrap up the expression in an mrow so it is presented in the semantics + // tag correctly, unless it's a single or . + + let wrapper; + + if (expression.length === 1 && expression[0] instanceof MathNode && utils.contains(["mrow", "mtable"], expression[0].type)) { + wrapper = expression[0]; + } else { + wrapper = new mathMLTree.MathNode("mrow", expression); + } // Build a TeX annotation of the source + + + const annotation = new mathMLTree.MathNode("annotation", [new mathMLTree.TextNode(texExpression)]); + annotation.setAttribute("encoding", "application/x-tex"); + const semantics = new mathMLTree.MathNode("semantics", [wrapper, annotation]); + const math = new mathMLTree.MathNode("math", [semantics]); + math.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML"); + + if (isDisplayMode) { + math.setAttribute("display", "block"); + } // You can't style nodes, so we wrap the node in a span. + // NOTE: The span class is not typed to have nodes as children, and + // we don't want to make the children type more generic since the children + // of span are expected to have more fields in `buildHtml` contexts. + + + const wrapperClass = forMathmlOnly ? "katex" : "katex-mathml"; // $FlowFixMe + + return buildCommon.makeSpan([wrapperClass], [math]); +} + +const optionsFromSettings = function optionsFromSettings(settings) { + return new Options({ + style: settings.displayMode ? Style$1.DISPLAY : Style$1.TEXT, + maxSize: settings.maxSize, + minRuleThickness: settings.minRuleThickness + }); +}; + +const displayWrap = function displayWrap(node, settings) { + if (settings.displayMode) { + const classes = ["katex-display"]; + + if (settings.leqno) { + classes.push("leqno"); + } + + if (settings.fleqn) { + classes.push("fleqn"); + } + + node = buildCommon.makeSpan(classes, [node]); + } + + return node; +}; + +const buildTree = function buildTree(tree, expression, settings) { + const options = optionsFromSettings(settings); + let katexNode; + + if (settings.output === "mathml") { + return buildMathML(tree, expression, options, settings.displayMode, true); + } else if (settings.output === "html") { + const htmlNode = buildHTML(tree, options); + katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + } else { + const mathMLNode = buildMathML(tree, expression, options, settings.displayMode, false); + const htmlNode = buildHTML(tree, options); + katexNode = buildCommon.makeSpan(["katex"], [mathMLNode, htmlNode]); + } + + return displayWrap(katexNode, settings); +}; +const buildHTMLTree = function buildHTMLTree(tree, expression, settings) { + const options = optionsFromSettings(settings); + const htmlNode = buildHTML(tree, options); + const katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + return displayWrap(katexNode, settings); +}; + +/** + * This file provides support to buildMathML.js and buildHTML.js + * for stretchy wide elements rendered from SVG files + * and other CSS trickery. + */ +const stretchyCodePoint = { + widehat: "^", + widecheck: "ˇ", + widetilde: "~", + utilde: "~", + overleftarrow: "\u2190", + underleftarrow: "\u2190", + xleftarrow: "\u2190", + overrightarrow: "\u2192", + underrightarrow: "\u2192", + xrightarrow: "\u2192", + underbrace: "\u23df", + overbrace: "\u23de", + overgroup: "\u23e0", + undergroup: "\u23e1", + overleftrightarrow: "\u2194", + underleftrightarrow: "\u2194", + xleftrightarrow: "\u2194", + Overrightarrow: "\u21d2", + xRightarrow: "\u21d2", + overleftharpoon: "\u21bc", + xleftharpoonup: "\u21bc", + overrightharpoon: "\u21c0", + xrightharpoonup: "\u21c0", + xLeftarrow: "\u21d0", + xLeftrightarrow: "\u21d4", + xhookleftarrow: "\u21a9", + xhookrightarrow: "\u21aa", + xmapsto: "\u21a6", + xrightharpoondown: "\u21c1", + xleftharpoondown: "\u21bd", + xrightleftharpoons: "\u21cc", + xleftrightharpoons: "\u21cb", + xtwoheadleftarrow: "\u219e", + xtwoheadrightarrow: "\u21a0", + xlongequal: "=", + xtofrom: "\u21c4", + xrightleftarrows: "\u21c4", + xrightequilibrium: "\u21cc", + // Not a perfect match. + xleftequilibrium: "\u21cb" // None better available. + +}; + +const mathMLnode = function mathMLnode(label) { + const node = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(stretchyCodePoint[label.substr(1)])]); + node.setAttribute("stretchy", "true"); + return node; +}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts. +// Copyright (c) 2009-2010, Design Science, Inc. () +// Copyright (c) 2014-2017 Khan Academy () +// Licensed under the SIL Open Font License, Version 1.1. +// See \nhttp://scripts.sil.org/OFL +// Very Long SVGs +// Many of the KaTeX stretchy wide elements use a long SVG image and an +// overflow: hidden tactic to achieve a stretchy image while avoiding +// distortion of arrowheads or brace corners. +// The SVG typically contains a very long (400 em) arrow. +// The SVG is in a container span that has overflow: hidden, so the span +// acts like a window that exposes only part of the SVG. +// The SVG always has a longer, thinner aspect ratio than the container span. +// After the SVG fills 100% of the height of the container span, +// there is a long arrow shaft left over. That left-over shaft is not shown. +// Instead, it is sliced off because the span's CSS has overflow: hidden. +// Thus, the reader sees an arrow that matches the subject matter width +// without distortion. +// Some functions, such as \cancel, need to vary their aspect ratio. These +// functions do not get the overflow SVG treatment. +// Second Brush Stroke +// Low resolution monitors struggle to display images in fine detail. +// So browsers apply anti-aliasing. A long straight arrow shaft therefore +// will sometimes appear as if it has a blurred edge. +// To mitigate this, these SVG files contain a second "brush-stroke" on the +// arrow shafts. That is, a second long thin rectangular SVG path has been +// written directly on top of each arrow shaft. This reinforcement causes +// some of the screen pixels to display as black instead of the anti-aliased +// gray pixel that a single path would generate. So we get arrow shafts +// whose edges appear to be sharper. +// In the katexImagesData object just below, the dimensions all +// correspond to path geometry inside the relevant SVG. +// For example, \overrightarrow uses the same arrowhead as glyph U+2192 +// from the KaTeX Main font. The scaling factor is 1000. +// That is, inside the font, that arrowhead is 522 units tall, which +// corresponds to 0.522 em inside the document. + + +const katexImagesData = { + // path(s), minWidth, height, align + overrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + overleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + underrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + underleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + xrightarrow: [["rightarrow"], 1.469, 522, "xMaxYMin"], + xleftarrow: [["leftarrow"], 1.469, 522, "xMinYMin"], + Overrightarrow: [["doublerightarrow"], 0.888, 560, "xMaxYMin"], + xRightarrow: [["doublerightarrow"], 1.526, 560, "xMaxYMin"], + xLeftarrow: [["doubleleftarrow"], 1.526, 560, "xMinYMin"], + overleftharpoon: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoonup: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoondown: [["leftharpoondown"], 0.888, 522, "xMinYMin"], + overrightharpoon: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoonup: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoondown: [["rightharpoondown"], 0.888, 522, "xMaxYMin"], + xlongequal: [["longequal"], 0.888, 334, "xMinYMin"], + xtwoheadleftarrow: [["twoheadleftarrow"], 0.888, 334, "xMinYMin"], + xtwoheadrightarrow: [["twoheadrightarrow"], 0.888, 334, "xMaxYMin"], + overleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + overbrace: [["leftbrace", "midbrace", "rightbrace"], 1.6, 548], + underbrace: [["leftbraceunder", "midbraceunder", "rightbraceunder"], 1.6, 548], + underleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + xleftrightarrow: [["leftarrow", "rightarrow"], 1.75, 522], + xLeftrightarrow: [["doubleleftarrow", "doublerightarrow"], 1.75, 560], + xrightleftharpoons: [["leftharpoondownplus", "rightharpoonplus"], 1.75, 716], + xleftrightharpoons: [["leftharpoonplus", "rightharpoondownplus"], 1.75, 716], + xhookleftarrow: [["leftarrow", "righthook"], 1.08, 522], + xhookrightarrow: [["lefthook", "rightarrow"], 1.08, 522], + overlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + underlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + overgroup: [["leftgroup", "rightgroup"], 0.888, 342], + undergroup: [["leftgroupunder", "rightgroupunder"], 0.888, 342], + xmapsto: [["leftmapsto", "rightarrow"], 1.5, 522], + xtofrom: [["leftToFrom", "rightToFrom"], 1.75, 528], + // The next three arrows are from the mhchem package. + // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the + // document as \xrightarrow or \xrightleftharpoons. Those have + // min-length = 1.75em, so we set min-length on these next three to match. + xrightleftarrows: [["baraboveleftarrow", "rightarrowabovebar"], 1.75, 901], + xrightequilibrium: [["baraboveshortleftharpoon", "rightharpoonaboveshortbar"], 1.75, 716], + xleftequilibrium: [["shortbaraboveleftharpoon", "shortrightharpoonabovebar"], 1.75, 716] +}; + +const groupLength = function groupLength(arg) { + if (arg.type === "ordgroup") { + return arg.body.length; + } else { + return 1; + } +}; + +const svgSpan = function svgSpan(group, options) { + // Create a span with inline SVG for the element. + function buildSvgSpan_() { + let viewBoxWidth = 400000; // default + + const label = group.label.substr(1); + + if (utils.contains(["widehat", "widecheck", "widetilde", "utilde"], label)) { + // Each type in the `if` statement corresponds to one of the ParseNode + // types below. This narrowing is required to access `grp.base`. + const grp = group; // There are four SVG images available for each function. + // Choose a taller image when there are more characters. + + const numChars = groupLength(grp.base); + let viewBoxHeight; + let pathName; + let height; + + if (numChars > 5) { + if (label === "widehat" || label === "widecheck") { + viewBoxHeight = 420; + viewBoxWidth = 2364; + height = 0.42; + pathName = label + "4"; + } else { + viewBoxHeight = 312; + viewBoxWidth = 2340; + height = 0.34; + pathName = "tilde4"; + } + } else { + const imgIndex = [1, 1, 2, 2, 3, 3][numChars]; + + if (label === "widehat" || label === "widecheck") { + viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex]; + viewBoxHeight = [0, 239, 300, 360, 420][imgIndex]; + height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex]; + pathName = label + imgIndex; + } else { + viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex]; + viewBoxHeight = [0, 260, 286, 306, 312][imgIndex]; + height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex]; + pathName = "tilde" + imgIndex; + } + } + + const path = new PathNode(pathName); + const svgNode = new SvgNode([path], { + "width": "100%", + "height": height + "em", + "viewBox": `0 0 ${viewBoxWidth} ${viewBoxHeight}`, + "preserveAspectRatio": "none" + }); + return { + span: buildCommon.makeSvgSpan([], [svgNode], options), + minWidth: 0, + height + }; + } else { + const spans = []; + const data = katexImagesData[label]; + const paths = data[0], + minWidth = data[1], + viewBoxHeight = data[2]; + const height = viewBoxHeight / 1000; + const numSvgChildren = paths.length; + let widthClasses; + let aligns; + + if (numSvgChildren === 1) { + // $FlowFixMe: All these cases must be of the 4-tuple type. + const align1 = data[3]; + widthClasses = ["hide-tail"]; + aligns = [align1]; + } else if (numSvgChildren === 2) { + widthClasses = ["halfarrow-left", "halfarrow-right"]; + aligns = ["xMinYMin", "xMaxYMin"]; + } else if (numSvgChildren === 3) { + widthClasses = ["brace-left", "brace-center", "brace-right"]; + aligns = ["xMinYMin", "xMidYMin", "xMaxYMin"]; + } else { + throw new Error(`Correct katexImagesData or update code here to support + ${numSvgChildren} children.`); + } + + for (let i = 0; i < numSvgChildren; i++) { + const path = new PathNode(paths[i]); + const svgNode = new SvgNode([path], { + "width": "400em", + "height": height + "em", + "viewBox": `0 0 ${viewBoxWidth} ${viewBoxHeight}`, + "preserveAspectRatio": aligns[i] + " slice" + }); + const span = buildCommon.makeSvgSpan([widthClasses[i]], [svgNode], options); + + if (numSvgChildren === 1) { + return { + span, + minWidth, + height + }; + } else { + span.style.height = height + "em"; + spans.push(span); + } + } + + return { + span: buildCommon.makeSpan(["stretchy"], spans, options), + minWidth, + height + }; + } + } // buildSvgSpan_() + + + const _buildSvgSpan_ = buildSvgSpan_(), + span = _buildSvgSpan_.span, + minWidth = _buildSvgSpan_.minWidth, + height = _buildSvgSpan_.height; // Note that we are returning span.depth = 0. + // Any adjustments relative to the baseline must be done in buildHTML. + + + span.height = height; + span.style.height = height + "em"; + + if (minWidth > 0) { + span.style.minWidth = minWidth + "em"; + } + + return span; +}; + +const encloseSpan = function encloseSpan(inner, label, pad, options) { + // Return an image span for \cancel, \bcancel, \xcancel, or \fbox + let img; + const totalHeight = inner.height + inner.depth + 2 * pad; + + if (/fbox|color/.test(label)) { + img = buildCommon.makeSpan(["stretchy", label], [], options); + + if (label === "fbox") { + const color = options.color && options.getColor(); + + if (color) { + img.style.borderColor = color; + } + } + } else { + // \cancel, \bcancel, or \xcancel + // Since \cancel's SVG is inline and it omits the viewBox attribute, + // its stroke-width will not vary with span area. + const lines = []; + + if (/^[bx]cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "0", + "x2": "100%", + "y2": "100%", + "stroke-width": "0.046em" + })); + } + + if (/^x?cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "100%", + "x2": "100%", + "y2": "0", + "stroke-width": "0.046em" + })); + } + + const svgNode = new SvgNode(lines, { + "width": "100%", + "height": totalHeight + "em" + }); + img = buildCommon.makeSvgSpan([], [svgNode], options); + } + + img.height = totalHeight; + img.style.height = totalHeight + "em"; + return img; +}; + +var stretchy = { + encloseSpan, + mathMLnode, + svgSpan +}; + +/** + * Asserts that the node is of the given type and returns it with stricter + * typing. Throws if the node's type does not match. + */ +function assertNodeType(node, type) { + if (!node || node.type !== type) { + throw new Error(`Expected node of type ${type}, but got ` + (node ? `node of type ${node.type}` : String(node))); + } + + return node; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function assertSymbolNodeType(node) { + const typedNode = checkSymbolNodeType(node); + + if (!typedNode) { + throw new Error(`Expected node of symbol group type, but got ` + (node ? `node of type ${node.type}` : String(node))); + } + + return typedNode; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function checkSymbolNodeType(node) { + if (node && (node.type === "atom" || NON_ATOMS.hasOwnProperty(node.type))) { + // $FlowFixMe + return node; + } + + return null; +} + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "accent", but +const htmlBuilder = (grp, options) => { + // Accents are handled in the TeXbook pg. 443, rule 12. + let base; + let group; + let supSubGroup; + + if (grp && grp.type === "supsub") { + // If our base is a character box, and we have superscripts and + // subscripts, the supsub will defer to us. In particular, we want + // to attach the superscripts and subscripts to the inner body (so + // that the position of the superscripts and subscripts won't be + // affected by the height of the accent). We accomplish this by + // sticking the base of the accent into the base of the supsub, and + // rendering that, while keeping track of where the accent is. + // The real accent group is the base of the supsub group + group = assertNodeType(grp.base, "accent"); // The character box is the base of the accent group + + base = group.base; // Stick the character box into the base of the supsub group + + grp.base = base; // Rerender the supsub group with its new base, and store that + // result. + + supSubGroup = assertSpan(buildGroup(grp, options)); // reset original base + + grp.base = group; + } else { + group = assertNodeType(grp, "accent"); + base = group.base; + } // Build the base group + + + const body = buildGroup(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character? + + const mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line "If the + // nucleus is not a single character, let s = 0; otherwise set s to the + // kern amount for the nucleus followed by the \skewchar of its font." + // Note that our skew metrics are just the kern between each character + // and the skewchar. + + let skew = 0; + + if (mustShift) { + // If the base is a character box, then we want the skew of the + // innermost character. To do that, we find the innermost character: + const baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it + + const baseGroup = buildGroup(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol. + + skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we + // removed with getBaseElem might contain things like \color which + // we can't get rid of. + // TODO(emily): Find a better way to get the skew + } // calculate the amount of space between the body and the accent + + + let clearance = Math.min(body.height, options.fontMetrics().xHeight); // Build the accent + + let accentBody; + + if (!group.isStretchy) { + let accent; + let width; + + if (group.label === "\\vec") { + // Before version 0.9, \vec used the combining font glyph U+20D7. + // But browsers, especially Safari, are not consistent in how they + // render combining characters when not preceded by a character. + // So now we use an SVG. + // If Safari reforms, we should consider reverting to the glyph. + accent = buildCommon.staticSvg("vec", options); + width = buildCommon.svgData.vec[1]; + } else { + accent = buildCommon.makeOrd({ + mode: group.mode, + text: group.label + }, options, "textord"); + accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to + // shift the accent over to a place we don't want. + + accent.italic = 0; + width = accent.width; + } + + accentBody = buildCommon.makeSpan(["accent-body"], [accent]); // "Full" accents expand the width of the resulting symbol to be + // at least the width of the accent, and overlap directly onto the + // character without any vertical offset. + + const accentFull = group.label === "\\textcircled"; + + if (accentFull) { + accentBody.classes.push('accent-full'); + clearance = body.height; + } // Shift the accent over by the skew. + + + let left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }` + // so that the accent doesn't contribute to the bounding box. + // We need to shift the character by its width (effectively half + // its width) to compensate. + + if (!accentFull) { + left -= width / 2; + } + + accentBody.style.left = left + "em"; // \textcircled uses the \bigcirc glyph, so it needs some + // vertical adjustment to match LaTeX. + + if (group.label === "\\textcircled") { + accentBody.style.top = ".2em"; + } + + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: -clearance + }, { + type: "elem", + elem: accentBody + }] + }, options); + } else { + accentBody = stretchy.svgSpan(group, options); + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"], + wrapperStyle: skew > 0 ? { + width: `calc(100% - ${2 * skew}em)`, + marginLeft: `${2 * skew}em` + } : undefined + }] + }, options); + } + + const accentWrap = buildCommon.makeSpan(["mord", "accent"], [accentBody], options); + + if (supSubGroup) { + // Here, we replace the "base" child of the supsub with our newly + // generated accent. + supSubGroup.children[0] = accentWrap; // Since we don't rerun the height calculation after replacing the + // accent, we manually recalculate height. + + supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not. + + supSubGroup.classes[0] = "mord"; + return supSubGroup; + } else { + return accentWrap; + } +}; + +const mathmlBuilder = (group, options) => { + const accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode("mo", [makeText(group.label, group.mode)]); + const node = new mathMLTree.MathNode("mover", [buildGroup$1(group.base, options), accentNode]); + node.setAttribute("accent", "true"); + return node; +}; + +const NON_STRETCHY_ACCENT_REGEX = new RegExp(["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring"].map(accent => `\\${accent}`).join("|")); // Accents + +defineFunction({ + type: "accent", + names: ["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring", "\\widecheck", "\\widehat", "\\widetilde", "\\overrightarrow", "\\overleftarrow", "\\Overrightarrow", "\\overleftrightarrow", "\\overgroup", "\\overlinesegment", "\\overleftharpoon", "\\overrightharpoon"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + const base = args[0]; + const isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName); + const isShifty = !isStretchy || context.funcName === "\\widehat" || context.funcName === "\\widetilde" || context.funcName === "\\widecheck"; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: isStretchy, + isShifty: isShifty, + base: base + }; + }, + htmlBuilder, + mathmlBuilder +}); // Text-mode accents + +defineFunction({ + type: "accent", + names: ["\\'", "\\`", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\r", "\\H", "\\v", "\\textcircled"], + props: { + numArgs: 1, + allowedInText: true, + allowedInMath: false + }, + handler: (context, args) => { + const base = args[0]; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: false, + isShifty: true, + base: base + }; + }, + htmlBuilder, + mathmlBuilder +}); + +// Horizontal overlap functions +defineFunction({ + type: "accentUnder", + names: ["\\underleftarrow", "\\underrightarrow", "\\underleftrightarrow", "\\undergroup", "\\underlinesegment", "\\utilde"], + props: { + numArgs: 1 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const base = args[0]; + return { + type: "accentUnder", + mode: parser.mode, + label: funcName, + base: base + }; + }, + htmlBuilder: (group, options) => { + // Treat under accents much like underlines. + const innerGroup = buildGroup(group.base, options); + const accentBody = stretchy.svgSpan(group, options); + const kern = group.label === "\\utilde" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns + + const vlist = buildCommon.makeVList({ + positionType: "top", + positionData: innerGroup.height, + children: [{ + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: kern + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "accentunder"], [vlist], options); + }, + mathmlBuilder: (group, options) => { + const accentNode = stretchy.mathMLnode(group.label); + const node = new mathMLTree.MathNode("munder", [buildGroup$1(group.base, options), accentNode]); + node.setAttribute("accentunder", "true"); + return node; + } +}); + +// Helper function +const paddedNode = group => { + const node = new mathMLTree.MathNode("mpadded", group ? [group] : []); + node.setAttribute("width", "+0.6em"); + node.setAttribute("lspace", "0.3em"); + return node; +}; // Stretchy arrows with an optional argument + + +defineFunction({ + type: "xArrow", + names: ["\\xleftarrow", "\\xrightarrow", "\\xLeftarrow", "\\xRightarrow", "\\xleftrightarrow", "\\xLeftrightarrow", "\\xhookleftarrow", "\\xhookrightarrow", "\\xmapsto", "\\xrightharpoondown", "\\xrightharpoonup", "\\xleftharpoondown", "\\xleftharpoonup", "\\xrightleftharpoons", "\\xleftrightharpoons", "\\xlongequal", "\\xtwoheadrightarrow", "\\xtwoheadleftarrow", "\\xtofrom", // The next 3 functions are here to support the mhchem extension. + // Direct use of these functions is discouraged and may break someday. + "\\xrightleftarrows", "\\xrightequilibrium", "\\xleftequilibrium"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "xArrow", + mode: parser.mode, + label: funcName, + body: args[0], + below: optArgs[0] + }; + }, + + // Flow is unable to correctly infer the type of `group`, even though it's + // unamibiguously determined from the passed-in `type` above. + htmlBuilder(group, options) { + const style = options.style; // Build the argument groups in the appropriate style. + // Ref: amsmath.dtx: \hbox{$\scriptstyle\mkern#3mu{#6}\mkern#4mu$}% + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + let newOptions = options.havingStyle(style.sup()); + const upperGroup = buildCommon.wrapFragment(buildGroup(group.body, newOptions, options), options); + upperGroup.classes.push("x-arrow-pad"); + let lowerGroup; + + if (group.below) { + // Build the lower group + newOptions = options.havingStyle(style.sub()); + lowerGroup = buildCommon.wrapFragment(buildGroup(group.below, newOptions, options), options); + lowerGroup.classes.push("x-arrow-pad"); + } + + const arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0. + // The point we want on the math axis is at 0.5 * arrowBody.height. + + const arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\if0#2\else\mkern#2mu\fi + + let upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu + + if (upperGroup.depth > 0.25 || group.label === "\\xleftequilibrium") { + upperShift -= upperGroup.depth; // shift up if depth encroaches + } // Generate the vlist + + + let vlist; + + if (lowerGroup) { + const lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111; + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }, { + type: "elem", + elem: lowerGroup, + shift: lowerShift + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }] + }, options); + } // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + return buildCommon.makeSpan(["mrel", "x-arrow"], [vlist], options); + }, + + mathmlBuilder(group, options) { + const arrowNode = stretchy.mathMLnode(group.label); + let node; + + if (group.body) { + const upperNode = paddedNode(buildGroup$1(group.body, options)); + + if (group.below) { + const lowerNode = paddedNode(buildGroup$1(group.below, options)); + node = new mathMLTree.MathNode("munderover", [arrowNode, lowerNode, upperNode]); + } else { + node = new mathMLTree.MathNode("mover", [arrowNode, upperNode]); + } + } else if (group.below) { + const lowerNode = paddedNode(buildGroup$1(group.below, options)); + node = new mathMLTree.MathNode("munder", [arrowNode, lowerNode]); + } else { + // This should never happen. + // Parser.js throws an error if there is no argument. + node = paddedNode(); + node = new mathMLTree.MathNode("mover", [arrowNode, node]); + } + + return node; + } + +}); + +// {123} and converts into symbol with code 123. It is used by the *macro* +// \char defined in macros.js. + +defineFunction({ + type: "textord", + names: ["\\@char"], + props: { + numArgs: 1, + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser; + const arg = assertNodeType(args[0], "ordgroup"); + const group = arg.body; + let number = ""; + + for (let i = 0; i < group.length; i++) { + const node = assertNodeType(group[i], "textord"); + number += node.text; + } + + const code = parseInt(number); + + if (isNaN(code)) { + throw new ParseError(`\\@char has non-numeric argument ${number}`); + } + + return { + type: "textord", + mode: parser.mode, + text: String.fromCharCode(code) + }; + } + +}); + +const htmlBuilder$1 = (group, options) => { + const elements = buildExpression(group.body, options.withColor(group.color), false); // \color isn't supposed to affect the type of the elements it contains. + // To accomplish this, we wrap the results in a fragment, so the inner + // elements will be able to directly interact with their neighbors. For + // example, `\color{red}{2 +} 3` has the same spacing as `2 + 3` + + return buildCommon.makeFragment(elements); +}; + +const mathmlBuilder$1 = (group, options) => { + const inner = buildExpression$1(group.body, options.withColor(group.color)); + const node = new mathMLTree.MathNode("mstyle", inner); + node.setAttribute("mathcolor", group.color); + return node; +}; + +defineFunction({ + type: "color", + names: ["\\textcolor"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "original"] + }, + + handler(_ref, args) { + let parser = _ref.parser; + const color = assertNodeType(args[0], "color-token").color; + const body = args[1]; + return { + type: "color", + mode: parser.mode, + color, + body: ordargument(body) + }; + }, + + htmlBuilder: htmlBuilder$1, + mathmlBuilder: mathmlBuilder$1 +}); +defineFunction({ + type: "color", + names: ["\\color"], + props: { + numArgs: 1, + allowedInText: true, + greediness: 3, + argTypes: ["color"] + }, + + handler(_ref2, args) { + let parser = _ref2.parser, + breakOnTokenText = _ref2.breakOnTokenText; + const color = assertNodeType(args[0], "color-token").color; // Set macro \current@color in current namespace to store the current + // color, mimicking the behavior of color.sty. + // This is currently used just to correctly color a \right + // that follows a \color command. + + parser.gullet.macros.set("\\current@color", color); // Parse out the implicit body that should be colored. + + const body = parser.parseExpression(true, breakOnTokenText); + return { + type: "color", + mode: parser.mode, + color, + body + }; + }, + + htmlBuilder: htmlBuilder$1, + mathmlBuilder: mathmlBuilder$1 +}); + +// Row breaks within tabular environments, and line breaks at top level +// same signature, we implement them as one megafunction, with newRow +// indicating whether we're in the \cr case, and newLine indicating whether +// to break the line in the \newline case. + +defineFunction({ + type: "cr", + names: ["\\cr", "\\newline"], + props: { + numArgs: 0, + numOptionalArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser, + funcName = _ref.funcName; + const size = optArgs[0]; + const newRow = funcName === "\\cr"; + let newLine = false; + + if (!newRow) { + if (parser.settings.displayMode && parser.settings.useStrictBehavior("newLineInDisplayMode", "In LaTeX, \\\\ or \\newline " + "does nothing in display mode")) { + newLine = false; + } else { + newLine = true; + } + } + + return { + type: "cr", + mode: parser.mode, + newLine, + newRow, + size: size && assertNodeType(size, "size").value + }; + }, + + // The following builders are called only at the top level, + // not within tabular/array environments. + htmlBuilder(group, options) { + if (group.newRow) { + throw new ParseError("\\cr valid only within a tabular/array environment"); + } + + const span = buildCommon.makeSpan(["mspace"], [], options); + + if (group.newLine) { + span.classes.push("newline"); + + if (group.size) { + span.style.marginTop = calculateSize(group.size, options) + "em"; + } + } + + return span; + }, + + mathmlBuilder(group, options) { + const node = new mathMLTree.MathNode("mspace"); + + if (group.newLine) { + node.setAttribute("linebreak", "newline"); + + if (group.size) { + node.setAttribute("height", calculateSize(group.size, options) + "em"); + } + } + + return node; + } + +}); + +const globalMap = { + "\\global": "\\global", + "\\long": "\\\\globallong", + "\\\\globallong": "\\\\globallong", + "\\def": "\\gdef", + "\\gdef": "\\gdef", + "\\edef": "\\xdef", + "\\xdef": "\\xdef", + "\\let": "\\\\globallet", + "\\futurelet": "\\\\globalfuture" +}; + +const checkControlSequence = tok => { + const name = tok.text; + + if (/^(?:[\\{}$&#^_]|EOF)$/.test(name)) { + throw new ParseError("Expected a control sequence", tok); + } + + return name; +}; + +const getRHS = parser => { + let tok = parser.gullet.popToken(); + + if (tok.text === "=") { + // consume optional equals + tok = parser.gullet.popToken(); + + if (tok.text === " ") { + // consume one optional space + tok = parser.gullet.popToken(); + } + } + + return tok; +}; + +const letCommand = (parser, name, tok, global) => { + let macro = parser.gullet.macros.get(tok.text); + + if (macro == null) { + // don't expand it later even if a macro with the same name is defined + // e.g., \let\foo=\frac \def\frac{\relax} \frac12 + tok.noexpand = true; + macro = { + tokens: [tok], + numArgs: 0, + // reproduce the same behavior in expansion + unexpandable: !parser.gullet.isExpandable(tok.text) + }; + } + + parser.gullet.macros.set(name, macro, global); +}; // -> | +// -> |\global +// -> | +// -> \global|\long|\outer + + +defineFunction({ + type: "internal", + names: ["\\global", "\\long", "\\\\globallong"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref) { + let parser = _ref.parser, + funcName = _ref.funcName; + parser.consumeSpaces(); + const token = parser.fetch(); + + if (globalMap[token.text]) { + // KaTeX doesn't have \par, so ignore \long + if (funcName === "\\global" || funcName === "\\\\globallong") { + token.text = globalMap[token.text]; + } + + return assertNodeType(parser.parseFunction(), "internal"); + } + + throw new ParseError(`Invalid token after macro prefix`, token); + } + +}); // Basic support for macro definitions: \def, \gdef, \edef, \xdef +// -> +// -> \def|\gdef|\edef|\xdef +// -> + +defineFunction({ + type: "internal", + names: ["\\def", "\\gdef", "\\edef", "\\xdef"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref2) { + let parser = _ref2.parser, + funcName = _ref2.funcName; + let arg = parser.gullet.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new ParseError("\\gdef's first argument must be a macro name"); + } + + const name = arg[0].text; // Count argument specifiers, and check they are in the order #1 #2 ... + + let numArgs = 0; + arg = parser.gullet.consumeArgs(1)[0]; + + while (arg.length === 1 && arg[0].text === "#") { + arg = parser.gullet.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new ParseError(`Invalid argument number length "${arg.length}"`); + } + + if (!/^[1-9]$/.test(arg[0].text)) { + throw new ParseError(`Invalid argument number "${arg[0].text}"`); + } + + numArgs++; + + if (parseInt(arg[0].text) !== numArgs) { + throw new ParseError(`Argument number "${arg[0].text}" out of order`); + } + + arg = parser.gullet.consumeArgs(1)[0]; + } + + if (funcName === "\\edef" || funcName === "\\xdef") { + arg = parser.gullet.expandTokens(arg); + arg.reverse(); // to fit in with stack order + } // Final arg is the expansion of the macro + + + parser.gullet.macros.set(name, { + tokens: arg, + numArgs + }, funcName === globalMap[funcName]); + return { + type: "internal", + mode: parser.mode + }; + } + +}); // -> +// -> \futurelet +// | \let +// -> |= + +defineFunction({ + type: "internal", + names: ["\\let", "\\\\globallet"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref3) { + let parser = _ref3.parser, + funcName = _ref3.funcName; + const name = checkControlSequence(parser.gullet.popToken()); + parser.gullet.consumeSpaces(); + const tok = getRHS(parser); + letCommand(parser, name, tok, funcName === "\\\\globallet"); + return { + type: "internal", + mode: parser.mode + }; + } + +}); // ref: https://www.tug.org/TUGboat/tb09-3/tb22bechtolsheim.pdf + +defineFunction({ + type: "internal", + names: ["\\futurelet", "\\\\globalfuture"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref4) { + let parser = _ref4.parser, + funcName = _ref4.funcName; + const name = checkControlSequence(parser.gullet.popToken()); + const middle = parser.gullet.popToken(); + const tok = parser.gullet.popToken(); + letCommand(parser, name, tok, funcName === "\\\\globalfuture"); + parser.gullet.pushToken(tok); + parser.gullet.pushToken(middle); + return { + type: "internal", + mode: parser.mode + }; + } + +}); + +/** + * This file deals with creating delimiters of various sizes. The TeXbook + * discusses these routines on page 441-442, in the "Another subroutine sets box + * x to a specified variable delimiter" paragraph. + * + * There are three main routines here. `makeSmallDelim` makes a delimiter in the + * normal font, but in either text, script, or scriptscript style. + * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1, + * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of + * smaller pieces that are stacked on top of one another. + * + * The functions take a parameter `center`, which determines if the delimiter + * should be centered around the axis. + * + * Then, there are three exposed functions. `sizedDelim` makes a delimiter in + * one of the given sizes. This is used for things like `\bigl`. + * `customSizedDelim` makes a delimiter with a given total height+depth. It is + * called in places like `\sqrt`. `leftRightDelim` makes an appropriate + * delimiter which surrounds an expression of a given height an depth. It is + * used in `\left` and `\right`. + */ + +/** + * Get the metrics for a given symbol and font, after transformation (i.e. + * after following replacement from symbols.js) + */ +const getMetrics = function getMetrics(symbol, font, mode) { + const replace = symbols.math[symbol] && symbols.math[symbol].replace; + const metrics = getCharacterMetrics(replace || symbol, font, mode); + + if (!metrics) { + throw new Error(`Unsupported symbol ${symbol} and font size ${font}.`); + } + + return metrics; +}; +/** + * Puts a delimiter span in a given style, and adds appropriate height, depth, + * and maxFontSizes. + */ + + +const styleWrap = function styleWrap(delim, toStyle, options, classes) { + const newOptions = options.havingBaseStyle(toStyle); + const span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options); + const delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier; + span.height *= delimSizeMultiplier; + span.depth *= delimSizeMultiplier; + span.maxFontSize = newOptions.sizeMultiplier; + return span; +}; + +const centerSpan = function centerSpan(span, options, style) { + const newOptions = options.havingBaseStyle(style); + const shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight; + span.classes.push("delimcenter"); + span.style.top = shift + "em"; + span.height -= shift; + span.depth += shift; +}; +/** + * Makes a small delimiter. This is a delimiter that comes in the Main-Regular + * font, but is restyled to either be in textstyle, scriptstyle, or + * scriptscriptstyle. + */ + + +const makeSmallDelim = function makeSmallDelim(delim, style, center, options, mode, classes) { + const text = buildCommon.makeSymbol(delim, "Main-Regular", mode, options); + const span = styleWrap(text, style, options, classes); + + if (center) { + centerSpan(span, options, style); + } + + return span; +}; +/** + * Builds a symbol in the given font size (note size is an integer) + */ + + +const mathrmSize = function mathrmSize(value, size, mode, options) { + return buildCommon.makeSymbol(value, "Size" + size + "-Regular", mode, options); +}; +/** + * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2, + * Size3, or Size4 fonts. It is always rendered in textstyle. + */ + + +const makeLargeDelim = function makeLargeDelim(delim, size, center, options, mode, classes) { + const inner = mathrmSize(delim, size, mode, options); + const span = styleWrap(buildCommon.makeSpan(["delimsizing", "size" + size], [inner], options), Style$1.TEXT, options, classes); + + if (center) { + centerSpan(span, options, Style$1.TEXT); + } + + return span; +}; +/** + * Make an inner span with the given offset and in the given font. This is used + * in `makeStackedDelim` to make the stacking pieces for the delimiter. + */ + + +const makeInner = function makeInner(symbol, font, mode) { + let sizeClass; // Apply the correct CSS class to choose the right font. + + if (font === "Size1-Regular") { + sizeClass = "delim-size1"; + } else + /* if (font === "Size4-Regular") */ + { + sizeClass = "delim-size4"; + } + + const inner = buildCommon.makeSpan(["delimsizinginner", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element + // in the appropriate tag that VList uses. + + return { + type: "elem", + elem: inner + }; +}; // Helper for makeStackedDelim + + +const lap = { + type: "kern", + size: -0.005 +}; +/** + * Make a stacked delimiter out of a given delimiter, with the total height at + * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook. + */ + +const makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, options, mode, classes) { + // There are four parts, the top, an optional middle, a repeated part, and a + // bottom. + let top; + let middle; + let repeat; + let bottom; + top = repeat = bottom = delim; + middle = null; // Also keep track of what font the delimiters are in + + let font = "Size1-Regular"; // We set the parts and font based on the symbol. Note that we use + // '\u23d0' instead of '|' and '\u2016' instead of '\\|' for the + // repeats of the arrows + + if (delim === "\\uparrow") { + repeat = bottom = "\u23d0"; + } else if (delim === "\\Uparrow") { + repeat = bottom = "\u2016"; + } else if (delim === "\\downarrow") { + top = repeat = "\u23d0"; + } else if (delim === "\\Downarrow") { + top = repeat = "\u2016"; + } else if (delim === "\\updownarrow") { + top = "\\uparrow"; + repeat = "\u23d0"; + bottom = "\\downarrow"; + } else if (delim === "\\Updownarrow") { + top = "\\Uparrow"; + repeat = "\u2016"; + bottom = "\\Downarrow"; + } else if (delim === "[" || delim === "\\lbrack") { + top = "\u23a1"; + repeat = "\u23a2"; + bottom = "\u23a3"; + font = "Size4-Regular"; + } else if (delim === "]" || delim === "\\rbrack") { + top = "\u23a4"; + repeat = "\u23a5"; + bottom = "\u23a6"; + font = "Size4-Regular"; + } else if (delim === "\\lfloor" || delim === "\u230a") { + repeat = top = "\u23a2"; + bottom = "\u23a3"; + font = "Size4-Regular"; + } else if (delim === "\\lceil" || delim === "\u2308") { + top = "\u23a1"; + repeat = bottom = "\u23a2"; + font = "Size4-Regular"; + } else if (delim === "\\rfloor" || delim === "\u230b") { + repeat = top = "\u23a5"; + bottom = "\u23a6"; + font = "Size4-Regular"; + } else if (delim === "\\rceil" || delim === "\u2309") { + top = "\u23a4"; + repeat = bottom = "\u23a5"; + font = "Size4-Regular"; + } else if (delim === "(" || delim === "\\lparen") { + top = "\u239b"; + repeat = "\u239c"; + bottom = "\u239d"; + font = "Size4-Regular"; + } else if (delim === ")" || delim === "\\rparen") { + top = "\u239e"; + repeat = "\u239f"; + bottom = "\u23a0"; + font = "Size4-Regular"; + } else if (delim === "\\{" || delim === "\\lbrace") { + top = "\u23a7"; + middle = "\u23a8"; + bottom = "\u23a9"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\}" || delim === "\\rbrace") { + top = "\u23ab"; + middle = "\u23ac"; + bottom = "\u23ad"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\lgroup" || delim === "\u27ee") { + top = "\u23a7"; + bottom = "\u23a9"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\rgroup" || delim === "\u27ef") { + top = "\u23ab"; + bottom = "\u23ad"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\lmoustache" || delim === "\u23b0") { + top = "\u23a7"; + bottom = "\u23ad"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } else if (delim === "\\rmoustache" || delim === "\u23b1") { + top = "\u23ab"; + bottom = "\u23a9"; + repeat = "\u23aa"; + font = "Size4-Regular"; + } // Get the metrics of the four sections + + + const topMetrics = getMetrics(top, font, mode); + const topHeightTotal = topMetrics.height + topMetrics.depth; + const repeatMetrics = getMetrics(repeat, font, mode); + const repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth; + const bottomMetrics = getMetrics(bottom, font, mode); + const bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth; + let middleHeightTotal = 0; + let middleFactor = 1; + + if (middle !== null) { + const middleMetrics = getMetrics(middle, font, mode); + middleHeightTotal = middleMetrics.height + middleMetrics.depth; + middleFactor = 2; // repeat symmetrically above and below middle + } // Calcuate the minimal height that the delimiter can have. + // It is at least the size of the top, bottom, and optional middle combined. + + + const minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need + + const repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols + + const realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note + // that in this context, "center" means that the delimiter should be + // centered around the axis in the current style, while normally it is + // centered around the axis in textstyle. + + let axisHeight = options.fontMetrics().axisHeight; + + if (center) { + axisHeight *= options.sizeMultiplier; + } // Calculate the depth + + + const depth = realHeightTotal / 2 - axisHeight; // This function differs from the TeX procedure in one way. + // We shift each repeat element downwards by 0.005em, to prevent a gap + // due to browser floating point rounding error. + // Then, at the last element-to element joint, we add one extra repeat + // element to cover the gap created by the shifts. + // Find the shift needed to align the upper end of the extra element at a point + // 0.005em above the lower end of the top element. + + const shiftOfExtraElement = (repeatCount + 1) * 0.005 - repeatHeightTotal; // Now, we start building the pieces that will go into the vlist + // Keep a list of the inner pieces + + const inners = []; // Add the bottom symbol + + inners.push(makeInner(bottom, font, mode)); + + if (middle === null) { + // Add that many symbols + for (let i = 0; i < repeatCount; i++) { + inners.push(lap); // overlap + + inners.push(makeInner(repeat, font, mode)); + } + } else { + // When there is a middle bit, we need the middle part and two repeated + // sections + for (let i = 0; i < repeatCount; i++) { + inners.push(lap); + inners.push(makeInner(repeat, font, mode)); + } // Insert one extra repeat element. + + + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(makeInner(repeat, font, mode)); + inners.push(lap); // Now insert the middle of the brace. + + inners.push(makeInner(middle, font, mode)); + + for (let i = 0; i < repeatCount; i++) { + inners.push(lap); + inners.push(makeInner(repeat, font, mode)); + } + } // To cover the gap create by the overlaps, insert one more repeat element, + // at a position that juts 0.005 above the bottom of the top element. + + + if ((repeat === "\u239c" || repeat === "\u239f") && repeatCount === 0) { + // Parentheses need a short repeat element in order to avoid an overrun. + // We'll make a 0.3em tall element from a SVG. + const overlap = buildCommon.svgData.leftParenInner[2] / 2; + inners.push({ + type: "kern", + size: -overlap + }); + const pathName = repeat === "\u239c" ? "leftParenInner" : "rightParenInner"; + const innerSpan = buildCommon.staticSvg(pathName, options); + inners.push({ + type: "elem", + elem: innerSpan + }); + inners.push({ + type: "kern", + size: -overlap + }); + } else { + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(makeInner(repeat, font, mode)); + inners.push(lap); + } // Add the top symbol + + + inners.push(makeInner(top, font, mode)); // Finally, build the vlist + + const newOptions = options.havingBaseStyle(Style$1.TEXT); + const inner = buildCommon.makeVList({ + positionType: "bottom", + positionData: depth, + children: inners + }, newOptions); + return styleWrap(buildCommon.makeSpan(["delimsizing", "mult"], [inner], newOptions), Style$1.TEXT, options, classes); +}; // All surds have 0.08em padding above the viniculum inside the SVG. +// That keeps browser span height rounding error from pinching the line. + + +const vbPad = 80; // padding above the surd, measured inside the viewBox. + +const emPad = 0.08; // padding, in ems, measured in the document. + +const sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight, extraViniculum, options) { + const path = sqrtPath(sqrtName, extraViniculum, viewBoxHeight); + const pathNode = new PathNode(sqrtName, path); + const svg = new SvgNode([pathNode], { + // Note: 1000:1 ratio of viewBox to document em width. + "width": "400em", + "height": height + "em", + "viewBox": "0 0 400000 " + viewBoxHeight, + "preserveAspectRatio": "xMinYMin slice" + }); + return buildCommon.makeSvgSpan(["hide-tail"], [svg], options); +}; +/** + * Make a sqrt image of the given height, + */ + + +const makeSqrtImage = function makeSqrtImage(height, options) { + // Define a newOptions that removes the effect of size changes such as \Huge. + // We don't pick different a height surd for \Huge. For it, we scale up. + const newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds. + + const delim = traverseSequence("\\surd", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions); + let sizeMultiplier = newOptions.sizeMultiplier; // default + // The standard sqrt SVGs each have a 0.04em thick viniculum. + // If Settings.minRuleThickness is larger than that, we add extraViniculum. + + const extraViniculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol. + + let span; + let spanHeight = 0; + let texHeight = 0; + let viewBoxHeight = 0; + let advanceWidth; // We create viewBoxes with 80 units of "padding" above each surd. + // Then browser rounding error on the parent span height will not + // encroach on the ink of the viniculum. But that padding is not + // included in the TeX-like `height` used for calculation of + // vertical alignment. So texHeight = span.height < span.style.height. + + if (delim.type === "small") { + // Get an SVG that is derived from glyph U+221A in font KaTeX-Main. + // 1000 unit normal glyph height. + viewBoxHeight = 1000 + 1000 * extraViniculum + vbPad; + + if (height < 1.0) { + sizeMultiplier = 1.0; // mimic a \textfont radical + } else if (height < 1.4) { + sizeMultiplier = 0.7; // mimic a \scriptfont radical + } + + spanHeight = (1.0 + extraViniculum + emPad) / sizeMultiplier; + texHeight = (1.00 + extraViniculum) / sizeMultiplier; + span = sqrtSvg("sqrtMain", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.853em"; + advanceWidth = 0.833 / sizeMultiplier; // from the font. + } else if (delim.type === "large") { + // These SVGs come from fonts: KaTeX_Size1, _Size2, etc. + viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size]; + texHeight = (sizeToMaxHeight[delim.size] + extraViniculum) / sizeMultiplier; + spanHeight = (sizeToMaxHeight[delim.size] + extraViniculum + emPad) / sizeMultiplier; + span = sqrtSvg("sqrtSize" + delim.size, spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "1.02em"; + advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font. + } else { + // Tall sqrt. In TeX, this would be stacked using multiple glyphs. + // We'll use a single SVG to accomplish the same thing. + spanHeight = height + extraViniculum + emPad; + texHeight = height + extraViniculum; + viewBoxHeight = Math.floor(1000 * height + extraViniculum) + vbPad; + span = sqrtSvg("sqrtTall", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.742em"; + advanceWidth = 1.056; + } + + span.height = texHeight; + span.style.height = spanHeight + "em"; + return { + span, + advanceWidth, + // Calculate the actual line width. + // This actually should depend on the chosen font -- e.g. \boldmath + // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and + // have thicker rules. + ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraViniculum) * sizeMultiplier + }; +}; // There are three kinds of delimiters, delimiters that stack when they become +// too large + + +const stackLargeDelimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230a", "\u230b", "\\lceil", "\\rceil", "\u2308", "\u2309", "\\surd"]; // delimiters that always stack + +const stackAlwaysDelimiters = ["\\uparrow", "\\downarrow", "\\updownarrow", "\\Uparrow", "\\Downarrow", "\\Updownarrow", "|", "\\|", "\\vert", "\\Vert", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27ee", "\u27ef", "\\lmoustache", "\\rmoustache", "\u23b0", "\u23b1"]; // and delimiters that never stack + +const stackNeverDelimiters = ["<", ">", "\\langle", "\\rangle", "/", "\\backslash", "\\lt", "\\gt"]; // Metrics of the different sizes. Found by looking at TeX's output of +// $\bigl| // \Bigl| \biggl| \Biggl| \showlists$ +// Used to create stacked delimiters of appropriate sizes in makeSizedDelim. + +const sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0]; +/** + * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4. + */ + +const makeSizedDelim = function makeSizedDelim(delim, size, options, mode, classes) { + // < and > turn into \langle and \rangle in delimiters + if (delim === "<" || delim === "\\lt" || delim === "\u27e8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27e9") { + delim = "\\rangle"; + } // Sized delimiters are never centered. + + + if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) { + return makeLargeDelim(delim, size, false, options, mode, classes); + } else if (utils.contains(stackAlwaysDelimiters, delim)) { + return makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes); + } else { + throw new ParseError("Illegal delimiter: '" + delim + "'"); + } +}; +/** + * There are three different sequences of delimiter sizes that the delimiters + * follow depending on the kind of delimiter. This is used when creating custom + * sized delimiters to decide whether to create a small, large, or stacked + * delimiter. + * + * In real TeX, these sequences aren't explicitly defined, but are instead + * defined inside the font metrics. Since there are only three sequences that + * are possible for the delimiters that TeX defines, it is easier to just encode + * them explicitly here. + */ + + +// Delimiters that never stack try small delimiters and large delimiters only +const stackNeverDelimiterSequence = [{ + type: "small", + style: Style$1.SCRIPTSCRIPT +}, { + type: "small", + style: Style$1.SCRIPT +}, { + type: "small", + style: Style$1.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}]; // Delimiters that always stack try the small delimiters first, then stack + +const stackAlwaysDelimiterSequence = [{ + type: "small", + style: Style$1.SCRIPTSCRIPT +}, { + type: "small", + style: Style$1.SCRIPT +}, { + type: "small", + style: Style$1.TEXT +}, { + type: "stack" +}]; // Delimiters that stack when large try the small and then large delimiters, and +// stack afterwards + +const stackLargeDelimiterSequence = [{ + type: "small", + style: Style$1.SCRIPTSCRIPT +}, { + type: "small", + style: Style$1.SCRIPT +}, { + type: "small", + style: Style$1.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}, { + type: "stack" +}]; +/** + * Get the font used in a delimiter based on what kind of delimiter it is. + * TODO(#963) Use more specific font family return type once that is introduced. + */ + +const delimTypeToFont = function delimTypeToFont(type) { + if (type.type === "small") { + return "Main-Regular"; + } else if (type.type === "large") { + return "Size" + type.size + "-Regular"; + } else if (type.type === "stack") { + return "Size4-Regular"; + } else { + throw new Error(`Add support for delim type '${type.type}' here.`); + } +}; +/** + * Traverse a sequence of types of delimiters to decide what kind of delimiter + * should be used to create a delimiter of the given height+depth. + */ + + +const traverseSequence = function traverseSequence(delim, height, sequence, options) { + // Here, we choose the index we should start at in the sequences. In smaller + // sizes (which correspond to larger numbers in style.size) we start earlier + // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts + // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2 + const start = Math.min(2, 3 - options.style.size); + + for (let i = start; i < sequence.length; i++) { + if (sequence[i].type === "stack") { + // This is always the last delimiter, so we just break the loop now. + break; + } + + const metrics = getMetrics(delim, delimTypeToFont(sequence[i]), "math"); + let heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we + // account for the style change size. + + if (sequence[i].type === "small") { + const newOptions = options.havingBaseStyle(sequence[i].style); + heightDepth *= newOptions.sizeMultiplier; + } // Check if the delimiter at this size works for the given height. + + + if (heightDepth > height) { + return sequence[i]; + } + } // If we reached the end of the sequence, return the last sequence element. + + + return sequence[sequence.length - 1]; +}; +/** + * Make a delimiter of a given height+depth, with optional centering. Here, we + * traverse the sequences, and create a delimiter that the sequence tells us to. + */ + + +const makeCustomSizedDelim = function makeCustomSizedDelim(delim, height, center, options, mode, classes) { + if (delim === "<" || delim === "\\lt" || delim === "\u27e8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27e9") { + delim = "\\rangle"; + } // Decide what sequence to use + + + let sequence; + + if (utils.contains(stackNeverDelimiters, delim)) { + sequence = stackNeverDelimiterSequence; + } else if (utils.contains(stackLargeDelimiters, delim)) { + sequence = stackLargeDelimiterSequence; + } else { + sequence = stackAlwaysDelimiterSequence; + } // Look through the sequence + + + const delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs. + // Depending on the sequence element we decided on, call the + // appropriate function. + + if (delimType.type === "small") { + return makeSmallDelim(delim, delimType.style, center, options, mode, classes); + } else if (delimType.type === "large") { + return makeLargeDelim(delim, delimType.size, center, options, mode, classes); + } else + /* if (delimType.type === "stack") */ + { + return makeStackedDelim(delim, height, center, options, mode, classes); + } +}; +/** + * Make a delimiter for use with `\left` and `\right`, given a height and depth + * of an expression that the delimiters surround. + */ + + +const makeLeftRightDelim = function makeLeftRightDelim(delim, height, depth, options, mode, classes) { + // We always center \left/\right delimiters, so the axis is always shifted + const axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right + + const delimiterFactor = 901; + const delimiterExtend = 5.0 / options.fontMetrics().ptPerEm; + const maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight); + const totalHeight = Math.max( // In real TeX, calculations are done using integral values which are + // 65536 per pt, or 655360 per em. So, the division here truncates in + // TeX but doesn't here, producing different results. If we wanted to + // exactly match TeX's calculation, we could do + // Math.floor(655360 * maxDistFromAxis / 500) * + // delimiterFactor / 655360 + // (To see the difference, compare + // x^{x^{\left(\rule{0.1em}{0.68em}\right)}} + // in TeX and KaTeX) + maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total + // height + + return makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes); +}; + +var delimiter = { + sqrtImage: makeSqrtImage, + sizedDelim: makeSizedDelim, + customSizedDelim: makeCustomSizedDelim, + leftRightDelim: makeLeftRightDelim +}; + +// Extra data needed for the delimiter handler down below +const delimiterSizes = { + "\\bigl": { + mclass: "mopen", + size: 1 + }, + "\\Bigl": { + mclass: "mopen", + size: 2 + }, + "\\biggl": { + mclass: "mopen", + size: 3 + }, + "\\Biggl": { + mclass: "mopen", + size: 4 + }, + "\\bigr": { + mclass: "mclose", + size: 1 + }, + "\\Bigr": { + mclass: "mclose", + size: 2 + }, + "\\biggr": { + mclass: "mclose", + size: 3 + }, + "\\Biggr": { + mclass: "mclose", + size: 4 + }, + "\\bigm": { + mclass: "mrel", + size: 1 + }, + "\\Bigm": { + mclass: "mrel", + size: 2 + }, + "\\biggm": { + mclass: "mrel", + size: 3 + }, + "\\Biggm": { + mclass: "mrel", + size: 4 + }, + "\\big": { + mclass: "mord", + size: 1 + }, + "\\Big": { + mclass: "mord", + size: 2 + }, + "\\bigg": { + mclass: "mord", + size: 3 + }, + "\\Bigg": { + mclass: "mord", + size: 4 + } +}; +const delimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230a", "\u230b", "\\lceil", "\\rceil", "\u2308", "\u2309", "<", ">", "\\langle", "\u27e8", "\\rangle", "\u27e9", "\\lt", "\\gt", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27ee", "\u27ef", "\\lmoustache", "\\rmoustache", "\u23b0", "\u23b1", "/", "\\backslash", "|", "\\vert", "\\|", "\\Vert", "\\uparrow", "\\Uparrow", "\\downarrow", "\\Downarrow", "\\updownarrow", "\\Updownarrow", "."]; + +// Delimiter functions +function checkDelimiter(delim, context) { + const symDelim = checkSymbolNodeType(delim); + + if (symDelim && utils.contains(delimiters, symDelim.text)) { + return symDelim; + } else if (symDelim) { + throw new ParseError(`Invalid delimiter '${symDelim.text}' after '${context.funcName}'`, delim); + } else { + throw new ParseError(`Invalid delimiter type '${delim.type}'`, delim); + } +} + +defineFunction({ + type: "delimsizing", + names: ["\\bigl", "\\Bigl", "\\biggl", "\\Biggl", "\\bigr", "\\Bigr", "\\biggr", "\\Biggr", "\\bigm", "\\Bigm", "\\biggm", "\\Biggm", "\\big", "\\Big", "\\bigg", "\\Bigg"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + const delim = checkDelimiter(args[0], context); + return { + type: "delimsizing", + mode: context.parser.mode, + size: delimiterSizes[context.funcName].size, + mclass: delimiterSizes[context.funcName].mclass, + delim: delim.text + }; + }, + htmlBuilder: (group, options) => { + if (group.delim === ".") { + // Empty delimiters still count as elements, even though they don't + // show anything. + return buildCommon.makeSpan([group.mclass]); + } // Use delimiter.sizedDelim to generate the delimiter. + + + return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]); + }, + mathmlBuilder: group => { + const children = []; + + if (group.delim !== ".") { + children.push(makeText(group.delim, group.mode)); + } + + const node = new mathMLTree.MathNode("mo", children); + + if (group.mclass === "mopen" || group.mclass === "mclose") { + // Only some of the delimsizing functions act as fences, and they + // return "mopen" or "mclose" mclass. + node.setAttribute("fence", "true"); + } else { + // Explicitly disable fencing if it's not a fence, to override the + // defaults. + node.setAttribute("fence", "false"); + } + + return node; + } +}); + +function assertParsed(group) { + if (!group.body) { + throw new Error("Bug: The leftright ParseNode wasn't fully parsed."); + } +} + +defineFunction({ + type: "leftright-right", + names: ["\\right"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + // \left case below triggers parsing of \right in + // `const right = parser.parseFunction();` + // uses this return value. + const color = context.parser.gullet.macros.get("\\current@color"); + + if (color && typeof color !== "string") { + throw new ParseError("\\current@color set to non-string in \\right"); + } + + return { + type: "leftright-right", + mode: context.parser.mode, + delim: checkDelimiter(args[0], context).text, + color // undefined if not set via \color + + }; + } +}); +defineFunction({ + type: "leftright", + names: ["\\left"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + const delim = checkDelimiter(args[0], context); + const parser = context.parser; // Parse out the implicit body + + ++parser.leftrightDepth; // parseExpression stops before '\\right' + + const body = parser.parseExpression(false); + --parser.leftrightDepth; // Check the next token + + parser.expect("\\right", false); + const right = assertNodeType(parser.parseFunction(), "leftright-right"); + return { + type: "leftright", + mode: parser.mode, + body, + left: delim.text, + right: right.delim, + rightColor: right.color + }; + }, + htmlBuilder: (group, options) => { + assertParsed(group); // Build the inner expression + + const inner = buildExpression(group.body, options, true, ["mopen", "mclose"]); + let innerHeight = 0; + let innerDepth = 0; + let hadMiddle = false; // Calculate its height and depth + + for (let i = 0; i < inner.length; i++) { + // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + if (inner[i].isMiddle) { + hadMiddle = true; + } else { + innerHeight = Math.max(inner[i].height, innerHeight); + innerDepth = Math.max(inner[i].depth, innerDepth); + } + } // The size of delimiters is the same, regardless of what style we are + // in. Thus, to correctly calculate the size of delimiter we need around + // a group, we scale down the inner size based on the size. + + + innerHeight *= options.sizeMultiplier; + innerDepth *= options.sizeMultiplier; + let leftDelim; + + if (group.left === ".") { + // Empty delimiters in \left and \right make null delimiter spaces. + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + // Otherwise, use leftRightDelim to generate the correct sized + // delimiter. + leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, ["mopen"]); + } // Add it to the beginning of the expression + + + inner.unshift(leftDelim); // Handle middle delimiters + + if (hadMiddle) { + for (let i = 1; i < inner.length; i++) { + const middleDelim = inner[i]; // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + + const isMiddle = middleDelim.isMiddle; + + if (isMiddle) { + // Apply the options that were active when \middle was called + inner[i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []); + } + } + } + + let rightDelim; // Same for the right delimiter, but using color specified by \color + + if (group.right === ".") { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + const colorOptions = group.rightColor ? options.withColor(group.rightColor) : options; + rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, ["mclose"]); + } // Add it to the end of the expression. + + + inner.push(rightDelim); + return buildCommon.makeSpan(["minner"], inner, options); + }, + mathmlBuilder: (group, options) => { + assertParsed(group); + const inner = buildExpression$1(group.body, options); + + if (group.left !== ".") { + const leftNode = new mathMLTree.MathNode("mo", [makeText(group.left, group.mode)]); + leftNode.setAttribute("fence", "true"); + inner.unshift(leftNode); + } + + if (group.right !== ".") { + const rightNode = new mathMLTree.MathNode("mo", [makeText(group.right, group.mode)]); + rightNode.setAttribute("fence", "true"); + + if (group.rightColor) { + rightNode.setAttribute("mathcolor", group.rightColor); + } + + inner.push(rightNode); + } + + return makeRow(inner); + } +}); +defineFunction({ + type: "middle", + names: ["\\middle"], + props: { + numArgs: 1 + }, + handler: (context, args) => { + const delim = checkDelimiter(args[0], context); + + if (!context.parser.leftrightDepth) { + throw new ParseError("\\middle without preceding \\left", delim); + } + + return { + type: "middle", + mode: context.parser.mode, + delim: delim.text + }; + }, + htmlBuilder: (group, options) => { + let middleDelim; + + if (group.delim === ".") { + middleDelim = makeNullDelimiter(options, []); + } else { + middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []); + const isMiddle = { + delim: group.delim, + options + }; // Property `isMiddle` not defined on `span`. It is only used in + // this file above. + // TODO: Fix this violation of the `span` type and possibly rename + // things since `isMiddle` sounds like a boolean, but is a struct. + // $FlowFixMe + + middleDelim.isMiddle = isMiddle; + } + + return middleDelim; + }, + mathmlBuilder: (group, options) => { + // A Firefox \middle will strech a character vertically only if it + // is in the fence part of the operator dictionary at: + // https://www.w3.org/TR/MathML3/appendixc.html. + // So we need to avoid U+2223 and use plain "|" instead. + const textNode = group.delim === "\\vert" || group.delim === "|" ? makeText("|", "text") : makeText(group.delim, group.mode); + const middleNode = new mathMLTree.MathNode("mo", [textNode]); + middleNode.setAttribute("fence", "true"); // MathML gives 5/18em spacing to each element. + // \middle should get delimiter spacing instead. + + middleNode.setAttribute("lspace", "0.05em"); + middleNode.setAttribute("rspace", "0.05em"); + return middleNode; + } +}); + +const htmlBuilder$2 = (group, options) => { + // \cancel, \bcancel, \xcancel, \sout, \fbox, \colorbox, \fcolorbox + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + const inner = buildCommon.wrapFragment(buildGroup(group.body, options), options); + const label = group.label.substr(1); + const scale = options.sizeMultiplier; + let img; + let imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different + // depending on whether the subject is wider than it is tall, or vice versa. + // We don't know the width of a group, so as a proxy, we test if + // the subject is a single character. This captures most of the + // subjects that should get the "tall" treatment. + + const isSingleChar = utils.isCharacterBox(group.body); + + if (label === "sout") { + img = buildCommon.makeSpan(["stretchy", "sout"]); + img.height = options.fontMetrics().defaultRuleThickness / scale; + imgShift = -0.5 * options.fontMetrics().xHeight; + } else { + // Add horizontal padding + if (/cancel/.test(label)) { + if (!isSingleChar) { + inner.classes.push("cancel-pad"); + } + } else { + inner.classes.push("boxpad"); + } // Add vertical padding + + + let vertPad = 0; + let ruleThickness = 0; // ref: cancel package: \advance\totalheight2\p@ % "+2" + + if (/box/.test(label)) { + ruleThickness = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // User override. + ); + vertPad = options.fontMetrics().fboxsep + (label === "colorbox" ? 0 : ruleThickness); + } else { + vertPad = isSingleChar ? 0.2 : 0; + } + + img = stretchy.encloseSpan(inner, label, vertPad, options); + + if (/fbox|boxed|fcolorbox/.test(label)) { + img.style.borderStyle = "solid"; + img.style.borderWidth = `${ruleThickness}em`; + } + + imgShift = inner.depth + vertPad; + + if (group.backgroundColor) { + img.style.backgroundColor = group.backgroundColor; + + if (group.borderColor) { + img.style.borderColor = group.borderColor; + } + } + } + + let vlist; + + if (group.backgroundColor) { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Put the color background behind inner; + { + type: "elem", + elem: img, + shift: imgShift + }, { + type: "elem", + elem: inner, + shift: 0 + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Write the \cancel stroke on top of inner. + { + type: "elem", + elem: inner, + shift: 0 + }, { + type: "elem", + elem: img, + shift: imgShift, + wrapperClasses: /cancel/.test(label) ? ["svg-align"] : [] + }] + }, options); + } + + if (/cancel/.test(label)) { + // The cancel package documentation says that cancel lines add their height + // to the expression, but tests show that isn't how it actually works. + vlist.height = inner.height; + vlist.depth = inner.depth; + } + + if (/cancel/.test(label) && !isSingleChar) { + // cancel does not create horiz space for its line extension. + return buildCommon.makeSpan(["mord", "cancel-lap"], [vlist], options); + } else { + return buildCommon.makeSpan(["mord"], [vlist], options); + } +}; + +const mathmlBuilder$2 = (group, options) => { + let fboxsep = 0; + const node = new mathMLTree.MathNode(group.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [buildGroup$1(group.body, options)]); + + switch (group.label) { + case "\\cancel": + node.setAttribute("notation", "updiagonalstrike"); + break; + + case "\\bcancel": + node.setAttribute("notation", "downdiagonalstrike"); + break; + + case "\\sout": + node.setAttribute("notation", "horizontalstrike"); + break; + + case "\\fbox": + node.setAttribute("notation", "box"); + break; + + case "\\fcolorbox": + case "\\colorbox": + // doesn't have a good notation option. So use + // instead. Set some attributes that come included with . + fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm; + node.setAttribute("width", `+${2 * fboxsep}pt`); + node.setAttribute("height", `+${2 * fboxsep}pt`); + node.setAttribute("lspace", `${fboxsep}pt`); // + + node.setAttribute("voffset", `${fboxsep}pt`); + + if (group.label === "\\fcolorbox") { + const thk = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // user override + ); + node.setAttribute("style", "border: " + thk + "em solid " + String(group.borderColor)); + } + + break; + + case "\\xcancel": + node.setAttribute("notation", "updiagonalstrike downdiagonalstrike"); + break; + } + + if (group.backgroundColor) { + node.setAttribute("mathbackground", group.backgroundColor); + } + + return node; +}; + +defineFunction({ + type: "enclose", + names: ["\\colorbox"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "text"] + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser, + funcName = _ref.funcName; + const color = assertNodeType(args[0], "color-token").color; + const body = args[1]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor: color, + body + }; + }, + + htmlBuilder: htmlBuilder$2, + mathmlBuilder: mathmlBuilder$2 +}); +defineFunction({ + type: "enclose", + names: ["\\fcolorbox"], + props: { + numArgs: 3, + allowedInText: true, + greediness: 3, + argTypes: ["color", "color", "text"] + }, + + handler(_ref2, args, optArgs) { + let parser = _ref2.parser, + funcName = _ref2.funcName; + const borderColor = assertNodeType(args[0], "color-token").color; + const backgroundColor = assertNodeType(args[1], "color-token").color; + const body = args[2]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor, + borderColor, + body + }; + }, + + htmlBuilder: htmlBuilder$2, + mathmlBuilder: mathmlBuilder$2 +}); +defineFunction({ + type: "enclose", + names: ["\\fbox"], + props: { + numArgs: 1, + argTypes: ["hbox"], + allowedInText: true + }, + + handler(_ref3, args) { + let parser = _ref3.parser; + return { + type: "enclose", + mode: parser.mode, + label: "\\fbox", + body: args[0] + }; + } + +}); +defineFunction({ + type: "enclose", + names: ["\\cancel", "\\bcancel", "\\xcancel", "\\sout"], + props: { + numArgs: 1 + }, + + handler(_ref4, args, optArgs) { + let parser = _ref4.parser, + funcName = _ref4.funcName; + const body = args[0]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + body + }; + }, + + htmlBuilder: htmlBuilder$2, + mathmlBuilder: mathmlBuilder$2 +}); + +/** + * All registered environments. + * `environments.js` exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary via `environments.js`. + */ +const _environments = {}; +function defineEnvironment(_ref) { + let type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of environments. + const data = { + type, + numArgs: props.numArgs || 0, + greediness: 1, + allowedInText: false, + numOptionalArgs: 0, + handler + }; + + for (let i = 0; i < names.length; ++i) { + // TODO: The value type of _environments should be a type union of all + // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is + // an existential type. + // $FlowFixMe + _environments[names[i]] = data; + } + + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } +} + +function getHLines(parser) { + // Return an array. The array length = number of hlines. + // Each element in the array tells if the line is dashed. + const hlineInfo = []; + parser.consumeSpaces(); + let nxt = parser.fetch().text; + + while (nxt === "\\hline" || nxt === "\\hdashline") { + parser.consume(); + hlineInfo.push(nxt === "\\hdashline"); + parser.consumeSpaces(); + nxt = parser.fetch().text; + } + + return hlineInfo; +} +/** + * Parse the body of the environment, with rows delimited by \\ and + * columns delimited by &, and create a nested list in row-major order + * with one group per cell. If given an optional argument style + * ("text", "display", etc.), then each cell is cast into that style. + */ + + +function parseArray(parser, _ref, style) { + let hskipBeforeAndAfter = _ref.hskipBeforeAndAfter, + addJot = _ref.addJot, + cols = _ref.cols, + arraystretch = _ref.arraystretch, + colSeparationType = _ref.colSeparationType; + // Parse body of array with \\ temporarily mapped to \cr + parser.gullet.beginGroup(); + parser.gullet.macros.set("\\\\", "\\cr"); // Get current arraystretch if it's not set by the environment + + if (!arraystretch) { + const stretch = parser.gullet.expandMacroAsText("\\arraystretch"); + + if (stretch == null) { + // Default \arraystretch from lttab.dtx + arraystretch = 1; + } else { + arraystretch = parseFloat(stretch); + + if (!arraystretch || arraystretch < 0) { + throw new ParseError(`Invalid \\arraystretch: ${stretch}`); + } + } + } // Start group for first cell + + + parser.gullet.beginGroup(); + let row = []; + const body = [row]; + const rowGaps = []; + const hLinesBeforeRow = []; // Test for \hline at the top of the array. + + hLinesBeforeRow.push(getHLines(parser)); + + while (true) { + // eslint-disable-line no-constant-condition + // Parse each cell in its own group (namespace) + let cell = parser.parseExpression(false, "\\cr"); + parser.gullet.endGroup(); + parser.gullet.beginGroup(); + cell = { + type: "ordgroup", + mode: parser.mode, + body: cell + }; + + if (style) { + cell = { + type: "styling", + mode: parser.mode, + style, + body: [cell] + }; + } + + row.push(cell); + const next = parser.fetch().text; + + if (next === "&") { + parser.consume(); + } else if (next === "\\end") { + // Arrays terminate newlines with `\crcr` which consumes a `\cr` if + // the last line is empty. + // NOTE: Currently, `cell` is the last item added into `row`. + if (row.length === 1 && cell.type === "styling" && cell.body[0].body.length === 0) { + body.pop(); + } + + if (hLinesBeforeRow.length < body.length + 1) { + hLinesBeforeRow.push([]); + } + + break; + } else if (next === "\\cr") { + const cr = assertNodeType(parser.parseFunction(), "cr"); + rowGaps.push(cr.size); // check for \hline(s) following the row separator + + hLinesBeforeRow.push(getHLines(parser)); + row = []; + body.push(row); + } else { + throw new ParseError("Expected & or \\\\ or \\cr or \\end", parser.nextToken); + } + } // End cell group + + + parser.gullet.endGroup(); // End array group defining \\ + + parser.gullet.endGroup(); + return { + type: "array", + mode: parser.mode, + addJot, + arraystretch, + body, + cols, + rowGaps, + hskipBeforeAndAfter, + hLinesBeforeRow, + colSeparationType + }; +} // Decides on a style for cells in an array according to whether the given +// environment name starts with the letter 'd'. + + +function dCellStyle(envName) { + if (envName.substr(0, 1) === "d") { + return "display"; + } else { + return "text"; + } +} + +const htmlBuilder$3 = function htmlBuilder(group, options) { + let r; + let c; + const nr = group.body.length; + const hLinesBeforeRow = group.hLinesBeforeRow; + let nc = 0; + let body = new Array(nr); + const hlines = []; + const ruleThickness = Math.max( // From LaTeX \showthe\arrayrulewidth. Equals 0.04 em. + options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override. + ); // Horizontal spacing + + const pt = 1 / options.fontMetrics().ptPerEm; + let arraycolsep = 5 * pt; // default value, i.e. \arraycolsep in article.cls + + if (group.colSeparationType && group.colSeparationType === "small") { + // We're in a {smallmatrix}. Default column space is \thickspace, + // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}. + // But that needs adjustment because LaTeX applies \scriptstyle to the + // entire array, including the colspace, but this function applies + // \scriptstyle only inside each element. + const localMultiplier = options.havingStyle(Style$1.SCRIPT).sizeMultiplier; + arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier); + } // Vertical spacing + + + const baselineskip = 12 * pt; // see size10.clo + // Default \jot from ltmath.dtx + // TODO(edemaine): allow overriding \jot via \setlength (#687) + + const jot = 3 * pt; + const arrayskip = group.arraystretch * baselineskip; + const arstrutHeight = 0.7 * arrayskip; // \strutbox in ltfsstrc.dtx and + + const arstrutDepth = 0.3 * arrayskip; // \@arstrutbox in lttab.dtx + + let totalHeight = 0; // Set a position for \hline(s) at the top of the array, if any. + + function setHLinePos(hlinesInGap) { + for (let i = 0; i < hlinesInGap.length; ++i) { + if (i > 0) { + totalHeight += 0.25; + } + + hlines.push({ + pos: totalHeight, + isDashed: hlinesInGap[i] + }); + } + } + + setHLinePos(hLinesBeforeRow[0]); + + for (r = 0; r < group.body.length; ++r) { + const inrow = group.body[r]; + let height = arstrutHeight; // \@array adds an \@arstrut + + let depth = arstrutDepth; // to each tow (via the template) + + if (nc < inrow.length) { + nc = inrow.length; + } + + const outrow = new Array(inrow.length); + + for (c = 0; c < inrow.length; ++c) { + const elt = buildGroup(inrow[c], options); + + if (depth < elt.depth) { + depth = elt.depth; + } + + if (height < elt.height) { + height = elt.height; + } + + outrow[c] = elt; + } + + const rowGap = group.rowGaps[r]; + let gap = 0; + + if (rowGap) { + gap = calculateSize(rowGap, options); + + if (gap > 0) { + // \@argarraycr + gap += arstrutDepth; + + if (depth < gap) { + depth = gap; // \@xargarraycr + } + + gap = 0; + } + } // In AMS multiline environments such as aligned and gathered, rows + // correspond to lines that have additional \jot added to the + // \baselineskip via \openup. + + + if (group.addJot) { + depth += jot; + } + + outrow.height = height; + outrow.depth = depth; + totalHeight += height; + outrow.pos = totalHeight; + totalHeight += depth + gap; // \@yargarraycr + + body[r] = outrow; // Set a position for \hline(s), if any. + + setHLinePos(hLinesBeforeRow[r + 1]); + } + + const offset = totalHeight / 2 + options.fontMetrics().axisHeight; + const colDescriptions = group.cols || []; + const cols = []; + let colSep; + let colDescrNum; + + for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column + // descriptions, so trailing separators don't get lost. + c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) { + let colDescr = colDescriptions[colDescrNum] || {}; + let firstSeparator = true; + + while (colDescr.type === "separator") { + // If there is more than one separator in a row, add a space + // between them. + if (!firstSeparator) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = options.fontMetrics().doubleRuleSep + "em"; + cols.push(colSep); + } + + if (colDescr.separator === "|" || colDescr.separator === ":") { + const lineType = colDescr.separator === "|" ? "solid" : "dashed"; + const separator = buildCommon.makeSpan(["vertical-separator"], [], options); + separator.style.height = totalHeight + "em"; + separator.style.borderRightWidth = `${ruleThickness}em`; + separator.style.borderRightStyle = lineType; + separator.style.margin = `0 -${ruleThickness / 2}em`; + separator.style.verticalAlign = -(totalHeight - offset) + "em"; + cols.push(separator); + } else { + throw new ParseError("Invalid separator type: " + colDescr.separator); + } + + colDescrNum++; + colDescr = colDescriptions[colDescrNum] || {}; + firstSeparator = false; + } + + if (c >= nc) { + continue; + } + + let sepwidth; + + if (c > 0 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.pregap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + + let col = []; + + for (r = 0; r < nr; ++r) { + const row = body[r]; + const elem = row[c]; + + if (!elem) { + continue; + } + + const shift = row.pos - offset; + elem.depth = row.depth; + elem.height = row.height; + col.push({ + type: "elem", + elem: elem, + shift: shift + }); + } + + col = buildCommon.makeVList({ + positionType: "individualShift", + children: col + }, options); + col = buildCommon.makeSpan(["col-align-" + (colDescr.align || "c")], [col]); + cols.push(col); + + if (c < nc - 1 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.postgap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + } + + body = buildCommon.makeSpan(["mtable"], cols); // Add \hline(s), if any. + + if (hlines.length > 0) { + const line = buildCommon.makeLineSpan("hline", options, ruleThickness); + const dashes = buildCommon.makeLineSpan("hdashline", options, ruleThickness); + const vListElems = [{ + type: "elem", + elem: body, + shift: 0 + }]; + + while (hlines.length > 0) { + const hline = hlines.pop(); + const lineShift = hline.pos - offset; + + if (hline.isDashed) { + vListElems.push({ + type: "elem", + elem: dashes, + shift: lineShift + }); + } else { + vListElems.push({ + type: "elem", + elem: line, + shift: lineShift + }); + } + } + + body = buildCommon.makeVList({ + positionType: "individualShift", + children: vListElems + }, options); + } + + return buildCommon.makeSpan(["mord"], [body], options); +}; + +const alignMap = { + c: "center ", + l: "left ", + r: "right " +}; + +const mathmlBuilder$3 = function mathmlBuilder(group, options) { + let table = new mathMLTree.MathNode("mtable", group.body.map(function (row) { + return new mathMLTree.MathNode("mtr", row.map(function (cell) { + return new mathMLTree.MathNode("mtd", [buildGroup$1(cell, options)]); + })); + })); // Set column alignment, row spacing, column spacing, and + // array lines by setting attributes on the table element. + // Set the row spacing. In MathML, we specify a gap distance. + // We do not use rowGap[] because MathML automatically increases + // cell height with the height/depth of the element content. + // LaTeX \arraystretch multiplies the row baseline-to-baseline distance. + // We simulate this by adding (arraystretch - 1)em to the gap. This + // does a reasonable job of adjusting arrays containing 1 em tall content. + // The 0.16 and 0.09 values are found emprically. They produce an array + // similar to LaTeX and in which content does not interfere with \hines. + + const gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray} + : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0); + table.setAttribute("rowspacing", gap + "em"); // MathML table lines go only between cells. + // To place a line on an edge we'll use , if necessary. + + let menclose = ""; + let align = ""; + + if (group.cols && group.cols.length > 0) { + // Find column alignment, column spacing, and vertical lines. + const cols = group.cols; + let columnLines = ""; + let prevTypeWasAlign = false; + let iStart = 0; + let iEnd = cols.length; + + if (cols[0].type === "separator") { + menclose += "top "; + iStart = 1; + } + + if (cols[cols.length - 1].type === "separator") { + menclose += "bottom "; + iEnd -= 1; + } + + for (let i = iStart; i < iEnd; i++) { + if (cols[i].type === "align") { + align += alignMap[cols[i].align]; + + if (prevTypeWasAlign) { + columnLines += "none "; + } + + prevTypeWasAlign = true; + } else if (cols[i].type === "separator") { + // MathML accepts only single lines between cells. + // So we read only the first of consecutive separators. + if (prevTypeWasAlign) { + columnLines += cols[i].separator === "|" ? "solid " : "dashed "; + prevTypeWasAlign = false; + } + } + } + + table.setAttribute("columnalign", align.trim()); + + if (/[sd]/.test(columnLines)) { + table.setAttribute("columnlines", columnLines.trim()); + } + } // Set column spacing. + + + if (group.colSeparationType === "align") { + const cols = group.cols || []; + let spacing = ""; + + for (let i = 1; i < cols.length; i++) { + spacing += i % 2 ? "0em " : "1em "; + } + + table.setAttribute("columnspacing", spacing.trim()); + } else if (group.colSeparationType === "alignat") { + table.setAttribute("columnspacing", "0em"); + } else if (group.colSeparationType === "small") { + table.setAttribute("columnspacing", "0.2778em"); + } else { + table.setAttribute("columnspacing", "1em"); + } // Address \hline and \hdashline + + + let rowLines = ""; + const hlines = group.hLinesBeforeRow; + menclose += hlines[0].length > 0 ? "left " : ""; + menclose += hlines[hlines.length - 1].length > 0 ? "right " : ""; + + for (let i = 1; i < hlines.length - 1; i++) { + rowLines += hlines[i].length === 0 ? "none " // MathML accepts only a single line between rows. Read one element. + : hlines[i][0] ? "dashed " : "solid "; + } + + if (/[sd]/.test(rowLines)) { + table.setAttribute("rowlines", rowLines.trim()); + } + + if (menclose !== "") { + table = new mathMLTree.MathNode("menclose", [table]); + table.setAttribute("notation", menclose.trim()); + } + + if (group.arraystretch && group.arraystretch < 1) { + // A small array. Wrap in scriptstyle so row gap is not too large. + table = new mathMLTree.MathNode("mstyle", [table]); + table.setAttribute("scriptlevel", "1"); + } + + return table; +}; // Convenience function for aligned and alignedat environments. + + +const alignedHandler = function alignedHandler(context, args) { + const cols = []; + const res = parseArray(context.parser, { + cols, + addJot: true + }, "display"); // Determining number of columns. + // 1. If the first argument is given, we use it as a number of columns, + // and makes sure that each row doesn't exceed that number. + // 2. Otherwise, just count number of columns = maximum number + // of cells in each row ("aligned" mode -- isAligned will be true). + // + // At the same time, prepend empty group {} at beginning of every second + // cell in each row (starting with second cell) so that operators become + // binary. This behavior is implemented in amsmath's \start@aligned. + + let numMaths; + let numCols = 0; + const emptyGroup = { + type: "ordgroup", + mode: context.mode, + body: [] + }; + + if (args[0] && args[0].type === "ordgroup") { + let arg0 = ""; + + for (let i = 0; i < args[0].body.length; i++) { + const textord = assertNodeType(args[0].body[i], "textord"); + arg0 += textord.text; + } + + numMaths = Number(arg0); + numCols = numMaths * 2; + } + + const isAligned = !numCols; + res.body.forEach(function (row) { + for (let i = 1; i < row.length; i += 2) { + // Modify ordgroup node within styling node + const styling = assertNodeType(row[i], "styling"); + const ordgroup = assertNodeType(styling.body[0], "ordgroup"); + ordgroup.body.unshift(emptyGroup); + } + + if (!isAligned) { + // Case 1 + const curMaths = row.length / 2; + + if (numMaths < curMaths) { + throw new ParseError("Too many math in a row: " + `expected ${numMaths}, but got ${curMaths}`, row[0]); + } + } else if (numCols < row.length) { + // Case 2 + numCols = row.length; + } + }); // Adjusting alignment. + // In aligned mode, we add one \qquad between columns; + // otherwise we add nothing. + + for (let i = 0; i < numCols; ++i) { + let align = "r"; + let pregap = 0; + + if (i % 2 === 1) { + align = "l"; + } else if (i > 0 && isAligned) { + // "aligned" mode. + pregap = 1; // add one \quad + } + + cols[i] = { + type: "align", + align: align, + pregap: pregap, + postgap: 0 + }; + } + + res.colSeparationType = isAligned ? "align" : "alignat"; + return res; +}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation +// is part of the source2e.pdf file of LaTeX2e source documentation. +// {darray} is an {array} environment where cells are set in \displaystyle, +// as defined in nccmath.sty. + + +defineEnvironment({ + type: "array", + names: ["array", "darray"], + props: { + numArgs: 1 + }, + + handler(context, args) { + // Since no types are specified above, the two possibilities are + // - The argument is wrapped in {} or [], in which case Parser's + // parseGroup() returns an "ordgroup" wrapping some symbol node. + // - The argument is a bare symbol node. + const symNode = checkSymbolNodeType(args[0]); + const colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + const cols = colalign.map(function (nde) { + const node = assertSymbolNodeType(nde); + const ca = node.text; + + if ("lcr".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } else if (ca === "|") { + return { + type: "separator", + separator: "|" + }; + } else if (ca === ":") { + return { + type: "separator", + separator: ":" + }; + } + + throw new ParseError("Unknown column alignment: " + ca, nde); + }); + const res = { + cols, + hskipBeforeAndAfter: true // \@preamble in lttab.dtx + + }; + return parseArray(context.parser, res, dCellStyle(context.envName)); + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // The matrix environments of amsmath builds on the array environment +// of LaTeX, which is discussed above. + +defineEnvironment({ + type: "array", + names: ["matrix", "pmatrix", "bmatrix", "Bmatrix", "vmatrix", "Vmatrix"], + props: { + numArgs: 0 + }, + + handler(context) { + const delimiters = { + "matrix": null, + "pmatrix": ["(", ")"], + "bmatrix": ["[", "]"], + "Bmatrix": ["\\{", "\\}"], + "vmatrix": ["|", "|"], + "Vmatrix": ["\\Vert", "\\Vert"] + }[context.envName]; // \hskip -\arraycolsep in amsmath + + const payload = { + hskipBeforeAndAfter: false + }; + const res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return delimiters ? { + type: "leftright", + mode: context.mode, + body: [res], + left: delimiters[0], + right: delimiters[1], + rightColor: undefined // \right uninfluenced by \color in array + + } : res; + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); +defineEnvironment({ + type: "array", + names: ["smallmatrix"], + props: { + numArgs: 0 + }, + + handler(context) { + const payload = { + arraystretch: 0.5 + }; + const res = parseArray(context.parser, payload, "script"); + res.colSeparationType = "small"; + return res; + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); +defineEnvironment({ + type: "array", + names: ["subarray"], + props: { + numArgs: 1 + }, + + handler(context, args) { + // Parsing of {subarray} is similar to {array} + const symNode = checkSymbolNodeType(args[0]); + const colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + const cols = colalign.map(function (nde) { + const node = assertSymbolNodeType(nde); + const ca = node.text; // {subarray} only recognizes "l" & "c" + + if ("lc".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } + + throw new ParseError("Unknown column alignment: " + ca, nde); + }); + + if (cols.length > 1) { + throw new ParseError("{subarray} can contain only one column"); + } + + let res = { + cols, + hskipBeforeAndAfter: false, + arraystretch: 0.5 + }; + res = parseArray(context.parser, res, "script"); + + if (res.body.length > 0 && res.body[0].length > 1) { + throw new ParseError("{subarray} can contain only one column"); + } + + return res; + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // A cases environment (in amsmath.sty) is almost equivalent to +// \def\arraystretch{1.2}% +// \left\{\begin{array}{@{}l@{\quad}l@{}} … \end{array}\right. +// {dcases} is a {cases} environment where cells are set in \displaystyle, +// as defined in mathtools.sty. +// {rcases} is another mathtools environment. It's brace is on the right side. + +defineEnvironment({ + type: "array", + names: ["cases", "dcases", "rcases", "drcases"], + props: { + numArgs: 0 + }, + + handler(context) { + const payload = { + arraystretch: 1.2, + cols: [{ + type: "align", + align: "l", + pregap: 0, + // TODO(kevinb) get the current style. + // For now we use the metrics for TEXT style which is what we were + // doing before. Before attempting to get the current style we + // should look at TeX's behavior especially for \over and matrices. + postgap: 1.0 + /* 1em quad */ + + }, { + type: "align", + align: "l", + pregap: 0, + postgap: 0 + }] + }; + const res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return { + type: "leftright", + mode: context.mode, + body: [res], + left: context.envName.indexOf("r") > -1 ? "." : "\\{", + right: context.envName.indexOf("r") > -1 ? "\\}" : ".", + rightColor: undefined + }; + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // An aligned environment is like the align* environment +// except it operates within math mode. +// Note that we assume \nomallineskiplimit to be zero, +// so that \strut@ is the same as \strut. + +defineEnvironment({ + type: "array", + names: ["aligned"], + props: { + numArgs: 0 + }, + handler: alignedHandler, + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // A gathered environment is like an array environment with one centered +// column, but where rows are considered lines so get \jot line spacing +// and contents are set in \displaystyle. + +defineEnvironment({ + type: "array", + names: ["gathered"], + props: { + numArgs: 0 + }, + + handler(context) { + const res = { + cols: [{ + type: "align", + align: "c" + }], + addJot: true + }; + return parseArray(context.parser, res, "display"); + }, + + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // alignat environment is like an align environment, but one must explicitly +// specify maximum number of columns in each row, and can adjust spacing between +// each columns. + +defineEnvironment({ + type: "array", + names: ["alignedat"], + // One for numbered and for unnumbered; + // but, KaTeX doesn't supports math numbering yet, + // they make no difference for now. + props: { + numArgs: 1 + }, + handler: alignedHandler, + htmlBuilder: htmlBuilder$3, + mathmlBuilder: mathmlBuilder$3 +}); // Catch \hline outside array environment + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\hline", "\\hdashline"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: true + }, + + handler(context, args) { + throw new ParseError(`${context.funcName} valid only within array environment`); + } + +}); + +const environments = _environments; + +// defineEnvironment definitions. +// $FlowFixMe, "environment" handler returns an environment ParseNode + +defineFunction({ + type: "environment", + names: ["\\begin", "\\end"], + props: { + numArgs: 1, + argTypes: ["text"] + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + const nameGroup = args[0]; + + if (nameGroup.type !== "ordgroup") { + throw new ParseError("Invalid environment name", nameGroup); + } + + let envName = ""; + + for (let i = 0; i < nameGroup.body.length; ++i) { + envName += assertNodeType(nameGroup.body[i], "textord").text; + } + + if (funcName === "\\begin") { + // begin...end is similar to left...right + if (!environments.hasOwnProperty(envName)) { + throw new ParseError("No such environment: " + envName, nameGroup); + } // Build the environment object. Arguments and other information will + // be made available to the begin and end methods using properties. + + + const env = environments[envName]; + + const _parser$parseArgument = parser.parseArguments("\\begin{" + envName + "}", env), + args = _parser$parseArgument.args, + optArgs = _parser$parseArgument.optArgs; + + const context = { + mode: parser.mode, + envName, + parser + }; + const result = env.handler(context, args, optArgs); + parser.expect("\\end", false); + const endNameToken = parser.nextToken; + const end = assertNodeType(parser.parseFunction(), "environment"); + + if (end.name !== envName) { + throw new ParseError(`Mismatch: \\begin{${envName}} matched by \\end{${end.name}}`, endNameToken); + } + + return result; + } + + return { + type: "environment", + mode: parser.mode, + name: envName, + nameGroup + }; + } + +}); + +const makeSpan$2 = buildCommon.makeSpan; + +function htmlBuilder$4(group, options) { + const elements = buildExpression(group.body, options, true); + return makeSpan$2([group.mclass], elements, options); +} + +function mathmlBuilder$4(group, options) { + let node; + const inner = buildExpression$1(group.body, options); + + if (group.mclass === "minner") { + return mathMLTree.newDocumentFragment(inner); + } else if (group.mclass === "mord") { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mi"; + } else { + node = new mathMLTree.MathNode("mi", inner); + } + } else { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mo"; + } else { + node = new mathMLTree.MathNode("mo", inner); + } // Set spacing based on what is the most likely adjacent atom type. + // See TeXbook p170. + + + if (group.mclass === "mbin") { + node.attributes.lspace = "0.22em"; // medium space + + node.attributes.rspace = "0.22em"; + } else if (group.mclass === "mpunct") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0.17em"; // thinspace + } else if (group.mclass === "mopen" || group.mclass === "mclose") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0em"; + } // MathML default space is 5/18 em, so needs no action. + // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo + + } + + return node; +} // Math class commands except \mathop + + +defineFunction({ + type: "mclass", + names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"], + props: { + numArgs: 1 + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + return { + type: "mclass", + mode: parser.mode, + mclass: "m" + funcName.substr(5), + // TODO(kevinb): don't prefix with 'm' + body: ordargument(body), + isCharacterBox: utils.isCharacterBox(body) + }; + }, + + htmlBuilder: htmlBuilder$4, + mathmlBuilder: mathmlBuilder$4 +}); +const binrelClass = arg => { + // \binrel@ spacing varies with (bin|rel|ord) of the atom in the argument. + // (by rendering separately and with {}s before and after, and measuring + // the change in spacing). We'll do roughly the same by detecting the + // atom type directly. + const atom = arg.type === "ordgroup" && arg.body.length ? arg.body[0] : arg; + + if (atom.type === "atom" && (atom.family === "bin" || atom.family === "rel")) { + return "m" + atom.family; + } else { + return "mord"; + } +}; // \@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord. +// This is equivalent to \binrel@{x}\binrel@@{y} in AMSTeX. + +defineFunction({ + type: "mclass", + names: ["\\@binrel"], + props: { + numArgs: 2 + }, + + handler(_ref2, args) { + let parser = _ref2.parser; + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(args[0]), + body: [args[1]], + isCharacterBox: utils.isCharacterBox(args[1]) + }; + } + +}); // Build a relation or stacked op by placing one symbol on top of another + +defineFunction({ + type: "mclass", + names: ["\\stackrel", "\\overset", "\\underset"], + props: { + numArgs: 2 + }, + + handler(_ref3, args) { + let parser = _ref3.parser, + funcName = _ref3.funcName; + const baseArg = args[1]; + const shiftedArg = args[0]; + let mclass; + + if (funcName !== "\\stackrel") { + // LaTeX applies \binrel spacing to \overset and \underset. + mclass = binrelClass(baseArg); + } else { + mclass = "mrel"; // for \stackrel + } + + const baseOp = { + type: "op", + mode: baseArg.mode, + limits: true, + alwaysHandleSupSub: true, + parentIsSupSub: false, + symbol: false, + suppressBaseShift: funcName !== "\\stackrel", + body: ordargument(baseArg) + }; + const supsub = { + type: "supsub", + mode: shiftedArg.mode, + base: baseOp, + sup: funcName === "\\underset" ? null : shiftedArg, + sub: funcName === "\\underset" ? shiftedArg : null + }; + return { + type: "mclass", + mode: parser.mode, + mclass, + body: [supsub], + isCharacterBox: utils.isCharacterBox(supsub) + }; + }, + + htmlBuilder: htmlBuilder$4, + mathmlBuilder: mathmlBuilder$4 +}); + +// TODO(kevinb): implement \\sl and \\sc + +const htmlBuilder$5 = (group, options) => { + const font = group.font; + const newOptions = options.withFont(font); + return buildGroup(group.body, newOptions); +}; + +const mathmlBuilder$5 = (group, options) => { + const font = group.font; + const newOptions = options.withFont(font); + return buildGroup$1(group.body, newOptions); +}; + +const fontAliases = { + "\\Bbb": "\\mathbb", + "\\bold": "\\mathbf", + "\\frak": "\\mathfrak", + "\\bm": "\\boldsymbol" +}; +defineFunction({ + type: "font", + names: [// styles, except \boldsymbol defined below + "\\mathrm", "\\mathit", "\\mathbf", "\\mathnormal", // families + "\\mathbb", "\\mathcal", "\\mathfrak", "\\mathscr", "\\mathsf", "\\mathtt", // aliases, except \bm defined below + "\\Bbb", "\\bold", "\\frak"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + let func = funcName; + + if (func in fontAliases) { + func = fontAliases[func]; + } + + return { + type: "font", + mode: parser.mode, + font: func.slice(1), + body + }; + }, + htmlBuilder: htmlBuilder$5, + mathmlBuilder: mathmlBuilder$5 +}); +defineFunction({ + type: "mclass", + names: ["\\boldsymbol", "\\bm"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: (_ref2, args) => { + let parser = _ref2.parser; + const body = args[0]; + const isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty's \boldsymbol uses \binrel spacing to inherit the + // argument's bin|rel|ord status + + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(body), + body: [{ + type: "font", + mode: parser.mode, + font: "boldsymbol", + body + }], + isCharacterBox: isCharacterBox + }; + } +}); // Old font changing functions + +defineFunction({ + type: "font", + names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it", "\\cal"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: (_ref3, args) => { + let parser = _ref3.parser, + funcName = _ref3.funcName, + breakOnTokenText = _ref3.breakOnTokenText; + const mode = parser.mode; + const body = parser.parseExpression(true, breakOnTokenText); + const style = `math${funcName.slice(1)}`; + return { + type: "font", + mode: mode, + font: style, + body: { + type: "ordgroup", + mode: parser.mode, + body + } + }; + }, + htmlBuilder: htmlBuilder$5, + mathmlBuilder: mathmlBuilder$5 +}); + +const adjustStyle = (size, originalStyle) => { + // Figure out what style this fraction should be in based on the + // function used + let style = originalStyle; + + if (size === "display") { + // Get display style as a default. + // If incoming style is sub/sup, use style.text() to get correct size. + style = style.id >= Style$1.SCRIPT.id ? style.text() : Style$1.DISPLAY; + } else if (size === "text" && style.size === Style$1.DISPLAY.size) { + // We're in a \tfrac but incoming style is displaystyle, so: + style = Style$1.TEXT; + } else if (size === "script") { + style = Style$1.SCRIPT; + } else if (size === "scriptscript") { + style = Style$1.SCRIPTSCRIPT; + } + + return style; +}; + +const htmlBuilder$6 = (group, options) => { + // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e). + const style = adjustStyle(group.size, options.style); + const nstyle = style.fracNum(); + const dstyle = style.fracDen(); + let newOptions; + newOptions = options.havingStyle(nstyle); + const numerm = buildGroup(group.numer, newOptions, options); + + if (group.continued) { + // \cfrac inserts a \strut into the numerator. + // Get \strut dimensions from TeXbook page 353. + const hStrut = 8.5 / options.fontMetrics().ptPerEm; + const dStrut = 3.5 / options.fontMetrics().ptPerEm; + numerm.height = numerm.height < hStrut ? hStrut : numerm.height; + numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth; + } + + newOptions = options.havingStyle(dstyle); + const denomm = buildGroup(group.denom, newOptions, options); + let rule; + let ruleWidth; + let ruleSpacing; + + if (group.hasBarLine) { + if (group.barSize) { + ruleWidth = calculateSize(group.barSize, options); + rule = buildCommon.makeLineSpan("frac-line", options, ruleWidth); + } else { + rule = buildCommon.makeLineSpan("frac-line", options); + } + + ruleWidth = rule.height; + ruleSpacing = rule.height; + } else { + rule = null; + ruleWidth = 0; + ruleSpacing = options.fontMetrics().defaultRuleThickness; + } // Rule 15b + + + let numShift; + let clearance; + let denomShift; + + if (style.size === Style$1.DISPLAY.size || group.size === "display") { + numShift = options.fontMetrics().num1; + + if (ruleWidth > 0) { + clearance = 3 * ruleSpacing; + } else { + clearance = 7 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom1; + } else { + if (ruleWidth > 0) { + numShift = options.fontMetrics().num2; + clearance = ruleSpacing; + } else { + numShift = options.fontMetrics().num3; + clearance = 3 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom2; + } + + let frac; + + if (!rule) { + // Rule 15c + const candidateClearance = numShift - numerm.depth - (denomm.height - denomShift); + + if (candidateClearance < clearance) { + numShift += 0.5 * (clearance - candidateClearance); + denomShift += 0.5 * (clearance - candidateClearance); + } + + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } else { + // Rule 15d + const axisHeight = options.fontMetrics().axisHeight; + + if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) { + numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth)); + } + + if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) { + denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift)); + } + + const midShift = -(axisHeight - 0.5 * ruleWidth); + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: rule, + shift: midShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } // Since we manually change the style sometimes (with \dfrac or \tfrac), + // account for the possible size change here. + + + newOptions = options.havingStyle(style); + frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier; + frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e + + let delimSize; + + if (style.size === Style$1.DISPLAY.size) { + delimSize = options.fontMetrics().delim1; + } else { + delimSize = options.fontMetrics().delim2; + } + + let leftDelim; + let rightDelim; + + if (group.leftDelim == null) { + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, ["mopen"]); + } + + if (group.continued) { + rightDelim = buildCommon.makeSpan([]); // zero width for \cfrac + } else if (group.rightDelim == null) { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, ["mclose"]); + } + + return buildCommon.makeSpan(["mord"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan(["mfrac"], [frac]), rightDelim], options); +}; + +const mathmlBuilder$6 = (group, options) => { + let node = new mathMLTree.MathNode("mfrac", [buildGroup$1(group.numer, options), buildGroup$1(group.denom, options)]); + + if (!group.hasBarLine) { + node.setAttribute("linethickness", "0px"); + } else if (group.barSize) { + const ruleWidth = calculateSize(group.barSize, options); + node.setAttribute("linethickness", ruleWidth + "em"); + } + + const style = adjustStyle(group.size, options.style); + + if (style.size !== options.style.size) { + node = new mathMLTree.MathNode("mstyle", [node]); + const isDisplay = style.size === Style$1.DISPLAY.size ? "true" : "false"; + node.setAttribute("displaystyle", isDisplay); + node.setAttribute("scriptlevel", "0"); + } + + if (group.leftDelim != null || group.rightDelim != null) { + const withDelims = []; + + if (group.leftDelim != null) { + const leftOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.leftDelim.replace("\\", ""))]); + leftOp.setAttribute("fence", "true"); + withDelims.push(leftOp); + } + + withDelims.push(node); + + if (group.rightDelim != null) { + const rightOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.rightDelim.replace("\\", ""))]); + rightOp.setAttribute("fence", "true"); + withDelims.push(rightOp); + } + + return makeRow(withDelims); + } + + return node; +}; + +defineFunction({ + type: "genfrac", + names: ["\\cfrac", "\\dfrac", "\\frac", "\\tfrac", "\\dbinom", "\\binom", "\\tbinom", "\\\\atopfrac", // can’t be entered directly + "\\\\bracefrac", "\\\\brackfrac"], + props: { + numArgs: 2, + greediness: 2 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const numer = args[0]; + const denom = args[1]; + let hasBarLine; + let leftDelim = null; + let rightDelim = null; + let size = "auto"; + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\frac": + case "\\tfrac": + hasBarLine = true; + break; + + case "\\\\atopfrac": + hasBarLine = false; + break; + + case "\\dbinom": + case "\\binom": + case "\\tbinom": + hasBarLine = false; + leftDelim = "("; + rightDelim = ")"; + break; + + case "\\\\bracefrac": + hasBarLine = false; + leftDelim = "\\{"; + rightDelim = "\\}"; + break; + + case "\\\\brackfrac": + hasBarLine = false; + leftDelim = "["; + rightDelim = "]"; + break; + + default: + throw new Error("Unrecognized genfrac command"); + } + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\dbinom": + size = "display"; + break; + + case "\\tfrac": + case "\\tbinom": + size = "text"; + break; + } + + return { + type: "genfrac", + mode: parser.mode, + continued: funcName === "\\cfrac", + numer, + denom, + hasBarLine, + leftDelim, + rightDelim, + size, + barSize: null + }; + }, + htmlBuilder: htmlBuilder$6, + mathmlBuilder: mathmlBuilder$6 +}); // Infix generalized fractions -- these are not rendered directly, but replaced +// immediately by one of the variants above. + +defineFunction({ + type: "infix", + names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"], + props: { + numArgs: 0, + infix: true + }, + + handler(_ref2) { + let parser = _ref2.parser, + funcName = _ref2.funcName, + token = _ref2.token; + let replaceWith; + + switch (funcName) { + case "\\over": + replaceWith = "\\frac"; + break; + + case "\\choose": + replaceWith = "\\binom"; + break; + + case "\\atop": + replaceWith = "\\\\atopfrac"; + break; + + case "\\brace": + replaceWith = "\\\\bracefrac"; + break; + + case "\\brack": + replaceWith = "\\\\brackfrac"; + break; + + default: + throw new Error("Unrecognized infix genfrac command"); + } + + return { + type: "infix", + mode: parser.mode, + replaceWith, + token + }; + } + +}); +const stylArray = ["display", "text", "script", "scriptscript"]; + +const delimFromValue = function delimFromValue(delimString) { + let delim = null; + + if (delimString.length > 0) { + delim = delimString; + delim = delim === "." ? null : delim; + } + + return delim; +}; + +defineFunction({ + type: "genfrac", + names: ["\\genfrac"], + props: { + numArgs: 6, + greediness: 6, + argTypes: ["math", "math", "size", "text", "math", "math"] + }, + + handler(_ref3, args) { + let parser = _ref3.parser; + const numer = args[4]; + const denom = args[5]; // Look into the parse nodes to get the desired delimiters. + + const leftDelim = args[0].type === "atom" && args[0].family === "open" ? delimFromValue(args[0].text) : null; + const rightDelim = args[1].type === "atom" && args[1].family === "close" ? delimFromValue(args[1].text) : null; + const barNode = assertNodeType(args[2], "size"); + let hasBarLine; + let barSize = null; + + if (barNode.isBlank) { + // \genfrac acts differently than \above. + // \genfrac treats an empty size group as a signal to use a + // standard bar size. \above would see size = 0 and omit the bar. + hasBarLine = true; + } else { + barSize = barNode.value; + hasBarLine = barSize.number > 0; + } // Find out if we want displaystyle, textstyle, etc. + + + let size = "auto"; + let styl = args[3]; + + if (styl.type === "ordgroup") { + if (styl.body.length > 0) { + const textOrd = assertNodeType(styl.body[0], "textord"); + size = stylArray[Number(textOrd.text)]; + } + } else { + styl = assertNodeType(styl, "textord"); + size = stylArray[Number(styl.text)]; + } + + return { + type: "genfrac", + mode: parser.mode, + numer, + denom, + continued: false, + hasBarLine, + barSize, + leftDelim, + rightDelim, + size + }; + }, + + htmlBuilder: htmlBuilder$6, + mathmlBuilder: mathmlBuilder$6 +}); // \above is an infix fraction that also defines a fraction bar size. + +defineFunction({ + type: "infix", + names: ["\\above"], + props: { + numArgs: 1, + argTypes: ["size"], + infix: true + }, + + handler(_ref4, args) { + let parser = _ref4.parser, + funcName = _ref4.funcName, + token = _ref4.token; + return { + type: "infix", + mode: parser.mode, + replaceWith: "\\\\abovefrac", + size: assertNodeType(args[0], "size").value, + token + }; + } + +}); +defineFunction({ + type: "genfrac", + names: ["\\\\abovefrac"], + props: { + numArgs: 3, + argTypes: ["math", "size", "math"] + }, + handler: (_ref5, args) => { + let parser = _ref5.parser, + funcName = _ref5.funcName; + const numer = args[0]; + const barSize = assert(assertNodeType(args[1], "infix").size); + const denom = args[2]; + const hasBarLine = barSize.number > 0; + return { + type: "genfrac", + mode: parser.mode, + numer, + denom, + continued: false, + hasBarLine, + barSize, + leftDelim: null, + rightDelim: null, + size: "auto" + }; + }, + htmlBuilder: htmlBuilder$6, + mathmlBuilder: mathmlBuilder$6 +}); + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "horizBrace", but +const htmlBuilder$7 = (grp, options) => { + const style = options.style; // Pull out the `ParseNode<"horizBrace">` if `grp` is a "supsub" node. + + let supSubGroup; + let group; + + if (grp.type === "supsub") { + // Ref: LaTeX source2e: }}}}\limits} + // i.e. LaTeX treats the brace similar to an op and passes it + // with \limits, so we need to assign supsub style. + supSubGroup = grp.sup ? buildGroup(grp.sup, options.havingStyle(style.sup()), options) : buildGroup(grp.sub, options.havingStyle(style.sub()), options); + group = assertNodeType(grp.base, "horizBrace"); + } else { + group = assertNodeType(grp, "horizBrace"); + } // Build the base group + + + const body = buildGroup(group.base, options.havingBaseStyle(Style$1.DISPLAY)); // Create the stretchy element + + const braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns ┏━━━━━━━━┓ + // This first vlist contains the content and the brace: equation + + let vlist; + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: braceBody + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: body.depth + 0.1 + braceBody.height, + children: [{ + type: "elem", + elem: braceBody + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: body + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[0].classes.push("svg-align"); + } + + if (supSubGroup) { + // To write the supsub, wrap the first vlist in another vlist: + // They can't all go in the same vlist, because the note might be + // wider than the equation. We want the equation to control the + // brace width. + // note long note long note + // ┏━━━━━━━━┓ or ┏━━━┓ not ┏━━━━━━━━━┓ + // equation eqn eqn + const vSpan = buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: vSpan + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: supSubGroup + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth, + children: [{ + type: "elem", + elem: supSubGroup + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: vSpan + }] + }, options); + } + } + + return buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); +}; + +const mathmlBuilder$7 = (group, options) => { + const accentNode = stretchy.mathMLnode(group.label); + return new mathMLTree.MathNode(group.isOver ? "mover" : "munder", [buildGroup$1(group.base, options), accentNode]); +}; // Horizontal stretchy braces + + +defineFunction({ + type: "horizBrace", + names: ["\\overbrace", "\\underbrace"], + props: { + numArgs: 1 + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "horizBrace", + mode: parser.mode, + label: funcName, + isOver: /^\\over/.test(funcName), + base: args[0] + }; + }, + + htmlBuilder: htmlBuilder$7, + mathmlBuilder: mathmlBuilder$7 +}); + +defineFunction({ + type: "href", + names: ["\\href"], + props: { + numArgs: 2, + argTypes: ["url", "original"], + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser; + const body = args[1]; + const href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\href", + url: href + })) { + return parser.formatUnsupportedCmd("\\href"); + } + + return { + type: "href", + mode: parser.mode, + href, + body: ordargument(body) + }; + }, + htmlBuilder: (group, options) => { + const elements = buildExpression(group.body, options, false); + return buildCommon.makeAnchor(group.href, [], elements, options); + }, + mathmlBuilder: (group, options) => { + let math = buildExpressionRow(group.body, options); + + if (!(math instanceof MathNode)) { + math = new MathNode("mrow", [math]); + } + + math.setAttribute("href", group.href); + return math; + } +}); +defineFunction({ + type: "href", + names: ["\\url"], + props: { + numArgs: 1, + argTypes: ["url"], + allowedInText: true + }, + handler: (_ref2, args) => { + let parser = _ref2.parser; + const href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\url", + url: href + })) { + return parser.formatUnsupportedCmd("\\url"); + } + + const chars = []; + + for (let i = 0; i < href.length; i++) { + let c = href[i]; + + if (c === "~") { + c = "\\textasciitilde"; + } + + chars.push({ + type: "textord", + mode: "text", + text: c + }); + } + + const body = { + type: "text", + mode: parser.mode, + font: "\\texttt", + body: chars + }; + return { + type: "href", + mode: parser.mode, + href, + body: ordargument(body) + }; + } +}); + +defineFunction({ + type: "html", + names: ["\\htmlClass", "\\htmlId", "\\htmlStyle", "\\htmlData"], + props: { + numArgs: 2, + argTypes: ["raw", "original"], + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName, + token = _ref.token; + const value = assertNodeType(args[0], "raw").string; + const body = args[1]; + + if (parser.settings.strict) { + parser.settings.reportNonstrict("htmlExtension", "HTML extension is disabled on strict mode"); + } + + let trustContext; + const attributes = {}; + + switch (funcName) { + case "\\htmlClass": + attributes.class = value; + trustContext = { + command: "\\htmlClass", + class: value + }; + break; + + case "\\htmlId": + attributes.id = value; + trustContext = { + command: "\\htmlId", + id: value + }; + break; + + case "\\htmlStyle": + attributes.style = value; + trustContext = { + command: "\\htmlStyle", + style: value + }; + break; + + case "\\htmlData": + { + const data = value.split(","); + + for (let i = 0; i < data.length; i++) { + const keyVal = data[i].split("="); + + if (keyVal.length !== 2) { + throw new ParseError("Error parsing key-value for \\htmlData"); + } + + attributes["data-" + keyVal[0].trim()] = keyVal[1].trim(); + } + + trustContext = { + command: "\\htmlData", + attributes + }; + break; + } + + default: + throw new Error("Unrecognized html command"); + } + + if (!parser.settings.isTrusted(trustContext)) { + return parser.formatUnsupportedCmd(funcName); + } + + return { + type: "html", + mode: parser.mode, + attributes, + body: ordargument(body) + }; + }, + htmlBuilder: (group, options) => { + const elements = buildExpression(group.body, options, false); + const classes = ["enclosing"]; + + if (group.attributes.class) { + classes.push(...group.attributes.class.trim().split(/\s+/)); + } + + const span = buildCommon.makeSpan(classes, elements, options); + + for (const attr in group.attributes) { + if (attr !== "class" && group.attributes.hasOwnProperty(attr)) { + span.setAttribute(attr, group.attributes[attr]); + } + } + + return span; + }, + mathmlBuilder: (group, options) => { + return buildExpressionRow(group.body, options); + } +}); + +defineFunction({ + type: "htmlmathml", + names: ["\\html@mathml"], + props: { + numArgs: 2, + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser; + return { + type: "htmlmathml", + mode: parser.mode, + html: ordargument(args[0]), + mathml: ordargument(args[1]) + }; + }, + htmlBuilder: (group, options) => { + const elements = buildExpression(group.html, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: (group, options) => { + return buildExpressionRow(group.mathml, options); + } +}); + +const sizeData = function sizeData(str) { + if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(str)) { + // str is a number with no unit specified. + // default unit is bp, per graphix package. + return { + number: +str, + unit: "bp" + }; + } else { + const match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(str); + + if (!match) { + throw new ParseError("Invalid size: '" + str + "' in \\includegraphics"); + } + + const data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new ParseError("Invalid unit: '" + data.unit + "' in \\includegraphics."); + } + + return data; + } +}; + +defineFunction({ + type: "includegraphics", + names: ["\\includegraphics"], + props: { + numArgs: 1, + numOptionalArgs: 1, + argTypes: ["raw", "url"], + allowedInText: false + }, + handler: (_ref, args, optArgs) => { + let parser = _ref.parser; + let width = { + number: 0, + unit: "em" + }; + let height = { + number: 0.9, + unit: "em" + }; // sorta character sized. + + let totalheight = { + number: 0, + unit: "em" + }; + let alt = ""; + + if (optArgs[0]) { + const attributeStr = assertNodeType(optArgs[0], "raw").string; // Parser.js does not parse key/value pairs. We get a string. + + const attributes = attributeStr.split(","); + + for (let i = 0; i < attributes.length; i++) { + const keyVal = attributes[i].split("="); + + if (keyVal.length === 2) { + const str = keyVal[1].trim(); + + switch (keyVal[0].trim()) { + case "alt": + alt = str; + break; + + case "width": + width = sizeData(str); + break; + + case "height": + height = sizeData(str); + break; + + case "totalheight": + totalheight = sizeData(str); + break; + + default: + throw new ParseError("Invalid key: '" + keyVal[0] + "' in \\includegraphics."); + } + } + } + } + + const src = assertNodeType(args[0], "url").url; + + if (alt === "") { + // No alt given. Use the file name. Strip away the path. + alt = src; + alt = alt.replace(/^.*[\\/]/, ''); + alt = alt.substring(0, alt.lastIndexOf('.')); + } + + if (!parser.settings.isTrusted({ + command: "\\includegraphics", + url: src + })) { + return parser.formatUnsupportedCmd("\\includegraphics"); + } + + return { + type: "includegraphics", + mode: parser.mode, + alt: alt, + width: width, + height: height, + totalheight: totalheight, + src: src + }; + }, + htmlBuilder: (group, options) => { + const height = calculateSize(group.height, options); + let depth = 0; + + if (group.totalheight.number > 0) { + depth = calculateSize(group.totalheight, options) - height; + depth = Number(depth.toFixed(2)); + } + + let width = 0; + + if (group.width.number > 0) { + width = calculateSize(group.width, options); + } + + const style = { + height: height + depth + "em" + }; + + if (width > 0) { + style.width = width + "em"; + } + + if (depth > 0) { + style.verticalAlign = -depth + "em"; + } + + const node = new Img(group.src, group.alt, style); + node.height = height; + node.depth = depth; + return node; + }, + mathmlBuilder: (group, options) => { + const node = new mathMLTree.MathNode("mglyph", []); + node.setAttribute("alt", group.alt); + const height = calculateSize(group.height, options); + let depth = 0; + + if (group.totalheight.number > 0) { + depth = calculateSize(group.totalheight, options) - height; + depth = depth.toFixed(2); + node.setAttribute("valign", "-" + depth + "em"); + } + + node.setAttribute("height", height + depth + "em"); + + if (group.width.number > 0) { + const width = calculateSize(group.width, options); + node.setAttribute("width", width + "em"); + } + + node.setAttribute("src", group.src); + return node; + } +}); + +// Horizontal spacing commands + +defineFunction({ + type: "kern", + names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"], + props: { + numArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + const size = assertNodeType(args[0], "size"); + + if (parser.settings.strict) { + const mathFunction = funcName[1] === 'm'; // \mkern, \mskip + + const muUnit = size.value.unit === 'mu'; + + if (mathFunction) { + if (!muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", `LaTeX's ${funcName} supports only mu units, ` + `not ${size.value.unit} units`); + } + + if (parser.mode !== "math") { + parser.settings.reportNonstrict("mathVsTextUnits", `LaTeX's ${funcName} works only in math mode`); + } + } else { + // !mathFunction + if (muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", `LaTeX's ${funcName} doesn't support mu units`); + } + } + } + + return { + type: "kern", + mode: parser.mode, + dimension: size.value + }; + }, + + htmlBuilder(group, options) { + return buildCommon.makeGlue(group.dimension, options); + }, + + mathmlBuilder(group, options) { + const dimension = calculateSize(group.dimension, options); + return new mathMLTree.SpaceNode(dimension); + } + +}); + +// Horizontal overlap functions +defineFunction({ + type: "lap", + names: ["\\mathllap", "\\mathrlap", "\\mathclap"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + return { + type: "lap", + mode: parser.mode, + alignment: funcName.slice(5), + body + }; + }, + htmlBuilder: (group, options) => { + // mathllap, mathrlap, mathclap + let inner; + + if (group.alignment === "clap") { + // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/ + inner = buildCommon.makeSpan([], [buildGroup(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span + + inner = buildCommon.makeSpan(["inner"], [inner], options); + } else { + inner = buildCommon.makeSpan(["inner"], [buildGroup(group.body, options)]); + } + + const fix = buildCommon.makeSpan(["fix"], []); + let node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the + // two items involved in the lap. + // Next, use a strut to set the height of the HTML bounding box. + // Otherwise, a tall argument may be misplaced. + // This code resolved issue #1153 + + const strut = buildCommon.makeSpan(["strut"]); + strut.style.height = node.height + node.depth + "em"; + strut.style.verticalAlign = -node.depth + "em"; + node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall. + // This code resolves issue #1234 + + node = buildCommon.makeSpan(["thinbox"], [node], options); + return buildCommon.makeSpan(["mord", "vbox"], [node], options); + }, + mathmlBuilder: (group, options) => { + // mathllap, mathrlap, mathclap + const node = new mathMLTree.MathNode("mpadded", [buildGroup$1(group.body, options)]); + + if (group.alignment !== "rlap") { + const offset = group.alignment === "llap" ? "-1" : "-0.5"; + node.setAttribute("lspace", offset + "width"); + } + + node.setAttribute("width", "0px"); + return node; + } +}); + +defineFunction({ + type: "styling", + names: ["\\(", "$"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + + handler(_ref, args) { + let funcName = _ref.funcName, + parser = _ref.parser; + const outerMode = parser.mode; + parser.switchMode("math"); + const close = funcName === "\\(" ? "\\)" : "$"; + const body = parser.parseExpression(false, close); + parser.expect(close); + parser.switchMode(outerMode); + return { + type: "styling", + mode: parser.mode, + style: "text", + body + }; + } + +}); // Check for extra closing math delimiters + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\)", "\\]"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + + handler(context, args) { + throw new ParseError(`Mismatched ${context.funcName}`); + } + +}); + +const chooseMathStyle = (group, options) => { + switch (options.style.size) { + case Style$1.DISPLAY.size: + return group.display; + + case Style$1.TEXT.size: + return group.text; + + case Style$1.SCRIPT.size: + return group.script; + + case Style$1.SCRIPTSCRIPT.size: + return group.scriptscript; + + default: + return group.text; + } +}; + +defineFunction({ + type: "mathchoice", + names: ["\\mathchoice"], + props: { + numArgs: 4 + }, + handler: (_ref, args) => { + let parser = _ref.parser; + return { + type: "mathchoice", + mode: parser.mode, + display: ordargument(args[0]), + text: ordargument(args[1]), + script: ordargument(args[2]), + scriptscript: ordargument(args[3]) + }; + }, + htmlBuilder: (group, options) => { + const body = chooseMathStyle(group, options); + const elements = buildExpression(body, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: (group, options) => { + const body = chooseMathStyle(group, options); + return buildExpressionRow(body, options); + } +}); + +// For an operator with limits, assemble the base, sup, and sub into a span. +const assembleSupSub = (base, supGroup, subGroup, options, style, slant, baseShift) => { + base = buildCommon.makeSpan([], [base]); + let sub; + let sup; // We manually have to handle the superscripts and subscripts. This, + // aside from the kern calculations, is copied from supsub. + + if (supGroup) { + const elem = buildGroup(supGroup, options.havingStyle(style.sup()), options); + sup = { + elem, + kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth) + }; + } + + if (subGroup) { + const elem = buildGroup(subGroup, options.havingStyle(style.sub()), options); + sub = { + elem, + kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - elem.height) + }; + } // Build the final group as a vlist of the possible subscript, base, + // and possible superscript. + + + let finalGroup; + + if (sup && sub) { + const bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift; + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: bottom, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else if (sub) { + const top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note + // that we are supposed to shift the limits by 1/2 of the slant, + // but since we are centering the limits adding a full slant of + // margin will shift by 1/2 that. + + finalGroup = buildCommon.makeVList({ + positionType: "top", + positionData: top, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }] + }, options); + } else if (sup) { + const bottom = base.depth + baseShift; + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: bottom, + children: [{ + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else { + // This case probably shouldn't occur (this would mean the + // supsub was sending us a group with no superscript or + // subscript) but be safe. + return base; + } + + return buildCommon.makeSpan(["mop", "op-limits"], [finalGroup], options); +}; + +// Limits, symbols +// Most operators have a large successor symbol, but these don't. +const noSuccessor = ["\\smallint"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only "op", but also +// "supsub" since some of them (like \int) can affect super/subscripting. + +const htmlBuilder$8 = (grp, options) => { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + let supGroup; + let subGroup; + let hasLimits = false; + let group; + + if (grp.type === "supsub") { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = grp.sup; + subGroup = grp.sub; + group = assertNodeType(grp.base, "op"); + hasLimits = true; + } else { + group = assertNodeType(grp, "op"); + } + + const style = options.style; + let large = false; + + if (style.size === Style$1.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) { + // Most symbol operators get larger in displaystyle (rule 13) + large = true; + } + + let base; + + if (group.symbol) { + // If this is a symbol, create the symbol. + const fontName = large ? "Size2-Regular" : "Size1-Regular"; + let stash = ""; + + if (group.name === "\\oiint" || group.name === "\\oiiint") { + // No font glyphs yet, so use a glyph w/o the oval. + // TODO: When font glyphs are available, delete this code. + stash = group.name.substr(1); // $FlowFixMe + + group.name = stash === "oiint" ? "\\iint" : "\\iiint"; + } + + base = buildCommon.makeSymbol(group.name, fontName, "math", options, ["mop", "op-symbol", large ? "large-op" : "small-op"]); + + if (stash.length > 0) { + // We're in \oiint or \oiiint. Overlay the oval. + // TODO: When font glyphs are available, delete this code. + const italic = base.italic; + const oval = buildCommon.staticSvg(stash + "Size" + (large ? "2" : "1"), options); + base = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: base, + shift: 0 + }, { + type: "elem", + elem: oval, + shift: large ? 0.08 : 0 + }] + }, options); // $FlowFixMe + + group.name = "\\" + stash; + base.classes.unshift("mop"); // $FlowFixMe + + base.italic = italic; + } + } else if (group.body) { + // If this is a list, compose that list. + const inner = buildExpression(group.body, options, true); + + if (inner.length === 1 && inner[0] instanceof SymbolNode) { + base = inner[0]; + base.classes[0] = "mop"; // replace old mclass + } else { + base = buildCommon.makeSpan(["mop"], buildCommon.tryCombineChars(inner), options); + } + } else { + // Otherwise, this is a text operator. Build the text from the + // operator's name. + // TODO(emily): Add a space in the middle of some of these + // operators, like \limsup + const output = []; + + for (let i = 1; i < group.name.length; i++) { + output.push(buildCommon.mathsym(group.name[i], group.mode, options)); + } + + base = buildCommon.makeSpan(["mop"], output, options); + } // If content of op is a single symbol, shift it vertically. + + + let baseShift = 0; + let slant = 0; + + if ((base instanceof SymbolNode || group.name === "\\oiint" || group.name === "\\oiiint") && !group.suppressBaseShift) { + // We suppress the shift of the base of \overset and \underset. Otherwise, + // shift the symbol so its center lies on the axis (rule 13). It + // appears that our fonts have the centers of the symbols already + // almost on the axis, so these numbers are very small. Note we + // don't actually apply this here, but instead it is used either in + // the vlist creation or separately when there are no limits. + baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction. + // $FlowFixMe + + slant = base.italic; + } + + if (hasLimits) { + return assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift); + } else { + if (baseShift) { + base.style.position = "relative"; + base.style.top = baseShift + "em"; + } + + return base; + } +}; + +const mathmlBuilder$8 = (group, options) => { + let node; + + if (group.symbol) { + // This is a symbol. Just add the symbol. + node = new MathNode("mo", [makeText(group.name, group.mode)]); + + if (utils.contains(noSuccessor, group.name)) { + node.setAttribute("largeop", "false"); + } + } else if (group.body) { + // This is an operator with children. Add them. + node = new MathNode("mo", buildExpression$1(group.body, options)); + } else { + // This is a text operator. Add all of the characters from the + // operator's name. + node = new MathNode("mi", [new TextNode(group.name.slice(1))]); // Append an . + // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4 + + const operator = new MathNode("mo", [makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + node = new MathNode("mo", [node, operator]); + } else { + node = newDocumentFragment([node, operator]); + } + } + + return node; +}; + +const singleCharBigOps = { + "\u220F": "\\prod", + "\u2210": "\\coprod", + "\u2211": "\\sum", + "\u22c0": "\\bigwedge", + "\u22c1": "\\bigvee", + "\u22c2": "\\bigcap", + "\u22c3": "\\bigcup", + "\u2a00": "\\bigodot", + "\u2a01": "\\bigoplus", + "\u2a02": "\\bigotimes", + "\u2a04": "\\biguplus", + "\u2a06": "\\bigsqcup" +}; +defineFunction({ + type: "op", + names: ["\\coprod", "\\bigvee", "\\bigwedge", "\\biguplus", "\\bigcap", "\\bigcup", "\\intop", "\\prod", "\\sum", "\\bigotimes", "\\bigoplus", "\\bigodot", "\\bigsqcup", "\\smallint", "\u220F", "\u2210", "\u2211", "\u22c0", "\u22c1", "\u22c2", "\u22c3", "\u2a00", "\u2a01", "\u2a02", "\u2a04", "\u2a06"], + props: { + numArgs: 0 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + let fName = funcName; + + if (fName.length === 1) { + fName = singleCharBigOps[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); // Note: calling defineFunction with a type that's already been defined only +// works because the same htmlBuilder and mathmlBuilder are being used. + +defineFunction({ + type: "op", + names: ["\\mathop"], + props: { + numArgs: 1 + }, + handler: (_ref2, args) => { + let parser = _ref2.parser; + const body = args[0]; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + body: ordargument(body) + }; + }, + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); // There are 2 flags for operators; whether they produce limits in +// displaystyle, and whether they are symbols and should grow in +// displaystyle. These four groups cover the four possible choices. + +const singleCharIntegrals = { + "\u222b": "\\int", + "\u222c": "\\iint", + "\u222d": "\\iiint", + "\u222e": "\\oint", + "\u222f": "\\oiint", + "\u2230": "\\oiiint" +}; // No limits, not symbols + +defineFunction({ + type: "op", + names: ["\\arcsin", "\\arccos", "\\arctan", "\\arctg", "\\arcctg", "\\arg", "\\ch", "\\cos", "\\cosec", "\\cosh", "\\cot", "\\cotg", "\\coth", "\\csc", "\\ctg", "\\cth", "\\deg", "\\dim", "\\exp", "\\hom", "\\ker", "\\lg", "\\ln", "\\log", "\\sec", "\\sin", "\\sinh", "\\sh", "\\tan", "\\tanh", "\\tg", "\\th"], + props: { + numArgs: 0 + }, + + handler(_ref3) { + let parser = _ref3.parser, + funcName = _ref3.funcName; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); // Limits, not symbols + +defineFunction({ + type: "op", + names: ["\\det", "\\gcd", "\\inf", "\\lim", "\\max", "\\min", "\\Pr", "\\sup"], + props: { + numArgs: 0 + }, + + handler(_ref4) { + let parser = _ref4.parser, + funcName = _ref4.funcName; + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); // No limits, symbols + +defineFunction({ + type: "op", + names: ["\\int", "\\iint", "\\iiint", "\\oint", "\\oiint", "\\oiiint", "\u222b", "\u222c", "\u222d", "\u222e", "\u222f", "\u2230"], + props: { + numArgs: 0 + }, + + handler(_ref5) { + let parser = _ref5.parser, + funcName = _ref5.funcName; + let fName = funcName; + + if (fName.length === 1) { + fName = singleCharIntegrals[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + + htmlBuilder: htmlBuilder$8, + mathmlBuilder: mathmlBuilder$8 +}); + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only +// "operatorname", but also "supsub" since \operatorname* can +const htmlBuilder$9 = (grp, options) => { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + let supGroup; + let subGroup; + let hasLimits = false; + let group; + + if (grp.type === "supsub") { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = grp.sup; + subGroup = grp.sub; + group = assertNodeType(grp.base, "operatorname"); + hasLimits = true; + } else { + group = assertNodeType(grp, "operatorname"); + } + + let base; + + if (group.body.length > 0) { + const body = group.body.map(child => { + // $FlowFixMe: Check if the node has a string `text` property. + const childText = child.text; + + if (typeof childText === "string") { + return { + type: "textord", + mode: child.mode, + text: childText + }; + } else { + return child; + } + }); // Consolidate function names into symbol characters. + + const expression = buildExpression(body, options.withFont("mathrm"), true); + + for (let i = 0; i < expression.length; i++) { + const child = expression[i]; + + if (child instanceof SymbolNode) { + // Per amsopn package, + // change minus to hyphen and \ast to asterisk + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } + } + + base = buildCommon.makeSpan(["mop"], expression, options); + } else { + base = buildCommon.makeSpan(["mop"], [], options); + } + + if (hasLimits) { + return assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0); + } else { + return base; + } +}; + +const mathmlBuilder$9 = (group, options) => { + // The steps taken here are similar to the html version. + let expression = buildExpression$1(group.body, options.withFont("mathrm")); // Is expression a string or has it something like a fraction? + + let isAllString = true; // default + + for (let i = 0; i < expression.length; i++) { + const node = expression[i]; + + if (node instanceof mathMLTree.SpaceNode) ; else if (node instanceof mathMLTree.MathNode) { + switch (node.type) { + case "mi": + case "mn": + case "ms": + case "mspace": + case "mtext": + break; + // Do nothing yet. + + case "mo": + { + const child = node.children[0]; + + if (node.children.length === 1 && child instanceof mathMLTree.TextNode) { + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } else { + isAllString = false; + } + + break; + } + + default: + isAllString = false; + } + } else { + isAllString = false; + } + } + + if (isAllString) { + // Write a single TextNode instead of multiple nested tags. + const word = expression.map(node => node.toText()).join(""); + expression = [new mathMLTree.TextNode(word)]; + } + + const identifier = new mathMLTree.MathNode("mi", expression); + identifier.setAttribute("mathvariant", "normal"); // \u2061 is the same as ⁡ + // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp + + const operator = new mathMLTree.MathNode("mo", [makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + return new mathMLTree.MathNode("mo", [identifier, operator]); + } else { + return mathMLTree.newDocumentFragment([identifier, operator]); + } +}; // \operatorname +// amsopn.dtx: \mathop{#1\kern\z@\operator@font#3}\newmcodes@ + + +defineFunction({ + type: "operatorname", + names: ["\\operatorname", "\\operatorname*"], + props: { + numArgs: 1 + }, + handler: (_ref, args) => { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + return { + type: "operatorname", + mode: parser.mode, + body: ordargument(body), + alwaysHandleSupSub: funcName === "\\operatorname*", + limits: false, + parentIsSupSub: false + }; + }, + htmlBuilder: htmlBuilder$9, + mathmlBuilder: mathmlBuilder$9 +}); + +defineFunctionBuilders({ + type: "ordgroup", + + htmlBuilder(group, options) { + if (group.semisimple) { + return buildCommon.makeFragment(buildExpression(group.body, options, false)); + } + + return buildCommon.makeSpan(["mord"], buildExpression(group.body, options, true), options); + }, + + mathmlBuilder(group, options) { + return buildExpressionRow(group.body, options, true); + } + +}); + +defineFunction({ + type: "overline", + names: ["\\overline"], + props: { + numArgs: 1 + }, + + handler(_ref, args) { + let parser = _ref.parser; + const body = args[0]; + return { + type: "overline", + mode: parser.mode, + body + }; + }, + + htmlBuilder(group, options) { + // Overlines are handled in the TeXbook pg 443, Rule 9. + // Build the inner group in the cramped style. + const innerGroup = buildGroup(group.body, options.havingCrampedStyle()); // Create the line above the body + + const line = buildCommon.makeLineSpan("overline-line", options); // Generate the vlist, with the appropriate kerns + + const defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + const vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: innerGroup + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: defaultRuleThickness + }] + }, options); + return buildCommon.makeSpan(["mord", "overline"], [vlist], options); + }, + + mathmlBuilder(group, options) { + const operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203e")]); + operator.setAttribute("stretchy", "true"); + const node = new mathMLTree.MathNode("mover", [buildGroup$1(group.body, options), operator]); + node.setAttribute("accent", "true"); + return node; + } + +}); + +defineFunction({ + type: "phantom", + names: ["\\phantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: (_ref, args) => { + let parser = _ref.parser; + const body = args[0]; + return { + type: "phantom", + mode: parser.mode, + body: ordargument(body) + }; + }, + htmlBuilder: (group, options) => { + const elements = buildExpression(group.body, options.withPhantom(), false); // \phantom isn't supposed to affect the elements it contains. + // See "color" for more details. + + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: (group, options) => { + const inner = buildExpression$1(group.body, options); + return new mathMLTree.MathNode("mphantom", inner); + } +}); +defineFunction({ + type: "hphantom", + names: ["\\hphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: (_ref2, args) => { + let parser = _ref2.parser; + const body = args[0]; + return { + type: "hphantom", + mode: parser.mode, + body + }; + }, + htmlBuilder: (group, options) => { + let node = buildCommon.makeSpan([], [buildGroup(group.body, options.withPhantom())]); + node.height = 0; + node.depth = 0; + + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + node.children[i].depth = 0; + } + } // See smash for comment re: use of makeVList + + + node = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \smash as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [node], options); + }, + mathmlBuilder: (group, options) => { + const inner = buildExpression$1(ordargument(group.body), options); + const phantom = new mathMLTree.MathNode("mphantom", inner); + const node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("height", "0px"); + node.setAttribute("depth", "0px"); + return node; + } +}); +defineFunction({ + type: "vphantom", + names: ["\\vphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: (_ref3, args) => { + let parser = _ref3.parser; + const body = args[0]; + return { + type: "vphantom", + mode: parser.mode, + body + }; + }, + htmlBuilder: (group, options) => { + const inner = buildCommon.makeSpan(["inner"], [buildGroup(group.body, options.withPhantom())]); + const fix = buildCommon.makeSpan(["fix"], []); + return buildCommon.makeSpan(["mord", "rlap"], [inner, fix], options); + }, + mathmlBuilder: (group, options) => { + const inner = buildExpression$1(ordargument(group.body), options); + const phantom = new mathMLTree.MathNode("mphantom", inner); + const node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("width", "0px"); + return node; + } +}); + +defineFunction({ + type: "raisebox", + names: ["\\raisebox"], + props: { + numArgs: 2, + argTypes: ["size", "hbox"], + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser; + const amount = assertNodeType(args[0], "size").value; + const body = args[1]; + return { + type: "raisebox", + mode: parser.mode, + dy: amount, + body + }; + }, + + htmlBuilder(group, options) { + const body = buildGroup(group.body, options); + const dy = calculateSize(group.dy, options); + return buildCommon.makeVList({ + positionType: "shift", + positionData: -dy, + children: [{ + type: "elem", + elem: body + }] + }, options); + }, + + mathmlBuilder(group, options) { + const node = new mathMLTree.MathNode("mpadded", [buildGroup$1(group.body, options)]); + const dy = group.dy.number + group.dy.unit; + node.setAttribute("voffset", dy); + return node; + } + +}); + +defineFunction({ + type: "rule", + names: ["\\rule"], + props: { + numArgs: 2, + numOptionalArgs: 1, + argTypes: ["size", "size", "size"] + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser; + const shift = optArgs[0]; + const width = assertNodeType(args[0], "size"); + const height = assertNodeType(args[1], "size"); + return { + type: "rule", + mode: parser.mode, + shift: shift && assertNodeType(shift, "size").value, + width: width.value, + height: height.value + }; + }, + + htmlBuilder(group, options) { + // Make an empty span for the rule + const rule = buildCommon.makeSpan(["mord", "rule"], [], options); // Calculate the shift, width, and height of the rule, and account for units + + const width = calculateSize(group.width, options); + const height = calculateSize(group.height, options); + const shift = group.shift ? calculateSize(group.shift, options) : 0; // Style the rule to the right size + + rule.style.borderRightWidth = width + "em"; + rule.style.borderTopWidth = height + "em"; + rule.style.bottom = shift + "em"; // Record the height and width + + rule.width = width; + rule.height = height + shift; + rule.depth = -shift; // Font size is the number large enough that the browser will + // reserve at least `absHeight` space above the baseline. + // The 1.125 factor was empirically determined + + rule.maxFontSize = height * 1.125 * options.sizeMultiplier; + return rule; + }, + + mathmlBuilder(group, options) { + const width = calculateSize(group.width, options); + const height = calculateSize(group.height, options); + const shift = group.shift ? calculateSize(group.shift, options) : 0; + const color = options.color && options.getColor() || "black"; + const rule = new mathMLTree.MathNode("mspace"); + rule.setAttribute("mathbackground", color); + rule.setAttribute("width", width + "em"); + rule.setAttribute("height", height + "em"); + const wrapper = new mathMLTree.MathNode("mpadded", [rule]); + + if (shift >= 0) { + wrapper.setAttribute("height", "+" + shift + "em"); + } else { + wrapper.setAttribute("height", shift + "em"); + wrapper.setAttribute("depth", "+" + -shift + "em"); + } + + wrapper.setAttribute("voffset", shift + "em"); + return wrapper; + } + +}); + +function sizingGroup(value, options, baseOptions) { + const inner = buildExpression(value, options, false); + const multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize + // manually. Handle nested size changes. + + for (let i = 0; i < inner.length; i++) { + const pos = inner[i].classes.indexOf("sizing"); + + if (pos < 0) { + Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions)); + } else if (inner[i].classes[pos + 1] === "reset-size" + options.size) { + // This is a nested size change: e.g., inner[i] is the "b" in + // `\Huge a \small b`. Override the old size (the `reset-` class) + // but not the new size. + inner[i].classes[pos + 1] = "reset-size" + baseOptions.size; + } + + inner[i].height *= multiplier; + inner[i].depth *= multiplier; + } + + return buildCommon.makeFragment(inner); +} +const sizeFuncs = ["\\tiny", "\\sixptsize", "\\scriptsize", "\\footnotesize", "\\small", "\\normalsize", "\\large", "\\Large", "\\LARGE", "\\huge", "\\Huge"]; +const htmlBuilder$a = (group, options) => { + // Handle sizing operators like \Huge. Real TeX doesn't actually allow + // these functions inside of math expressions, so we do some special + // handling. + const newOptions = options.havingSize(group.size); + return sizingGroup(group.body, newOptions, options); +}; +defineFunction({ + type: "sizing", + names: sizeFuncs, + props: { + numArgs: 0, + allowedInText: true + }, + handler: (_ref, args) => { + let breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + const body = parser.parseExpression(false, breakOnTokenText); + return { + type: "sizing", + mode: parser.mode, + // Figure out what size to use based on the list of functions above + size: sizeFuncs.indexOf(funcName) + 1, + body + }; + }, + htmlBuilder: htmlBuilder$a, + mathmlBuilder: (group, options) => { + const newOptions = options.havingSize(group.size); + const inner = buildExpression$1(group.body, newOptions); + const node = new mathMLTree.MathNode("mstyle", inner); // TODO(emily): This doesn't produce the correct size for nested size + // changes, because we don't keep state of what style we're currently + // in, so we can't reset the size to normal before changing it. Now + // that we're passing an options parameter we should be able to fix + // this. + + node.setAttribute("mathsize", newOptions.sizeMultiplier + "em"); + return node; + } +}); + +// smash, with optional [tb], as in AMS +defineFunction({ + type: "smash", + names: ["\\smash"], + props: { + numArgs: 1, + numOptionalArgs: 1, + allowedInText: true + }, + handler: (_ref, args, optArgs) => { + let parser = _ref.parser; + let smashHeight = false; + let smashDepth = false; + const tbArg = optArgs[0] && assertNodeType(optArgs[0], "ordgroup"); + + if (tbArg) { + // Optional [tb] argument is engaged. + // ref: amsmath: \renewcommand{\smash}[1][tb]{% + // def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}% + let letter = ""; + + for (let i = 0; i < tbArg.body.length; ++i) { + const node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property. + + letter = node.text; + + if (letter === "t") { + smashHeight = true; + } else if (letter === "b") { + smashDepth = true; + } else { + smashHeight = false; + smashDepth = false; + break; + } + } + } else { + smashHeight = true; + smashDepth = true; + } + + const body = args[0]; + return { + type: "smash", + mode: parser.mode, + body, + smashHeight, + smashDepth + }; + }, + htmlBuilder: (group, options) => { + const node = buildCommon.makeSpan([], [buildGroup(group.body, options)]); + + if (!group.smashHeight && !group.smashDepth) { + return node; + } + + if (group.smashHeight) { + node.height = 0; // In order to influence makeVList, we have to reset the children. + + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + } + } + } + + if (group.smashDepth) { + node.depth = 0; + + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + node.children[i].depth = 0; + } + } + } // At this point, we've reset the TeX-like height and depth values. + // But the span still has an HTML line height. + // makeVList applies "display: table-cell", which prevents the browser + // from acting on that line height. So we'll call makeVList now. + + + const smashedNode = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \hphantom as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [smashedNode], options); + }, + mathmlBuilder: (group, options) => { + const node = new mathMLTree.MathNode("mpadded", [buildGroup$1(group.body, options)]); + + if (group.smashHeight) { + node.setAttribute("height", "0px"); + } + + if (group.smashDepth) { + node.setAttribute("depth", "0px"); + } + + return node; + } +}); + +defineFunction({ + type: "sqrt", + names: ["\\sqrt"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + + handler(_ref, args, optArgs) { + let parser = _ref.parser; + const index = optArgs[0]; + const body = args[0]; + return { + type: "sqrt", + mode: parser.mode, + body, + index + }; + }, + + htmlBuilder(group, options) { + // Square roots are handled in the TeXbook pg. 443, Rule 11. + // First, we do the same steps as in overline to build the inner group + // and line + let inner = buildGroup(group.body, options.havingCrampedStyle()); + + if (inner.height === 0) { + // Render a small surd. + inner.height = options.fontMetrics().xHeight; + } // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + + inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \surd delimiter + + const metrics = options.fontMetrics(); + const theta = metrics.defaultRuleThickness; + let phi = theta; + + if (options.style.id < Style$1.TEXT.id) { + phi = options.fontMetrics().xHeight; + } // Calculate the clearance between the body and line + + + let lineClearance = theta + phi / 4; + const minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size + + const _delimiter$sqrtImage = delimiter.sqrtImage(minDelimiterHeight, options), + img = _delimiter$sqrtImage.span, + ruleWidth = _delimiter$sqrtImage.ruleWidth, + advanceWidth = _delimiter$sqrtImage.advanceWidth; + + const delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size + + if (delimDepth > inner.height + inner.depth + lineClearance) { + lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2; + } // Shift the sqrt image + + + const imgShift = img.height - inner.height - lineClearance - ruleWidth; + inner.style.paddingLeft = advanceWidth + "em"; // Overlay the image and the argument. + + const body = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: inner, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: -(inner.height + imgShift) + }, { + type: "elem", + elem: img + }, { + type: "kern", + size: ruleWidth + }] + }, options); + + if (!group.index) { + return buildCommon.makeSpan(["mord", "sqrt"], [body], options); + } else { + // Handle the optional root index + // The index is always in scriptscript style + const newOptions = options.havingStyle(Style$1.SCRIPTSCRIPT); + const rootm = buildGroup(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX + // source, in the definition of `\r@@t`. + + const toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly + + const rootVList = buildCommon.makeVList({ + positionType: "shift", + positionData: -toShift, + children: [{ + type: "elem", + elem: rootm + }] + }, options); // Add a class surrounding it so we can add on the appropriate + // kerning + + const rootVListWrap = buildCommon.makeSpan(["root"], [rootVList]); + return buildCommon.makeSpan(["mord", "sqrt"], [rootVListWrap, body], options); + } + }, + + mathmlBuilder(group, options) { + const body = group.body, + index = group.index; + return index ? new mathMLTree.MathNode("mroot", [buildGroup$1(body, options), buildGroup$1(index, options)]) : new mathMLTree.MathNode("msqrt", [buildGroup$1(body, options)]); + } + +}); + +const styleMap$1 = { + "display": Style$1.DISPLAY, + "text": Style$1.TEXT, + "script": Style$1.SCRIPT, + "scriptscript": Style$1.SCRIPTSCRIPT +}; +defineFunction({ + type: "styling", + names: ["\\displaystyle", "\\textstyle", "\\scriptstyle", "\\scriptscriptstyle"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(_ref, args) { + let breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + // parse out the implicit body + const body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g. + // here and in buildHTML and de-dupe the enumeration of all the styles). + // $FlowFixMe: The names above exactly match the styles. + + const style = funcName.slice(1, funcName.length - 5); + return { + type: "styling", + mode: parser.mode, + // Figure out what style to use by pulling out the style from + // the function name + style, + body + }; + }, + + htmlBuilder(group, options) { + // Style changes are handled in the TeXbook on pg. 442, Rule 3. + const newStyle = styleMap$1[group.style]; + const newOptions = options.havingStyle(newStyle).withFont(''); + return sizingGroup(group.body, newOptions, options); + }, + + mathmlBuilder(group, options) { + // Figure out what style we're changing to. + const newStyle = styleMap$1[group.style]; + const newOptions = options.havingStyle(newStyle); + const inner = buildExpression$1(group.body, newOptions); + const node = new mathMLTree.MathNode("mstyle", inner); + const styleAttributes = { + "display": ["0", "true"], + "text": ["0", "false"], + "script": ["1", "false"], + "scriptscript": ["2", "false"] + }; + const attr = styleAttributes[group.style]; + node.setAttribute("scriptlevel", attr[0]); + node.setAttribute("displaystyle", attr[1]); + return node; + } + +}); + +/** + * Sometimes, groups perform special rules when they have superscripts or + * subscripts attached to them. This function lets the `supsub` group know that + * Sometimes, groups perform special rules when they have superscripts or + * its inner element should handle the superscripts and subscripts instead of + * handling them itself. + */ +const htmlBuilderDelegate = function htmlBuilderDelegate(group, options) { + const base = group.base; + + if (!base) { + return null; + } else if (base.type === "op") { + // Operators handle supsubs differently when they have limits + // (e.g. `\displaystyle\sum_2^3`) + const delegate = base.limits && (options.style.size === Style$1.DISPLAY.size || base.alwaysHandleSupSub); + return delegate ? htmlBuilder$8 : null; + } else if (base.type === "operatorname") { + const delegate = base.alwaysHandleSupSub && (options.style.size === Style$1.DISPLAY.size || base.limits); + return delegate ? htmlBuilder$9 : null; + } else if (base.type === "accent") { + return utils.isCharacterBox(base.base) ? htmlBuilder : null; + } else if (base.type === "horizBrace") { + const isSup = !group.sub; + return isSup === base.isOver ? htmlBuilder$7 : null; + } else { + return null; + } +}; // Super scripts and subscripts, whose precise placement can depend on other +// functions that precede them. + + +defineFunctionBuilders({ + type: "supsub", + + htmlBuilder(group, options) { + // Superscript and subscripts are handled in the TeXbook on page + // 445-446, rules 18(a-f). + // Here is where we defer to the inner group if it should handle + // superscripts and subscripts itself. + const builderDelegate = htmlBuilderDelegate(group, options); + + if (builderDelegate) { + return builderDelegate(group, options); + } + + const valueBase = group.base, + valueSup = group.sup, + valueSub = group.sub; + const base = buildGroup(valueBase, options); + let supm; + let subm; + const metrics = options.fontMetrics(); // Rule 18a + + let supShift = 0; + let subShift = 0; + const isCharacterBox = valueBase && utils.isCharacterBox(valueBase); + + if (valueSup) { + const newOptions = options.havingStyle(options.style.sup()); + supm = buildGroup(valueSup, newOptions, options); + + if (!isCharacterBox) { + supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + if (valueSub) { + const newOptions = options.havingStyle(options.style.sub()); + subm = buildGroup(valueSub, newOptions, options); + + if (!isCharacterBox) { + subShift = base.depth + newOptions.fontMetrics().subDrop * newOptions.sizeMultiplier / options.sizeMultiplier; + } + } // Rule 18c + + + let minSupShift; + + if (options.style === Style$1.DISPLAY) { + minSupShift = metrics.sup1; + } else if (options.style.cramped) { + minSupShift = metrics.sup3; + } else { + minSupShift = metrics.sup2; + } // scriptspace is a font-size-independent size, so scale it + // appropriately for use as the marginRight. + + + const multiplier = options.sizeMultiplier; + const marginRight = 0.5 / metrics.ptPerEm / multiplier + "em"; + let marginLeft = null; + + if (subm) { + // Subscripts shouldn't be shifted by the base's italic correction. + // Account for that by shifting the subscript back the appropriate + // amount. Note we only do this when the base is a single symbol. + const isOiint = group.base && group.base.type === "op" && group.base.name && (group.base.name === "\\oiint" || group.base.name === "\\oiiint"); + + if (base instanceof SymbolNode || isOiint) { + // $FlowFixMe + marginLeft = -base.italic + "em"; + } + } + + let supsub; + + if (supm && subm) { + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + subShift = Math.max(subShift, metrics.sub2); + const ruleWidth = metrics.defaultRuleThickness; // Rule 18e + + const maxWidth = 4 * ruleWidth; + + if (supShift - supm.depth - (subm.height - subShift) < maxWidth) { + subShift = maxWidth - (supShift - supm.depth) + subm.height; + const psi = 0.8 * metrics.xHeight - (supShift - supm.depth); + + if (psi > 0) { + supShift += psi; + subShift -= psi; + } + } + + const vlistElem = [{ + type: "elem", + elem: subm, + shift: subShift, + marginRight, + marginLeft + }, { + type: "elem", + elem: supm, + shift: -supShift, + marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "individualShift", + children: vlistElem + }, options); + } else if (subm) { + // Rule 18b + subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight); + const vlistElem = [{ + type: "elem", + elem: subm, + marginLeft, + marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: subShift, + children: vlistElem + }, options); + } else if (supm) { + // Rule 18c, d + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: -supShift, + children: [{ + type: "elem", + elem: supm, + marginRight + }] + }, options); + } else { + throw new Error("supsub must have either sup or sub."); + } // Wrap the supsub vlist in a span.msupsub to reset text-align. + + + const mclass = getTypeOfDomTree(base, "right") || "mord"; + return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan(["msupsub"], [supsub])], options); + }, + + mathmlBuilder(group, options) { + // Is the inner group a relevant horizonal brace? + let isBrace = false; + let isOver; + let isSup; + + if (group.base && group.base.type === "horizBrace") { + isSup = !!group.sup; + + if (isSup === group.base.isOver) { + isBrace = true; + isOver = group.base.isOver; + } + } + + if (group.base && (group.base.type === "op" || group.base.type === "operatorname")) { + group.base.parentIsSupSub = true; + } + + const children = [buildGroup$1(group.base, options)]; + + if (group.sub) { + children.push(buildGroup$1(group.sub, options)); + } + + if (group.sup) { + children.push(buildGroup$1(group.sup, options)); + } + + let nodeType; + + if (isBrace) { + nodeType = isOver ? "mover" : "munder"; + } else if (!group.sub) { + const base = group.base; + + if (base && base.type === "op" && base.limits && (options.style === Style$1.DISPLAY || base.alwaysHandleSupSub)) { + nodeType = "mover"; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (base.limits || options.style === Style$1.DISPLAY)) { + nodeType = "mover"; + } else { + nodeType = "msup"; + } + } else if (!group.sup) { + const base = group.base; + + if (base && base.type === "op" && base.limits && (options.style === Style$1.DISPLAY || base.alwaysHandleSupSub)) { + nodeType = "munder"; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (base.limits || options.style === Style$1.DISPLAY)) { + nodeType = "munder"; + } else { + nodeType = "msub"; + } + } else { + const base = group.base; + + if (base && base.type === "op" && base.limits && options.style === Style$1.DISPLAY) { + nodeType = "munderover"; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (options.style === Style$1.DISPLAY || base.limits)) { + nodeType = "munderover"; + } else { + nodeType = "msubsup"; + } + } + + const node = new mathMLTree.MathNode(nodeType, children); + return node; + } + +}); + +defineFunctionBuilders({ + type: "atom", + + htmlBuilder(group, options) { + return buildCommon.mathsym(group.text, group.mode, options, ["m" + group.family]); + }, + + mathmlBuilder(group, options) { + const node = new mathMLTree.MathNode("mo", [makeText(group.text, group.mode)]); + + if (group.family === "bin") { + const variant = getVariant(group, options); + + if (variant === "bold-italic") { + node.setAttribute("mathvariant", variant); + } + } else if (group.family === "punct") { + node.setAttribute("separator", "true"); + } else if (group.family === "open" || group.family === "close") { + // Delims built here should not stretch vertically. + // See delimsizing.js for stretchy delims. + node.setAttribute("stretchy", "false"); + } + + return node; + } + +}); + +// "mathord" and "textord" ParseNodes created in Parser.js from symbol Groups in +const defaultVariant = { + "mi": "italic", + "mn": "normal", + "mtext": "normal" +}; +defineFunctionBuilders({ + type: "mathord", + + htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "mathord"); + }, + + mathmlBuilder(group, options) { + const node = new mathMLTree.MathNode("mi", [makeText(group.text, group.mode, options)]); + const variant = getVariant(group, options) || "italic"; + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } + +}); +defineFunctionBuilders({ + type: "textord", + + htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "textord"); + }, + + mathmlBuilder(group, options) { + const text = makeText(group.text, group.mode, options); + const variant = getVariant(group, options) || "normal"; + let node; + + if (group.mode === 'text') { + node = new mathMLTree.MathNode("mtext", [text]); + } else if (/[0-9]/.test(group.text)) { + // TODO(kevinb) merge adjacent nodes + // do it as a post processing step + node = new mathMLTree.MathNode("mn", [text]); + } else if (group.text === "\\prime") { + node = new mathMLTree.MathNode("mo", [text]); + } else { + node = new mathMLTree.MathNode("mi", [text]); + } + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } + +}); + +const cssSpace = { + "\\nobreak": "nobreak", + "\\allowbreak": "allowbreak" +}; // A lookup table to determine whether a spacing function/symbol should be +// treated like a regular space character. If a symbol or command is a key +// in this table, then it should be a regular space character. Furthermore, +// the associated value may have a `className` specifying an extra CSS class +// to add to the created `span`. + +const regularSpace = { + " ": {}, + "\\ ": {}, + "~": { + className: "nobreak" + }, + "\\space": {}, + "\\nobreakspace": { + className: "nobreak" + } +}; // ParseNode<"spacing"> created in Parser.js from the "spacing" symbol Groups in +// src/symbols.js. + +defineFunctionBuilders({ + type: "spacing", + + htmlBuilder(group, options) { + if (regularSpace.hasOwnProperty(group.text)) { + const className = regularSpace[group.text].className || ""; // Spaces are generated by adding an actual space. Each of these + // things has an entry in the symbols table, so these will be turned + // into appropriate outputs. + + if (group.mode === "text") { + const ord = buildCommon.makeOrd(group, options, "textord"); + ord.classes.push(className); + return ord; + } else { + return buildCommon.makeSpan(["mspace", className], [buildCommon.mathsym(group.text, group.mode, options)], options); + } + } else if (cssSpace.hasOwnProperty(group.text)) { + // Spaces based on just a CSS class. + return buildCommon.makeSpan(["mspace", cssSpace[group.text]], [], options); + } else { + throw new ParseError(`Unknown type of space "${group.text}"`); + } + }, + + mathmlBuilder(group, options) { + let node; + + if (regularSpace.hasOwnProperty(group.text)) { + node = new mathMLTree.MathNode("mtext", [new mathMLTree.TextNode("\u00a0")]); + } else if (cssSpace.hasOwnProperty(group.text)) { + // CSS-based MathML spaces (\nobreak, \allowbreak) are ignored + return new mathMLTree.MathNode("mspace"); + } else { + throw new ParseError(`Unknown type of space "${group.text}"`); + } + + return node; + } + +}); + +const pad = () => { + const padNode = new mathMLTree.MathNode("mtd", []); + padNode.setAttribute("width", "50%"); + return padNode; +}; + +defineFunctionBuilders({ + type: "tag", + + mathmlBuilder(group, options) { + const table = new mathMLTree.MathNode("mtable", [new mathMLTree.MathNode("mtr", [pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.body, options)]), pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.tag, options)])])]); + table.setAttribute("width", "100%"); + return table; // TODO: Left-aligned tags. + // Currently, the group and options passed here do not contain + // enough info to set tag alignment. `leqno` is in Settings but it is + // not passed to Options. On the HTML side, leqno is + // set by a CSS class applied in buildTree.js. That would have worked + // in MathML if browsers supported . Since they don't, we + // need to rewrite the way this function is called. + } + +}); + +const textFontFamilies = { + "\\text": undefined, + "\\textrm": "textrm", + "\\textsf": "textsf", + "\\texttt": "texttt", + "\\textnormal": "textrm" +}; +const textFontWeights = { + "\\textbf": "textbf", + "\\textmd": "textmd" +}; +const textFontShapes = { + "\\textit": "textit", + "\\textup": "textup" +}; + +const optionsWithFont = (group, options) => { + const font = group.font; // Checks if the argument is a font family or a font style. + + if (!font) { + return options; + } else if (textFontFamilies[font]) { + return options.withTextFontFamily(textFontFamilies[font]); + } else if (textFontWeights[font]) { + return options.withTextFontWeight(textFontWeights[font]); + } else { + return options.withTextFontShape(textFontShapes[font]); + } +}; + +defineFunction({ + type: "text", + names: [// Font families + "\\text", "\\textrm", "\\textsf", "\\texttt", "\\textnormal", // Font weights + "\\textbf", "\\textmd", // Font Shapes + "\\textit", "\\textup"], + props: { + numArgs: 1, + argTypes: ["text"], + greediness: 2, + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser, + funcName = _ref.funcName; + const body = args[0]; + return { + type: "text", + mode: parser.mode, + body: ordargument(body), + font: funcName + }; + }, + + htmlBuilder(group, options) { + const newOptions = optionsWithFont(group, options); + const inner = buildExpression(group.body, newOptions, true); + return buildCommon.makeSpan(["mord", "text"], buildCommon.tryCombineChars(inner), newOptions); + }, + + mathmlBuilder(group, options) { + const newOptions = optionsWithFont(group, options); + return buildExpressionRow(group.body, newOptions); + } + +}); + +defineFunction({ + type: "underline", + names: ["\\underline"], + props: { + numArgs: 1, + allowedInText: true + }, + + handler(_ref, args) { + let parser = _ref.parser; + return { + type: "underline", + mode: parser.mode, + body: args[0] + }; + }, + + htmlBuilder(group, options) { + // Underlines are handled in the TeXbook pg 443, Rule 10. + // Build the inner group. + const innerGroup = buildGroup(group.body, options); // Create the line to go below the body + + const line = buildCommon.makeLineSpan("underline-line", options); // Generate the vlist, with the appropriate kerns + + const defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + const vlist = buildCommon.makeVList({ + positionType: "top", + positionData: innerGroup.height, + children: [{ + type: "kern", + size: defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "underline"], [vlist], options); + }, + + mathmlBuilder(group, options) { + const operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203e")]); + operator.setAttribute("stretchy", "true"); + const node = new mathMLTree.MathNode("munder", [buildGroup$1(group.body, options), operator]); + node.setAttribute("accentunder", "true"); + return node; + } + +}); + +defineFunction({ + type: "verb", + names: ["\\verb"], + props: { + numArgs: 0, + allowedInText: true + }, + + handler(context, args, optArgs) { + // \verb and \verb* are dealt with directly in Parser.js. + // If we end up here, it's because of a failure to match the two delimiters + // in the regex in Lexer.js. LaTeX raises the following error when \verb is + // terminated by end of line (or file). + throw new ParseError("\\verb ended by end of line instead of matching delimiter"); + }, + + htmlBuilder(group, options) { + const text = makeVerb(group); + const body = []; // \verb enters text mode and therefore is sized like \textstyle + + const newOptions = options.havingStyle(options.style.text()); + + for (let i = 0; i < text.length; i++) { + let c = text[i]; + + if (c === '~') { + c = '\\textasciitilde'; + } + + body.push(buildCommon.makeSymbol(c, "Typewriter-Regular", group.mode, newOptions, ["mord", "texttt"])); + } + + return buildCommon.makeSpan(["mord", "text"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions); + }, + + mathmlBuilder(group, options) { + const text = new mathMLTree.TextNode(makeVerb(group)); + const node = new mathMLTree.MathNode("mtext", [text]); + node.setAttribute("mathvariant", "monospace"); + return node; + } + +}); +/** + * Converts verb group into body string. + * + * \verb* replaces each space with an open box \u2423 + * \verb replaces each space with a no-break space \xA0 + */ + +const makeVerb = group => group.body.replace(/ /g, group.star ? '\u2423' : '\xA0'); + +/** Include this to ensure that all functions are defined. */ +const functions = _functions; + +/** + * The Lexer class handles tokenizing the input in various ways. Since our + * parser expects us to be able to backtrack, the lexer allows lexing from any + * given starting point. + * + * Its main exposed function is the `lex` function, which takes a position to + * lex from and a type of token to lex. It defers to the appropriate `_innerLex` + * function. + * + * The various `_innerLex` functions perform the actual lexing of different + * kinds. + */ + +/* The following tokenRegex + * - matches typical whitespace (but not NBSP etc.) using its first group + * - does not match any control character \x00-\x1f except whitespace + * - does not match a bare backslash + * - matches any ASCII character except those just mentioned + * - does not match the BMP private use area \uE000-\uF8FF + * - does not match bare surrogate code units + * - matches any BMP character except for those just described + * - matches any valid Unicode surrogate pair + * - matches a backslash followed by one or more letters + * - matches a backslash followed by any BMP character, including newline + * Just because the Lexer matches something doesn't mean it's valid input: + * If there is no matching function or symbol definition, the Parser will + * still reject the input. + */ +const spaceRegexString = "[ \r\n\t]"; +const controlWordRegexString = "\\\\[a-zA-Z@]+"; +const controlSymbolRegexString = "\\\\[^\uD800-\uDFFF]"; +const controlWordWhitespaceRegexString = `${controlWordRegexString}${spaceRegexString}*`; +const controlWordWhitespaceRegex = new RegExp(`^(${controlWordRegexString})${spaceRegexString}*$`); +const combiningDiacriticalMarkString = "[\u0300-\u036f]"; +const combiningDiacriticalMarksEndRegex = new RegExp(`${combiningDiacriticalMarkString}+$`); +const tokenRegexString = `(${spaceRegexString}+)|` + // whitespace +"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]" + // single codepoint +`${combiningDiacriticalMarkString}*` + // ...plus accents +"|[\uD800-\uDBFF][\uDC00-\uDFFF]" + // surrogate pair +`${combiningDiacriticalMarkString}*` + // ...plus accents +"|\\\\verb\\*([^]).*?\\3" + // \verb* +"|\\\\verb([^*a-zA-Z]).*?\\4" + // \verb unstarred +"|\\\\operatorname\\*" + // \operatorname* +`|${controlWordWhitespaceRegexString}` + // \macroName + spaces +`|${controlSymbolRegexString})`; // \\, \', etc. + +/** Main Lexer class */ + +class Lexer { + // category codes, only supports comment characters (14) for now + constructor(input, settings) { + this.input = void 0; + this.settings = void 0; + this.tokenRegex = void 0; + this.catcodes = void 0; + // Separate accents from characters + this.input = input; + this.settings = settings; + this.tokenRegex = new RegExp(tokenRegexString, 'g'); + this.catcodes = { + "%": 14 // comment character + + }; + } + + setCatcode(char, code) { + this.catcodes[char] = code; + } + /** + * This function lexes a single token. + */ + + + lex() { + const input = this.input; + const pos = this.tokenRegex.lastIndex; + + if (pos === input.length) { + return new Token("EOF", new SourceLocation(this, pos, pos)); + } + + const match = this.tokenRegex.exec(input); + + if (match === null || match.index !== pos) { + throw new ParseError(`Unexpected character: '${input[pos]}'`, new Token(input[pos], new SourceLocation(this, pos, pos + 1))); + } + + let text = match[2] || " "; + + if (this.catcodes[text] === 14) { + // comment character + const nlIndex = input.indexOf('\n', this.tokenRegex.lastIndex); + + if (nlIndex === -1) { + this.tokenRegex.lastIndex = input.length; // EOF + + this.settings.reportNonstrict("commentAtEnd", "% comment has no terminating newline; LaTeX would " + "fail because of commenting the end of math mode (e.g. $)"); + } else { + this.tokenRegex.lastIndex = nlIndex + 1; + } + + return this.lex(); + } // Trim any trailing whitespace from control word match + + + const controlMatch = text.match(controlWordWhitespaceRegex); + + if (controlMatch) { + text = controlMatch[1]; + } + + return new Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex)); + } + +} + +/** + * A `Namespace` refers to a space of nameable things like macros or lengths, + * which can be `set` either globally or local to a nested group, using an + * undo stack similar to how TeX implements this functionality. + * Performance-wise, `get` and local `set` take constant time, while global + * `set` takes time proportional to the depth of group nesting. + */ +class Namespace { + /** + * Both arguments are optional. The first argument is an object of + * built-in mappings which never change. The second argument is an object + * of initial (global-level) mappings, which will constantly change + * according to any global/top-level `set`s done. + */ + constructor(builtins, globalMacros) { + if (builtins === void 0) { + builtins = {}; + } + + if (globalMacros === void 0) { + globalMacros = {}; + } + + this.current = void 0; + this.builtins = void 0; + this.undefStack = void 0; + this.current = globalMacros; + this.builtins = builtins; + this.undefStack = []; + } + /** + * Start a new nested group, affecting future local `set`s. + */ + + + beginGroup() { + this.undefStack.push({}); + } + /** + * End current nested group, restoring values before the group began. + */ + + + endGroup() { + if (this.undefStack.length === 0) { + throw new ParseError("Unbalanced namespace destruction: attempt " + "to pop global namespace; please report this as a bug"); + } + + const undefs = this.undefStack.pop(); + + for (const undef in undefs) { + if (undefs.hasOwnProperty(undef)) { + if (undefs[undef] === undefined) { + delete this.current[undef]; + } else { + this.current[undef] = undefs[undef]; + } + } + } + } + /** + * Detect whether `name` has a definition. Equivalent to + * `get(name) != null`. + */ + + + has(name) { + return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name); + } + /** + * Get the current value of a name, or `undefined` if there is no value. + * + * Note: Do not use `if (namespace.get(...))` to detect whether a macro + * is defined, as the definition may be the empty string which evaluates + * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or + * `if (namespace.has(...))`. + */ + + + get(name) { + if (this.current.hasOwnProperty(name)) { + return this.current[name]; + } else { + return this.builtins[name]; + } + } + /** + * Set the current value of a name, and optionally set it globally too. + * Local set() sets the current value and (when appropriate) adds an undo + * operation to the undo stack. Global set() may change the undo + * operation at every level, so takes time linear in their number. + */ + + + set(name, value, global) { + if (global === void 0) { + global = false; + } + + if (global) { + // Global set is equivalent to setting in all groups. Simulate this + // by destroying any undos currently scheduled for this name, + // and adding an undo with the *new* value (in case it later gets + // locally reset within this environment). + for (let i = 0; i < this.undefStack.length; i++) { + delete this.undefStack[i][name]; + } + + if (this.undefStack.length > 0) { + this.undefStack[this.undefStack.length - 1][name] = value; + } + } else { + // Undo this set at end of this group (possibly to `undefined`), + // unless an undo is already in place, in which case that older + // value is the correct one. + const top = this.undefStack[this.undefStack.length - 1]; + + if (top && !top.hasOwnProperty(name)) { + top[name] = this.current[name]; + } + } + + this.current[name] = value; + } + +} + +/** + * Predefined macros for KaTeX. + * This can be used to define some commands in terms of others. + */ +const builtinMacros = {}; + +function defineMacro(name, body) { + builtinMacros[name] = body; +} ////////////////////////////////////////////////////////////////////// +// macro tools + +defineMacro("\\noexpand", function (context) { + // The expansion is the token itself; but that token is interpreted + // as if its meaning were ‘\relax’ if it is a control sequence that + // would ordinarily be expanded by TeX’s expansion rules. + const t = context.popToken(); + + if (context.isExpandable(t.text)) { + t.noexpand = true; + t.treatAsRelax = true; + } + + return { + tokens: [t], + numArgs: 0 + }; +}); +defineMacro("\\expandafter", function (context) { + // TeX first reads the token that comes immediately after \expandafter, + // without expanding it; let’s call this token t. Then TeX reads the + // token that comes after t (and possibly more tokens, if that token + // has an argument), replacing it by its expansion. Finally TeX puts + // t back in front of that expansion. + const t = context.popToken(); + context.expandOnce(true); // expand only an expandable token + + return { + tokens: [t], + numArgs: 0 + }; +}); // LaTeX's \@firstoftwo{#1}{#2} expands to #1, skipping #2 +// TeX source: \long\def\@firstoftwo#1#2{#1} + +defineMacro("\\@firstoftwo", function (context) { + const args = context.consumeArgs(2); + return { + tokens: args[0], + numArgs: 0 + }; +}); // LaTeX's \@secondoftwo{#1}{#2} expands to #2, skipping #1 +// TeX source: \long\def\@secondoftwo#1#2{#2} + +defineMacro("\\@secondoftwo", function (context) { + const args = context.consumeArgs(2); + return { + tokens: args[1], + numArgs: 0 + }; +}); // LaTeX's \@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded) +// symbol that isn't a space, consuming any spaces but not consuming the +// first nonspace character. If that nonspace character matches #1, then +// the macro expands to #2; otherwise, it expands to #3. + +defineMacro("\\@ifnextchar", function (context) { + const args = context.consumeArgs(3); // symbol, if, else + + context.consumeSpaces(); + const nextToken = context.future(); + + if (args[0].length === 1 && args[0][0].text === nextToken.text) { + return { + tokens: args[1], + numArgs: 0 + }; + } else { + return { + tokens: args[2], + numArgs: 0 + }; + } +}); // LaTeX's \@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol. +// If it is `*`, then it consumes the symbol, and the macro expands to #1; +// otherwise, the macro expands to #2 (without consuming the symbol). +// TeX source: \def\@ifstar#1{\@ifnextchar *{\@firstoftwo{#1}}} + +defineMacro("\\@ifstar", "\\@ifnextchar *{\\@firstoftwo{#1}}"); // LaTeX's \TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode + +defineMacro("\\TextOrMath", function (context) { + const args = context.consumeArgs(2); + + if (context.mode === 'text') { + return { + tokens: args[0], + numArgs: 0 + }; + } else { + return { + tokens: args[1], + numArgs: 0 + }; + } +}); // Lookup table for parsing numbers in base 8 through 16 + +const digitToNumber = { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "a": 10, + "A": 10, + "b": 11, + "B": 11, + "c": 12, + "C": 12, + "d": 13, + "D": 13, + "e": 14, + "E": 14, + "f": 15, + "F": 15 +}; // TeX \char makes a literal character (catcode 12) using the following forms: +// (see The TeXBook, p. 43) +// \char123 -- decimal +// \char'123 -- octal +// \char"123 -- hex +// \char`x -- character that can be written (i.e. isn't active) +// \char`\x -- character that cannot be written (e.g. %) +// These all refer to characters from the font, so we turn them into special +// calls to a function \@char dealt with in the Parser. + +defineMacro("\\char", function (context) { + let token = context.popToken(); + let base; + let number = ''; + + if (token.text === "'") { + base = 8; + token = context.popToken(); + } else if (token.text === '"') { + base = 16; + token = context.popToken(); + } else if (token.text === "`") { + token = context.popToken(); + + if (token.text[0] === "\\") { + number = token.text.charCodeAt(1); + } else if (token.text === "EOF") { + throw new ParseError("\\char` missing argument"); + } else { + number = token.text.charCodeAt(0); + } + } else { + base = 10; + } + + if (base) { + // Parse a number in the given base, starting with first `token`. + number = digitToNumber[token.text]; + + if (number == null || number >= base) { + throw new ParseError(`Invalid base-${base} digit ${token.text}`); + } + + let digit; + + while ((digit = digitToNumber[context.future().text]) != null && digit < base) { + number *= base; + number += digit; + context.popToken(); + } + } + + return `\\@char{${number}}`; +}); // \newcommand{\macro}[args]{definition} +// \renewcommand{\macro}[args]{definition} +// TODO: Optional arguments: \newcommand{\macro}[args][default]{definition} + +const newcommand = (context, existsOK, nonexistsOK) => { + let arg = context.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new ParseError("\\newcommand's first argument must be a macro name"); + } + + const name = arg[0].text; + const exists = context.isDefined(name); + + if (exists && !existsOK) { + throw new ParseError(`\\newcommand{${name}} attempting to redefine ` + `${name}; use \\renewcommand`); + } + + if (!exists && !nonexistsOK) { + throw new ParseError(`\\renewcommand{${name}} when command ${name} ` + `does not yet exist; use \\newcommand`); + } + + let numArgs = 0; + arg = context.consumeArgs(1)[0]; + + if (arg.length === 1 && arg[0].text === "[") { + let argText = ''; + let token = context.expandNextToken(); + + while (token.text !== "]" && token.text !== "EOF") { + // TODO: Should properly expand arg, e.g., ignore {}s + argText += token.text; + token = context.expandNextToken(); + } + + if (!argText.match(/^\s*[0-9]+\s*$/)) { + throw new ParseError(`Invalid number of arguments: ${argText}`); + } + + numArgs = parseInt(argText); + arg = context.consumeArgs(1)[0]; + } // Final arg is the expansion of the macro + + + context.macros.set(name, { + tokens: arg, + numArgs + }); + return ''; +}; + +defineMacro("\\newcommand", context => newcommand(context, false, true)); +defineMacro("\\renewcommand", context => newcommand(context, true, false)); +defineMacro("\\providecommand", context => newcommand(context, true, true)); // terminal (console) tools + +defineMacro("\\message", context => { + const arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console + + console.log(arg.reverse().map(token => token.text).join("")); + return ''; +}); +defineMacro("\\errmessage", context => { + const arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console + + console.error(arg.reverse().map(token => token.text).join("")); + return ''; +}); +defineMacro("\\show", context => { + const tok = context.popToken(); + const name = tok.text; // eslint-disable-next-line no-console + + console.log(tok, context.macros.get(name), functions[name], symbols.math[name], symbols.text[name]); + return ''; +}); ////////////////////////////////////////////////////////////////////// +// Grouping +// \let\bgroup={ \let\egroup=} + +defineMacro("\\bgroup", "{"); +defineMacro("\\egroup", "}"); // Symbols from latex.ltx: +// \def\lq{`} +// \def\rq{'} +// \def \aa {\r a} +// \def \AA {\r A} + +defineMacro("\\lq", "`"); +defineMacro("\\rq", "'"); +defineMacro("\\aa", "\\r a"); +defineMacro("\\AA", "\\r A"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML. +// \DeclareTextCommandDefault{\textcopyright}{\textcircled{c}} +// \DeclareTextCommandDefault{\textregistered}{\textcircled{% +// \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont R}} +// \DeclareRobustCommand{\copyright}{% +// \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi} + +defineMacro("\\textcopyright", "\\html@mathml{\\textcircled{c}}{\\char`©}"); +defineMacro("\\copyright", "\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"); +defineMacro("\\textregistered", "\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"); // Characters omitted from Unicode range 1D400–1D7FF + +defineMacro("\u212C", "\\mathscr{B}"); // script + +defineMacro("\u2130", "\\mathscr{E}"); +defineMacro("\u2131", "\\mathscr{F}"); +defineMacro("\u210B", "\\mathscr{H}"); +defineMacro("\u2110", "\\mathscr{I}"); +defineMacro("\u2112", "\\mathscr{L}"); +defineMacro("\u2133", "\\mathscr{M}"); +defineMacro("\u211B", "\\mathscr{R}"); +defineMacro("\u212D", "\\mathfrak{C}"); // Fraktur + +defineMacro("\u210C", "\\mathfrak{H}"); +defineMacro("\u2128", "\\mathfrak{Z}"); // Define \Bbbk with a macro that works in both HTML and MathML. + +defineMacro("\\Bbbk", "\\Bbb{k}"); // Unicode middle dot +// The KaTeX fonts do not contain U+00B7. Instead, \cdotp displays +// the dot at U+22C5 and gives it punct spacing. + +defineMacro("\u00b7", "\\cdotp"); // \llap and \rlap render their contents in text mode + +defineMacro("\\llap", "\\mathllap{\\textrm{#1}}"); +defineMacro("\\rlap", "\\mathrlap{\\textrm{#1}}"); +defineMacro("\\clap", "\\mathclap{\\textrm{#1}}"); // \not is defined by base/fontmath.ltx via +// \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36} +// It's thus treated like a \mathrel, but defined by a symbol that has zero +// width but extends to the right. We use \rlap to get that spacing. +// For MathML we write U+0338 here. buildMathML.js will then do the overlay. + +defineMacro("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'); // Negated symbols from base/fontmath.ltx: +// \def\neq{\not=} \let\ne=\neq +// \DeclareRobustCommand +// \notin{\mathrel{\m@th\mathpalette\c@ncel\in}} +// \def\c@ncel#1#2{\m@th\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}} + +defineMacro("\\neq", "\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"); +defineMacro("\\ne", "\\neq"); +defineMacro("\u2260", "\\neq"); +defineMacro("\\notin", "\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}" + "{\\mathrel{\\char`∉}}"); +defineMacro("\u2209", "\\notin"); // Unicode stacked relations + +defineMacro("\u2258", "\\html@mathml{" + "\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}" + "}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u2259", "\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u225A", "\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}"); +defineMacro("\u225B", "\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}" + "{\\mathrel{\\char`\u225B}}"); +defineMacro("\u225D", "\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}" + "{\\mathrel{\\char`\u225D}}"); +defineMacro("\u225E", "\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}" + "{\\mathrel{\\char`\u225E}}"); +defineMacro("\u225F", "\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}"); // Misc Unicode + +defineMacro("\u27C2", "\\perp"); +defineMacro("\u203C", "\\mathclose{!\\mkern-0.8mu!}"); +defineMacro("\u220C", "\\notni"); +defineMacro("\u231C", "\\ulcorner"); +defineMacro("\u231D", "\\urcorner"); +defineMacro("\u231E", "\\llcorner"); +defineMacro("\u231F", "\\lrcorner"); +defineMacro("\u00A9", "\\copyright"); +defineMacro("\u00AE", "\\textregistered"); +defineMacro("\uFE0F", "\\textregistered"); // The KaTeX fonts have corners at codepoints that don't match Unicode. +// For MathML purposes, use the Unicode code point. + +defineMacro("\\ulcorner", "\\html@mathml{\\@ulcorner}{\\mathop{\\char\"231c}}"); +defineMacro("\\urcorner", "\\html@mathml{\\@urcorner}{\\mathop{\\char\"231d}}"); +defineMacro("\\llcorner", "\\html@mathml{\\@llcorner}{\\mathop{\\char\"231e}}"); +defineMacro("\\lrcorner", "\\html@mathml{\\@lrcorner}{\\mathop{\\char\"231f}}"); ////////////////////////////////////////////////////////////////////// +// LaTeX_2ε +// \vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ +// \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} +// We'll call \varvdots, which gets a glyph from symbols.js. +// The zero-width rule gets us an equivalent to the vertical 6pt kern. + +defineMacro("\\vdots", "\\mathord{\\varvdots\\rule{0pt}{15pt}}"); +defineMacro("\u22ee", "\\vdots"); ////////////////////////////////////////////////////////////////////// +// amsmath.sty +// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf +// Italic Greek capital letters. AMS defines these with \DeclareMathSymbol, +// but they are equivalent to \mathit{\Letter}. + +defineMacro("\\varGamma", "\\mathit{\\Gamma}"); +defineMacro("\\varDelta", "\\mathit{\\Delta}"); +defineMacro("\\varTheta", "\\mathit{\\Theta}"); +defineMacro("\\varLambda", "\\mathit{\\Lambda}"); +defineMacro("\\varXi", "\\mathit{\\Xi}"); +defineMacro("\\varPi", "\\mathit{\\Pi}"); +defineMacro("\\varSigma", "\\mathit{\\Sigma}"); +defineMacro("\\varUpsilon", "\\mathit{\\Upsilon}"); +defineMacro("\\varPhi", "\\mathit{\\Phi}"); +defineMacro("\\varPsi", "\\mathit{\\Psi}"); +defineMacro("\\varOmega", "\\mathit{\\Omega}"); //\newcommand{\substack}[1]{\subarray{c}#1\endsubarray} + +defineMacro("\\substack", "\\begin{subarray}{c}#1\\end{subarray}"); // \renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript +// \mkern-\thinmuskip{:}\mskip6muplus1mu\relax} + +defineMacro("\\colon", "\\nobreak\\mskip2mu\\mathpunct{}" + "\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu"); // \newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}} + +defineMacro("\\boxed", "\\fbox{$\\displaystyle{#1}$}"); // \def\iff{\DOTSB\;\Longleftrightarrow\;} +// \def\implies{\DOTSB\;\Longrightarrow\;} +// \def\impliedby{\DOTSB\;\Longleftarrow\;} + +defineMacro("\\iff", "\\DOTSB\\;\\Longleftrightarrow\\;"); +defineMacro("\\implies", "\\DOTSB\\;\\Longrightarrow\\;"); +defineMacro("\\impliedby", "\\DOTSB\\;\\Longleftarrow\\;"); // AMSMath's automatic \dots, based on \mdots@@ macro. + +const dotsByToken = { + ',': '\\dotsc', + '\\not': '\\dotsb', + // \keybin@ checks for the following: + '+': '\\dotsb', + '=': '\\dotsb', + '<': '\\dotsb', + '>': '\\dotsb', + '-': '\\dotsb', + '*': '\\dotsb', + ':': '\\dotsb', + // Symbols whose definition starts with \DOTSB: + '\\DOTSB': '\\dotsb', + '\\coprod': '\\dotsb', + '\\bigvee': '\\dotsb', + '\\bigwedge': '\\dotsb', + '\\biguplus': '\\dotsb', + '\\bigcap': '\\dotsb', + '\\bigcup': '\\dotsb', + '\\prod': '\\dotsb', + '\\sum': '\\dotsb', + '\\bigotimes': '\\dotsb', + '\\bigoplus': '\\dotsb', + '\\bigodot': '\\dotsb', + '\\bigsqcup': '\\dotsb', + '\\And': '\\dotsb', + '\\longrightarrow': '\\dotsb', + '\\Longrightarrow': '\\dotsb', + '\\longleftarrow': '\\dotsb', + '\\Longleftarrow': '\\dotsb', + '\\longleftrightarrow': '\\dotsb', + '\\Longleftrightarrow': '\\dotsb', + '\\mapsto': '\\dotsb', + '\\longmapsto': '\\dotsb', + '\\hookrightarrow': '\\dotsb', + '\\doteq': '\\dotsb', + // Symbols whose definition starts with \mathbin: + '\\mathbin': '\\dotsb', + // Symbols whose definition starts with \mathrel: + '\\mathrel': '\\dotsb', + '\\relbar': '\\dotsb', + '\\Relbar': '\\dotsb', + '\\xrightarrow': '\\dotsb', + '\\xleftarrow': '\\dotsb', + // Symbols whose definition starts with \DOTSI: + '\\DOTSI': '\\dotsi', + '\\int': '\\dotsi', + '\\oint': '\\dotsi', + '\\iint': '\\dotsi', + '\\iiint': '\\dotsi', + '\\iiiint': '\\dotsi', + '\\idotsint': '\\dotsi', + // Symbols whose definition starts with \DOTSX: + '\\DOTSX': '\\dotsx' +}; +defineMacro("\\dots", function (context) { + // TODO: If used in text mode, should expand to \textellipsis. + // However, in KaTeX, \textellipsis and \ldots behave the same + // (in text mode), and it's unlikely we'd see any of the math commands + // that affect the behavior of \dots when in text mode. So fine for now + // (until we support \ifmmode ... \else ... \fi). + let thedots = '\\dotso'; + const next = context.expandAfterFuture().text; + + if (next in dotsByToken) { + thedots = dotsByToken[next]; + } else if (next.substr(0, 4) === '\\not') { + thedots = '\\dotsb'; + } else if (next in symbols.math) { + if (utils.contains(['bin', 'rel'], symbols.math[next].group)) { + thedots = '\\dotsb'; + } + } + + return thedots; +}); +const spaceAfterDots = { + // \rightdelim@ checks for the following: + ')': true, + ']': true, + '\\rbrack': true, + '\\}': true, + '\\rbrace': true, + '\\rangle': true, + '\\rceil': true, + '\\rfloor': true, + '\\rgroup': true, + '\\rmoustache': true, + '\\right': true, + '\\bigr': true, + '\\biggr': true, + '\\Bigr': true, + '\\Biggr': true, + // \extra@ also tests for the following: + '$': true, + // \extrap@ checks for the following: + ';': true, + '.': true, + ',': true +}; +defineMacro("\\dotso", function (context) { + const next = context.future().text; + + if (next in spaceAfterDots) { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\dotsc", function (context) { + const next = context.future().text; // \dotsc uses \extra@ but not \extrap@, instead specially checking for + // ';' and '.', but doesn't check for ','. + + if (next in spaceAfterDots && next !== ',') { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\cdots", function (context) { + const next = context.future().text; + + if (next in spaceAfterDots) { + return "\\@cdots\\,"; + } else { + return "\\@cdots"; + } +}); +defineMacro("\\dotsb", "\\cdots"); +defineMacro("\\dotsm", "\\cdots"); +defineMacro("\\dotsi", "\\!\\cdots"); // amsmath doesn't actually define \dotsx, but \dots followed by a macro +// starting with \DOTSX implies \dotso, and then \extra@ detects this case +// and forces the added `\,`. + +defineMacro("\\dotsx", "\\ldots\\,"); // \let\DOTSI\relax +// \let\DOTSB\relax +// \let\DOTSX\relax + +defineMacro("\\DOTSI", "\\relax"); +defineMacro("\\DOTSB", "\\relax"); +defineMacro("\\DOTSX", "\\relax"); // Spacing, based on amsmath.sty's override of LaTeX defaults +// \DeclareRobustCommand{\tmspace}[3]{% +// \ifmmode\mskip#1#2\else\kern#1#3\fi\relax} + +defineMacro("\\tmspace", "\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"); // \renewcommand{\,}{\tmspace+\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\,", "\\tmspace+{3mu}{.1667em}"); // \let\thinspace\, + +defineMacro("\\thinspace", "\\,"); // \def\>{\mskip\medmuskip} +// \renewcommand{\:}{\tmspace+\medmuskip{.2222em}} +// TODO: \> and math mode of \: should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\>", "\\mskip{4mu}"); +defineMacro("\\:", "\\tmspace+{4mu}{.2222em}"); // \let\medspace\: + +defineMacro("\\medspace", "\\:"); // \renewcommand{\;}{\tmspace+\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip = 5mu plus 5mu + +defineMacro("\\;", "\\tmspace+{5mu}{.2777em}"); // \let\thickspace\; + +defineMacro("\\thickspace", "\\;"); // \renewcommand{\!}{\tmspace-\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\!", "\\tmspace-{3mu}{.1667em}"); // \let\negthinspace\! + +defineMacro("\\negthinspace", "\\!"); // \newcommand{\negmedspace}{\tmspace-\medmuskip{.2222em}} +// TODO: math mode should use \medmuskip + +defineMacro("\\negmedspace", "\\tmspace-{4mu}{.2222em}"); // \newcommand{\negthickspace}{\tmspace-\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip + +defineMacro("\\negthickspace", "\\tmspace-{5mu}{.277em}"); // \def\enspace{\kern.5em } + +defineMacro("\\enspace", "\\kern.5em "); // \def\enskip{\hskip.5em\relax} + +defineMacro("\\enskip", "\\hskip.5em\\relax"); // \def\quad{\hskip1em\relax} + +defineMacro("\\quad", "\\hskip1em\\relax"); // \def\qquad{\hskip2em\relax} + +defineMacro("\\qquad", "\\hskip2em\\relax"); // \tag@in@display form of \tag + +defineMacro("\\tag", "\\@ifstar\\tag@literal\\tag@paren"); +defineMacro("\\tag@paren", "\\tag@literal{({#1})}"); +defineMacro("\\tag@literal", context => { + if (context.macros.get("\\df@tag")) { + throw new ParseError("Multiple \\tag"); + } + + return "\\gdef\\df@tag{\\text{#1}}"; +}); // \renewcommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin +// {\operator@font mod}\penalty900 +// \mkern5mu\nonscript\mskip-\medmuskip} +// \newcommand{\pod}[1]{\allowbreak +// \if@display\mkern18mu\else\mkern8mu\fi(#1)} +// \renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}} +// \newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu +// \else\mkern12mu\fi{\operator@font mod}\,\,#1} +// TODO: math mode should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\bmod", "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}" + "\\mathbin{\\rm mod}" + "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"); +defineMacro("\\pod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"); +defineMacro("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}"); +defineMacro("\\mod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}" + "{\\rm mod}\\,\\,#1"); // \pmb -- A simulation of bold. +// The version in ambsy.sty works by typesetting three copies of the argument +// with small offsets. We use two copies. We omit the vertical offset because +// of rendering problems that makeVList encounters in Safari. + +defineMacro("\\pmb", "\\html@mathml{" + "\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}" + "{\\mathbf{#1}}"); ////////////////////////////////////////////////////////////////////// +// LaTeX source2e +// \\ defaults to \newline, but changes to \cr within array environment + +defineMacro("\\\\", "\\newline"); // \def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@} +// TODO: Doesn't normally work in math mode because \@ fails. KaTeX doesn't +// support \@ yet, so that's omitted, and we add \text so that the result +// doesn't look funny in math mode. + +defineMacro("\\TeX", "\\textrm{\\html@mathml{" + "T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX" + "}{TeX}}"); // \DeclareRobustCommand{\LaTeX}{L\kern-.36em% +// {\sbox\z@ T% +// \vbox to\ht\z@{\hbox{\check@mathfonts +// \fontsize\sf@size\z@ +// \math@fontsfalse\selectfont +// A}% +// \vss}% +// }% +// \kern-.15em% +// \TeX} +// This code aligns the top of the A with the T (from the perspective of TeX's +// boxes, though visually the A appears to extend above slightly). +// We compute the corresponding \raisebox when A is rendered in \normalsize +// \scriptstyle, which has a scale factor of 0.7 (see Options.js). + +const latexRaiseA = metricMap['Main-Regular']["T".charCodeAt(0)][1] - 0.7 * metricMap['Main-Regular']["A".charCodeAt(0)][1] + "em"; +defineMacro("\\LaTeX", "\\textrm{\\html@mathml{" + `L\\kern-.36em\\raisebox{${latexRaiseA}}{\\scriptstyle A}` + "\\kern-.15em\\TeX}{LaTeX}}"); // New KaTeX logo based on tweaking LaTeX logo + +defineMacro("\\KaTeX", "\\textrm{\\html@mathml{" + `K\\kern-.17em\\raisebox{${latexRaiseA}}{\\scriptstyle A}` + "\\kern-.15em\\TeX}{KaTeX}}"); // \DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace} +// \def\@hspace#1{\hskip #1\relax} +// \def\@hspacer#1{\vrule \@width\z@\nobreak +// \hskip #1\hskip \z@skip} + +defineMacro("\\hspace", "\\@ifstar\\@hspacer\\@hspace"); +defineMacro("\\@hspace", "\\hskip #1\\relax"); +defineMacro("\\@hspacer", "\\rule{0pt}{0pt}\\hskip #1\\relax"); ////////////////////////////////////////////////////////////////////// +// mathtools.sty +//\providecommand\ordinarycolon{:} + +defineMacro("\\ordinarycolon", ":"); //\def\vcentcolon{\mathrel{\mathop\ordinarycolon}} +//TODO(edemaine): Not yet centered. Fix via \raisebox or #726 + +defineMacro("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}"); // \providecommand*\dblcolon{\vcentcolon\mathrel{\mkern-.9mu}\vcentcolon} + +defineMacro("\\dblcolon", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}" + "{\\mathop{\\char\"2237}}"); // \providecommand*\coloneqq{\vcentcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\coloneqq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2254}}"); // ≔ +// \providecommand*\Coloneqq{\dblcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\Coloneqq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2237\\char\"3d}}"); // \providecommand*\coloneq{\vcentcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\coloneq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"3a\\char\"2212}}"); // \providecommand*\Coloneq{\dblcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\Coloneq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"2237\\char\"2212}}"); // \providecommand*\eqqcolon{=\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2255}}"); // ≕ +// \providecommand*\Eqqcolon{=\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"3d\\char\"2237}}"); // \providecommand*\eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2239}}"); // \providecommand*\Eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"2212\\char\"2237}}"); // \providecommand*\colonapprox{\vcentcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\colonapprox", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"3a\\char\"2248}}"); // \providecommand*\Colonapprox{\dblcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\Colonapprox", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"2237\\char\"2248}}"); // \providecommand*\colonsim{\vcentcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\colonsim", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"3a\\char\"223c}}"); // \providecommand*\Colonsim{\dblcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\Colonsim", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"2237\\char\"223c}}"); // Some Unicode characters are implemented with macros to mathtools functions. + +defineMacro("\u2237", "\\dblcolon"); // :: + +defineMacro("\u2239", "\\eqcolon"); // -: + +defineMacro("\u2254", "\\coloneqq"); // := + +defineMacro("\u2255", "\\eqqcolon"); // =: + +defineMacro("\u2A74", "\\Coloneqq"); // ::= +////////////////////////////////////////////////////////////////////// +// colonequals.sty +// Alternate names for mathtools's macros: + +defineMacro("\\ratio", "\\vcentcolon"); +defineMacro("\\coloncolon", "\\dblcolon"); +defineMacro("\\colonequals", "\\coloneqq"); +defineMacro("\\coloncolonequals", "\\Coloneqq"); +defineMacro("\\equalscolon", "\\eqqcolon"); +defineMacro("\\equalscoloncolon", "\\Eqqcolon"); +defineMacro("\\colonminus", "\\coloneq"); +defineMacro("\\coloncolonminus", "\\Coloneq"); +defineMacro("\\minuscolon", "\\eqcolon"); +defineMacro("\\minuscoloncolon", "\\Eqcolon"); // \colonapprox name is same in mathtools and colonequals. + +defineMacro("\\coloncolonapprox", "\\Colonapprox"); // \colonsim name is same in mathtools and colonequals. + +defineMacro("\\coloncolonsim", "\\Colonsim"); // Additional macros, implemented by analogy with mathtools definitions: + +defineMacro("\\simcolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\simcoloncolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"); +defineMacro("\\approxcolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\approxcoloncolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"); // Present in newtxmath, pxfonts and txfonts + +defineMacro("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}"); +defineMacro("\\limsup", "\\DOTSB\\operatorname*{lim\\,sup}"); +defineMacro("\\liminf", "\\DOTSB\\operatorname*{lim\\,inf}"); ////////////////////////////////////////////////////////////////////// +// MathML alternates for KaTeX glyphs in the Unicode private area + +defineMacro("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{\u2269}"); +defineMacro("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{\u2268}"); +defineMacro("\\ngeqq", "\\html@mathml{\\@ngeqq}{\u2271}"); +defineMacro("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{\u2271}"); +defineMacro("\\nleqq", "\\html@mathml{\\@nleqq}{\u2270}"); +defineMacro("\\nleqslant", "\\html@mathml{\\@nleqslant}{\u2270}"); +defineMacro("\\nshortmid", "\\html@mathml{\\@nshortmid}{∤}"); +defineMacro("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{∦}"); +defineMacro("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{\u2288}"); +defineMacro("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{\u2289}"); +defineMacro("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{⊊}"); +defineMacro("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{⫋}"); +defineMacro("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{⊋}"); +defineMacro("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{⫌}"); +defineMacro("\\imath", "\\html@mathml{\\@imath}{\u0131}"); +defineMacro("\\jmath", "\\html@mathml{\\@jmath}{\u0237}"); ////////////////////////////////////////////////////////////////////// +// stmaryrd and semantic +// The stmaryrd and semantic packages render the next four items by calling a +// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros. + +defineMacro("\\llbracket", "\\html@mathml{" + "\\mathopen{[\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u27e6}}"); +defineMacro("\\rrbracket", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu]}}" + "{\\mathclose{\\char`\u27e7}}"); +defineMacro("\u27e6", "\\llbracket"); // blackboard bold [ + +defineMacro("\u27e7", "\\rrbracket"); // blackboard bold ] + +defineMacro("\\lBrace", "\\html@mathml{" + "\\mathopen{\\{\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u2983}}"); +defineMacro("\\rBrace", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu\\}}}" + "{\\mathclose{\\char`\u2984}}"); +defineMacro("\u2983", "\\lBrace"); // blackboard bold { + +defineMacro("\u2984", "\\rBrace"); // blackboard bold } +// TODO: Create variable sized versions of the last two items. I believe that +// will require new font glyphs. +// The stmaryrd function `\minuso` provides a "Plimsoll" symbol that +// superimposes the characters \circ and \mathminus. Used in chemistry. + +defineMacro("\\minuso", "\\mathbin{\\html@mathml{" + "{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}" + "{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}" + "{\\char`⦵}}"); +defineMacro("⦵", "\\minuso"); ////////////////////////////////////////////////////////////////////// +// texvc.sty +// The texvc package contains macros available in mediawiki pages. +// We omit the functions deprecated at +// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax +// We also omit texvc's \O, which conflicts with \text{\O} + +defineMacro("\\darr", "\\downarrow"); +defineMacro("\\dArr", "\\Downarrow"); +defineMacro("\\Darr", "\\Downarrow"); +defineMacro("\\lang", "\\langle"); +defineMacro("\\rang", "\\rangle"); +defineMacro("\\uarr", "\\uparrow"); +defineMacro("\\uArr", "\\Uparrow"); +defineMacro("\\Uarr", "\\Uparrow"); +defineMacro("\\N", "\\mathbb{N}"); +defineMacro("\\R", "\\mathbb{R}"); +defineMacro("\\Z", "\\mathbb{Z}"); +defineMacro("\\alef", "\\aleph"); +defineMacro("\\alefsym", "\\aleph"); +defineMacro("\\Alpha", "\\mathrm{A}"); +defineMacro("\\Beta", "\\mathrm{B}"); +defineMacro("\\bull", "\\bullet"); +defineMacro("\\Chi", "\\mathrm{X}"); +defineMacro("\\clubs", "\\clubsuit"); +defineMacro("\\cnums", "\\mathbb{C}"); +defineMacro("\\Complex", "\\mathbb{C}"); +defineMacro("\\Dagger", "\\ddagger"); +defineMacro("\\diamonds", "\\diamondsuit"); +defineMacro("\\empty", "\\emptyset"); +defineMacro("\\Epsilon", "\\mathrm{E}"); +defineMacro("\\Eta", "\\mathrm{H}"); +defineMacro("\\exist", "\\exists"); +defineMacro("\\harr", "\\leftrightarrow"); +defineMacro("\\hArr", "\\Leftrightarrow"); +defineMacro("\\Harr", "\\Leftrightarrow"); +defineMacro("\\hearts", "\\heartsuit"); +defineMacro("\\image", "\\Im"); +defineMacro("\\infin", "\\infty"); +defineMacro("\\Iota", "\\mathrm{I}"); +defineMacro("\\isin", "\\in"); +defineMacro("\\Kappa", "\\mathrm{K}"); +defineMacro("\\larr", "\\leftarrow"); +defineMacro("\\lArr", "\\Leftarrow"); +defineMacro("\\Larr", "\\Leftarrow"); +defineMacro("\\lrarr", "\\leftrightarrow"); +defineMacro("\\lrArr", "\\Leftrightarrow"); +defineMacro("\\Lrarr", "\\Leftrightarrow"); +defineMacro("\\Mu", "\\mathrm{M}"); +defineMacro("\\natnums", "\\mathbb{N}"); +defineMacro("\\Nu", "\\mathrm{N}"); +defineMacro("\\Omicron", "\\mathrm{O}"); +defineMacro("\\plusmn", "\\pm"); +defineMacro("\\rarr", "\\rightarrow"); +defineMacro("\\rArr", "\\Rightarrow"); +defineMacro("\\Rarr", "\\Rightarrow"); +defineMacro("\\real", "\\Re"); +defineMacro("\\reals", "\\mathbb{R}"); +defineMacro("\\Reals", "\\mathbb{R}"); +defineMacro("\\Rho", "\\mathrm{P}"); +defineMacro("\\sdot", "\\cdot"); +defineMacro("\\sect", "\\S"); +defineMacro("\\spades", "\\spadesuit"); +defineMacro("\\sub", "\\subset"); +defineMacro("\\sube", "\\subseteq"); +defineMacro("\\supe", "\\supseteq"); +defineMacro("\\Tau", "\\mathrm{T}"); +defineMacro("\\thetasym", "\\vartheta"); // TODO: defineMacro("\\varcoppa", "\\\mbox{\\coppa}"); + +defineMacro("\\weierp", "\\wp"); +defineMacro("\\Zeta", "\\mathrm{Z}"); ////////////////////////////////////////////////////////////////////// +// statmath.sty +// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf + +defineMacro("\\argmin", "\\DOTSB\\operatorname*{arg\\,min}"); +defineMacro("\\argmax", "\\DOTSB\\operatorname*{arg\\,max}"); +defineMacro("\\plim", "\\DOTSB\\mathop{\\operatorname{plim}}\\limits"); ////////////////////////////////////////////////////////////////////// +// braket.sty +// http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/braket/braket.pdf + +defineMacro("\\bra", "\\mathinner{\\langle{#1}|}"); +defineMacro("\\ket", "\\mathinner{|{#1}\\rangle}"); +defineMacro("\\braket", "\\mathinner{\\langle{#1}\\rangle}"); +defineMacro("\\Bra", "\\left\\langle#1\\right|"); +defineMacro("\\Ket", "\\left|#1\\right\\rangle"); // Custom Khan Academy colors, should be moved to an optional package + +defineMacro("\\blue", "\\textcolor{##6495ed}{#1}"); +defineMacro("\\orange", "\\textcolor{##ffa500}{#1}"); +defineMacro("\\pink", "\\textcolor{##ff00af}{#1}"); +defineMacro("\\red", "\\textcolor{##df0030}{#1}"); +defineMacro("\\green", "\\textcolor{##28ae7b}{#1}"); +defineMacro("\\gray", "\\textcolor{gray}{#1}"); +defineMacro("\\purple", "\\textcolor{##9d38bd}{#1}"); +defineMacro("\\blueA", "\\textcolor{##ccfaff}{#1}"); +defineMacro("\\blueB", "\\textcolor{##80f6ff}{#1}"); +defineMacro("\\blueC", "\\textcolor{##63d9ea}{#1}"); +defineMacro("\\blueD", "\\textcolor{##11accd}{#1}"); +defineMacro("\\blueE", "\\textcolor{##0c7f99}{#1}"); +defineMacro("\\tealA", "\\textcolor{##94fff5}{#1}"); +defineMacro("\\tealB", "\\textcolor{##26edd5}{#1}"); +defineMacro("\\tealC", "\\textcolor{##01d1c1}{#1}"); +defineMacro("\\tealD", "\\textcolor{##01a995}{#1}"); +defineMacro("\\tealE", "\\textcolor{##208170}{#1}"); +defineMacro("\\greenA", "\\textcolor{##b6ffb0}{#1}"); +defineMacro("\\greenB", "\\textcolor{##8af281}{#1}"); +defineMacro("\\greenC", "\\textcolor{##74cf70}{#1}"); +defineMacro("\\greenD", "\\textcolor{##1fab54}{#1}"); +defineMacro("\\greenE", "\\textcolor{##0d923f}{#1}"); +defineMacro("\\goldA", "\\textcolor{##ffd0a9}{#1}"); +defineMacro("\\goldB", "\\textcolor{##ffbb71}{#1}"); +defineMacro("\\goldC", "\\textcolor{##ff9c39}{#1}"); +defineMacro("\\goldD", "\\textcolor{##e07d10}{#1}"); +defineMacro("\\goldE", "\\textcolor{##a75a05}{#1}"); +defineMacro("\\redA", "\\textcolor{##fca9a9}{#1}"); +defineMacro("\\redB", "\\textcolor{##ff8482}{#1}"); +defineMacro("\\redC", "\\textcolor{##f9685d}{#1}"); +defineMacro("\\redD", "\\textcolor{##e84d39}{#1}"); +defineMacro("\\redE", "\\textcolor{##bc2612}{#1}"); +defineMacro("\\maroonA", "\\textcolor{##ffbde0}{#1}"); +defineMacro("\\maroonB", "\\textcolor{##ff92c6}{#1}"); +defineMacro("\\maroonC", "\\textcolor{##ed5fa6}{#1}"); +defineMacro("\\maroonD", "\\textcolor{##ca337c}{#1}"); +defineMacro("\\maroonE", "\\textcolor{##9e034e}{#1}"); +defineMacro("\\purpleA", "\\textcolor{##ddd7ff}{#1}"); +defineMacro("\\purpleB", "\\textcolor{##c6b9fc}{#1}"); +defineMacro("\\purpleC", "\\textcolor{##aa87ff}{#1}"); +defineMacro("\\purpleD", "\\textcolor{##7854ab}{#1}"); +defineMacro("\\purpleE", "\\textcolor{##543b78}{#1}"); +defineMacro("\\mintA", "\\textcolor{##f5f9e8}{#1}"); +defineMacro("\\mintB", "\\textcolor{##edf2df}{#1}"); +defineMacro("\\mintC", "\\textcolor{##e0e5cc}{#1}"); +defineMacro("\\grayA", "\\textcolor{##f6f7f7}{#1}"); +defineMacro("\\grayB", "\\textcolor{##f0f1f2}{#1}"); +defineMacro("\\grayC", "\\textcolor{##e3e5e6}{#1}"); +defineMacro("\\grayD", "\\textcolor{##d6d8da}{#1}"); +defineMacro("\\grayE", "\\textcolor{##babec2}{#1}"); +defineMacro("\\grayF", "\\textcolor{##888d93}{#1}"); +defineMacro("\\grayG", "\\textcolor{##626569}{#1}"); +defineMacro("\\grayH", "\\textcolor{##3b3e40}{#1}"); +defineMacro("\\grayI", "\\textcolor{##21242c}{#1}"); +defineMacro("\\kaBlue", "\\textcolor{##314453}{#1}"); +defineMacro("\\kaGreen", "\\textcolor{##71B307}{#1}"); + +/** + * This file contains the “gullet” where macros are expanded + * until only non-macro tokens remain. + */ +// List of commands that act like macros but aren't defined as a macro, +// function, or symbol. Used in `isDefined`. +const implicitCommands = { + "\\relax": true, + // MacroExpander.js + "^": true, + // Parser.js + "_": true, + // Parser.js + "\\limits": true, + // Parser.js + "\\nolimits": true // Parser.js + +}; +class MacroExpander { + constructor(input, settings, mode) { + this.settings = void 0; + this.expansionCount = void 0; + this.lexer = void 0; + this.macros = void 0; + this.stack = void 0; + this.mode = void 0; + this.settings = settings; + this.expansionCount = 0; + this.feed(input); // Make new global namespace + + this.macros = new Namespace(builtinMacros, settings.macros); + this.mode = mode; + this.stack = []; // contains tokens in REVERSE order + } + /** + * Feed a new input string to the same MacroExpander + * (with existing macros etc.). + */ + + + feed(input) { + this.lexer = new Lexer(input, this.settings); + } + /** + * Switches between "text" and "math" modes. + */ + + + switchMode(newMode) { + this.mode = newMode; + } + /** + * Start a new group nesting within all namespaces. + */ + + + beginGroup() { + this.macros.beginGroup(); + } + /** + * End current group nesting within all namespaces. + */ + + + endGroup() { + this.macros.endGroup(); + } + /** + * Returns the topmost token on the stack, without expanding it. + * Similar in behavior to TeX's `\futurelet`. + */ + + + future() { + if (this.stack.length === 0) { + this.pushToken(this.lexer.lex()); + } + + return this.stack[this.stack.length - 1]; + } + /** + * Remove and return the next unexpanded token. + */ + + + popToken() { + this.future(); // ensure non-empty stack + + return this.stack.pop(); + } + /** + * Add a given token to the token stack. In particular, this get be used + * to put back a token returned from one of the other methods. + */ + + + pushToken(token) { + this.stack.push(token); + } + /** + * Append an array of tokens to the token stack. + */ + + + pushTokens(tokens) { + this.stack.push(...tokens); + } + /** + * Consume all following space tokens, without expansion. + */ + + + consumeSpaces() { + for (;;) { + const token = this.future(); + + if (token.text === " ") { + this.stack.pop(); + } else { + break; + } + } + } + /** + * Consume the specified number of arguments from the token stream, + * and return the resulting array of arguments. + */ + + + consumeArgs(numArgs) { + const args = []; // obtain arguments, either single token or balanced {…} group + + for (let i = 0; i < numArgs; ++i) { + this.consumeSpaces(); // ignore spaces before each argument + + const startOfArg = this.popToken(); + + if (startOfArg.text === "{") { + const arg = []; + let depth = 1; + + while (depth !== 0) { + const tok = this.popToken(); + arg.push(tok); + + if (tok.text === "{") { + ++depth; + } else if (tok.text === "}") { + --depth; + } else if (tok.text === "EOF") { + throw new ParseError("End of input in macro argument", startOfArg); + } + } + + arg.pop(); // remove last } + + arg.reverse(); // like above, to fit in with stack order + + args[i] = arg; + } else if (startOfArg.text === "EOF") { + throw new ParseError("End of input expecting macro argument"); + } else { + args[i] = [startOfArg]; + } + } + + return args; + } + /** + * Expand the next token only once if possible. + * + * If the token is expanded, the resulting tokens will be pushed onto + * the stack in reverse order and will be returned as an array, + * also in reverse order. + * + * If not, the next token will be returned without removing it + * from the stack. This case can be detected by a `Token` return value + * instead of an `Array` return value. + * + * In either case, the next token will be on the top of the stack, + * or the stack will be empty. + * + * Used to implement `expandAfterFuture` and `expandNextToken`. + * + * At the moment, macro expansion doesn't handle delimited macros, + * i.e. things like those defined by \def\foo#1\end{…}. + * See the TeX book page 202ff. for details on how those should behave. + * + * If expandableOnly, only expandable tokens are expanded and + * an undefined control sequence results in an error. + */ + + + expandOnce(expandableOnly) { + const topToken = this.popToken(); + const name = topToken.text; + const expansion = !topToken.noexpand ? this._getExpansion(name) : null; + + if (expansion == null || expandableOnly && expansion.unexpandable) { + if (expandableOnly && expansion == null && name[0] === "\\" && !this.isDefined(name)) { + throw new ParseError("Undefined control sequence: " + name); + } + + this.pushToken(topToken); + return topToken; + } + + this.expansionCount++; + + if (this.expansionCount > this.settings.maxExpand) { + throw new ParseError("Too many expansions: infinite loop or " + "need to increase maxExpand setting"); + } + + let tokens = expansion.tokens; + + if (expansion.numArgs) { + const args = this.consumeArgs(expansion.numArgs); // paste arguments in place of the placeholders + + tokens = tokens.slice(); // make a shallow copy + + for (let i = tokens.length - 1; i >= 0; --i) { + let tok = tokens[i]; + + if (tok.text === "#") { + if (i === 0) { + throw new ParseError("Incomplete placeholder at end of macro body", tok); + } + + tok = tokens[--i]; // next token on stack + + if (tok.text === "#") { + // ## → # + tokens.splice(i + 1, 1); // drop first # + } else if (/^[1-9]$/.test(tok.text)) { + // replace the placeholder with the indicated argument + tokens.splice(i, 2, ...args[+tok.text - 1]); + } else { + throw new ParseError("Not a valid argument number", tok); + } + } + } + } // Concatenate expansion onto top of stack. + + + this.pushTokens(tokens); + return tokens; + } + /** + * Expand the next token only once (if possible), and return the resulting + * top token on the stack (without removing anything from the stack). + * Similar in behavior to TeX's `\expandafter\futurelet`. + * Equivalent to expandOnce() followed by future(). + */ + + + expandAfterFuture() { + this.expandOnce(); + return this.future(); + } + /** + * Recursively expand first token, then return first non-expandable token. + */ + + + expandNextToken() { + for (;;) { + const expanded = this.expandOnce(); // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token) { + // \relax stops the expansion, but shouldn't get returned (a + // null return value couldn't get implemented as a function). + // the token after \noexpand is interpreted as if its meaning + // were ‘\relax’ + if (expanded.text === "\\relax" || expanded.treatAsRelax) { + this.stack.pop(); + } else { + return this.stack.pop(); // === expanded + } + } + } // Flow unable to figure out that this pathway is impossible. + // https://github.com/facebook/flow/issues/4808 + + + throw new Error(); // eslint-disable-line no-unreachable + } + /** + * Fully expand the given macro name and return the resulting list of + * tokens, or return `undefined` if no such macro is defined. + */ + + + expandMacro(name) { + return this.macros.has(name) ? this.expandTokens([new Token(name)]) : undefined; + } + /** + * Fully expand the given token stream and return the resulting list of tokens + */ + + + expandTokens(tokens) { + const output = []; + const oldStackLength = this.stack.length; + this.pushTokens(tokens); + + while (this.stack.length > oldStackLength) { + const expanded = this.expandOnce(true); // expand only expandable tokens + // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token) { + if (expanded.treatAsRelax) { + // the expansion of \noexpand is the token itself + expanded.noexpand = false; + expanded.treatAsRelax = false; + } + + output.push(this.stack.pop()); + } + } + + return output; + } + /** + * Fully expand the given macro name and return the result as a string, + * or return `undefined` if no such macro is defined. + */ + + + expandMacroAsText(name) { + const tokens = this.expandMacro(name); + + if (tokens) { + return tokens.map(token => token.text).join(""); + } else { + return tokens; + } + } + /** + * Returns the expanded macro as a reversed array of tokens and a macro + * argument count. Or returns `null` if no such macro. + */ + + + _getExpansion(name) { + const definition = this.macros.get(name); + + if (definition == null) { + // mainly checking for undefined here + return definition; + } + + const expansion = typeof definition === "function" ? definition(this) : definition; + + if (typeof expansion === "string") { + let numArgs = 0; + + if (expansion.indexOf("#") !== -1) { + const stripped = expansion.replace(/##/g, ""); + + while (stripped.indexOf("#" + (numArgs + 1)) !== -1) { + ++numArgs; + } + } + + const bodyLexer = new Lexer(expansion, this.settings); + const tokens = []; + let tok = bodyLexer.lex(); + + while (tok.text !== "EOF") { + tokens.push(tok); + tok = bodyLexer.lex(); + } + + tokens.reverse(); // to fit in with stack using push and pop + + const expanded = { + tokens, + numArgs + }; + return expanded; + } + + return expansion; + } + /** + * Determine whether a command is currently "defined" (has some + * functionality), meaning that it's a macro (in the current group), + * a function, a symbol, or one of the special commands listed in + * `implicitCommands`. + */ + + + isDefined(name) { + return this.macros.has(name) || functions.hasOwnProperty(name) || symbols.math.hasOwnProperty(name) || symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name); + } + /** + * Determine whether a command is expandable. + */ + + + isExpandable(name) { + const macro = this.macros.get(name); + return macro != null ? typeof macro === "string" || typeof macro === "function" || !macro.unexpandable // TODO(ylem): #2085 + : functions.hasOwnProperty(name) + /* && !functions[name].primitive*/ + ; + } + +} + +/* eslint no-constant-condition:0 */ + +const unicodeAccents = { + "́": { + "text": "\\'", + "math": "\\acute" + }, + "̀": { + "text": "\\`", + "math": "\\grave" + }, + "̈": { + "text": "\\\"", + "math": "\\ddot" + }, + "̃": { + "text": "\\~", + "math": "\\tilde" + }, + "̄": { + "text": "\\=", + "math": "\\bar" + }, + "̆": { + "text": "\\u", + "math": "\\breve" + }, + "̌": { + "text": "\\v", + "math": "\\check" + }, + "̂": { + "text": "\\^", + "math": "\\hat" + }, + "̇": { + "text": "\\.", + "math": "\\dot" + }, + "̊": { + "text": "\\r", + "math": "\\mathring" + }, + "̋": { + "text": "\\H" + } +}; +const unicodeSymbols = { + "á": "á", + "à": "à", + "ä": "ä", + "ǟ": "ǟ", + "ã": "ã", + "ā": "ā", + "ă": "ă", + "ắ": "ắ", + "ằ": "ằ", + "ẵ": "ẵ", + "ǎ": "ǎ", + "â": "â", + "ấ": "ấ", + "ầ": "ầ", + "ẫ": "ẫ", + "ȧ": "ȧ", + "ǡ": "ǡ", + "å": "å", + "ǻ": "ǻ", + "ḃ": "ḃ", + "ć": "ć", + "č": "č", + "ĉ": "ĉ", + "ċ": "ċ", + "ď": "ď", + "ḋ": "ḋ", + "é": "é", + "è": "è", + "ë": "ë", + "ẽ": "ẽ", + "ē": "ē", + "ḗ": "ḗ", + "ḕ": "ḕ", + "ĕ": "ĕ", + "ě": "ě", + "ê": "ê", + "ế": "ế", + "ề": "ề", + "ễ": "ễ", + "ė": "ė", + "ḟ": "ḟ", + "ǵ": "ǵ", + "ḡ": "ḡ", + "ğ": "ğ", + "ǧ": "ǧ", + "ĝ": "ĝ", + "ġ": "ġ", + "ḧ": "ḧ", + "ȟ": "ȟ", + "ĥ": "ĥ", + "ḣ": "ḣ", + "í": "í", + "ì": "ì", + "ï": "ï", + "ḯ": "ḯ", + "ĩ": "ĩ", + "ī": "ī", + "ĭ": "ĭ", + "ǐ": "ǐ", + "î": "î", + "ǰ": "ǰ", + "ĵ": "ĵ", + "ḱ": "ḱ", + "ǩ": "ǩ", + "ĺ": "ĺ", + "ľ": "ľ", + "ḿ": "ḿ", + "ṁ": "ṁ", + "ń": "ń", + "ǹ": "ǹ", + "ñ": "ñ", + "ň": "ň", + "ṅ": "ṅ", + "ó": "ó", + "ò": "ò", + "ö": "ö", + "ȫ": "ȫ", + "õ": "õ", + "ṍ": "ṍ", + "ṏ": "ṏ", + "ȭ": "ȭ", + "ō": "ō", + "ṓ": "ṓ", + "ṑ": "ṑ", + "ŏ": "ŏ", + "ǒ": "ǒ", + "ô": "ô", + "ố": "ố", + "ồ": "ồ", + "ỗ": "ỗ", + "ȯ": "ȯ", + "ȱ": "ȱ", + "ő": "ő", + "ṕ": "ṕ", + "ṗ": "ṗ", + "ŕ": "ŕ", + "ř": "ř", + "ṙ": "ṙ", + "ś": "ś", + "ṥ": "ṥ", + "š": "š", + "ṧ": "ṧ", + "ŝ": "ŝ", + "ṡ": "ṡ", + "ẗ": "ẗ", + "ť": "ť", + "ṫ": "ṫ", + "ú": "ú", + "ù": "ù", + "ü": "ü", + "ǘ": "ǘ", + "ǜ": "ǜ", + "ǖ": "ǖ", + "ǚ": "ǚ", + "ũ": "ũ", + "ṹ": "ṹ", + "ū": "ū", + "ṻ": "ṻ", + "ŭ": "ŭ", + "ǔ": "ǔ", + "û": "û", + "ů": "ů", + "ű": "ű", + "ṽ": "ṽ", + "ẃ": "ẃ", + "ẁ": "ẁ", + "ẅ": "ẅ", + "ŵ": "ŵ", + "ẇ": "ẇ", + "ẘ": "ẘ", + "ẍ": "ẍ", + "ẋ": "ẋ", + "ý": "ý", + "ỳ": "ỳ", + "ÿ": "ÿ", + "ỹ": "ỹ", + "ȳ": "ȳ", + "ŷ": "ŷ", + "ẏ": "ẏ", + "ẙ": "ẙ", + "ź": "ź", + "ž": "ž", + "ẑ": "ẑ", + "ż": "ż", + "Á": "Á", + "À": "À", + "Ä": "Ä", + "Ǟ": "Ǟ", + "Ã": "Ã", + "Ā": "Ā", + "Ă": "Ă", + "Ắ": "Ắ", + "Ằ": "Ằ", + "Ẵ": "Ẵ", + "Ǎ": "Ǎ", + "Â": "Â", + "Ấ": "Ấ", + "Ầ": "Ầ", + "Ẫ": "Ẫ", + "Ȧ": "Ȧ", + "Ǡ": "Ǡ", + "Å": "Å", + "Ǻ": "Ǻ", + "Ḃ": "Ḃ", + "Ć": "Ć", + "Č": "Č", + "Ĉ": "Ĉ", + "Ċ": "Ċ", + "Ď": "Ď", + "Ḋ": "Ḋ", + "É": "É", + "È": "È", + "Ë": "Ë", + "Ẽ": "Ẽ", + "Ē": "Ē", + "Ḗ": "Ḗ", + "Ḕ": "Ḕ", + "Ĕ": "Ĕ", + "Ě": "Ě", + "Ê": "Ê", + "Ế": "Ế", + "Ề": "Ề", + "Ễ": "Ễ", + "Ė": "Ė", + "Ḟ": "Ḟ", + "Ǵ": "Ǵ", + "Ḡ": "Ḡ", + "Ğ": "Ğ", + "Ǧ": "Ǧ", + "Ĝ": "Ĝ", + "Ġ": "Ġ", + "Ḧ": "Ḧ", + "Ȟ": "Ȟ", + "Ĥ": "Ĥ", + "Ḣ": "Ḣ", + "Í": "Í", + "Ì": "Ì", + "Ï": "Ï", + "Ḯ": "Ḯ", + "Ĩ": "Ĩ", + "Ī": "Ī", + "Ĭ": "Ĭ", + "Ǐ": "Ǐ", + "Î": "Î", + "İ": "İ", + "Ĵ": "Ĵ", + "Ḱ": "Ḱ", + "Ǩ": "Ǩ", + "Ĺ": "Ĺ", + "Ľ": "Ľ", + "Ḿ": "Ḿ", + "Ṁ": "Ṁ", + "Ń": "Ń", + "Ǹ": "Ǹ", + "Ñ": "Ñ", + "Ň": "Ň", + "Ṅ": "Ṅ", + "Ó": "Ó", + "Ò": "Ò", + "Ö": "Ö", + "Ȫ": "Ȫ", + "Õ": "Õ", + "Ṍ": "Ṍ", + "Ṏ": "Ṏ", + "Ȭ": "Ȭ", + "Ō": "Ō", + "Ṓ": "Ṓ", + "Ṑ": "Ṑ", + "Ŏ": "Ŏ", + "Ǒ": "Ǒ", + "Ô": "Ô", + "Ố": "Ố", + "Ồ": "Ồ", + "Ỗ": "Ỗ", + "Ȯ": "Ȯ", + "Ȱ": "Ȱ", + "Ő": "Ő", + "Ṕ": "Ṕ", + "Ṗ": "Ṗ", + "Ŕ": "Ŕ", + "Ř": "Ř", + "Ṙ": "Ṙ", + "Ś": "Ś", + "Ṥ": "Ṥ", + "Š": "Š", + "Ṧ": "Ṧ", + "Ŝ": "Ŝ", + "Ṡ": "Ṡ", + "Ť": "Ť", + "Ṫ": "Ṫ", + "Ú": "Ú", + "Ù": "Ù", + "Ü": "Ü", + "Ǘ": "Ǘ", + "Ǜ": "Ǜ", + "Ǖ": "Ǖ", + "Ǚ": "Ǚ", + "Ũ": "Ũ", + "Ṹ": "Ṹ", + "Ū": "Ū", + "Ṻ": "Ṻ", + "Ŭ": "Ŭ", + "Ǔ": "Ǔ", + "Û": "Û", + "Ů": "Ů", + "Ű": "Ű", + "Ṽ": "Ṽ", + "Ẃ": "Ẃ", + "Ẁ": "Ẁ", + "Ẅ": "Ẅ", + "Ŵ": "Ŵ", + "Ẇ": "Ẇ", + "Ẍ": "Ẍ", + "Ẋ": "Ẋ", + "Ý": "Ý", + "Ỳ": "Ỳ", + "Ÿ": "Ÿ", + "Ỹ": "Ỹ", + "Ȳ": "Ȳ", + "Ŷ": "Ŷ", + "Ẏ": "Ẏ", + "Ź": "Ź", + "Ž": "Ž", + "Ẑ": "Ẑ", + "Ż": "Ż", + "ά": "ά", + "ὰ": "ὰ", + "ᾱ": "ᾱ", + "ᾰ": "ᾰ", + "έ": "έ", + "ὲ": "ὲ", + "ή": "ή", + "ὴ": "ὴ", + "ί": "ί", + "ὶ": "ὶ", + "ϊ": "ϊ", + "ΐ": "ΐ", + "ῒ": "ῒ", + "ῑ": "ῑ", + "ῐ": "ῐ", + "ό": "ό", + "ὸ": "ὸ", + "ύ": "ύ", + "ὺ": "ὺ", + "ϋ": "ϋ", + "ΰ": "ΰ", + "ῢ": "ῢ", + "ῡ": "ῡ", + "ῠ": "ῠ", + "ώ": "ώ", + "ὼ": "ὼ", + "Ύ": "Ύ", + "Ὺ": "Ὺ", + "Ϋ": "Ϋ", + "Ῡ": "Ῡ", + "Ῠ": "Ῠ", + "Ώ": "Ώ", + "Ὼ": "Ὼ" +}; + +/** + * This file contains the parser used to parse out a TeX expression from the + * input. Since TeX isn't context-free, standard parsers don't work particularly + * well. + * + * The strategy of this parser is as such: + * + * The main functions (the `.parse...` ones) take a position in the current + * parse string to parse tokens from. The lexer (found in Lexer.js, stored at + * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When + * individual tokens are needed at a position, the lexer is called to pull out a + * token, which is then used. + * + * The parser has a property called "mode" indicating the mode that + * the parser is currently in. Currently it has to be one of "math" or + * "text", which denotes whether the current environment is a math-y + * one or a text-y one (e.g. inside \text). Currently, this serves to + * limit the functions which can be used in text mode. + * + * The main functions then return an object which contains the useful data that + * was parsed at its given point, and a new position at the end of the parsed + * data. The main functions can call each other and continue the parsing by + * using the returned position as a new starting point. + * + * There are also extra `.handle...` functions, which pull out some reused + * functionality into self-contained functions. + * + * The functions return ParseNodes. + */ +class Parser { + constructor(input, settings) { + this.mode = void 0; + this.gullet = void 0; + this.settings = void 0; + this.leftrightDepth = void 0; + this.nextToken = void 0; + // Start in math mode + this.mode = "math"; // Create a new macro expander (gullet) and (indirectly via that) also a + // new lexer (mouth) for this parser (stomach, in the language of TeX) + + this.gullet = new MacroExpander(input, settings, this.mode); // Store the settings for use in parsing + + this.settings = settings; // Count leftright depth (for \middle errors) + + this.leftrightDepth = 0; + } + /** + * Checks a result to make sure it has the right type, and throws an + * appropriate error otherwise. + */ + + + expect(text, consume) { + if (consume === void 0) { + consume = true; + } + + if (this.fetch().text !== text) { + throw new ParseError(`Expected '${text}', got '${this.fetch().text}'`, this.fetch()); + } + + if (consume) { + this.consume(); + } + } + /** + * Discards the current lookahead token, considering it consumed. + */ + + + consume() { + this.nextToken = null; + } + /** + * Return the current lookahead token, or if there isn't one (at the + * beginning, or if the previous lookahead token was consume()d), + * fetch the next token as the new lookahead token and return it. + */ + + + fetch() { + if (this.nextToken == null) { + this.nextToken = this.gullet.expandNextToken(); + } + + return this.nextToken; + } + /** + * Switches between "text" and "math" modes. + */ + + + switchMode(newMode) { + this.mode = newMode; + this.gullet.switchMode(newMode); + } + /** + * Main parsing function, which parses an entire input. + */ + + + parse() { + if (!this.settings.globalGroup) { + // Create a group namespace for the math expression. + // (LaTeX creates a new group for every $...$, $$...$$, \[...\].) + this.gullet.beginGroup(); + } // Use old \color behavior (same as LaTeX's \textcolor) if requested. + // We do this within the group for the math expression, so it doesn't + // pollute settings.macros. + + + if (this.settings.colorIsTextColor) { + this.gullet.macros.set("\\color", "\\textcolor"); + } // Try to parse the input + + + const parse = this.parseExpression(false); // If we succeeded, make sure there's an EOF at the end + + this.expect("EOF"); // End the group namespace for the expression + + if (!this.settings.globalGroup) { + this.gullet.endGroup(); + } + + return parse; + } + + parseExpression(breakOnInfix, breakOnTokenText) { + const body = []; // Keep adding atoms to the body until we can't parse any more atoms (either + // we reached the end, a }, or a \right) + + while (true) { + // Ignore spaces in math mode + if (this.mode === "math") { + this.consumeSpaces(); + } + + const lex = this.fetch(); + + if (Parser.endOfExpression.indexOf(lex.text) !== -1) { + break; + } + + if (breakOnTokenText && lex.text === breakOnTokenText) { + break; + } + + if (breakOnInfix && functions[lex.text] && functions[lex.text].infix) { + break; + } + + const atom = this.parseAtom(breakOnTokenText); + + if (!atom) { + break; + } else if (atom.type === "internal") { + continue; + } + + body.push(atom); + } + + if (this.mode === "text") { + this.formLigatures(body); + } + + return this.handleInfixNodes(body); + } + /** + * Rewrites infix operators such as \over with corresponding commands such + * as \frac. + * + * There can only be one infix operator per group. If there's more than one + * then the expression is ambiguous. This can be resolved by adding {}. + */ + + + handleInfixNodes(body) { + let overIndex = -1; + let funcName; + + for (let i = 0; i < body.length; i++) { + if (body[i].type === "infix") { + if (overIndex !== -1) { + throw new ParseError("only one infix operator per group", body[i].token); + } + + overIndex = i; + funcName = body[i].replaceWith; + } + } + + if (overIndex !== -1 && funcName) { + let numerNode; + let denomNode; + const numerBody = body.slice(0, overIndex); + const denomBody = body.slice(overIndex + 1); + + if (numerBody.length === 1 && numerBody[0].type === "ordgroup") { + numerNode = numerBody[0]; + } else { + numerNode = { + type: "ordgroup", + mode: this.mode, + body: numerBody + }; + } + + if (denomBody.length === 1 && denomBody[0].type === "ordgroup") { + denomNode = denomBody[0]; + } else { + denomNode = { + type: "ordgroup", + mode: this.mode, + body: denomBody + }; + } + + let node; + + if (funcName === "\\\\abovefrac") { + node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []); + } else { + node = this.callFunction(funcName, [numerNode, denomNode], []); + } + + return [node]; + } else { + return body; + } + } // The greediness of a superscript or subscript + + + /** + * Handle a subscript or superscript with nice errors. + */ + handleSupSubscript(name) { + const symbolToken = this.fetch(); + const symbol = symbolToken.text; + this.consume(); + const group = this.parseGroup(name, false, Parser.SUPSUB_GREEDINESS, undefined, undefined, true); // ignore spaces before sup/subscript argument + + if (!group) { + throw new ParseError("Expected group after '" + symbol + "'", symbolToken); + } + + return group; + } + /** + * Converts the textual input of an unsupported command into a text node + * contained within a color node whose color is determined by errorColor + */ + + + formatUnsupportedCmd(text) { + const textordArray = []; + + for (let i = 0; i < text.length; i++) { + textordArray.push({ + type: "textord", + mode: "text", + text: text[i] + }); + } + + const textNode = { + type: "text", + mode: this.mode, + body: textordArray + }; + const colorNode = { + type: "color", + mode: this.mode, + color: this.settings.errorColor, + body: [textNode] + }; + return colorNode; + } + /** + * Parses a group with optional super/subscripts. + */ + + + parseAtom(breakOnTokenText) { + // The body of an atom is an implicit group, so that things like + // \left(x\right)^2 work correctly. + const base = this.parseGroup("atom", false, null, breakOnTokenText); // In text mode, we don't have superscripts or subscripts + + if (this.mode === "text") { + return base; + } // Note that base may be empty (i.e. null) at this point. + + + let superscript; + let subscript; + + while (true) { + // Guaranteed in math mode, so eat any spaces first. + this.consumeSpaces(); // Lex the first token + + const lex = this.fetch(); + + if (lex.text === "\\limits" || lex.text === "\\nolimits") { + // We got a limit control + if (base && base.type === "op") { + const limits = lex.text === "\\limits"; + base.limits = limits; + base.alwaysHandleSupSub = true; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub) { + const limits = lex.text === "\\limits"; + base.limits = limits; + } else { + throw new ParseError("Limit controls must follow a math operator", lex); + } + + this.consume(); + } else if (lex.text === "^") { + // We got a superscript start + if (superscript) { + throw new ParseError("Double superscript", lex); + } + + superscript = this.handleSupSubscript("superscript"); + } else if (lex.text === "_") { + // We got a subscript start + if (subscript) { + throw new ParseError("Double subscript", lex); + } + + subscript = this.handleSupSubscript("subscript"); + } else if (lex.text === "'") { + // We got a prime + if (superscript) { + throw new ParseError("Double superscript", lex); + } + + const prime = { + type: "textord", + mode: this.mode, + text: "\\prime" + }; // Many primes can be grouped together, so we handle this here + + const primes = [prime]; + this.consume(); // Keep lexing tokens until we get something that's not a prime + + while (this.fetch().text === "'") { + // For each one, add another prime to the list + primes.push(prime); + this.consume(); + } // If there's a superscript following the primes, combine that + // superscript in with the primes. + + + if (this.fetch().text === "^") { + primes.push(this.handleSupSubscript("superscript")); + } // Put everything into an ordgroup as the superscript + + + superscript = { + type: "ordgroup", + mode: this.mode, + body: primes + }; + } else { + // If it wasn't ^, _, or ', stop parsing super/subscripts + break; + } + } // Base must be set if superscript or subscript are set per logic above, + // but need to check here for type check to pass. + + + if (superscript || subscript) { + // If we got either a superscript or subscript, create a supsub + return { + type: "supsub", + mode: this.mode, + base: base, + sup: superscript, + sub: subscript + }; + } else { + // Otherwise return the original body + return base; + } + } + /** + * Parses an entire function, including its base and all of its arguments. + */ + + + parseFunction(breakOnTokenText, name, // For error reporting. + greediness) { + const token = this.fetch(); + const func = token.text; + const funcData = functions[func]; + + if (!funcData) { + return null; + } + + this.consume(); // consume command token + + if (greediness != null && funcData.greediness <= greediness) { + throw new ParseError("Got function '" + func + "' with no arguments" + (name ? " as " + name : ""), token); + } else if (this.mode === "text" && !funcData.allowedInText) { + throw new ParseError("Can't use function '" + func + "' in text mode", token); + } else if (this.mode === "math" && funcData.allowedInMath === false) { + throw new ParseError("Can't use function '" + func + "' in math mode", token); + } + + const _this$parseArguments = this.parseArguments(func, funcData), + args = _this$parseArguments.args, + optArgs = _this$parseArguments.optArgs; + + return this.callFunction(func, args, optArgs, token, breakOnTokenText); + } + /** + * Call a function handler with a suitable context and arguments. + */ + + + callFunction(name, args, optArgs, token, breakOnTokenText) { + const context = { + funcName: name, + parser: this, + token, + breakOnTokenText + }; + const func = functions[name]; + + if (func && func.handler) { + return func.handler(context, args, optArgs); + } else { + throw new ParseError(`No function handler for ${name}`); + } + } + /** + * Parses the arguments of a function or environment + */ + + + parseArguments(func, // Should look like "\name" or "\begin{name}". + funcData) { + const totalArgs = funcData.numArgs + funcData.numOptionalArgs; + + if (totalArgs === 0) { + return { + args: [], + optArgs: [] + }; + } + + const baseGreediness = funcData.greediness; + const args = []; + const optArgs = []; + + for (let i = 0; i < totalArgs; i++) { + const argType = funcData.argTypes && funcData.argTypes[i]; + const isOptional = i < funcData.numOptionalArgs; // Ignore spaces between arguments. As the TeXbook says: + // "After you have said ‘\def\row#1#2{...}’, you are allowed to + // put spaces between the arguments (e.g., ‘\row x n’), because + // TeX doesn’t use single spaces as undelimited arguments." + + const consumeSpaces = i > 0 && !isOptional || // Also consume leading spaces in math mode, as parseSymbol + // won't know what to do with them. This can only happen with + // macros, e.g. \frac\foo\foo where \foo expands to a space symbol. + // In LaTeX, the \foo's get treated as (blank) arguments. + // In KaTeX, for now, both spaces will get consumed. + // TODO(edemaine) + i === 0 && !isOptional && this.mode === "math"; + const arg = this.parseGroupOfType(`argument to '${func}'`, argType, isOptional, baseGreediness, consumeSpaces); + + if (!arg) { + if (isOptional) { + optArgs.push(null); + continue; + } + + throw new ParseError(`Expected group after '${func}'`, this.fetch()); + } + + (isOptional ? optArgs : args).push(arg); + } + + return { + args, + optArgs + }; + } + /** + * Parses a group when the mode is changing. + */ + + + parseGroupOfType(name, type, optional, greediness, consumeSpaces) { + switch (type) { + case "color": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseColorGroup(optional); + + case "size": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseSizeGroup(optional); + + case "url": + return this.parseUrlGroup(optional, consumeSpaces); + + case "math": + case "text": + return this.parseGroup(name, optional, greediness, undefined, type, consumeSpaces); + + case "hbox": + { + // hbox argument type wraps the argument in the equivalent of + // \hbox, which is like \text but switching to \textstyle size. + const group = this.parseGroup(name, optional, greediness, undefined, "text", consumeSpaces); + + if (!group) { + return group; + } + + const styledGroup = { + type: "styling", + mode: group.mode, + body: [group], + style: "text" // simulate \textstyle + + }; + return styledGroup; + } + + case "raw": + { + if (consumeSpaces) { + this.consumeSpaces(); + } + + if (optional && this.fetch().text === "{") { + return null; + } + + const token = this.parseStringGroup("raw", optional, true); + + if (token) { + return { + type: "raw", + mode: "text", + string: token.text + }; + } else { + throw new ParseError("Expected raw group", this.fetch()); + } + } + + case "original": + case null: + case undefined: + return this.parseGroup(name, optional, greediness, undefined, undefined, consumeSpaces); + + default: + throw new ParseError("Unknown group type as " + name, this.fetch()); + } + } + /** + * Discard any space tokens, fetching the next non-space token. + */ + + + consumeSpaces() { + while (this.fetch().text === " ") { + this.consume(); + } + } + /** + * Parses a group, essentially returning the string formed by the + * brace-enclosed tokens plus some position information. + */ + + + parseStringGroup(modeName, // Used to describe the mode in error messages. + optional, raw) { + const groupBegin = optional ? "[" : "{"; + const groupEnd = optional ? "]" : "}"; + const beginToken = this.fetch(); + + if (beginToken.text !== groupBegin) { + if (optional) { + return null; + } else if (raw && beginToken.text !== "EOF" && /[^{}[\]]/.test(beginToken.text)) { + this.consume(); + return beginToken; + } + } + + const outerMode = this.mode; + this.mode = "text"; + this.expect(groupBegin); + let str = ""; + const firstToken = this.fetch(); + let nested = 0; // allow nested braces in raw string group + + let lastToken = firstToken; + let nextToken; + + while ((nextToken = this.fetch()).text !== groupEnd || raw && nested > 0) { + switch (nextToken.text) { + case "EOF": + throw new ParseError("Unexpected end of input in " + modeName, firstToken.range(lastToken, str)); + + case groupBegin: + nested++; + break; + + case groupEnd: + nested--; + break; + } + + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + this.expect(groupEnd); + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a regex-delimited group: the largest sequence of tokens + * whose concatenated strings match `regex`. Returns the string + * formed by the tokens plus some position information. + */ + + + parseRegexGroup(regex, modeName) { + const outerMode = this.mode; + this.mode = "text"; + const firstToken = this.fetch(); + let lastToken = firstToken; + let str = ""; + let nextToken; + + while ((nextToken = this.fetch()).text !== "EOF" && regex.test(str + nextToken.text)) { + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + if (str === "") { + throw new ParseError("Invalid " + modeName + ": '" + firstToken.text + "'", firstToken); + } + + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a color description. + */ + + + parseColorGroup(optional) { + const res = this.parseStringGroup("color", optional); + + if (!res) { + return null; + } + + const match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text); + + if (!match) { + throw new ParseError("Invalid color: '" + res.text + "'", res); + } + + let color = match[0]; + + if (/^[0-9a-f]{6}$/i.test(color)) { + // We allow a 6-digit HTML color spec without a leading "#". + // This follows the xcolor package's HTML color model. + // Predefined color names are all missed by this RegEx pattern. + color = "#" + color; + } + + return { + type: "color-token", + mode: this.mode, + color + }; + } + /** + * Parses a size specification, consisting of magnitude and unit. + */ + + + parseSizeGroup(optional) { + let res; + let isBlank = false; + + if (!optional && this.fetch().text !== "{") { + res = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, "size"); + } else { + res = this.parseStringGroup("size", optional); + } + + if (!res) { + return null; + } + + if (!optional && res.text.length === 0) { + // Because we've tested for what is !optional, this block won't + // affect \kern, \hspace, etc. It will capture the mandatory arguments + // to \genfrac and \above. + res.text = "0pt"; // Enable \above{} + + isBlank = true; // This is here specifically for \genfrac + } + + const match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(res.text); + + if (!match) { + throw new ParseError("Invalid size: '" + res.text + "'", res); + } + + const data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new ParseError("Invalid unit: '" + data.unit + "'", res); + } + + return { + type: "size", + mode: this.mode, + value: data, + isBlank + }; + } + /** + * Parses an URL, checking escaped letters and allowed protocols, + * and setting the catcode of % as an active character (as in \hyperref). + */ + + + parseUrlGroup(optional, consumeSpaces) { + this.gullet.lexer.setCatcode("%", 13); // active character + + const res = this.parseStringGroup("url", optional, true); // get raw string + + this.gullet.lexer.setCatcode("%", 14); // comment character + + if (!res) { + return null; + } // hyperref package allows backslashes alone in href, but doesn't + // generate valid links in such cases; we interpret this as + // "undefined" behaviour, and keep them as-is. Some browser will + // replace backslashes with forward slashes. + + + const url = res.text.replace(/\\([#$%&~_^{}])/g, '$1'); + return { + type: "url", + mode: this.mode, + url + }; + } + /** + * If `optional` is false or absent, this parses an ordinary group, + * which is either a single nucleus (like "x") or an expression + * in braces (like "{x+y}") or an implicit group, a group that starts + * at the current position, and ends right before a higher explicit + * group ends, or at EOF. + * If `optional` is true, it parses either a bracket-delimited expression + * (like "[x+y]") or returns null to indicate the absence of a + * bracket-enclosed group. + * If `mode` is present, switches to that mode while parsing the group, + * and switches back after. + */ + + + parseGroup(name, // For error reporting. + optional, greediness, breakOnTokenText, mode, consumeSpaces) { + // Switch to specified mode + const outerMode = this.mode; + + if (mode) { + this.switchMode(mode); + } // Consume spaces if requested, crucially *after* we switch modes, + // so that the next non-space token is parsed in the correct mode. + + + if (consumeSpaces) { + this.consumeSpaces(); + } // Get first token + + + const firstToken = this.fetch(); + const text = firstToken.text; + let result; // Try to parse an open brace or \begingroup + + if (optional ? text === "[" : text === "{" || text === "\\begingroup") { + this.consume(); + const groupEnd = Parser.endOfGroup[text]; // Start a new group namespace + + this.gullet.beginGroup(); // If we get a brace, parse an expression + + const expression = this.parseExpression(false, groupEnd); + const lastToken = this.fetch(); // Check that we got a matching closing brace + + this.expect(groupEnd); // End group namespace + + this.gullet.endGroup(); + result = { + type: "ordgroup", + mode: this.mode, + loc: SourceLocation.range(firstToken, lastToken), + body: expression, + // A group formed by \begingroup...\endgroup is a semi-simple group + // which doesn't affect spacing in math mode, i.e., is transparent. + // https://tex.stackexchange.com/questions/1930/when-should-one- + // use-begingroup-instead-of-bgroup + semisimple: text === "\\begingroup" || undefined + }; + } else if (optional) { + // Return nothing for an optional group + result = null; + } else { + // If there exists a function with this name, parse the function. + // Otherwise, just return a nucleus + result = this.parseFunction(breakOnTokenText, name, greediness) || this.parseSymbol(); + + if (result == null && text[0] === "\\" && !implicitCommands.hasOwnProperty(text)) { + if (this.settings.throwOnError) { + throw new ParseError("Undefined control sequence: " + text, firstToken); + } + + result = this.formatUnsupportedCmd(text); + this.consume(); + } + } // Switch mode back + + + if (mode) { + this.switchMode(outerMode); + } + + return result; + } + /** + * Form ligature-like combinations of characters for text mode. + * This includes inputs like "--", "---", "``" and "''". + * The result will simply replace multiple textord nodes with a single + * character in each value by a single textord node having multiple + * characters in its value. The representation is still ASCII source. + * The group will be modified in place. + */ + + + formLigatures(group) { + let n = group.length - 1; + + for (let i = 0; i < n; ++i) { + const a = group[i]; // $FlowFixMe: Not every node type has a `text` property. + + const v = a.text; + + if (v === "-" && group[i + 1].text === "-") { + if (i + 1 < n && group[i + 2].text === "-") { + group.splice(i, 3, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 2]), + text: "---" + }); + n -= 2; + } else { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: "--" + }); + n -= 1; + } + } + + if ((v === "'" || v === "`") && group[i + 1].text === v) { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: v + v + }); + n -= 1; + } + } + } + /** + * Parse a single symbol out of the string. Here, we handle single character + * symbols and special functions like \verb. + */ + + + parseSymbol() { + const nucleus = this.fetch(); + let text = nucleus.text; + + if (/^\\verb[^a-zA-Z]/.test(text)) { + this.consume(); + let arg = text.slice(5); + const star = arg.charAt(0) === "*"; + + if (star) { + arg = arg.slice(1); + } // Lexer's tokenRegex is constructed to always have matching + // first/last characters. + + + if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) { + throw new ParseError(`\\verb assertion failed -- + please report what input caused this bug`); + } + + arg = arg.slice(1, -1); // remove first and last char + + return { + type: "verb", + mode: "text", + body: arg, + star + }; + } // At this point, we should have a symbol, possibly with accents. + // First expand any accented base symbol according to unicodeSymbols. + + + if (unicodeSymbols.hasOwnProperty(text[0]) && !symbols[this.mode][text[0]]) { + // This behavior is not strict (XeTeX-compatible) in math mode. + if (this.settings.strict && this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", `Accented Unicode text character "${text[0]}" used in ` + `math mode`, nucleus); + } + + text = unicodeSymbols[text[0]] + text.substr(1); + } // Strip off any combining characters + + + const match = combiningDiacriticalMarksEndRegex.exec(text); + + if (match) { + text = text.substring(0, match.index); + + if (text === 'i') { + text = '\u0131'; // dotless i, in math and text mode + } else if (text === 'j') { + text = '\u0237'; // dotless j, in math and text mode + } + } // Recognize base symbol + + + let symbol; + + if (symbols[this.mode][text]) { + if (this.settings.strict && this.mode === 'math' && extraLatin.indexOf(text) >= 0) { + this.settings.reportNonstrict("unicodeTextInMathMode", `Latin-1/Unicode text character "${text[0]}" used in ` + `math mode`, nucleus); + } + + const group = symbols[this.mode][text].group; + const loc = SourceLocation.range(nucleus); + let s; + + if (ATOMS.hasOwnProperty(group)) { + // $FlowFixMe + const family = group; + s = { + type: "atom", + mode: this.mode, + family, + loc, + text + }; + } else { + // $FlowFixMe + s = { + type: group, + mode: this.mode, + loc, + text + }; + } + + symbol = s; + } else if (text.charCodeAt(0) >= 0x80) { + // no symbol for e.g. ^ + if (this.settings.strict) { + if (!supportedCodepoint(text.charCodeAt(0))) { + this.settings.reportNonstrict("unknownSymbol", `Unrecognized Unicode character "${text[0]}"` + ` (${text.charCodeAt(0)})`, nucleus); + } else if (this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", `Unicode text character "${text[0]}" used in math mode`, nucleus); + } + } // All nonmathematical Unicode characters are rendered as if they + // are in text mode (wrapped in \text) because that's what it + // takes to render them in LaTeX. Setting `mode: this.mode` is + // another natural choice (the user requested math mode), but + // this makes it more difficult for getCharacterMetrics() to + // distinguish Unicode characters without metrics and those for + // which we want to simulate the letter M. + + + symbol = { + type: "textord", + mode: "text", + loc: SourceLocation.range(nucleus), + text + }; + } else { + return null; // EOF, ^, _, {, }, etc. + } + + this.consume(); // Transform combining characters into accents + + if (match) { + for (let i = 0; i < match[0].length; i++) { + const accent = match[0][i]; + + if (!unicodeAccents[accent]) { + throw new ParseError(`Unknown accent ' ${accent}'`, nucleus); + } + + const command = unicodeAccents[accent][this.mode]; + + if (!command) { + throw new ParseError(`Accent ${accent} unsupported in ${this.mode} mode`, nucleus); + } + + symbol = { + type: "accent", + mode: this.mode, + loc: SourceLocation.range(nucleus), + label: command, + isStretchy: false, + isShifty: true, + base: symbol + }; + } + } + + return symbol; + } + +} +Parser.endOfExpression = ["}", "\\endgroup", "\\end", "\\right", "&"]; +Parser.endOfGroup = { + "[": "]", + "{": "}", + "\\begingroup": "\\endgroup" + /** + * Parses an "expression", which is a list of atoms. + * + * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This + * happens when functions have higher precendence han infix + * nodes in implicit parses. + * + * `breakOnTokenText`: The text of the token that the expression should end + * with, or `null` if something else should end the + * expression. + */ + +}; +Parser.SUPSUB_GREEDINESS = 1; + +/** + * Provides a single function for parsing an expression using a Parser + * TODO(emily): Remove this + */ + +/** + * Parses an expression using a Parser, then returns the parsed result. + */ +const parseTree = function parseTree(toParse, settings) { + if (!(typeof toParse === 'string' || toParse instanceof String)) { + throw new TypeError('KaTeX can only parse string typed expression'); + } + + const parser = new Parser(toParse, settings); // Blank out any \df@tag to avoid spurious "Duplicate \tag" errors + + delete parser.gullet.macros.current["\\df@tag"]; + let tree = parser.parse(); // If the input used \tag, it will set the \df@tag macro to the tag. + // In this case, we separately parse the tag and wrap the tree. + + if (parser.gullet.macros.get("\\df@tag")) { + if (!settings.displayMode) { + throw new ParseError("\\tag works only in display equations"); + } + + parser.gullet.feed("\\df@tag"); + tree = [{ + type: "tag", + mode: "text", + body: tree, + tag: parser.parse() + }]; + } + + return tree; +}; + +/* eslint no-console:0 */ + +/** + * Parse and build an expression, and place that expression in the DOM node + * given. + */ +let render = function render(expression, baseNode, options) { + baseNode.textContent = ""; + const node = renderToDomTree(expression, options).toNode(); + baseNode.appendChild(node); +}; // KaTeX's styles don't work properly in quirks mode. Print out an error, and +// disable rendering. + + +if (typeof document !== "undefined") { + if (document.compatMode !== "CSS1Compat") { + typeof console !== "undefined" && console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your " + "website has a suitable doctype."); + + render = function render() { + throw new ParseError("KaTeX doesn't work in quirks mode."); + }; + } +} +/** + * Parse and build an expression, and return the markup for that. + */ + + +const renderToString = function renderToString(expression, options) { + const markup = renderToDomTree(expression, options).toMarkup(); + return markup; +}; +/** + * Parse an expression and return the parse tree. + */ + + +const generateParseTree = function generateParseTree(expression, options) { + const settings = new Settings(options); + return parseTree(expression, settings); +}; +/** + * If the given error is a KaTeX ParseError and options.throwOnError is false, + * renders the invalid LaTeX as a span with hover title giving the KaTeX + * error message. Otherwise, simply throws the error. + */ + + +const renderError = function renderError(error, expression, options) { + if (options.throwOnError || !(error instanceof ParseError)) { + throw error; + } + + const node = buildCommon.makeSpan(["katex-error"], [new SymbolNode(expression)]); + node.setAttribute("title", error.toString()); + node.setAttribute("style", `color:${options.errorColor}`); + return node; +}; +/** + * Generates and returns the katex build tree. This is used for advanced + * use cases (like rendering to custom output). + */ + + +const renderToDomTree = function renderToDomTree(expression, options) { + const settings = new Settings(options); + + try { + const tree = parseTree(expression, settings); + return buildTree(tree, expression, settings); + } catch (error) { + return renderError(error, expression, settings); + } +}; +/** + * Generates and returns the katex build tree, with just HTML (no MathML). + * This is used for advanced use cases (like rendering to custom output). + */ + + +const renderToHTMLTree = function renderToHTMLTree(expression, options) { + const settings = new Settings(options); + + try { + const tree = parseTree(expression, settings); + return buildHTMLTree(tree, expression, settings); + } catch (error) { + return renderError(error, expression, settings); + } +}; + +var katex = { + /** + * Current KaTeX version + */ + version: "0.12.0", + + /** + * Renders the given LaTeX into an HTML+MathML combination, and adds + * it as a child to the specified DOM node. + */ + render, + + /** + * Renders the given LaTeX into an HTML+MathML combination string, + * for sending to the client. + */ + renderToString, + + /** + * KaTeX error, usually during parsing. + */ + ParseError, + + /** + * Parses the given LaTeX into KaTeX's internal parse tree structure, + * without rendering to HTML or MathML. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __parse: generateParseTree, + + /** + * Renders the given LaTeX into an HTML+MathML internal DOM tree + * representation, without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToDomTree: renderToDomTree, + + /** + * Renders the given LaTeX into an HTML internal DOM tree representation, + * without MathML and without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToHTMLTree: renderToHTMLTree, + + /** + * extends internal font metrics object with a new object + * each key in the new object represents a font name + */ + __setFontMetrics: setFontMetrics, + + /** + * adds a new symbol to builtin symbols table + */ + __defineSymbol: defineSymbol, + + /** + * adds a new macro to builtin macro list + */ + __defineMacro: defineMacro, + + /** + * Expose the dom tree node types, which can be useful for type checking nodes. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __domTree: { + Span, + Anchor, + SymbolNode, + SvgNode, + PathNode, + LineNode + } +}; + +export default katex;

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 h%mEph%mKxjAZ5KpX literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Main-Italic.woff2 b/docs/static/katex/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..08510d85a779a19c24b2514204ff9e204edbb3df GIT binary patch literal 22076 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%0DjK5ntrP1S!Fr{s-lgGXP4QfS5*|bBDT`8 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 Zj(WZPj*iS#Z&FWfoFALYu%~4Ie*o*0b$9>( literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Main-Regular.woff b/docs/static/katex/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..42b74ab13306c0c6c361740282b13a3b36c56065 GIT binary patch literal 37856 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 J00IC101uI2uebmJ literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Main-Regular.woff2 b/docs/static/katex/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..18647fa6afbc40c64b6cb0a5142c2ebae8a21212 GIT binary patch literal 32312 zcmV(`K-0f>Pew8T0RR910Dd?C4gdfE0S+Jl0Das50RR9100000000000000000000 z00006U;u_x2s#Ou7ZC^wgVbPyg#!UL0we>7bPI$&00bZfh)@TPHw=La8xG?qik;n) z*xU|qze%EnD&WrVae#HG-K?nPjP$7N|Nl=*I%I5vJK*nXT3Tf*!pcA;2SspC6DjUriU7;W`>ha+9rEnFP9AWjyGC0bEP`_X3OyLBw)>5?Iu zmRi3;_^|lP@(z?0kRze;t%vc0%u@3KnI*1m+^&AG&?Q#xj`zG8>)5S%)`$Co^KYJ} zBx`TJ2y9%&NLEhX0h-fJlFP;KE^#142m}Hl0tr$eMgk!~0tsHs3N2OvDip6n>#ORz z)>qk9|LQ8gGOcbaliDgAJ)Ku{~@NgMcElVx$N)DmqI0Ud@IHbM+qksN&tC)RRNb;jU zN<P!=FMrJlr%H%SxLKKSR`=b!tC$NC%!F^v~#ns z0w-=c4q$=OrsaVG+tMN&312f^{*rIWG*bj+EJAvJgC{?@0sMRB&Jn$h9%4*NR{mbe z#oX>=Td1Z2%yB=oeY=CA6if4lK`e{d$zoYUC4(m4ikhNMSG_Fm_wD!F{bCBtnf)@i zBra0bo}LaR(i%kRVvF$qA!yN%rlQJ@5r5%HFbJfg1gP(qjfecd&RzD9olQYvEX}zY z@?wi5P+&2J-HvkFDkPrKtn| zU;C||y}JypYA;{kN3=0ar{dYPWkR-4fDJgka6lX%+RtCT!$cb)nS}@`+%~qiFCvPV zJ$xI!hq^W~DTx?qcqoL{#1j#}Z|Q8xe05ou6GFw9-JUjgX_HD(s9JaaDFGzU}0F-?h zK?XqA>ofpZ__Q(jo-Pn@{VjU{FD8Jee}LZ~&!yCAz)bpHU}+bpsPzZiumMXh!TOvxe>L;u4p6!EXw>Vw-s>9xk3Jeo{PN zd{L?@O)39eeo_7_?4O8~n)N4r{~iFTiki@!`wm3Eq<_$y@A*<)sjuq0w(Q?(d)u`E zNe89Vl8}tZj6OWFTTkm5dW#nAe`1O#*@4T?tfrAJdKuh5$`*QoKL75hV#`?Hw7k?@ z{;B-D{5JCZ-)Z;BV`qKlv=fdwc z(_vAHg={7f4{;c3xO;!^RsU~{_uKt%qi^Tmj=xpEd79oh7526HI`?&U>~pM1`Y!;Q znUzGsV8Fc(dX|r_@jkhD0O)o1%kj}O-P?};l&&$+7{r@#FyQGw6mOr>-G7RlEID{h z8RwkB#F238%+g z{xdEKE4?F;0Xy~a?E+@sbR5D(F*J$l4R7Tb6lf}q(P%n2r5!f{x01xNCE3PaX|WBn zhDNQP{z_up3_ArBO%sv_Z8o3dM)5L=Q?ZMJRRvU4xa1d#qGu6}0dVqsf~&lJ3C2Q( zzD5fypem2kxR~J zjd@NiKqTyGrehlKX9W&vPm(yB>HXRJ8n!BR`7W{~0R!Wuk~txxfb@U-yWHCb9d{ne zC;!z-lz*B#Wu8w^QM=?>XOV^!Po-(f(2`|Ij%9gP6j)U>I|Lf?ll+JupYZ$AYuMtb zspr<+n%jsYHl^5-rY%E9maZH#U#~-_Z2f!^=%|p#4a>>CV zjdSxn4~<{A{`b@0)17+Y=|#^8&|*?GPh2spC#GnQwXchsRbz&UN^12SRk_I-G}a;7 zPCfCsJiC_J&xi{*CbFBm&od9lhc9}jAR09K5B`vWI|%;L}!=*>|U^%UBe12f}u7-CFs<|C%6S-3>(N%3=Kv( z8|t6ecIPg7Tx5_S8zTTGXem6&B zg3^WY^omoMAC5@-iu;ETx`pUUT(7WH5q6H^+XnkQ{qlS`(ZulQ!ay*b7rj{Ss>W-7P z&WWjqH-<>mJ#w29g<2hSed(Q5@0oJO5Ht=+vB~jp?k65l!Ci(^G#=yT{6(@`p)n{L zjHMmhNWOrs$O6hb?M2K$Z;PTPDRLncT`i~72BH_j&`p4A4a6>lqq~6A8;DSz}ZGi0>t{Y|oEN^3wHU!5o65j{GHT2}57K~^a50&5paZ+OQV@mCz z55HJ^G?}TrM?nvFVMYh)lf;%U*q(N;_p5gct91D2prE}3hpgcsV}7Wl3tKUHI$$4L znvlVF_hGicJ9!65w;!H^YLVpo3H`4`59vhW7{fRx_gQiPc`<^}NE%}~i2+VBz1~R* zTU4c{El4d10FaactqqwQu|=d+h;$#TZjpU)O7xMjP zrbspcU8`jbKvN`68l+0<`srz=P_0z)3ZAzh$&-Sh5(Gi0G_6uk6FjAA+;lCL_0%|M zCNc@|g%mV+_>&}feyI!N$pnlG2}>VUa|S$BX$?F}sB)>E&(1fyNal6($g*MftL2%tcZ; zFV&Djl^vQDuHx)PHz7kLLp|F}Cb5$JX8`WW1grj{B_(9#CN^EPfY^-CW5uv`3xEn&&<5HI*a!<;8O7e(Pb35|7B)NF_yqBhO5Ch<>54l;z>f!ttyF^aR~Qs`)in zzf?IR$q9aWhqBZv8HWS~WfmnitS7L?sqF|F>YiCAp3m&;w~_Hjk=JFjw1~8iImHJ> zLY*|vKu2KHM22Z3ouC<(Oe-Pr>gv`qsCkzXy2XTq86X2-!^QigOZW2DyeB93F`E4)-~W7 z&&1eD-wY%|3Yg#&`wR{<2dT5IMo86~ zGE1>o)Y5Oe(n1QI0j2qi*tNlK7?A8r3h5A>fwtGe83_MMkwjud;4u)FC5JXGSF$cY zuDOJ|{5gaGZRo&;c-t};l^{GJ^kXU(IR3;4dDh5HczXqCVT->g3jB1ft?$~2)*+o- z<>#2GAHCp9T=ePKpk7q5+_wuuX9j^oyDp{WWesc^D^S5LeHiI_bUewOG+#RU5WmD7 z2U1qJl!RM))~~t_^0OE=x~z3q`xxiD)naoV-4plASkJtv=Awl4caNI*wRnOh57_tQ zT~BjRun8WWUjCZV$KFt~to7-d>sraOf+LPpf6IO)+nS|oOziSaNX=g0gWHU;i0wl`e&Uors-}5tz6Mbv z_+-N?39hS}3%GZ=t;@l}(Ar{7cX@7j&7P?cB5O^jXl{!H;nDRjrtr0qSH( z*(=IZ52&(#bLg$F?Qpa-fB6n%LAs+V|y?rNK)Yjp#}aB zu^ZjYsmzH?B)b*}axB5EWoJl|Ic+}10(;X9zG;BS6h)+f(1TntDRUdBSZ=(z&Al+R zrLJ)%?FA(y5dq4qUBzUO;=IU{{*8W^=88C2^4PPSb-0?M$2Q=MNOko+qz@=Dhz7Z5 zVE{Vk^k-4Le7GEIHP!WDD!*w z-17Bul1}eV!^PNUOE7qV4Yta7sDQ`*OMgZtOr(A2(=OwX%K|gWb5YPD>S;~_ZjLoo zkX0aRr=~WwH1Nw}tjAL-<<>jMIQvvDk`GjE1Di?AE^v8a@@~WD;2~eg*D>1>X@A_|^#wv&&`E$>(G9BejFq)4r53U(J% z@*LaWsWU`Wg($+EMa2*xtE#w9VAX{EEgUREJT0W6*G~8uU2I{Viq+_-?8+7$J?MA0 zk$O4FT(`U8qo`52?I~Oem^lrgx>C6dO-|WJCpN*8PH{U#W}%g4AQSK#ZwDkxVO>t! z+RVi){Cbh+E<`{NH|LS+l7jiGe%5eQ;FyBq&k~`YxH&n z%d@7Lf6=kU@8D-N0XU1yp#bcJDk6zC_Qx`I#~tf|g;^U01d^=S!Hx(fk%_cGs$3nF zWw`uG2nD8aD^+IdxiS25b`Q2Q`r=Q2*pXidQA|!AGCVamV`6;caW!6T1Os4laU{%` zQL^~q4dW}_-Ua<<5LOt}V21AgjPm0-v56@1QA}lf2b!SUtVFhG5gwB$l#6bOlHf2X>A)*Lz>j;+89? zI*{@DmkFZfOb$cL%s`Q-dj>!&R}ny05J(X#aM^#!=jZmn30=`3x;p%IBL)Z2`I0Yv zVPHOlGSk`wmkgLm{n8s`L-|s+m2hk10DgT0wh$kGWIQnWS9pYEmlYsg^(G||By8*v z68HcLK_WgYF8Y$4Do4YzhHHNMU;(|mE6nF)4S`o^$(yWT{9g{i195t&gw(AAqnTjX zeZo5qDVuvw92V%zu`NPfAij+qT&os&j1FkbY(+cG@gca|k4$>YA(>GGIq(ucqInbf z8Ix#Gczel3Mj@3Qe76e|=xAa;uC?yNBn`B9jNYYJWUUS|Q;pxY>&G&Xyd`9r$#R?u zfb#l%q#$6}n?c8#cIJ8o{B#km-ZZLlQoP{u1wbI_&PgD!VH0~iT8-r4oN!2ahL3`x z>l?b}0v`yoy#ulTR?E3aCg$DcyBt(;NK^!^RY>iI+kM@^Zn5!I?8{z}_DmsNaQQ=} zTPXbF0emGNCeneo{Makv#t_b79iotcX$(r!hQ{i$lrps>sI%M=*05oP{YdTI3asq_ z?$sMLFwtLfwJUI$fG(Cn#nqVMN95vr=y{bCV3_psg#xEN5p5wOM^K!QnAIirTehda zlk_eRC||!^Rdd#KA+0L?;}*@I#FSupPyMlMRFK!4=OS0oGXx9SKx5UyNH_*H5$zwU zh6f6NDMp>2Dmb=9Q|Jc=!mts}F9+wxyw)B1a(R3-%bNZ87L$6$yAGd;&z3-vzDPwk zOWn}`TpN1w(X_;*fGgWZuBsIv#_qZtIWuL0b1;;%a4p@B>@mFZ7kB^) z#0+5lB>_Z5?Mbouuo{jJ5#fM|%R*k8tOs!cD<36YYoykg7kz-`kUOXRvx!^&{dPl_ zAzRjUN_0soHp5aL9Sv_QYc-KVpcJ?rkaPBIDg2(_umqRP%BA!y1rbLWw6-QQDLwK6LCZ<)dD6wDTzk9(cx z6~rvzDJ)vOF46aK(dP!-fNbV_JW-B(b9<(OPO-48e25mGglob)d6Ow+XmFBG0ZjK%liuc??Z`<-5JIa-&N zwj9$;cmamE$9r6hd___bK)ZoS2P4ra^6=EIFehoN9Ix0c6%TTqxy#&!R)NX#M|06d z@dbDPX{ps4VkJDvtPD#I$!EMGra1@^oT8%^wjr(!GkxBeh=?CLLlB^vH<9z@QsAV@ z%t?07Sh5_}(!q{ehJiy}Zo22zRiuz^nk3pz5-)nUqxgJuci}RCQjJtb4hJnrxWX)< zCP3l6$B3@k{uX^qCsfBJ?U*{NFP96z;H`a;S9JxIRs`O0+`;xU17{%}jf*8yE^7EC zg+;NIAJFIYi89R?Ggw_~_^~>#>auB2|{IfvM1Yj!)k{fJPf=l{Gcb*e+nn z`ofT>ccW?T4=rZk@=Y$F*_tGWgI@l#qjNI=hoJgwNDiilgU8r)tkMke5w$gnHvtK7 z#8I%wX>bM;l!Wh3u&p4E@OP${i`B{W5OJiJEewePtVmaAhF#qTAweKDnl7l!-z`Jh z0YY7&=@1FrMisf?64DHu+8||2N3>aEyAJI?ckAGK=c^CLrp_Uge4U-g&cl+lW)ZOc zBSiOsi;5ISeQNd`KE)>ab7~HCs8~v8hFMVc1I1FDw>9>n3p*Pd-*pVO7kB9xc>@ch zjg||ms8!7fEt1+do63}GCoy|sJ}Wsf!rz!y+;Pa%&sEcX8yKe@Y^T;ye6os<3YG}H zn{2i=j=S}|kF_Z}@3J?5tk`HA)!dNz=Pckz7fR@=gr@OaW}hPJ`Qx5?eh#=%#mrVh z#S);?GINbQX{fZ(AgNyD3Qy4l&^GW=KTi->CpvPZ2}dNE)2N``wH+k3Aln#WP~S64 zsIn@Z4QyrCF-9uX@Yf00pgnsbxWOU#fExDq=v&x0R2Xa}SFXT5N4lned>2-1)wVdV zl?9oBm&qw6!mir@Ivj_y9}{dKg#h$iG}e*uhYS$VB0?MXpfJ5>3`sK*itwenOXRsX ze?RNsawE0vTI(>(fKgJw{^yz;<2byY`Y8jxstBmh04Fv2lvV5idNbhU1(xh88M}<3 zd|u?}VzKfRpS4nSOql2$V%G@p=XyX*9VW|uxWudt@N5d=kdL^9de9F(hq=K>*jc>9 zUeAZn67XqcKF;Bp&YZo9H!03XPy?g683s91Q^uQ-r8<%NJglb4kCD+7LQ{8JE?!GI zF+?l zf_uSu4k@{$CiSUn(Ny$6(!F?207CbLvAk3h3Vf5x>%a8jF(sah6f7-M`kdnVgcD}$r*x z`W|B5no8GUdktJes-|WgyGC4~y@`V1jiqVV828?N<3*fdp=`<#i6f2FKlF2$dKe{i zl8=>Uc<@EJ4<-o6{32P2(TPtHyGt9-yUVmvgrfkmFQD<9H^6qV*+EqWnFY-PzY>>i zJto8qC?oT{x{5u}{6u?~@DVF9v>@Pvx|YgnDA|z?u@5jg8;i=Zk}q=aL--C9iVcqG zs22fFCl&;+EN!a02==wMTKKY?gQu5f0H7c9J34L#PFEzFRlaxb5j)Wr1V_uyK8YXh zj<>9z^;0N?%Y2 z84z8aqX$c(ZJ6*=au3I_`~+7r7{NX~F4(H&G~^OeLlmfKfSrxgZK~^lDZy}5KELJ8 z=NhBDk6}w5Zsj3&@&M7bb*Eh_BiL(x5SS|}`rvnGDyVc*y7{cZXzupS-ui$Xs$E*o zwshhjRAI$8^z+KfZH?+FyLDrb=Q6omnM)rH+Brt@X28J4w8v6%Z9~;Sa<^K1 zOEqj-A2ey6%hv0q z-T5H~f`$KGGLfan+M-xU6AU10IkcIVFzAI3bWQPlj&WH0j0J4>JOO|t%YC11-Ie>nH>9PCnm8C-2-s21#P6vogb^;m;>`ifw5f3Xp7 zP^-`k8%*kF^GZ!ZVjjoE$E*c<*IQxsCqRYUq|BXqN@m*ie%dDeq2`M!%}owz^$y)c zpS31=Np^|(#WychJ{n77TbHco0<5>A(gEcX#+i}*sbAD*p50FvNX!gbo?NT&Cj+@_Do$#kU-JxR=NUhr+@+=^P{WC8cY&G*NPjg)>Qiawo6 zez;UAHMK=<)nil@!RNcIRLZUoW}M*oW>|N=c%L;ZKU_zC2l~%qroaoqPy<;(hyi}; z*2*|rF;=GrOm&zR^B#m2feQ+8a26}BhF}hx-lIKd{Gf--#jiVQ2t`G zRwHHUxm~B&VMA=^6L6&D1xApR(+HiZN+IANBZQ_%E4RXTX#zXJuWo4GDZf_5ZmTptH)n&TAGDs5eW!5DE)L{uNZP zJVT^~h+1&<|J+hwDNs^#+_CwspZ%LlCkjq(iGWE)vm3^QHFC6>qXlHDQ0@h-_jnwA zJr4ydRq7qK!6HFfje$K1Q`v#VgOH-k&=cpK;E1xI6)Q)uyR7yCvhosp`MD|{YmPjn zgB|zL=o-p`TrM2JU=MhaFlD#`f=9AQNWuQL4et=i#7OU=o-CW7_$;7p_)2 z??}9{N#pe{#y}G{Sb8eo)M9dwV^NU$(}K;=6ZhZ9yf4H>d8@{MMHspE?1?m=VKD0# zCg~CU^#lf!)&nQfgmmt?hA;XaGBcB!d@z+qzA;R~N5NmLpff#faibd8asjVuHvx>% zo@VKKOEL{FYg#sv=$25BZ!RVX;AZC)>&~Fg-WIQd2eL*S;f9;>DYj6+3oRTh$hh#1 zOZ7V>%f<6be%M6NB00uMv1DXIR|g! zZmSoP+R~7=e@T8f+^!fazoFp!w0nQcf>&P%-<;Q$9QNklvJBLoS_4tqBl)YdnP&%dNcrxeY6ib}PJ0xGpaDKQ; zYK^{Xq8!w^hzlgDO(IBABClj(JRN6){bLJX`ya?}Ra-iq?7ep0m6R;B{3?8mr_zY? zUcV=k64?v(^`ZI0RY>{iNKv{6U-MK z@W&jx$Gjr3vv?1vztNeqyY0G*1P5)oy1-9#1DyXqabMTopdT!9(2k54{cj$sSWyBEn@%4M%pW*tg(k?vveX+pR!gGDr^<5`Y{&I`?-=OpG#$Va18V>q zwfj<6ND6z5vSq`VaGQltF1NsMawrx9hzz%hoh1?-J>bpy|DrSaB!pzoACzkCSz1-N zkeJBqV}=do2mnNp(Y>mUSpkb>4~Pqe(tt~%6aB}7Hay+X!2N>JHL13$kZK@clfNmS zOGAJeqw|3(31Ve&ij{x-hu!xc8u%3XF!Meb1E4O*df!<04a4(4WFY-|4X<YwZUGpmcA4lZzpObjC%ufG9bin&G}B?gtfTRl>W4I=$nIGR#rjgP?n# z{f_%Q3Svrl_&u{Bn_xr@fbK#1Ffed(UPSUi=nZF-hDW}R7*kEqS^Wa;c{un60aJ}3 zPn|U{S#0=BLJfxmoayuoq2+zcYEo0;l-R1yYLi}ojfhlfRSr9_?&eF-kf?X|CDWyU zG~S_s>M;;bT~79b{ML6__+q~kSouM!H1~q9J9u)XUBwj^%_~>M8G$c~2!K4m8J^D% zf~>4Nj1eI^x_$n9S~+78Io^yGaTX~aNZV&n)fLfwUW>NMLV(jJ%PejFC*zS$4xN68 zv2b#=7JQ9f39BQfIQntI@CpDY2QkYwRmqhg2-7XND?FvA|GI3akmu=+5^d)YJ`Dcy z<&fuPbxyz4IM*JkXIZcU7#lrrC9g`SKd47Dm-A#Ip_xw!I}HhNLIC;8|77mm{{lkx zU*>Qx?+*!#_Q*O#kXUHFot$(u?)q~?50g%rEpPz?l<6*EBKb8@5mB+Jh≦e4Xlp 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 Jcf!)<{68y9_K^Sp literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Math-BoldItalic.woff b/docs/static/katex/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..5b4041aa87c634e4550920a48e033b4af133d7c8 GIT binary patch literal 23980 zcmY(JV~{3Il!f26ZQHgnZQHh{ZFf)Gwr$(?v~AlqcD~sCvp3?2%6sCR$oy4tBdgrx z#l!$WfPbZ11%UtWS0eg2=${Aj|3Eai z_AmngfJ6WQ`E&pvnmCg#5Y@ue&;$Tb-2LZa{|{`sls1ch;=g_W=>UR%kV0&O@LAY6 zyZ<{H=D)nuKiaS{5GAecjQ{x*|5*Ur|1tEO2WDgF{%>D}-G4pde*ne7%Gny)nEpHS z(7#+9003&D>*VcWZ|CF;0O+Xv(-i)3q!hT$X76bFFRS_bFBkrg8Aa2wiJY74vJ>|8tyiWcKgMSNTOr&(YsqS^ z^Q1T3A28)!J&GMW{cmQ#pe}${hX^1Lu#r}Y7(tRHu`(oT4xzVq3WmiCRIjhv^H(@* z9_Nc2$}j=AUu6Tqc626TNHuoe-7mM}!4b7d6!;qJ5(Qg2xaN}{H;Rs!Yn7QdaU7HN}j8-E_o zghvx~=M*2-CGKDrSV$ym!zD;Rb1yJN!pu%bGHZF!l1_J6T+XJ_q{;c#e(~e3r%t?y zi+#2)_RKO8Oac?)g7@_f=l&u0{?rDBJnb>V06+peOuywGOAN_@7>k{g@=&$9h0N~{=!dw)1fl|S+tY+d zS2`-1JdrLQ98*-hw?S}Mja#^+ZA}vJeaOdw>b-tY%pmo=VLjk`54h&F!XvYdzlvDUP#59VAWC}=iaYqmbC41Fu+1Ignod7$IDb5Ds9D6J;I}rdp_hFEXF21x+8w+5{V8d z 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 G{{Roxxs>z( literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Math-BoldItalic.woff2 b/docs/static/katex/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ba55276d03067f0c9f592d1d9e4faa43482b7454 GIT binary patch literal 21192 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Math-Italic.ttf b/docs/static/katex/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f148fceeb07b6482aeb5944dafd3749d62416327 GIT binary patch literal 44484 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 O)nJ$a0RRF2{{Rp8?Uzsh literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_Math-Italic.woff2 b/docs/static/katex/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9871ab6b83556fe1ebfe44fd44184d58432ff4ea GIT binary patch literal 21668 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 Zj7;W$;!FUjs5g250000100IC101w}UK;!@b literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_SansSerif-Bold.woff2 b/docs/static/katex/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6dd10388adaf48c986009e84fe140d000dc0d8b3 GIT binary patch literal 15296 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 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_SansSerif-Italic.woff b/docs/static/katex/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..f4fa252a2c1626909a43a41af1e57ca25ee0f176 GIT binary patch literal 17044 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 L00962|Nj6F18sz3 literal 0 HcmV?d00001 diff --git a/docs/static/katex/fonts/KaTeX_SansSerif-Italic.woff2 b/docs/static/katex/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9f2501a3aacb36edb18aa674188250d43992ff2e GIT binary patch literal 14484 zcmV;FIBUmuPew8T0RR91063HY4gdfE0CgMy0601T0RR9100000000000000000000 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

!AG)kX7kV-tKOUk{`qUTDeS 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≀3OAkL$d=KV)Qm=u9~s4s6G-Ua7*QJ?$EH!hjz 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 RG(*bVXgtvYKZ(}~d7&{6F{2|7d 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 H_tO6ZQ(ROY literal 0 HcmV?d00001 diff --git a/docs/static/img/p_ex_unstaked_dilution.png b/docs/static/img/p_ex_unstaked_dilution.png new file mode 100644 index 0000000000000000000000000000000000000000..a283011ac536498d6e8b6a055b02aceeb2961b94 GIT binary patch literal 389981 zcmeFZWmJ@HyFU!bkSZ#5BNCz@F@QHnOR0beNSCC*&?Q|%BZ>-0N|!VYFd!Y$-CYCH zJ#@$aocq6@wfEZkKJQxZen0LHx@Iw7uIr5B_|-8V6<$l-Ai7J0g@tuP`sE8HEUcTi zu(0q~3Gl#QD(h1Dv9NHd%$`42uy`)@+{V(zPTBUYAxsKp4YM;dRFZmzg~k8ni>i+4 zJykN1DtnU$4||j?p9DB$iQZtm5w7+mrKHkpdYacdN}6|qVa4chtLIyL4?lO+MT)$H zg2&%$ab!((W#0762PBgsC7h8&j1xoj%pxVnehMp}GS*{+xMR#Ji%_sFkG%wRqWe~b z2^z9ek)sjyl?C2@2GD#Y8`ge2&#YholB$E@CBzaCSXJG{|y*E1<75DYFC|>9kDz+fwHu{Bj-Xwlb zZPNGrA3^s$m;HJ7pmXdWdij<+lz$g)c;4*p3gQ0zSg94e(`t8SrJT6C zytu{_+v)E5;{3GQ_2nVlE=gc>)njGPKZ+gyJUu$XkG#q6gI9{A_~G*0Wzp2DTi2+} z?=DJvafGGa)Z(1ivC3HKmAOvIH$*2xv3}~KlzjD~_>-M?fhJzA;^!~&6YLdh>nDoM zJ(M0v9s#_$K3=sqiU}di-yR3n5Xos=yKTfQhBreoW}5AH6OW55pNuLh|9J%J-?Iko)T80KoMUGcsPHupa> zm-OM+cU;&Eu0c=b4#V#uNsZ8_W3MbFbf5B#TvUJNR?3Kzm=-9hO4h&PW|h@e9?gT^ zEPel=ljRJeQ*+*;SERiPW&sSwH7GWIH$iKI^rhzEft``lhQ2DciVV zsbTM|de;hXo?^Q{rukzt&EC761$7chm8<$`^kr2eUmUh{_IfRc=6iSF%(zpy{#9nO8fB69 z>iz>ua#{+z2HszaZ@G3KT_-Snra0ykmA`&Qk;IuOOmowaZYlFjyOu)@`{P*=&c58G zs;bJWZ3GLAnvEQPtvKoDhtG{ZNARi~m8~e!VT^g@Ulk5uC08?`s;n0Y_O?v;Dps1Y6u#& zAF?0ERYgLo#UT}ccKv6q=+4F&$6Rm;R@6OjpVkM~fAx0Yqagfy{u9W_dYZ2FNRj9n(XtI*}Z@82_@9cpdCg;#IAC&Oul$wCntHRUehKkj3^4-CxoFI5Qf$R1-oGKR?hMaYnvN^kH&_;oXPJeA_#`Xc1Gid_xw zh}u{raTR^B6(0K%5cs~jQ-9H0fUcX`;!+hZp5zwdKFePo4@^L;t*y!T?mKWE9BOfJ zs(tpw!Xcpd{-6CPz^EXSdH6m-919!wme~L3KOZq~tY;{K|M4RcEF@!L`wO@zj5GdE z9|;?mfPO*vf4D^8g~VXGm^H>M(zX9xq<_DT|GP;4etrJ=_J0@Y ze;4WhpPH160}AE;dzpO5R%p;n6ej|&yx49eDRtSIo1Jl7AJMFFJIM3AIIWlW!@J?@ zwLX+>sAcs-6&aT-jFZl>y`1DV5iekG*&fDN>aaR6Ych_6)z`VYx~f$J1#=^bTM(cxgL&S)B)xxhXj^cXrPnOkn3{|p~noDOq-E(zoDu=Ta z8xK+LHj~aX@OHRA1Zzo-yx4yqY9YroQh=j>d z^V{mHeU21o2$jP*ns!c-i{oYA3Z496VG^xvCp{%d!Nl>{pot)k|DC}c+rvJj$H}f* z%CmskOuNMnwfr|f^i$2dV|nE2IltWHK~6hOcC)JGeG{|k=cVGaj{ia{ENGoc)K;;a z=sq_>uG8jTob|G#AWiUfe{c}$*2^zH1L-_XNkop5g|E){O2LBq^QP{t<*4T7X;;`0 z{@|2O8`X91mi%&eabxZ?cTeGbuuzX?QU?*-Yt_9=)op*}?W1^G-`v!Kj0o)2NQ5TuM{}jD7I>Rf8(8$ z{WvUIbF$QGegwALfOJ9h`{AKH_T&bge|Xkj98P{G>3=P>Y2lEP8o7uOu+4mZQSb=GI?fZ=&oSh$K!= zV_yHt=3Qtum_dktYZrB0^o_+x9wFCvtD1w6Utd0zd|2ZrUyX_;FpBtzuDh}Z&zVuP z-9RiIA|pPwN_9~nar~rJwoUb7Uhhw z47s=Yati=gpiAvC3i+%^djO$qsiy{I7H{uh9Sb1;DX*~&z4NKBs$;i2mBoM`z%ty~Ckj@E-8M6yi&nz=mWb51iD z*}hPd@<4xYse5xZGpV$?`l;Sv#E{&#$Mq8>W`;?gr)IBCGnIe8 z!1UDM0(Z5fwS4<`FENix=AWToVv+>soo{LJCL;b!#m)3>$Yau~Y#dZtBK2J&Y+NEj z(>X6P@z=PwC=3=QScuPeTIoi>O+EvCMaJ>r^Y_<_gtp2bAphRJprB%;xqs`U7$VWa zgI}<~adTpLBwuUUB5JqNruL)-+$a;y+GB%`vSz&B2@E*#S)n)lj6VOV{Qv83V!Q-- zx-}C$PxoXet*bWklrvwCKVIPCYjNFM8fVFjS6VuZqmfK5$I}XCr4*E7|K6 zotY@Jv8mcXe&R9h`w5N|pBBH0HKZj+u8@Z?RKxhv0LUK?N$LmkgE;;fOoi>^JMiVt)j{O4`@ zzn{d$Z_|4hZrrmtB>Mw9q`!vyTI9q?2vlQk{f88?8$BO<9ut6LLvP?i%vs%cIB8S& z-EG)k9hN#6;)~^Vx|%sF6~ngFlR%A&|8U|LIH;RL%JM(1&X+~&jmBP#rs=rhK8c9~ zwDu#hY#eX*q(=C~qu24KRp?sx6sOqZ0{v%1I5A9*UAFb9h20!h3fG2nO_t;BgA<%4 z%*1E)SBM~Yp?bAbiQoiNi+GfGCkj`Ibw|~$xvx&y_ulX|4i;GY#!mgP+#g+rn_~K2 zEEd=9K$|qg=Hm3A{+b|@?6+G5f?Hg|mJ;<-G(t`#;GTS9q@c6+y;Uxv4AkPw}#n!9A)@`sK`pNY9JtBsvK_y7CSf);2L>&+x`usZl? z@O`rjIJ!RZcNFmQdJ=@BD&_S&b^<{8u{c}^m!Ei)2pn`j?;QYlMq~MGXeUsk zVx%S{Pq%-T%c)4UU&jtsHok{1dAsH(*!1cIOc~R{C2>?Nw8&j6jlo^o(fRq4ay`BT{k# zqc38bLZjMt?Tk^T+p}M#Xw8ULgl4_31vx$~L%FTfue|Zn8sr77U~9IX{cXa<+04~V zuI3OLA>KTegMVGJ|LplEXVb9-XIEX5GW90%*Sz zK}5QJx3au2EJXCuWyL33r>gYJJ%NE>k<*pF(vMG=)e-SDpi$R{(C(*N7S&xG#yJmr zU99Wz8Z>>N-%BaGANhy(zeyC)TMsvg{=HoN=PmPzATUiekLJ+Xm=6(sZR&f~5I~%7 zGgHe#MV!C@4%6zbZMhbkiIQy9te@N#gYWK*Nw!14O(db_GWt;V0CqQ+%jL0`pD|MG{`ByYJ_5UWe!3SNlN7Qgb+(dofD zW&Xt653a^F+An`lnId>F-E88viPyhr1j$V}!#S$NIM|5l-HyIm(69cIHN9c=@*1W> zT!VOE`+t-j>iwx>@DipX7L!TA{$^q73@r690J6XGIL(>?nlLY$@vJI~i{Unz@Fyg# zw#s^e<et-S2wYY=1<#!AOy$JLMr0o-)LYyC4|>$pN?^q&-(Ul>ezSlq*$3^uC!6=&q~Mj z_{JRdg2durB3v%H+2UT2y_;sUKYdWA%&hp=|I*Klw+kxEz5PJaWj*^}&wqD%rYk{c z)crB0g1XOre3S26i=Pt3xEciSGIcvUbv{@)H#1(O)oTLg{b zA^v|Jn%_PRux|gnMl$v`kY;H*g9*t>dLLk*TWyR!tg1N+16zfh0vy`_<_aERP;)7` z!Gh~)dF22U*GvaM=v>t^?qK7-(n*HKTSRf{S%(N8ej9Zwn|9)cyohE~@0sLS>j3Oz zB1nzUtk(B0_p(ZK>Aaqt!<^7uS5U?GkVw(J;E7+_S zqXlL+7I<~v+3 zs5^~~a+?MV=3B%n^GuV?jl=_ROkU@$so9J8=xFs3f`QUH3~>a=r?ILgMC7y$w8&+v z=ZrXv=Xa43t|%ToJr~sqyNf*Q=~{=9*dROxW}1 zqt=)2LT-v2&-&@2;;bv%L7&;O3Sa90OjHw4_3Aj+gJE^QIx`n)#gD(8M}mb9VgdKY zNt~|zw(9eJd* z)5%#kCWNjww5d6Ws=2y6I|M~=0ze|m*e5gvmf!@crAgkvQ2))s#+${@NrZ)P&hK%p84*G2}mm~GFfzq(8%YVMzxOqGuLXwcBZmTnj79p*{-`8b+LnbEh zwgH#=Zv%h8_1PY?f1?tox)uAx40)0X8b>L3T*^%*Hof(l$DZddXGe8cG#*aT>{`Z{ z-AaLHE2Q`iBXlO6rXAIVmcAMK8m1p{G2ZpD?-6LVu2`hdDz{B3ZUl6s{WbqDToZUT zQ9_zFoRuI2))}>cs z2`;gG6P`F1iFf0!29RgwR3VenNACs%Y+623@w)CV%u3a*pXV(?KK1m2<7Q~94O*J1 z5LgC3bP;o1-4EdzS9kEh+zEbj}MhsVdAgZHrN6+Utp$=o~Z7WlwG9^(?CYV?7{mCETV=gU^f z;OmS)xrh>@^@B^mMNJG_J`>Uo>YpVtu@^Yt&=n523wT-Ao-BPRjYzZ>bX;4Qiax*aSV;+FpzZ=afx5Cr z$FS)u0aw6#&7-wP==b*=?t#7QmT>W+Y^x8RtdWO7V*Cm{Dc*qeK^m$Dc-{Z8V{6 zTSfYXuKEE1fpi?lqca zCa8rW$~4qlP4`#&U5n@ktH*Gqm!06PIiLji=u{t#Q&4w>LVy+%27V0N}70 zp;8Sjl>x&lpbsU$TbMK+P3c9TyP3~k8R3_X8&hZ2w|#w(prh?LtlD$nkwmPn0~H&p z$j=H6x4#BqHPD3YmDGSHO5uLxPqGc;?WAzuPDe|bwCg}osS*X%!P)FO+t^ZH z%JUk-K@*{vhGmX-`D1<@)rX2YqmQ^460RKBy-=>pi#qUwVOM8xAyMJ-A~BSmD)D@< zj)-cF$K_>l4xV)(MtZXgm9;j&ui{g*9SFuOvwH!66LVibI7I1@^my0EDUg#^Hw&Jb#A_9zyOx zL#*HZ2~xuJv}LUEMfC;a)a@I;!z!OA#4nCqHpcYSng2_-{4WPGR12qQwuoLU#-_j^ zTzwPl%Mp)s)@yjY*X0SSbh^q}{#5#~L&O=}FAX5JZX!E5xM2gI$ zowNjSyGR4;eKXG39nJhEtNn#@>}z=6xGq@2HR~cgY{7@sEcqLG#8ziI!-Q}Yps|Ll`Q%hG<&9aMbR}e5S zfFInLRRe5pEh8B@Bl`~T?9WM6o27BtA(qezyQjtdwb0<0-h=?-R#i2$138S+W2c#N zvtNqt#ukeMd?r`DpgX2I^5SW@3}V`ly!Et&+NNaens0S3t4s-E+z|T;<%H<4tU-kc z|J4S%r8NfX!ME%25!3b@UZA=Axl2#iQFf`UXy0#Sji8xSN1kY>SvJ>NqKX1}G_Ni% z;8jV7m5IXcZe`gU(?x-Fu9FIXYOTJ&5UsE!8^`~>Gy$