From: Joshua Simmons Date: Mon, 26 May 2025 20:13:56 +0000 (+0200) Subject: Initial commit! X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=92780324a6d67c55f3b943331c25b8ced3fc2547;p=josh%2Fnegatv Initial commit! --- 92780324a6d67c55f3b943331c25b8ced3fc2547 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b1960e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +output/ \ No newline at end of file diff --git a/forest.toml b/forest.toml new file mode 100644 index 0000000..2b8511e --- /dev/null +++ b/forest.toml @@ -0,0 +1,4 @@ +[forest] +trees = ["trees" ] +assets = ["assets"] +url = "https://nega.tv/" diff --git a/new.fish b/new.fish new file mode 100755 index 0000000..96416b4 --- /dev/null +++ b/new.fish @@ -0,0 +1,17 @@ +#!/bin/fish + +set tree_root trees/ +set tree_id (tr -dc 'k-z' < /dev/urandom | head -c 16) +set tree_ext .tree + +set creation_date (date +%Y-%m-%d) + +set tree_path (string join '' $tree_root $tree_id $tree_ext) +echo vscode://file/(pwd)/$tree_path +echo > $tree_path "\ +\title{} +\author{joshuarsimmons} +\date{$creation_date} +\import{common-macros} +" + diff --git a/serve.fish b/serve.fish new file mode 100755 index 0000000..1395eee --- /dev/null +++ b/serve.fish @@ -0,0 +1,5 @@ +#!/bin/fish + +# yummy + +watchexec -r -- "forester build --dev && python3 -m http.server 8080 -d output" \ No newline at end of file diff --git a/theme/.gitignore b/theme/.gitignore new file mode 100644 index 0000000..fd4f2b0 --- /dev/null +++ b/theme/.gitignore @@ -0,0 +1,2 @@ +node_modules +.DS_Store diff --git a/theme/LICENSES/CC0-1.0.txt b/theme/LICENSES/CC0-1.0.txt new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/theme/LICENSES/CC0-1.0.txt @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/theme/LICENSES/MIT.txt b/theme/LICENSES/MIT.txt new file mode 100644 index 0000000..37c6433 --- /dev/null +++ b/theme/LICENSES/MIT.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013-2020 Khan Academy and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/theme/LICENSES/OFL-1.1.txt b/theme/LICENSES/OFL-1.1.txt new file mode 100644 index 0000000..59b0fae --- /dev/null +++ b/theme/LICENSES/OFL-1.1.txt @@ -0,0 +1,93 @@ +Copyright 2017 The Inria Sans Project Authors (https://github.com/BlackFoundryCom/InriaFonts) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/theme/android-chrome-192x192.png b/theme/android-chrome-192x192.png new file mode 100644 index 0000000..9ad1a6f Binary files /dev/null and b/theme/android-chrome-192x192.png differ diff --git a/theme/android-chrome-512x512.png b/theme/android-chrome-512x512.png new file mode 100644 index 0000000..50eb689 Binary files /dev/null and b/theme/android-chrome-512x512.png differ diff --git a/theme/apple-touch-icon.png b/theme/apple-touch-icon.png new file mode 100644 index 0000000..50e4273 Binary files /dev/null and b/theme/apple-touch-icon.png differ diff --git a/theme/bundle-js.sh b/theme/bundle-js.sh new file mode 100755 index 0000000..43cbffb --- /dev/null +++ b/theme/bundle-js.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +npm install + +./node_modules/.bin/esbuild --minify --bundle javascript-source/forester.js --outfile=forester.js + + diff --git a/theme/core.xsl b/theme/core.xsl new file mode 100644 index 0000000..5984523 --- /dev/null +++ b/theme/core.xsl @@ -0,0 +1,130 @@ + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +

+ +

+
+ + + + + + + + +
+      
+    
+
+ + + + + + + + + + + + + + +
    + +
+
+ + +
    + +
+
+ + +
  • + +
  • +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + \[ + + \] + + + + \( + + \) + + +
    diff --git a/theme/default.xsl b/theme/default.xsl new file mode 100644 index 0000000..a4ab714 --- /dev/null +++ b/theme/default.xsl @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/theme/favicon-16x16.png b/theme/favicon-16x16.png new file mode 100644 index 0000000..323abb4 Binary files /dev/null and b/theme/favicon-16x16.png differ diff --git a/theme/favicon-32x32.png b/theme/favicon-32x32.png new file mode 100644 index 0000000..026508c Binary files /dev/null and b/theme/favicon-32x32.png differ diff --git a/theme/favicon.ico b/theme/favicon.ico new file mode 100644 index 0000000..7edf66a Binary files /dev/null and b/theme/favicon.ico differ diff --git a/theme/fonts/KaTeX_AMS-Regular.ttf b/theme/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 0000000..c6f9a5e Binary files /dev/null and b/theme/fonts/KaTeX_AMS-Regular.ttf differ diff --git a/theme/fonts/KaTeX_AMS-Regular.woff b/theme/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 0000000..b804d7b Binary files /dev/null and b/theme/fonts/KaTeX_AMS-Regular.woff differ diff --git a/theme/fonts/KaTeX_AMS-Regular.woff2 b/theme/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000..0acaaff Binary files /dev/null and b/theme/fonts/KaTeX_AMS-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Caligraphic-Bold.ttf b/theme/fonts/KaTeX_Caligraphic-Bold.ttf new file mode 100644 index 0000000..9ff4a5e Binary files /dev/null and b/theme/fonts/KaTeX_Caligraphic-Bold.ttf differ diff --git a/theme/fonts/KaTeX_Caligraphic-Bold.woff b/theme/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 0000000..9759710 Binary files /dev/null and b/theme/fonts/KaTeX_Caligraphic-Bold.woff differ diff --git a/theme/fonts/KaTeX_Caligraphic-Bold.woff2 b/theme/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 0000000..f390922 Binary files /dev/null and b/theme/fonts/KaTeX_Caligraphic-Bold.woff2 differ diff --git a/theme/fonts/KaTeX_Caligraphic-Regular.ttf b/theme/fonts/KaTeX_Caligraphic-Regular.ttf new file mode 100644 index 0000000..f522294 Binary files /dev/null and b/theme/fonts/KaTeX_Caligraphic-Regular.ttf differ diff --git a/theme/fonts/KaTeX_Caligraphic-Regular.woff b/theme/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000..9bdd534 Binary files /dev/null and b/theme/fonts/KaTeX_Caligraphic-Regular.woff differ diff --git a/theme/fonts/KaTeX_Caligraphic-Regular.woff2 b/theme/fonts/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 0000000..75344a1 Binary files /dev/null and b/theme/fonts/KaTeX_Caligraphic-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Fraktur-Bold.ttf b/theme/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 0000000..4e98259 Binary files /dev/null and b/theme/fonts/KaTeX_Fraktur-Bold.ttf differ diff --git a/theme/fonts/KaTeX_Fraktur-Bold.woff b/theme/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 0000000..e7730f6 Binary files /dev/null and b/theme/fonts/KaTeX_Fraktur-Bold.woff differ diff --git a/theme/fonts/KaTeX_Fraktur-Bold.woff2 b/theme/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000..395f28b Binary files /dev/null and b/theme/fonts/KaTeX_Fraktur-Bold.woff2 differ diff --git a/theme/fonts/KaTeX_Fraktur-Regular.ttf b/theme/fonts/KaTeX_Fraktur-Regular.ttf new file mode 100644 index 0000000..b8461b2 Binary files /dev/null and b/theme/fonts/KaTeX_Fraktur-Regular.ttf differ diff --git a/theme/fonts/KaTeX_Fraktur-Regular.woff b/theme/fonts/KaTeX_Fraktur-Regular.woff new file mode 100644 index 0000000..acab069 Binary files /dev/null and b/theme/fonts/KaTeX_Fraktur-Regular.woff differ diff --git a/theme/fonts/KaTeX_Fraktur-Regular.woff2 b/theme/fonts/KaTeX_Fraktur-Regular.woff2 new file mode 100644 index 0000000..735f694 Binary files /dev/null and b/theme/fonts/KaTeX_Fraktur-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Main-Bold.ttf b/theme/fonts/KaTeX_Main-Bold.ttf new file mode 100644 index 0000000..4060e62 Binary files /dev/null and b/theme/fonts/KaTeX_Main-Bold.ttf differ diff --git a/theme/fonts/KaTeX_Main-Bold.woff b/theme/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 0000000..f38136a Binary files /dev/null and b/theme/fonts/KaTeX_Main-Bold.woff differ diff --git a/theme/fonts/KaTeX_Main-Bold.woff2 b/theme/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000..ab2ad21 Binary files /dev/null and b/theme/fonts/KaTeX_Main-Bold.woff2 differ diff --git a/theme/fonts/KaTeX_Main-BoldItalic.ttf b/theme/fonts/KaTeX_Main-BoldItalic.ttf new file mode 100644 index 0000000..dc00797 Binary files /dev/null and b/theme/fonts/KaTeX_Main-BoldItalic.ttf differ diff --git a/theme/fonts/KaTeX_Main-BoldItalic.woff b/theme/fonts/KaTeX_Main-BoldItalic.woff new file mode 100644 index 0000000..67807b0 Binary files /dev/null and b/theme/fonts/KaTeX_Main-BoldItalic.woff differ diff --git a/theme/fonts/KaTeX_Main-BoldItalic.woff2 b/theme/fonts/KaTeX_Main-BoldItalic.woff2 new file mode 100644 index 0000000..5931794 Binary files /dev/null and b/theme/fonts/KaTeX_Main-BoldItalic.woff2 differ diff --git a/theme/fonts/KaTeX_Main-Italic.ttf b/theme/fonts/KaTeX_Main-Italic.ttf new file mode 100644 index 0000000..0e9b0f3 Binary files /dev/null and b/theme/fonts/KaTeX_Main-Italic.ttf differ diff --git a/theme/fonts/KaTeX_Main-Italic.woff b/theme/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 0000000..6f43b59 Binary files /dev/null and b/theme/fonts/KaTeX_Main-Italic.woff differ diff --git a/theme/fonts/KaTeX_Main-Italic.woff2 b/theme/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000..b50920e Binary files /dev/null and b/theme/fonts/KaTeX_Main-Italic.woff2 differ diff --git a/theme/fonts/KaTeX_Main-Regular.ttf b/theme/fonts/KaTeX_Main-Regular.ttf new file mode 100644 index 0000000..dd45e1e Binary files /dev/null and b/theme/fonts/KaTeX_Main-Regular.ttf differ diff --git a/theme/fonts/KaTeX_Main-Regular.woff b/theme/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 0000000..21f5812 Binary files /dev/null and b/theme/fonts/KaTeX_Main-Regular.woff differ diff --git a/theme/fonts/KaTeX_Main-Regular.woff2 b/theme/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000..eb24a7b Binary files /dev/null and b/theme/fonts/KaTeX_Main-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Math-BoldItalic.ttf b/theme/fonts/KaTeX_Math-BoldItalic.ttf new file mode 100644 index 0000000..728ce7a Binary files /dev/null and b/theme/fonts/KaTeX_Math-BoldItalic.ttf differ diff --git a/theme/fonts/KaTeX_Math-BoldItalic.woff b/theme/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000..0ae390d Binary files /dev/null and b/theme/fonts/KaTeX_Math-BoldItalic.woff differ diff --git a/theme/fonts/KaTeX_Math-BoldItalic.woff2 b/theme/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000..2965702 Binary files /dev/null and b/theme/fonts/KaTeX_Math-BoldItalic.woff2 differ diff --git a/theme/fonts/KaTeX_Math-Italic.ttf b/theme/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 0000000..70d559b Binary files /dev/null and b/theme/fonts/KaTeX_Math-Italic.ttf differ diff --git a/theme/fonts/KaTeX_Math-Italic.woff b/theme/fonts/KaTeX_Math-Italic.woff new file mode 100644 index 0000000..eb5159d Binary files /dev/null and b/theme/fonts/KaTeX_Math-Italic.woff differ diff --git a/theme/fonts/KaTeX_Math-Italic.woff2 b/theme/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 0000000..215c143 Binary files /dev/null and b/theme/fonts/KaTeX_Math-Italic.woff2 differ diff --git a/theme/fonts/KaTeX_SansSerif-Bold.ttf b/theme/fonts/KaTeX_SansSerif-Bold.ttf new file mode 100644 index 0000000..2f65a8a Binary files /dev/null and b/theme/fonts/KaTeX_SansSerif-Bold.ttf differ diff --git a/theme/fonts/KaTeX_SansSerif-Bold.woff b/theme/fonts/KaTeX_SansSerif-Bold.woff new file mode 100644 index 0000000..8d47c02 Binary files /dev/null and b/theme/fonts/KaTeX_SansSerif-Bold.woff differ diff --git a/theme/fonts/KaTeX_SansSerif-Bold.woff2 b/theme/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 0000000..cfaa3bd Binary files /dev/null and b/theme/fonts/KaTeX_SansSerif-Bold.woff2 differ diff --git a/theme/fonts/KaTeX_SansSerif-Italic.ttf b/theme/fonts/KaTeX_SansSerif-Italic.ttf new file mode 100644 index 0000000..d5850df Binary files /dev/null and b/theme/fonts/KaTeX_SansSerif-Italic.ttf differ diff --git a/theme/fonts/KaTeX_SansSerif-Italic.woff b/theme/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000..7e02df9 Binary files /dev/null and b/theme/fonts/KaTeX_SansSerif-Italic.woff differ diff --git a/theme/fonts/KaTeX_SansSerif-Italic.woff2 b/theme/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 0000000..349c06d Binary files /dev/null and b/theme/fonts/KaTeX_SansSerif-Italic.woff2 differ diff --git a/theme/fonts/KaTeX_SansSerif-Regular.ttf b/theme/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 0000000..537279f Binary files /dev/null and b/theme/fonts/KaTeX_SansSerif-Regular.ttf differ diff --git a/theme/fonts/KaTeX_SansSerif-Regular.woff b/theme/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 0000000..31b8482 Binary files /dev/null and b/theme/fonts/KaTeX_SansSerif-Regular.woff differ diff --git a/theme/fonts/KaTeX_SansSerif-Regular.woff2 b/theme/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 0000000..a90eea8 Binary files /dev/null and b/theme/fonts/KaTeX_SansSerif-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Script-Regular.ttf b/theme/fonts/KaTeX_Script-Regular.ttf new file mode 100644 index 0000000..fd679bf Binary files /dev/null and b/theme/fonts/KaTeX_Script-Regular.ttf differ diff --git a/theme/fonts/KaTeX_Script-Regular.woff b/theme/fonts/KaTeX_Script-Regular.woff new file mode 100644 index 0000000..0e7da82 Binary files /dev/null and b/theme/fonts/KaTeX_Script-Regular.woff differ diff --git a/theme/fonts/KaTeX_Script-Regular.woff2 b/theme/fonts/KaTeX_Script-Regular.woff2 new file mode 100644 index 0000000..b3048fc Binary files /dev/null and b/theme/fonts/KaTeX_Script-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Size1-Regular.ttf b/theme/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 0000000..871fd7d Binary files /dev/null and b/theme/fonts/KaTeX_Size1-Regular.ttf differ diff --git a/theme/fonts/KaTeX_Size1-Regular.woff b/theme/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 0000000..7f292d9 Binary files /dev/null and b/theme/fonts/KaTeX_Size1-Regular.woff differ diff --git a/theme/fonts/KaTeX_Size1-Regular.woff2 b/theme/fonts/KaTeX_Size1-Regular.woff2 new file mode 100644 index 0000000..c5a8462 Binary files /dev/null and b/theme/fonts/KaTeX_Size1-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Size2-Regular.ttf b/theme/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 0000000..7a212ca Binary files /dev/null and b/theme/fonts/KaTeX_Size2-Regular.ttf differ diff --git a/theme/fonts/KaTeX_Size2-Regular.woff b/theme/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 0000000..d241d9b Binary files /dev/null and b/theme/fonts/KaTeX_Size2-Regular.woff differ diff --git a/theme/fonts/KaTeX_Size2-Regular.woff2 b/theme/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000..e1bccfe Binary files /dev/null and b/theme/fonts/KaTeX_Size2-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Size3-Regular.ttf b/theme/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 0000000..00bff34 Binary files /dev/null and b/theme/fonts/KaTeX_Size3-Regular.ttf differ diff --git a/theme/fonts/KaTeX_Size3-Regular.woff b/theme/fonts/KaTeX_Size3-Regular.woff new file mode 100644 index 0000000..e6e9b65 Binary files /dev/null and b/theme/fonts/KaTeX_Size3-Regular.woff differ diff --git a/theme/fonts/KaTeX_Size3-Regular.woff2 b/theme/fonts/KaTeX_Size3-Regular.woff2 new file mode 100644 index 0000000..249a286 Binary files /dev/null and b/theme/fonts/KaTeX_Size3-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Size4-Regular.ttf b/theme/fonts/KaTeX_Size4-Regular.ttf new file mode 100644 index 0000000..74f0892 Binary files /dev/null and b/theme/fonts/KaTeX_Size4-Regular.ttf differ diff --git a/theme/fonts/KaTeX_Size4-Regular.woff b/theme/fonts/KaTeX_Size4-Regular.woff new file mode 100644 index 0000000..e1ec545 Binary files /dev/null and b/theme/fonts/KaTeX_Size4-Regular.woff differ diff --git a/theme/fonts/KaTeX_Size4-Regular.woff2 b/theme/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 0000000..680c130 Binary files /dev/null and b/theme/fonts/KaTeX_Size4-Regular.woff2 differ diff --git a/theme/fonts/KaTeX_Typewriter-Regular.ttf b/theme/fonts/KaTeX_Typewriter-Regular.ttf new file mode 100644 index 0000000..c83252c Binary files /dev/null and b/theme/fonts/KaTeX_Typewriter-Regular.ttf differ diff --git a/theme/fonts/KaTeX_Typewriter-Regular.woff b/theme/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 0000000..2432419 Binary files /dev/null and b/theme/fonts/KaTeX_Typewriter-Regular.woff differ diff --git a/theme/fonts/KaTeX_Typewriter-Regular.woff2 b/theme/fonts/KaTeX_Typewriter-Regular.woff2 new file mode 100644 index 0000000..771f1af Binary files /dev/null and b/theme/fonts/KaTeX_Typewriter-Regular.woff2 differ diff --git a/theme/fonts/inria-sans-v14-latin_latin-ext-300.woff2 b/theme/fonts/inria-sans-v14-latin_latin-ext-300.woff2 new file mode 100644 index 0000000..16bf581 Binary files /dev/null and b/theme/fonts/inria-sans-v14-latin_latin-ext-300.woff2 differ diff --git a/theme/fonts/inria-sans-v14-latin_latin-ext-300italic.woff2 b/theme/fonts/inria-sans-v14-latin_latin-ext-300italic.woff2 new file mode 100644 index 0000000..52c597b Binary files /dev/null and b/theme/fonts/inria-sans-v14-latin_latin-ext-300italic.woff2 differ diff --git a/theme/fonts/inria-sans-v14-latin_latin-ext-700.woff2 b/theme/fonts/inria-sans-v14-latin_latin-ext-700.woff2 new file mode 100644 index 0000000..1de273d Binary files /dev/null and b/theme/fonts/inria-sans-v14-latin_latin-ext-700.woff2 differ diff --git a/theme/fonts/inria-sans-v14-latin_latin-ext-700italic.woff2 b/theme/fonts/inria-sans-v14-latin_latin-ext-700italic.woff2 new file mode 100644 index 0000000..7df1e35 Binary files /dev/null and b/theme/fonts/inria-sans-v14-latin_latin-ext-700italic.woff2 differ diff --git a/theme/fonts/inria-sans-v14-latin_latin-ext-italic.woff2 b/theme/fonts/inria-sans-v14-latin_latin-ext-italic.woff2 new file mode 100644 index 0000000..d6d418f Binary files /dev/null and b/theme/fonts/inria-sans-v14-latin_latin-ext-italic.woff2 differ diff --git a/theme/fonts/inria-sans-v14-latin_latin-ext-regular.woff2 b/theme/fonts/inria-sans-v14-latin_latin-ext-regular.woff2 new file mode 100644 index 0000000..389c173 Binary files /dev/null and b/theme/fonts/inria-sans-v14-latin_latin-ext-regular.woff2 differ diff --git a/theme/forester.js b/theme/forester.js new file mode 100644 index 0000000..2c8473d --- /dev/null +++ b/theme/forester.js @@ -0,0 +1,876 @@ +(()=>{var ht=window,ct=ht.ShadowRoot&&(ht.ShadyCSS===void 0||ht.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,or=Symbol(),ba=new WeakMap,He=class{constructor(e,t,a){if(this._$cssResult$=!0,a!==or)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(ct&&e===void 0){let a=t!==void 0&&t.length===1;a&&(e=ba.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),a&&ba.set(t,e))}return e}toString(){return this.cssText}},xa=r=>new He(typeof r=="string"?r:r+"",void 0,or),j0=(r,...e)=>{let t=r.length===1?r[0]:e.reduce((a,n,i)=>a+(l=>{if(l._$cssResult$===!0)return l.cssText;if(typeof l=="number")return l;throw Error("Value passed to 'css' function must be a 'css' function result: "+l+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+r[i+1],r[0]);return new He(t,r,or)},ur=(r,e)=>{ct?r.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet):e.forEach(t=>{let a=document.createElement("style"),n=ht.litNonce;n!==void 0&&a.setAttribute("nonce",n),a.textContent=t.cssText,r.appendChild(a)})},dt=ct?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(let a of e.cssRules)t+=a.cssText;return xa(t)})(r):r;var hr,mt=window,wa=mt.trustedTypes,Ii=wa?wa.emptyScript:"",ka=mt.reactiveElementPolyfillSupport,dr={toAttribute(r,e){switch(e){case Boolean:r=r?Ii:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,e){let t=r;switch(e){case Boolean:t=r!==null;break;case Number:t=r===null?null:Number(r);break;case Object:case Array:try{t=JSON.parse(r)}catch{t=null}}return t}},Sa=(r,e)=>e!==r&&(e==e||r==r),cr={attribute:!0,type:String,converter:dr,reflect:!1,hasChanged:Sa},mr="finalized",F0=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),((t=this.h)!==null&&t!==void 0?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();let e=[];return this.elementProperties.forEach((t,a)=>{let n=this._$Ep(a,t);n!==void 0&&(this._$Ev.set(n,a),e.push(n))}),e}static createProperty(e,t=cr){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){let a=typeof e=="symbol"?Symbol():"__"+e,n=this.getPropertyDescriptor(e,a,t);n!==void 0&&Object.defineProperty(this.prototype,e,n)}}static getPropertyDescriptor(e,t,a){return{get(){return this[t]},set(n){let i=this[e];this[t]=n,this.requestUpdate(e,i,a)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||cr}static finalize(){if(this.hasOwnProperty(mr))return!1;this[mr]=!0;let e=Object.getPrototypeOf(this);if(e.finalize(),e.h!==void 0&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let t=this.properties,a=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(let n of a)this.createProperty(n,t[n])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let a=new Set(e.flat(1/0).reverse());for(let n of a)t.unshift(dt(n))}else e!==void 0&&t.push(dt(e));return t}static _$Ep(e,t){let a=t.attribute;return a===!1?void 0:typeof a=="string"?a:typeof e=="string"?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(e=this.constructor.h)===null||e===void 0||e.forEach(t=>t(this))}addController(e){var t,a;((t=this._$ES)!==null&&t!==void 0?t:this._$ES=[]).push(e),this.renderRoot!==void 0&&this.isConnected&&((a=e.hostConnected)===null||a===void 0||a.call(e))}removeController(e){var t;(t=this._$ES)===null||t===void 0||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])})}createRenderRoot(){var e;let t=(e=this.shadowRoot)!==null&&e!==void 0?e:this.attachShadow(this.constructor.shadowRootOptions);return ur(t,this.constructor.elementStyles),t}connectedCallback(){var e;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$ES)===null||e===void 0||e.forEach(t=>{var a;return(a=t.hostConnected)===null||a===void 0?void 0:a.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$ES)===null||e===void 0||e.forEach(t=>{var a;return(a=t.hostDisconnected)===null||a===void 0?void 0:a.call(t)})}attributeChangedCallback(e,t,a){this._$AK(e,a)}_$EO(e,t,a=cr){var n;let i=this.constructor._$Ep(e,a);if(i!==void 0&&a.reflect===!0){let l=(((n=a.converter)===null||n===void 0?void 0:n.toAttribute)!==void 0?a.converter:dr).toAttribute(t,a.type);this._$El=e,l==null?this.removeAttribute(i):this.setAttribute(i,l),this._$El=null}}_$AK(e,t){var a;let n=this.constructor,i=n._$Ev.get(e);if(i!==void 0&&this._$El!==i){let l=n.getPropertyOptions(i),u=typeof l.converter=="function"?{fromAttribute:l.converter}:((a=l.converter)===null||a===void 0?void 0:a.fromAttribute)!==void 0?l.converter:dr;this._$El=i,this[i]=u.fromAttribute(t,l.type),this._$El=null}}requestUpdate(e,t,a){let n=!0;e!==void 0&&(((a=a||this.constructor.getPropertyOptions(e)).hasChanged||Sa)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),a.reflect===!0&&this._$El!==e&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(e,a))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((n,i)=>this[i]=n),this._$Ei=void 0);let t=!1,a=this._$AL;try{t=this.shouldUpdate(a),t?(this.willUpdate(a),(e=this._$ES)===null||e===void 0||e.forEach(n=>{var i;return(i=n.hostUpdate)===null||i===void 0?void 0:i.call(n)}),this.update(a)):this._$Ek()}catch(n){throw t=!1,this._$Ek(),n}t&&this._$AE(a)}willUpdate(e){}_$AE(e){var t;(t=this._$ES)===null||t===void 0||t.forEach(a=>{var n;return(n=a.hostUpdated)===null||n===void 0?void 0:n.call(a)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){this._$EC!==void 0&&(this._$EC.forEach((t,a)=>this._$EO(a,this[a],t)),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}};F0[mr]=!0,F0.elementProperties=new Map,F0.elementStyles=[],F0.shadowRootOptions={mode:"open"},ka?.({ReactiveElement:F0}),((hr=mt.reactiveElementVersions)!==null&&hr!==void 0?hr:mt.reactiveElementVersions=[]).push("1.6.3");var fr,ft=window,Ce=ft.trustedTypes,Aa=Ce?Ce.createPolicy("lit-html",{createHTML:r=>r}):void 0,pt="$lit$",U0=`lit$${(Math.random()+"").slice(9)}$`,vr="?"+U0,Pi=`<${vr}>`,me=document,Pe=()=>me.createComment(""),Le=r=>r===null||typeof r!="object"&&typeof r!="function",Da=Array.isArray,$a=r=>Da(r)||typeof r?.[Symbol.iterator]=="function",pr=`[ +\f\r]`,Ie=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ma=/-->/g,Ta=/>/g,ce=RegExp(`>|${pr}(?:([^\\s"'>=/]+)(${pr}*=${pr}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),za=/'/g,Ca=/"/g,Na=/^(?:script|style|textarea|title)$/i,Oa=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),r0=Oa(1),ll=Oa(2),o0=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),Ea=new WeakMap,de=me.createTreeWalker(me,129,null,!1);function Ra(r,e){if(!Array.isArray(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return Aa!==void 0?Aa.createHTML(e):e}var _a=(r,e)=>{let t=r.length-1,a=[],n,i=e===2?"":"",l=Ie;for(let u=0;u"?(l=n??Ie,g=-1):v[1]===void 0?g=-2:(g=l.lastIndex-v[2].length,m=v[1],l=v[3]===void 0?ce:v[3]==='"'?Ca:za):l===Ca||l===za?l=ce:l===Ma||l===Ta?l=Ie:(l=ce,n=void 0);let x=l===ce&&r[u+1].startsWith("/>")?" ":"";i+=l===Ie?h+Pi:g>=0?(a.push(m),h.slice(0,g)+pt+h.slice(g)+U0+x):h+U0+(g===-2?(a.push(void 0),u):x)}return[Ra(r,i+(r[t]||"")+(e===2?"":"")),a]},je=class r{constructor({strings:e,_$litType$:t},a){let n;this.parts=[];let i=0,l=0,u=e.length-1,h=this.parts,[m,v]=_a(e,t);if(this.el=r.createElement(m,a),de.currentNode=this.el.content,t===2){let g=this.el.content,b=g.firstChild;b.remove(),g.append(...b.childNodes)}for(;(n=de.nextNode())!==null&&h.length0){n.textContent=Ce?Ce.emptyScript:"";for(let x=0;x2||a[0]!==""||a[1]!==""?(this._$AH=Array(a.length-1).fill(new String),this.strings=a):this._$AH=G}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,t=this,a,n){let i=this.strings,l=!1;if(i===void 0)e=fe(this,e,t,0),l=!Le(e)||e!==this._$AH&&e!==o0,l&&(this._$AH=e);else{let u=e,h,m;for(e=i[0],h=0;h{var a,n;let i=(a=t?.renderBefore)!==null&&a!==void 0?a:e,l=i._$litPart$;if(l===void 0){let u=(n=t?.renderBefore)!==null&&n!==void 0?n:null;i._$litPart$=l=new Ee(e.insertBefore(Pe(),u),u,void 0,t??{})}return l._$AI(r),l};var gr,yr;var g0=class extends F0{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,t;let a=super.createRenderRoot();return(e=(t=this.renderOptions).renderBefore)!==null&&e!==void 0||(t.renderBefore=a.firstChild),a}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Ha(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!1)}render(){return o0}};g0.finalized=!0,g0._$litElement$=!0,(gr=globalThis.litElementHydrateSupport)===null||gr===void 0||gr.call(globalThis,{LitElement:g0});var Ia=globalThis.litElementPolyfillSupport;Ia?.({LitElement:g0});((yr=globalThis.litElementVersions)!==null&&yr!==void 0?yr:globalThis.litElementVersions=[]).push("3.3.3");var ae=r=>e=>typeof e=="function"?((t,a)=>(customElements.define(t,a),a))(r,e):((t,a)=>{let{kind:n,elements:i}=a;return{kind:n,elements:i,finisher(l){customElements.define(t,l)}}})(r,e);var ji=(r,e)=>e.kind==="method"&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(t){t.createProperty(e.key,r)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){typeof e.initializer=="function"&&(this[e.key]=e.initializer.call(this))},finisher(t){t.createProperty(e.key,r)}},Fi=(r,e,t)=>{e.constructor.createProperty(t,r)};function W(r){return(e,t)=>t!==void 0?Fi(r,e,t):ji(r,e)}function V0(r){return W({...r,state:!0})}var br,$l=((br=window.HTMLSlotElement)===null||br===void 0?void 0:br.prototype.assignedElements)!=null?(r,e)=>r.assignedElements(e):(r,e)=>r.assignedNodes(e).filter(t=>t.nodeType===Node.ELEMENT_NODE);var c0={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},D0=r=>(...e)=>({_$litDirective$:r,values:e}),S0=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,a){this._$Ct=e,this._$AM=t,this._$Ci=a}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var{I:Ui}=qa;var wt=r=>r.strings===void 0,Pa=()=>document.createComment(""),Be=(r,e,t)=>{var a;let n=r._$AA.parentNode,i=e===void 0?r._$AB:e._$AA;if(t===void 0){let l=n.insertBefore(Pa(),i),u=n.insertBefore(Pa(),i);t=new Ui(l,u,r,r.options)}else{let l=t._$AB.nextSibling,u=t._$AM,h=u!==r;if(h){let m;(a=t._$AQ)===null||a===void 0||a.call(t,r),t._$AM=r,t._$AP!==void 0&&(m=r._$AU)!==u._$AU&&t._$AP(m)}if(l!==i||h){let m=t._$AA;for(;m!==l;){let v=m.nextSibling;n.insertBefore(m,i),m=v}}}return t},ne=(r,e,t=r)=>(r._$AI(e,t),r),Vi={},kt=(r,e=Vi)=>r._$AH=e,La=r=>r._$AH,St=r=>{var e;(e=r._$AP)===null||e===void 0||e.call(r,!1,!0);let t=r._$AA,a=r._$AB.nextSibling;for(;t!==a;){let n=t.nextSibling;t.remove(),t=n}};var ja=(r,e,t)=>{let a=new Map;for(let n=e;n<=t;n++)a.set(r[n],n);return a},Fa=D0(class extends S0{constructor(r){if(super(r),r.type!==c0.CHILD)throw Error("repeat() can only be used in text expressions")}ct(r,e,t){let a;t===void 0?t=e:e!==void 0&&(a=e);let n=[],i=[],l=0;for(let u of r)n[l]=a?a(u,l):l,i[l]=t(u,l),l++;return{values:i,keys:n}}render(r,e,t){return this.ct(r,e,t).values}update(r,[e,t,a]){var n;let i=La(r),{values:l,keys:u}=this.ct(e,t,a);if(!Array.isArray(i))return this.ut=u,l;let h=(n=this.ut)!==null&&n!==void 0?n:this.ut=[],m=[],v,g,b=0,x=i.length-1,k=0,A=l.length-1;for(;b<=x&&k<=A;)if(i[b]===null)b++;else if(i[x]===null)x--;else if(h[b]===u[k])m[k]=ne(i[b],l[k]),b++,k++;else if(h[x]===u[A])m[A]=ne(i[x],l[A]),x--,A--;else if(h[b]===u[A])m[A]=ne(i[b],l[A]),Be(r,m[A+1],i[b]),b++,A--;else if(h[x]===u[k])m[k]=ne(i[x],l[k]),Be(r,i[b],i[x]),x--,k++;else if(v===void 0&&(v=ja(u,k,A),g=ja(h,b,x)),v.has(h[b]))if(v.has(h[x])){let C=g.get(u[k]),B=C!==void 0?i[C]:null;if(B===null){let R=Be(r,i[b]);ne(R,l[k]),m[k]=R}else m[k]=ne(B,l[k]),Be(r,i[b],B),i[C]=null;k++}else St(i[x]),x--;else St(i[b]),b++;for(;k<=A;){let C=Be(r,m[A+1]);ne(C,l[k]),m[k++]=C}for(;b<=x;){let C=i[b++];C!==null&&St(C)}return this.ut=u,kt(r,m),o0}});var Ua=D0(class extends S0{constructor(r){if(super(r),r.type!==c0.PROPERTY&&r.type!==c0.ATTRIBUTE&&r.type!==c0.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!wt(r))throw Error("`live` bindings can only contain a single expression")}render(r){return r}update(r,[e]){if(e===o0||e===G)return e;let t=r.element,a=r.name;if(r.type===c0.PROPERTY){if(e===t[a])return o0}else if(r.type===c0.BOOLEAN_ATTRIBUTE){if(!!e===t.hasAttribute(a))return o0}else if(r.type===c0.ATTRIBUTE&&t.getAttribute(a)===e+"")return o0;return kt(r),e}});var Ue=(r,e)=>{var t,a;let n=r._$AN;if(n===void 0)return!1;for(let i of n)(a=(t=i)._$AO)===null||a===void 0||a.call(t,e,!1),Ue(i,e);return!0},At=r=>{let e,t;do{if((e=r._$AM)===void 0)break;t=e._$AN,t.delete(r),r=e}while(t?.size===0)},Va=r=>{for(let e;e=r._$AM;r=e){let t=e._$AN;if(t===void 0)e._$AN=t=new Set;else if(t.has(r))break;t.add(r),Wi(e)}};function Gi(r){this._$AN!==void 0?(At(this),this._$AM=r,Va(this)):this._$AM=r}function Ki(r,e=!1,t=0){let a=this._$AH,n=this._$AN;if(n!==void 0&&n.size!==0)if(e)if(Array.isArray(a))for(let i=t;i{var e,t,a,n;r.type==c0.CHILD&&((e=(a=r)._$AP)!==null&&e!==void 0||(a._$AP=Ki),(t=(n=r)._$AQ)!==null&&t!==void 0||(n._$AQ=Gi))},Mt=class extends S0{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,a){super._$AT(e,t,a),Va(this),this.isConnected=e._$AU}_$AO(e,t=!0){var a,n;e!==this.isConnected&&(this.isConnected=e,e?(a=this.reconnected)===null||a===void 0||a.call(this):(n=this.disconnected)===null||n===void 0||n.call(this)),t&&(Ue(this,e),At(this))}setValue(e){if(wt(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}};var Tt=()=>new wr,wr=class{},xr=new WeakMap,zt=D0(class extends Mt{render(r){return G}update(r,[e]){var t;let a=e!==this.G;return a&&this.G!==void 0&&this.ot(void 0),(a||this.rt!==this.lt)&&(this.G=e,this.dt=(t=r.options)===null||t===void 0?void 0:t.host,this.ot(this.lt=r.element)),G}ot(r){var e;if(typeof this.G=="function"){let t=(e=this.dt)!==null&&e!==void 0?e:globalThis,a=xr.get(t);a===void 0&&(a=new WeakMap,xr.set(t,a)),a.get(this.G)!==void 0&&this.G.call(this.dt,void 0),a.set(this.G,r),r!==void 0&&this.G.call(this.dt,r)}else this.G.value=r}get rt(){var r,e,t;return typeof this.G=="function"?(e=xr.get((r=this.dt)!==null&&r!==void 0?r:globalThis))===null||e===void 0?void 0:e.get(this.G):(t=this.G)===null||t===void 0?void 0:t.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}});var Ve=D0(class extends S0{constructor(r){var e;if(super(r),r.type!==c0.ATTRIBUTE||r.name!=="class"||((e=r.strings)===null||e===void 0?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(r){return" "+Object.keys(r).filter(e=>r[e]).join(" ")+" "}update(r,[e]){var t,a;if(this.it===void 0){this.it=new Set,r.strings!==void 0&&(this.nt=new Set(r.strings.join(" ").split(/\s/).filter(i=>i!=="")));for(let i in e)e[i]&&!(!((t=this.nt)===null||t===void 0)&&t.has(i))&&this.it.add(i);return this.render(e)}let n=r.element.classList;this.it.forEach(i=>{i in e||(n.remove(i),this.it.delete(i))});for(let i in e){let l=!!e[i];l===this.it.has(i)||!((a=this.nt)===null||a===void 0)&&a.has(i)||(l?(n.add(i),this.it.add(i)):(n.remove(i),this.it.delete(i)))}return o0}});var kr=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1;function Sr(r,e,t){r.addEventListener?r.addEventListener(e,t,!1):r.attachEvent&&r.attachEvent("on".concat(e),function(){t(window.event)})}function Xa(r,e){for(var t=e.slice(0,e.length-1),a=0;a=0;)e[t-1]+=",",e.splice(t,1),t=e.lastIndexOf("");return e}function Yi(r,e){for(var t=r.length>=e.length?r:e,a=r.length>=e.length?e:r,n=!0,i=0;i=0&&Y.splice(t,1),r.key&&r.key.toLowerCase()==="meta"&&Y.splice(0,Y.length),(e===93||e===224)&&(e=91),e in h0){h0[e]=!1;for(var a in ve)ve[a]===e&&(G0[a]=!1)}}function ts(r){if(!r)Object.keys(u0).forEach(function(l){return delete u0[l]});else if(Array.isArray(r))r.forEach(function(l){l.key&&Ar(l)});else if(typeof r=="object")r.key&&Ar(r);else if(typeof r=="string"){for(var e=arguments.length,t=new Array(e>1?e-1:0),a=1;a1?Xa(ve,m):[];u0[b]=u0[b].map(function(k){var A=n?k.method===n:!0;return A&&k.scope===a&&Yi(k.mods,x)?{}:k})}})};function Ka(r,e,t){var a;if(e.scope===t||e.scope==="all"){a=e.mods.length>0;for(var n in h0)Object.prototype.hasOwnProperty.call(h0,n)&&(!h0[n]&&e.mods.indexOf(+n)>-1||h0[n]&&e.mods.indexOf(+n)===-1)&&(a=!1);(e.mods.length===0&&!h0[16]&&!h0[18]&&!h0[17]&&!h0[91]||a||e.shortcut==="*")&&e.method(r,e)===!1&&(r.preventDefault?r.preventDefault():r.returnValue=!1,r.stopPropagation&&r.stopPropagation(),r.cancelBubble&&(r.cancelBubble=!0))}}function Wa(r){var e=u0["*"],t=r.keyCode||r.which||r.charCode;if(G0.filter.call(this,r)){if((t===93||t===224)&&(t=91),Y.indexOf(t)===-1&&t!==229&&Y.push(t),["ctrlKey","altKey","shiftKey","metaKey"].forEach(function(x){var k=Ga[x];r[x]&&Y.indexOf(k)===-1?Y.push(k):!r[x]&&Y.indexOf(k)>-1?Y.splice(Y.indexOf(k),1):x==="metaKey"&&r[x]&&Y.length===3&&(r.ctrlKey||r.shiftKey||r.altKey||(Y=Y.slice(Y.indexOf(k))))}),t in h0){h0[t]=!0;for(var a in ve)ve[a]===t&&(G0[a]=!0);if(!e)return}for(var n in h0)Object.prototype.hasOwnProperty.call(h0,n)&&(h0[n]=r[Ga[n]]);r.getModifierState&&!(r.altKey&&!r.ctrlKey)&&r.getModifierState("AltGraph")&&(Y.indexOf(17)===-1&&Y.push(17),Y.indexOf(18)===-1&&Y.push(18),h0[17]=!0,h0[18]=!0);var i=Ke();if(e)for(var l=0;l-1}function G0(r,e,t){Y=[];var a=Za(r),n=[],i="all",l=document,u=0,h=!1,m=!0,v="+";for(t===void 0&&typeof e=="function"&&(t=e),Object.prototype.toString.call(e)==="[object Object]"&&(e.scope&&(i=e.scope),e.element&&(l=e.element),e.keyup&&(h=e.keyup),e.keydown!==void 0&&(m=e.keydown),typeof e.splitKey=="string"&&(v=e.splitKey)),typeof e=="string"&&(i=e);u1&&(n=Xa(ve,r)),r=r[r.length-1],r=r==="*"?"*":Et(r),r in u0||(u0[r]=[]),u0[r].push({keyup:h,keydown:m,scope:i,mods:n,shortcut:a[u],method:t,key:a[u],splitKey:v});typeof l<"u"&&!rs(l)&&window&&(en.push(l),Sr(l,"keydown",function(g){Wa(g)}),Sr(window,"focus",function(){Y=[]}),Sr(l,"keyup",function(g){Wa(g),es(g)}))}var Mr={setScope:tn,getScope:Ke,deleteScope:Qi,getPressedKeyCodes:Xi,isPressed:Ji,filter:Zi,unbind:ts};for(Ct in Mr)Object.prototype.hasOwnProperty.call(Mr,Ct)&&(G0[Ct]=Mr[Ct]);var Ct;typeof window<"u"&&(Ya=window.hotkeys,G0.noConflict=function(r){return r&&window.hotkeys===G0&&(window.hotkeys=Ya),G0},window.hotkeys=G0);var Ya,y0=G0;var We=function(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var u=r.length-1;u>=0;u--)(l=r[u])&&(i=(n<3?l(i):n>3?l(e,t,i):l(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i},ge=class extends g0{constructor(){super(...arguments),this.placeholder="",this.hideBreadcrumbs=!1,this.breadcrumbHome="Home",this.breadcrumbs=[],this._inputRef=Tt()}render(){let e="";if(!this.hideBreadcrumbs){let t=[];for(let a of this.breadcrumbs)t.push(r0``);e=r0``}return r0` + ${e} +
    + +
    + `}setSearch(e){this._inputRef.value&&(this._inputRef.value.value=e)}focusSearch(){requestAnimationFrame(()=>this._inputRef.value.focus())}_handleInput(e){let t=e.target;this.dispatchEvent(new CustomEvent("change",{detail:{search:t.value},bubbles:!1,composed:!1}))}selectParent(e){this.dispatchEvent(new CustomEvent("setParent",{detail:{parent:e},bubbles:!0,composed:!0}))}firstUpdated(){this.focusSearch()}_close(){this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}};ge.styles=j0` + :host { + flex: 1; + position: relative; + } + .search { + padding: 1.25em; + flex-grow: 1; + flex-shrink: 0; + margin: 0px; + border: none; + appearance: none; + font-size: 1.125em; + background: transparent; + caret-color: var(--ninja-accent-color); + color: var(--ninja-text-color); + outline: none; + font-family: var(--ninja-font-family); + } + .search::placeholder { + color: var(--ninja-placeholder-color); + } + .breadcrumb-list { + padding: 1em 4em 0 1em; + display: flex; + flex-direction: row; + align-items: stretch; + justify-content: flex-start; + flex: initial; + } + + .breadcrumb { + background: var(--ninja-secondary-background-color); + text-align: center; + line-height: 1.2em; + border-radius: var(--ninja-key-border-radius); + border: 0; + cursor: pointer; + padding: 0.1em 0.5em; + color: var(--ninja-secondary-text-color); + margin-right: 0.5em; + outline: none; + font-family: var(--ninja-font-family); + } + + .search-wrapper { + display: flex; + border-bottom: var(--ninja-separate-border); + } + `;We([W()],ge.prototype,"placeholder",void 0);We([W({type:Boolean})],ge.prototype,"hideBreadcrumbs",void 0);We([W()],ge.prototype,"breadcrumbHome",void 0);We([W({type:Array})],ge.prototype,"breadcrumbs",void 0);ge=We([ae("ninja-header")],ge);var Ye=class extends S0{constructor(e){if(super(e),this.et=G,e.type!==c0.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===G||e==null)return this.ft=void 0,this.et=e;if(e===o0)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.et)return this.ft;this.et=e;let t=[e];return t.raw=t,this.ft={_$litType$:this.constructor.resultType,strings:t,values:[]}}};Ye.directiveName="unsafeHTML",Ye.resultType=1;var rn=D0(Ye);function*an(r,e){let t=typeof e=="function";if(r!==void 0){let a=-1;for(let n of r)a>-1&&(yield t?e(a):e),a++,yield n}}function nn(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var u=r.length-1;u>=0;u--)(l=r[u])&&(i=(n<3?l(i):n>3?l(e,t,i):l(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i}var sn=j0`:host{font-family:var(--mdc-icon-font, "Material Icons");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}`;var Tr=class extends g0{render(){return r0``}};Tr.styles=[sn];Tr=nn([ae("mwc-icon")],Tr);var Bt=function(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var u=r.length-1;u>=0;u--)(l=r[u])&&(i=(n<3?l(i):n>3?l(e,t,i):l(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i},De=class extends g0{constructor(){super(),this.selected=!1,this.hotKeysJoinedView=!0,this.addEventListener("click",this.click)}ensureInView(){requestAnimationFrame(()=>this.scrollIntoView({block:"nearest"}))}click(){this.dispatchEvent(new CustomEvent("actionsSelected",{detail:this.action,bubbles:!0,composed:!0}))}updated(e){e.has("selected")&&this.selected&&this.ensureInView()}render(){let e;this.action.mdIcon?e=r0`${this.action.mdIcon}`:this.action.icon&&(e=rn(this.action.icon||""));let t;this.action.hotkey&&(this.hotKeysJoinedView?t=this.action.hotkey.split(",").map(n=>{let i=n.split("+"),l=r0`${an(i.map(u=>r0`${u}`),"+")}`;return r0`
    + ${l} +
    `}):t=this.action.hotkey.split(",").map(n=>{let l=n.split("+").map(u=>r0`${u}`);return r0`${l}`}));let a={selected:this.selected,"ninja-action":!0};return r0` +
    + ${e} +
    ${this.action.title}
    + ${t} +
    + `}};De.styles=j0` + :host { + display: flex; + width: 100%; + } + .ninja-action { + padding: 0.75em 1em; + display: flex; + border-left: 2px solid transparent; + align-items: center; + justify-content: start; + outline: none; + transition: color 0s ease 0s; + width: 100%; + } + .ninja-action.selected { + cursor: pointer; + color: var(--ninja-selected-text-color); + background-color: var(--ninja-selected-background); + border-left: 2px solid var(--ninja-accent-color); + outline: none; + } + .ninja-action.selected .ninja-icon { + color: var(--ninja-selected-text-color); + } + .ninja-icon { + font-size: var(--ninja-icon-size); + max-width: var(--ninja-icon-size); + max-height: var(--ninja-icon-size); + margin-right: 1em; + color: var(--ninja-icon-color); + margin-right: 1em; + position: relative; + } + + .ninja-title { + flex-shrink: 0.01; + margin-right: 0.5em; + flex-grow: 1; + font-size: 0.8125em; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + .ninja-hotkeys { + flex-shrink: 0; + width: min-content; + display: flex; + } + + .ninja-hotkeys kbd { + font-family: inherit; + } + .ninja-hotkey { + background: var(--ninja-secondary-background-color); + padding: 0.06em 0.25em; + border-radius: var(--ninja-key-border-radius); + text-transform: capitalize; + color: var(--ninja-secondary-text-color); + font-size: 0.75em; + font-family: inherit; + } + + .ninja-hotkey + .ninja-hotkey { + margin-left: 0.5em; + } + .ninja-hotkeys + .ninja-hotkeys { + margin-left: 1em; + } + `;Bt([W({type:Object})],De.prototype,"action",void 0);Bt([W({type:Boolean})],De.prototype,"selected",void 0);Bt([W({type:Boolean})],De.prototype,"hotKeysJoinedView",void 0);De=Bt([ae("ninja-action")],De);var ln=r0` `;var on=j0` + :host { + --ninja-width: 640px; + --ninja-backdrop-filter: none; + --ninja-overflow-background: rgba(255, 255, 255, 0.5); + --ninja-text-color: rgb(60, 65, 73); + --ninja-font-size: 16px; + --ninja-top: 20%; + + --ninja-key-border-radius: 0.25em; + --ninja-accent-color: rgb(110, 94, 210); + --ninja-secondary-background-color: rgb(239, 241, 244); + --ninja-secondary-text-color: rgb(107, 111, 118); + + --ninja-selected-background: rgb(248, 249, 251); + + --ninja-icon-color: var(--ninja-secondary-text-color); + --ninja-icon-size: 1.2em; + --ninja-separate-border: 1px solid var(--ninja-secondary-background-color); + + --ninja-modal-background: #fff; + --ninja-modal-shadow: rgb(0 0 0 / 50%) 0px 16px 70px; + + --ninja-actions-height: 300px; + --ninja-group-text-color: rgb(144, 149, 157); + + --ninja-footer-background: rgba(242, 242, 242, 0.4); + + --ninja-placeholder-color: #8e8e8e; + + font-size: var(--ninja-font-size); + + --ninja-z-index: 1; + } + + :host(.dark) { + --ninja-backdrop-filter: none; + --ninja-overflow-background: rgba(0, 0, 0, 0.7); + --ninja-text-color: #7d7d7d; + + --ninja-modal-background: rgba(17, 17, 17, 0.85); + --ninja-accent-color: rgb(110, 94, 210); + --ninja-secondary-background-color: rgba(51, 51, 51, 0.44); + --ninja-secondary-text-color: #888; + + --ninja-selected-text-color: #eaeaea; + --ninja-selected-background: rgba(51, 51, 51, 0.44); + + --ninja-icon-color: var(--ninja-secondary-text-color); + --ninja-separate-border: 1px solid var(--ninja-secondary-background-color); + + --ninja-modal-shadow: 0 16px 70px rgba(0, 0, 0, 0.2); + + --ninja-group-text-color: rgb(144, 149, 157); + + --ninja-footer-background: rgba(30, 30, 30, 85%); + } + + .modal { + display: none; + position: fixed; + z-index: var(--ninja-z-index); + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background: var(--ninja-overflow-background); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-backdrop-filter: var(--ninja-backdrop-filter); + backdrop-filter: var(--ninja-backdrop-filter); + text-align: left; + color: var(--ninja-text-color); + font-family: var(--ninja-font-family); + } + .modal.visible { + display: block; + } + + .modal-content { + position: relative; + top: var(--ninja-top); + margin: auto; + padding: 0; + display: flex; + flex-direction: column; + flex-shrink: 1; + -webkit-box-flex: 1; + flex-grow: 1; + min-width: 0px; + will-change: transform; + background: var(--ninja-modal-background); + border-radius: 0.5em; + box-shadow: var(--ninja-modal-shadow); + max-width: var(--ninja-width); + overflow: hidden; + } + + .bump { + animation: zoom-in-zoom-out 0.2s ease; + } + + @keyframes zoom-in-zoom-out { + 0% { + transform: scale(0.99); + } + 50% { + transform: scale(1.01, 1.01); + } + 100% { + transform: scale(1, 1); + } + } + + .ninja-github { + color: var(--ninja-keys-text-color); + font-weight: normal; + text-decoration: none; + } + + .actions-list { + max-height: var(--ninja-actions-height); + overflow: auto; + scroll-behavior: smooth; + position: relative; + margin: 0; + padding: 0.5em 0; + list-style: none; + scroll-behavior: smooth; + } + + .group-header { + height: 1.375em; + line-height: 1.375em; + padding-left: 1.25em; + padding-top: 0.5em; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + font-size: 0.75em; + line-height: 1em; + color: var(--ninja-group-text-color); + margin: 1px 0; + } + + .modal-footer { + background: var(--ninja-footer-background); + padding: 0.5em 1em; + display: flex; + /* font-size: 0.75em; */ + border-top: var(--ninja-separate-border); + color: var(--ninja-secondary-text-color); + } + + .modal-footer .help { + display: flex; + margin-right: 1em; + align-items: center; + font-size: 0.75em; + } + + .ninja-examplekey { + background: var(--ninja-secondary-background-color); + padding: 0.06em 0.25em; + border-radius: var(--ninja-key-border-radius); + color: var(--ninja-secondary-text-color); + width: 1em; + height: 1em; + margin-right: 0.5em; + font-size: 1.25em; + fill: currentColor; + } + .ninja-examplekey.esc { + width: auto; + height: auto; + font-size: 1.1em; + } + .ninja-examplekey.backspace { + opacity: 0.7; + } +`;var a0=function(r,e,t,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,t):a,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,e,t,a);else for(var u=r.length-1;u>=0;u--)(l=r[u])&&(i=(n<3?l(i):n>3?l(e,t,i):l(e,t))||i);return n>3&&i&&Object.defineProperty(e,t,i),i},J=class extends g0{constructor(){super(...arguments),this.placeholder="Type a command or search...",this.disableHotkeys=!1,this.hideBreadcrumbs=!1,this.openHotkey="cmd+k,ctrl+k",this.navigationUpHotkey="up,shift+tab",this.navigationDownHotkey="down,tab",this.closeHotkey="esc",this.goBackHotkey="backspace",this.selectHotkey="enter",this.hotKeysJoinedView=!1,this.noAutoLoadMdIcons=!1,this.data=[],this.visible=!1,this._bump=!0,this._actionMatches=[],this._search="",this._flatData=[],this._headerRef=Tt()}open(e={}){this._bump=!0,this.visible=!0,this._headerRef.value.focusSearch(),this._actionMatches.length>0&&(this._selected=this._actionMatches[0]),this.setParent(e.parent)}close(){this._bump=!1,this.visible=!1}setParent(e){e?this._currentRoot=e:this._currentRoot=void 0,this._selected=void 0,this._search="",this._headerRef.value.setSearch("")}get breadcrumbs(){var e;let t=[],a=(e=this._selected)===null||e===void 0?void 0:e.parent;if(a)for(t.push(a);a;){let n=this._flatData.find(i=>i.id===a);n?.parent&&t.push(n.parent),a=n?n.parent:void 0}return t.reverse()}connectedCallback(){super.connectedCallback(),this.noAutoLoadMdIcons||document.fonts.load("24px Material Icons","apps").then(()=>{}),this._registerInternalHotkeys()}disconnectedCallback(){super.disconnectedCallback(),this._unregisterInternalHotkeys()}_flattern(e,t){let a=[];return e||(e=[]),e.map(n=>{let i=n.children&&n.children.some(u=>typeof u=="string"),l={...n,parent:n.parent||t};return i||(l.children&&l.children.length&&(t=n.id,a=[...a,...l.children]),l.children=l.children?l.children.map(u=>u.id):[]),l}).concat(a.length?this._flattern(a,t):a)}update(e){e.has("data")&&!this.disableHotkeys&&(this._flatData=this._flattern(this.data),this._flatData.filter(t=>!!t.hotkey).forEach(t=>{y0(t.hotkey,a=>{a.preventDefault(),t.handler&&t.handler(t)})})),super.update(e)}_registerInternalHotkeys(){this.openHotkey&&y0(this.openHotkey,e=>{e.preventDefault(),this.visible?this.close():this.open()}),this.selectHotkey&&y0(this.selectHotkey,e=>{this.visible&&(e.preventDefault(),this._actionSelected(this._actionMatches[this._selectedIndex]))}),this.goBackHotkey&&y0(this.goBackHotkey,e=>{this.visible&&(this._search||(e.preventDefault(),this._goBack()))}),this.navigationDownHotkey&&y0(this.navigationDownHotkey,e=>{this.visible&&(e.preventDefault(),this._selectedIndex>=this._actionMatches.length-1?this._selected=this._actionMatches[0]:this._selected=this._actionMatches[this._selectedIndex+1])}),this.navigationUpHotkey&&y0(this.navigationUpHotkey,e=>{this.visible&&(e.preventDefault(),this._selectedIndex===0?this._selected=this._actionMatches[this._actionMatches.length-1]:this._selected=this._actionMatches[this._selectedIndex-1])}),this.closeHotkey&&y0(this.closeHotkey,()=>{this.visible&&this.close()})}_unregisterInternalHotkeys(){this.openHotkey&&y0.unbind(this.openHotkey),this.selectHotkey&&y0.unbind(this.selectHotkey),this.goBackHotkey&&y0.unbind(this.goBackHotkey),this.navigationDownHotkey&&y0.unbind(this.navigationDownHotkey),this.navigationUpHotkey&&y0.unbind(this.navigationUpHotkey),this.closeHotkey&&y0.unbind(this.closeHotkey)}_actionFocused(e,t){this._selected=e,t.target.ensureInView()}_onTransitionEnd(){this._bump=!1}_goBack(){let e=this.breadcrumbs.length>1?this.breadcrumbs[this.breadcrumbs.length-2]:void 0;this.setParent(e)}render(){let e={bump:this._bump,"modal-content":!0},t={visible:this.visible,modal:!0},n=this._flatData.filter(u=>{var h;let m=new RegExp(this._search,"gi"),v=u.title.match(m)||((h=u.keywords)===null||h===void 0?void 0:h.match(m));return(!this._currentRoot&&this._search||u.parent===this._currentRoot)&&v}).reduce((u,h)=>u.set(h.section,[...u.get(h.section)||[],h]),new Map);this._actionMatches=[...n.values()].flat(),this._actionMatches.length>0&&this._selectedIndex===-1&&(this._selected=this._actionMatches[0]),this._actionMatches.length===0&&(this._selected=void 0);let i=u=>r0` ${Fa(u,h=>h.id,h=>{var m;return r0`this._actionFocused(h,v)} + @actionsSelected=${v=>this._actionSelected(v.detail)} + .action=${h} + >`})}`,l=[];return n.forEach((u,h)=>{let m=h?r0`
    ${h}
    `:void 0;l.push(r0`${m}${i(u)}`)}),r0` +
    +
    + this.setParent(u.detail.parent)} + @close=${this.close} + > + + + ${ln} +
    +
    + `}get _selectedIndex(){return this._selected?this._actionMatches.indexOf(this._selected):-1}_actionSelected(e){var t;if(this.dispatchEvent(new CustomEvent("selected",{detail:{search:this._search,action:e},bubbles:!0,composed:!0})),!!e){if(e.children&&((t=e.children)===null||t===void 0?void 0:t.length)>0&&(this._currentRoot=e.id,this._search=""),this._headerRef.value.setSearch(""),this._headerRef.value.focusSearch(),e.handler){let a=e.handler(e);a?.keepOpen||this.close()}this._bump=!0}}async _handleInput(e){this._search=e.detail.search,await this.updateComplete,this.dispatchEvent(new CustomEvent("change",{detail:{search:this._search,actions:this._actionMatches},bubbles:!0,composed:!0}))}_overlayClick(e){var t;!((t=e.target)===null||t===void 0)&&t.classList.contains("modal")&&this.close()}};J.styles=[on];a0([W({type:String})],J.prototype,"placeholder",void 0);a0([W({type:Boolean})],J.prototype,"disableHotkeys",void 0);a0([W({type:Boolean})],J.prototype,"hideBreadcrumbs",void 0);a0([W()],J.prototype,"openHotkey",void 0);a0([W()],J.prototype,"navigationUpHotkey",void 0);a0([W()],J.prototype,"navigationDownHotkey",void 0);a0([W()],J.prototype,"closeHotkey",void 0);a0([W()],J.prototype,"goBackHotkey",void 0);a0([W()],J.prototype,"selectHotkey",void 0);a0([W({type:Boolean})],J.prototype,"hotKeysJoinedView",void 0);a0([W({type:Boolean})],J.prototype,"noAutoLoadMdIcons",void 0);a0([W({type:Array,hasChanged(){return!0}})],J.prototype,"data",void 0);a0([V0()],J.prototype,"visible",void 0);a0([V0()],J.prototype,"_bump",void 0);a0([V0()],J.prototype,"_actionMatches",void 0);a0([V0()],J.prototype,"_search",void 0);a0([V0()],J.prototype,"_currentRoot",void 0);a0([V0()],J.prototype,"_flatData",void 0);a0([V0()],J.prototype,"breadcrumbs",null);a0([V0()],J.prototype,"_selected",void 0);J=a0([ae("ninja-keys")],J);var A0=class r{constructor(e,t,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=a}static range(e,t){return t?!e||!e.loc||!t.loc||e.loc.lexer!==t.loc.lexer?null:new r(e.loc.lexer,e.loc.start,t.loc.end):e&&e.loc}},C0=class r{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new r(t,A0.range(this,e))}},T=class r{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var a="KaTeX parse error: "+e,n,i,l=t&&t.loc;if(l&&l.start<=l.end){var u=l.lexer.input;n=l.start,i=l.end,n===u.length?a+=" at end of input: ":a+=" at position "+(n+1)+": ";var h=u.slice(n,i).replace(/[^]/g,"$&\u0332"),m;n>15?m="\u2026"+u.slice(n-15,n):m=u.slice(0,n);var v;i+15":">","<":"<",'"':""","'":"'"},os=/[&><"']/g;function us(r){return String(r).replace(os,e=>ls[e])}var Pn=function r(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?r(e.body[0]):e:e.type==="font"?r(e.body):e},hs=function(e){var t=Pn(e);return t.type==="mathord"||t.type==="textord"||t.type==="atom"},cs=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},ds=function(e){var t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},$={contains:as,deflt:ns,escape:us,hyphenate:ss,getBaseElem:Pn,isCharacterBox:hs,protocolFromUrl:ds},jt={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:r=>"#"+r},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(r,e)=>(e.push(r),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:r=>Math.max(0,r),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:r=>Math.max(0,r),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:r=>Math.max(0,r),cli:"-e, --max-expand ",cliProcessor:r=>r==="Infinity"?1/0:parseInt(r)},globalGroup:{type:"boolean",cli:!1}};function ms(r){if(r.default)return r.default;var e=r.type,t=Array.isArray(e)?e[0]:e;if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}var et=class{constructor(e){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,e=e||{};for(var t in jt)if(jt.hasOwnProperty(t)){var a=jt[t];this[t]=e[t]!==void 0?a.processor?a.processor(e[t]):e[t]:ms(a)}}reportNonstrict(e,t,a){var n=this.strict;if(typeof n=="function"&&(n=n(e,t,a)),!(!n||n==="ignore")){if(n===!0||n==="error")throw new T("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),a);n==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,a){var n=this.strict;if(typeof n=="function")try{n=n(e,t,a)}catch{n="error"}return!n||n==="ignore"?!1:n===!0||n==="error"?!0:n==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var t=$.protocolFromUrl(e.url);if(t==null)return!1;e.protocol=t}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}},O0=class{constructor(e,t,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=a}sup(){return R0[fs[this.id]]}sub(){return R0[ps[this.id]]}fracNum(){return R0[vs[this.id]]}fracDen(){return R0[gs[this.id]]}cramp(){return R0[ys[this.id]]}text(){return R0[bs[this.id]]}isTight(){return this.size>=2}},Zr=0,Ut=1,Ne=2,Y0=3,tt=4,z0=5,Oe=6,f0=7,R0=[new O0(Zr,0,!1),new O0(Ut,0,!0),new O0(Ne,1,!1),new O0(Y0,1,!0),new O0(tt,2,!1),new O0(z0,2,!0),new O0(Oe,3,!1),new O0(f0,3,!0)],fs=[tt,z0,tt,z0,Oe,f0,Oe,f0],ps=[z0,z0,z0,z0,f0,f0,f0,f0],vs=[Ne,Y0,tt,z0,Oe,f0,Oe,f0],gs=[Y0,Y0,z0,z0,f0,f0,f0,f0],ys=[Ut,Ut,Y0,Y0,z0,z0,f0,f0],bs=[Zr,Ut,Ne,Y0,Ne,Y0,Ne,Y0],O={DISPLAY:R0[Zr],TEXT:R0[Ne],SCRIPT:R0[tt],SCRIPTSCRIPT:R0[Oe]},Ir=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function xs(r){for(var e=0;e=n[0]&&r<=n[1])return t.name}return null}var Ft=[];Ir.forEach(r=>r.blocks.forEach(e=>Ft.push(...e)));function Ln(r){for(var e=0;e=Ft[e]&&r<=Ft[e+1])return!0;return!1}var $e=80,ws=function(e,t){return"M95,"+(622+e+t)+` +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`+e/2.075+" -"+e+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+e)+`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+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},ks=function(e,t){return"M263,"+(601+e+t)+`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`+e/2.084+" -"+e+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+e)+`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+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Ss=function(e,t){return"M983 "+(10+e+t)+` +l`+e/3.13+" -"+e+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` +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+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},As=function(e,t){return"M424,"+(2398+e+t)+` +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`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+e)+`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+e)+" "+t+` +h400000v`+(40+e)+"h-400000z"},Ms=function(e,t){return"M473,"+(2713+e+t)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`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+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"},Ts=function(e){var t=e/2;return"M400000 "+e+" H0 L"+t+" 0 l65 45 L145 "+(e-80)+" H400000z"},zs=function(e,t,a){var n=a-54-t-e;return"M702 "+(e+t)+"H400000"+(40+e)+` +H742v`+n+`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 `+t+"H400000v"+(40+e)+"H742z"},Cs=function(e,t,a){t=1e3*t;var n="";switch(e){case"sqrtMain":n=ws(t,$e);break;case"sqrtSize1":n=ks(t,$e);break;case"sqrtSize2":n=Ss(t,$e);break;case"sqrtSize3":n=As(t,$e);break;case"sqrtSize4":n=Ms(t,$e);break;case"sqrtTall":n=zs(t,$e,a)}return n},Es=function(e,t){switch(e){case"\u239C":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z"+("M367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z");case"\u239F":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23A2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23A5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23AA":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23D0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257z"+("M478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z");default:return""}},un={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:`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:`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`,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`,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`,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`,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`,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:`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:`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`,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:`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:`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`,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`,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`,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:`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`,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`},Bs=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z +M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v602 h84z +M403 1759 V0 H319 V1759 v`+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v602 h84z +M347 1759 V0 h-84 V1759 v`+t+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},xe=class{constructor(e){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=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return $.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),t=0;tt.toText();return this.children.map(e).join("")}},_0={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Dt={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},hn={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};function Ds(r,e){_0[r]=e}function Jr(r,e,t){if(!_0[e])throw new Error("Font metrics not found for font: "+e+".");var a=r.charCodeAt(0),n=_0[e][a];if(!n&&r[0]in hn&&(a=hn[r[0]].charCodeAt(0),n=_0[e][a]),!n&&t==="text"&&Ln(a)&&(n=_0[e][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var zr={};function $s(r){var e;if(r>=5?e=0:r>=3?e=1:e=2,!zr[e]){var t=zr[e]={cssEmPerMu:Dt.quad[e]/18};for(var a in Dt)Dt.hasOwnProperty(a)&&(t[a]=Dt[a][e])}return zr[e]}var Ns=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],cn=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],dn=function(e,t){return t.size<2?e:Ns[e-1][t.size-1]},Vt=class r{constructor(e){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=e.style,this.color=e.color,this.size=e.size||r.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=cn[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={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 a in e)e.hasOwnProperty(a)&&(t[a]=e[a]);return new r(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:dn(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:cn[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=dn(r.BASESIZE,e);return this.size===t&&this.textSize===r.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==r.BASESIZE?["sizing","reset-size"+this.size,"size"+r.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=$s(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};Vt.BASESIZE=6;var Pr={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},Os={ex:!0,em:!0,mu:!0},jn=function(e){return typeof e!="string"&&(e=e.unit),e in Pr||e in Os||e==="ex"},t0=function(e,t){var a;if(e.unit in Pr)a=Pr[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")a=t.fontMetrics().cssEmPerMu;else{var n;if(t.style.isTight()?n=t.havingStyle(t.style.text()):n=t,e.unit==="ex")a=n.fontMetrics().xHeight;else if(e.unit==="em")a=n.fontMetrics().quad;else throw new T("Invalid unit: '"+e.unit+"'");n!==t&&(a*=n.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*a,t.maxSize)},z=function(e){return+e.toFixed(4)+"em"},le=function(e){return e.filter(t=>t).join(" ")},Fn=function(e,t,a){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},t){t.style.isTight()&&this.classes.push("mtight");var n=t.getColor();n&&(this.style.color=n)}},Un=function(e){var t=document.createElement(e);t.className=le(this.classes);for(var a in this.style)this.style.hasOwnProperty(a)&&(t.style[a]=this.style[a]);for(var n in this.attributes)this.attributes.hasOwnProperty(n)&&t.setAttribute(n,this.attributes[n]);for(var i=0;i",t},we=class{constructor(e,t,a,n){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,Fn.call(this,e,a,n),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return $.contains(this.classes,e)}toNode(){return Un.call(this,"span")}toMarkup(){return Vn.call(this,"span")}},rt=class{constructor(e,t,a,n){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,Fn.call(this,t,n),this.children=a||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return $.contains(this.classes,e)}toNode(){return Un.call(this,"a")}toMarkup(){return Vn.call(this,"a")}},Lr=class{constructor(e,t,a){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=t,this.src=e,this.classes=["mord"],this.style=a}hasClass(e){return $.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e=''+$.escape(this.alt)+'0&&(t=document.createElement("span"),t.style.marginRight=z(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=le(this.classes));for(var a in this.style)this.style.hasOwnProperty(a)&&(t=t||document.createElement("span"),t.style[a]=this.style[a]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="0&&(a+="margin-right:"+this.italic+"em;");for(var n in this.style)this.style.hasOwnProperty(n)&&(a+=$.hyphenate(n)+":"+this.style[n]+";");a&&(e=!0,t+=' style="'+$.escape(a)+'"');var i=$.escape(this.text);return e?(t+=">",t+=i,t+="",t):i}},N0=class{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);for(var n=0;n':''}},at=class{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);return t}toMarkup(){var e=" but got "+String(r)+".")}var qs={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Hs={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},K={math:{},text:{}};function s(r,e,t,a,n,i){K[r][n]={font:e,group:t,replace:a},i&&a&&(K[r][a]=K[r][n])}var o="math",S="text",c="main",f="ams",X="accent-token",D="bin",p0="close",Re="inner",N="mathord",i0="op-token",M0="open",Jt="punct",p="rel",Q0="spacing",y="textord";s(o,c,p,"\u2261","\\equiv",!0);s(o,c,p,"\u227A","\\prec",!0);s(o,c,p,"\u227B","\\succ",!0);s(o,c,p,"\u223C","\\sim",!0);s(o,c,p,"\u22A5","\\perp");s(o,c,p,"\u2AAF","\\preceq",!0);s(o,c,p,"\u2AB0","\\succeq",!0);s(o,c,p,"\u2243","\\simeq",!0);s(o,c,p,"\u2223","\\mid",!0);s(o,c,p,"\u226A","\\ll",!0);s(o,c,p,"\u226B","\\gg",!0);s(o,c,p,"\u224D","\\asymp",!0);s(o,c,p,"\u2225","\\parallel");s(o,c,p,"\u22C8","\\bowtie",!0);s(o,c,p,"\u2323","\\smile",!0);s(o,c,p,"\u2291","\\sqsubseteq",!0);s(o,c,p,"\u2292","\\sqsupseteq",!0);s(o,c,p,"\u2250","\\doteq",!0);s(o,c,p,"\u2322","\\frown",!0);s(o,c,p,"\u220B","\\ni",!0);s(o,c,p,"\u221D","\\propto",!0);s(o,c,p,"\u22A2","\\vdash",!0);s(o,c,p,"\u22A3","\\dashv",!0);s(o,c,p,"\u220B","\\owns");s(o,c,Jt,".","\\ldotp");s(o,c,Jt,"\u22C5","\\cdotp");s(o,c,y,"#","\\#");s(S,c,y,"#","\\#");s(o,c,y,"&","\\&");s(S,c,y,"&","\\&");s(o,c,y,"\u2135","\\aleph",!0);s(o,c,y,"\u2200","\\forall",!0);s(o,c,y,"\u210F","\\hbar",!0);s(o,c,y,"\u2203","\\exists",!0);s(o,c,y,"\u2207","\\nabla",!0);s(o,c,y,"\u266D","\\flat",!0);s(o,c,y,"\u2113","\\ell",!0);s(o,c,y,"\u266E","\\natural",!0);s(o,c,y,"\u2663","\\clubsuit",!0);s(o,c,y,"\u2118","\\wp",!0);s(o,c,y,"\u266F","\\sharp",!0);s(o,c,y,"\u2662","\\diamondsuit",!0);s(o,c,y,"\u211C","\\Re",!0);s(o,c,y,"\u2661","\\heartsuit",!0);s(o,c,y,"\u2111","\\Im",!0);s(o,c,y,"\u2660","\\spadesuit",!0);s(o,c,y,"\xA7","\\S",!0);s(S,c,y,"\xA7","\\S");s(o,c,y,"\xB6","\\P",!0);s(S,c,y,"\xB6","\\P");s(o,c,y,"\u2020","\\dag");s(S,c,y,"\u2020","\\dag");s(S,c,y,"\u2020","\\textdagger");s(o,c,y,"\u2021","\\ddag");s(S,c,y,"\u2021","\\ddag");s(S,c,y,"\u2021","\\textdaggerdbl");s(o,c,p0,"\u23B1","\\rmoustache",!0);s(o,c,M0,"\u23B0","\\lmoustache",!0);s(o,c,p0,"\u27EF","\\rgroup",!0);s(o,c,M0,"\u27EE","\\lgroup",!0);s(o,c,D,"\u2213","\\mp",!0);s(o,c,D,"\u2296","\\ominus",!0);s(o,c,D,"\u228E","\\uplus",!0);s(o,c,D,"\u2293","\\sqcap",!0);s(o,c,D,"\u2217","\\ast");s(o,c,D,"\u2294","\\sqcup",!0);s(o,c,D,"\u25EF","\\bigcirc",!0);s(o,c,D,"\u2219","\\bullet",!0);s(o,c,D,"\u2021","\\ddagger");s(o,c,D,"\u2240","\\wr",!0);s(o,c,D,"\u2A3F","\\amalg");s(o,c,D,"&","\\And");s(o,c,p,"\u27F5","\\longleftarrow",!0);s(o,c,p,"\u21D0","\\Leftarrow",!0);s(o,c,p,"\u27F8","\\Longleftarrow",!0);s(o,c,p,"\u27F6","\\longrightarrow",!0);s(o,c,p,"\u21D2","\\Rightarrow",!0);s(o,c,p,"\u27F9","\\Longrightarrow",!0);s(o,c,p,"\u2194","\\leftrightarrow",!0);s(o,c,p,"\u27F7","\\longleftrightarrow",!0);s(o,c,p,"\u21D4","\\Leftrightarrow",!0);s(o,c,p,"\u27FA","\\Longleftrightarrow",!0);s(o,c,p,"\u21A6","\\mapsto",!0);s(o,c,p,"\u27FC","\\longmapsto",!0);s(o,c,p,"\u2197","\\nearrow",!0);s(o,c,p,"\u21A9","\\hookleftarrow",!0);s(o,c,p,"\u21AA","\\hookrightarrow",!0);s(o,c,p,"\u2198","\\searrow",!0);s(o,c,p,"\u21BC","\\leftharpoonup",!0);s(o,c,p,"\u21C0","\\rightharpoonup",!0);s(o,c,p,"\u2199","\\swarrow",!0);s(o,c,p,"\u21BD","\\leftharpoondown",!0);s(o,c,p,"\u21C1","\\rightharpoondown",!0);s(o,c,p,"\u2196","\\nwarrow",!0);s(o,c,p,"\u21CC","\\rightleftharpoons",!0);s(o,f,p,"\u226E","\\nless",!0);s(o,f,p,"\uE010","\\@nleqslant");s(o,f,p,"\uE011","\\@nleqq");s(o,f,p,"\u2A87","\\lneq",!0);s(o,f,p,"\u2268","\\lneqq",!0);s(o,f,p,"\uE00C","\\@lvertneqq");s(o,f,p,"\u22E6","\\lnsim",!0);s(o,f,p,"\u2A89","\\lnapprox",!0);s(o,f,p,"\u2280","\\nprec",!0);s(o,f,p,"\u22E0","\\npreceq",!0);s(o,f,p,"\u22E8","\\precnsim",!0);s(o,f,p,"\u2AB9","\\precnapprox",!0);s(o,f,p,"\u2241","\\nsim",!0);s(o,f,p,"\uE006","\\@nshortmid");s(o,f,p,"\u2224","\\nmid",!0);s(o,f,p,"\u22AC","\\nvdash",!0);s(o,f,p,"\u22AD","\\nvDash",!0);s(o,f,p,"\u22EA","\\ntriangleleft");s(o,f,p,"\u22EC","\\ntrianglelefteq",!0);s(o,f,p,"\u228A","\\subsetneq",!0);s(o,f,p,"\uE01A","\\@varsubsetneq");s(o,f,p,"\u2ACB","\\subsetneqq",!0);s(o,f,p,"\uE017","\\@varsubsetneqq");s(o,f,p,"\u226F","\\ngtr",!0);s(o,f,p,"\uE00F","\\@ngeqslant");s(o,f,p,"\uE00E","\\@ngeqq");s(o,f,p,"\u2A88","\\gneq",!0);s(o,f,p,"\u2269","\\gneqq",!0);s(o,f,p,"\uE00D","\\@gvertneqq");s(o,f,p,"\u22E7","\\gnsim",!0);s(o,f,p,"\u2A8A","\\gnapprox",!0);s(o,f,p,"\u2281","\\nsucc",!0);s(o,f,p,"\u22E1","\\nsucceq",!0);s(o,f,p,"\u22E9","\\succnsim",!0);s(o,f,p,"\u2ABA","\\succnapprox",!0);s(o,f,p,"\u2246","\\ncong",!0);s(o,f,p,"\uE007","\\@nshortparallel");s(o,f,p,"\u2226","\\nparallel",!0);s(o,f,p,"\u22AF","\\nVDash",!0);s(o,f,p,"\u22EB","\\ntriangleright");s(o,f,p,"\u22ED","\\ntrianglerighteq",!0);s(o,f,p,"\uE018","\\@nsupseteqq");s(o,f,p,"\u228B","\\supsetneq",!0);s(o,f,p,"\uE01B","\\@varsupsetneq");s(o,f,p,"\u2ACC","\\supsetneqq",!0);s(o,f,p,"\uE019","\\@varsupsetneqq");s(o,f,p,"\u22AE","\\nVdash",!0);s(o,f,p,"\u2AB5","\\precneqq",!0);s(o,f,p,"\u2AB6","\\succneqq",!0);s(o,f,p,"\uE016","\\@nsubseteqq");s(o,f,D,"\u22B4","\\unlhd");s(o,f,D,"\u22B5","\\unrhd");s(o,f,p,"\u219A","\\nleftarrow",!0);s(o,f,p,"\u219B","\\nrightarrow",!0);s(o,f,p,"\u21CD","\\nLeftarrow",!0);s(o,f,p,"\u21CF","\\nRightarrow",!0);s(o,f,p,"\u21AE","\\nleftrightarrow",!0);s(o,f,p,"\u21CE","\\nLeftrightarrow",!0);s(o,f,p,"\u25B3","\\vartriangle");s(o,f,y,"\u210F","\\hslash");s(o,f,y,"\u25BD","\\triangledown");s(o,f,y,"\u25CA","\\lozenge");s(o,f,y,"\u24C8","\\circledS");s(o,f,y,"\xAE","\\circledR");s(S,f,y,"\xAE","\\circledR");s(o,f,y,"\u2221","\\measuredangle",!0);s(o,f,y,"\u2204","\\nexists");s(o,f,y,"\u2127","\\mho");s(o,f,y,"\u2132","\\Finv",!0);s(o,f,y,"\u2141","\\Game",!0);s(o,f,y,"\u2035","\\backprime");s(o,f,y,"\u25B2","\\blacktriangle");s(o,f,y,"\u25BC","\\blacktriangledown");s(o,f,y,"\u25A0","\\blacksquare");s(o,f,y,"\u29EB","\\blacklozenge");s(o,f,y,"\u2605","\\bigstar");s(o,f,y,"\u2222","\\sphericalangle",!0);s(o,f,y,"\u2201","\\complement",!0);s(o,f,y,"\xF0","\\eth",!0);s(S,c,y,"\xF0","\xF0");s(o,f,y,"\u2571","\\diagup");s(o,f,y,"\u2572","\\diagdown");s(o,f,y,"\u25A1","\\square");s(o,f,y,"\u25A1","\\Box");s(o,f,y,"\u25CA","\\Diamond");s(o,f,y,"\xA5","\\yen",!0);s(S,f,y,"\xA5","\\yen",!0);s(o,f,y,"\u2713","\\checkmark",!0);s(S,f,y,"\u2713","\\checkmark");s(o,f,y,"\u2136","\\beth",!0);s(o,f,y,"\u2138","\\daleth",!0);s(o,f,y,"\u2137","\\gimel",!0);s(o,f,y,"\u03DD","\\digamma",!0);s(o,f,y,"\u03F0","\\varkappa");s(o,f,M0,"\u250C","\\@ulcorner",!0);s(o,f,p0,"\u2510","\\@urcorner",!0);s(o,f,M0,"\u2514","\\@llcorner",!0);s(o,f,p0,"\u2518","\\@lrcorner",!0);s(o,f,p,"\u2266","\\leqq",!0);s(o,f,p,"\u2A7D","\\leqslant",!0);s(o,f,p,"\u2A95","\\eqslantless",!0);s(o,f,p,"\u2272","\\lesssim",!0);s(o,f,p,"\u2A85","\\lessapprox",!0);s(o,f,p,"\u224A","\\approxeq",!0);s(o,f,D,"\u22D6","\\lessdot");s(o,f,p,"\u22D8","\\lll",!0);s(o,f,p,"\u2276","\\lessgtr",!0);s(o,f,p,"\u22DA","\\lesseqgtr",!0);s(o,f,p,"\u2A8B","\\lesseqqgtr",!0);s(o,f,p,"\u2251","\\doteqdot");s(o,f,p,"\u2253","\\risingdotseq",!0);s(o,f,p,"\u2252","\\fallingdotseq",!0);s(o,f,p,"\u223D","\\backsim",!0);s(o,f,p,"\u22CD","\\backsimeq",!0);s(o,f,p,"\u2AC5","\\subseteqq",!0);s(o,f,p,"\u22D0","\\Subset",!0);s(o,f,p,"\u228F","\\sqsubset",!0);s(o,f,p,"\u227C","\\preccurlyeq",!0);s(o,f,p,"\u22DE","\\curlyeqprec",!0);s(o,f,p,"\u227E","\\precsim",!0);s(o,f,p,"\u2AB7","\\precapprox",!0);s(o,f,p,"\u22B2","\\vartriangleleft");s(o,f,p,"\u22B4","\\trianglelefteq");s(o,f,p,"\u22A8","\\vDash",!0);s(o,f,p,"\u22AA","\\Vvdash",!0);s(o,f,p,"\u2323","\\smallsmile");s(o,f,p,"\u2322","\\smallfrown");s(o,f,p,"\u224F","\\bumpeq",!0);s(o,f,p,"\u224E","\\Bumpeq",!0);s(o,f,p,"\u2267","\\geqq",!0);s(o,f,p,"\u2A7E","\\geqslant",!0);s(o,f,p,"\u2A96","\\eqslantgtr",!0);s(o,f,p,"\u2273","\\gtrsim",!0);s(o,f,p,"\u2A86","\\gtrapprox",!0);s(o,f,D,"\u22D7","\\gtrdot");s(o,f,p,"\u22D9","\\ggg",!0);s(o,f,p,"\u2277","\\gtrless",!0);s(o,f,p,"\u22DB","\\gtreqless",!0);s(o,f,p,"\u2A8C","\\gtreqqless",!0);s(o,f,p,"\u2256","\\eqcirc",!0);s(o,f,p,"\u2257","\\circeq",!0);s(o,f,p,"\u225C","\\triangleq",!0);s(o,f,p,"\u223C","\\thicksim");s(o,f,p,"\u2248","\\thickapprox");s(o,f,p,"\u2AC6","\\supseteqq",!0);s(o,f,p,"\u22D1","\\Supset",!0);s(o,f,p,"\u2290","\\sqsupset",!0);s(o,f,p,"\u227D","\\succcurlyeq",!0);s(o,f,p,"\u22DF","\\curlyeqsucc",!0);s(o,f,p,"\u227F","\\succsim",!0);s(o,f,p,"\u2AB8","\\succapprox",!0);s(o,f,p,"\u22B3","\\vartriangleright");s(o,f,p,"\u22B5","\\trianglerighteq");s(o,f,p,"\u22A9","\\Vdash",!0);s(o,f,p,"\u2223","\\shortmid");s(o,f,p,"\u2225","\\shortparallel");s(o,f,p,"\u226C","\\between",!0);s(o,f,p,"\u22D4","\\pitchfork",!0);s(o,f,p,"\u221D","\\varpropto");s(o,f,p,"\u25C0","\\blacktriangleleft");s(o,f,p,"\u2234","\\therefore",!0);s(o,f,p,"\u220D","\\backepsilon");s(o,f,p,"\u25B6","\\blacktriangleright");s(o,f,p,"\u2235","\\because",!0);s(o,f,p,"\u22D8","\\llless");s(o,f,p,"\u22D9","\\gggtr");s(o,f,D,"\u22B2","\\lhd");s(o,f,D,"\u22B3","\\rhd");s(o,f,p,"\u2242","\\eqsim",!0);s(o,c,p,"\u22C8","\\Join");s(o,f,p,"\u2251","\\Doteq",!0);s(o,f,D,"\u2214","\\dotplus",!0);s(o,f,D,"\u2216","\\smallsetminus");s(o,f,D,"\u22D2","\\Cap",!0);s(o,f,D,"\u22D3","\\Cup",!0);s(o,f,D,"\u2A5E","\\doublebarwedge",!0);s(o,f,D,"\u229F","\\boxminus",!0);s(o,f,D,"\u229E","\\boxplus",!0);s(o,f,D,"\u22C7","\\divideontimes",!0);s(o,f,D,"\u22C9","\\ltimes",!0);s(o,f,D,"\u22CA","\\rtimes",!0);s(o,f,D,"\u22CB","\\leftthreetimes",!0);s(o,f,D,"\u22CC","\\rightthreetimes",!0);s(o,f,D,"\u22CF","\\curlywedge",!0);s(o,f,D,"\u22CE","\\curlyvee",!0);s(o,f,D,"\u229D","\\circleddash",!0);s(o,f,D,"\u229B","\\circledast",!0);s(o,f,D,"\u22C5","\\centerdot");s(o,f,D,"\u22BA","\\intercal",!0);s(o,f,D,"\u22D2","\\doublecap");s(o,f,D,"\u22D3","\\doublecup");s(o,f,D,"\u22A0","\\boxtimes",!0);s(o,f,p,"\u21E2","\\dashrightarrow",!0);s(o,f,p,"\u21E0","\\dashleftarrow",!0);s(o,f,p,"\u21C7","\\leftleftarrows",!0);s(o,f,p,"\u21C6","\\leftrightarrows",!0);s(o,f,p,"\u21DA","\\Lleftarrow",!0);s(o,f,p,"\u219E","\\twoheadleftarrow",!0);s(o,f,p,"\u21A2","\\leftarrowtail",!0);s(o,f,p,"\u21AB","\\looparrowleft",!0);s(o,f,p,"\u21CB","\\leftrightharpoons",!0);s(o,f,p,"\u21B6","\\curvearrowleft",!0);s(o,f,p,"\u21BA","\\circlearrowleft",!0);s(o,f,p,"\u21B0","\\Lsh",!0);s(o,f,p,"\u21C8","\\upuparrows",!0);s(o,f,p,"\u21BF","\\upharpoonleft",!0);s(o,f,p,"\u21C3","\\downharpoonleft",!0);s(o,c,p,"\u22B6","\\origof",!0);s(o,c,p,"\u22B7","\\imageof",!0);s(o,f,p,"\u22B8","\\multimap",!0);s(o,f,p,"\u21AD","\\leftrightsquigarrow",!0);s(o,f,p,"\u21C9","\\rightrightarrows",!0);s(o,f,p,"\u21C4","\\rightleftarrows",!0);s(o,f,p,"\u21A0","\\twoheadrightarrow",!0);s(o,f,p,"\u21A3","\\rightarrowtail",!0);s(o,f,p,"\u21AC","\\looparrowright",!0);s(o,f,p,"\u21B7","\\curvearrowright",!0);s(o,f,p,"\u21BB","\\circlearrowright",!0);s(o,f,p,"\u21B1","\\Rsh",!0);s(o,f,p,"\u21CA","\\downdownarrows",!0);s(o,f,p,"\u21BE","\\upharpoonright",!0);s(o,f,p,"\u21C2","\\downharpoonright",!0);s(o,f,p,"\u21DD","\\rightsquigarrow",!0);s(o,f,p,"\u21DD","\\leadsto");s(o,f,p,"\u21DB","\\Rrightarrow",!0);s(o,f,p,"\u21BE","\\restriction");s(o,c,y,"\u2018","`");s(o,c,y,"$","\\$");s(S,c,y,"$","\\$");s(S,c,y,"$","\\textdollar");s(o,c,y,"%","\\%");s(S,c,y,"%","\\%");s(o,c,y,"_","\\_");s(S,c,y,"_","\\_");s(S,c,y,"_","\\textunderscore");s(o,c,y,"\u2220","\\angle",!0);s(o,c,y,"\u221E","\\infty",!0);s(o,c,y,"\u2032","\\prime");s(o,c,y,"\u25B3","\\triangle");s(o,c,y,"\u0393","\\Gamma",!0);s(o,c,y,"\u0394","\\Delta",!0);s(o,c,y,"\u0398","\\Theta",!0);s(o,c,y,"\u039B","\\Lambda",!0);s(o,c,y,"\u039E","\\Xi",!0);s(o,c,y,"\u03A0","\\Pi",!0);s(o,c,y,"\u03A3","\\Sigma",!0);s(o,c,y,"\u03A5","\\Upsilon",!0);s(o,c,y,"\u03A6","\\Phi",!0);s(o,c,y,"\u03A8","\\Psi",!0);s(o,c,y,"\u03A9","\\Omega",!0);s(o,c,y,"A","\u0391");s(o,c,y,"B","\u0392");s(o,c,y,"E","\u0395");s(o,c,y,"Z","\u0396");s(o,c,y,"H","\u0397");s(o,c,y,"I","\u0399");s(o,c,y,"K","\u039A");s(o,c,y,"M","\u039C");s(o,c,y,"N","\u039D");s(o,c,y,"O","\u039F");s(o,c,y,"P","\u03A1");s(o,c,y,"T","\u03A4");s(o,c,y,"X","\u03A7");s(o,c,y,"\xAC","\\neg",!0);s(o,c,y,"\xAC","\\lnot");s(o,c,y,"\u22A4","\\top");s(o,c,y,"\u22A5","\\bot");s(o,c,y,"\u2205","\\emptyset");s(o,f,y,"\u2205","\\varnothing");s(o,c,N,"\u03B1","\\alpha",!0);s(o,c,N,"\u03B2","\\beta",!0);s(o,c,N,"\u03B3","\\gamma",!0);s(o,c,N,"\u03B4","\\delta",!0);s(o,c,N,"\u03F5","\\epsilon",!0);s(o,c,N,"\u03B6","\\zeta",!0);s(o,c,N,"\u03B7","\\eta",!0);s(o,c,N,"\u03B8","\\theta",!0);s(o,c,N,"\u03B9","\\iota",!0);s(o,c,N,"\u03BA","\\kappa",!0);s(o,c,N,"\u03BB","\\lambda",!0);s(o,c,N,"\u03BC","\\mu",!0);s(o,c,N,"\u03BD","\\nu",!0);s(o,c,N,"\u03BE","\\xi",!0);s(o,c,N,"\u03BF","\\omicron",!0);s(o,c,N,"\u03C0","\\pi",!0);s(o,c,N,"\u03C1","\\rho",!0);s(o,c,N,"\u03C3","\\sigma",!0);s(o,c,N,"\u03C4","\\tau",!0);s(o,c,N,"\u03C5","\\upsilon",!0);s(o,c,N,"\u03D5","\\phi",!0);s(o,c,N,"\u03C7","\\chi",!0);s(o,c,N,"\u03C8","\\psi",!0);s(o,c,N,"\u03C9","\\omega",!0);s(o,c,N,"\u03B5","\\varepsilon",!0);s(o,c,N,"\u03D1","\\vartheta",!0);s(o,c,N,"\u03D6","\\varpi",!0);s(o,c,N,"\u03F1","\\varrho",!0);s(o,c,N,"\u03C2","\\varsigma",!0);s(o,c,N,"\u03C6","\\varphi",!0);s(o,c,D,"\u2217","*",!0);s(o,c,D,"+","+");s(o,c,D,"\u2212","-",!0);s(o,c,D,"\u22C5","\\cdot",!0);s(o,c,D,"\u2218","\\circ",!0);s(o,c,D,"\xF7","\\div",!0);s(o,c,D,"\xB1","\\pm",!0);s(o,c,D,"\xD7","\\times",!0);s(o,c,D,"\u2229","\\cap",!0);s(o,c,D,"\u222A","\\cup",!0);s(o,c,D,"\u2216","\\setminus",!0);s(o,c,D,"\u2227","\\land");s(o,c,D,"\u2228","\\lor");s(o,c,D,"\u2227","\\wedge",!0);s(o,c,D,"\u2228","\\vee",!0);s(o,c,y,"\u221A","\\surd");s(o,c,M0,"\u27E8","\\langle",!0);s(o,c,M0,"\u2223","\\lvert");s(o,c,M0,"\u2225","\\lVert");s(o,c,p0,"?","?");s(o,c,p0,"!","!");s(o,c,p0,"\u27E9","\\rangle",!0);s(o,c,p0,"\u2223","\\rvert");s(o,c,p0,"\u2225","\\rVert");s(o,c,p,"=","=");s(o,c,p,":",":");s(o,c,p,"\u2248","\\approx",!0);s(o,c,p,"\u2245","\\cong",!0);s(o,c,p,"\u2265","\\ge");s(o,c,p,"\u2265","\\geq",!0);s(o,c,p,"\u2190","\\gets");s(o,c,p,">","\\gt",!0);s(o,c,p,"\u2208","\\in",!0);s(o,c,p,"\uE020","\\@not");s(o,c,p,"\u2282","\\subset",!0);s(o,c,p,"\u2283","\\supset",!0);s(o,c,p,"\u2286","\\subseteq",!0);s(o,c,p,"\u2287","\\supseteq",!0);s(o,f,p,"\u2288","\\nsubseteq",!0);s(o,f,p,"\u2289","\\nsupseteq",!0);s(o,c,p,"\u22A8","\\models");s(o,c,p,"\u2190","\\leftarrow",!0);s(o,c,p,"\u2264","\\le");s(o,c,p,"\u2264","\\leq",!0);s(o,c,p,"<","\\lt",!0);s(o,c,p,"\u2192","\\rightarrow",!0);s(o,c,p,"\u2192","\\to");s(o,f,p,"\u2271","\\ngeq",!0);s(o,f,p,"\u2270","\\nleq",!0);s(o,c,Q0,"\xA0","\\ ");s(o,c,Q0,"\xA0","\\space");s(o,c,Q0,"\xA0","\\nobreakspace");s(S,c,Q0,"\xA0","\\ ");s(S,c,Q0,"\xA0"," ");s(S,c,Q0,"\xA0","\\space");s(S,c,Q0,"\xA0","\\nobreakspace");s(o,c,Q0,null,"\\nobreak");s(o,c,Q0,null,"\\allowbreak");s(o,c,Jt,",",",");s(o,c,Jt,";",";");s(o,f,D,"\u22BC","\\barwedge",!0);s(o,f,D,"\u22BB","\\veebar",!0);s(o,c,D,"\u2299","\\odot",!0);s(o,c,D,"\u2295","\\oplus",!0);s(o,c,D,"\u2297","\\otimes",!0);s(o,c,y,"\u2202","\\partial",!0);s(o,c,D,"\u2298","\\oslash",!0);s(o,f,D,"\u229A","\\circledcirc",!0);s(o,f,D,"\u22A1","\\boxdot",!0);s(o,c,D,"\u25B3","\\bigtriangleup");s(o,c,D,"\u25BD","\\bigtriangledown");s(o,c,D,"\u2020","\\dagger");s(o,c,D,"\u22C4","\\diamond");s(o,c,D,"\u22C6","\\star");s(o,c,D,"\u25C3","\\triangleleft");s(o,c,D,"\u25B9","\\triangleright");s(o,c,M0,"{","\\{");s(S,c,y,"{","\\{");s(S,c,y,"{","\\textbraceleft");s(o,c,p0,"}","\\}");s(S,c,y,"}","\\}");s(S,c,y,"}","\\textbraceright");s(o,c,M0,"{","\\lbrace");s(o,c,p0,"}","\\rbrace");s(o,c,M0,"[","\\lbrack",!0);s(S,c,y,"[","\\lbrack",!0);s(o,c,p0,"]","\\rbrack",!0);s(S,c,y,"]","\\rbrack",!0);s(o,c,M0,"(","\\lparen",!0);s(o,c,p0,")","\\rparen",!0);s(S,c,y,"<","\\textless",!0);s(S,c,y,">","\\textgreater",!0);s(o,c,M0,"\u230A","\\lfloor",!0);s(o,c,p0,"\u230B","\\rfloor",!0);s(o,c,M0,"\u2308","\\lceil",!0);s(o,c,p0,"\u2309","\\rceil",!0);s(o,c,y,"\\","\\backslash");s(o,c,y,"\u2223","|");s(o,c,y,"\u2223","\\vert");s(S,c,y,"|","\\textbar",!0);s(o,c,y,"\u2225","\\|");s(o,c,y,"\u2225","\\Vert");s(S,c,y,"\u2225","\\textbardbl");s(S,c,y,"~","\\textasciitilde");s(S,c,y,"\\","\\textbackslash");s(S,c,y,"^","\\textasciicircum");s(o,c,p,"\u2191","\\uparrow",!0);s(o,c,p,"\u21D1","\\Uparrow",!0);s(o,c,p,"\u2193","\\downarrow",!0);s(o,c,p,"\u21D3","\\Downarrow",!0);s(o,c,p,"\u2195","\\updownarrow",!0);s(o,c,p,"\u21D5","\\Updownarrow",!0);s(o,c,i0,"\u2210","\\coprod");s(o,c,i0,"\u22C1","\\bigvee");s(o,c,i0,"\u22C0","\\bigwedge");s(o,c,i0,"\u2A04","\\biguplus");s(o,c,i0,"\u22C2","\\bigcap");s(o,c,i0,"\u22C3","\\bigcup");s(o,c,i0,"\u222B","\\int");s(o,c,i0,"\u222B","\\intop");s(o,c,i0,"\u222C","\\iint");s(o,c,i0,"\u222D","\\iiint");s(o,c,i0,"\u220F","\\prod");s(o,c,i0,"\u2211","\\sum");s(o,c,i0,"\u2A02","\\bigotimes");s(o,c,i0,"\u2A01","\\bigoplus");s(o,c,i0,"\u2A00","\\bigodot");s(o,c,i0,"\u222E","\\oint");s(o,c,i0,"\u222F","\\oiint");s(o,c,i0,"\u2230","\\oiiint");s(o,c,i0,"\u2A06","\\bigsqcup");s(o,c,i0,"\u222B","\\smallint");s(S,c,Re,"\u2026","\\textellipsis");s(o,c,Re,"\u2026","\\mathellipsis");s(S,c,Re,"\u2026","\\ldots",!0);s(o,c,Re,"\u2026","\\ldots",!0);s(o,c,Re,"\u22EF","\\@cdots",!0);s(o,c,Re,"\u22F1","\\ddots",!0);s(o,c,y,"\u22EE","\\varvdots");s(o,c,X,"\u02CA","\\acute");s(o,c,X,"\u02CB","\\grave");s(o,c,X,"\xA8","\\ddot");s(o,c,X,"~","\\tilde");s(o,c,X,"\u02C9","\\bar");s(o,c,X,"\u02D8","\\breve");s(o,c,X,"\u02C7","\\check");s(o,c,X,"^","\\hat");s(o,c,X,"\u20D7","\\vec");s(o,c,X,"\u02D9","\\dot");s(o,c,X,"\u02DA","\\mathring");s(o,c,N,"\uE131","\\@imath");s(o,c,N,"\uE237","\\@jmath");s(o,c,y,"\u0131","\u0131");s(o,c,y,"\u0237","\u0237");s(S,c,y,"\u0131","\\i",!0);s(S,c,y,"\u0237","\\j",!0);s(S,c,y,"\xDF","\\ss",!0);s(S,c,y,"\xE6","\\ae",!0);s(S,c,y,"\u0153","\\oe",!0);s(S,c,y,"\xF8","\\o",!0);s(S,c,y,"\xC6","\\AE",!0);s(S,c,y,"\u0152","\\OE",!0);s(S,c,y,"\xD8","\\O",!0);s(S,c,X,"\u02CA","\\'");s(S,c,X,"\u02CB","\\`");s(S,c,X,"\u02C6","\\^");s(S,c,X,"\u02DC","\\~");s(S,c,X,"\u02C9","\\=");s(S,c,X,"\u02D8","\\u");s(S,c,X,"\u02D9","\\.");s(S,c,X,"\xB8","\\c");s(S,c,X,"\u02DA","\\r");s(S,c,X,"\u02C7","\\v");s(S,c,X,"\xA8",'\\"');s(S,c,X,"\u02DD","\\H");s(S,c,X,"\u25EF","\\textcircled");var Gn={"--":!0,"---":!0,"``":!0,"''":!0};s(S,c,y,"\u2013","--",!0);s(S,c,y,"\u2013","\\textendash");s(S,c,y,"\u2014","---",!0);s(S,c,y,"\u2014","\\textemdash");s(S,c,y,"\u2018","`",!0);s(S,c,y,"\u2018","\\textquoteleft");s(S,c,y,"\u2019","'",!0);s(S,c,y,"\u2019","\\textquoteright");s(S,c,y,"\u201C","``",!0);s(S,c,y,"\u201C","\\textquotedblleft");s(S,c,y,"\u201D","''",!0);s(S,c,y,"\u201D","\\textquotedblright");s(o,c,y,"\xB0","\\degree",!0);s(S,c,y,"\xB0","\\degree");s(S,c,y,"\xB0","\\textdegree",!0);s(o,c,y,"\xA3","\\pounds");s(o,c,y,"\xA3","\\mathsterling",!0);s(S,c,y,"\xA3","\\pounds");s(S,c,y,"\xA3","\\textsterling",!0);s(o,f,y,"\u2720","\\maltese");s(S,f,y,"\u2720","\\maltese");var fn='0123456789/@."';for($t=0;$t0)return $0(i,m,n,t,l.concat(v));if(h){var g,b;if(h==="boldsymbol"){var x=Ls(i,n,t,l,a);g=x.fontName,b=[x.fontClass]}else u?(g=Yn[h].fontName,b=[h]):(g=qt(h,t.fontWeight,t.fontShape),b=[h,t.fontWeight,t.fontShape]);if(Qt(i,g,n).metrics)return $0(i,g,n,t,l.concat(b));if(Gn.hasOwnProperty(i)&&g.slice(0,10)==="Typewriter"){for(var k=[],A=0;A{if(le(r.classes)!==le(e.classes)||r.skew!==e.skew||r.maxFontSize!==e.maxFontSize)return!1;if(r.classes.length===1){var t=r.classes[0];if(t==="mbin"||t==="mord")return!1}for(var a in r.style)if(r.style.hasOwnProperty(a)&&r.style[a]!==e.style[a])return!1;for(var n in e.style)if(e.style.hasOwnProperty(n)&&r.style[n]!==e.style[n])return!1;return!0},Us=r=>{for(var e=0;et&&(t=l.height),l.depth>a&&(a=l.depth),l.maxFontSize>n&&(n=l.maxFontSize)}e.height=t,e.depth=a,e.maxFontSize=n},b0=function(e,t,a,n){var i=new we(e,t,a,n);return Qr(i),i},Kn=(r,e,t,a)=>new we(r,e,t,a),Vs=function(e,t,a){var n=b0([e],[],t);return n.height=Math.max(a||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=z(n.height),n.maxFontSize=1,n},Gs=function(e,t,a,n){var i=new rt(e,t,a,n);return Qr(i),i},Wn=function(e){var t=new xe(e);return Qr(t),t},Ks=function(e,t){return e instanceof xe?b0([],[e],t):e},Ws=function(e){if(e.positionType==="individualShift"){for(var t=e.children,a=[t[0]],n=-t[0].shift-t[0].elem.depth,i=n,l=1;l{var t=b0(["mspace"],[],e),a=t0(r,e);return t.style.marginRight=z(a),t},qt=function(e,t,a){var n="";switch(e){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=e}var i;return t==="textbf"&&a==="textit"?i="BoldItalic":t==="textbf"?i="Bold":t==="textit"?i="Italic":i="Regular",n+"-"+i},Yn={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"}},Xn={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Zs=function(e,t){var[a,n,i]=Xn[e],l=new q0(a),u=new N0([l],{width:z(n),height:z(i),style:"width:"+z(n),viewBox:"0 0 "+1e3*n+" "+1e3*i,preserveAspectRatio:"xMinYMin"}),h=Kn(["overlay"],[u],t);return h.height=i,h.style.height=z(i),h.style.width=z(n),h},w={fontMap:Yn,makeSymbol:$0,mathsym:Ps,makeSpan:b0,makeSvgSpan:Kn,makeLineSpan:Vs,makeAnchor:Gs,makeFragment:Wn,wrapFragment:Ks,makeVList:Ys,makeOrd:js,makeGlue:Xs,staticSvg:Zs,svgData:Xn,tryCombineChars:Us},e0={number:3,unit:"mu"},ye={number:4,unit:"mu"},W0={number:5,unit:"mu"},Js={mord:{mop:e0,mbin:ye,mrel:W0,minner:e0},mop:{mord:e0,mop:e0,mrel:W0,minner:e0},mbin:{mord:ye,mop:ye,mopen:ye,minner:ye},mrel:{mord:W0,mop:W0,mopen:W0,minner:W0},mopen:{},mclose:{mop:e0,mbin:ye,mrel:W0,minner:e0},mpunct:{mord:e0,mop:e0,mrel:W0,mopen:e0,mclose:e0,mpunct:e0,minner:e0},minner:{mord:e0,mop:e0,mbin:ye,mrel:W0,mopen:e0,mpunct:e0,minner:e0}},Qs={mord:{mop:e0},mop:{mord:e0,mop:e0},mbin:{},mrel:{},mopen:{},mclose:{mop:e0},mpunct:{},minner:{mop:e0}},Zn={},Kt={},Wt={};function E(r){for(var{type:e,names:t,props:a,handler:n,htmlBuilder:i,mathmlBuilder:l}=r,u={type:e,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:a.allowedInMath===void 0?!0:a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:n},h=0;h{var C=A.classes[0],B=k.classes[0];C==="mbin"&&$.contains(t1,B)?A.classes[0]="mord":B==="mbin"&&$.contains(e1,C)&&(k.classes[0]="mord")},{node:g},b,x),gn(i,(k,A)=>{var C=Fr(A),B=Fr(k),R=C&&B?k.hasClass("mtight")?Qs[C][B]:Js[C][B]:null;if(R)return w.makeGlue(R,m)},{node:g},b,x),i},gn=function r(e,t,a,n,i){n&&e.push(n);for(var l=0;lb=>{e.splice(g+1,0,b),l++})(l)}n&&e.pop()},Jn=function(e){return e instanceof xe||e instanceof rt||e instanceof we&&e.hasClass("enclosing")?e:null},n1=function r(e,t){var a=Jn(e);if(a){var n=a.children;if(n.length){if(t==="right")return r(n[n.length-1],"right");if(t==="left")return r(n[0],"left")}}return e},Fr=function(e,t){return e?(t&&(e=n1(e,t)),a1[e.classes[0]]||null):null},nt=function(e,t){var a=["nulldelimiter"].concat(e.baseSizingClasses());return Z0(t.concat(a))},P=function(e,t,a){if(!e)return Z0();if(Kt[e.type]){var n=Kt[e.type](e,t);if(a&&t.size!==a.size){n=Z0(t.sizingClasses(a),[n],t);var i=t.sizeMultiplier/a.sizeMultiplier;n.height*=i,n.depth*=i}return n}else throw new T("Got group of unknown type: '"+e.type+"'")};function Ht(r,e){var t=Z0(["base"],r,e),a=Z0(["strut"]);return a.style.height=z(t.height+t.depth),t.depth&&(a.style.verticalAlign=z(-t.depth)),t.children.unshift(a),t}function Ur(r,e){var t=null;r.length===1&&r[0].type==="tag"&&(t=r[0].tag,r=r[0].body);var a=l0(r,e,"root"),n;a.length===2&&a[1].hasClass("tag")&&(n=a.pop());for(var i=[],l=[],u=0;u0&&(i.push(Ht(l,e)),l=[]),i.push(a[u]));l.length>0&&i.push(Ht(l,e));var m;t?(m=Ht(l0(t,e,!0)),m.classes=["tag"],i.push(m)):n&&i.push(n);var v=Z0(["katex-html"],i);if(v.setAttribute("aria-hidden","true"),m){var g=m.children[0];g.style.height=z(v.height+v.depth),v.depth&&(g.style.verticalAlign=z(-v.depth))}return v}function Qn(r){return new xe(r)}var x0=class{constructor(e,t,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=a||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=le(this.classes));for(var a=0;a0&&(e+=' class ="'+$.escape(le(this.classes))+'"'),e+=">";for(var a=0;a",e}toText(){return this.children.map(e=>e.toText()).join("")}},be=class{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return $.escape(this.toText())}toText(){return this.text}},Vr=class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",z(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},M={MathNode:x0,TextNode:be,SpaceNode:Vr,newDocumentFragment:Qn},E0=function(e,t,a){return K[t][e]&&K[t][e].replace&&e.charCodeAt(0)!==55349&&!(Gn.hasOwnProperty(e)&&a&&(a.fontFamily&&a.fontFamily.slice(4,6)==="tt"||a.font&&a.font.slice(4,6)==="tt"))&&(e=K[t][e].replace),new M.TextNode(e)},ea=function(e){return e.length===1?e[0]:new M.MathNode("mrow",e)},ta=function(e,t){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold";var a=t.font;if(!a||a==="mathnormal")return null;var n=e.mode;if(a==="mathit")return"italic";if(a==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(a==="mathbf")return"bold";if(a==="mathbb")return"double-struck";if(a==="mathfrak")return"fraktur";if(a==="mathscr"||a==="mathcal")return"script";if(a==="mathsf")return"sans-serif";if(a==="mathtt")return"monospace";var i=e.text;if($.contains(["\\imath","\\jmath"],i))return null;K[n][i]&&K[n][i].replace&&(i=K[n][i].replace);var l=w.fontMap[a].fontName;return Jr(i,l,n)?w.fontMap[a].variant:null},k0=function(e,t,a){if(e.length===1){var n=V(e[0],t);return a&&n instanceof x0&&n.type==="mo"&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var i=[],l,u=0;u0&&(g.text=g.text.slice(0,1)+"\u0338"+g.text.slice(1),i.pop())}}}i.push(h),l=h}return i},oe=function(e,t,a){return ea(k0(e,t,a))},V=function(e,t){if(!e)return new M.MathNode("mrow");if(Wt[e.type]){var a=Wt[e.type](e,t);return a}else throw new T("Got group of unknown type: '"+e.type+"'")};function yn(r,e,t,a,n){var i=k0(r,t),l;i.length===1&&i[0]instanceof x0&&$.contains(["mrow","mtable"],i[0].type)?l=i[0]:l=new M.MathNode("mrow",i);var u=new M.MathNode("annotation",[new M.TextNode(e)]);u.setAttribute("encoding","application/x-tex");var h=new M.MathNode("semantics",[l,u]),m=new M.MathNode("math",[h]);m.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&m.setAttribute("display","block");var v=n?"katex":"katex-mathml";return w.makeSpan([v],[m])}var ei=function(e){return new Vt({style:e.displayMode?O.DISPLAY:O.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},ti=function(e,t){if(t.displayMode){var a=["katex-display"];t.leqno&&a.push("leqno"),t.fleqn&&a.push("fleqn"),e=w.makeSpan(a,[e])}return e},i1=function(e,t,a){var n=ei(a),i;if(a.output==="mathml")return yn(e,t,n,a.displayMode,!0);if(a.output==="html"){var l=Ur(e,n);i=w.makeSpan(["katex"],[l])}else{var u=yn(e,t,n,a.displayMode,!1),h=Ur(e,n);i=w.makeSpan(["katex"],[u,h])}return ti(i,a)},s1=function(e,t,a){var n=ei(a),i=Ur(e,n),l=w.makeSpan(["katex"],[i]);return ti(l,a)},l1={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","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},o1=function(e){var t=new M.MathNode("mo",[new M.TextNode(l1[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},u1={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"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,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"],"\\cdlongequal":[["longequal"],3,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]},h1=function(e){return e.type==="ordgroup"?e.body.length:1},c1=function(e,t){function a(){var u=4e5,h=e.label.slice(1);if($.contains(["widehat","widecheck","widetilde","utilde"],h)){var m=e,v=h1(m.base),g,b,x;if(v>5)h==="widehat"||h==="widecheck"?(g=420,u=2364,x=.42,b=h+"4"):(g=312,u=2340,x=.34,b="tilde4");else{var k=[1,1,2,2,3,3][v];h==="widehat"||h==="widecheck"?(u=[0,1062,2364,2364,2364][k],g=[0,239,300,360,420][k],x=[0,.24,.3,.3,.36,.42][k],b=h+k):(u=[0,600,1033,2339,2340][k],g=[0,260,286,306,312][k],x=[0,.26,.286,.3,.306,.34][k],b="tilde"+k)}var A=new q0(b),C=new N0([A],{width:"100%",height:z(x),viewBox:"0 0 "+u+" "+g,preserveAspectRatio:"none"});return{span:w.makeSvgSpan([],[C],t),minWidth:0,height:x}}else{var B=[],R=u1[h],[q,j,I]=R,F=I/1e3,L=q.length,Z,U;if(L===1){var L0=R[3];Z=["hide-tail"],U=[L0]}else if(L===2)Z=["halfarrow-left","halfarrow-right"],U=["xMinYMin","xMaxYMin"];else if(L===3)Z=["brace-left","brace-center","brace-right"],U=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+L+" children.");for(var m0=0;m00&&(n.style.minWidth=z(i)),n},d1=function(e,t,a,n,i){var l,u=e.height+e.depth+a+n;if(/fbox|color|angl/.test(t)){if(l=w.makeSpan(["stretchy",t],[],i),t==="fbox"){var h=i.color&&i.getColor();h&&(l.style.borderColor=h)}}else{var m=[];/^[bx]cancel$/.test(t)&&m.push(new at({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&m.push(new at({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var v=new N0(m,{width:"100%",height:z(u)});l=w.makeSvgSpan([],[v],i)}return l.height=u,l.style.height=z(u),l},J0={encloseSpan:d1,mathMLnode:o1,svgSpan:c1};function H(r,e){if(!r||r.type!==e)throw new Error("Expected node of type "+e+", but got "+(r?"node of type "+r.type:String(r)));return r}function ra(r){var e=er(r);if(!e)throw new Error("Expected node of symbol group type, but got "+(r?"node of type "+r.type:String(r)));return e}function er(r){return r&&(r.type==="atom"||Hs.hasOwnProperty(r.type))?r:null}var aa=(r,e)=>{var t,a,n;r&&r.type==="supsub"?(a=H(r.base,"accent"),t=a.base,r.base=t,n=_s(P(r,e)),r.base=a):(a=H(r,"accent"),t=a.base);var i=P(t,e.havingCrampedStyle()),l=a.isShifty&&$.isCharacterBox(t),u=0;if(l){var h=$.getBaseElem(t),m=P(h,e.havingCrampedStyle());u=mn(m).skew}var v=a.label==="\\c",g=v?i.height+i.depth:Math.min(i.height,e.fontMetrics().xHeight),b;if(a.isStretchy)b=J0.svgSpan(a,e),b=w.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:b,wrapperClasses:["svg-align"],wrapperStyle:u>0?{width:"calc(100% - "+z(2*u)+")",marginLeft:z(2*u)}:void 0}]},e);else{var x,k;a.label==="\\vec"?(x=w.staticSvg("vec",e),k=w.svgData.vec[1]):(x=w.makeOrd({mode:a.mode,text:a.label},e,"textord"),x=mn(x),x.italic=0,k=x.width,v&&(g+=x.depth)),b=w.makeSpan(["accent-body"],[x]);var A=a.label==="\\textcircled";A&&(b.classes.push("accent-full"),g=i.height);var C=u;A||(C-=k/2),b.style.left=z(C),a.label==="\\textcircled"&&(b.style.top=".2em"),b=w.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-g},{type:"elem",elem:b}]},e)}var B=w.makeSpan(["mord","accent"],[b],e);return n?(n.children[0]=B,n.height=Math.max(B.height,n.height),n.classes[0]="mord",n):B},ri=(r,e)=>{var t=r.isStretchy?J0.mathMLnode(r.label):new M.MathNode("mo",[E0(r.label,r.mode)]),a=new M.MathNode("mover",[V(r.base,e),t]);return a.setAttribute("accent","true"),a},m1=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(r=>"\\"+r).join("|"));E({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:(r,e)=>{var t=Yt(e[0]),a=!m1.test(r.funcName),n=!a||r.funcName==="\\widehat"||r.funcName==="\\widetilde"||r.funcName==="\\widecheck";return{type:"accent",mode:r.parser.mode,label:r.funcName,isStretchy:a,isShifty:n,base:t}},htmlBuilder:aa,mathmlBuilder:ri});E({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(r,e)=>{var t=e[0],a=r.parser.mode;return a==="math"&&(r.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+r.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:r.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:aa,mathmlBuilder:ri});E({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0];return{type:"accentUnder",mode:t.mode,label:a,base:n}},htmlBuilder:(r,e)=>{var t=P(r.base,e),a=J0.svgSpan(r,e),n=r.label==="\\utilde"?.12:0,i=w.makeVList({positionType:"top",positionData:t.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:t}]},e);return w.makeSpan(["mord","accentunder"],[i],e)},mathmlBuilder:(r,e)=>{var t=J0.mathMLnode(r.label),a=new M.MathNode("munder",[V(r.base,e),t]);return a.setAttribute("accentunder","true"),a}});var It=r=>{var e=new M.MathNode("mpadded",r?[r]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};E({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","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a,funcName:n}=r;return{type:"xArrow",mode:a.mode,label:n,body:e[0],below:t[0]}},htmlBuilder(r,e){var t=e.style,a=e.havingStyle(t.sup()),n=w.wrapFragment(P(r.body,a,e),e),i=r.label.slice(0,2)==="\\x"?"x":"cd";n.classes.push(i+"-arrow-pad");var l;r.below&&(a=e.havingStyle(t.sub()),l=w.wrapFragment(P(r.below,a,e),e),l.classes.push(i+"-arrow-pad"));var u=J0.svgSpan(r,e),h=-e.fontMetrics().axisHeight+.5*u.height,m=-e.fontMetrics().axisHeight-.5*u.height-.111;(n.depth>.25||r.label==="\\xleftequilibrium")&&(m-=n.depth);var v;if(l){var g=-e.fontMetrics().axisHeight+l.height+.5*u.height+.111;v=w.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:m},{type:"elem",elem:u,shift:h},{type:"elem",elem:l,shift:g}]},e)}else v=w.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:m},{type:"elem",elem:u,shift:h}]},e);return v.children[0].children[0].children[1].classes.push("svg-align"),w.makeSpan(["mrel","x-arrow"],[v],e)},mathmlBuilder(r,e){var t=J0.mathMLnode(r.label);t.setAttribute("minsize",r.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(r.body){var n=It(V(r.body,e));if(r.below){var i=It(V(r.below,e));a=new M.MathNode("munderover",[t,i,n])}else a=new M.MathNode("mover",[t,n])}else if(r.below){var l=It(V(r.below,e));a=new M.MathNode("munder",[t,l])}else a=It(),a=new M.MathNode("mover",[t,a]);return a}});var f1=w.makeSpan;function ai(r,e){var t=l0(r.body,e,!0);return f1([r.mclass],t,e)}function ni(r,e){var t,a=k0(r.body,e);return r.mclass==="minner"?t=new M.MathNode("mpadded",a):r.mclass==="mord"?r.isCharacterBox?(t=a[0],t.type="mi"):t=new M.MathNode("mi",a):(r.isCharacterBox?(t=a[0],t.type="mo"):t=new M.MathNode("mo",a),r.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):r.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):r.mclass==="mopen"||r.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):r.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}E({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+a.slice(5),body:n0(n),isCharacterBox:$.isCharacterBox(n)}},htmlBuilder:ai,mathmlBuilder:ni});var tr=r=>{var e=r.type==="ordgroup"&&r.body.length?r.body[0]:r;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};E({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(r,e){var{parser:t}=r;return{type:"mclass",mode:t.mode,mclass:tr(e[0]),body:n0(e[1]),isCharacterBox:$.isCharacterBox(e[1])}}});E({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(r,e){var{parser:t,funcName:a}=r,n=e[1],i=e[0],l;a!=="\\stackrel"?l=tr(n):l="mrel";var u={type:"op",mode:n.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:n0(n)},h={type:"supsub",mode:i.mode,base:u,sup:a==="\\underset"?null:i,sub:a==="\\underset"?i:null};return{type:"mclass",mode:t.mode,mclass:l,body:[h],isCharacterBox:$.isCharacterBox(h)}},htmlBuilder:ai,mathmlBuilder:ni});E({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"pmb",mode:t.mode,mclass:tr(e[0]),body:n0(e[0])}},htmlBuilder(r,e){var t=l0(r.body,e,!0),a=w.makeSpan([r.mclass],t,e);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(r,e){var t=k0(r.body,e),a=new M.MathNode("mstyle",t);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var p1={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},bn=()=>({type:"styling",body:[],mode:"math",style:"display"}),xn=r=>r.type==="textord"&&r.text==="@",v1=(r,e)=>(r.type==="mathord"||r.type==="atom")&&r.text===e;function g1(r,e,t){var a=p1[r];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(a,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var n=t.callFunction("\\\\cdleft",[e[0]],[]),i={type:"atom",text:a,mode:"math",family:"rel"},l=t.callFunction("\\Big",[i],[]),u=t.callFunction("\\\\cdright",[e[1]],[]),h={type:"ordgroup",mode:"math",body:[n,l,u]};return t.callFunction("\\\\cdparent",[h],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var m={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[m],[])}default:return{type:"textord",text:" ",mode:"math"}}}function y1(r){var e=[];for(r.gullet.beginGroup(),r.gullet.macros.set("\\cr","\\\\\\relax"),r.gullet.beginGroup();;){e.push(r.parseExpression(!1,"\\\\")),r.gullet.endGroup(),r.gullet.beginGroup();var t=r.fetch().text;if(t==="&"||t==="\\\\")r.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new T("Expected \\\\ or \\cr or \\end",r.nextToken)}for(var a=[],n=[a],i=0;i-1))if("<>AV".indexOf(m)>-1)for(var g=0;g<2;g++){for(var b=!0,x=h+1;xAV=|." after @',l[h]);var k=g1(m,v,r),A={type:"styling",body:[k],mode:"math",style:"display"};a.push(A),u=bn()}i%2===0?a.push(u):a.shift(),a=[],n.push(a)}r.gullet.endGroup(),r.gullet.endGroup();var C=new Array(n[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:n,arraystretch:1,addJot:!0,rowGaps:[null],cols:C,colSeparationType:"CD",hLinesBeforeRow:new Array(n.length+1).fill([])}}E({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"cdlabel",mode:t.mode,side:a.slice(4),label:e[0]}},htmlBuilder(r,e){var t=e.havingStyle(e.style.sup()),a=w.wrapFragment(P(r.label,t,e),e);return a.classes.push("cd-label-"+r.side),a.style.bottom=z(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(r,e){var t=new M.MathNode("mrow",[V(r.label,e)]);return t=new M.MathNode("mpadded",[t]),t.setAttribute("width","0"),r.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new M.MathNode("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});E({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(r,e){var{parser:t}=r;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(r,e){var t=w.wrapFragment(P(r.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(r,e){return new M.MathNode("mrow",[V(r.fragment,e)])}});E({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(r,e){for(var{parser:t}=r,a=H(e[0],"ordgroup"),n=a.body,i="",l=0;l=1114111)throw new T("\\@char with invalid code point "+i);return h<=65535?m=String.fromCharCode(h):(h-=65536,m=String.fromCharCode((h>>10)+55296,(h&1023)+56320)),{type:"textord",mode:t.mode,text:m}}});var ii=(r,e)=>{var t=l0(r.body,e.withColor(r.color),!1);return w.makeFragment(t)},si=(r,e)=>{var t=k0(r.body,e.withColor(r.color)),a=new M.MathNode("mstyle",t);return a.setAttribute("mathcolor",r.color),a};E({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(r,e){var{parser:t}=r,a=H(e[0],"color-token").color,n=e[1];return{type:"color",mode:t.mode,color:a,body:n0(n)}},htmlBuilder:ii,mathmlBuilder:si});E({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(r,e){var{parser:t,breakOnTokenText:a}=r,n=H(e[0],"color-token").color;t.gullet.macros.set("\\current@color",n);var i=t.parseExpression(!0,a);return{type:"color",mode:t.mode,color:n,body:i}},htmlBuilder:ii,mathmlBuilder:si});E({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(r,e,t){var{parser:a}=r,n=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,i=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:i,size:n&&H(n,"size").value}},htmlBuilder(r,e){var t=w.makeSpan(["mspace"],[],e);return r.newLine&&(t.classes.push("newline"),r.size&&(t.style.marginTop=z(t0(r.size,e)))),t},mathmlBuilder(r,e){var t=new M.MathNode("mspace");return r.newLine&&(t.setAttribute("linebreak","newline"),r.size&&t.setAttribute("height",z(t0(r.size,e)))),t}});var Gr={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},li=r=>{var e=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new T("Expected a control sequence",r);return e},b1=r=>{var e=r.gullet.popToken();return e.text==="="&&(e=r.gullet.popToken(),e.text===" "&&(e=r.gullet.popToken())),e},oi=(r,e,t,a)=>{var n=r.gullet.macros.get(t.text);n==null&&(t.noexpand=!0,n={tokens:[t],numArgs:0,unexpandable:!r.gullet.isExpandable(t.text)}),r.gullet.macros.set(e,n,a)};E({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e,funcName:t}=r;e.consumeSpaces();var a=e.fetch();if(Gr[a.text])return(t==="\\global"||t==="\\\\globallong")&&(a.text=Gr[a.text]),H(e.parseFunction(),"internal");throw new T("Invalid token after macro prefix",a)}});E({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=e.gullet.popToken(),n=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(n))throw new T("Expected a control sequence",a);for(var i=0,l,u=[[]];e.gullet.future().text!=="{";)if(a=e.gullet.popToken(),a.text==="#"){if(e.gullet.future().text==="{"){l=e.gullet.future(),u[i].push("{");break}if(a=e.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new T('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==i+1)throw new T('Argument number "'+a.text+'" out of order');i++,u.push([])}else{if(a.text==="EOF")throw new T("Expected a macro definition");u[i].push(a.text)}var{tokens:h}=e.gullet.consumeArg();return l&&h.unshift(l),(t==="\\edef"||t==="\\xdef")&&(h=e.gullet.expandTokens(h),h.reverse()),e.gullet.macros.set(n,{tokens:h,numArgs:i,delimiters:u},t===Gr[t]),{type:"internal",mode:e.mode}}});E({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=li(e.gullet.popToken());e.gullet.consumeSpaces();var n=b1(e);return oi(e,a,n,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});E({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=li(e.gullet.popToken()),n=e.gullet.popToken(),i=e.gullet.popToken();return oi(e,a,i,t==="\\\\globalfuture"),e.gullet.pushToken(i),e.gullet.pushToken(n),{type:"internal",mode:e.mode}}});var Je=function(e,t,a){var n=K.math[e]&&K.math[e].replace,i=Jr(n||e,t,a);if(!i)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return i},na=function(e,t,a,n){var i=a.havingBaseStyle(t),l=w.makeSpan(n.concat(i.sizingClasses(a)),[e],a),u=i.sizeMultiplier/a.sizeMultiplier;return l.height*=u,l.depth*=u,l.maxFontSize=i.sizeMultiplier,l},ui=function(e,t,a){var n=t.havingBaseStyle(a),i=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=z(i),e.height-=i,e.depth+=i},x1=function(e,t,a,n,i,l){var u=w.makeSymbol(e,"Main-Regular",i,n),h=na(u,t,n,l);return a&&ui(h,n,t),h},w1=function(e,t,a,n){return w.makeSymbol(e,"Size"+t+"-Regular",a,n)},hi=function(e,t,a,n,i,l){var u=w1(e,t,i,n),h=na(w.makeSpan(["delimsizing","size"+t],[u],n),O.TEXT,n,l);return a&&ui(h,n,O.TEXT),h},Br=function(e,t,a){var n;t==="Size1-Regular"?n="delim-size1":n="delim-size4";var i=w.makeSpan(["delimsizinginner",n],[w.makeSpan([],[w.makeSymbol(e,t,a)])]);return{type:"elem",elem:i}},Dr=function(e,t,a){var n=_0["Size4-Regular"][e.charCodeAt(0)]?_0["Size4-Regular"][e.charCodeAt(0)][4]:_0["Size1-Regular"][e.charCodeAt(0)][4],i=new q0("inner",Es(e,Math.round(1e3*t))),l=new N0([i],{width:z(n),height:z(t),style:"width:"+z(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),u=w.makeSvgSpan([],[l],a);return u.height=t,u.style.height=z(t),u.style.width=z(n),{type:"elem",elem:u}},Kr=.008,Pt={type:"kern",size:-1*Kr},k1=["|","\\lvert","\\rvert","\\vert"],S1=["\\|","\\lVert","\\rVert","\\Vert"],ci=function(e,t,a,n,i,l){var u,h,m,v,g="",b=0;u=m=v=e,h=null;var x="Size1-Regular";e==="\\uparrow"?m=v="\u23D0":e==="\\Uparrow"?m=v="\u2016":e==="\\downarrow"?u=m="\u23D0":e==="\\Downarrow"?u=m="\u2016":e==="\\updownarrow"?(u="\\uparrow",m="\u23D0",v="\\downarrow"):e==="\\Updownarrow"?(u="\\Uparrow",m="\u2016",v="\\Downarrow"):$.contains(k1,e)?(m="\u2223",g="vert",b=333):$.contains(S1,e)?(m="\u2225",g="doublevert",b=556):e==="["||e==="\\lbrack"?(u="\u23A1",m="\u23A2",v="\u23A3",x="Size4-Regular",g="lbrack",b=667):e==="]"||e==="\\rbrack"?(u="\u23A4",m="\u23A5",v="\u23A6",x="Size4-Regular",g="rbrack",b=667):e==="\\lfloor"||e==="\u230A"?(m=u="\u23A2",v="\u23A3",x="Size4-Regular",g="lfloor",b=667):e==="\\lceil"||e==="\u2308"?(u="\u23A1",m=v="\u23A2",x="Size4-Regular",g="lceil",b=667):e==="\\rfloor"||e==="\u230B"?(m=u="\u23A5",v="\u23A6",x="Size4-Regular",g="rfloor",b=667):e==="\\rceil"||e==="\u2309"?(u="\u23A4",m=v="\u23A5",x="Size4-Regular",g="rceil",b=667):e==="("||e==="\\lparen"?(u="\u239B",m="\u239C",v="\u239D",x="Size4-Regular",g="lparen",b=875):e===")"||e==="\\rparen"?(u="\u239E",m="\u239F",v="\u23A0",x="Size4-Regular",g="rparen",b=875):e==="\\{"||e==="\\lbrace"?(u="\u23A7",h="\u23A8",v="\u23A9",m="\u23AA",x="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(u="\u23AB",h="\u23AC",v="\u23AD",m="\u23AA",x="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(u="\u23A7",v="\u23A9",m="\u23AA",x="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(u="\u23AB",v="\u23AD",m="\u23AA",x="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(u="\u23A7",v="\u23AD",m="\u23AA",x="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(u="\u23AB",v="\u23A9",m="\u23AA",x="Size4-Regular");var k=Je(u,x,i),A=k.height+k.depth,C=Je(m,x,i),B=C.height+C.depth,R=Je(v,x,i),q=R.height+R.depth,j=0,I=1;if(h!==null){var F=Je(h,x,i);j=F.height+F.depth,I=2}var L=A+q+j,Z=Math.max(0,Math.ceil((t-L)/(I*B))),U=L+Z*I*B,L0=n.fontMetrics().axisHeight;a&&(L0*=n.sizeMultiplier);var m0=U/2-L0,s0=[];if(g.length>0){var he=U-A-q,v0=Math.round(U*1e3),B0=Bs(g,Math.round(he*1e3)),ee=new q0(g,B0),Se=(b/1e3).toFixed(3)+"em",Ae=(v0/1e3).toFixed(3)+"em",nr=new N0([ee],{width:Se,height:Ae,viewBox:"0 0 "+b+" "+v0}),te=w.makeSvgSpan([],[nr],n);te.height=v0/1e3,te.style.width=Se,te.style.height=Ae,s0.push({type:"elem",elem:te})}else{if(s0.push(Br(v,x,i)),s0.push(Pt),h===null){var re=U-A-q+2*Kr;s0.push(Dr(m,re,n))}else{var T0=(U-A-q-j)/2+2*Kr;s0.push(Dr(m,T0,n)),s0.push(Pt),s0.push(Br(h,x,i)),s0.push(Pt),s0.push(Dr(m,T0,n))}s0.push(Pt),s0.push(Br(u,x,i))}var qe=n.havingBaseStyle(O.TEXT),ir=w.makeVList({positionType:"bottom",positionData:m0,children:s0},qe);return na(w.makeSpan(["delimsizing","mult"],[ir],qe),O.TEXT,n,l)},$r=80,Nr=.08,Or=function(e,t,a,n,i){var l=Cs(e,n,a),u=new q0(e,l),h=new N0([u],{width:"400em",height:z(t),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return w.makeSvgSpan(["hide-tail"],[h],i)},A1=function(e,t){var a=t.havingBaseSizing(),n=pi("\\surd",e*a.sizeMultiplier,fi,a),i=a.sizeMultiplier,l=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),u,h=0,m=0,v=0,g;return n.type==="small"?(v=1e3+1e3*l+$r,e<1?i=1:e<1.4&&(i=.7),h=(1+l+Nr)/i,m=(1+l)/i,u=Or("sqrtMain",h,v,l,t),u.style.minWidth="0.853em",g=.833/i):n.type==="large"?(v=(1e3+$r)*Qe[n.size],m=(Qe[n.size]+l)/i,h=(Qe[n.size]+l+Nr)/i,u=Or("sqrtSize"+n.size,h,v,l,t),u.style.minWidth="1.02em",g=1/i):(h=e+l+Nr,m=e+l,v=Math.floor(1e3*e+l)+$r,u=Or("sqrtTall",h,v,l,t),u.style.minWidth="0.742em",g=1.056),u.height=m,u.style.height=z(h),{span:u,advanceWidth:g,ruleWidth:(t.fontMetrics().sqrtRuleThickness+l)*i}},di=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],M1=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],mi=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Qe=[0,1.2,1.8,2.4,3],T1=function(e,t,a,n,i){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),$.contains(di,e)||$.contains(mi,e))return hi(e,t,!1,a,n,i);if($.contains(M1,e))return ci(e,Qe[t],!1,a,n,i);throw new T("Illegal delimiter: '"+e+"'")},z1=[{type:"small",style:O.SCRIPTSCRIPT},{type:"small",style:O.SCRIPT},{type:"small",style:O.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],C1=[{type:"small",style:O.SCRIPTSCRIPT},{type:"small",style:O.SCRIPT},{type:"small",style:O.TEXT},{type:"stack"}],fi=[{type:"small",style:O.SCRIPTSCRIPT},{type:"small",style:O.SCRIPT},{type:"small",style:O.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],E1=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},pi=function(e,t,a,n){for(var i=Math.min(2,3-n.style.size),l=i;lt)return a[l]}return a[a.length-1]},vi=function(e,t,a,n,i,l){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var u;$.contains(mi,e)?u=z1:$.contains(di,e)?u=fi:u=C1;var h=pi(e,t,u,n);return h.type==="small"?x1(e,h.style,a,n,i,l):h.type==="large"?hi(e,h.size,a,n,i,l):ci(e,t,a,n,i,l)},B1=function(e,t,a,n,i,l){var u=n.fontMetrics().axisHeight*n.sizeMultiplier,h=901,m=5/n.fontMetrics().ptPerEm,v=Math.max(t-u,a+u),g=Math.max(v/500*h,2*v-m);return vi(e,g,!0,n,i,l)},X0={sqrtImage:A1,sizedDelim:T1,sizeToMaxHeight:Qe,customSizedDelim:vi,leftRightDelim:B1},wn={"\\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}},D1=["(","\\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 rr(r,e){var t=er(r);if(t&&$.contains(D1,t.text))return t;throw t?new T("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",r):new T("Invalid delimiter type '"+r.type+"'",r)}E({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(r,e)=>{var t=rr(e[0],r);return{type:"delimsizing",mode:r.parser.mode,size:wn[r.funcName].size,mclass:wn[r.funcName].mclass,delim:t.text}},htmlBuilder:(r,e)=>r.delim==="."?w.makeSpan([r.mclass]):X0.sizedDelim(r.delim,r.size,e,r.mode,[r.mclass]),mathmlBuilder:r=>{var e=[];r.delim!=="."&&e.push(E0(r.delim,r.mode));var t=new M.MathNode("mo",e);r.mclass==="mopen"||r.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var a=z(X0.sizeToMaxHeight[r.size]);return t.setAttribute("minsize",a),t.setAttribute("maxsize",a),t}});function kn(r){if(!r.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}E({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=r.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new T("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:r.parser.mode,delim:rr(e[0],r).text,color:t}}});E({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=rr(e[0],r),a=r.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=H(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:t.text,right:i.delim,rightColor:i.color}},htmlBuilder:(r,e)=>{kn(r);for(var t=l0(r.body,e,!0,["mopen","mclose"]),a=0,n=0,i=!1,l=0;l{kn(r);var t=k0(r.body,e);if(r.left!=="."){var a=new M.MathNode("mo",[E0(r.left,r.mode)]);a.setAttribute("fence","true"),t.unshift(a)}if(r.right!=="."){var n=new M.MathNode("mo",[E0(r.right,r.mode)]);n.setAttribute("fence","true"),r.rightColor&&n.setAttribute("mathcolor",r.rightColor),t.push(n)}return ea(t)}});E({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=rr(e[0],r);if(!r.parser.leftrightDepth)throw new T("\\middle without preceding \\left",t);return{type:"middle",mode:r.parser.mode,delim:t.text}},htmlBuilder:(r,e)=>{var t;if(r.delim===".")t=nt(e,[]);else{t=X0.sizedDelim(r.delim,1,e,r.mode,[]);var a={delim:r.delim,options:e};t.isMiddle=a}return t},mathmlBuilder:(r,e)=>{var t=r.delim==="\\vert"||r.delim==="|"?E0("|","text"):E0(r.delim,r.mode),a=new M.MathNode("mo",[t]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var ia=(r,e)=>{var t=w.wrapFragment(P(r.body,e),e),a=r.label.slice(1),n=e.sizeMultiplier,i,l=0,u=$.isCharacterBox(r.body);if(a==="sout")i=w.makeSpan(["stretchy","sout"]),i.height=e.fontMetrics().defaultRuleThickness/n,l=-.5*e.fontMetrics().xHeight;else if(a==="phase"){var h=t0({number:.6,unit:"pt"},e),m=t0({number:.35,unit:"ex"},e),v=e.havingBaseSizing();n=n/v.sizeMultiplier;var g=t.height+t.depth+h+m;t.style.paddingLeft=z(g/2+h);var b=Math.floor(1e3*g*n),x=Ts(b),k=new N0([new q0("phase",x)],{width:"400em",height:z(b/1e3),viewBox:"0 0 400000 "+b,preserveAspectRatio:"xMinYMin slice"});i=w.makeSvgSpan(["hide-tail"],[k],e),i.style.height=z(g),l=t.depth+h+m}else{/cancel/.test(a)?u||t.classes.push("cancel-pad"):a==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var A=0,C=0,B=0;/box/.test(a)?(B=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),A=e.fontMetrics().fboxsep+(a==="colorbox"?0:B),C=A):a==="angl"?(B=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),A=4*B,C=Math.max(0,.25-t.depth)):(A=u?.2:0,C=A),i=J0.encloseSpan(t,a,A,C,e),/fbox|boxed|fcolorbox/.test(a)?(i.style.borderStyle="solid",i.style.borderWidth=z(B)):a==="angl"&&B!==.049&&(i.style.borderTopWidth=z(B),i.style.borderRightWidth=z(B)),l=t.depth+C,r.backgroundColor&&(i.style.backgroundColor=r.backgroundColor,r.borderColor&&(i.style.borderColor=r.borderColor))}var R;if(r.backgroundColor)R=w.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:t,shift:0}]},e);else{var q=/cancel|phase/.test(a)?["svg-align"]:[];R=w.makeVList({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:i,shift:l,wrapperClasses:q}]},e)}return/cancel/.test(a)&&(R.height=t.height,R.depth=t.depth),/cancel/.test(a)&&!u?w.makeSpan(["mord","cancel-lap"],[R],e):w.makeSpan(["mord"],[R],e)},sa=(r,e)=>{var t=0,a=new M.MathNode(r.label.indexOf("colorbox")>-1?"mpadded":"menclose",[V(r.body,e)]);switch(r.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*t+"pt"),a.setAttribute("height","+"+2*t+"pt"),a.setAttribute("lspace",t+"pt"),a.setAttribute("voffset",t+"pt"),r.label==="\\fcolorbox"){var n=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(r.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return r.backgroundColor&&a.setAttribute("mathbackground",r.backgroundColor),a};E({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(r,e,t){var{parser:a,funcName:n}=r,i=H(e[0],"color-token").color,l=e[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:l}},htmlBuilder:ia,mathmlBuilder:sa});E({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(r,e,t){var{parser:a,funcName:n}=r,i=H(e[0],"color-token").color,l=H(e[1],"color-token").color,u=e[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:l,borderColor:i,body:u}},htmlBuilder:ia,mathmlBuilder:sa});E({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});E({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];return{type:"enclose",mode:t.mode,label:a,body:n}},htmlBuilder:ia,mathmlBuilder:sa});E({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});var gi={};function H0(r){for(var{type:e,names:t,props:a,handler:n,htmlBuilder:i,mathmlBuilder:l}=r,u={type:e,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:n},h=0;h{var e=r.parser.settings;if(!e.displayMode)throw new T("{"+r.envName+"} can be used only in display mode.")};function la(r){if(r.indexOf("ed")===-1)return r.indexOf("*")===-1}function ue(r,e,t){var{hskipBeforeAndAfter:a,addJot:n,cols:i,arraystretch:l,colSeparationType:u,autoTag:h,singleRow:m,emptySingleRow:v,maxNumCols:g,leqno:b}=e;if(r.gullet.beginGroup(),m||r.gullet.macros.set("\\cr","\\\\\\relax"),!l){var x=r.gullet.expandMacroAsText("\\arraystretch");if(x==null)l=1;else if(l=parseFloat(x),!l||l<0)throw new T("Invalid \\arraystretch: "+x)}r.gullet.beginGroup();var k=[],A=[k],C=[],B=[],R=h!=null?[]:void 0;function q(){h&&r.gullet.macros.set("\\@eqnsw","1",!0)}function j(){R&&(r.gullet.macros.get("\\df@tag")?(R.push(r.subparse([new C0("\\df@tag")])),r.gullet.macros.set("\\df@tag",void 0,!0)):R.push(!!h&&r.gullet.macros.get("\\@eqnsw")==="1"))}for(q(),B.push(Sn(r));;){var I=r.parseExpression(!1,m?"\\end":"\\\\");r.gullet.endGroup(),r.gullet.beginGroup(),I={type:"ordgroup",mode:r.mode,body:I},t&&(I={type:"styling",mode:r.mode,style:t,body:[I]}),k.push(I);var F=r.fetch().text;if(F==="&"){if(g&&k.length===g){if(m||u)throw new T("Too many tab characters: &",r.nextToken);r.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}r.consume()}else if(F==="\\end"){j(),k.length===1&&I.type==="styling"&&I.body[0].body.length===0&&(A.length>1||!v)&&A.pop(),B.length0&&(q+=.25),m.push({pos:q,isDashed:ot[ut]})}for(j(l[0]),a=0;a0&&(m0+=R,Lot))for(a=0;a=u)){var Te=void 0;(n>0||e.hskipBeforeAndAfter)&&(Te=$.deflt(T0.pregap,b),Te!==0&&(B0=w.makeSpan(["arraycolsep"],[]),B0.style.width=z(Te),v0.push(B0)));var ze=[];for(a=0;a0){for(var qi=w.makeLineSpan("hline",t,v),Hi=w.makeLineSpan("hdashline",t,v),sr=[{type:"elem",elem:h,shift:0}];m.length>0;){var ga=m.pop(),ya=ga.pos-s0;ga.isDashed?sr.push({type:"elem",elem:Hi,shift:ya}):sr.push({type:"elem",elem:qi,shift:ya})}h=w.makeVList({positionType:"individualShift",children:sr},t)}if(Se.length===0)return w.makeSpan(["mord"],[h],t);var lr=w.makeVList({positionType:"individualShift",children:Se},t);return lr=w.makeSpan(["tag"],[lr],t),w.makeFragment([h,lr])},$1={c:"center ",l:"left ",r:"right "},P0=function(e,t){for(var a=[],n=new M.MathNode("mtd",[],["mtr-glue"]),i=new M.MathNode("mtd",[],["mml-eqn-num"]),l=0;l0){var k=e.cols,A="",C=!1,B=0,R=k.length;k[0].type==="separator"&&(b+="top ",B=1),k[k.length-1].type==="separator"&&(b+="bottom ",R-=1);for(var q=B;q0?"left ":"",b+=Z[Z.length-1].length>0?"right ":"";for(var U=1;U-1?"alignat":"align",i=e.envName==="split",l=ue(e.parser,{cols:a,addJot:!0,autoTag:i?void 0:la(e.envName),emptySingleRow:!0,colSeparationType:n,maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},"display"),u,h=0,m={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&t[0].type==="ordgroup"){for(var v="",g=0;g0&&x&&(C=1),a[k]={type:"align",align:A,pregap:C,postgap:0}}return l.colSeparationType=x?"align":"alignat",l};H0({type:"array",names:["array","darray"],props:{numArgs:1},handler(r,e){var t=er(e[0]),a=t?[e[0]]:H(e[0],"ordgroup").body,n=a.map(function(l){var u=ra(l),h=u.text;if("lcr".indexOf(h)!==-1)return{type:"align",align:h};if(h==="|")return{type:"separator",separator:"|"};if(h===":")return{type:"separator",separator:":"};throw new T("Unknown column alignment: "+h,l)}),i={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return ue(r.parser,i,oa(r.envName))},htmlBuilder:I0,mathmlBuilder:P0});H0({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(r){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[r.envName.replace("*","")],t="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(r.envName.charAt(r.envName.length-1)==="*"){var n=r.parser;if(n.consumeSpaces(),n.fetch().text==="["){if(n.consume(),n.consumeSpaces(),t=n.fetch().text,"lcr".indexOf(t)===-1)throw new T("Expected l or c or r",n.nextToken);n.consume(),n.consumeSpaces(),n.expect("]"),n.consume(),a.cols=[{type:"align",align:t}]}}var i=ue(r.parser,a,oa(r.envName)),l=Math.max(0,...i.body.map(u=>u.length));return i.cols=new Array(l).fill({type:"align",align:t}),e?{type:"leftright",mode:r.mode,body:[i],left:e[0],right:e[1],rightColor:void 0}:i},htmlBuilder:I0,mathmlBuilder:P0});H0({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(r){var e={arraystretch:.5},t=ue(r.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:I0,mathmlBuilder:P0});H0({type:"array",names:["subarray"],props:{numArgs:1},handler(r,e){var t=er(e[0]),a=t?[e[0]]:H(e[0],"ordgroup").body,n=a.map(function(l){var u=ra(l),h=u.text;if("lc".indexOf(h)!==-1)return{type:"align",align:h};throw new T("Unknown column alignment: "+h,l)});if(n.length>1)throw new T("{subarray} can contain only one column");var i={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5};if(i=ue(r.parser,i,"script"),i.body.length>0&&i.body[0].length>1)throw new T("{subarray} can contain only one column");return i},htmlBuilder:I0,mathmlBuilder:P0});H0({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(r){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=ue(r.parser,e,oa(r.envName));return{type:"leftright",mode:r.mode,body:[t],left:r.envName.indexOf("r")>-1?".":"\\{",right:r.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:I0,mathmlBuilder:P0});H0({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:bi,htmlBuilder:I0,mathmlBuilder:P0});H0({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(r){$.contains(["gather","gather*"],r.envName)&&ar(r);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:la(r.envName),emptySingleRow:!0,leqno:r.parser.settings.leqno};return ue(r.parser,e,"display")},htmlBuilder:I0,mathmlBuilder:P0});H0({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:bi,htmlBuilder:I0,mathmlBuilder:P0});H0({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(r){ar(r);var e={autoTag:la(r.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:r.parser.settings.leqno};return ue(r.parser,e,"display")},htmlBuilder:I0,mathmlBuilder:P0});H0({type:"array",names:["CD"],props:{numArgs:0},handler(r){return ar(r),y1(r.parser)},htmlBuilder:I0,mathmlBuilder:P0});d("\\nonumber","\\gdef\\@eqnsw{0}");d("\\notag","\\nonumber");E({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(r,e){throw new T(r.funcName+" valid only within array environment")}});var An=gi;E({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];if(n.type!=="ordgroup")throw new T("Invalid environment name",n);for(var i="",l=0;l{var t=r.font,a=e.withFont(t);return P(r.body,a)},wi=(r,e)=>{var t=r.font,a=e.withFont(t);return V(r.body,a)},Mn={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};E({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=Yt(e[0]),i=a;return i in Mn&&(i=Mn[i]),{type:"font",mode:t.mode,font:i.slice(1),body:n}},htmlBuilder:xi,mathmlBuilder:wi});E({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(r,e)=>{var{parser:t}=r,a=e[0],n=$.isCharacterBox(a);return{type:"mclass",mode:t.mode,mclass:tr(a),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:a}],isCharacterBox:n}}});E({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,breakOnTokenText:n}=r,{mode:i}=t,l=t.parseExpression(!0,n),u="math"+a.slice(1);return{type:"font",mode:i,font:u,body:{type:"ordgroup",mode:t.mode,body:l}}},htmlBuilder:xi,mathmlBuilder:wi});var ki=(r,e)=>{var t=e;return r==="display"?t=t.id>=O.SCRIPT.id?t.text():O.DISPLAY:r==="text"&&t.size===O.DISPLAY.size?t=O.TEXT:r==="script"?t=O.SCRIPT:r==="scriptscript"&&(t=O.SCRIPTSCRIPT),t},ua=(r,e)=>{var t=ki(r.size,e.style),a=t.fracNum(),n=t.fracDen(),i;i=e.havingStyle(a);var l=P(r.numer,i,e);if(r.continued){var u=8.5/e.fontMetrics().ptPerEm,h=3.5/e.fontMetrics().ptPerEm;l.height=l.height0?k=3*b:k=7*b,A=e.fontMetrics().denom1):(g>0?(x=e.fontMetrics().num2,k=b):(x=e.fontMetrics().num3,k=3*b),A=e.fontMetrics().denom2);var C;if(v){var R=e.fontMetrics().axisHeight;x-l.depth-(R+.5*g){var t=new M.MathNode("mfrac",[V(r.numer,e),V(r.denom,e)]);if(!r.hasBarLine)t.setAttribute("linethickness","0px");else if(r.barSize){var a=t0(r.barSize,e);t.setAttribute("linethickness",z(a))}var n=ki(r.size,e.style);if(n.size!==e.style.size){t=new M.MathNode("mstyle",[t]);var i=n.size===O.DISPLAY.size?"true":"false";t.setAttribute("displaystyle",i),t.setAttribute("scriptlevel","0")}if(r.leftDelim!=null||r.rightDelim!=null){var l=[];if(r.leftDelim!=null){var u=new M.MathNode("mo",[new M.TextNode(r.leftDelim.replace("\\",""))]);u.setAttribute("fence","true"),l.push(u)}if(l.push(t),r.rightDelim!=null){var h=new M.MathNode("mo",[new M.TextNode(r.rightDelim.replace("\\",""))]);h.setAttribute("fence","true"),l.push(h)}return ea(l)}return t};E({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0],i=e[1],l,u=null,h=null,m="auto";switch(a){case"\\dfrac":case"\\frac":case"\\tfrac":l=!0;break;case"\\\\atopfrac":l=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":l=!1,u="(",h=")";break;case"\\\\bracefrac":l=!1,u="\\{",h="\\}";break;case"\\\\brackfrac":l=!1,u="[",h="]";break;default:throw new Error("Unrecognized genfrac command")}switch(a){case"\\dfrac":case"\\dbinom":m="display";break;case"\\tfrac":case"\\tbinom":m="text";break}return{type:"genfrac",mode:t.mode,continued:!1,numer:n,denom:i,hasBarLine:l,leftDelim:u,rightDelim:h,size:m,barSize:null}},htmlBuilder:ua,mathmlBuilder:ha});E({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0],i=e[1];return{type:"genfrac",mode:t.mode,continued:!0,numer:n,denom:i,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}});E({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(r){var{parser:e,funcName:t,token:a}=r,n;switch(t){case"\\over":n="\\frac";break;case"\\choose":n="\\binom";break;case"\\atop":n="\\\\atopfrac";break;case"\\brace":n="\\\\bracefrac";break;case"\\brack":n="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:n,token:a}}});var Tn=["display","text","script","scriptscript"],zn=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};E({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(r,e){var{parser:t}=r,a=e[4],n=e[5],i=Yt(e[0]),l=i.type==="atom"&&i.family==="open"?zn(i.text):null,u=Yt(e[1]),h=u.type==="atom"&&u.family==="close"?zn(u.text):null,m=H(e[2],"size"),v,g=null;m.isBlank?v=!0:(g=m.value,v=g.number>0);var b="auto",x=e[3];if(x.type==="ordgroup"){if(x.body.length>0){var k=H(x.body[0],"textord");b=Tn[Number(k.text)]}}else x=H(x,"textord"),b=Tn[Number(x.text)];return{type:"genfrac",mode:t.mode,numer:a,denom:n,continued:!1,hasBarLine:v,barSize:g,leftDelim:l,rightDelim:h,size:b}},htmlBuilder:ua,mathmlBuilder:ha});E({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(r,e){var{parser:t,funcName:a,token:n}=r;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:H(e[0],"size").value,token:n}}});E({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0],i=cs(H(e[1],"infix").size),l=e[2],u=i.number>0;return{type:"genfrac",mode:t.mode,numer:n,denom:l,continued:!1,hasBarLine:u,barSize:i,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:ua,mathmlBuilder:ha});var Si=(r,e)=>{var t=e.style,a,n;r.type==="supsub"?(a=r.sup?P(r.sup,e.havingStyle(t.sup()),e):P(r.sub,e.havingStyle(t.sub()),e),n=H(r.base,"horizBrace")):n=H(r,"horizBrace");var i=P(n.base,e.havingBaseStyle(O.DISPLAY)),l=J0.svgSpan(n,e),u;if(n.isOver?(u=w.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:.1},{type:"elem",elem:l}]},e),u.children[0].children[0].children[1].classes.push("svg-align")):(u=w.makeVList({positionType:"bottom",positionData:i.depth+.1+l.height,children:[{type:"elem",elem:l},{type:"kern",size:.1},{type:"elem",elem:i}]},e),u.children[0].children[0].children[0].classes.push("svg-align")),a){var h=w.makeSpan(["mord",n.isOver?"mover":"munder"],[u],e);n.isOver?u=w.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:h},{type:"kern",size:.2},{type:"elem",elem:a}]},e):u=w.makeVList({positionType:"bottom",positionData:h.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:h}]},e)}return w.makeSpan(["mord",n.isOver?"mover":"munder"],[u],e)},N1=(r,e)=>{var t=J0.mathMLnode(r.label);return new M.MathNode(r.isOver?"mover":"munder",[V(r.base,e),t])};E({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"horizBrace",mode:t.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Si,mathmlBuilder:N1});E({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[1],n=H(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:t.mode,href:n,body:n0(a)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(r,e)=>{var t=l0(r.body,e,!1);return w.makeAnchor(r.href,[],t,e)},mathmlBuilder:(r,e)=>{var t=oe(r.body,e);return t instanceof x0||(t=new x0("mrow",[t])),t.setAttribute("href",r.href),t}});E({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=H(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:a}))return t.formatUnsupportedCmd("\\url");for(var n=[],i=0;i{var{parser:t,funcName:a,token:n}=r,i=H(e[0],"raw").string,l=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var u,h={};switch(a){case"\\htmlClass":h.class=i,u={command:"\\htmlClass",class:i};break;case"\\htmlId":h.id=i,u={command:"\\htmlId",id:i};break;case"\\htmlStyle":h.style=i,u={command:"\\htmlStyle",style:i};break;case"\\htmlData":{for(var m=i.split(","),v=0;v{var t=l0(r.body,e,!1),a=["enclosing"];r.attributes.class&&a.push(...r.attributes.class.trim().split(/\s+/));var n=w.makeSpan(a,t,e);for(var i in r.attributes)i!=="class"&&r.attributes.hasOwnProperty(i)&&n.setAttribute(i,r.attributes[i]);return n},mathmlBuilder:(r,e)=>oe(r.body,e)});E({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"htmlmathml",mode:t.mode,html:n0(e[0]),mathml:n0(e[1])}},htmlBuilder:(r,e)=>{var t=l0(r.html,e,!1);return w.makeFragment(t)},mathmlBuilder:(r,e)=>oe(r.mathml,e)});var Rr=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new T("Invalid size: '"+e+"' in \\includegraphics");var a={number:+(t[1]+t[2]),unit:t[3]};if(!jn(a))throw new T("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};E({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(r,e,t)=>{var{parser:a}=r,n={number:0,unit:"em"},i={number:.9,unit:"em"},l={number:0,unit:"em"},u="";if(t[0])for(var h=H(t[0],"raw").string,m=h.split(","),v=0;v{var t=t0(r.height,e),a=0;r.totalheight.number>0&&(a=t0(r.totalheight,e)-t);var n=0;r.width.number>0&&(n=t0(r.width,e));var i={height:z(t+a)};n>0&&(i.width=z(n)),a>0&&(i.verticalAlign=z(-a));var l=new Lr(r.src,r.alt,i);return l.height=t,l.depth=a,l},mathmlBuilder:(r,e)=>{var t=new M.MathNode("mglyph",[]);t.setAttribute("alt",r.alt);var a=t0(r.height,e),n=0;if(r.totalheight.number>0&&(n=t0(r.totalheight,e)-a,t.setAttribute("valign",z(-n))),t.setAttribute("height",z(a+n)),r.width.number>0){var i=t0(r.width,e);t.setAttribute("width",z(i))}return t.setAttribute("src",r.src),t}});E({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,n=H(e[0],"size");if(t.settings.strict){var i=a[1]==="m",l=n.value.unit==="mu";i?(l||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+n.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):l&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:n.value}},htmlBuilder(r,e){return w.makeGlue(r.dimension,e)},mathmlBuilder(r,e){var t=t0(r.dimension,e);return new M.SpaceNode(t)}});E({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0];return{type:"lap",mode:t.mode,alignment:a.slice(5),body:n}},htmlBuilder:(r,e)=>{var t;r.alignment==="clap"?(t=w.makeSpan([],[P(r.body,e)]),t=w.makeSpan(["inner"],[t],e)):t=w.makeSpan(["inner"],[P(r.body,e)]);var a=w.makeSpan(["fix"],[]),n=w.makeSpan([r.alignment],[t,a],e),i=w.makeSpan(["strut"]);return i.style.height=z(n.height+n.depth),n.depth&&(i.style.verticalAlign=z(-n.depth)),n.children.unshift(i),n=w.makeSpan(["thinbox"],[n],e),w.makeSpan(["mord","vbox"],[n],e)},mathmlBuilder:(r,e)=>{var t=new M.MathNode("mpadded",[V(r.body,e)]);if(r.alignment!=="rlap"){var a=r.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",a+"width")}return t.setAttribute("width","0px"),t}});E({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){var{funcName:t,parser:a}=r,n=a.mode;a.switchMode("math");var i=t==="\\("?"\\)":"$",l=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:l}}});E({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){throw new T("Mismatched "+r.funcName)}});var Cn=(r,e)=>{switch(e.style.size){case O.DISPLAY.size:return r.display;case O.TEXT.size:return r.text;case O.SCRIPT.size:return r.script;case O.SCRIPTSCRIPT.size:return r.scriptscript;default:return r.text}};E({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"mathchoice",mode:t.mode,display:n0(e[0]),text:n0(e[1]),script:n0(e[2]),scriptscript:n0(e[3])}},htmlBuilder:(r,e)=>{var t=Cn(r,e),a=l0(t,e,!1);return w.makeFragment(a)},mathmlBuilder:(r,e)=>{var t=Cn(r,e);return oe(t,e)}});var Ai=(r,e,t,a,n,i,l)=>{r=w.makeSpan([],[r]);var u=t&&$.isCharacterBox(t),h,m;if(e){var v=P(e,a.havingStyle(n.sup()),a);m={elem:v,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-v.depth)}}if(t){var g=P(t,a.havingStyle(n.sub()),a);h={elem:g,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-g.height)}}var b;if(m&&h){var x=a.fontMetrics().bigOpSpacing5+h.elem.height+h.elem.depth+h.kern+r.depth+l;b=w.makeVList({positionType:"bottom",positionData:x,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:z(-i)},{type:"kern",size:h.kern},{type:"elem",elem:r},{type:"kern",size:m.kern},{type:"elem",elem:m.elem,marginLeft:z(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(h){var k=r.height-l;b=w.makeVList({positionType:"top",positionData:k,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:z(-i)},{type:"kern",size:h.kern},{type:"elem",elem:r}]},a)}else if(m){var A=r.depth+l;b=w.makeVList({positionType:"bottom",positionData:A,children:[{type:"elem",elem:r},{type:"kern",size:m.kern},{type:"elem",elem:m.elem,marginLeft:z(i)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else return r;var C=[b];if(h&&i!==0&&!u){var B=w.makeSpan(["mspace"],[],a);B.style.marginRight=z(i),C.unshift(B)}return w.makeSpan(["mop","op-limits"],C,a)},Mi=["\\smallint"],_e=(r,e)=>{var t,a,n=!1,i;r.type==="supsub"?(t=r.sup,a=r.sub,i=H(r.base,"op"),n=!0):i=H(r,"op");var l=e.style,u=!1;l.size===O.DISPLAY.size&&i.symbol&&!$.contains(Mi,i.name)&&(u=!0);var h;if(i.symbol){var m=u?"Size2-Regular":"Size1-Regular",v="";if((i.name==="\\oiint"||i.name==="\\oiiint")&&(v=i.name.slice(1),i.name=v==="oiint"?"\\iint":"\\iiint"),h=w.makeSymbol(i.name,m,"math",e,["mop","op-symbol",u?"large-op":"small-op"]),v.length>0){var g=h.italic,b=w.staticSvg(v+"Size"+(u?"2":"1"),e);h=w.makeVList({positionType:"individualShift",children:[{type:"elem",elem:h,shift:0},{type:"elem",elem:b,shift:u?.08:0}]},e),i.name="\\"+v,h.classes.unshift("mop"),h.italic=g}}else if(i.body){var x=l0(i.body,e,!0);x.length===1&&x[0]instanceof w0?(h=x[0],h.classes[0]="mop"):h=w.makeSpan(["mop"],x,e)}else{for(var k=[],A=1;A{var t;if(r.symbol)t=new x0("mo",[E0(r.name,r.mode)]),$.contains(Mi,r.name)&&t.setAttribute("largeop","false");else if(r.body)t=new x0("mo",k0(r.body,e));else{t=new x0("mi",[new be(r.name.slice(1))]);var a=new x0("mo",[E0("\u2061","text")]);r.parentIsSupSub?t=new x0("mrow",[t,a]):t=Qn([t,a])}return t},O1={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};E({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:(r,e)=>{var{parser:t,funcName:a}=r,n=a;return n.length===1&&(n=O1[n]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:_e,mathmlBuilder:it});E({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:n0(a)}},htmlBuilder:_e,mathmlBuilder:it});var R1={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};E({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(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:_e,mathmlBuilder:it});E({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:_e,mathmlBuilder:it});E({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r,a=t;return a.length===1&&(a=R1[a]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:_e,mathmlBuilder:it});var Ti=(r,e)=>{var t,a,n=!1,i;r.type==="supsub"?(t=r.sup,a=r.sub,i=H(r.base,"operatorname"),n=!0):i=H(r,"operatorname");var l;if(i.body.length>0){for(var u=i.body.map(g=>{var b=g.text;return typeof b=="string"?{type:"textord",mode:g.mode,text:b}:g}),h=l0(u,e.withFont("mathrm"),!0),m=0;m{for(var t=k0(r.body,e.withFont("mathrm")),a=!0,n=0;nv.toText()).join("");t=[new M.TextNode(u)]}var h=new M.MathNode("mi",t);h.setAttribute("mathvariant","normal");var m=new M.MathNode("mo",[E0("\u2061","text")]);return r.parentIsSupSub?new M.MathNode("mrow",[h,m]):M.newDocumentFragment([h,m])};E({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,n=e[0];return{type:"operatorname",mode:t.mode,body:n0(n),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Ti,mathmlBuilder:_1});d("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");ke({type:"ordgroup",htmlBuilder(r,e){return r.semisimple?w.makeFragment(l0(r.body,e,!1)):w.makeSpan(["mord"],l0(r.body,e,!0),e)},mathmlBuilder(r,e){return oe(r.body,e,!0)}});E({type:"overline",names:["\\overline"],props:{numArgs:1},handler(r,e){var{parser:t}=r,a=e[0];return{type:"overline",mode:t.mode,body:a}},htmlBuilder(r,e){var t=P(r.body,e.havingCrampedStyle()),a=w.makeLineSpan("overline-line",e),n=e.fontMetrics().defaultRuleThickness,i=w.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*n},{type:"elem",elem:a},{type:"kern",size:n}]},e);return w.makeSpan(["mord","overline"],[i],e)},mathmlBuilder(r,e){var t=new M.MathNode("mo",[new M.TextNode("\u203E")]);t.setAttribute("stretchy","true");var a=new M.MathNode("mover",[V(r.body,e),t]);return a.setAttribute("accent","true"),a}});E({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"phantom",mode:t.mode,body:n0(a)}},htmlBuilder:(r,e)=>{var t=l0(r.body,e.withPhantom(),!1);return w.makeFragment(t)},mathmlBuilder:(r,e)=>{var t=k0(r.body,e);return new M.MathNode("mphantom",t)}});E({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"hphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=w.makeSpan([],[P(r.body,e.withPhantom())]);if(t.height=0,t.depth=0,t.children)for(var a=0;a{var t=k0(n0(r.body),e),a=new M.MathNode("mphantom",t),n=new M.MathNode("mpadded",[a]);return n.setAttribute("height","0px"),n.setAttribute("depth","0px"),n}});E({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"vphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=w.makeSpan(["inner"],[P(r.body,e.withPhantom())]),a=w.makeSpan(["fix"],[]);return w.makeSpan(["mord","rlap"],[t,a],e)},mathmlBuilder:(r,e)=>{var t=k0(n0(r.body),e),a=new M.MathNode("mphantom",t),n=new M.MathNode("mpadded",[a]);return n.setAttribute("width","0px"),n}});E({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r,a=H(e[0],"size").value,n=e[1];return{type:"raisebox",mode:t.mode,dy:a,body:n}},htmlBuilder(r,e){var t=P(r.body,e),a=t0(r.dy,e);return w.makeVList({positionType:"shift",positionData:-a,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){var t=new M.MathNode("mpadded",[V(r.body,e)]),a=r.dy.number+r.dy.unit;return t.setAttribute("voffset",a),t}});E({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e}=r;return{type:"internal",mode:e.mode}}});E({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(r,e,t){var{parser:a}=r,n=t[0],i=H(e[0],"size"),l=H(e[1],"size");return{type:"rule",mode:a.mode,shift:n&&H(n,"size").value,width:i.value,height:l.value}},htmlBuilder(r,e){var t=w.makeSpan(["mord","rule"],[],e),a=t0(r.width,e),n=t0(r.height,e),i=r.shift?t0(r.shift,e):0;return t.style.borderRightWidth=z(a),t.style.borderTopWidth=z(n),t.style.bottom=z(i),t.width=a,t.height=n+i,t.depth=-i,t.maxFontSize=n*1.125*e.sizeMultiplier,t},mathmlBuilder(r,e){var t=t0(r.width,e),a=t0(r.height,e),n=r.shift?t0(r.shift,e):0,i=e.color&&e.getColor()||"black",l=new M.MathNode("mspace");l.setAttribute("mathbackground",i),l.setAttribute("width",z(t)),l.setAttribute("height",z(a));var u=new M.MathNode("mpadded",[l]);return n>=0?u.setAttribute("height",z(n)):(u.setAttribute("height",z(n)),u.setAttribute("depth",z(-n))),u.setAttribute("voffset",z(n)),u}});function zi(r,e,t){for(var a=l0(r,e,!1),n=e.sizeMultiplier/t.sizeMultiplier,i=0;i{var t=e.havingSize(r.size);return zi(r.body,t,e)};E({type:"sizing",names:En,props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{breakOnTokenText:t,funcName:a,parser:n}=r,i=n.parseExpression(!1,t);return{type:"sizing",mode:n.mode,size:En.indexOf(a)+1,body:i}},htmlBuilder:q1,mathmlBuilder:(r,e)=>{var t=e.havingSize(r.size),a=k0(r.body,t),n=new M.MathNode("mstyle",a);return n.setAttribute("mathsize",z(t.sizeMultiplier)),n}});E({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(r,e,t)=>{var{parser:a}=r,n=!1,i=!1,l=t[0]&&H(t[0],"ordgroup");if(l)for(var u="",h=0;h{var t=w.makeSpan([],[P(r.body,e)]);if(!r.smashHeight&&!r.smashDepth)return t;if(r.smashHeight&&(t.height=0,t.children))for(var a=0;a{var t=new M.MathNode("mpadded",[V(r.body,e)]);return r.smashHeight&&t.setAttribute("height","0px"),r.smashDepth&&t.setAttribute("depth","0px"),t}});E({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a}=r,n=t[0],i=e[0];return{type:"sqrt",mode:a.mode,body:i,index:n}},htmlBuilder(r,e){var t=P(r.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=w.wrapFragment(t,e);var a=e.fontMetrics(),n=a.defaultRuleThickness,i=n;e.style.idt.height+t.depth+l&&(l=(l+g-t.height-t.depth)/2);var b=h.height-t.height-l-m;t.style.paddingLeft=z(v);var x=w.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+b)},{type:"elem",elem:h},{type:"kern",size:m}]},e);if(r.index){var k=e.havingStyle(O.SCRIPTSCRIPT),A=P(r.index,k,e),C=.6*(x.height-x.depth),B=w.makeVList({positionType:"shift",positionData:-C,children:[{type:"elem",elem:A}]},e),R=w.makeSpan(["root"],[B]);return w.makeSpan(["mord","sqrt"],[R,x],e)}else return w.makeSpan(["mord","sqrt"],[x],e)},mathmlBuilder(r,e){var{body:t,index:a}=r;return a?new M.MathNode("mroot",[V(t,e),V(a,e)]):new M.MathNode("msqrt",[V(t,e)])}});var Bn={display:O.DISPLAY,text:O.TEXT,script:O.SCRIPT,scriptscript:O.SCRIPTSCRIPT};E({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r,e){var{breakOnTokenText:t,funcName:a,parser:n}=r,i=n.parseExpression(!0,t),l=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:l,body:i}},htmlBuilder(r,e){var t=Bn[r.style],a=e.havingStyle(t).withFont("");return zi(r.body,a,e)},mathmlBuilder(r,e){var t=Bn[r.style],a=e.havingStyle(t),n=k0(r.body,a),i=new M.MathNode("mstyle",n),l={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},u=l[r.style];return i.setAttribute("scriptlevel",u[0]),i.setAttribute("displaystyle",u[1]),i}});var H1=function(e,t){var a=e.base;if(a)if(a.type==="op"){var n=a.limits&&(t.style.size===O.DISPLAY.size||a.alwaysHandleSupSub);return n?_e:null}else if(a.type==="operatorname"){var i=a.alwaysHandleSupSub&&(t.style.size===O.DISPLAY.size||a.limits);return i?Ti:null}else{if(a.type==="accent")return $.isCharacterBox(a.base)?aa:null;if(a.type==="horizBrace"){var l=!e.sub;return l===a.isOver?Si:null}else return null}else return null};ke({type:"supsub",htmlBuilder(r,e){var t=H1(r,e);if(t)return t(r,e);var{base:a,sup:n,sub:i}=r,l=P(a,e),u,h,m=e.fontMetrics(),v=0,g=0,b=a&&$.isCharacterBox(a);if(n){var x=e.havingStyle(e.style.sup());u=P(n,x,e),b||(v=l.height-x.fontMetrics().supDrop*x.sizeMultiplier/e.sizeMultiplier)}if(i){var k=e.havingStyle(e.style.sub());h=P(i,k,e),b||(g=l.depth+k.fontMetrics().subDrop*k.sizeMultiplier/e.sizeMultiplier)}var A;e.style===O.DISPLAY?A=m.sup1:e.style.cramped?A=m.sup3:A=m.sup2;var C=e.sizeMultiplier,B=z(.5/m.ptPerEm/C),R=null;if(h){var q=r.base&&r.base.type==="op"&&r.base.name&&(r.base.name==="\\oiint"||r.base.name==="\\oiiint");(l instanceof w0||q)&&(R=z(-l.italic))}var j;if(u&&h){v=Math.max(v,A,u.depth+.25*m.xHeight),g=Math.max(g,m.sub2);var I=m.defaultRuleThickness,F=4*I;if(v-u.depth-(h.height-g)0&&(v+=L,g-=L)}var Z=[{type:"elem",elem:h,shift:g,marginRight:B,marginLeft:R},{type:"elem",elem:u,shift:-v,marginRight:B}];j=w.makeVList({positionType:"individualShift",children:Z},e)}else if(h){g=Math.max(g,m.sub1,h.height-.8*m.xHeight);var U=[{type:"elem",elem:h,marginLeft:R,marginRight:B}];j=w.makeVList({positionType:"shift",positionData:g,children:U},e)}else if(u)v=Math.max(v,A,u.depth+.25*m.xHeight),j=w.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:u,marginRight:B}]},e);else throw new Error("supsub must have either sup or sub.");var L0=Fr(l,"right")||"mord";return w.makeSpan([L0],[l,w.makeSpan(["msupsub"],[j])],e)},mathmlBuilder(r,e){var t=!1,a,n;r.base&&r.base.type==="horizBrace"&&(n=!!r.sup,n===r.base.isOver&&(t=!0,a=r.base.isOver)),r.base&&(r.base.type==="op"||r.base.type==="operatorname")&&(r.base.parentIsSupSub=!0);var i=[V(r.base,e)];r.sub&&i.push(V(r.sub,e)),r.sup&&i.push(V(r.sup,e));var l;if(t)l=a?"mover":"munder";else if(r.sub)if(r.sup){var m=r.base;m&&m.type==="op"&&m.limits&&e.style===O.DISPLAY||m&&m.type==="operatorname"&&m.alwaysHandleSupSub&&(e.style===O.DISPLAY||m.limits)?l="munderover":l="msubsup"}else{var h=r.base;h&&h.type==="op"&&h.limits&&(e.style===O.DISPLAY||h.alwaysHandleSupSub)||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(h.limits||e.style===O.DISPLAY)?l="munder":l="msub"}else{var u=r.base;u&&u.type==="op"&&u.limits&&(e.style===O.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===O.DISPLAY)?l="mover":l="msup"}return new M.MathNode(l,i)}});ke({type:"atom",htmlBuilder(r,e){return w.mathsym(r.text,r.mode,e,["m"+r.family])},mathmlBuilder(r,e){var t=new M.MathNode("mo",[E0(r.text,r.mode)]);if(r.family==="bin"){var a=ta(r,e);a==="bold-italic"&&t.setAttribute("mathvariant",a)}else r.family==="punct"?t.setAttribute("separator","true"):(r.family==="open"||r.family==="close")&&t.setAttribute("stretchy","false");return t}});var Ci={mi:"italic",mn:"normal",mtext:"normal"};ke({type:"mathord",htmlBuilder(r,e){return w.makeOrd(r,e,"mathord")},mathmlBuilder(r,e){var t=new M.MathNode("mi",[E0(r.text,r.mode,e)]),a=ta(r,e)||"italic";return a!==Ci[t.type]&&t.setAttribute("mathvariant",a),t}});ke({type:"textord",htmlBuilder(r,e){return w.makeOrd(r,e,"textord")},mathmlBuilder(r,e){var t=E0(r.text,r.mode,e),a=ta(r,e)||"normal",n;return r.mode==="text"?n=new M.MathNode("mtext",[t]):/[0-9]/.test(r.text)?n=new M.MathNode("mn",[t]):r.text==="\\prime"?n=new M.MathNode("mo",[t]):n=new M.MathNode("mi",[t]),a!==Ci[n.type]&&n.setAttribute("mathvariant",a),n}});var _r={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},qr={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};ke({type:"spacing",htmlBuilder(r,e){if(qr.hasOwnProperty(r.text)){var t=qr[r.text].className||"";if(r.mode==="text"){var a=w.makeOrd(r,e,"textord");return a.classes.push(t),a}else return w.makeSpan(["mspace",t],[w.mathsym(r.text,r.mode,e)],e)}else{if(_r.hasOwnProperty(r.text))return w.makeSpan(["mspace",_r[r.text]],[],e);throw new T('Unknown type of space "'+r.text+'"')}},mathmlBuilder(r,e){var t;if(qr.hasOwnProperty(r.text))t=new M.MathNode("mtext",[new M.TextNode("\xA0")]);else{if(_r.hasOwnProperty(r.text))return new M.MathNode("mspace");throw new T('Unknown type of space "'+r.text+'"')}return t}});var Dn=()=>{var r=new M.MathNode("mtd",[]);return r.setAttribute("width","50%"),r};ke({type:"tag",mathmlBuilder(r,e){var t=new M.MathNode("mtable",[new M.MathNode("mtr",[Dn(),new M.MathNode("mtd",[oe(r.body,e)]),Dn(),new M.MathNode("mtd",[oe(r.tag,e)])])]);return t.setAttribute("width","100%"),t}});var $n={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Nn={"\\textbf":"textbf","\\textmd":"textmd"},I1={"\\textit":"textit","\\textup":"textup"},On=(r,e)=>{var t=r.font;if(t){if($n[t])return e.withTextFontFamily($n[t]);if(Nn[t])return e.withTextFontWeight(Nn[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(I1[t])};E({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,n=e[0];return{type:"text",mode:t.mode,body:n0(n),font:a}},htmlBuilder(r,e){var t=On(r,e),a=l0(r.body,t,!0);return w.makeSpan(["mord","text"],a,t)},mathmlBuilder(r,e){var t=On(r,e);return oe(r.body,t)}});E({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=P(r.body,e),a=w.makeLineSpan("underline-line",e),n=e.fontMetrics().defaultRuleThickness,i=w.makeVList({positionType:"top",positionData:t.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:t}]},e);return w.makeSpan(["mord","underline"],[i],e)},mathmlBuilder(r,e){var t=new M.MathNode("mo",[new M.TextNode("\u203E")]);t.setAttribute("stretchy","true");var a=new M.MathNode("munder",[V(r.body,e),t]);return a.setAttribute("accentunder","true"),a}});E({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=P(r.body,e),a=e.fontMetrics().axisHeight,n=.5*(t.height-a-(t.depth+a));return w.makeVList({positionType:"shift",positionData:n,children:[{type:"elem",elem:t}]},e)},mathmlBuilder(r,e){return new M.MathNode("mpadded",[V(r.body,e)],["vcenter"])}});E({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(r,e,t){throw new T("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(r,e){for(var t=Rn(r),a=[],n=e.havingStyle(e.style.text()),i=0;ir.body.replace(/ /g,r.star?"\u2423":"\xA0"),se=Zn,Ei=`[ \r + ]`,P1="\\\\[a-zA-Z@]+",L1="\\\\[^\uD800-\uDFFF]",j1="("+P1+")"+Ei+"*",F1=`\\\\( +|[ \r ]+ +?)[ \r ]*`,Wr="[\u0300-\u036F]",U1=new RegExp(Wr+"+$"),V1="("+Ei+"+)|"+(F1+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(Wr+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Wr+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+j1)+("|"+L1+")"),Xt=class{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(V1,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new C0("EOF",new A0(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new T("Unexpected character: '"+e[t]+"'",new C0(e[t],new A0(this,t,t+1)));var n=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[n]===14){var i=e.indexOf(` +`,this.tokenRegex.lastIndex);return i===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=i+1,this.lex()}return new C0(n,new A0(this,t,this.tokenRegex.lastIndex))}},Yr=class{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new T("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,a){if(a===void 0&&(a=!1),a){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(e)&&(i[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}},G1=yi;d("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});d("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}});d("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}});d("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}});d("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});d("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");d("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var _n={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};d("\\char",function(r){var e=r.popToken(),t,a="";if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new T("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=_n[e.text],a==null||a>=t)throw new T("Invalid base-"+t+" digit "+e.text);for(var n;(n=_n[r.future().text])!=null&&n{var a=r.consumeArg().tokens;if(a.length!==1)throw new T("\\newcommand's first argument must be a macro name");var n=a[0].text,i=r.isDefined(n);if(i&&!e)throw new T("\\newcommand{"+n+"} attempting to redefine "+(n+"; use \\renewcommand"));if(!i&&!t)throw new T("\\renewcommand{"+n+"} when command "+n+" does not yet exist; use \\newcommand");var l=0;if(a=r.consumeArg().tokens,a.length===1&&a[0].text==="["){for(var u="",h=r.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=r.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new T("Invalid number of arguments: "+u);l=parseInt(u),a=r.consumeArg().tokens}return r.macros.set(n,{tokens:a,numArgs:l}),""};d("\\newcommand",r=>ca(r,!1,!0));d("\\renewcommand",r=>ca(r,!0,!1));d("\\providecommand",r=>ca(r,!0,!0));d("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});d("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});d("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),se[t],K.math[t],K.text[t]),""});d("\\bgroup","{");d("\\egroup","}");d("~","\\nobreakspace");d("\\lq","`");d("\\rq","'");d("\\aa","\\r a");d("\\AA","\\r A");d("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");d("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");d("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");d("\u212C","\\mathscr{B}");d("\u2130","\\mathscr{E}");d("\u2131","\\mathscr{F}");d("\u210B","\\mathscr{H}");d("\u2110","\\mathscr{I}");d("\u2112","\\mathscr{L}");d("\u2133","\\mathscr{M}");d("\u211B","\\mathscr{R}");d("\u212D","\\mathfrak{C}");d("\u210C","\\mathfrak{H}");d("\u2128","\\mathfrak{Z}");d("\\Bbbk","\\Bbb{k}");d("\xB7","\\cdotp");d("\\llap","\\mathllap{\\textrm{#1}}");d("\\rlap","\\mathrlap{\\textrm{#1}}");d("\\clap","\\mathclap{\\textrm{#1}}");d("\\mathstrut","\\vphantom{(}");d("\\underbar","\\underline{\\text{#1}}");d("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');d("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");d("\\ne","\\neq");d("\u2260","\\neq");d("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");d("\u2209","\\notin");d("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");d("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");d("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");d("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");d("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");d("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");d("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");d("\u27C2","\\perp");d("\u203C","\\mathclose{!\\mkern-0.8mu!}");d("\u220C","\\notni");d("\u231C","\\ulcorner");d("\u231D","\\urcorner");d("\u231E","\\llcorner");d("\u231F","\\lrcorner");d("\xA9","\\copyright");d("\xAE","\\textregistered");d("\uFE0F","\\textregistered");d("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');d("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');d("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');d("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');d("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}");d("\u22EE","\\vdots");d("\\varGamma","\\mathit{\\Gamma}");d("\\varDelta","\\mathit{\\Delta}");d("\\varTheta","\\mathit{\\Theta}");d("\\varLambda","\\mathit{\\Lambda}");d("\\varXi","\\mathit{\\Xi}");d("\\varPi","\\mathit{\\Pi}");d("\\varSigma","\\mathit{\\Sigma}");d("\\varUpsilon","\\mathit{\\Upsilon}");d("\\varPhi","\\mathit{\\Phi}");d("\\varPsi","\\mathit{\\Psi}");d("\\varOmega","\\mathit{\\Omega}");d("\\substack","\\begin{subarray}{c}#1\\end{subarray}");d("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");d("\\boxed","\\fbox{$\\displaystyle{#1}$}");d("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");d("\\implies","\\DOTSB\\;\\Longrightarrow\\;");d("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var qn={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\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"};d("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in qn?e=qn[t]:(t.slice(0,4)==="\\not"||t in K.math&&$.contains(["bin","rel"],K.math[t].group))&&(e="\\dotsb"),e});var da={")":!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};d("\\dotso",function(r){var e=r.future().text;return e in da?"\\ldots\\,":"\\ldots"});d("\\dotsc",function(r){var e=r.future().text;return e in da&&e!==","?"\\ldots\\,":"\\ldots"});d("\\cdots",function(r){var e=r.future().text;return e in da?"\\@cdots\\,":"\\@cdots"});d("\\dotsb","\\cdots");d("\\dotsm","\\cdots");d("\\dotsi","\\!\\cdots");d("\\dotsx","\\ldots\\,");d("\\DOTSI","\\relax");d("\\DOTSB","\\relax");d("\\DOTSX","\\relax");d("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");d("\\,","\\tmspace+{3mu}{.1667em}");d("\\thinspace","\\,");d("\\>","\\mskip{4mu}");d("\\:","\\tmspace+{4mu}{.2222em}");d("\\medspace","\\:");d("\\;","\\tmspace+{5mu}{.2777em}");d("\\thickspace","\\;");d("\\!","\\tmspace-{3mu}{.1667em}");d("\\negthinspace","\\!");d("\\negmedspace","\\tmspace-{4mu}{.2222em}");d("\\negthickspace","\\tmspace-{5mu}{.277em}");d("\\enspace","\\kern.5em ");d("\\enskip","\\hskip.5em\\relax");d("\\quad","\\hskip1em\\relax");d("\\qquad","\\hskip2em\\relax");d("\\tag","\\@ifstar\\tag@literal\\tag@paren");d("\\tag@paren","\\tag@literal{({#1})}");d("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new T("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});d("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");d("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");d("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");d("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");d("\\newline","\\\\\\relax");d("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Bi=z(_0["Main-Regular"]["T".charCodeAt(0)][1]-.7*_0["Main-Regular"]["A".charCodeAt(0)][1]);d("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Bi+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");d("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Bi+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");d("\\hspace","\\@ifstar\\@hspacer\\@hspace");d("\\@hspace","\\hskip #1\\relax");d("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");d("\\ordinarycolon",":");d("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");d("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');d("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');d("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');d("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');d("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');d("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');d("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');d("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');d("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');d("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');d("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');d("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');d("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');d("\u2237","\\dblcolon");d("\u2239","\\eqcolon");d("\u2254","\\coloneqq");d("\u2255","\\eqqcolon");d("\u2A74","\\Coloneqq");d("\\ratio","\\vcentcolon");d("\\coloncolon","\\dblcolon");d("\\colonequals","\\coloneqq");d("\\coloncolonequals","\\Coloneqq");d("\\equalscolon","\\eqqcolon");d("\\equalscoloncolon","\\Eqqcolon");d("\\colonminus","\\coloneq");d("\\coloncolonminus","\\Coloneq");d("\\minuscolon","\\eqcolon");d("\\minuscoloncolon","\\Eqcolon");d("\\coloncolonapprox","\\Colonapprox");d("\\coloncolonsim","\\Colonsim");d("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");d("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");d("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");d("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");d("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");d("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");d("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");d("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");d("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");d("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");d("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");d("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");d("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");d("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");d("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");d("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");d("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");d("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");d("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");d("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");d("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");d("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");d("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");d("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");d("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");d("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");d("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");d("\\imath","\\html@mathml{\\@imath}{\u0131}");d("\\jmath","\\html@mathml{\\@jmath}{\u0237}");d("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");d("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");d("\u27E6","\\llbracket");d("\u27E7","\\rrbracket");d("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");d("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");d("\u2983","\\lBrace");d("\u2984","\\rBrace");d("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");d("\u29B5","\\minuso");d("\\darr","\\downarrow");d("\\dArr","\\Downarrow");d("\\Darr","\\Downarrow");d("\\lang","\\langle");d("\\rang","\\rangle");d("\\uarr","\\uparrow");d("\\uArr","\\Uparrow");d("\\Uarr","\\Uparrow");d("\\N","\\mathbb{N}");d("\\R","\\mathbb{R}");d("\\Z","\\mathbb{Z}");d("\\alef","\\aleph");d("\\alefsym","\\aleph");d("\\Alpha","\\mathrm{A}");d("\\Beta","\\mathrm{B}");d("\\bull","\\bullet");d("\\Chi","\\mathrm{X}");d("\\clubs","\\clubsuit");d("\\cnums","\\mathbb{C}");d("\\Complex","\\mathbb{C}");d("\\Dagger","\\ddagger");d("\\diamonds","\\diamondsuit");d("\\empty","\\emptyset");d("\\Epsilon","\\mathrm{E}");d("\\Eta","\\mathrm{H}");d("\\exist","\\exists");d("\\harr","\\leftrightarrow");d("\\hArr","\\Leftrightarrow");d("\\Harr","\\Leftrightarrow");d("\\hearts","\\heartsuit");d("\\image","\\Im");d("\\infin","\\infty");d("\\Iota","\\mathrm{I}");d("\\isin","\\in");d("\\Kappa","\\mathrm{K}");d("\\larr","\\leftarrow");d("\\lArr","\\Leftarrow");d("\\Larr","\\Leftarrow");d("\\lrarr","\\leftrightarrow");d("\\lrArr","\\Leftrightarrow");d("\\Lrarr","\\Leftrightarrow");d("\\Mu","\\mathrm{M}");d("\\natnums","\\mathbb{N}");d("\\Nu","\\mathrm{N}");d("\\Omicron","\\mathrm{O}");d("\\plusmn","\\pm");d("\\rarr","\\rightarrow");d("\\rArr","\\Rightarrow");d("\\Rarr","\\Rightarrow");d("\\real","\\Re");d("\\reals","\\mathbb{R}");d("\\Reals","\\mathbb{R}");d("\\Rho","\\mathrm{P}");d("\\sdot","\\cdot");d("\\sect","\\S");d("\\spades","\\spadesuit");d("\\sub","\\subset");d("\\sube","\\subseteq");d("\\supe","\\supseteq");d("\\Tau","\\mathrm{T}");d("\\thetasym","\\vartheta");d("\\weierp","\\wp");d("\\Zeta","\\mathrm{Z}");d("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");d("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");d("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");d("\\bra","\\mathinner{\\langle{#1}|}");d("\\ket","\\mathinner{|{#1}\\rangle}");d("\\braket","\\mathinner{\\langle{#1}\\rangle}");d("\\Bra","\\left\\langle#1\\right|");d("\\Ket","\\left|#1\\right\\rangle");var Di=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,l=e.macros.get("|"),u=e.macros.get("\\|");e.macros.beginGroup();var h=g=>b=>{r&&(b.macros.set("|",l),n.length&&b.macros.set("\\|",u));var x=g;if(!g&&n.length){var k=b.future();k.text==="|"&&(b.popToken(),x=!0)}return{tokens:x?n:a,numArgs:0}};e.macros.set("|",h(!1)),n.length&&e.macros.set("\\|",h(!0));var m=e.consumeArg().tokens,v=e.expandTokens([...i,...m,...t]);return e.macros.endGroup(),{tokens:v.reverse(),numArgs:0}};d("\\bra@ket",Di(!1));d("\\bra@set",Di(!0));d("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");d("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");d("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");d("\\angln","{\\angl n}");d("\\blue","\\textcolor{##6495ed}{#1}");d("\\orange","\\textcolor{##ffa500}{#1}");d("\\pink","\\textcolor{##ff00af}{#1}");d("\\red","\\textcolor{##df0030}{#1}");d("\\green","\\textcolor{##28ae7b}{#1}");d("\\gray","\\textcolor{gray}{#1}");d("\\purple","\\textcolor{##9d38bd}{#1}");d("\\blueA","\\textcolor{##ccfaff}{#1}");d("\\blueB","\\textcolor{##80f6ff}{#1}");d("\\blueC","\\textcolor{##63d9ea}{#1}");d("\\blueD","\\textcolor{##11accd}{#1}");d("\\blueE","\\textcolor{##0c7f99}{#1}");d("\\tealA","\\textcolor{##94fff5}{#1}");d("\\tealB","\\textcolor{##26edd5}{#1}");d("\\tealC","\\textcolor{##01d1c1}{#1}");d("\\tealD","\\textcolor{##01a995}{#1}");d("\\tealE","\\textcolor{##208170}{#1}");d("\\greenA","\\textcolor{##b6ffb0}{#1}");d("\\greenB","\\textcolor{##8af281}{#1}");d("\\greenC","\\textcolor{##74cf70}{#1}");d("\\greenD","\\textcolor{##1fab54}{#1}");d("\\greenE","\\textcolor{##0d923f}{#1}");d("\\goldA","\\textcolor{##ffd0a9}{#1}");d("\\goldB","\\textcolor{##ffbb71}{#1}");d("\\goldC","\\textcolor{##ff9c39}{#1}");d("\\goldD","\\textcolor{##e07d10}{#1}");d("\\goldE","\\textcolor{##a75a05}{#1}");d("\\redA","\\textcolor{##fca9a9}{#1}");d("\\redB","\\textcolor{##ff8482}{#1}");d("\\redC","\\textcolor{##f9685d}{#1}");d("\\redD","\\textcolor{##e84d39}{#1}");d("\\redE","\\textcolor{##bc2612}{#1}");d("\\maroonA","\\textcolor{##ffbde0}{#1}");d("\\maroonB","\\textcolor{##ff92c6}{#1}");d("\\maroonC","\\textcolor{##ed5fa6}{#1}");d("\\maroonD","\\textcolor{##ca337c}{#1}");d("\\maroonE","\\textcolor{##9e034e}{#1}");d("\\purpleA","\\textcolor{##ddd7ff}{#1}");d("\\purpleB","\\textcolor{##c6b9fc}{#1}");d("\\purpleC","\\textcolor{##aa87ff}{#1}");d("\\purpleD","\\textcolor{##7854ab}{#1}");d("\\purpleE","\\textcolor{##543b78}{#1}");d("\\mintA","\\textcolor{##f5f9e8}{#1}");d("\\mintB","\\textcolor{##edf2df}{#1}");d("\\mintC","\\textcolor{##e0e5cc}{#1}");d("\\grayA","\\textcolor{##f6f7f7}{#1}");d("\\grayB","\\textcolor{##f0f1f2}{#1}");d("\\grayC","\\textcolor{##e3e5e6}{#1}");d("\\grayD","\\textcolor{##d6d8da}{#1}");d("\\grayE","\\textcolor{##babec2}{#1}");d("\\grayF","\\textcolor{##888d93}{#1}");d("\\grayG","\\textcolor{##626569}{#1}");d("\\grayH","\\textcolor{##3b3e40}{#1}");d("\\grayI","\\textcolor{##21242c}{#1}");d("\\kaBlue","\\textcolor{##314453}{#1}");d("\\kaGreen","\\textcolor{##71B307}{#1}");var $i={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},Xr=class{constructor(e,t,a){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=t,this.expansionCount=0,this.feed(e),this.macros=new Yr(G1,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new Xt(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,n;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:n,end:a}=this.consumeArg(["]"])}else({tokens:n,start:t,end:a}=this.consumeArg());return this.pushToken(new C0("EOF",a.loc)),this.pushTokens(n),t.range(a,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var n=this.future(),i,l=0,u=0;do{if(i=this.popToken(),t.push(i),i.text==="{")++l;else if(i.text==="}"){if(--l,l===-1)throw new T("Extra }",i)}else if(i.text==="EOF")throw new T("Unexpected end of input in a macro argument, expected '"+(e&&a?e[u]:"}")+"'",i);if(e&&a)if((l===0||l===1&&e[u]==="{")&&i.text===e[u]){if(++u,u===e.length){t.splice(-u,u);break}}else u=0}while(l!==0||a);return n.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:n,end:i}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new T("The length of delimiters doesn't match the number of args!");for(var a=t[0],n=0;nthis.settings.maxExpand)throw new T("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,n=t.noexpand?null:this._getExpansion(a);if(n==null||e&&n.unexpandable){if(e&&n==null&&a[0]==="\\"&&!this.isDefined(a))throw new T("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var i=n.tokens,l=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){i=i.slice();for(var u=i.length-1;u>=0;--u){var h=i[u];if(h.text==="#"){if(u===0)throw new T("Incomplete placeholder at end of macro body",h);if(h=i[--u],h.text==="#")i.splice(u+1,1);else if(/^[1-9]$/.test(h.text))i.splice(u,2,...l[+h.text-1]);else throw new T("Not a valid argument number",h)}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new C0(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var n=typeof t=="function"?t(this):t;if(typeof n=="string"){var i=0;if(n.indexOf("#")!==-1)for(var l=n.replace(/##/g,"");l.indexOf("#"+(i+1))!==-1;)++i;for(var u=new Xt(n,this.settings),h=[],m=u.lex();m.text!=="EOF";)h.push(m),m=u.lex();h.reverse();var v={tokens:h,numArgs:i};return v}return n}isDefined(e){return this.macros.has(e)||se.hasOwnProperty(e)||K.math.hasOwnProperty(e)||K.text.hasOwnProperty(e)||$i.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:se.hasOwnProperty(e)&&!se[e].primitive}},Hn=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Lt=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),Hr={"\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"},"\u0327":{text:"\\c"}},In={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"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",\u00F4:"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",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"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",\u00FB:"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",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"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",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"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",\u00D4:"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",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"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",\u00DB:"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",\u00DD:"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"},Zt=class r{constructor(e,t){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 Xr(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new T("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new C0("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var n=this.fetch();if(r.endOfExpression.indexOf(n.text)!==-1||t&&n.text===t||e&&se[n.text]&&se[n.text].infix)break;var i=this.parseAtom(t);if(i){if(i.type==="internal")continue}else break;a.push(i)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,n=0;n=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var u=K[this.mode][t].group,h=A0.range(e),m;if(qs.hasOwnProperty(u)){var v=u;m={type:"atom",mode:this.mode,family:v,loc:h,text:t}}else m={type:u,mode:this.mode,loc:h,text:t};l=m}else if(t.charCodeAt(0)>=128)this.settings.strict&&(Ln(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),l={type:"textord",mode:"text",loc:A0.range(e),text:t};else return null;if(this.consume(),i)for(var g=0;gZ1(m.left)).join("|")+")");a=e.search(i),a!==-1;){a>0&&(n.push({type:"text",data:e.slice(0,a)}),e=e.slice(a));var l=t.findIndex(m=>e.startsWith(m.left));if(a=X1(t[l].right,e,t[l].left.length),a===-1)break;var u=e.slice(0,a+t[l].right.length),h=J1.test(u)?u:e.slice(t[l].left.length,a);n.push({type:"math",data:h,rawData:u,display:t[l].display}),e=e.slice(a+t[l].right.length)}return e!==""&&n.push({type:"text",data:e}),n},el=function(e,t){var a=Q1(e,t.delimiters);if(a.length===1&&a[0].type==="text")return null;for(var n=document.createDocumentFragment(),i=0;iv.indexOf(" "+b+" ")===-1);g&&r(n,t)}()}},Ri=function(e,t){if(!e)throw new Error("No element provided to render");var a={};for(var n in t)t.hasOwnProperty(n)&&(a[n]=t[n]);a.delimiters=a.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],a.ignoredTags=a.ignoredTags||["script","noscript","style","textarea","pre","code","option"],a.ignoredClasses=a.ignoredClasses||[],a.errorCallback=a.errorCallback||console.error,a.macros=a.macros||{},tl(e,a)};function rl(r,e){return r.reduce(([t,a],n)=>e(n)?[[...t,n],a]:[t,[...a,n]],[[],[]])}window.addEventListener("load",r=>{Ri(document.body);let e=l=>{for(;l!=null;)l.nodeName=="DETAILS"&&(l.open=!0),l=l.parentNode},t=l=>{if(l.target.tagName==="A")return;let h=l.target.closest("span[data-target]").getAttribute("data-target"),m=document.querySelector(h);e(m),window.location=h};[...document.querySelectorAll("[data-target^='#']")].forEach(l=>l.addEventListener("click",t));let a=document.querySelector("ninja-keys"),i=`${document.querySelector("html").getAttribute("data-base-url")}forest.json`;fetch(i).then(l=>l.json()).then(l=>{let u=[],h='',m='';window.sourcePath&&u.push({id:"edit",title:"Edit current tree in Visual Studio Code",section:"Commands",hotkey:"cmd+e",icon:h,handler:()=>{window.location.href=`vscode://file/${window.sourcePath}`}});let v=k=>k.tags?k.tags.includes("top"):!1,g=(k,A,C)=>{let R=`${k.taxon?k.title?`${k.taxon}. ${k.title}`:k.taxon:k.title?k.title:"Untitled"} [${k.uri}]`;u.push({id:k.uri,title:R,section:A,icon:C,handler:()=>{window.location.href=k.route}})},[b,x]=rl(l,v);b.forEach(k=>g(k,"Top Trees",m)),x.forEach(k=>g(k,"All Trees",null)),a.data=u})});})(); +/*! Bundled license information: + +@lit/reactive-element/css-tag.js: + (** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/reactive-element.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-html/lit-html.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-element/lit-element.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/custom-element.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/property.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/state.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/base.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/event-options.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/query.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/query-all.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/query-async.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/query-assigned-elements.js: + (** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@lit/reactive-element/decorators/query-assigned-nodes.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-html/directive.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-html/directive-helpers.js: + (** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-html/directives/repeat.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-html/directives/live.js: + (** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-html/async-directive.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-html/directives/ref.js: + (** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-html/directives/class-map.js: + (** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +hotkeys-js/dist/hotkeys.esm.js: + (*! + * hotkeys-js v3.8.7 + * A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies. + * + * Copyright (c) 2021 kenny wong + * http://jaywcjlove.github.io/hotkeys + * + * Licensed under the MIT license. + *) + +lit-html/directives/unsafe-html.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +lit-html/directives/join.js: + (** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + +@material/mwc-icon/mwc-icon-host.css.js: + (** + * @license + * Copyright 2021 Google LLC + * SPDX-LIcense-Identifier: Apache-2.0 + *) + +@material/mwc-icon/mwc-icon.js: + (** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: Apache-2.0 + *) +*/ diff --git a/theme/javascript-source/forester.js b/theme/javascript-source/forester.js new file mode 100644 index 0000000..3808dd5 --- /dev/null +++ b/theme/javascript-source/forester.js @@ -0,0 +1,96 @@ +import 'ninja-keys'; +import 'katex'; + +import autoRenderMath from 'katex/contrib/auto-render'; + +function partition(array, isValid) { + return array.reduce(([pass, fail], elem) => { + return isValid(elem) ? [[...pass, elem], fail] : [pass, [...fail, elem]]; + }, [[], []]); +} + +window.addEventListener("load", (event) => { + autoRenderMath(document.body) + + const openAllDetailsAbove = elt => { + while (elt != null) { + if (elt.nodeName == 'DETAILS') { + elt.open = true + } + + elt = elt.parentNode; + } + } + + const jumpToSubtree = evt => { + if (evt.target.tagName === "A") { + return; + } + + const link = evt.target.closest('span[data-target]') + const selector = link.getAttribute('data-target') + const tree = document.querySelector(selector) + openAllDetailsAbove(tree) + window.location = selector + } + + + [...document.querySelectorAll("[data-target^='#']")].forEach( + el => el.addEventListener("click", jumpToSubtree) + ); + + const ninja = document.querySelector('ninja-keys'); + const baseUrl = document.querySelector('html').getAttribute('data-base-url') + const jsonUrl = `${baseUrl}forest.json` + + fetch(jsonUrl) + .then((res) => res.json()) + .then((trees) => { + const items = [] + + const editIcon = '' + const bookmarkIcon = '' + + if (window.sourcePath) { + items.push({ + id: 'edit', + title: 'Edit current tree in Visual Studio Code', + section: 'Commands', + hotkey: 'cmd+e', + icon: editIcon, + handler: () => { + window.location.href = `vscode://file/${window.sourcePath}` + } + }) + } + + const isTopTree = (item) => { + return item.tags ? item.tags.includes('top') : false + } + + const addItemToSection = (item, section, icon) => { + const title = + item.taxon + ? (item.title ? `${item.taxon}. ${item.title}` : item.taxon) + : (item.title ? item.title : "Untitled") + const fullTitle = `${title} [${item.uri}]` + items.push({ + id: item.uri, + title: fullTitle, + section: section, + icon: icon, + handler: () => { + window.location.href = item.route + } + }) + } + + const [top, rest] = partition(trees, isTopTree) + top.forEach((item) => addItemToSection(item, "Top Trees", bookmarkIcon)) + rest.forEach((item) => addItemToSection(item, "All Trees", null)) + + ninja.data = items + }); +}); + + diff --git a/theme/katex.min.css b/theme/katex.min.css new file mode 100644 index 0000000..3d27397 --- /dev/null +++ b/theme/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;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-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;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-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;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-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;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-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;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-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;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-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;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-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;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-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;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-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;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-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;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-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;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-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;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-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;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-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;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-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;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-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;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-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;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-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;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-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;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")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.8"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;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-style:italic;font-weight:700}.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{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.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;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.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{position:relative;width:0}.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{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.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 .accent>.vlist-t,.katex .op-limits>.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{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;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.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 .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.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{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/theme/links.xsl b/theme/links.xsl new file mode 100644 index 0000000..16e3175 --- /dev/null +++ b/theme/links.xsl @@ -0,0 +1,32 @@ + + + + + + + + + + + [ + + ] + + + + + + + + + + + + + + + + + + + diff --git a/theme/metadata.xsl b/theme/metadata.xsl new file mode 100644 index 0000000..01fc3b5 --- /dev/null +++ b/theme/metadata.xsl @@ -0,0 +1,165 @@ + + + + + + January + + + + February + + + + March + + + + April + + + + May + + + + June + + + + July + + + + August + + + + September + + + + October + + + + November + + + + December + + + + + + + + + + + + + +   + + + + + + + + + +
  • + + + +
  • +
    + + +
  • + +
  • +
    + + + +
  • +
    + + + + , + + + + with contributions from + + + + , + + + +
    +
  • +
    +
    + + +
  • + + + +
  • +
    + + +
  • + + + +
  • +
    + + +
    +      
    +    
    +
    + + +
  • + +
  • +
    + + +
  • + + + +
  • +
    + + +
  • + + Slides + +
  • +
    + + +
  • + + Video + +
  • +
    + +
    diff --git a/theme/package-lock.json b/theme/package-lock.json new file mode 100644 index 0000000..c4004f6 --- /dev/null +++ b/theme/package-lock.json @@ -0,0 +1,514 @@ +{ + "name": "theme", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "esbuild": "^0.18.15", + "katex": "^0.16.8", + "ninja-keys": "^1.2.2" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz", + "integrity": "sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@material/mwc-icon": { + "version": "0.25.3", + "resolved": "https://registry.npmjs.org/@material/mwc-icon/-/mwc-icon-0.25.3.tgz", + "integrity": "sha512-36076AWZIRSr8qYOLjuDDkxej/HA0XAosrj7TS1ZeLlUBnLUtbDtvc1S7KSa0hqez7ouzOqGaWK24yoNnTa2OA==", + "deprecated": "MWC beta is longer supported. Please upgrade to @material/web", + "license": "Apache-2.0", + "dependencies": { + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/hotkeys-js": { + "version": "3.8.7", + "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.8.7.tgz", + "integrity": "sha512-ckAx3EkUr5XjDwjEHDorHxRO2Kb7z6Z2Sxul4MbBkN8Nho7XDslQsgMJT+CiJ5Z4TgRxxvKHEpuLE3imzqy4Lg==", + "license": "MIT" + }, + "node_modules/katex": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.11.tgz", + "integrity": "sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/lit": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.2.6.tgz", + "integrity": "sha512-K2vkeGABfSJSfkhqHy86ujchJs3NR9nW1bEEiV+bXDkbiQ60Tv5GUausYN2mXigZn8lC1qXuc46ArQRKYmumZw==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^1.3.0", + "lit-element": "^3.2.0", + "lit-html": "^2.2.0" + } + }, + "node_modules/lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "node_modules/lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/ninja-keys": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ninja-keys/-/ninja-keys-1.2.2.tgz", + "integrity": "sha512-ylo8jzKowi3XBHkgHRjBJaKQkl32WRLr7kRiA0ajiku11vHRDJ2xANtTScR5C7XlDwKEOYvUPesCKacUeeLAYw==", + "license": "MIT", + "dependencies": { + "@material/mwc-icon": "0.25.3", + "hotkeys-js": "3.8.7", + "lit": "2.2.6" + } + }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "license": "0BSD" + } + } +} diff --git a/theme/package.json b/theme/package.json new file mode 100644 index 0000000..577861e --- /dev/null +++ b/theme/package.json @@ -0,0 +1,7 @@ +{ + "dependencies": { + "esbuild": "^0.18.15", + "katex": "^0.16.8", + "ninja-keys": "^1.2.2" + } +} diff --git a/theme/style.css b/theme/style.css new file mode 100644 index 0000000..8d44dd5 --- /dev/null +++ b/theme/style.css @@ -0,0 +1,657 @@ +/* SPDX-License-Identifier: CC0-1.0 */ + +.katex { + font-size: 1.15em !important; +} + +/* inria-sans-300 - latin_latin-ext */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: 'Inria Sans'; + font-style: normal; + font-weight: 300; + src: url('fonts/inria-sans-v14-latin_latin-ext-300.woff2') format('woff2'); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* inria-sans-300italic - latin_latin-ext */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: 'Inria Sans'; + font-style: italic; + font-weight: 300; + src: url('fonts/inria-sans-v14-latin_latin-ext-300italic.woff2') format('woff2'); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* inria-sans-regular - latin_latin-ext */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: 'Inria Sans'; + font-style: normal; + font-weight: 400; + src: url('fonts/inria-sans-v14-latin_latin-ext-regular.woff2') format('woff2'); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* inria-sans-italic - latin_latin-ext */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: 'Inria Sans'; + font-style: italic; + font-weight: 400; + src: url('fonts/inria-sans-v14-latin_latin-ext-italic.woff2') format('woff2'); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* inria-sans-700 - latin_latin-ext */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: 'Inria Sans'; + font-style: normal; + font-weight: 700; + src: url('fonts/inria-sans-v14-latin_latin-ext-700.woff2') format('woff2'); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* inria-sans-700italic - latin_latin-ext */ +@font-face { + font-display: swap; + /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: 'Inria Sans'; + font-style: italic; + font-weight: 700; + src: url('fonts/inria-sans-v14-latin_latin-ext-700italic.woff2') format('woff2'); + /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +:root { + --content-gap: 15px; + --radius: 5px; + + /* tr-808 */ + --palette-0: rgb(47 46 62); + --palette-1: rgb(230 232 191); + --palette-2: rgb(221 218 0); + --palette-3: rgb(242 121 0); + --palette-4: rgb(221 29 0); + + + background-color: var(--palette-0); + color: var(--palette-1) +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: var(--palette-4); + line-height: 1.2; + margin: 0.5em 0; +} + +h5, +h6, +p { + margin-top: 0; +} + +:where(h1) { + margin-block: 0.67em; + font-size: 2em; +} + +pre, +img, +.katex-display, +section, +center { + overflow-y: hidden; +} + +pre { + border-radius: var(--radius); + background-color: rgb(from var(--palette-1) r g b / 0.2); + padding: .5em; + font-size: 11pt; + margin-top: 0em; + overflow-x: auto; + white-space: pre-wrap; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; +} + +code { + border-radius: var(--radius); + background-color: rgb(from var(--palette-1) r g b / 0.2); + padding: 0.2em; + font-size: 0.9em; +} + +body { + font-family: "Inria Sans"; + font-size: 12pt; + line-height: 1.55; +} + +math { + font-size: 1.12em; +} + +mrow:hover { + background-color: rgba(0, 100, 255, 0.04); +} + +.logo { + font-weight: 1000; + font-size: 24px; +} + +.logo a { + color: var(--palette-1); + text-decoration: none; +} + +.block.hide-metadata>details>summary>header>.metadata { + display: none; +} + +details>summary>header>h1 { + font-size: 16pt; + display: flex; +} + +details>summary>header>h1:has(span.taxon:not(:empty)) { + flex-wrap: wrap; +} + +article>section>details>summary>header>h1 span.taxon:not(:empty) { + width: 100%; + font-size: .5em; +} + +article>section>details>summary>header>h1 span.taxon::after { + display: none; +} + +section section[data-taxon="Reference"]>details>summary>header>h1 span.taxon, +section section[data-taxon="Person"]>details>summary>header>h1 span.taxon { + display: none; +} + +footer { + margin-top: 2em; + border-top: 4px solid var(--palette-3); +} + +footer>section { + margin-bottom: 1em; +} + +footer h2 { + font-size: 14pt; +} + +.metadata>address { + display: inline; +} + +@media only screen and (max-width: 1000px) { + body { + margin-top: 1em; + margin-left: .5em; + margin-right: .5em; + transition: ease all .2s; + } +} + +@media only screen and (min-width: 1000px) { + body { + margin-top: 2em; + margin-left: 2em; + transition: ease all .2s; + } + + #grid-wrapper { + display: grid; + grid-template-columns: 1fr 1.5fr 1fr; + } +} + +body>header { + margin-bottom: 0.5em; +} + +#grid-wrapper>article { + grid-column: 2; + grid-row: 1; +} + +#grid-wrapper>nav { + grid-column: 3; + grid-row: 1; +} + +details>summary>header { + display: block; +} + +a.heading-link { + box-shadow: none; +} + +section .block[data-taxon] details>summary>header>h1 { + font-size: 14pt; +} + +span.taxon { + color: var(--palette-2); + font-weight: bolder; +} + +span.taxon:not(:empty)::after { + content: "."; + margin-right: 4px; +} + +.link-list>section>details>summary>header h1 { + font-size: 12pt; +} + +article>section>details>summary>header>h1 { + font-size: 4em; + color: var(--palette-2) +} + +footer>section>details>summary>header>h1 { + color: var(--palette-2) +} + +details>summary { + list-style-type: none; +} + +details>summary::marker, +details>summary::-webkit-details-marker { + display: none; +} + +article>section>details>summary>header { + display: block; + margin-bottom: .5em; +} + +section.block>details { + margin-bottom: 0.4em; +} + +section.block>details[open] { + margin-bottom: 1em; +} + +.link-list>section.block>details { + margin-bottom: .25em; +} + +nav#toc h1 { + font-size: 16pt; +} + +nav#toc, +nav#toc a { + color: var(--palette-1); +} + +nav#toc .link { + box-shadow: none; + text-decoration: none; +} + +nav#toc a.bullet { + opacity: 0.7; + margin-left: 0.4em; + margin-right: 0.3em; + padding-left: 0.2em; + padding-right: 0.2em; + text-decoration: none; +} + +nav#toc h2 { + font-size: 1.1em; +} + +nav#toc ul { + list-style-type: none; +} + +nav#toc li > ul { + padding-left: 1em; +} + +nav#toc li { + list-style-position: inside; +} + +.block { + border-radius: var(--radius) +} + +.block:hover { + background-color: rgb(from var(--palette-1) r g b / 0.05); +} + +.block.highlighted { + border-style: solid; + border-width: 1pt; +} + +.highlighted { + background-color: rgba(255, 255, 140, .3); + border-color: #ccc; +} + +.highlighted:hover { + background-color: rgba(255, 255, 140, .6); + border-color: #aaa; +} + +a.slug { + color: var(--palette-3); + font-size: 13pt; + font-weight: 300; + font-family: monospace; +} + +a.slug:hover { + color: var(--palette-2); +} + +.doi, +.orcid { + text-decoration: underline; +} + +a.slug { + margin-left: auto; + text-underline-offset: 5px; +} + +/* +a.slug { + display: inline-block; + max-width: 8ch; + text-overflow: clip; + overflow: hidden; + text-wrap: nowrap; +} +*/ + +.edit-button { + font-size: 13pt; + color: var(--palette-3); + font-weight: 200; +} + +.block { + padding-left: 5px; + padding-right: 10px; + padding-bottom: 2px; + border-radius: 5px; +} + +.link.external { + text-decoration: underline; +} + +a.link.local, +.link.local a, +a.slug { + box-shadow: none; + text-decoration-line: underline; + text-decoration-style: dotted; + } + +ninja-keys::part(ninja-action) { + white-space: nowrap; +} + +body { + hyphens: auto; +} + +table { + margin-bottom: 1em; +} + +table.macros { + overflow-x: visible; + overflow-y: visible; + font-size: 0.9em; +} + +table.macros td { + padding-left: 5pt; + padding-right: 15pt; + vertical-align: baseline; +} + +th { + text-align: left; +} + +th, +td { + padding: 0 15px; + vertical-align: top; +} + +td.macro-name, +td.macro-body { + white-space: nowrap; +} + +td.macro-doc { + font-size: .9em; +} + +.enclosing.macro-scope>.enclosing { + border-radius: 2px; +} + +.enclosing.macro-scope>.enclosing:hover { + background-color: rgba(0, 100, 255, 0.1); +} + +[aria-label][role~="tooltip"]::after { + font-family: "Inria Sans"; +} + +.tooltip { + position: relative; +} + +.inline.tooltip { + display: inline-block; +} + +.display.tooltip { + display: block; +} + + +/* The tooltip class is applied to the span element that is the tooltip */ + +.tooltip .tooltiptext { + visibility: hidden; + white-space: nowrap; + min-width: fit-content; + background-color: black; + color: #fff; + padding-left: 5px; + padding-top: 5px; + padding-right: 10px; + border-radius: 6px; + position: absolute; + z-index: 1; + top: 100%; + left: 50%; + margin-left: -60px; + opacity: 0; + transition: opacity 0.3s; +} + +.tooltip .tooltiptext::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; +} + + +/* Show the tooltip */ + +.tooltip:hover .tooltiptext { + visibility: visible; + opacity: 1; +} + +.tooltiptext a { + color: white +} + +.macro-doc { + font-style: italic; +} + +.macro-name { + white-space: nowrap; +} + +.macro-is-private { + color: var(--secondary); +} + +blockquote { + border-inline-start: 1px solid var(--secondary); +} + +.link { + cursor: pointer; +} + +a { + color: var(--palette-1); + text-decoration: inherit; +} + +a:hover { + color: var(--palette-3); +} + +.nowrap { + white-space: nowrap; +} + +.nocite { + display: none +} + +blockquote { + font-style: italic; +} + + + +address { + display: inline; +} + + +.metadata ul { + margin: 0; + padding-left: 0; + display: block; +} + +.metadata li:last-child::after { + content: ""; +} + +.metadata ul li { + display: inline-block; + margin-right: 8px; +} + +img { + object-fit: cover; + max-width: 100%; +} + +figure { + text-align: center; +} + +figcaption { + font-style: italic; + padding: 3px; +} + +mark { + background-color: rgb(255, 255, 151); +} + +hr { + margin-top: 10px; + margin-bottom: 20px; + background-color: gainsboro; + border: 0 none; + width: 100%; + height: 2px; +} + +ul, ol { + padding-bottom: .5em; +} + +ol { + list-style-type: decimal; +} + +ol li ol { + list-style-type: lower-alpha; +} + +ol li ol li ol { + list-style-type: lower-roman; +} + +.error, .info { + border-radius: 4pt; + padding-left: 3pt; + padding-right: 3pt; + padding-top: 1pt; + padding-bottom: 2pt; + font-weight: bold; +} + +.error { + background-color: red; + color: white; +} + + +.info { + background-color: #bbb; + color: white; +} diff --git a/theme/tree.xsl b/theme/tree.xsl new file mode 100644 index 0000000..c60a39c --- /dev/null +++ b/theme/tree.xsl @@ -0,0 +1,389 @@ + + + + + + + + + + + + + + + + <xsl:value-of select="/f:tree/f:frontmatter/f:title/@text" /> + + + + +
    + +
    + +
    +
    + + + + + +
    + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  • + + + + + + + + + + + + + + + # + + + + + + + + ■ + + + + + + + + + + + + +
  • +
    + + +
      + +
    +
    + + + + + + + + + + + + permalink + + + + + + + + + + + + + + + + + [edit] + + + + + + + + +
    +

    + + + + + + + + + + +

    + + +
    +
    + + + + [ + + ] + + + + + + + + + § + + + + + + + + + # + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + + + + + + +
    + + + + + + en + + + + + + block hide-metadata + + + block + + + + + + + + + + +
    + + open + + + + + + +
    +
    + + + +
    +
    + + +
    + + + +
    diff --git a/trees/common-macros.tree b/trees/common-macros.tree new file mode 100644 index 0000000..c6ebacf --- /dev/null +++ b/trees/common-macros.tree @@ -0,0 +1,3 @@ +\title{Common Macros} + +\p{This tree defines some commonly used macros, if I ever write any.} diff --git a/trees/index.tree b/trees/index.tree new file mode 100644 index 0000000..4496594 --- /dev/null +++ b/trees/index.tree @@ -0,0 +1,17 @@ + +\title{Josh's ULTIMATE Knowledge} +\author{joshuarsimmons} +\meta{author}{false} + +\import{common-macros} + +\put\transclude/toc{false} + +\p{i make video games and do stuff and exist. in reverse order. you may enjoy these free-range, organic, and 100\% robot-free words at leisure.} + +\transclude{wzvmmkrtxtwlzyrr} + +\put\transclude/expanded{false} + +\transclude{mvqpkwvnyptltyms} + diff --git a/trees/lsvvnuqnxrspxwxw.tree b/trees/lsvvnuqnxrspxwxw.tree new file mode 100644 index 0000000..6bb9d78 --- /dev/null +++ b/trees/lsvvnuqnxrspxwxw.tree @@ -0,0 +1,20 @@ +\title{We've got a [Vulkan Memory Allocator](vulkan-memory-allocator) at Home} +\author{joshuarsimmons} +\date{2025-05-27} +\tag{blog} + +\import{common-macros} + +\p{Vulkan's built-in allocation functionality is extremely limited, implementations are:} + +\ol{ + \li{Only \em{required} to support 4096 individual allocations. With the actual limit being dynamically reported.} + \li{Required to align returned memory conservatively for the worst-case alignment of all resource types.} + \li{Responsible for synchronizing concurrent allocations.} +} + +\p{These issues typically require the user to implement some form of memory allocator to sub-allocate resources from larger memory blocks. In this adventure, rather than doing the smart thing and using [Vulkan Memory Allocator](vulkan-memory-allocator), we'll be rolling our own from scratch!} + +\transclude{mrtztpskvpzqsnoq} +\transclude{numwsuwkoozlrqss} +\transclude{xtwokuxkmmmosmmw} \ No newline at end of file diff --git a/trees/mrtztpskvpzqsnoq.tree b/trees/mrtztpskvpzqsnoq.tree new file mode 100644 index 0000000..5b75229 --- /dev/null +++ b/trees/mrtztpskvpzqsnoq.tree @@ -0,0 +1,93 @@ +\title{TLSF} +\author{joshuarsimmons} +\date{2025-05-27} +\import{common-macros} + +\p{[TLSF](masmano-ripoll-2008) is a simple, fast, constant time allocator algorithm designed primarily for embedded use-cases. Empty blocks are stored in a series of free-lists, using a [linear-log](linear-log-bucketing) sequence of bucket sizes to bound internal fragmentation and minimise external fragmentation. A two-level bitmap acceleration structure tracks which free-lists contain blocks, allowing good-fit searches to complete using a couple of bit instructions widely supported by modern CPUs.} + +\p{Allocation proceeds by scanning the bitmap acceleration structure, if any suitable blocks are found, that block is immediately used to service the allocation. If there would be significant left over space, the block will be split and the left-over memory inserted back into the free-lists.} + +\pre\verb<<<| +/// Search the acceleration structure for a non-empty list suitable for an +/// allocation of the given size. +/// +/// Returns the rounded size and bin index if a non-empty list is found, or +/// None. +fn search_non_empty_bin(&self, size: u32) -> Option<(u32, Bin)> { + // We need to find the bin which contains only empty-blocks large enough for the + // given size because we unconditionally use the first empty block found. So + // this must round up. + let (rounded_size, starting_bin) = Bin::from_size_round_up(size); + + let mut bin = starting_bin.bin(); + let sub_bin = starting_bin.sub_bin(); + + // First we scan the second-level bitmap from sub_bin, masking out the earlier + // sub-bins so we don't end up returning a bin that's too small for the + // allocation. + let mut second_level = self.bitmap_1[bin.widen()] & (!0 << sub_bin); + + // If that search failed, then we must scan the first-level bitmap from the next + // bin forward. If we find anything here it cannot possibly be smaller than the + // requested allocation. + if second_level == 0 { + let first_level = self.bitmap_0 & (!0 << (bin + 1)); + + // If that search also failed, there's no suitable blocks. + if first_level == 0 { + return None; + } + + // Recalculate the bin from the first level bitmap. + bin = first_level.trailing_zeros(); + second_level = self.bitmap_1[bin.widen()]; + } + + // Find the sub-bin from the second level bitmap. + let sub_bin = second_level.trailing_zeros(); + Some((rounded_size, Bin::new(bin, sub_bin))) +} +<<< + +\p{Freeing allocated memory does some cusory validation of the allocation to prevent trivial double-frees, then returns the block to the free-lists. Adjacent free physical blocks are merged immediately.} + +\pre\verb<<<| +pub fn free(&mut self, allocation: Allocation) { + let mut block_index = allocation.block_index; + let generation = self.blocks[block_index].generation; + assert_eq!(generation, allocation.generation, "double-free"); + self.blocks[block_index].generation = generation.wrapping_add(1); + + // Merge next block into the current block. + { + let into_block_index = block_index; + let from_block_index = self.blocks[block_index].phys_link.next; + if self.can_merge_block_left(into_block_index, from_block_index) { + let from_size = self.blocks[from_block_index].size; + self.extract_block(from_block_index); + list_unlink!(self.blocks, phys_link, from_block_index); + self.recycle_block(from_block_index); + self.blocks[into_block_index].size += from_size; + } + } + + // Merge current block into the prev block. + { + let into_block_index = self.blocks[block_index].phys_link.prev; + let from_block_index = block_index; + if self.can_merge_block_left(into_block_index, from_block_index) { + let from_size = self.blocks[from_block_index].size; + self.extract_block(into_block_index); + list_unlink!(self.blocks, phys_link, from_block_index); + self.recycle_block(from_block_index); + self.blocks[into_block_index].size += from_size; + block_index = into_block_index; + } + } + + // Insert the merged free block. + self.insert_block(block_index); +} +<<< + +\p{Once per frame we scan the super-blocks of all TLSF instances, immediately releasing any which have become entirely unused. In a more production ready setup this work would be amortized across a longer time period and avoid blocking the frame.} \ No newline at end of file diff --git a/trees/mvqpkwvnyptltyms.tree b/trees/mvqpkwvnyptltyms.tree new file mode 100644 index 0000000..6fa9e90 --- /dev/null +++ b/trees/mvqpkwvnyptltyms.tree @@ -0,0 +1,15 @@ +\title{Blog} +\author{joshuarsimmons} +\date{2025-05-27} +\import{common-macros} + +\p{This is my blog, it is brimming with wisdom and whimsy. There is a secret atom feed, but I don't know how to make a link to it yet.} + +\put\transclude/metadata{true} +\put\transclude/toc{false} + +\query\datalog{ + ?X -: {\rel/has-tag ?X '{blog}} +} + +\syndicate-current-tree-as-atom-feed \ No newline at end of file diff --git a/trees/numwsuwkoozlrqss.tree b/trees/numwsuwkoozlrqss.tree new file mode 100644 index 0000000..8cd9d94 --- /dev/null +++ b/trees/numwsuwkoozlrqss.tree @@ -0,0 +1,42 @@ +\title{Thread-local Frame Bump Allocator} +\author{joshuarsimmons} +\date{2025-05-29} +\import{common-macros} + +\p{In order to reduce pressure on the general purpose allocator we implement a double-buffered thread-local bump allocator for transient allocations which last only a single frame. This allows the calling thread to avoid needing to take a lock, and reduces the complex allocation bookkeeping to a few branches and a subtract.} + +\p{If a transient buffer is requested that is beyond the block size for the transient allocator, it will fall-back to the general allocator, and immediately queue the buffer for deferred destruction.} + +\pre\verb<<<| +let texture: &[u8] = _; + +let buffer = device.request_transient_buffer_with_data( + &frame, + &thread_token, + BufferUsageFlags::TRANSFER, + texture, +); + +device.cmd_copy_buffer_to_image( + &mut cmd_buffer, + buffer.into(), + image, + ImageLayout::Optimal, + &[BufferImageCopy { + buffer_offset: 0, + buffer_row_length: 0, + buffer_image_height: 0, + image_subresource: default(), + image_offset: Offset3d { x: 0, y: 0, z: 0 }, + image_extent: Extent3d { + width, + height, + depth: 1, + }, + }], +); +<<< + +\p{The \code{request_transient_buffer_with_data} function returns a handle bound to the lifetime of the \code{frame} parameter which prevents the common error of persisting references to frame allocated data after the frame has been submitted. At the beginning of a frame the linear allocators are reset, and the underlying buffers are recycled.} + +\p{For this scheme to be production-ready it would also be important that the system track the amount of memory used each frame, and release excess memory that is unused over a longer period of time to the general allocator. As it is currently implemented, any buffers allocated by the transient memory pools will remain attached to those pools until shutdown.} diff --git a/trees/oomvxowovlvqrnnm.tree b/trees/oomvxowovlvqrnnm.tree new file mode 100644 index 0000000..14ec404 --- /dev/null +++ b/trees/oomvxowovlvqrnnm.tree @@ -0,0 +1,8 @@ +\title{Hello, World!} +\author{joshuarsimmons} +\date{2025-05-27} +\tag{blog} + +\import{common-macros} + +\p{This is a blog post! The very first one!} diff --git a/trees/refs/amdgpu.tree b/trees/refs/amdgpu.tree new file mode 100644 index 0000000..d7a6360 --- /dev/null +++ b/trees/refs/amdgpu.tree @@ -0,0 +1,5 @@ +\title{amdgpu} +\taxon{Reference} +\meta{external}{https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/amd/amdgpu} + +\p{The Linux upstream kernel driver developed by AMD for AMD GCN and RDNA graphics cards.} \ No newline at end of file diff --git a/trees/refs/amdvlk.tree b/trees/refs/amdvlk.tree new file mode 100644 index 0000000..3eb0364 --- /dev/null +++ b/trees/refs/amdvlk.tree @@ -0,0 +1,5 @@ +\title{AMDVLK} +\taxon{Reference} +\meta{external}{https://github.com/GPUOpen-Drivers/AMDVLK} + +\p{AMD's open-source Vulkan driver for Radeon graphics adapters on Linux. It is built on top of AMD's Platform Abstraction Library, a shared component that is designed to encapsulate certain hardware and OS-specific programming details for many of AMD's 3D and compute drivers. Utilizes the [amdgpu](amdgpu) kernel driver.} \ No newline at end of file diff --git a/trees/refs/dxvk.tree b/trees/refs/dxvk.tree new file mode 100644 index 0000000..8b81024 --- /dev/null +++ b/trees/refs/dxvk.tree @@ -0,0 +1,5 @@ +\title{DXVK} +\taxon{Reference} +\meta{external}{https://github.com/doitsujin/dxvk} + +\p{A Vulkan based open-source implementation of D3D8, 9, 10 and 11 for Linux and Wine} \ No newline at end of file diff --git a/trees/refs/jujutsu.tree b/trees/refs/jujutsu.tree new file mode 100644 index 0000000..2e5e313 --- /dev/null +++ b/trees/refs/jujutsu.tree @@ -0,0 +1,6 @@ +\title{Jujutsu} +\taxon{Reference} +\author/literal{Martin von Zweigbergk} +\meta{external}{https://jj-vcs.github.io/} + +\p{Jujutsu is a powerful version control system for software projects. You use it to get a copy of your code, track changes to the code, and finally publish those changes for others to see and use. It is designed from the ground up to be easy to use—whether you're new or experienced, working on brand new projects alone, or large scale software projects with large histories and teams.} \ No newline at end of file diff --git a/trees/refs/linear-log-bucketing.tree b/trees/refs/linear-log-bucketing.tree new file mode 100644 index 0000000..64446c4 --- /dev/null +++ b/trees/refs/linear-log-bucketing.tree @@ -0,0 +1,4 @@ +\title{Linear-Log Bucketing} +\taxon{Reference} +\author/literal{Paul Khuong} +\meta{external}{https://pvk.ca/Blog/2015/06/27/linear-log-bucketing-fast-versatile-simple/} \ No newline at end of file diff --git a/trees/refs/masmano-ripoll-2008.tree b/trees/refs/masmano-ripoll-2008.tree new file mode 100644 index 0000000..e2252a5 --- /dev/null +++ b/trees/refs/masmano-ripoll-2008.tree @@ -0,0 +1,7 @@ +\title{A constant-time dynamic storage allocator for real-time systems} +\taxon{Reference} +\author/literal{Miguel Masmano} +\author/literal{Ismael Ripoll} +\author/literal{Patricia Balbastre} +\author/literal{Alfons Crespo} +\meta{doi}{10.1007/s11241-008-9052-7} \ No newline at end of file diff --git a/trees/refs/proton.tree b/trees/refs/proton.tree new file mode 100644 index 0000000..54e6bc4 --- /dev/null +++ b/trees/refs/proton.tree @@ -0,0 +1,5 @@ +\title{Proton} +\author/literal{Valve Corporation} +\meta{external}{https://github.com/ValveSoftware/Proton} + +\p{A Compatibility tool for Valve's Linux based Steam Play built on Wine with additional components including [DXVK](dxvk) and [vkd3d-proton](vkd3d-proton).} \ No newline at end of file diff --git a/trees/refs/radv.tree b/trees/refs/radv.tree new file mode 100644 index 0000000..e693199 --- /dev/null +++ b/trees/refs/radv.tree @@ -0,0 +1,5 @@ +\title{RADV} +\taxon{Reference} +\meta{external}{https://gitlab.freedesktop.org/mesa/mesa/-/tree/main/src/amd/vulkan} + +\p{An independently developed Vulkan driver for AMD hardware on Linux utilizing the [amdgpu](amdgpu) kernel driver.} \ No newline at end of file diff --git a/trees/refs/vkd3d-proton.tree b/trees/refs/vkd3d-proton.tree new file mode 100644 index 0000000..19fe92c --- /dev/null +++ b/trees/refs/vkd3d-proton.tree @@ -0,0 +1,5 @@ +\title{vkd3d-proton} +\taxon{Reference} +\meta{external}{https://github.com/HansKristian-Work/vkd3d-proton} + +\p{A fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan. The project serves as the development effort for Direct3D 12 support in Proton.} \ No newline at end of file diff --git a/trees/refs/vulkan-memory-allocator.tree b/trees/refs/vulkan-memory-allocator.tree new file mode 100644 index 0000000..3fd8205 --- /dev/null +++ b/trees/refs/vulkan-memory-allocator.tree @@ -0,0 +1,6 @@ +\title{Vulkan Memory Allocator} +\taxon{Reference} +\author/literal{AMD} +\meta{external}{https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator} + +\p{Easy to integrate Vulkan memory allocation library} \ No newline at end of file diff --git a/trees/refs/vulkan/vk-ext-zero-device-memory.tree b/trees/refs/vulkan/vk-ext-zero-device-memory.tree new file mode 100644 index 0000000..a4f0e2d --- /dev/null +++ b/trees/refs/vulkan/vk-ext-zero-device-memory.tree @@ -0,0 +1,4 @@ +\title{VK_EXT_zero_initialize_device_memory} +\taxon{Reference} +\meta{external}{https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html##VK_EXT_zero_initialize_device_memory} +\meta{external}{https://github.com/KhronosGroup/Vulkan-Docs/blob/main/proposals/VK_EXT_zero_initialize_device_memory.adoc} \ No newline at end of file diff --git a/trees/roladex/joshuarsimmons.tree b/trees/roladex/joshuarsimmons.tree new file mode 100644 index 0000000..7f57460 --- /dev/null +++ b/trees/roladex/joshuarsimmons.tree @@ -0,0 +1,4 @@ +\title{Josh Simmons} +\taxon{Person} + +\p{a very cool person and not a robot} \ No newline at end of file diff --git a/trees/wzvmmkrtxtwlzyrr.tree b/trees/wzvmmkrtxtwlzyrr.tree new file mode 100644 index 0000000..3c7f69b --- /dev/null +++ b/trees/wzvmmkrtxtwlzyrr.tree @@ -0,0 +1,16 @@ +\title{The Word for World is Forest} +\author{joshuarsimmons} +\date{2025-05-27} +\import{common-macros} + +\p{They say change is as good as a holiday, it isn't, but anyway here's another round of the semi-regular website refresh. I like the idea behind a web of smaller notes, and to that end this website is a “[forest](https://www.forester-notes.org/tfmt-000V/)” created with [Forester](https://www.forester-notes.org/index/).} + +\p{I wasn't really excited about incremental tree identifiers so instead I generate 16 character identifiers using the alphabet \code{[k-z]}. This is an idea that I stole from [jujutsu](jujutsu)'s change ids.} + +\p{\strong{TODO:}} +\ul{ + \li{Code blocks with syntax highlighting.} + \li{Finish porting and improving the vulkan memory post.} + \li{New stuff. Approaches for writing games in Rust that don't make sad?} + \li{???} +} \ No newline at end of file diff --git a/trees/xtwokuxkmmmosmmw.tree b/trees/xtwokuxkmmmosmmw.tree new file mode 100644 index 0000000..a39fbe3 --- /dev/null +++ b/trees/xtwokuxkmmmosmmw.tree @@ -0,0 +1,12 @@ +\title{Zeroed Memory} +\author{joshuarsimmons} +\date{2025-05-28} +\import{common-macros} + +\p{When CPU memory is provided from the kernel to a desktop application, it's well-defined that the contents of that memory are zeroed. While the mechanics differ between operating systems, this is safe for an application to rely on, and is generally just important for security when pages could come from other processes. With video memory allocations it's... less straightforward.} + +\p{On Windows, fresh pages from the OS should always be zeroed. DX12 specifies that newly allocated memory is always zeroed, and then provides an opt-out via \code{D3D12_HEAP_FLAG_CREATE_NOT_ZEROED}, where drivers can recycle memory within a single process. Practically speaking this means that Vulkan drivers on Windows also default to zeroing video memory before handing it off to an application.} + +\p{On Linux the situation is the opposite. Not only do drivers avoid clearing memory within a process, but until recently [amdgpu](amdgpu) did not even [clear](https://lore.kernel.org/amd-gfx/da90e4c0-067b-2ffe-01df-f59c2b7ec556@amd.com/) [pages](https://lore.kernel.org/amd-gfx/20240829172645.1678920-1-alexander.deucher@amd.com/) from other processes. This means it's vitally important for you to manually clear your memory where such a thing is load-bearing. It's a common enough source of problems that mesa has a frequently applied [driconf quirk](https://gitlab.freedesktop.org/mesa/mesa/-/blob/fe2c93a78893419bd90757c5ebaf17f33c05a976/src/util/driconf.h#L535-537) which force zeroes video memory.} + +\p{To bring order to the chaos, [VK_EXT_zero_initialize_device_memory](vk-ext-zero-device-memory) is a new extension which introduces a flag, \code{VK_MEMORY_ALLOCATE_ZERO_INITIALIZE_BIT_EXT}, enabling applications to request the driver perform zero initialization on a per-allocation basis.} \ No newline at end of file diff --git a/upload.fish b/upload.fish new file mode 100755 index 0000000..d4ac9c0 --- /dev/null +++ b/upload.fish @@ -0,0 +1,3 @@ +#!/bin/fish + +forester build && rsync -arvz --delete --dry-run --progress -e "ssh" output/ nega.tv:/var/www/nega.tv/static/ \ No newline at end of file