@ghostmind-dev/sketch 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +4 -4
- package/README.md +46 -45
- package/dist/sketch.iife.js +40 -21
- package/fonts/OFL.txt +3 -2
- package/package.json +23 -3
package/LICENSE
CHANGED
|
@@ -22,11 +22,11 @@ SOFTWARE.
|
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
-
Bundled glyph data (dist/
|
|
25
|
+
Bundled glyph data (dist/sketch.iife.js):
|
|
26
26
|
|
|
27
|
-
- Latin letters: EMS
|
|
28
|
-
Windell H. Oskay; a derivative of
|
|
29
|
-
SIL Open Font License 1.1 — see fonts/OFL.txt.
|
|
27
|
+
- Latin letters: EMS Readability, by Sheldon B. Michaels, SVG conversion by
|
|
28
|
+
Windell H. Oskay; a derivative of Source Sans Pro Light by Paul D. Hunt,
|
|
29
|
+
Adobe. Licensed under the SIL Open Font License 1.1 — see fonts/OFL.txt.
|
|
30
30
|
- Greek letters and mathematical symbols: the Hershey fonts (Dr. A. V. Hershey,
|
|
31
31
|
U.S. National Bureau of Standards), as packaged by hersheytext
|
|
32
32
|
(MIT, Copyright (c) 2014 James T).
|
package/README.md
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
# @ghostmind-dev/sketch
|
|
2
2
|
|
|
3
|
-
Hand-written explainer boards for
|
|
4
|
-
|
|
3
|
+
Hand-written explainer boards for the browser — the look of a maths video recorded on an
|
|
4
|
+
iPad. One scene (JSON) renders two ways:
|
|
5
5
|
|
|
6
6
|
- **animation** — handwriting, brackets, circles and arrows written stroke by stroke,
|
|
7
7
|
with a play / scrub bar;
|
|
8
8
|
- **static** — the finished board as a single image, nothing moving.
|
|
9
9
|
|
|
10
|
-
Every mark is an open pen stroke:
|
|
11
|
-
|
|
12
|
-
hand's wobble and overshoot.
|
|
13
|
-
along the path the
|
|
10
|
+
Every mark is an open pen stroke: text uses a clean single-line font (EMS Readability),
|
|
11
|
+
Greek and maths symbols use Hershey strokes, and annotations — circles, arrows, brackets,
|
|
12
|
+
boxes — are drawn with a hand's wobble and overshoot. Text and maths stay crisp so a board
|
|
13
|
+
reads easily. Nothing is a filled outline, so everything can be revealed along the path the
|
|
14
|
+
pen took.
|
|
14
15
|
|
|
15
|
-
One IIFE file (`dist/sketch.iife.js`, ~60 KB) defines `
|
|
16
|
-
network, no workers and no fonts, and does nothing until called — it
|
|
17
|
-
|
|
16
|
+
One IIFE file (`dist/sketch.iife.js`, ~60 KB) defines the global `Sketch`. It needs no
|
|
17
|
+
network, no workers and no web fonts, and does nothing until called — so it also runs in
|
|
18
|
+
sandboxed iframes and under a strict Content-Security-Policy (inline it there).
|
|
18
19
|
|
|
19
|
-
##
|
|
20
|
+
## Use it in a page
|
|
20
21
|
|
|
21
|
-
````
|
|
22
22
|
```html
|
|
23
|
-
|
|
23
|
+
<script src="https://cdn.jsdelivr.net/npm/@ghostmind-dev/sketch@0.3.0/dist/sketch.iife.js"></script>
|
|
24
|
+
|
|
24
25
|
<script type="text/sketch">
|
|
25
26
|
{
|
|
26
27
|
"mode": "animation",
|
|
@@ -34,29 +35,43 @@ block sandbox as-is.
|
|
|
34
35
|
]
|
|
35
36
|
}
|
|
36
37
|
</script>
|
|
37
|
-
<script>
|
|
38
|
+
<script>Sketch.mount();</script>
|
|
38
39
|
```
|
|
39
|
-
````
|
|
40
40
|
|
|
41
41
|
Change `"mode"` to `"static"` for the finished board with no animation.
|
|
42
42
|
|
|
43
|
-
`mount()` renders every `<script type="text/sketch">` in place.
|
|
44
|
-
does the same for one element
|
|
45
|
-
`duration`); options (`mode`, `autoplay`,
|
|
46
|
-
controller does nothing.
|
|
43
|
+
`Sketch.mount(root?)` renders every `<script type="text/sketch">` in place.
|
|
44
|
+
`Sketch.board(el, scene, options)` does the same for one element (or a selector) and returns a
|
|
45
|
+
controller (`play`, `pause`, `seek(ms)`, `restart`, `duration`); options (`mode`, `autoplay`,
|
|
46
|
+
`controls`) override the scene's. A static board's controller does nothing.
|
|
47
|
+
|
|
48
|
+
The board fills its container's width and sizes its own height, so no `100vh` or fixed height is needed.
|
|
49
|
+
|
|
50
|
+
### Pencil and sound
|
|
51
|
+
|
|
52
|
+
Both are off by default and apply to animations only. `"pencil": true` shows a stylus whose
|
|
53
|
+
tip follows the stroke being written, lifting and gliding between strokes. `"sound": true`
|
|
54
|
+
adds a writing sound, synthesised in the browser with Web Audio — noise shaped by the pen's
|
|
55
|
+
speed, with a soft tap as each stroke begins; there are no audio files. Browsers only allow
|
|
56
|
+
audio after a user gesture, so sound begins once the reader clicks play or taps the board (a
|
|
57
|
+
board autoplaying on scroll stays silent until then). A speaker button in the bar mutes it;
|
|
58
|
+
from code, `board.setSound(false)`.
|
|
47
59
|
|
|
48
60
|
## Scene
|
|
49
61
|
|
|
50
62
|
```jsonc
|
|
51
63
|
{
|
|
52
64
|
"mode": "animation", // "animation" (written stroke by stroke) | "static" (finished board)
|
|
53
|
-
"width": 1000, // board units across; the board scales to
|
|
65
|
+
"width": 1000, // board units across; the board scales to its container's width
|
|
54
66
|
"height": 600, // optional — defaults to the ink's extent plus padding
|
|
55
|
-
"background": "#0c0c0e",// or "none" to
|
|
56
|
-
"color": "white", // default ink
|
|
67
|
+
"background": "#0c0c0e",// or "none" to draw on the page itself
|
|
68
|
+
"color": "white", // default ink; with "background": "none", white follows the page's text colour
|
|
69
|
+
"font": "readability", // text font; `Sketch.fonts` lists what the bundle includes (a text item can set its own)
|
|
57
70
|
"speed": 1, // animation: playback speed multiplier
|
|
58
71
|
"autoplay": "visible", // animation: true | false | "visible" (first time it scrolls into view)
|
|
59
72
|
"controls": true, // animation: play / scrub bar under the board
|
|
73
|
+
"pencil": false, // animation: a stylus rides the tip of each stroke as it is written
|
|
74
|
+
"sound": false, // animation: a synthesised writing sound that follows the pen (adds a mute button)
|
|
60
75
|
"seed": 0, // change for different handwriting on the same scene
|
|
61
76
|
"debug": false, // outline every id
|
|
62
77
|
"items": [ … ] // drawn in order
|
|
@@ -73,7 +88,7 @@ item); static boards ignore these.
|
|
|
73
88
|
|
|
74
89
|
| type | fields |
|
|
75
90
|
|---|---|
|
|
76
|
-
| `text` | `text`, `x`, `y` (top of the text), `size` (32), `align`, `maxWidth`, `lineHeight`; or place relative: `below` / `above` / `rightOf` / `leftOf` an id, with `gap`, `dx`, `dy` |
|
|
91
|
+
| `text` | `text`, `x`, `y` (top of the text), `size` (32), `font`, `align`, `maxWidth`, `lineHeight`; or place relative: `below` / `above` / `rightOf` / `leftOf` an id, with `gap`, `dx`, `dy` |
|
|
77
92
|
| `arrow` | `from`, `to`, optional `via` points, `bend` (−1…1), `gap`, `head` (`end` `start` `both` `none`) |
|
|
78
93
|
| `line` | `points`, `smooth` |
|
|
79
94
|
| `circle` · `box` | `around`, `pad` |
|
|
@@ -87,6 +102,8 @@ item); static boards ignore these.
|
|
|
87
102
|
edge), an id with a side — `eq.bottom`, `.top`, `.left`, `.right`, `.center`, `.topLeft` … —
|
|
88
103
|
or `{ "at": "eq.bottom", "dx": 0, "dy": 8 }`.
|
|
89
104
|
|
|
105
|
+
An id can only be referenced once the item that defines it has been drawn (earlier in `items`).
|
|
106
|
+
|
|
90
107
|
### Text markup
|
|
91
108
|
|
|
92
109
|
| write | get |
|
|
@@ -97,6 +114,7 @@ or `{ "at": "eq.bottom", "dx": 0, "dy": 8 }`.
|
|
|
97
114
|
| `\sqrt{x}` · `\ul{x}` | root · underline |
|
|
98
115
|
| `\id{name}{…}` | names part of the text: target it as `textId.name` |
|
|
99
116
|
| `\alpha` `\partial` `\nabla` `\to` `\approx` … | symbols (or type ρ ∂ ∇ → directly) |
|
|
117
|
+
| `\sin` `\cos` `\log` `\lim` … | written as the plain word |
|
|
100
118
|
| `\n` | new line |
|
|
101
119
|
|
|
102
120
|
In JSON, backslashes double: `"\\frac{a}{b}"`.
|
|
@@ -107,38 +125,21 @@ In JSON, backslashes double: `"\\frac{a}{b}"`.
|
|
|
107
125
|
npm install
|
|
108
126
|
npm run build # glyphs → src/glyphs.generated.ts, bundle → dist/
|
|
109
127
|
npm run check # typecheck
|
|
110
|
-
npm run harness # harness/index.html: every example under
|
|
128
|
+
npm run harness # harness/index.html: every example under a strict CSP
|
|
111
129
|
npm run render -- examples/navier-stokes.json # renders/navier-stokes.png, the finished board
|
|
112
130
|
npm run render -- scene.json --at=2000,6000,end --debug --width=700
|
|
113
131
|
```
|
|
114
132
|
|
|
115
|
-
`render` screenshots the board in headless Chrome under
|
|
116
|
-
Chrome is not at the macOS default path). It is
|
|
117
|
-
a note.
|
|
133
|
+
`render` screenshots the board in headless Chrome under a no-network CSP (set `CHROME` if
|
|
134
|
+
Chrome is not at the macOS default path). It is the quickest way to check a scene's layout.
|
|
118
135
|
|
|
119
|
-
## Publishing
|
|
136
|
+
## Publishing
|
|
120
137
|
|
|
121
138
|
```bash
|
|
122
|
-
npm publish
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
Later releases: `npm version patch && npm publish`. Never republish a version.
|
|
126
|
-
|
|
127
|
-
Then add to `BLOCK_LIBRARIES` in Potion's `ui/app/src/lib/block-libraries.ts` (the key is what notes
|
|
128
|
-
write; the directive parser splits on the last `@`, so a scoped name works):
|
|
129
|
-
|
|
130
|
-
```ts
|
|
131
|
-
'@ghostmind-dev/sketch': {
|
|
132
|
-
pkg: '@ghostmind-dev/sketch',
|
|
133
|
-
global: 'PotionSketch',
|
|
134
|
-
summary: 'Hand-written explainer boards: one scene renders as handwriting written stroke by stroke, or as the finished board.',
|
|
135
|
-
when: 'Explaining an equation or an idea the way a teacher would on a board. Plain HTML or mermaid stay the default for ordinary diagrams.',
|
|
136
|
-
builds: ['dist/sketch.iife.js'],
|
|
137
|
-
},
|
|
139
|
+
npm version <patch|minor> && npm publish # scoped, public (publishConfig); prepublishOnly checks and builds
|
|
138
140
|
```
|
|
139
141
|
|
|
140
|
-
|
|
141
|
-
(the exact route shape for scoped names depends on Potion's vendor route).
|
|
142
|
+
Never republish a version. jsDelivr picks new versions up from npm within minutes.
|
|
142
143
|
|
|
143
144
|
## Licences
|
|
144
145
|
|
package/dist/sketch.iife.js
CHANGED
|
@@ -1,23 +1,42 @@
|
|
|
1
|
-
"use strict";var PotionSketch=(()=>{var f3=Object.defineProperty;var R3=Object.getOwnPropertyDescriptor;var T3=Object.getOwnPropertyNames;var C3=Object.prototype.hasOwnProperty;var O3=(e,t)=>{for(var o in t)f3(e,o,{get:t[o],enumerable:!0})},N3=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of T3(t))!C3.call(e,a)&&a!==o&&f3(e,a,{get:()=>t[a],enumerable:!(r=R3(t,a))||r.enumerable});return e};var A3=e=>N3(f3({},"__esModule",{value:!0}),e);var K3={};O3(K3,{board:()=>L3,colors:()=>$3,mount:()=>Z3,version:()=>B3});var x3={0:[728,"397,-644 243,-582 151,-449 110,-318 124,-168 182,-48 309,-18 469,-79 574,-207 618,-371 604,-529 539,-622 463,-644 397,-644"],1:[401,"110,-517 291,-648 194,-18"],2:[697,"172,-564 283,-617 402,-636 484,-595 507,-490 468,-365 361,-238 234,-119 110,-18 230,-18 437,-26 494,-22 525,-26 587,-66"],3:[600,"164,-556 277,-613 406,-622 463,-568 490,-480 459,-392 388,-322 304,-265 398,-256 463,-207 490,-128 480,-40 437,35 357,106 246,119 132,102 44,66"],4:[736,"388,172 511,-644 402,-511 304,-326 168,-164 79,-40 414,-40 529,-48 626,-75"],5:[696,"110,115 268,168 401,164 506,88 547,-44 542,-154 479,-225 374,-252 295,-225 206,-199 268,-578 321,-622 586,-617"],6:[749,"225,-384 313,-433 415,-445 499,-410 534,-340 543,-234 512,-141 436,-44 327,-9 208,-40 147,-106 110,-234 128,-388 190,-542 287,-675 411,-759 534,-794 639,-785"],7:[618,"194,154 274,-123 379,-361 463,-517 508,-609 309,-605 110,-626"],8:[634,"286,-26 163,-75 124,-123 110,-211 171,-344 415,-547 499,-661 516,-763 446,-820 327,-806 239,-755 194,-671 243,-552 423,-398 507,-300 524,-195 467,-88 388,-40 286,-26"],9:[665,"120,115 270,88 401,9 494,-93 534,-238 555,-361 543,-490 498,-582 397,-644 251,-617 159,-533 110,-414 128,-300 198,-221 321,-207 389,-225 436,-265"]," ":[423,""],"!":[460,"356,-1063 330,-816 268,-533 225,-340 184,-234;153,-101 110,-57 149,0 194,-48 153,-101"],'"':[501,"167,-1098 110,-860;391,-1107 344,-851"],"#":[828,"238,40 348,-771;572,-771 467,44;691,-230 110,-234;110,-547 718,-547"],$:[551,"428,-605 441,-622 322,-622 344,-785 322,-630 225,-605 168,-552 150,-490 199,-410 260,-349 335,-256 384,-172 388,-115 353,-62 291,-35 238,-26 216,164 238,-26 154,-26 97,-57"],"%":[1094,"141,-22 357,-277 609,-609 890,-1001;287,-983 184,-935 127,-843 110,-750 145,-648 215,-591 303,-609 418,-693 455,-794 449,-886 410,-948 371,-979 287,-983;807,-423 697,-365 639,-260 631,-168 662,-75 750,-31 865,-62 943,-146 984,-252 957,-353 896,-410 807,-423"],"&":[1054,"502,-150 406,-57 340,-18 221,-48 141,-158 110,-326 133,-521 221,-728 340,-869 481,-935 551,-913 564,-847 521,-767 445,-697 367,-644 176,-547 287,-595 410,-609 591,-609 754,-617 834,-609 621,-613 570,-449 551,-330 539,-199 564,-88 617,-18 648,4 750,-79 865,-207 1011,-388"],"'":[277,"167,-1112 110,-855"],"(":[521,"411,-1040 260,-874 181,-724 120,-517 110,-291 137,-132 190,-22 300,102"],")":[542,"238,-1036 349,-900 415,-736 432,-556 397,-335 327,-141 243,-26 110,102"],"*":[600,"260,-582 344,-966;110,-679 490,-874;162,-909 427,-661"],"+":[816,"110,-406 706,-406;409,-706 409,-101"],",":[335,"180,-4 110,-75 157,-128 225,-57 184,40 118,141"],"-":[569,"110,-410 309,-414 459,-445"],".":[323,"159,-132 110,-84 164,-26 213,-71 159,-132"],"/":[638,"528,-1040 327,-472 110,62"],":":[375,"212,-622 159,-560 212,-503 265,-556 212,-622;163,-119 110,-66 163,-18 208,-62 163,-119"],";":[370,"215,-609 168,-560 215,-511 260,-556 215,-609;184,-4 119,-71 172,-123 229,-62 198,18 110,132"],"<":[759,"622,-582 348,-472 110,-330 415,-150 649,-40"],"=":[862,"162,-441 752,-441;110,-185 709,-185"],">":[745,"110,-44 366,-168 635,-326 410,-463 133,-582"],"?":[585,"157,-110 110,-62 171,0 215,-44 157,-110;132,-246 114,-353 153,-454 255,-560 360,-657 436,-755 475,-878 458,-970 397,-1028 290,-1023 206,-974"],"@":[1098,"926,-84 793,22 627,84 401,62 211,-48 110,-211 119,-484 194,-648 322,-790 502,-874 746,-878 900,-802 988,-626 974,-428 877,-277 754,-207 617,-195 701,-609 635,-459 555,-349 436,-256 375,-225 375,-353 414,-507 502,-599 609,-613 701,-605"],A:[1041,"26,-13 146,-13 211,-44 287,-115 736,-927 494,-927 344,-869 256,-771 225,-679 216,-568;755,-931 736,-398 454,-398 736,-398 741,-181 759,-71 802,-18 837,-9 931,-57"],B:[960,"110,-480 136,-640 194,-771 303,-869 436,-921 577,-931 701,-917 815,-864 846,-763 828,-687 776,-599 701,-547 631,-529 604,-533 713,-517 807,-463 850,-379 842,-260 789,-164 692,-84 582,-40 295,-35 255,-18 325,-97 379,-199 506,-917"],C:[758,"692,-895 559,-935 357,-874 224,-710 145,-547 110,-398 114,-256 185,-106 259,-26 383,-9 462,-57 573,-154"],D:[934,"110,-494 128,-657 229,-825 362,-900 498,-935 666,-927 803,-874 899,-728 912,-556 873,-375 793,-234 688,-110 573,-57 477,-31 264,-40 233,-26 290,-79 352,-189 485,-917"],E:[947,"106,-564 137,-750 181,-820 252,-886 349,-921 837,-921 480,-921 433,-724 406,-538 714,-538 402,-538 375,-344 349,-203 300,-101 273,-53 221,-13 283,-44 693,-40 776,-93"],F:[833,"110,-13 233,-18 304,-62 352,-158 413,-533 700,-533 413,-533 481,-931 833,-931 432,-931 313,-913 237,-869 167,-806 124,-706 124,-644 128,-574"],G:[807,"762,-927 590,-958 432,-917 286,-802 198,-661 128,-503 110,-353 132,-172 206,-62 308,-18 423,-44 524,-128 586,-195;467,-517 651,-517 616,-414 569,-101 532,13 481,110 427,185 378,234 657,234"],H:[1115,"57,-560 53,-675 93,-781 164,-869 246,-913 322,-927 476,-931 503,-939 468,-904 428,-763 388,-468 353,-203 308,-101 252,-35 185,-9 93,-18;790,-931 983,-931 948,-917 900,-728 878,-529 410,-529 874,-529 851,-375 829,-242 806,-168 790,-123 750,-71 693,-18 724,-35 909,-35 1005,-101"],I:[631,"40,-560 40,-675 88,-790 168,-878 265,-927 357,-931 476,-935 449,-927 406,-755 357,-490 326,-273 304,-168 265,-101 216,-44 176,0 221,-35 441,-31 521,-97"],J:[630,"-48,150 44,211 164,230 283,146 344,9 476,-820 498,-890 538,-944 517,-927 322,-921 203,-860 137,-767 115,-693 110,-564"],K:[1054,"71,-564 75,-697 154,-851 269,-927 371,-935 517,-935 494,-917 433,-714 392,-392 344,-132 304,-62 252,-18 176,-4 97,-13;944,-904 864,-921 776,-904 648,-816 574,-683 552,-574 552,-476 697,-211 935,123"],L:[803,"648,-895 547,-944 449,-921 349,-837 295,-741 246,-365 221,-176 189,-119 79,-18 146,-44 242,-31 365,48 507,150 661,221 776,225 843,164"],M:[1318,"106,-564 119,-701 181,-833 269,-900 365,-927 494,-931 648,-921;31,-13 150,-13 256,-66 304,-123 626,-921 661,-913 652,-66 755,-277 869,-538 974,-741 1032,-837 1128,-927 1112,-820 1085,-507 1081,-277 1098,-18 1208,-88"],N:[1019,"88,-568 106,-706 158,-829 242,-904 344,-931 533,-931;132,-35 242,-35 304,-71 357,-150 379,-260 410,-441 494,-931 538,-927 617,-697 806,-106 820,-66 802,-13 851,-101 882,-221 974,-732 988,-837 1028,-931 1054,-948 997,-931 843,-931"],O:[724,"308,-31 238,-57 189,-101 119,-234 110,-406 154,-582 225,-710 314,-812 392,-886 498,-927 587,-878 666,-741 683,-556 657,-402 599,-269 498,-141 410,-71 308,-31"],P:[767,"26,-517 53,-697 141,-816 283,-904 402,-931 533,-935 666,-909 755,-837 785,-724 741,-605 640,-507 568,-490 517,-494;437,-931 384,-781 353,-542 283,-185 260,-119 221,-57 146,-4 189,-26 398,-31 476,-75"],Q:[851,"225,-326 154,-388 115,-538 154,-697 221,-798 322,-886 441,-917 533,-927 640,-864 697,-750 710,-626 687,-463 630,-349 511,-207 414,-128 318,-75 221,-53 62,-48 88,-62 277,-40 388,18 494,75 582,102 693,84 785,35"],R:[958,"498,-84 414,-35 246,-44 207,-18 256,-75 326,-172 441,-833 472,-927;62,-498 71,-626 137,-771 230,-864 340,-913 459,-927 560,-931 697,-909 776,-855 820,-755 806,-661 745,-578 671,-525 605,-511 517,-511 644,-291 816,-31 944,128"],S:[706,"84,-66 195,-18 371,-26 441,-88 494,-172 517,-277 494,-375 269,-675 242,-767 269,-869 349,-917 437,-944 538,-935 640,-913"],T:[864,"48,-568 48,-683 97,-798 168,-878 252,-921 829,-921 503,-921 463,-771 423,-454 379,-207 322,-93 287,-48 225,-9 273,-26 484,-35 560,-88"],U:[1103,"48,-560 48,-679 93,-790 172,-886 246,-921 419,-927 490,-931 468,-921 410,-741 371,-441 344,-199 375,-75 423,-35 498,-35 582,-88 675,-221 736,-326 794,-433 816,-472 904,-909 931,-931 904,-904 798,-398 781,-207 794,-115 837,-48 882,-40 939,-35 993,-88"],V:[993,"22,-560 40,-687 97,-820 195,-895 300,-927 392,-913 441,-825 476,-679 490,-507 494,-335 498,-176 490,-31 599,-230 728,-468 864,-741 921,-882 900,-917 806,-917"],W:[1358,"48,-564 71,-693 137,-829 256,-913 361,-931 433,-895 484,-794 511,-661 511,-168 503,-44 578,-181 706,-419 820,-701 882,-847 944,-890 895,-825 878,-657 882,-414 927,-40 1050,-269 1147,-463 1235,-661 1280,-794 1288,-874 1266,-904 1182,-904"],X:[1124,"48,-35 181,-31 265,-71 375,-172 503,-353 697,-679 806,-851 864,-913 909,-931 979,-931 1040,-909;150,-622 158,-718 203,-829 265,-904 365,-931 433,-935 480,-874 517,-806 636,-318 728,-88 776,-31 825,-9 890,-40 979,-106"],Y:[979,"57,-636 79,-763 128,-869 189,-927 295,-931 353,-874 406,-714 449,-564 503,-365 552,-211;776,-909 878,-904 895,-869 851,-759 578,-260 445,-26 318,132 238,189 168,195 22,115"],Z:[979,"176,-683 176,-767 225,-878 273,-935 388,-958 480,-935 582,-909 675,-890 767,-890 833,-927 750,-847 542,-574 375,-361 256,-230 84,-88 115,-97 225,-88 326,-35 599,132 718,164 790,150 869,57"],"[":[577,"467,-1046 264,-1046 110,106 313,102"],"\\":[577,"110,-1023 317,-357 467,62"],"]":[568,"265,-1046 458,-1046 304,97 110,106"],"^":[854,"110,-433 444,-860 744,-428"],_:[868,"110,35 758,35"],"`":[454,"110,-962 202,-927 260,-878 344,-781"],a:[578,"379,-595 225,-605 115,-556 35,-414 4,-234 4,-93 18,-22 102,-106 221,-273 295,-398 353,-517 379,-578 318,-304 287,-168 277,-93 269,-18 357,-75 511,-260 578,-353"],b:[463,"353,-1063 234,-1050 123,-958 71,-837 4,-260 -13,-132 -22,-62 -4,-4 84,-18 225,-115 295,-269 326,-406 330,-525 322,-622 203,-503 79,-326 -9,-137"],c:[433,"335,-609 277,-640 185,-622 84,-511 44,-423 9,-330 4,-225 13,-123 44,-48 106,9 207,-84 318,-203 433,-357"],d:[626,"666,-1054 560,-1054 463,-997 406,-900 375,-767 353,-605 340,-517 273,-388 181,-225 93,-101 0,-18 -18,-181 4,-375 57,-498 102,-560 168,-595 238,-613 308,-605 340,-568 322,-406 304,-211 265,-9 365,-88 484,-234 578,-357"],e:[406,"4,-300 102,-361 221,-480 265,-542 277,-609 252,-636 195,-640 102,-578 31,-476 -9,-326 -26,-207 -4,-110 44,-40 88,4 238,-150 335,-260 402,-357"],f:[458,"-189,242 -110,252 -26,221 53,132 84,31 132,-340 164,-605 53,-605 349,-617 164,-609 176,-736 203,-874 269,-993 330,-1050 410,-1067 441,-1063 498,-1050"],g:[440,"-88,234 -75,234 48,238 141,211 199,154 252,26 330,-609 181,-613 106,-574 35,-490 0,-365 -22,-242 -31,-181 -31,-115 -22,-22 57,-84 158,-221 238,-335 291,-459 330,-556"],h:[556,"344,-1063 252,-1063 168,-1023 75,-900 53,-763 26,-595 0,-392 -22,-230 -57,-31 13,-195 115,-371 216,-517 295,-599 330,-609 344,-533 304,-357 269,-195 246,-97 234,0 361,-110 490,-260 552,-357"],i:[273,"-48,-538 22,-605 57,-622 -4,-252 -31,-123 -31,-18 75,-110 158,-203 277,-357;93,-890 93,-816 79,-802"],j:[181,"-335,238 -216,234 -128,168 -75,79 -40,-62 -4,-265 18,-454 40,-630 -35,-578 -66,-542;102,-900 88,-847 66,-825"],k:[582,"357,-1058 260,-1058 168,-1009 97,-927 62,-806 -44,-13 31,-344 128,-517 199,-599 283,-636 340,-636 365,-605 361,-529 304,-449 246,-398 150,-340 277,-13 402,-128 498,-238 582,-357"],l:[313,"353,-1054 287,-1067 185,-1028 97,-921 66,-790 -31,-150 -44,-4 62,-97 199,-260 269,-357"],m:[806,"-71,-552 40,-636 18,-468 -13,-283 -35,-123 -48,-44 40,-238 128,-410 211,-533 283,-609 318,-622 340,-595 308,-459 260,-221 221,-13 265,-158 340,-308 441,-468 517,-578 578,-626 609,-609 564,-384 521,-199 498,-84 494,-4 617,-110 718,-234 806,-357"],n:[626,"-4,-547 79,-617 119,-644 97,-538 71,-353 44,-225 26,-106 18,-31 22,-9 18,-101 110,-230 181,-365 260,-480 344,-578 388,-630 410,-630 423,-538 388,-365 357,-234 330,-132 308,-4 388,-71 503,-189 564,-277 626,-357"],o:[441,"75,-4 93,-4 172,-44 246,-128 314,-252 349,-379 340,-503 300,-568 269,-630 137,-568 53,-459 -4,-335 -13,-225 4,-115 31,-62 75,-4"],p:[406,"-62,-556 48,-636 -66,115 -101,225 -234,318 13,185;0,-234 13,-242 53,-379 146,-507 230,-595 277,-630 300,-507 295,-379 265,-242 221,-123 168,-48 97,-22 40,-31 4,-57 -31,-115"],q:[419,"398,-630 330,-533 260,-375 154,-185 88,-97 -4,-18 -22,-195 9,-392 53,-503 119,-582 238,-617 322,-622 365,-609 277,-132 225,181 199,238 75,322 322,195"],r:[322,"-71,-542 9,-609 53,-640 9,-402 -26,-185 -31,-79 -31,-35 9,-176 71,-314 123,-454 189,-564 225,-609 273,-630 330,-626"],s:[445,"365,-609 283,-648 211,-636 141,-582 115,-517 141,-433 207,-353 265,-273 300,-195 295,-123 242,-57 168,-13 106,4 26,-31"],t:[256,"40,-706 35,-622 -66,-613 35,-626 221,-630 35,-626 9,-384 -18,-221 -44,-123 -75,-4 26,-88 154,-230 246,-357"],u:[552,"-66,-556 26,-622 53,-640 13,-463 -4,-295 -18,-195 -18,-66 -18,-18 57,-88 158,-221 225,-344 295,-484 357,-626 314,-449 277,-269 256,-119 246,-13 353,-101 454,-225 556,-357"],v:[353,"-128,-547 -123,-547 -66,-609 -4,-640 9,-164 22,-44 88,-123 158,-252 221,-402 246,-484 265,-640"],w:[574,"-137,-552 -66,-613 -13,-640 4,-626 -4,-221 4,-62 9,-26 93,-132 158,-260 211,-402 238,-459 295,-640 260,-605 273,-132 283,-35 361,-123 433,-256 490,-392 521,-498 533,-609 525,-640"],x:[599,"84,-552 154,-609 211,-640 414,-9 484,-48 529,-101;40,-22 106,-31 141,-62 189,-123 353,-384 449,-564 498,-609 568,-622"],y:[398,"-71,-556 -57,-560 9,-609 53,-640 9,-392 -18,-168 -4,-31 106,-150 199,-295 265,-419 353,-617 308,-410 269,-115 234,79 195,168 141,216 62,242 -84,230"],z:[547,"123,-547 216,-609 273,-617 388,-605 468,-605 53,-9 141,-44 256,-35 375,-13 423,-4 480,-48"],"{":[546,"436,-1050 335,-1005 278,-904 251,-741 237,-595 212,-517 180,-498 110,-476 163,-445 225,-379 225,-291 176,-101 159,22 180,93 251,146"],"|":[220,"110,-1128 110,234"],"}":[538,"256,-1050 344,-1001 361,-948 353,-812 334,-687 330,-578 344,-517 383,-490 428,-468 361,-445 309,-402 273,-318 260,-181 260,-48 246,44 203,102 141,150 110,154"],"~":[930,"110,-335 217,-392 313,-414 420,-392 533,-357 617,-326 715,-322 820,-371"],"\xA0":[529,""],"\xA1":[468,"110,0 137,-246 198,-529 243,-724 282,-829;313,-962 358,-1005 319,-1063 274,-1014 313,-962"],"\xA2":[543,"335,-609 277,-640 185,-622 84,-511 44,-423 9,-330 4,-225 13,-123 44,-48 106,9 207,-84 318,-203 433,-357;379,-952 176,-384 -40,150"],"\xA3":[803,"88,-410 287,-414 437,-445;648,-895 547,-944 449,-921 349,-837 295,-741 246,-365 221,-176 189,-119 79,-18 146,-44 242,-31 365,48 507,150 661,221 776,225 843,164"],"\xA5":[647,"110,-983 66,-970 71,-909 137,-697 211,-511 230,-454 199,-269 164,-158 132,-93 150,-88 189,-164 185,-207;230,-472 238,-472 384,-599 547,-771 630,-886 687,-1001;75,-242 48,-211 318,-221;75,-419 48,-388 318,-398"],"\xA6":[70,"110,-339 110,70;110,-1000 110,-591"],"\xA8":[661,"157,-1040 110,-991 161,-934 210,-979 157,-1040;497,-1056 450,-1007 502,-949 551,-994 497,-1056"],"\xA9":[953,"137,-630 110,-480 128,-340 190,-195 313,-71 475,-13 652,-31 772,-101 873,-242 908,-402 908,-560 869,-710 811,-825 736,-890 621,-931 489,-944 352,-909 237,-812 137,-630;652,-283 620,-252 580,-231 516,-223 439,-245 377,-293 340,-357 326,-426 331,-498 344,-563 390,-636 452,-678 509,-687 554,-690 593,-679 621,-661 642,-645"],\u00AA:[356,"296,-1113 219,-1119 165,-1093 126,-1023 110,-932 110,-862 116,-827 158,-869 218,-952 256,-1014 284,-1074 296,-1105 266,-967 250,-900 246,-862 242,-825 287,-854 364,-946 396,-993"],"\xAB":[611,"314,-466 204,-378 109,-265 231,-120 325,-32;490,-466 381,-378 286,-265 407,-120 501,-32"],"\xAE":[953,"137,-630 110,-480 128,-340 190,-195 313,-71 475,-13 652,-31 772,-101 873,-242 908,-402 908,-560 869,-710 811,-825 736,-890 621,-931 489,-944 352,-909 237,-812 137,-630;359,-227 363,-678 324,-659 383,-683 439,-693 509,-693 569,-657 601,-606 611,-549 582,-490 544,-454 513,-441 445,-454 368,-441 429,-430 508,-438 529,-372 571,-298 608,-242 624,-231 648,-234"],"\xB0":[243,"171,-763 150,-771 134,-784 113,-825 110,-876 124,-928 145,-967 172,-998 196,-1021 228,-1032 255,-1018 278,-976 283,-921 276,-875 257,-834 228,-797 201,-776 171,-763"],"\xB1":[920,"460,-567 460,0;193,-300 727,-300;193,0 727,0"],"\xB2":[308,"141,-1098 197,-1124 256,-1134 298,-1113 309,-1061 289,-998 236,-935 172,-875 110,-825 170,-825 274,-829 302,-827 317,-829 348,-848"],"\xB3":[292,"169,-1093 226,-1123 290,-1127 318,-1100 332,-1056 317,-1012 282,-977 240,-948 286,-944 318,-920 332,-879 328,-836 306,-798 267,-763 211,-756 153,-766 110,-783"],"\xB4":[306,"207,-1068 198,-1015 172,-949 141,-900 110,-861"],"\xB7":[342,"169,-582 110,-524 173,-455 232,-508 169,-582"],"\xB9":[160,"110,-1074 200,-1140 152,-825"],\u00BA:[243,"171,-763 150,-771 134,-784 113,-825 110,-876 124,-928 145,-967 172,-998 196,-1021 228,-1032 255,-1018 278,-976 283,-921 276,-875 257,-834 228,-797 201,-776 171,-763"],"\xBB":[579,"83,-35 185,-134 293,-260 203,-371 92,-466;259,-35 361,-134 469,-260 379,-371 269,-466"],"\xBC":[997,"101,-839 209,-918 151,-540;820,-1040 617,-472 402,62;895,103 969,-386 902,-307 844,-196 762,-98 710,-24 910,-24 979,-29 1037,-45"],"\xBD":[974,"101,-839 209,-918 151,-540;820,-1040 617,-472 402,62;764,-339 830,-371 902,-381 952,-357 966,-294 942,-220 878,-143 802,-71 728,-11 799,-11 924,-16 958,-13 976,-16 1014,-40"],"\xBE":[997,"98,-862 167,-897 244,-902 277,-871 294,-818 276,-764 232,-722 182,-687 238,-683 277,-654 294,-606 288,-553 262,-508 214,-466 148,-458 79,-469 26,-490;820,-1040 617,-472 402,62;895,103 969,-386 902,-307 844,-196 762,-98 710,-24 910,-24 979,-29 1037,-45"],"\xBF":[585,"427,-917 475,-966 413,-1028 370,-983 427,-917;454,-781 471,-675 432,-574 329,-468 224,-371 149,-273 110,-150 126,-57 188,0 294,-4 378,-53"],\u00C0:[1041,"26,-13 146,-13 211,-44 287,-115 736,-927 494,-927 344,-869 256,-771 225,-679 216,-568;755,-931 736,-398 454,-398 736,-398 741,-181 759,-71 802,-18 837,-9 931,-57;476,-1294 511,-1228 587,-1158"],\u00C1:[1041,"26,-13 146,-13 211,-44 287,-115 736,-927 494,-927 344,-869 256,-771 225,-679 216,-568;755,-931 736,-398 454,-398 736,-398 741,-181 759,-71 802,-18 837,-9 931,-57;841,-1427 833,-1375 806,-1308 776,-1260 745,-1219"],\u00C2:[1055,"26,-13 146,-13 211,-44 287,-115 736,-927 494,-927 344,-869 256,-771 225,-679 216,-568;755,-931 736,-398 454,-398 736,-398 741,-181 759,-71 802,-18 837,-9 931,-57;603,-1166 769,-1298 945,-1166"],\u00C3:[1041,"26,-13 146,-13 211,-44 287,-115 736,-927 494,-927 344,-869 256,-771 225,-679 216,-568;755,-931 736,-398 454,-398 736,-398 741,-181 759,-71 802,-18 837,-9 931,-57;398,-1159 473,-1201 545,-1218 622,-1201 704,-1176 764,-1154 836,-1151 911,-1186"],\u00C4:[1041,"26,-13 146,-13 211,-44 287,-115 736,-927 494,-927 344,-869 256,-771 225,-679 216,-568;755,-931 736,-398 454,-398 736,-398 741,-181 759,-71 802,-18 837,-9 931,-57;511,-1298 462,-1249 515,-1191 563,-1236 511,-1298;820,-1291 771,-1242 825,-1186 874,-1229 820,-1291"],\u00C5:[1041,"26,-13 146,-13 211,-44 287,-115 736,-927 494,-927 344,-869 256,-771 225,-679 216,-568;755,-931 736,-398 454,-398 736,-398 741,-181 759,-71 802,-18 837,-9 931,-57;680,-1200 659,-1208 644,-1221 623,-1261 620,-1312 634,-1365 655,-1404 682,-1434 706,-1457 736,-1468 763,-1454 787,-1413 792,-1358 784,-1310 767,-1271 736,-1233 710,-1212 680,-1200"],\u00C8:[947,"106,-564 137,-750 181,-820 252,-886 349,-921 837,-921 480,-921 433,-724 406,-538 714,-538 402,-538 375,-344 349,-203 300,-101 273,-53 221,-13 283,-44 693,-40 776,-93;419,-1259 455,-1193 529,-1123"],\u00C9:[947,"106,-564 137,-750 181,-820 252,-886 349,-921 837,-921 480,-921 433,-724 406,-538 714,-538 402,-538 375,-344 349,-203 300,-101 273,-53 221,-13 283,-44 693,-40 776,-93;783,-1394 773,-1341 746,-1275 715,-1226 685,-1187"],\u00CA:[947,"106,-564 137,-750 181,-820 252,-886 349,-921 837,-921 480,-921 433,-724 406,-538 714,-538 402,-538 375,-344 349,-203 300,-101 273,-53 221,-13 283,-44 693,-40 776,-93;392,-1102 547,-1226 713,-1102"],\u00CB:[948,"106,-564 137,-750 181,-820 252,-886 349,-921 837,-921 480,-921 433,-724 406,-538 714,-538 402,-538 375,-344 349,-203 300,-101 273,-53 221,-13 283,-44 693,-40 776,-93;409,-1303 361,-1254 413,-1197 462,-1242 409,-1303;808,-1340 759,-1292 812,-1235 860,-1278 808,-1340"],\u00CC:[631,"40,-560 40,-675 88,-790 168,-878 265,-927 357,-931 476,-935 449,-927 406,-755 357,-490 326,-273 304,-168 265,-101 216,-44 176,0 221,-35 441,-31 521,-97;252,-1271 287,-1204 361,-1134"],\u00CD:[640,"40,-560 40,-675 88,-790 168,-878 265,-927 357,-931 476,-935 449,-927 406,-755 357,-490 326,-273 304,-168 265,-101 216,-44 176,0 221,-35 441,-31 521,-97;605,-1417 596,-1364 570,-1298 539,-1249 508,-1210"],\u00CE:[640,"40,-560 40,-675 88,-790 168,-878 265,-927 357,-931 476,-935 449,-927 406,-755 357,-490 326,-273 304,-168 265,-101 216,-44 176,0 221,-35 441,-31 521,-97;281,-1158 444,-1288 619,-1158"],\u00CF:[671,"40,-560 40,-675 88,-790 168,-878 265,-927 357,-931 476,-935 449,-927 406,-755 357,-490 326,-273 304,-168 265,-101 216,-44 176,0 221,-35 441,-31 521,-97;277,-1294 230,-1246 281,-1189 330,-1232 277,-1294;658,-1302 609,-1253 662,-1196 711,-1240 658,-1302"],\u00D0:[934,"225,-410 423,-414 573,-445;110,-494 128,-657 229,-825 362,-900 498,-935 666,-927 803,-874 899,-728 912,-556 873,-375 793,-234 688,-110 573,-57 477,-31 264,-40 233,-26 290,-79 352,-189 485,-917"],\u00D1:[1019,"88,-568 106,-706 158,-829 242,-904 344,-931 533,-931;132,-35 242,-35 304,-71 357,-150 379,-260 410,-441 494,-931 538,-927 617,-697 806,-106 820,-66 802,-13 851,-101 882,-221 974,-732 988,-837 1028,-931 1054,-948 997,-931 843,-931;482,-1133 556,-1172 623,-1187 696,-1172 776,-1148 834,-1126 902,-1123 974,-1156"],\u00D2:[724,"308,-31 238,-57 189,-101 119,-234 110,-406 154,-582 225,-710 314,-812 392,-886 498,-927 587,-878 666,-741 683,-556 657,-402 599,-269 498,-141 410,-71 308,-31;304,-1259 339,-1193 413,-1121"],\u00D3:[724,"308,-31 238,-57 189,-101 119,-234 110,-406 154,-582 225,-710 314,-812 392,-886 498,-927 587,-878 666,-741 683,-556 657,-402 599,-269 498,-141 410,-71 308,-31;679,-1449 671,-1396 644,-1330 613,-1281 582,-1242"],\u00D4:[724,"308,-31 238,-57 189,-101 119,-234 110,-406 154,-582 225,-710 314,-812 392,-886 498,-927 587,-878 666,-741 683,-556 657,-402 599,-269 498,-141 410,-71 308,-31;314,-1084 465,-1204 626,-1084"],\u00D5:[751,"308,-31 238,-57 189,-101 119,-234 110,-406 154,-582 225,-710 314,-812 392,-886 498,-927 587,-878 666,-741 683,-556 657,-402 599,-269 498,-141 410,-71 308,-31;265,-1184 343,-1226 414,-1243 493,-1226 578,-1201 641,-1177 713,-1175 791,-1211"],\u00D6:[724,"308,-31 238,-57 189,-101 119,-234 110,-406 154,-582 225,-710 314,-812 392,-886 498,-927 587,-878 666,-741 683,-556 657,-402 599,-269 498,-141 410,-71 308,-31;309,-1331 260,-1282 314,-1225 361,-1270 309,-1331;686,-1354 638,-1305 690,-1247 739,-1292 686,-1354"],"\xD7":[853,"193,-533 660,-67;660,-533 193,-67"],\u00D8:[724,"308,-31 238,-57 189,-101 119,-234 110,-406 154,-582 225,-710 314,-812 392,-886 498,-927 587,-878 666,-741 683,-556 657,-402 599,-269 498,-141 410,-71 308,-31;601,-1077 381,-462 147,114"],\u00D9:[1103,"48,-560 48,-679 93,-790 172,-886 246,-921 419,-927 490,-931 468,-921 410,-741 371,-441 344,-199 375,-75 423,-35 498,-35 582,-88 675,-221 736,-326 794,-433 816,-472 904,-909 931,-931 904,-904 798,-398 781,-207 794,-115 837,-48 882,-40 939,-35 993,-88;479,-1291 514,-1225 589,-1155"],\u00DA:[1103,"48,-560 48,-679 93,-790 172,-886 246,-921 419,-927 490,-931 468,-921 410,-741 371,-441 344,-199 375,-75 423,-35 498,-35 582,-88 675,-221 736,-326 794,-433 816,-472 904,-909 931,-931 904,-904 798,-398 781,-207 794,-115 837,-48 882,-40 939,-35 993,-88;865,-1444 857,-1392 830,-1326 799,-1277 769,-1238"],\u00DB:[1103,"48,-560 48,-679 93,-790 172,-886 246,-921 419,-927 490,-931 468,-921 410,-741 371,-441 344,-199 375,-75 423,-35 498,-35 582,-88 675,-221 736,-326 794,-433 816,-472 904,-909 931,-931 904,-904 798,-398 781,-207 794,-115 837,-48 882,-40 939,-35 993,-88;472,-1081 623,-1201 784,-1081"],\u00DC:[1103,"48,-560 48,-679 93,-790 172,-886 246,-921 419,-927 490,-931 468,-921 410,-741 371,-441 344,-199 375,-75 423,-35 498,-35 582,-88 675,-221 736,-326 794,-433 816,-472 904,-909 931,-931 904,-904 798,-398 781,-207 794,-115 837,-48 882,-40 939,-35 993,-88;494,-1309 447,-1260 500,-1203 547,-1247 494,-1309;854,-1347 805,-1298 858,-1240 907,-1285 854,-1347"],\u00DD:[979,"57,-636 79,-763 128,-869 189,-927 295,-931 353,-874 406,-714 449,-564 503,-365 552,-211;776,-909 878,-904 895,-869 851,-759 578,-260 445,-26 318,132 238,189 168,195 22,115;797,-1399 788,-1345 762,-1280 731,-1231 700,-1191"],\u00E0:[578,"379,-595 225,-605 115,-556 35,-414 4,-234 4,-93 18,-22 102,-106 221,-273 295,-398 353,-517 379,-578 318,-304 287,-168 277,-93 269,-18 357,-75 511,-260 578,-353;72,-956 107,-890 182,-819"],\u00E1:[578,"379,-595 225,-605 115,-556 35,-414 4,-234 4,-93 18,-22 102,-106 221,-273 295,-398 353,-517 379,-578 318,-304 287,-168 277,-93 269,-18 357,-75 511,-260 578,-353;444,-1049 434,-997 407,-930 377,-882 346,-841"],\u00E2:[578,"379,-595 225,-605 115,-556 35,-414 4,-234 4,-93 18,-22 102,-106 221,-273 295,-398 353,-517 379,-578 318,-304 287,-168 277,-93 269,-18 357,-75 511,-260 578,-353;88,-847 252,-979 426,-847"],\u00E3:[578,"379,-595 225,-605 115,-556 35,-414 4,-234 4,-93 18,-22 102,-106 221,-273 295,-398 353,-517 379,-578 318,-304 287,-168 277,-93 269,-18 357,-75 511,-260 578,-353;32,-819 104,-858 171,-874 244,-858 322,-833 379,-812 447,-809 519,-843"],\u00E4:[578,"379,-595 225,-605 115,-556 35,-414 4,-234 4,-93 18,-22 102,-106 221,-273 295,-398 353,-517 379,-578 318,-304 287,-168 277,-93 269,-18 357,-75 511,-260 578,-353;227,-1043 179,-994 232,-937 280,-980 227,-1043;526,-998 479,-949 531,-892 580,-937 526,-998"],\u00E5:[578,"379,-595 225,-605 115,-556 35,-414 4,-234 4,-93 18,-22 102,-106 221,-273 295,-398 353,-517 379,-578 318,-304 287,-168 277,-93 269,-18 357,-75 511,-260 578,-353;225,-869 204,-878 189,-890 168,-930 165,-981 179,-1035 200,-1072 227,-1103 251,-1126 281,-1138 308,-1123 332,-1082 337,-1026 329,-980 312,-941 281,-902 255,-881 225,-869"],\u00E8:[406,"4,-300 102,-361 221,-480 265,-542 277,-609 252,-636 195,-640 102,-578 31,-476 -9,-326 -26,-207 -4,-110 44,-40 88,4 238,-150 335,-260 402,-357;-17,-966 19,-900 94,-829"],\u00E9:[406,"4,-300 102,-361 221,-480 265,-542 277,-609 252,-636 195,-640 102,-578 31,-476 -9,-326 -26,-207 -4,-110 44,-40 88,4 238,-150 335,-260 402,-357;367,-1085 358,-1032 332,-966 301,-917 270,-878"],\u00EA:[406,"4,-300 102,-361 221,-480 265,-542 277,-609 252,-636 195,-640 102,-578 31,-476 -9,-326 -26,-207 -4,-110 44,-40 88,4 238,-150 335,-260 402,-357;26,-813 188,-942 360,-813"],\u00EB:[443,"4,-300 102,-361 221,-480 265,-542 277,-609 252,-636 195,-640 102,-578 31,-476 -9,-326 -26,-207 -4,-110 44,-40 88,4 238,-150 335,-260 402,-357;59,-1002 10,-953 63,-897 112,-941 59,-1002;431,-1022 382,-974 435,-917 483,-960 431,-1022"],\u00EC:[273,"-48,-538 22,-605 57,-622 -4,-252 -31,-123 -31,-18 75,-110 158,-203 277,-357;-71,-952 -35,-886 40,-816"],\u00ED:[273,"-48,-538 22,-605 57,-622 -4,-252 -31,-123 -31,-18 75,-110 158,-203 277,-357;294,-1089 286,-1036 259,-970 228,-921 197,-882"],\u00EE:[273,"-48,-538 22,-605 57,-622 -4,-252 -31,-123 -31,-18 75,-110 158,-203 277,-357;-31,-783 121,-904 284,-783"],\u00EF:[407,"-48,-538 22,-605 57,-622 -4,-252 -31,-123 -31,-18 75,-110 158,-203 277,-357;63,-1035 14,-987 67,-930 116,-973 63,-1035;393,-1057 344,-1008 398,-951 447,-995 393,-1057"],\u00F1:[626,"-4,-547 79,-617 119,-644 97,-538 71,-353 44,-225 26,-106 18,-31 22,-9 18,-101 110,-230 181,-365 260,-480 344,-578 388,-630 410,-630 423,-538 388,-365 357,-234 330,-132 308,-4 388,-71 503,-189 564,-277 626,-357;33,-815 108,-855 176,-871 251,-855 332,-830 391,-809 459,-805 533,-840"],\u00F2:[441,"75,-4 93,-4 172,-44 246,-128 314,-252 349,-379 340,-503 300,-568 269,-630 137,-568 53,-459 -4,-335 -13,-225 4,-115 31,-62 75,-4;10,-967 45,-900 120,-830"],\u00F3:[441,"75,-4 93,-4 172,-44 246,-128 314,-252 349,-379 340,-503 300,-568 269,-630 137,-568 53,-459 -4,-335 -13,-225 4,-115 31,-62 75,-4;392,-1106 384,-1053 357,-987 326,-938 295,-899"],\u00F4:[441,"75,-4 93,-4 172,-44 246,-128 314,-252 349,-379 340,-503 300,-568 269,-630 137,-568 53,-459 -4,-335 -13,-225 4,-115 31,-62 75,-4;37,-819 200,-951 374,-819"],\u00F5:[486,"75,-4 93,-4 172,-44 246,-128 314,-252 349,-379 340,-503 300,-568 269,-630 137,-568 53,-459 -4,-335 -13,-225 4,-115 31,-62 75,-4;6,-868 83,-910 154,-925 232,-910 316,-883 378,-861 448,-858 526,-893"],\u00F6:[516,"75,-4 93,-4 172,-44 246,-128 314,-252 349,-379 340,-503 300,-568 269,-630 137,-568 53,-459 -4,-335 -13,-225 4,-115 31,-62 75,-4;122,-974 73,-927 126,-869 175,-913 122,-974;504,-979 455,-930 508,-872 556,-917 504,-979"],"\xF7":[987,"493,-600 460,-567 493,-533 527,-567 493,-600;193,-300 793,-300;493,-67 460,-33 493,0 527,-33 493,-67"],\u00F8:[441,"75,-4 93,-4 172,-44 246,-128 314,-252 349,-379 340,-503 300,-568 269,-630 137,-568 53,-459 -4,-335 -13,-225 4,-115 31,-62 75,-4;328,-728 185,-330 34,43"],\u00F9:[552,"-66,-556 26,-622 53,-640 13,-463 -4,-295 -18,-195 -18,-66 -18,-18 57,-88 158,-221 225,-344 295,-484 357,-626 314,-449 277,-269 256,-119 246,-13 353,-101 454,-225 556,-357;77,-962 112,-895 186,-825"],\u00FA:[552,"-66,-556 26,-622 53,-640 13,-463 -4,-295 -18,-195 -18,-66 -18,-18 57,-88 158,-221 225,-344 295,-484 357,-626 314,-449 277,-269 256,-119 246,-13 353,-101 454,-225 556,-357;423,-1082 414,-1029 388,-963 357,-914 326,-875"],\u00FB:[552,"-66,-556 26,-622 53,-640 13,-463 -4,-295 -18,-195 -18,-66 -18,-18 57,-88 158,-221 225,-344 295,-484 357,-626 314,-449 277,-269 256,-119 246,-13 353,-101 454,-225 556,-357;61,-797 214,-918 378,-797"],\u00FC:[590,"-66,-556 26,-622 53,-640 13,-463 -4,-295 -18,-195 -18,-66 -18,-18 57,-88 158,-221 225,-344 295,-484 357,-626 314,-449 277,-269 256,-119 246,-13 353,-101 454,-225 556,-357;130,-974 82,-925 135,-868 183,-913 130,-974;577,-984 528,-937 581,-879 630,-923 577,-984"],\u00FD:[398,"-71,-556 -57,-560 9,-609 53,-640 9,-392 -18,-168 -4,-31 106,-150 199,-295 265,-419 353,-617 308,-410 269,-115 234,79 195,168 141,216 62,242 -84,230;370,-1102 361,-1049 335,-983 304,-934 273,-895"],\u00FF:[488,"-71,-556 -57,-560 9,-609 53,-640 9,-392 -18,-168 -4,-31 106,-150 199,-295 265,-419 353,-617 308,-410 269,-115 234,79 195,168 141,216 62,242 -84,230;162,-1047 113,-998 167,-941 214,-986 162,-1047;476,-1015 427,-966 480,-910 528,-953 476,-1015"],"\u2013":[742,"110,-410 408,-414 632,-445"],"\u2014":[917,"110,-410 507,-414 807,-445"],"\u201C":[461,"101,-988 105,-952 119,-904 153,-837;300,-988 304,-952 318,-904 351,-837"],"\u201D":[462,"154,-1004 150,-956 138,-897 124,-854 110,-818;352,-1004 349,-956 336,-897 322,-854 308,-818"],"\u2039":[434,"314,-466 204,-378 109,-265 231,-120 325,-32"],"\u203A":[403,"83,-35 185,-134 293,-260 203,-371 92,-466"],"\u20AC":[763,"697,-895 564,-935 362,-874 229,-710 150,-547 115,-398 119,-256 190,-106 264,-26 388,-9 467,-57 578,-154;110,-322 309,-326 459,-357;110,-498 309,-503 459,-533"],\u0178:[979,"57,-636 79,-763 128,-869 189,-927 295,-931 353,-874 406,-714 449,-564 503,-365 552,-211;776,-909 878,-904 895,-869 851,-759 578,-260 445,-26 318,132 238,189 168,195 22,115;444,-1301 395,-1252 448,-1196 497,-1239 444,-1301;811,-1345 763,-1296 815,-1239 864,-1284 811,-1345"],\u00DF:[490,"-176,78 -176,78 -38,40 -31,-32 0,-307 32,-377 79,-852 152,-1119 381,-994 376,-787 370,-579 123,-452 189,-479 254,-506 380,-424 278,-211 176,1 30,-15 30,-15"],"\xB8":[360,"249,-20 249,11 249,23 250,34 248,46 245,64 221,115 208,129 191,146 140,167 110,159"],\u00E7:[433,"106,9 106,40 106,51 107,63 105,74 102,92 78,143 65,157 48,174 -3,195 -33,188;335,-609 277,-640 185,-622 84,-511 44,-423 9,-330 4,-225 13,-123 44,-48 106,9 207,-84 318,-203 433,-357"],\u00C7:[758,"403,-20 403,11 403,23 404,34 402,46 399,64 375,115 362,129 345,146 294,167 264,159;692,-895 559,-935 357,-874 224,-710 145,-547 110,-398 114,-256 185,-106 259,-26 383,-9 462,-57 573,-154"],\u0391:[720,"360,-700 93,0;360,-700 627,0;193,-233 527,-233"],\u0392:[787,"193,-700 193,0;193,-700 493,-700 593,-667 627,-633 660,-567 660,-500 627,-433 593,-400 493,-367;193,-367 493,-367 593,-333 627,-300 660,-233 660,-133 627,-67 593,-33 493,0 193,0"],\u03A7:[787,"160,-700 627,0;160,0 627,-700"],\u0394:[720,"360,-700 93,0;360,-700 627,0;93,0 627,0"],\u0395:[720,"193,-700 193,0;193,-700 627,-700;193,-367 460,-367;193,0 627,0"],\u03A6:[787,"393,-700 393,0;327,-533 227,-500 193,-467 160,-400 160,-300 193,-233 227,-200 327,-167 460,-167 560,-200 593,-233 627,-300 627,-400 593,-467 560,-500 460,-533 327,-533"],\u0393:[587,"193,-700 193,0;193,-700 593,-700"],\u0397:[853,"193,-700 193,0;660,-700 660,0;193,-367 660,-367"],\u0399:[387,"193,-700 193,0"],\u039A:[787,"193,-700 193,0;660,-700 193,-233;360,-400 660,0"],\u039B:[720,"360,-700 93,0;360,-700 627,0"],\u039C:[920,"193,-700 193,0;193,-700 460,0;727,-700 460,0;727,-700 727,0"],\u039D:[853,"193,-700 193,0;193,-700 660,0;660,-700 660,0"],\u039F:[853,"360,-700 293,-667 227,-600 193,-533 160,-433 160,-267 193,-167 227,-100 293,-33 360,0 493,0 560,-33 627,-100 660,-167 693,-267 693,-433 660,-533 627,-600 560,-667 493,-700 360,-700"],\u03A0:[853,"193,-700 193,0;660,-700 660,0;193,-700 660,-700"],\u0398:[853,"360,-700 293,-667 227,-600 193,-533 160,-433 160,-267 193,-167 227,-100 293,-33 360,0 493,0 560,-33 627,-100 660,-167 693,-267 693,-433 660,-533 627,-600 560,-667 493,-700 360,-700;327,-367 527,-367"],\u03A1:[787,"193,-700 193,0;193,-700 493,-700 593,-667 627,-633 660,-567 660,-467 627,-400 593,-367 493,-333 193,-333"],\u03A3:[720,"127,-700 360,-367 127,0;127,-700 593,-700;127,0 593,0"],\u03A4:[653,"327,-700 327,0;93,-700 560,-700"],\u03A5:[720,"127,-533 127,-600 160,-667 193,-700 260,-700 293,-667 327,-600 360,-467 360,0;593,-533 593,-600 560,-667 527,-700 460,-700 427,-667 393,-600 360,-467"],\u03A9:[787,"160,0 293,0 193,-233 160,-367 160,-500 193,-600 260,-667 360,-700 427,-700 527,-667 593,-600 627,-500 627,-367 593,-233 493,0 627,0"],\u039E:[720,"127,-700 593,-700;260,-367 460,-367;127,0 593,0"],\u03A8:[853,"427,-700 427,0;127,-500 160,-500 193,-467 227,-333 260,-267 293,-233 393,-200 460,-200 560,-233 593,-267 627,-333 660,-467 693,-500 727,-500"],\u0396:[787,"627,-700 160,0;160,-700 627,-700;160,0 627,0"],\u03B1:[853,"360,-467 293,-433 227,-367 193,-300 160,-200 160,-100 193,-33 260,0 327,0 393,-33 493,-133 560,-233 627,-367 660,-467;360,-467 427,-467 460,-433 493,-367 560,-100 593,-33 627,0 660,0"],\u03B2:[787,"460,-700 393,-667 327,-600 260,-467 227,-367 193,-233 160,-33 127,233;460,-700 527,-700 593,-633 593,-533 560,-467 527,-433 460,-400 360,-400;360,-400 427,-367 493,-300 527,-233 527,-133 493,-67 460,-33 393,0 327,0 260,-33 227,-67 193,-167"],\u03C7:[720,"127,-467 193,-467 260,-400 460,167 527,233 593,233;627,-467 593,-400 527,-300 193,67 127,167 93,233"],\u03B4:[720,"427,-467 327,-467 260,-433 193,-367 160,-267 160,-167 193,-67 227,-33 293,0 360,0 427,-33 493,-100 527,-200 527,-300 493,-400 427,-467 360,-533 327,-600 327,-667 360,-700 427,-700 493,-667 560,-600"],\u03B5:[653,"493,-400 460,-433 393,-467 293,-467 227,-433 227,-367 260,-300 360,-267;360,-267 227,-233 160,-167 160,-100 193,-33 260,0 360,0 427,-33 493,-100"],\u03C6:[853,"327,-433 260,-400 193,-333 160,-233 160,-133 193,-67 227,-33 293,0 393,0 493,-33 593,-100 660,-200 693,-300 693,-400 627,-467 560,-467 493,-400 427,-267 360,-100 260,233"],\u03B3:[787,"93,-367 160,-433 227,-467 260,-467 327,-433 360,-400 393,-300 393,-167 360,0;627,-467 593,-367 560,-300 360,0 293,133 260,233"],\u03B7:[787,"93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 260,-233 193,0;260,-233 327,-367 393,-433 460,-467 527,-467 593,-400 593,-300 560,-133 460,233"],\u03B9:[453,"260,-467 193,-233 160,-100 160,-33 193,0 260,0 327,-67 360,-133"],\u03BA:[720,"260,-467 127,0;593,-433 560,-467 527,-467 460,-433 327,-300 260,-267 227,-267;227,-267 293,-233 327,-200 393,-33 427,0 460,0 493,-33"],\u03BB:[653,"93,-700 160,-700 227,-667 260,-633 527,0;327,-467 127,0"],\u03BC:[853,"293,-467 93,233;260,-333 227,-167 227,-67 293,0 360,0 427,-33 493,-100 560,-233;627,-467 560,-233 527,-100 527,-33 560,0 627,0 693,-67 727,-133"],\u03BD:[720,"160,-467 260,-467 227,-267 193,-100 160,0;593,-467 560,-367 527,-300 460,-200 360,-100 260,-33 160,0"],\u03BF:[720,"327,-467 260,-433 193,-367 160,-267 160,-167 193,-67 227,-33 293,0 360,0 427,-33 493,-100 527,-200 527,-300 493,-400 460,-433 393,-467 327,-467"],\u03C0:[853,"360,-467 227,0;527,-467 560,-267 593,-100 627,0;127,-367 193,-433 293,-467 727,-467"],\u03B8:[787,"93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 260,-200 260,-100 293,-33 327,0 393,0 460,-33 527,-133 560,-200 593,-300 627,-467 627,-567 593,-667 527,-700 460,-700 427,-633 427,-567 460,-467 527,-367 593,-300 693,-233"],\u03C1:[720,"193,-267 193,-167 227,-67 260,-33 327,0 393,0 460,-33 527,-100 560,-200 560,-300 527,-400 493,-433 427,-467 360,-467 293,-433 227,-367 193,-267 60,233"],\u03C3:[853,"660,-467 327,-467 260,-433 193,-367 160,-267 160,-167 193,-67 227,-33 293,0 360,0 427,-33 493,-100 527,-200 527,-300 493,-400 460,-433 393,-467"],\u03C4:[787,"427,-467 327,0;127,-367 193,-433 293,-467 660,-467"],\u03C5:[787,"93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 227,-167 227,-67 293,0 360,0 460,-33 527,-100 593,-233 627,-367 627,-467"],\u03C9:[853,"327,-467 260,-433 193,-333 160,-233 160,-133 193,-33 227,0 293,0 360,-33 427,-133;460,-267 427,-133 460,-33 493,0 560,0 627,-33 693,-133 727,-233 727,-333 693,-433 660,-467"],\u03BE:[653,"393,-700 327,-667 293,-633 293,-600 327,-567 427,-533 527,-533;427,-533 327,-500 260,-467 227,-400 227,-333 293,-267 393,-233 460,-233;393,-233 260,-200 193,-167 160,-100 160,-33 227,33 360,100 393,133 393,200 327,233 260,233"],\u03C8:[853,"593,-700 327,233;93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 260,-200 260,-100 293,-33 360,0 427,0 527,-33 593,-100 660,-200 727,-367 760,-467"],\u03B6:[587,"393,-700 327,-667 293,-633 293,-600 327,-567 427,-533 527,-533;527,-533 393,-467 293,-400 193,-300 160,-200 160,-133 193,-67 260,0 360,67 393,133 393,200 360,233 293,233 260,167"],\u03D1:[787,"93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 260,-200 260,-100 293,-33 327,0 393,0 460,-33 527,-133 560,-200 593,-300 627,-467 627,-567 593,-667 527,-700 460,-700 427,-633 427,-567 460,-467 527,-367 593,-300 693,-233"],"\u2213":[920,"460,-567 460,0;193,-567 727,-567;193,-300 727,-300"],"\u22C5":[320,"127,-333 127,-300 160,-300 160,-333 127,-333"],"\u2264":[920,"727,-700 193,-467 727,-233;193,-167 727,-167;193,0 727,0"],"\u2265":[920,"193,-700 727,-467 193,-233;193,-167 727,-167;193,0 727,0"],"\u220F":[1253,"293,-833 293,233;327,-833 327,233;927,-833 927,233;960,-833 960,233;160,-833 1093,-833;160,233 460,233;793,233 1093,233"],"\u2211":[1120,"227,-833 560,-367 193,233;193,-833 527,-367;160,-833 527,-333;160,-833 927,-833 993,-600 893,-833;227,200 927,200;193,233 927,233 993,0 893,233"],"\u2260":[987,"727,-600 260,0;193,-400 793,-400;193,-200 793,-200"],"\u2261":[987,"193,-467 793,-467;193,-300 793,-300;193,-133 793,-133"],"\u221D":[987,"760,-133 693,-133 627,-167 560,-233 460,-367 427,-400 360,-433 293,-433 227,-400 193,-333 193,-267 227,-200 293,-167 360,-167 427,-200 460,-233 560,-367 627,-433 693,-467 760,-467"],"\u221E":[987,"793,-267 760,-200 693,-167 627,-167 560,-200 527,-233 427,-367 393,-400 327,-433 260,-433 193,-400 160,-333 160,-267 193,-200 260,-167 327,-167 393,-200 427,-233 527,-367 560,-400 627,-433 693,-433 760,-400 793,-333 793,-267"],"\u221A":[720,"160,-467 293,-467 493,-67;260,-467 493,0;793,-833 493,0"],"\u2282":[920,"727,-567 493,-567 360,-533 293,-500 227,-433 193,-333 193,-267 227,-167 293,-100 360,-67 493,-33 727,-33"],"\u222A":[920,"193,-567 193,-333 227,-200 260,-133 327,-67 427,-33 493,-33 593,-67 660,-133 693,-200 727,-333 727,-567"],"\u2283":[920,"193,-567 427,-567 560,-533 627,-500 693,-433 727,-333 727,-267 693,-167 627,-100 560,-67 427,-33 193,-33"],"\u2229":[920,"193,-33 193,-267 227,-400 260,-467 327,-533 427,-567 493,-567 593,-533 660,-467 693,-400 727,-267 727,-33"],"\u2208":[920,"727,-567 493,-567 360,-533 293,-500 227,-433 193,-333 193,-267 227,-167 293,-100 360,-67 493,-33 727,-33;193,-300 593,-300"],"\u2192":[987,"693,-367 793,-300 693,-233;593,-467 760,-300 593,-133;193,-300 760,-300"],"\u2191":[653,"260,-500 327,-600 393,-500;160,-400 327,-567 493,-400;327,-567 327,0"],"\u2190":[987,"293,-367 193,-300 293,-233;393,-467 227,-300 393,-133;227,-300 793,-300"],"\u2193":[653,"260,-100 327,0 393,-100;160,-200 327,-33 493,-200;327,-600 327,-33"],"\u2202":[787,"560,-300 527,-400 493,-433 427,-467 360,-467 260,-433 193,-333 160,-233 160,-133 193,-67 227,-33 293,0 360,0 460,-33 527,-100 560,-200 593,-367 593,-533 560,-633 527,-667 460,-700 360,-700 293,-667 260,-633 260,-600 293,-600 293,-633;360,-467 293,-433 227,-333 193,-233 193,-100 227,-33;360,0 427,-33 493,-100 527,-200 560,-367 560,-533 527,-633 460,-700"],"\u2207":[787,"127,-700 393,0;160,-700 393,-67;660,-700 393,0;127,-700 660,-700;160,-667 627,-667"],"\u222B":[920,"760,-800 727,-767 760,-733 793,-767 793,-800 760,-833 693,-833 627,-800 560,-733 527,-667 493,-567 460,-433 393,-33 360,100 327,167;593,-767 560,-700 527,-567 460,-167 427,-33 393,67 360,133 293,200 227,233 160,233 127,200 127,167 160,133 193,167 160,200"],"\u2203":[787,"560,-700 560,0;127,-700 560,-700;293,-367 560,-367;127,0 560,0"],\u2135:[787,"160,-600 193,-533 593,-133 627,-67 627,0;193,-500 593,-100;160,-600 160,-533 193,-467 593,-67 627,0;327,-367 193,-233 160,-167 160,-100 193,-33 160,0;160,-167 227,-33;193,-233 193,-167 227,-100 227,-33 160,0;427,-267 593,-433;527,-600 527,-500 560,-433 627,-433 627,-500 560,-533 527,-600;527,-600 560,-500 627,-433"],"\u2016":[587,"193,-833 193,233;393,-833 393,233"],"\u22A5":[920,"460,-833 460,0;160,0 760,0"],"\u2220":[920,"760,-833 160,0 760,0"],"\u2234":[987,"493,-600 460,-567 493,-533 527,-567 493,-600;193,-67 160,-33 193,0 227,-33 193,-67;793,-67 760,-33 793,0 827,-33 793,-67"],"\u2212":[569,"110,-410 309,-414 459,-445"],"\u2248":[930,"110,-425 217,-482 313,-504 420,-482 533,-447 617,-416 715,-412 820,-461;110,-245 217,-302 313,-324 420,-302 533,-267 617,-236 715,-232 820,-281"]};var B3="0.1.0",$3={white:"#f1f0ea",chalk:"#f1f0ea",yellow:"#f2ea72",lime:"#ddf27c",green:"#8fe07a",blue:"#8288ff",cyan:"#72d3ef",purple:"#b877ee",violet:"#b877ee",magenta:"#e06ade",pink:"#f27dc9",red:"#f45b73",orange:"#f5a04c",grey:"#9d9d9d",gray:"#9d9d9d"};function q3(e){let t=e>>>0,o=()=>{t=t+1831565813|0;let r=Math.imul(t^t>>>15,1|t);return r=r+Math.imul(r^r>>>7,61|r)^r,((r^r>>>14)>>>0)/4294967296};return{r:o,n:r=>(o()*2-1)*r}}function H3(e){let t=2166136261;for(let o=0;o<e.length;o++)t^=e.charCodeAt(o),t=Math.imul(t,16777619);return t>>>0}var t3=e=>e[e.length-1],d3=(e,t)=>Math.hypot(t[0]-e[0],t[1]-e[1]),p3=(e,t,o)=>[e[0]+(t[0]-e[0])*o,e[1]+(t[1]-e[1])*o],c3=(e,t,o)=>Math.min(o,Math.max(t,e)),D3=e=>e*e*(3-2*e);function w3(e){let t=0;for(let o=1;o<e.length;o++)t+=d3(e[o-1],e[o]);return t}function i3(e){let t=1/0,o=1/0,r=-1/0,a=-1/0;for(let s of e)for(let[c,l]of s.pts)c<t&&(t=c),c>r&&(r=c),l<o&&(o=l),l>a&&(a=l);return t===1/0?null:{x:t,y:o,w:r-t,h:a-o}}function G3(e){let t=Math.min(...e.map(s=>s.x)),o=Math.min(...e.map(s=>s.y)),r=Math.max(...e.map(s=>s.x+s.w)),a=Math.max(...e.map(s=>s.y+s.h));return{x:t,y:o,w:r-t,h:a-o}}function Z(e,t,o,r=6){let a=d3(e,t),s=-(t[1]-e[1])/(a||1),c=(t[0]-e[0])/(a||1),l=o.n(a*.018),h=[];for(let f=0;f<=r;f++){let d=f/r,g=l*Math.sin(Math.PI*d)+(f&&f<r?o.n(a*.002):0),M=p3(e,t,d);h.push([M[0]+s*g,M[1]+c*g])}return h}function a3(e,t,o,r=16){let a=[];for(let s=0;s<=r;s++){let c=s/r,l=1-c;a.push([l*l*e[0]+2*l*c*t[0]+c*c*o[0],l*l*e[1]+2*l*c*t[1]+c*c*o[1]])}return a}function k3(e,t=10){if(e.length<3)return e.length===2?a3(e[0],p3(e[0],e[1],.5),e[1],t):e;let o=[e[0]];for(let r=0;r<e.length-1;r++){let a=e[r-1]??e[r],s=e[r],c=e[r+1],l=e[r+2]??c;for(let h=1;h<=t;h++){let f=h/t,d=f*f,g=d*f,M=w=>.5*(2*s[w]+(-a[w]+c[w])*f+(2*a[w]-5*s[w]+4*c[w]-l[w])*d+(-a[w]+3*s[w]-3*c[w]+l[w])*g);o.push([M(0),M(1)])}}return o}function j3(e,t){let o=s=>Math.round(s*10)/10;if(e.length===1)return`M${o(e[0][0])} ${o(e[0][1])}l0.01 0`;if(!t||e.length<3)return"M"+e.map(s=>`${o(s[0])} ${o(s[1])}`).join("L");let r=[[e[0]]];for(let s=1;s<e.length;s++)if(t3(r).push(e[s]),s<e.length-1){let c=Math.atan2(e[s][1]-e[s-1][1],e[s][0]-e[s-1][0]),l=Math.atan2(e[s+1][1]-e[s][1],e[s+1][0]-e[s][0]),h=Math.abs(l-c);h>Math.PI&&(h=2*Math.PI-h),h>1.1&&r.push([e[s]])}let a=`M${o(e[0][0])} ${o(e[0][1])}`;for(let s of r){if(s.length<3){a+=s.slice(1).map(c=>`L${o(c[0])} ${o(c[1])}`).join("");continue}for(let c=0;c<s.length-1;c++){let l=s[c-1]??s[c],h=s[c],f=s[c+1],d=s[c+2]??f,g=[h[0]+(f[0]-l[0])/6,h[1]+(f[1]-l[1])/6],M=[f[0]-(d[0]-h[0])/6,f[1]-(d[1]-h[1])/6];a+=`C${o(g[0])} ${o(g[1])} ${o(M[0])} ${o(M[1])} ${o(f[0])} ${o(f[1])}`}}return a}var m3=new Map;function h3(e){if(m3.has(e))return m3.get(e);let t=x3[e],o=null;if(t){let r=t[1]?t[1].split(";").map(c=>c.split(" ").map(l=>l.split(",").map(Number))):[],a=0,s=0;for(let c of r)for(let[,l]of c)a=Math.min(a,l),s=Math.max(s,l);o={adv:t[0],strokes:r,top:a,bottom:s}}return m3.set(e,o),o}var M3={alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",varepsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",vartheta:"\u03D1",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",pi:"\u03C0",rho:"\u03C1",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",varphi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",Gamma:"\u0393",Delta:"\u0394",Theta:"\u0398",Lambda:"\u039B",Xi:"\u039E",Pi:"\u03A0",Sigma:"\u03A3",Upsilon:"\u03A5",Phi:"\u03A6",Psi:"\u03A8",Omega:"\u03A9",partial:"\u2202",nabla:"\u2207",int:"\u222B",sum:"\u2211",prod:"\u220F",infty:"\u221E",pm:"\xB1",mp:"\u2213",times:"\xD7",cdot:"\u22C5",div:"\xF7",leq:"\u2264",le:"\u2264",geq:"\u2265",ge:"\u2265",neq:"\u2260",ne:"\u2260",equiv:"\u2261",approx:"\u2248",propto:"\u221D",to:"\u2192",rightarrow:"\u2192",leftarrow:"\u2190",uparrow:"\u2191",downarrow:"\u2193",in:"\u2208",subset:"\u2282",supset:"\u2283",cup:"\u222A",cap:"\u2229",exists:"\u2203",aleph:"\u2135",therefore:"\u2234",perp:"\u22A5",angle:"\u2220",deg:"\xB0",parallel:"\u2016"},F3=["vec","bar","hat","dot","sqrt","ul"],W3=["sin","cos","tan","cot","sec","csc","arcsin","arccos","arctan","sinh","cosh","tanh","log","ln","exp","lim","max","min","sup","inf","det","dim","ker","deg","gcd","mod"];function Y3(e){let t=0,o=()=>{let s=String.fromCodePoint(e.codePointAt(t));return t+=s.length,s},r=()=>{if(e[t]==="{"){t++;let s=a("}");return t++,s}return t>=e.length?[]:e[t]==="\\"?a(void 0,1):[{k:"ch",c:o()}]};function a(s,c=1/0){let l=[];for(;t<e.length&&e[t]!==s&&l.length<c;){let h=e[t];if(h==="^"||h==="_")t++,l.push({k:h==="^"?"sup":"sub",n:r()});else if(h===`
|
|
2
|
-
`)t++,l.push({k:"nl"});else if(h==="\\"){let f=/^\\([a-zA-Z]+)/.exec(e.slice(t));if(!f){t++,l.push({k:"ch",c:t<e.length?o():"\\"});continue}t+=f[0].length;let d=f[1];if(d==="frac"){let g=r();l.push({k:"frac",a:g,b:r()})}else if(F3.includes(d))l.push({k:"deco",d,n:r()});else if(d==="id"){let g=r().map(M=>M.k==="ch"?M.c:"").join("");l.push({k:"mark",name:g,n:r()})}else if(M3[d])l.push({k:"ch",c:M3[d]}),e[t]===" "&&t++;else if(W3.includes(d))for(let g of d)l.push({k:"ch",c:g});else for(let g of"\\"+d)l.push({k:"ch",c:g})}else l.push({k:"ch",c:o()})}return l}return a()}var B={stroke:35,letter:70,word:190},b3=()=>({s:[],w:0,asc:0,desc:0,marks:[]});function r3(e,t,o,r,a){let s=e.s.length;for(let c of t.s)e.s.push({lift:c.lift,pts:c.pts.map(([l,h])=>[l+o,h+r])});for(let[c,l]of t.marks)e.marks.push([c,{...l,x:l.x+o,y:l.y+r}]);e.asc=Math.max(e.asc,t.asc-r),e.desc=Math.max(e.desc,t.desc+r),a!==void 0&&e.s[s]&&(e.s[s].lift=Math.max(e.s[s].lift,a))}function e3(e,t,o,r=0){let a=b3(),s=o.R,c=0,l=B.letter;for(let h of e)if(h.k==="ch"){if(h.c===" "||h.c===" "){c+=(h3(" ")?.adv??300)*(t/1e3)*(1+s.n(.18)),l=B.word;continue}let f=h3(h.c)??h3("?"),d=t/1e3*(1+s.n(.04)),g=s.n(.045),M=f.adv*d/2,w=-.32*t,q=o.amp*Math.sin((r+c)/o.wl*2*Math.PI+o.phase)+s.n(.014*t),Y=Math.cos(g),H=Math.sin(g);f.strokes.forEach((J,K)=>{let _=s.n(.009*t),D=s.n(.009*t),A=J.map(([n3,n])=>{let E=n3*d-M,u=n*d-w;return[c+M+E*Y-u*H+_,w+E*H+u*Y+q+D]});A.length===1&&(A=[A[0],[A[0][0]+.02*t,A[0][1]+.01*t]]),a.s.push({pts:A,lift:K===0?l:B.stroke})}),f.strokes.length&&(l=B.letter),a.asc=Math.max(a.asc,-f.top*d-q),a.desc=Math.max(a.desc,f.bottom*d+q),c+=f.adv*d*(1+s.n(.035))}else if(h.k==="sup"||h.k==="sub"){let f=e3(h.n,t*.62,o,r+c);r3(a,f,c+.02*t,h.k==="sup"?-.44*t:.2*t,l),c+=f.w+.06*t,l=B.letter}else if(h.k==="frac"){let f=t*.78,d=e3(h.a,f,o,r+c),g=e3(h.b,f,o,r+c),M=Math.max(d.w,g.w)+.28*t,w=-.3*t;r3(a,d,c+(M-d.w)/2,w-.14*t-Math.max(d.desc,.02*t),l),a.s.push({pts:Z([c+.04*t,w+s.n(.02*t)],[c+M-.04*t,w+s.n(.02*t)],s,4),lift:B.letter}),r3(a,g,c+(M-g.w)/2,w+.18*t+Math.max(g.asc,.5*f)),c+=M+.06*t,l=B.letter}else if(h.k==="deco"){let f=a.s.length;if(h.d==="sqrt"){let d=.6*t,g=e3(h.n,t,o,r+c+d),M=-Math.max(g.asc,.55*t)-.14*t,w=c+d+g.w+.08*t;a.s.push({pts:[[c,-.26*t],[c+.13*t,-.34*t],[c+.3*t,.05*t],[c+.52*t,M],[w,M+s.n(.03*t)]],lift:l}),r3(a,g,c+d,0),a.asc=Math.max(a.asc,-M+.03*t),c=w+.06*t}else{let d=e3(h.n,t,o,r+c);r3(a,d,c,0,l);let g=c+.03*t,M=c+Math.max(d.w,.42*t),w=h.d==="ul"?Math.max(d.desc,.08*t)+.1*t:-Math.max(d.asc,.5*t)-.14*t;if(h.d==="hat"){let q=(g+M)/2;a.s.push({pts:[[q-.15*t,w+.05*t],[q,w-.1*t],[q+.15*t,w+.05*t]],lift:B.letter})}else if(h.d==="dot"){let q=(g+M)/2;a.s.push({pts:[[q,w],[q+.025*t,w+.01*t]],lift:B.letter})}else{let q=Z([g,w],[M,w+s.n(.025*t)],s,4);if(a.s.push({pts:q,lift:B.letter}),h.d==="vec"){let Y=t3(q),H=.13*t;a.s.push({pts:[[Y[0]-H,Y[1]-H*.62],Y,[Y[0]-H,Y[1]+H*.62]],lift:B.stroke})}}a.asc=Math.max(a.asc,-w+.12*t),c+=d.w}a.s[f]&&(a.s[f].lift=Math.max(a.s[f].lift,l)),l=B.letter}else if(h.k==="mark"){let f=a.s.length,d=e3(h.n,t,o,r+c);r3(a,d,c,0,l),a.marks.push([h.name,i3(a.s.slice(f))??{x:c,y:-.7*t,w:d.w,h:.7*t}]),c+=d.w,l=B.letter}return a.w=c,a}var _3=["top","bottom","left","right","center","topLeft","topRight","bottomLeft","bottomRight"],X3=620,l3=1050;function J3(e){let t=e.width??1e3,o=new Map,r=[],a=[],s=e.background==="none",c=e.color??"white",l=n=>{let E=n??c;return s&&(E==="white"||E==="chalk")?"currentColor":$3[E]??E},h=n=>{if(Array.isArray(n))return G3(n.map(h));if(typeof n!="string")return n;let E=o.get(n);if(!E)throw new Error(`nothing with id "${n}" has been drawn yet`);return E},f=(n,E,u)=>{let I=n.x+n.w/2,R=n.y+n.h/2,p=n.x-u,i=n.y-u,k=n.x+n.w+u,b=n.y+n.h+u;switch(E){case"top":return[I,i];case"bottom":return[I,b];case"left":return[p,R];case"right":return[k,R];case"topLeft":return[p,i];case"topRight":return[k,i];case"bottomLeft":return[p,b];case"bottomRight":return[k,b];default:return[I,R]}},d=(n,E,u)=>{let I=n.x+n.w/2,R=n.y+n.h/2,p=E[0]-I,i=E[1]-R;if(!p&&!i)return[I,n.y+n.h+u];let k=Math.min(p?(n.w/2+u)/Math.abs(p):1/0,i?(n.h/2+u)/Math.abs(i):1/0);return[I+p*k,R+i*k]},g=(n,E,u)=>{if(Array.isArray(n))return n;let I,R=0,p=0;typeof n=="object"?(I=n.at,R=n.dx??0,p=n.dy??0):I=n;let i,k=o.get(I);if(k)i=E?d(k,E,u):[k.x+k.w/2,k.y+k.h/2];else{let b=I.lastIndexOf("."),G=b>0?o.get(I.slice(0,b)):void 0,m=I.slice(b+1);if(!G||!_3.includes(m))throw new Error(`can't find "${I}" \u2014 use an id drawn earlier, optionally with .top .bottom .left .right .center or a corner`);i=f(G,m,u)}return[i[0]+R,i[1]+p]};e.items.forEach((n,E)=>{let u=q3(H3(`${e.seed??0}:${E}:${JSON.stringify(n)}`)),I=[],R=(p,i,k,b,G)=>I.push({pts:p,lift:i,color:l(k.color),width:k.width??b,item:E,pen:G*(k.speed??1),len:w3(p)});try{if(n.type==="pause"){a.push({strokes:I,item:n});return}if(n.type==="text"){let p=n.size??32,i=Y3(n.text),k=[[]];for(let P of i)P.k==="nl"?k.push([]):t3(k).push(P);let b=(n.lineHeight??1.45)*p,G=(h3(" ")?.adv??300)*(p/1e3),m=[];for(let P of k){let z={R:u,phase:u.r()*6.283,amp:.022*p,wl:8*p};if(!n.maxWidth){m.push(e3(P,p,z));continue}let V=[[]];for(let N of P)N.k==="ch"&&N.c===" "?V.push([]):t3(V).push(N);let X=b3(),F=0;for(let N of V){if(!N.length)continue;let W=e3(N,p,z,F);F>0&&F+W.w>n.maxWidth&&(m.push(X),X=b3(),F=0),r3(X,W,F,0,F>0?B.word:void 0),F+=W.w+G*(1+u.n(.15)),X.w=F-G}m.push(X)}let y=Math.max(0,...m.map(P=>P.w)),$=.78*p,x=$+(m.length-1)*b+.28*p,C=n.align??"left",v=n.x,O=n.y,L=n.gap??.5*p,j=n.below??n.above;if(j){let P=h(j);O=n.below?P.y+P.h+L:P.y-L-x,v===void 0&&(v=C==="center"?P.x+P.w/2:C==="right"?P.x+P.w:P.x)}let T=n.rightOf??n.leftOf;if(T){let P=h(T);n.rightOf?(v=P.x+P.w+L,C="left"):(v=P.x-L,C="right"),O===void 0&&(O=P.y+P.h/2-x/2+.08*p)}v=(v??40)+(n.dx??0),O=(O??40)+(n.dy??0);let S=u.n(.007),s3=n.width??c3(p*.07,1.4,6),U=[];m.forEach((P,z)=>{let V=C==="center"?v-P.w/2:C==="right"?v-P.w:v,X=O+$+z*b,F=([N,W])=>[V+N-W*S,X+W+N*S];P.s.forEach((N,W)=>{let o3=W===0&&z>0?B.word*1.6:N.lift;U.push({pts:N.pts.map(F),lift:o3}),R(t3(U).pts,o3,n,s3,X3)});for(let[N,W]of P.marks){let o3=F([W.x,W.y]),g3=F([W.x+W.w,W.y+W.h]),y3={x:o3[0],y:o3[1],w:g3[0]-o3[0],h:g3[1]-o3[1]};o.set(n.id?`${n.id}.${N}`:N,y3),r.push([n.id?`${n.id}.${N}`:N,y3])}});let Q=i3(U)??{x:v,y:O,w:y,h:x};n.id&&(o.set(n.id,Q),r.push([n.id,Q]))}else if(n.type==="arrow"){let p=n.gap??10,i=n.via??[],k=L=>g(L,null,0),b=i.length?k(i[0]):k(n.to),G=g(n.from,b,p),m=i.map(L=>k(L)),y=g(n.to,m.length?t3(m):G,p),$=d3(G,y),x;if(m.length)x=k3([G,...m,y],12).map(([L,j])=>[L+u.n(.6),j+u.n(.6)]);else{let L=n.bend??u.n(.05),j=-(y[1]-G[1])/($||1),T=(y[0]-G[0])/($||1),S=p3(G,y,.5);x=a3(G,[S[0]+j*L*$,S[1]+T*L*$],y,18)}let C=2.4;R(x,B.letter,n,C,l3);let v=(L,j)=>{let T=Math.atan2(L[1]-j[1],L[0]-j[0]),S=c3(w3(x)*.18,9,17)*((n.width??C)/2.4)**.5,s3=.46+u.n(.06),U=Q=>[L[0]-S*Math.cos(T+Q)+u.n(1),L[1]-S*Math.sin(T+Q)+u.n(1)];R([U(s3),L,U(-s3)],B.letter,n,C,l3)},O=n.head??"end";(O==="end"||O==="both")&&v(t3(x),x[Math.max(0,x.length-4)]),(O==="start"||O==="both")&&v(x[0],x[Math.min(x.length-1,3)])}else if(n.type==="line"){let p=n.points.map((k,b)=>g(k,null,0)),i=n.smooth===!1?p:k3(p,10);R(i.map(([k,b])=>[k+u.n(.5),b+u.n(.5)]),B.letter,n,2.4,l3)}else{let p=n.around??n.under??n.over??n.target;if(p===void 0)throw new Error(`${n.type} needs "around" (an id, a list of ids, or {x,y,w,h})`);let i=h(p),k=2.4,b=(m,y=B.letter)=>R(m,y,n,k,l3),G=n.double?2:1;for(let m=0;m<G;m++){let y=m*7;if(n.type==="circle"){let $=(n.pad??14)+y,x=i.x+i.w/2,C=i.y+i.h/2,v=i.w/2*1.12+$,O=i.h/2*1.2+$,L=3.2,j=u.n(.03),T=u.r()*6,S=Math.PI*1.08+u.n(.25),s3=Math.PI*2+.38+u.n(.12),U=P=>Math.sign(P)*Math.abs(P)**(2/L),Q=[];for(let P=0;P<=80;P++){let z=P/80,V=S+s3*z,X=1+.025*Math.sin(3*V+T)+(z-.5)*.07,F=v*X*U(Math.cos(V)),N=O*X*U(Math.sin(V));Q.push([x+F*Math.cos(j)-N*Math.sin(j),C+F*Math.sin(j)+N*Math.cos(j)])}b(Q)}else if(n.type==="box"){let $=(n.pad??12)+y,x=()=>u.n(3),C=[i.x-$+x(),i.y-$+x()],v=[i.x+i.w+$+x(),i.y-$+x()],O=[i.x+i.w+$+x(),i.y+i.h+$+x()],L=[i.x-$+x(),i.y+i.h+$+x()],j=p3(C,v,.06+u.r()*.04),T=[...Z(C,v,u),...Z(v,O,u).slice(1),...Z(O,L,u).slice(1),...Z(L,[C[0]+u.n(2),C[1]+u.n(2)],u).slice(1),j];b(T)}else if(n.type==="underline"){let $=i.y+i.h+(n.pad??6)+y;b(Z([i.x-4+u.n(3),$+u.n(2)],[i.x+i.w+4+u.n(3),$+u.n(3)],u,8))}else if(n.type==="strike"){let $=i.y+i.h*.55+y;b(Z([i.x-5,$+u.n(3)],[i.x+i.w+5,$+u.n(3)],u,8))}else{let $=n.side??"bottom",x=(n.pad??8)+y,v=$==="top"||$==="bottom"?i.w+6:i.h+6,O=n.type==="bracket"?c3(v*.12,6,14):c3(v*.08,7,16),L;if(n.type==="bracket")L=[[0,-O+u.n(1.5)],[u.n(1),u.n(1)],...Z([0,0],[v,u.n(1.5)],u,6).slice(1,-1),[v+u.n(1),u.n(1)],[v,-O+u.n(1.5)]];else{let T=v/2,S=O;L=[...a3([0,-S*.3],[0,S*.5],[S,S*.5],6),...a3([T-S,S*.5],[T,S*.5],[T,S*1.2],6),...a3([T,S*1.2],[T,S*.5],[T+S,S*.5],6).slice(1),...a3([v-S,S*.5],[v,S*.5],[v,-S*.3],6)]}let j=([T,S])=>{switch($){case"top":return[i.x-3+T,i.y-x-S];case"left":return[i.x-x-S,i.y-3+T];case"right":return[i.x+i.w+x+S,i.y-3+T];default:return[i.x-3+T,i.y+i.h+x+S]}};b(L.map(j))}}if(n.id){let m=i3(I)??i;o.set(n.id,m),r.push([n.id,m])}}if(n.type!=="text"&&n.id&&!o.has(n.id)){let p=i3(I);p&&(o.set(n.id,p),r.push([n.id,p]))}}catch(p){throw new Error(`items[${E}] (${n.type}${"id"in n&&n.id?` "${n.id}"`:""}): ${p.message}`)}a.push({strokes:I,item:n})});let M=e.speed??1,w=700,q=380,Y=[],H=w,J=w,K=null,_=!0;for(let{strokes:n,item:E}of a){if(E.type==="pause"){H+=E.ms/M;continue}if(!n.length)continue;let u=E,I=u.with==="prev"?J:H+(_?0:q/M)+(u.wait??0)/M;J=I,_=!1;for(let R of n){let p=K?d3(K,R.pts[0]):0;I+=(R.lift+Math.min(420,p/(R.pen*2.4)*1e3))/M;let i=Math.max(40,R.len/R.pen*1e3)/M;Y.push({...R,t0:I,dur:i}),I+=i,K=t3(R.pts)}H=Math.max(H,I)}let D=i3(Y),A=e.padding??40,n3=e.height??Math.max(160,Math.ceil((D?D.y+D.h:0)+A));return{strokes:Y,width:t,height:n3,end:H,debug:r}}var U3=`
|
|
3
|
-
.
|
|
4
|
-
.
|
|
5
|
-
.
|
|
6
|
-
.
|
|
7
|
-
.
|
|
8
|
-
.
|
|
9
|
-
.
|
|
10
|
-
.
|
|
11
|
-
.
|
|
12
|
-
.
|
|
13
|
-
.
|
|
14
|
-
.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<
|
|
19
|
-
|
|
1
|
+
"use strict";var Sketch=(()=>{var v1=Object.defineProperty;var F1=Object.getOwnPropertyDescriptor;var j1=Object.getOwnPropertyNames;var V1=Object.prototype.hasOwnProperty;var W1=(e,t)=>{for(var n in t)v1(e,n,{get:t[n],enumerable:!0})},_1=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of j1(t))!V1.call(e,a)&&a!==n&&v1(e,a,{get:()=>t[a],enumerable:!(r=F1(t,a))||r.enumerable});return e};var Z1=e=>_1(v1({},"__esModule",{value:!0}),e);var l3={};W1(l3,{board:()=>D1,colors:()=>O1,fonts:()=>C1,mount:()=>i3,version:()=>U1});var S1={\u0391:[720,"360,-700 93,0;360,-700 627,0;193,-233 527,-233"],\u0392:[787,"193,-700 193,0;193,-700 493,-700 593,-667 627,-633 660,-567 660,-500 627,-433 593,-400 493,-367;193,-367 493,-367 593,-333 627,-300 660,-233 660,-133 627,-67 593,-33 493,0 193,0"],\u03A7:[787,"160,-700 627,0;160,0 627,-700"],\u0394:[720,"360,-700 93,0;360,-700 627,0;93,0 627,0"],\u0395:[720,"193,-700 193,0;193,-700 627,-700;193,-367 460,-367;193,0 627,0"],\u03A6:[787,"393,-700 393,0;327,-533 227,-500 193,-467 160,-400 160,-300 193,-233 227,-200 327,-167 460,-167 560,-200 593,-233 627,-300 627,-400 593,-467 560,-500 460,-533 327,-533"],\u0393:[587,"193,-700 193,0;193,-700 593,-700"],\u0397:[853,"193,-700 193,0;660,-700 660,0;193,-367 660,-367"],\u0399:[387,"193,-700 193,0"],\u039A:[787,"193,-700 193,0;660,-700 193,-233;360,-400 660,0"],\u039B:[720,"360,-700 93,0;360,-700 627,0"],\u039C:[920,"193,-700 193,0;193,-700 460,0;727,-700 460,0;727,-700 727,0"],\u039D:[853,"193,-700 193,0;193,-700 660,0;660,-700 660,0"],\u039F:[853,"360,-700 293,-667 227,-600 193,-533 160,-433 160,-267 193,-167 227,-100 293,-33 360,0 493,0 560,-33 627,-100 660,-167 693,-267 693,-433 660,-533 627,-600 560,-667 493,-700 360,-700"],\u03A0:[853,"193,-700 193,0;660,-700 660,0;193,-700 660,-700"],\u0398:[853,"360,-700 293,-667 227,-600 193,-533 160,-433 160,-267 193,-167 227,-100 293,-33 360,0 493,0 560,-33 627,-100 660,-167 693,-267 693,-433 660,-533 627,-600 560,-667 493,-700 360,-700;327,-367 527,-367"],\u03A1:[787,"193,-700 193,0;193,-700 493,-700 593,-667 627,-633 660,-567 660,-467 627,-400 593,-367 493,-333 193,-333"],\u03A3:[720,"127,-700 360,-367 127,0;127,-700 593,-700;127,0 593,0"],\u03A4:[653,"327,-700 327,0;93,-700 560,-700"],\u03A5:[720,"127,-533 127,-600 160,-667 193,-700 260,-700 293,-667 327,-600 360,-467 360,0;593,-533 593,-600 560,-667 527,-700 460,-700 427,-667 393,-600 360,-467"],\u03A9:[787,"160,0 293,0 193,-233 160,-367 160,-500 193,-600 260,-667 360,-700 427,-700 527,-667 593,-600 627,-500 627,-367 593,-233 493,0 627,0"],\u039E:[720,"127,-700 593,-700;260,-367 460,-367;127,0 593,0"],\u03A8:[853,"427,-700 427,0;127,-500 160,-500 193,-467 227,-333 260,-267 293,-233 393,-200 460,-200 560,-233 593,-267 627,-333 660,-467 693,-500 727,-500"],\u0396:[787,"627,-700 160,0;160,-700 627,-700;160,0 627,0"],\u03B1:[853,"360,-467 293,-433 227,-367 193,-300 160,-200 160,-100 193,-33 260,0 327,0 393,-33 493,-133 560,-233 627,-367 660,-467;360,-467 427,-467 460,-433 493,-367 560,-100 593,-33 627,0 660,0"],\u03B2:[787,"460,-700 393,-667 327,-600 260,-467 227,-367 193,-233 160,-33 127,233;460,-700 527,-700 593,-633 593,-533 560,-467 527,-433 460,-400 360,-400;360,-400 427,-367 493,-300 527,-233 527,-133 493,-67 460,-33 393,0 327,0 260,-33 227,-67 193,-167"],\u03C7:[720,"127,-467 193,-467 260,-400 460,167 527,233 593,233;627,-467 593,-400 527,-300 193,67 127,167 93,233"],\u03B4:[720,"427,-467 327,-467 260,-433 193,-367 160,-267 160,-167 193,-67 227,-33 293,0 360,0 427,-33 493,-100 527,-200 527,-300 493,-400 427,-467 360,-533 327,-600 327,-667 360,-700 427,-700 493,-667 560,-600"],\u03B5:[653,"493,-400 460,-433 393,-467 293,-467 227,-433 227,-367 260,-300 360,-267;360,-267 227,-233 160,-167 160,-100 193,-33 260,0 360,0 427,-33 493,-100"],\u03C6:[853,"327,-433 260,-400 193,-333 160,-233 160,-133 193,-67 227,-33 293,0 393,0 493,-33 593,-100 660,-200 693,-300 693,-400 627,-467 560,-467 493,-400 427,-267 360,-100 260,233"],\u03B3:[787,"93,-367 160,-433 227,-467 260,-467 327,-433 360,-400 393,-300 393,-167 360,0;627,-467 593,-367 560,-300 360,0 293,133 260,233"],\u03B7:[787,"93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 260,-233 193,0;260,-233 327,-367 393,-433 460,-467 527,-467 593,-400 593,-300 560,-133 460,233"],\u03B9:[453,"260,-467 193,-233 160,-100 160,-33 193,0 260,0 327,-67 360,-133"],\u03BA:[720,"260,-467 127,0;593,-433 560,-467 527,-467 460,-433 327,-300 260,-267 227,-267;227,-267 293,-233 327,-200 393,-33 427,0 460,0 493,-33"],\u03BB:[653,"93,-700 160,-700 227,-667 260,-633 527,0;327,-467 127,0"],\u03BC:[853,"293,-467 93,233;260,-333 227,-167 227,-67 293,0 360,0 427,-33 493,-100 560,-233;627,-467 560,-233 527,-100 527,-33 560,0 627,0 693,-67 727,-133"],\u03BD:[720,"160,-467 260,-467 227,-267 193,-100 160,0;593,-467 560,-367 527,-300 460,-200 360,-100 260,-33 160,0"],\u03BF:[720,"327,-467 260,-433 193,-367 160,-267 160,-167 193,-67 227,-33 293,0 360,0 427,-33 493,-100 527,-200 527,-300 493,-400 460,-433 393,-467 327,-467"],\u03C0:[853,"360,-467 227,0;527,-467 560,-267 593,-100 627,0;127,-367 193,-433 293,-467 727,-467"],\u03B8:[787,"93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 260,-200 260,-100 293,-33 327,0 393,0 460,-33 527,-133 560,-200 593,-300 627,-467 627,-567 593,-667 527,-700 460,-700 427,-633 427,-567 460,-467 527,-367 593,-300 693,-233"],\u03C1:[720,"193,-267 193,-167 227,-67 260,-33 327,0 393,0 460,-33 527,-100 560,-200 560,-300 527,-400 493,-433 427,-467 360,-467 293,-433 227,-367 193,-267 60,233"],\u03C3:[853,"660,-467 327,-467 260,-433 193,-367 160,-267 160,-167 193,-67 227,-33 293,0 360,0 427,-33 493,-100 527,-200 527,-300 493,-400 460,-433 393,-467"],\u03C4:[787,"427,-467 327,0;127,-367 193,-433 293,-467 660,-467"],\u03C5:[787,"93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 227,-167 227,-67 293,0 360,0 460,-33 527,-100 593,-233 627,-367 627,-467"],\u03C9:[853,"327,-467 260,-433 193,-333 160,-233 160,-133 193,-33 227,0 293,0 360,-33 427,-133;460,-267 427,-133 460,-33 493,0 560,0 627,-33 693,-133 727,-233 727,-333 693,-433 660,-467"],\u03BE:[653,"393,-700 327,-667 293,-633 293,-600 327,-567 427,-533 527,-533;427,-533 327,-500 260,-467 227,-400 227,-333 293,-267 393,-233 460,-233;393,-233 260,-200 193,-167 160,-100 160,-33 227,33 360,100 393,133 393,200 327,233 260,233"],\u03C8:[853,"593,-700 327,233;93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 260,-200 260,-100 293,-33 360,0 427,0 527,-33 593,-100 660,-200 727,-367 760,-467"],\u03B6:[587,"393,-700 327,-667 293,-633 293,-600 327,-567 427,-533 527,-533;527,-533 393,-467 293,-400 193,-300 160,-200 160,-133 193,-67 260,0 360,67 393,133 393,200 360,233 293,233 260,167"],\u03D1:[787,"93,-333 127,-400 193,-467 260,-467 293,-433 293,-367 260,-200 260,-100 293,-33 327,0 393,0 460,-33 527,-133 560,-200 593,-300 627,-467 627,-567 593,-667 527,-700 460,-700 427,-633 427,-567 460,-467 527,-367 593,-300 693,-233"],"\xB1":[920,"460,-567 460,0;193,-300 727,-300;193,0 727,0"],"\u2213":[920,"460,-567 460,0;193,-567 727,-567;193,-300 727,-300"],"\xD7":[853,"193,-533 660,-67;660,-533 193,-67"],"\u22C5":[320,"127,-333 127,-300 160,-300 160,-333 127,-333"],"\u2264":[920,"727,-700 193,-467 727,-233;193,-167 727,-167;193,0 727,0"],"\u2265":[920,"193,-700 727,-467 193,-233;193,-167 727,-167;193,0 727,0"],"\u220F":[1253,"293,-833 293,233;327,-833 327,233;927,-833 927,233;960,-833 960,233;160,-833 1093,-833;160,233 460,233;793,233 1093,233"],"\u2211":[1120,"227,-833 560,-367 193,233;193,-833 527,-367;160,-833 527,-333;160,-833 927,-833 993,-600 893,-833;227,200 927,200;193,233 927,233 993,0 893,233"],"\u2260":[987,"727,-600 260,0;193,-400 793,-400;193,-200 793,-200"],"\u2261":[987,"193,-467 793,-467;193,-300 793,-300;193,-133 793,-133"],"\u221D":[987,"760,-133 693,-133 627,-167 560,-233 460,-367 427,-400 360,-433 293,-433 227,-400 193,-333 193,-267 227,-200 293,-167 360,-167 427,-200 460,-233 560,-367 627,-433 693,-467 760,-467"],"\u221E":[987,"793,-267 760,-200 693,-167 627,-167 560,-200 527,-233 427,-367 393,-400 327,-433 260,-433 193,-400 160,-333 160,-267 193,-200 260,-167 327,-167 393,-200 427,-233 527,-367 560,-400 627,-433 693,-433 760,-400 793,-333 793,-267"],"\u221A":[720,"160,-467 293,-467 493,-67;260,-467 493,0;793,-833 493,0"],"\u2282":[920,"727,-567 493,-567 360,-533 293,-500 227,-433 193,-333 193,-267 227,-167 293,-100 360,-67 493,-33 727,-33"],"\u222A":[920,"193,-567 193,-333 227,-200 260,-133 327,-67 427,-33 493,-33 593,-67 660,-133 693,-200 727,-333 727,-567"],"\u2283":[920,"193,-567 427,-567 560,-533 627,-500 693,-433 727,-333 727,-267 693,-167 627,-100 560,-67 427,-33 193,-33"],"\u2229":[920,"193,-33 193,-267 227,-400 260,-467 327,-533 427,-567 493,-567 593,-533 660,-467 693,-400 727,-267 727,-33"],"\u2208":[920,"727,-567 493,-567 360,-533 293,-500 227,-433 193,-333 193,-267 227,-167 293,-100 360,-67 493,-33 727,-33;193,-300 593,-300"],"\u2192":[987,"693,-367 793,-300 693,-233;593,-467 760,-300 593,-133;193,-300 760,-300"],"\u2191":[653,"260,-500 327,-600 393,-500;160,-400 327,-567 493,-400;327,-567 327,0"],"\u2190":[987,"293,-367 193,-300 293,-233;393,-467 227,-300 393,-133;227,-300 793,-300"],"\u2193":[653,"260,-100 327,0 393,-100;160,-200 327,-33 493,-200;327,-600 327,-33"],"\u2202":[787,"560,-300 527,-400 493,-433 427,-467 360,-467 260,-433 193,-333 160,-233 160,-133 193,-67 227,-33 293,0 360,0 460,-33 527,-100 560,-200 593,-367 593,-533 560,-633 527,-667 460,-700 360,-700 293,-667 260,-633 260,-600 293,-600 293,-633;360,-467 293,-433 227,-333 193,-233 193,-100 227,-33;360,0 427,-33 493,-100 527,-200 560,-367 560,-533 527,-633 460,-700"],"\u2207":[787,"127,-700 393,0;160,-700 393,-67;660,-700 393,0;127,-700 660,-700;160,-667 627,-667"],"\u222B":[920,"760,-800 727,-767 760,-733 793,-767 793,-800 760,-833 693,-833 627,-800 560,-733 527,-667 493,-567 460,-433 393,-33 360,100 327,167;593,-767 560,-700 527,-567 460,-167 427,-33 393,67 360,133 293,200 227,233 160,233 127,200 127,167 160,133 193,167 160,200"],"\u2203":[787,"560,-700 560,0;127,-700 560,-700;293,-367 560,-367;127,0 560,0"],\u2135:[787,"160,-600 193,-533 593,-133 627,-67 627,0;193,-500 593,-100;160,-600 160,-533 193,-467 593,-67 627,0;327,-367 193,-233 160,-167 160,-100 193,-33 160,0;160,-167 227,-33;193,-233 193,-167 227,-100 227,-33 160,0;427,-267 593,-433;527,-600 527,-500 560,-433 627,-433 627,-500 560,-533 527,-600;527,-600 560,-500 627,-433"],"\xF7":[987,"493,-600 460,-567 493,-533 527,-567 493,-600;193,-300 793,-300;493,-67 460,-33 493,0 527,-33 493,-67"],"\u2016":[587,"193,-833 193,233;393,-833 393,233"],"\u22A5":[920,"460,-833 460,0;160,0 760,0"],"\u2220":[920,"760,-833 160,0 760,0"],"\u2234":[987,"493,-600 460,-567 493,-533 527,-567 493,-600;193,-67 160,-33 193,0 227,-33 193,-67;793,-67 760,-33 793,0 827,-33 793,-67"],"\xB7":[320,"127,-333 127,-300 160,-300 160,-333 127,-333"]},x1={readability:{0:[687,"339,-26 423,-44 512,-132 551,-225 569,-330 577,-476 569,-613 537,-745 493,-829 423,-882 360,-904 309,-900 225,-851 167,-771 127,-644 114,-511 110,-379 127,-256 171,-132 225,-75 278,-31 339,-26"],1:[657,"327,-837 181,-833 331,-890 331,-44 110,-44 547,-44"],2:[706,"106,-781 164,-837 234,-882 322,-904 398,-890 476,-851 525,-785 547,-687 542,-605 498,-503 419,-388 322,-269 234,-176 154,-88 115,-44 613,-44"],3:[688,"123,-806 195,-860 287,-900 361,-900 441,-878 507,-825 538,-755 552,-671 529,-595 454,-538 371,-494 300,-480 246,-480 314,-480 384,-472 454,-445 529,-388 564,-335 578,-273 574,-207 560,-154 517,-93 454,-53 375,-31 291,-31 211,-53 132,-97 84,-141"],4:[706,"476,-22 476,-882 66,-308 622,-308"],5:[701,"84,-137 141,-88 203,-53 273,-26 340,-22 441,-48 511,-106 568,-189 591,-287 578,-402 529,-490 428,-547 326,-556 252,-538 176,-498 168,-511 195,-882 556,-882"],6:[688,"110,-371 176,-441 256,-503 335,-529 424,-529 489,-498 538,-454 573,-371 586,-273 565,-172 516,-88 440,-35 352,-22 274,-48 202,-101 145,-189 119,-314 110,-445 128,-613 159,-714 198,-794 264,-860 348,-895 432,-900 512,-874 569,-825"],7:[706,"314,-26 330,-260 365,-428 414,-574 476,-687 542,-794 609,-886 102,-886"],8:[701,"414,-449 503,-521 556,-599 568,-675 564,-755 507,-847 419,-895 349,-900 242,-869 172,-798 154,-718 176,-609 246,-542 371,-476 484,-414 560,-357 595,-277 587,-181 560,-110 476,-44 371,-22 287,-35 199,-75 132,-146 110,-221 119,-330 189,-428 246,-468 322,-503"],9:[692,"123,-106 172,-57 252,-31 335,-22 423,-66 507,-150 556,-277 578,-433 578,-578 547,-714 494,-820 410,-882 314,-900 211,-864 150,-802 115,-724 106,-644 110,-556 158,-463 246,-406 353,-392 468,-441 538,-507 582,-564"]," ":[423,""],"!":[260,"141,-944 141,-269;110,-97 110,-26 176,-26 176,-97 110,-97"],'"':[421,"110,-970 114,-687;303,-970 311,-687"],"#":[701,"283,-909 172,-22;533,-909 423,-22;102,-626 630,-626;75,-344 599,-344"],$:[656,"525,-812 454,-874 380,-890 335,-895 335,-1046 335,-895 243,-878 173,-812 146,-736 150,-644 185,-578 255,-525 411,-445 472,-398 520,-349 546,-269 546,-203 525,-119 450,-57 357,-26 335,-26 335,119 335,-26 265,-35 177,-71 110,-123"],"%":[1159,"269,-398 335,-410 388,-454 423,-525 441,-622 445,-693 423,-790 388,-864 344,-909 291,-931 234,-927 168,-886 128,-825 110,-750 106,-599 119,-521 150,-459 195,-419 230,-402 269,-398;886,-18 952,-31 1001,-79 1040,-146 1054,-242 1058,-314 1040,-414 1005,-490 962,-533 904,-556 847,-547 785,-511 741,-449 728,-375 718,-225 736,-141 767,-84 806,-44 847,-22 886,-18;326,-13 829,-939"],"&":[837,"781,-31 679,-75 568,-168 454,-277 379,-371 287,-517 242,-622 230,-759 242,-837 291,-900 361,-927 445,-913 494,-869 517,-798 503,-724 459,-648 402,-599 234,-472 176,-419 123,-349 97,-273 110,-189 154,-97 242,-44 353,-22 437,-44 533,-101 605,-185 666,-269 714,-379 750,-476"],"'":[228,"110,-970 118,-687"],"(":[365,"277,207 207,75 145,-97 123,-203 110,-357 110,-503 131,-630 163,-755 211,-886 250,-962 282,-1005"],")":[375,"88,211 164,71 221,-79 246,-225 265,-406 242,-582 225,-697 195,-802 141,-909 88,-1009"],"*":[537,"173,-683 269,-825 427,-878 269,-825 269,-993 269,-825 110,-878 269,-825 380,-679"],"+":[701,"349,-776 349,-172;79,-476 630,-476"],",":[326,"194,-35 141,-35 141,-106 194,-106 216,-26 211,40 184,97 149,132 110,168"],"-":[459,"79,-365 365,-365"],".":[290,"110,-101 110,-31 180,-31 180,-101 110,-101"],"/":[533,"62,199 480,-993"],":":[286,"110,-636 110,-568 176,-568 176,-636 110,-636;110,-101 110,-35 176,-35 176,-101 110,-101"],";":[326,"132,-636 132,-564 202,-564 202,-636 132,-636;194,-35 141,-35 141,-106 194,-106 216,-26 211,40 190,97 149,132 110,168"],"<":[706,"630,-256 75,-480 630,-706"],"=":[706,"71,-617 630,-617;71,-335 630,-335"],">":[697,"79,-256 630,-484 79,-706"],"?":[586,"238,-101 238,-31 308,-31 308,-101 238,-101;265,-283 273,-365 308,-454 406,-587 463,-679 476,-759 459,-837 414,-900 361,-935 287,-944 211,-931 150,-900 97,-851"],"@":[1155,"758,-578 701,-242 631,-172 559,-137 475,-132 401,-189 379,-283 405,-423 479,-533 582,-587 670,-568 713,-529 740,-476 701,-234 709,-181 785,-123 885,-132 969,-203 1027,-295 1045,-410 1041,-529 1004,-657 943,-750 864,-820 736,-864 600,-874 479,-851 344,-781 247,-687 180,-587 127,-454 110,-340 110,-242 141,-110 194,-4 303,93 401,137 537,164 666,158 785,97"],A:[767,"57,-22 388,-927 582,-357 185,-357 582,-357 701,-22"],B:[763,"110,-40 110,-904 366,-904 440,-900 516,-869 577,-812 595,-745 595,-666 565,-595 497,-547 440,-521 362,-507 118,-507 366,-507 440,-494 528,-472 600,-423 639,-379 653,-318 653,-230 616,-146 555,-93 446,-48 366,-40 118,-40"],C:[807,"710,-137 618,-66 493,-22 370,-40 255,-101 167,-207 123,-318 110,-484 123,-640 181,-767 269,-864 370,-913 485,-921 587,-900 657,-855 679,-829"],D:[780,"110,-44 110,-904 358,-904 458,-878 534,-837 586,-785 649,-683 670,-568 670,-498 666,-406 653,-300 618,-225 555,-132 458,-75 366,-48 296,-44 114,-44"],E:[680,"577,-44 110,-44 110,-498 499,-498 110,-498 110,-900 561,-900"],F:[626,"110,-26 110,-484 503,-484 110,-484 110,-900 561,-900"],G:[825,"471,-441 715,-441 715,-115 658,-75 534,-31 446,-26 358,-44 278,-88 186,-195 124,-326 110,-480 128,-630 186,-763 278,-864 371,-909 477,-927 592,-909 662,-869 711,-829"],H:[780,"110,-31 110,-913 110,-503 670,-503 670,-909 670,-31"],I:[220,"110,-26 110,-913"],J:[608,"110,-141 154,-88 207,-48 277,-22 365,-35 449,-93 490,-176 498,-242 498,-917"],K:[741,"110,-26 110,-917;612,-909 124,-357;335,-595 666,-26"],L:[612,"110,-917 110,-44 551,-44"],M:[868,"110,-22 110,-917 154,-917 440,-137 727,-913 758,-913 758,-26"],N:[776,"110,-31 110,-909 141,-909 666,-31 666,-913"],O:[908,"450,-31 564,-48 679,-123 758,-242 798,-398 798,-542 776,-661 732,-759 661,-851 564,-909 466,-927 384,-913 290,-878 203,-802 136,-675 114,-574 110,-423 128,-308 171,-203 234,-119 304,-62 380,-35 450,-31"],P:[736,"114,-22 114,-909 428,-909 507,-886 565,-843 608,-785 626,-697 622,-617 586,-529 520,-476 428,-441 323,-437 110,-437"],Q:[931,"450,-22 547,-44 648,-97 732,-185 781,-308 799,-414 799,-538 781,-666 746,-755 666,-851 565,-909 471,-931 375,-913 282,-874 203,-794 155,-710 124,-578 110,-476 119,-379 151,-265 198,-168 260,-101 336,-53 410,-31 450,-26 490,53 547,110 609,146 688,168 758,172 824,158"],R:[732,"110,-26 110,-909 405,-909 476,-886 555,-847 612,-759 612,-683 600,-599 546,-525 481,-484 374,-459 114,-459 366,-459 622,-26"],S:[763,"110,-150 185,-88 256,-53 344,-35 445,-31 556,-75 630,-141 657,-230 652,-308 605,-388 503,-454 322,-533 221,-599 168,-671 164,-759 199,-851 300,-913 398,-927 490,-917 560,-882 626,-833"],T:[767,"384,-31 384,-909 79,-909 693,-909"],U:[772,"110,-917 110,-304 124,-225 163,-141 216,-84 296,-40 370,-22 463,-35 557,-84 622,-164 653,-234 662,-330 662,-913"],V:[718,"62,-917 357,-26 652,-913"],W:[1107,"93,-917 300,-26 318,-31 547,-913 564,-913 798,-26 816,-26 1014,-917"],X:[710,"79,-26 609,-917;106,-921 626,-26"],Y:[661,"62,-917 330,-384 330,-31 330,-388 595,-913"],Z:[785,"141,-909 671,-909 110,-40 687,-40"],"[":[357,"294,172 110,172 110,-979 294,-979"],"\\":[538,"57,-988 476,199"],"]":[356,"62,168 246,168 246,-983 62,-983"],"^":[639,"110,-437 318,-944 529,-423"],_:[741,"40,115 701,115"],"`":[349,"110,-993 239,-820"],a:[651,"137,-599 229,-652 308,-675 387,-683 449,-661 502,-613 537,-542 541,-445 541,-150 541,-31 537,-150 480,-110 418,-66 348,-35 268,-22 203,-44 149,-79 110,-137 110,-221 141,-287 211,-344 281,-371 365,-398 445,-410 494,-414 533,-414"],b:[714,"110,-1005 110,-22 110,-141 159,-101 233,-53 313,-31 392,-26 485,-79 543,-141 586,-230 604,-340 599,-449 578,-552 512,-636 455,-666 375,-683 291,-666 207,-622 119,-552"],c:[648,"565,-101 494,-48 389,-26 291,-40 190,-106 133,-199 110,-308 110,-423 145,-529 217,-613 301,-661 393,-675 471,-661 525,-636 547,-609"],d:[718,"604,-1001 604,-31 604,-164 543,-101 459,-44 375,-22 305,-35 233,-66 163,-141 119,-242 110,-365 141,-511 216,-622 321,-675 405,-683 494,-652 551,-617 608,-564"],e:[701,"118,-371 604,-371 604,-449 582,-552 516,-630 449,-675 356,-679 264,-652 184,-587 153,-521 118,-437 110,-349 132,-242 171,-146 251,-66 325,-31 418,-22 498,-44 573,-84"],f:[406,"189,-26 189,-661 84,-661 357,-661 185,-661 185,-855 199,-921 242,-988 308,-1014 365,-1005 406,-988"],g:[705,"229,-57 163,4 119,79 110,158 172,225 274,269 393,283 498,256 604,185 643,119 639,44 600,-26 502,-53 233,-53 176,-93 149,-154 163,-211 237,-295 286,-265 362,-252 454,-283 520,-344 551,-419 551,-507 516,-587 489,-622 428,-661 639,-661 428,-661 362,-675 260,-666 190,-609 149,-529 145,-441 163,-371 198,-326 237,-291"],h:[661,"110,-31 110,-1001 110,-511 176,-582 234,-636 318,-671 402,-679 498,-626 533,-564 551,-463 551,-26"],i:[290,"149,-22 149,-671;110,-939 110,-869 180,-869 180,-939 110,-939"],j:[326,"-13,260 -4,260 44,273 110,269 168,230 185,158 185,-675;146,-935 146,-869 216,-869 216,-935 146,-935"],k:[617,"110,-22 110,-1005;498,-671 114,-207;295,-428 547,-22"],l:[295,"110,-1001 110,-88 118,-57 132,-40 154,-26 185,-26"],m:[1049,"110,-22 110,-671 110,-525 172,-578 229,-626 282,-661 348,-679 406,-671 445,-652 490,-609 520,-533 529,-441 529,-22 529,-511 547,-547 639,-630 709,-666 767,-683 828,-666 869,-644 917,-587 939,-472 939,-26"],n:[657,"110,-22 110,-675 110,-517 172,-578 229,-630 274,-657 340,-675 383,-679 451,-661 490,-636 521,-591 547,-529 547,-22"],o:[749,"384,-26 388,-26 476,-48 560,-106 612,-195 634,-291 639,-384 626,-468 595,-542 550,-599 489,-652 423,-675 361,-679 290,-666 224,-626 167,-560 136,-498 110,-406 110,-335 119,-252 140,-176 193,-106 255,-57 322,-31 384,-26"],p:[714,"110,273 110,-675 110,-533 184,-609 273,-657 348,-671 441,-671 512,-630 574,-542 604,-441 604,-326 590,-230 543,-128 471,-62 418,-35 336,-31 268,-44 194,-84 123,-132"],q:[714,"604,269 604,-671 604,-574 524,-630 440,-666 335,-675 237,-636 172,-556 128,-459 110,-379 114,-300 123,-216 159,-132 216,-75 278,-40 362,-22 454,-48 538,-101 600,-154"],r:[405,"110,-26 110,-675 110,-476 150,-556 212,-636 278,-666 339,-675 378,-671"],s:[599,"93,-110 172,-57 260,-31 330,-22 419,-53 484,-106 507,-185 490,-265 410,-330 300,-375 199,-419 141,-476 128,-542 150,-605 221,-666 308,-679 398,-661 472,-617"],t:[468,"419,-53 371,-31 308,-31 252,-48 203,-106 195,-203 195,-657 66,-657 406,-657 195,-657 195,-855"],u:[647,"537,-666 537,-26 537,-195 489,-137 432,-79 352,-35 277,-22 198,-44 145,-88 114,-146 110,-256 110,-666"],v:[644,"75,-679 318,-22 335,-22 578,-679"],w:[983,"84,-675 277,-13 295,-13 480,-675 507,-675 693,-13 710,-13 900,-675"],x:[609,"71,-13 511,-679;97,-679 542,-13"],y:[644,"75,-671 340,-4;568,-666 295,110 265,176 221,225 168,256 75,256"],z:[595,"110,-652 503,-652 88,-44 533,-44"],"{":[433,"371,172 304,176 234,141 203,71 221,-300 203,-349 168,-384 137,-398 79,-402 150,-419 203,-449 211,-507 207,-878 221,-939 283,-979 371,-979"],"|":[220,"110,308 110,-1036"],"}":[433,"62,172 146,168 207,137 225,53 216,-291 234,-357 269,-388 322,-406 344,-406 291,-423 242,-441 221,-490 221,-617 234,-882 195,-958 137,-983 66,-983"],"~":[706,"106,-454 154,-511 211,-538 283,-538 349,-480 423,-423 468,-406 521,-414 560,-449 599,-490"],"\xA0":[529,""],"\xA1":[286,"145,-26 145,-701;176,-874 176,-944 110,-944 110,-874 176,-874"],"\xA2":[525,"565,-101 494,-48 389,-26 291,-40 190,-106 133,-199 110,-308 110,-423 145,-529 217,-613 301,-661 393,-675 471,-661 525,-636 547,-609;331,308 331,-1036"],"\xA5":[661,"62,-917 330,-384 330,-31 330,-388 595,-913;211,-277 498,-277;211,-454 498,-454"],"\xA6":[70,"110,93 110,-311;110,-568 110,-973"],"\xA8":[638,"110,-983 110,-913 181,-913 181,-983 110,-983;468,-983 468,-913 538,-913 538,-983 468,-983"],"\xA9":[908,"450,-31 564,-48 679,-123 758,-242 798,-398 798,-542 776,-661 732,-759 661,-851 564,-909 466,-927 384,-913 290,-878 203,-802 136,-675 114,-574 110,-423 128,-308 171,-203 234,-119 304,-62 380,-35 450,-31;611,-288 564,-253 503,-231 441,-241 384,-272 339,-325 317,-379 311,-463 317,-540 346,-605 389,-652 441,-678 499,-682 549,-671 584,-648 595,-636"],\u00AA:[287,"124,-1138 171,-1165 210,-1175 250,-1180 281,-1169 306,-1144 325,-1109 327,-1061 327,-913 327,-854 325,-913 297,-893 266,-871 229,-855 190,-848 157,-860 130,-878 110,-906 110,-948 126,-981 162,-1009 197,-1023 239,-1036 278,-1043 302,-1046 323,-1046"],"\xAB":[384,"203,11 48,-297 196,-592;379,11 224,-297 372,-592"],"\xAE":[908,"450,-31 564,-48 679,-123 758,-242 798,-398 798,-542 776,-661 732,-759 661,-851 564,-909 466,-927 384,-913 290,-878 203,-802 136,-675 114,-574 110,-423 128,-308 171,-203 234,-119 304,-62 380,-35 450,-31;338,-234 338,-675 485,-675 520,-664 560,-644 588,-599 588,-563 581,-521 556,-483 522,-463 469,-449 339,-449 465,-449 592,-234"],"\xB0":[277,"212,-804 245,-808 280,-830 304,-867 317,-913 317,-956 310,-993 296,-1022 275,-1049 245,-1067 217,-1071 192,-1068 164,-1057 138,-1035 118,-997 111,-966 110,-921 115,-886 128,-854 147,-830 168,-812 191,-805 212,-804"],"\xB1":[511,"110,-28 339,-28;325,-886 325,-402;110,-645 551,-645"],"\xB2":[323,"110,-1228 139,-1257 174,-1280 218,-1289 256,-1284 296,-1263 320,-1231 331,-1182 328,-1140 306,-1089 267,-1032 218,-973 174,-927 135,-882 114,-860 363,-860"],"\xB3":[318,"131,-1242 166,-1268 212,-1288 250,-1288 289,-1277 323,-1250 338,-1215 344,-1173 332,-1135 296,-1107 254,-1085 219,-1078 192,-1078 225,-1078 261,-1074 296,-1061 332,-1032 351,-1005 358,-974 355,-942 349,-916 327,-885 296,-864 255,-854 213,-854 174,-864 135,-886 110,-909"],"\xB4":[346,"286,-1102 110,-862"],"\xB7":[299,"110,-545 110,-461 194,-461 194,-545 110,-545"],"\xB9":[289,"218,-1257 145,-1254 219,-1284 219,-860 110,-860 329,-860"],\u00BA:[277,"212,-804 245,-808 280,-830 304,-867 317,-913 317,-956 310,-993 296,-1022 275,-1049 245,-1067 217,-1071 192,-1068 164,-1057 138,-1035 118,-997 111,-966 110,-921 115,-886 128,-854 147,-830 168,-812 191,-805 212,-804"],"\xBB":[447,"86,14 242,-335 53,-596;263,14 419,-335 230,-596"],"\xBC":[995,"223,-1032 135,-1029 225,-1064 225,-556 93,-556 354,-556;371,110 790,-1081;948,-13 948,-529 701,-185 1035,-185"],"\xBD":[989,"223,-1032 135,-1029 225,-1064 225,-556 93,-556 354,-556;371,110 790,-1081;725,-469 759,-503 802,-529 854,-542 900,-535 948,-511 976,-470 990,-413 987,-363 960,-301 913,-232 854,-161 802,-106 755,-53 731,-26 1029,-26"],"\xBE":[995,"74,-1014 116,-1046 172,-1070 217,-1070 265,-1056 304,-1023 323,-981 330,-931 318,-886 273,-853 223,-826 181,-818 148,-818 188,-818 230,-812 273,-797 318,-762 339,-731 347,-693 344,-654 336,-622 309,-585 273,-561 225,-547 175,-547 127,-561 79,-588 50,-613;371,110 790,-1081;948,-13 948,-529 701,-185 1035,-185"],"\xBF":[586,"335,-874 335,-944 265,-944 265,-874 335,-874;308,-693 300,-609 265,-521 168,-388 110,-295 97,-216 115,-137 158,-75 211,-40 287,-31 361,-44 423,-75 476,-123"],\u00C0:[767,"57,-22 388,-927 582,-357 185,-357 582,-357 701,-22;207,-1389 335,-1217"],\u00C1:[767,"57,-22 388,-927 582,-357 185,-357 582,-357 701,-22;633,-1385 456,-1147"],\u00C2:[767,"57,-22 388,-927 582,-357 185,-357 582,-357 701,-22;307,-1144 410,-1399 517,-1138"],\u00C3:[767,"57,-22 388,-927 582,-357 185,-357 582,-357 701,-22;253,-1151 287,-1191 328,-1210 377,-1210 423,-1170 476,-1130 507,-1117 543,-1124 571,-1148 599,-1176"],\u00C4:[767,"57,-22 388,-927 582,-357 185,-357 582,-357 701,-22;206,-1292 206,-1222 276,-1222 276,-1292 206,-1292;570,-1292 570,-1222 641,-1222 641,-1292 570,-1292"],\u00C5:[767,"57,-22 388,-927 582,-357 185,-357 582,-357 701,-22;437,-1200 470,-1205 505,-1228 529,-1263 542,-1310 542,-1354 535,-1389 521,-1418 500,-1446 470,-1463 442,-1468 417,-1465 389,-1454 363,-1431 343,-1393 336,-1362 335,-1317 340,-1284 353,-1252 372,-1226 393,-1210 416,-1201 437,-1200"],\u00C8:[680,"577,-44 110,-44 110,-498 499,-498 110,-498 110,-900 561,-900;125,-1389 254,-1217"],\u00C9:[680,"577,-44 110,-44 110,-498 499,-498 110,-498 110,-900 561,-900;549,-1348 373,-1110"],\u00CA:[680,"577,-44 110,-44 110,-498 499,-498 110,-498 110,-900 561,-900;229,-1144 332,-1399 437,-1138"],\u00CB:[680,"577,-44 110,-44 110,-498 499,-498 110,-498 110,-900 561,-900;121,-1292 121,-1222 192,-1222 192,-1292 121,-1292;492,-1292 492,-1222 562,-1222 562,-1292 492,-1292"],\u00CC:[295,"185,-26 185,-913;11,-1389 139,-1217"],\u00CD:[312,"110,-26 110,-913;352,-1383 176,-1144"],\u00CE:[342,"152,-26 152,-913;110,-1144 213,-1399 318,-1138"],\u00CF:[397,"185,-26 185,-913;18,-1292 18,-1222 89,-1222 89,-1292 18,-1292;365,-1292 365,-1222 437,-1222 437,-1292 365,-1292"],\u00D0:[855,"79,-365 365,-365;185,-44 185,-904 433,-904 533,-878 609,-837 661,-785 724,-683 745,-568 745,-498 741,-406 728,-300 693,-225 630,-132 533,-75 441,-48 371,-44 189,-44"],\u00D1:[776,"110,-31 110,-909 141,-909 666,-31 666,-913;222,-1151 256,-1191 297,-1210 346,-1210 392,-1170 445,-1130 476,-1117 512,-1124 540,-1148 568,-1176"],\u00D2:[908,"450,-31 564,-48 679,-123 758,-242 798,-398 798,-542 776,-661 732,-759 661,-851 564,-909 466,-927 384,-913 290,-878 203,-802 136,-675 114,-574 110,-423 128,-308 171,-203 234,-119 304,-62 380,-35 450,-31;280,-1389 408,-1217"],\u00D3:[908,"450,-31 564,-48 679,-123 758,-242 798,-398 798,-542 776,-661 732,-759 661,-851 564,-909 466,-927 384,-913 290,-878 203,-802 136,-675 114,-574 110,-423 128,-308 171,-203 234,-119 304,-62 380,-35 450,-31;710,-1373 534,-1135"],\u00D4:[908,"450,-31 564,-48 679,-123 758,-242 798,-398 798,-542 776,-661 732,-759 661,-851 564,-909 466,-927 384,-913 290,-878 203,-802 136,-675 114,-574 110,-423 128,-308 171,-203 234,-119 304,-62 380,-35 450,-31;333,-1144 437,-1399 543,-1138"],\u00D5:[908,"450,-31 564,-48 679,-123 758,-242 798,-398 798,-542 776,-661 732,-759 661,-851 564,-909 466,-927 384,-913 290,-878 203,-802 136,-675 114,-574 110,-423 128,-308 171,-203 234,-119 304,-62 380,-35 450,-31;277,-1151 311,-1191 352,-1210 401,-1210 447,-1170 500,-1130 531,-1117 567,-1124 595,-1148 623,-1176"],\u00D6:[908,"450,-31 564,-48 679,-123 758,-242 798,-398 798,-542 776,-661 732,-759 661,-851 564,-909 466,-927 384,-913 290,-878 203,-802 136,-675 114,-574 110,-423 128,-308 171,-203 234,-119 304,-62 380,-35 450,-31;277,-1292 277,-1222 347,-1222 347,-1292 277,-1292;644,-1292 644,-1222 714,-1222 714,-1292 644,-1292"],"\xD7":[609,"71,-13 511,-679;97,-679 542,-13"],\u00D8:[908,"450,-31 564,-48 679,-123 758,-242 798,-398 798,-542 776,-661 732,-759 661,-851 564,-909 466,-927 384,-913 290,-878 203,-802 136,-675 114,-574 110,-423 128,-308 171,-203 234,-119 304,-62 380,-35 450,-31;240,167 692,-1119"],\u00D9:[772,"110,-917 110,-304 124,-225 163,-141 216,-84 296,-40 370,-22 463,-35 557,-84 622,-164 653,-234 662,-330 662,-913;208,-1389 335,-1217"],\u00DA:[772,"110,-917 110,-304 124,-225 163,-141 216,-84 296,-40 370,-22 463,-35 557,-84 622,-164 653,-234 662,-330 662,-913;618,-1372 442,-1134"],\u00DB:[772,"110,-917 110,-304 124,-225 163,-141 216,-84 296,-40 370,-22 463,-35 557,-84 622,-164 653,-234 662,-330 662,-913;267,-1144 370,-1399 477,-1138"],\u00DC:[772,"110,-917 110,-304 124,-225 163,-141 216,-84 296,-40 370,-22 463,-35 557,-84 622,-164 653,-234 662,-330 662,-913;212,-1292 212,-1222 284,-1222 284,-1292 212,-1292;564,-1292 564,-1222 635,-1222 635,-1292 564,-1292"],\u00DD:[661,"62,-917 330,-384 330,-31 330,-388 595,-913;571,-1397 395,-1158"],\u00E0:[651,"137,-599 229,-652 308,-675 387,-683 449,-661 502,-613 537,-542 541,-445 541,-150 541,-31 537,-150 480,-110 418,-66 348,-35 268,-22 203,-44 149,-79 110,-137 110,-221 141,-287 211,-344 281,-371 365,-398 445,-410 494,-414 533,-414;204,-1081 333,-909"],\u00E1:[651,"137,-599 229,-652 308,-675 387,-683 449,-661 502,-613 537,-542 541,-445 541,-150 541,-31 537,-150 480,-110 418,-66 348,-35 268,-22 203,-44 149,-79 110,-137 110,-221 141,-287 211,-344 281,-371 365,-398 445,-410 494,-414 533,-414;519,-1134 343,-896"],\u00E2:[651,"137,-599 229,-652 308,-675 387,-683 449,-661 502,-613 537,-542 541,-445 541,-150 541,-31 537,-150 480,-110 418,-66 348,-35 268,-22 203,-44 149,-79 110,-137 110,-221 141,-287 211,-344 281,-371 365,-398 445,-410 494,-414 533,-414;225,-902 329,-1155 435,-895"],\u00E3:[651,"137,-599 229,-652 308,-675 387,-683 449,-661 502,-613 537,-542 541,-445 541,-150 541,-31 537,-150 480,-110 418,-66 348,-35 268,-22 203,-44 149,-79 110,-137 110,-221 141,-287 211,-344 281,-371 365,-398 445,-410 494,-414 533,-414;186,-904 219,-945 260,-963 309,-963 355,-923 408,-883 439,-871 476,-876 504,-902 532,-930"],\u00E4:[701,"137,-599 229,-652 308,-675 387,-683 449,-661 502,-613 537,-542 541,-445 541,-150 541,-31 537,-150 480,-110 418,-66 348,-35 268,-22 203,-44 149,-79 110,-137 110,-221 141,-287 211,-344 281,-371 365,-398 445,-410 494,-414 533,-414;210,-983 210,-913 281,-913 281,-983 210,-983;561,-983 561,-913 631,-913 631,-983 561,-983"],\u00E5:[651,"137,-599 229,-652 308,-675 387,-683 449,-661 502,-613 537,-542 541,-445 541,-150 541,-31 537,-150 480,-110 418,-66 348,-35 268,-22 203,-44 149,-79 110,-137 110,-221 141,-287 211,-344 281,-371 365,-398 445,-410 494,-414 533,-414;312,-935 345,-941 380,-963 404,-998 417,-1046 417,-1089 410,-1124 396,-1154 375,-1182 345,-1198 317,-1204 292,-1200 264,-1190 238,-1166 218,-1128 211,-1098 210,-1053 215,-1019 228,-987 247,-962 268,-945 291,-937 312,-935"],\u00E8:[701,"118,-371 604,-371 604,-449 582,-552 516,-630 449,-675 356,-679 264,-652 184,-587 153,-521 118,-437 110,-349 132,-242 171,-146 251,-66 325,-31 418,-22 498,-44 573,-84;216,-1081 344,-909"],\u00E9:[701,"118,-371 604,-371 604,-449 582,-552 516,-630 449,-675 356,-679 264,-652 184,-587 153,-521 118,-437 110,-349 132,-242 171,-146 251,-66 325,-31 418,-22 498,-44 573,-84;537,-1072 360,-834"],\u00EA:[701,"118,-371 604,-371 604,-449 582,-552 516,-630 449,-675 356,-679 264,-652 184,-587 153,-521 118,-437 110,-349 132,-242 171,-146 251,-66 325,-31 418,-22 498,-44 573,-84;241,-902 345,-1155 451,-895"],\u00EB:[701,"118,-371 604,-371 604,-449 582,-552 516,-630 449,-675 356,-679 264,-652 184,-587 153,-521 118,-437 110,-349 132,-242 171,-146 251,-66 325,-31 418,-22 498,-44 573,-84;222,-983 222,-913 292,-913 292,-983 222,-983;570,-983 570,-913 642,-913 642,-983 570,-983"],\u00EC:[286,"176,-22 176,-671;44,-1081 172,-909"],\u00ED:[287,"110,-22 110,-671;323,-1120 147,-881"],\u00EE:[353,"176,-22 176,-671;93,-902 196,-1155 302,-895"],\u00EF:[421,"176,-22 176,-671;59,-983 59,-913 130,-913 130,-983 59,-983;391,-983 391,-913 461,-913 461,-983 391,-983"],\u00F1:[657,"110,-22 110,-675 110,-517 172,-578 229,-630 274,-657 340,-675 383,-679 451,-661 490,-636 521,-591 547,-529 547,-22;159,-904 193,-945 234,-963 283,-963 329,-923 382,-883 413,-871 449,-876 477,-902 505,-930"],\u00F2:[749,"384,-26 388,-26 476,-48 560,-106 612,-195 634,-291 639,-384 626,-468 595,-542 550,-599 489,-652 423,-675 361,-679 290,-666 224,-626 167,-560 136,-498 110,-406 110,-335 119,-252 140,-176 193,-106 255,-57 322,-31 384,-26;242,-1081 370,-909"],\u00F3:[749,"384,-26 388,-26 476,-48 560,-106 612,-195 634,-291 639,-384 626,-468 595,-542 550,-599 489,-652 423,-675 361,-679 290,-666 224,-626 167,-560 136,-498 110,-406 110,-335 119,-252 140,-176 193,-106 255,-57 322,-31 384,-26;552,-1126 375,-888"],\u00F4:[749,"384,-26 388,-26 476,-48 560,-106 612,-195 634,-291 639,-384 626,-468 595,-542 550,-599 489,-652 423,-675 361,-679 290,-666 224,-626 167,-560 136,-498 110,-406 110,-335 119,-252 140,-176 193,-106 255,-57 322,-31 384,-26;249,-902 353,-1155 458,-895"],\u00F5:[749,"384,-26 388,-26 476,-48 560,-106 612,-195 634,-291 639,-384 626,-468 595,-542 550,-599 489,-652 423,-675 361,-679 290,-666 224,-626 167,-560 136,-498 110,-406 110,-335 119,-252 140,-176 193,-106 255,-57 322,-31 384,-26;209,-904 242,-945 283,-963 332,-963 378,-923 430,-883 462,-871 499,-876 527,-902 555,-930"],\u00F6:[767,"384,-26 388,-26 476,-48 560,-106 612,-195 634,-291 639,-384 626,-468 595,-542 550,-599 489,-652 423,-675 361,-679 290,-666 224,-626 167,-560 136,-498 110,-406 110,-335 119,-252 140,-176 193,-106 255,-57 322,-31 384,-26;258,-983 258,-913 328,-913 328,-983 258,-983;588,-983 588,-913 660,-913 660,-983 588,-983"],"\xF7":[864,"421,-763 421,-693 491,-693 491,-763 421,-763;421,-322 421,-252 491,-252 491,-322 421,-322;110,-498 754,-498"],\u00F8:[749,"384,-26 388,-26 476,-48 560,-106 612,-195 634,-291 639,-384 626,-468 595,-542 550,-599 489,-652 423,-675 361,-679 290,-666 224,-626 167,-560 136,-498 110,-406 110,-335 119,-252 140,-176 193,-106 255,-57 322,-31 384,-26;241,77 535,-756"],\u00F9:[647,"537,-666 537,-26 537,-195 489,-137 432,-79 352,-35 277,-22 198,-44 145,-88 114,-146 110,-256 110,-666;198,-1081 326,-909"],\u00FA:[647,"537,-666 537,-26 537,-195 489,-137 432,-79 352,-35 277,-22 198,-44 145,-88 114,-146 110,-256 110,-666;515,-1144 338,-906"],\u00FB:[647,"537,-666 537,-26 537,-195 489,-137 432,-79 352,-35 277,-22 198,-44 145,-88 114,-146 110,-256 110,-666;207,-902 310,-1155 417,-895"],\u00FC:[718,"537,-666 537,-26 537,-195 489,-137 432,-79 352,-35 277,-22 198,-44 145,-88 114,-146 110,-256 110,-666;197,-983 197,-913 268,-913 268,-983 197,-983;559,-983 559,-913 631,-913 631,-983 559,-983"],\u00FD:[644,"75,-671 340,-4;568,-666 295,110 265,176 221,225 168,256 75,256;501,-1121 325,-882"],\u00FF:[644,"75,-671 340,-4;568,-666 295,110 265,176 221,225 168,256 75,256;195,-983 195,-913 265,-913 265,-983 195,-983;546,-983 546,-913 617,-913 617,-983 546,-983"],"\u2013":[650,"110,-365 540,-365"],"\u2014":[794,"110,-365 684,-365"],"\u201C":[387,"110,-973 168,-818;308,-973 365,-818"],"\u201D":[447,"167,-973 110,-818;366,-973 309,-818"],"\u2039":[256,"203,11 48,-297 196,-592"],"\u203A":[298,"86,14 242,-335 53,-596"],"\u20AC":[825,"728,-137 636,-66 511,-22 388,-40 273,-101 185,-207 141,-318 128,-484 141,-640 199,-767 287,-864 388,-913 503,-921 605,-900 675,-855 697,-829;79,-277 365,-277;79,-454 365,-454"],\u0178:[661,"62,-917 330,-384 330,-31 330,-388 595,-913;150,-1292 150,-1222 221,-1222 221,-1292 150,-1292;521,-1292 521,-1222 591,-1222 591,-1292 521,-1292"],"\xB8":[359,"146,-22 128,61 249,67 202,150 110,150"],\u00E7:[648,"376,-27 363,33 450,37 417,98 350,98;565,-101 494,-48 389,-26 291,-40 190,-106 133,-199 110,-308 110,-423 145,-529 217,-613 301,-661 393,-675 471,-661 525,-636 547,-609"],"\xA3":[687,"79,-365 365,-365;626,-44 185,-44 185,-546 185,-783 216,-913 372,-917 529,-921 532,-653 532,-653"],\u00DF:[751,"110,-39 110,-700 117,-859 199,-963 327,-963 455,-963 497,-893 497,-804 497,-695 347,-614 347,-514 347,-376 641,-436 641,-236 641,-37 332,4 243,-93"],\u00C7:[807,"493,-22 475,61 596,67 549,150 457,150;710,-137 618,-66 493,-22 370,-40 255,-101 167,-207 123,-318 110,-484 123,-640 181,-767 269,-864 370,-913 485,-921 587,-900 657,-855 679,-829"],"\u2248":[706,"106,-544 154,-601 211,-628 283,-628 349,-570 423,-513 468,-496 521,-504 560,-539 599,-580;106,-364 154,-421 211,-448 283,-448 349,-390 423,-333 468,-316 521,-324 560,-359 599,-400"],"\u2212":[459,"79,-365 365,-365"]}};function E1(){let e=typeof window>"u"?void 0:window.AudioContext??window.webkitAudioContext;if(!e)return null;let t=null,n,r,a;function c(){if(t)return t;t=new e;let s=t.sampleRate;n=t.createBuffer(1,s*2,s);let l=n.getChannelData(0),u=0;for(let y=0;y<l.length;y++)y%220===0&&(u=.6+Math.random()*.8),l[y]=(Math.random()*2-1)*u;let d=t.createBufferSource();d.buffer=n,d.loop=!0;let f=t.createBiquadFilter();f.type="highpass",f.frequency.value=700,a=t.createBiquadFilter(),a.type="bandpass",a.frequency.value=2600,a.Q.value=.8,r=t.createGain(),r.gain.value=0;let b=t.createGain();return b.gain.value=.32,d.connect(f).connect(a).connect(r).connect(b).connect(t.destination),d.start(),t}return{set(s,l){if(!t||t.state!=="running")return;let u=t.currentTime,d=Math.min(1,Math.max(0,s/1400)),f=l?Math.pow(d,.7)*(.8+Math.random()*.35):0;r.gain.setTargetAtTime(f,u,l?.012:.02),a.frequency.setTargetAtTime(1700+2600*d,u,.03)},tap(){if(!t||t.state!=="running")return;let s=t.currentTime,l=t.createBufferSource();l.buffer=n;let u=t.createBiquadFilter();u.type="bandpass",u.frequency.value=1100+Math.random()*500,u.Q.value=1.4;let d=t.createGain();d.gain.setValueAtTime(0,s),d.gain.linearRampToValueAtTime(.5,s+.004),d.gain.exponentialRampToValueAtTime(.001,s+.05),l.connect(u).connect(d).connect(t.destination),l.start(s,Math.random()*1.5,.06)},resume(){c().resume().catch(()=>{})},close(){t?.close().catch(()=>{}),t=null}}}var U1="0.3.0",C1=Object.keys(x1),X1="readability",w1=0,O1={white:"#f1f0ea",chalk:"#f1f0ea",yellow:"#f2ea72",lime:"#ddf27c",green:"#8fe07a",blue:"#8288ff",cyan:"#72d3ef",purple:"#b877ee",violet:"#b877ee",magenta:"#e06ade",pink:"#f27dc9",red:"#f45b73",orange:"#f5a04c",grey:"#9d9d9d",gray:"#9d9d9d"};function H1(e){let t=e>>>0,n=()=>{t=t+1831565813|0;let r=Math.imul(t^t>>>15,1|t);return r=r+Math.imul(r^r>>>7,61|r)^r,((r^r>>>14)>>>0)/4294967296};return{r:n,n:r=>(n()*2-1)*r}}function J1(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}var a1=e=>e[e.length-1],b1=(e,t)=>Math.hypot(t[0]-e[0],t[1]-e[1]),g1=(e,t,n)=>[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n],u1=(e,t,n)=>Math.min(n,Math.max(t,e)),L1=e=>e*e*(3-2*e);function A1(e){let t=0;for(let n=1;n<e.length;n++)t+=b1(e[n-1],e[n]);return t}function m1(e){let t=1/0,n=1/0,r=-1/0,a=-1/0;for(let c of e)for(let[s,l]of c.pts)s<t&&(t=s),s>r&&(r=s),l<n&&(n=l),l>a&&(a=l);return t===1/0?null:{x:t,y:n,w:r-t,h:a-n}}function Q1(e){let t=Math.min(...e.map(c=>c.x)),n=Math.min(...e.map(c=>c.y)),r=Math.max(...e.map(c=>c.x+c.w)),a=Math.max(...e.map(c=>c.y+c.h));return{x:t,y:n,w:r-t,h:a-n}}function s1(e,t,n,r=6){let a=b1(e,t),c=-(t[1]-e[1])/(a||1),s=(t[0]-e[0])/(a||1),l=n.n(a*.018),u=[];for(let d=0;d<=r;d++){let f=d/r,b=l*Math.sin(Math.PI*f)+(d&&d<r?n.n(a*.002):0),y=g1(e,t,f);u.push([y[0]+c*b,y[1]+s*b])}return u}function f1(e,t,n,r=16){let a=[];for(let c=0;c<=r;c++){let s=c/r,l=1-s;a.push([l*l*e[0]+2*l*s*t[0]+s*s*n[0],l*l*e[1]+2*l*s*t[1]+s*s*n[1]])}return a}function T1(e,t=10){if(e.length<3)return e.length===2?f1(e[0],g1(e[0],e[1],.5),e[1],t):e;let n=[e[0]];for(let r=0;r<e.length-1;r++){let a=e[r-1]??e[r],c=e[r],s=e[r+1],l=e[r+2]??s;for(let u=1;u<=t;u++){let d=u/t,f=d*d,b=f*d,y=w=>.5*(2*c[w]+(-a[w]+s[w])*d+(2*a[w]-5*c[w]+4*s[w]-l[w])*f+(-a[w]+3*c[w]-3*s[w]+l[w])*b);n.push([y(0),y(1)])}}return n}function Y1(e,t){let n=c=>Math.round(c*10)/10;if(e.length===1)return`M${n(e[0][0])} ${n(e[0][1])}l0.01 0`;if(!t||e.length<3)return"M"+e.map(c=>`${n(c[0])} ${n(c[1])}`).join("L");let r=[[e[0]]];for(let c=1;c<e.length;c++)if(a1(r).push(e[c]),c<e.length-1){let s=Math.atan2(e[c][1]-e[c-1][1],e[c][0]-e[c-1][0]),l=Math.atan2(e[c+1][1]-e[c][1],e[c+1][0]-e[c][0]),u=Math.abs(l-s);u>Math.PI&&(u=2*Math.PI-u),u>1.1&&r.push([e[c]])}let a=`M${n(e[0][0])} ${n(e[0][1])}`;for(let c of r){if(c.length<3){a+=c.slice(1).map(s=>`L${n(s[0])} ${n(s[1])}`).join("");continue}for(let s=0;s<c.length-1;s++){let l=c[s-1]??c[s],u=c[s],d=c[s+1],f=c[s+2]??d,b=[u[0]+(d[0]-l[0])/6,u[1]+(d[1]-l[1])/6],y=[d[0]-(f[0]-u[0])/6,d[1]-(f[1]-u[1])/6];a+=`C${n(b[0])} ${n(b[1])} ${n(y[0])} ${n(y[1])} ${n(d[0])} ${n(d[1])}`}}return a}var P1=new Map;function M1(e,t){let n=t+"\0"+e;if(P1.has(n))return P1.get(n);let r=x1[t]?.[e]??S1[e],a=null;if(r){let c=r[1]?r[1].split(";").map(u=>u.split(" ").map(d=>d.split(",").map(Number))):[],s=0,l=0;for(let u of c)for(let[,d]of u)s=Math.min(s,d),l=Math.max(l,d);a={adv:r[0],strokes:c,top:s,bottom:l}}return P1.set(n,a),a}var I1={alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",varepsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",vartheta:"\u03D1",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",pi:"\u03C0",rho:"\u03C1",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",varphi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",Gamma:"\u0393",Delta:"\u0394",Theta:"\u0398",Lambda:"\u039B",Xi:"\u039E",Pi:"\u03A0",Sigma:"\u03A3",Upsilon:"\u03A5",Phi:"\u03A6",Psi:"\u03A8",Omega:"\u03A9",partial:"\u2202",nabla:"\u2207",int:"\u222B",sum:"\u2211",prod:"\u220F",infty:"\u221E",pm:"\xB1",mp:"\u2213",times:"\xD7",cdot:"\u22C5",div:"\xF7",leq:"\u2264",le:"\u2264",geq:"\u2265",ge:"\u2265",neq:"\u2260",ne:"\u2260",equiv:"\u2261",approx:"\u2248",propto:"\u221D",to:"\u2192",rightarrow:"\u2192",leftarrow:"\u2190",uparrow:"\u2191",downarrow:"\u2193",in:"\u2208",subset:"\u2282",supset:"\u2283",cup:"\u222A",cap:"\u2229",exists:"\u2203",aleph:"\u2135",therefore:"\u2234",perp:"\u22A5",angle:"\u2220",deg:"\xB0",parallel:"\u2016"},K1=["vec","bar","hat","dot","sqrt","ul"],z1=["sin","cos","tan","cot","sec","csc","arcsin","arccos","arctan","sinh","cosh","tanh","log","ln","exp","lim","max","min","sup","inf","det","dim","ker","deg","gcd","mod"];function t3(e){let t=0,n=()=>{let c=String.fromCodePoint(e.codePointAt(t));return t+=c.length,c},r=()=>{if(e[t]==="{"){t++;let c=a("}");return t++,c}return t>=e.length?[]:e[t]==="\\"?a(void 0,1):[{k:"ch",c:n()}]};function a(c,s=1/0){let l=[];for(;t<e.length&&e[t]!==c&&l.length<s;){let u=e[t];if(u==="^"||u==="_")t++,l.push({k:u==="^"?"sup":"sub",n:r()});else if(u===`
|
|
2
|
+
`)t++,l.push({k:"nl"});else if(u==="\\"){let d=/^\\([a-zA-Z]+)/.exec(e.slice(t));if(!d){t++,l.push({k:"ch",c:t<e.length?n():"\\"});continue}t+=d[0].length;let f=d[1];if(f==="frac"){let b=r();l.push({k:"frac",a:b,b:r()})}else if(K1.includes(f))l.push({k:"deco",d:f,n:r()});else if(f==="id"){let b=r().map(y=>y.k==="ch"?y.c:"").join("");l.push({k:"mark",name:b,n:r()})}else if(I1[f])l.push({k:"ch",c:I1[f]}),e[t]===" "&&t++;else if(z1.includes(f))for(let b of f)l.push({k:"ch",c:b});else for(let b of"\\"+f)l.push({k:"ch",c:b})}else l.push({k:"ch",c:n()})}return l}return a()}var _={stroke:35,letter:70,word:190},$1=()=>({s:[],w:0,asc:0,desc:0,marks:[]});function l1(e,t,n,r,a){let c=e.s.length;for(let s of t.s)e.s.push({lift:s.lift,pts:s.pts.map(([l,u])=>[l+n,u+r])});for(let[s,l]of t.marks)e.marks.push([s,{...l,x:l.x+n,y:l.y+r}]);e.asc=Math.max(e.asc,t.asc-r),e.desc=Math.max(e.desc,t.desc+r),a!==void 0&&e.s[c]&&(e.s[c].lift=Math.max(e.s[c].lift,a))}function c1(e,t,n,r=0){let a=$1(),c=n.R,s=0,l=_.letter;for(let u of e)if(u.k==="ch"){if(u.c===" "||u.c===" "){s+=(M1(" ",n.font)?.adv??300)*(t/1e3)*(1+c.n(.18*n.wob)),l=_.word;continue}let d=M1(u.c,n.font)??M1("?",n.font),f=t/1e3*(1+c.n(.04*n.wob)),b=c.n(.045*n.wob),y=d.adv*f/2,w=-.32*t,F=n.amp*Math.sin((r+s)/n.wl*2*Math.PI+n.phase)+c.n(.014*t*n.wob),V=Math.cos(b),Z=Math.sin(b);d.strokes.forEach((J,t1)=>{let r1=c.n(.009*t*n.wob),K=c.n(.009*t*n.wob),z=J.map(([d1,o])=>{let E=d1*f-y,h=o*f-w;return[s+y+E*V-h*Z+r1,w+E*Z+h*V+F+K]});z.length===1&&(z=[z[0],[z[0][0]+.02*t,z[0][1]+.01*t]]),a.s.push({pts:z,lift:t1===0?l:_.stroke})}),d.strokes.length&&(l=_.letter),a.asc=Math.max(a.asc,-d.top*f-F),a.desc=Math.max(a.desc,d.bottom*f+F),s+=d.adv*f*(1+c.n(.035*n.wob))}else if(u.k==="sup"||u.k==="sub"){let d=c1(u.n,t*.62,n,r+s);l1(a,d,s+.02*t,u.k==="sup"?-.44*t:.2*t,l),s+=d.w+.06*t,l=_.letter}else if(u.k==="frac"){let d=t*.78,f=c1(u.a,d,n,r+s),b=c1(u.b,d,n,r+s),y=Math.max(f.w,b.w)+.28*t,w=-.3*t;l1(a,f,s+(y-f.w)/2,w-.14*t-Math.max(f.desc,.02*t),l);let F=[s+.04*t,w+c.n(.02*t*n.wob)],V=[s+y-.04*t,w+c.n(.02*t*n.wob)];a.s.push({pts:n.wob?s1(F,V,c,4):[F,V],lift:_.letter}),l1(a,b,s+(y-b.w)/2,w+.18*t+Math.max(b.asc,.5*d)),s+=y+.06*t,l=_.letter}else if(u.k==="deco"){let d=a.s.length;if(u.d==="sqrt"){let f=.6*t,b=c1(u.n,t,n,r+s+f),y=-Math.max(b.asc,.55*t)-.14*t,w=s+f+b.w+.08*t;a.s.push({pts:[[s,-.26*t],[s+.13*t,-.34*t],[s+.3*t,.05*t],[s+.52*t,y],[w,y+c.n(.03*t*n.wob)]],lift:l}),l1(a,b,s+f,0),a.asc=Math.max(a.asc,-y+.03*t),s=w+.06*t}else{let f=c1(u.n,t,n,r+s);l1(a,f,s,0,l);let b=s+.03*t,y=s+Math.max(f.w,.42*t),w=u.d==="ul"?Math.max(f.desc,.08*t)+.1*t:-Math.max(f.asc,.5*t)-.14*t;if(u.d==="hat"){let F=(b+y)/2;a.s.push({pts:[[F-.15*t,w+.05*t],[F,w-.1*t],[F+.15*t,w+.05*t]],lift:_.letter})}else if(u.d==="dot"){let F=(b+y)/2;a.s.push({pts:[[F,w],[F+.025*t,w+.01*t]],lift:_.letter})}else{let F=[y,w+c.n(.025*t*n.wob)],V=n.wob?s1([b,w],F,c,4):[[b,w],F];if(a.s.push({pts:V,lift:_.letter}),u.d==="vec"){let Z=a1(V),J=.13*t;a.s.push({pts:[[Z[0]-J,Z[1]-J*.62],Z,[Z[0]-J,Z[1]+J*.62]],lift:_.stroke})}}a.asc=Math.max(a.asc,-w+.12*t),s+=f.w}a.s[d]&&(a.s[d].lift=Math.max(a.s[d].lift,l)),l=_.letter}else if(u.k==="mark"){let d=a.s.length,f=c1(u.n,t,n,r+s);l1(a,f,s,0,l),a.marks.push([u.name,m1(a.s.slice(d))??{x:s,y:-.7*t,w:f.w,h:.7*t}]),s+=f.w,l=_.letter}return a.w=s,a}var e3=["top","bottom","left","right","center","topLeft","topRight","bottomLeft","bottomRight"],n3=620,k1=1050;function o3(e){let t=e.width??1e3,n=new Map,r=[],a=[],c=e.background==="none",s=e.color??"white",l=o=>{let E=o??s;return c&&(E==="white"||E==="chalk")?"currentColor":O1[E]??E},u=o=>{if(Array.isArray(o))return Q1(o.map(u));if(typeof o!="string")return o;let E=n.get(o);if(!E)throw new Error(`nothing with id "${o}" has been drawn yet`);return E},d=(o,E,h)=>{let S=o.x+o.w/2,B=o.y+o.h/2,p=o.x-h,i=o.y-h,x=o.x+o.w+h,k=o.y+o.h+h;switch(E){case"top":return[S,i];case"bottom":return[S,k];case"left":return[p,B];case"right":return[x,B];case"topLeft":return[p,i];case"topRight":return[x,i];case"bottomLeft":return[p,k];case"bottomRight":return[x,k];default:return[S,B]}},f=(o,E,h)=>{let S=o.x+o.w/2,B=o.y+o.h/2,p=E[0]-S,i=E[1]-B;if(!p&&!i)return[S,o.y+o.h+h];let x=Math.min(p?(o.w/2+h)/Math.abs(p):1/0,i?(o.h/2+h)/Math.abs(i):1/0);return[S+p*x,B+i*x]},b=(o,E,h)=>{if(Array.isArray(o))return o;let S,B=0,p=0;typeof o=="object"?(S=o.at,B=o.dx??0,p=o.dy??0):S=o;let i,x=n.get(S);if(x)i=E?f(x,E,h):[x.x+x.w/2,x.y+x.h/2];else{let k=S.lastIndexOf("."),L=k>0?n.get(S.slice(0,k)):void 0,q=S.slice(k+1);if(!L||!e3.includes(q))throw new Error(`can't find "${S}" \u2014 use an id drawn earlier, optionally with .top .bottom .left .right .center or a corner`);i=d(L,q,h)}return[i[0]+B,i[1]+p]};e.items.forEach((o,E)=>{let h=H1(J1(`${e.seed??0}:${E}:${JSON.stringify(o)}`)),S=[],B=(p,i,x,k,L)=>S.push({pts:p,lift:i,color:l(x.color),width:x.width??k,item:E,pen:L*(x.speed??1),len:A1(p)});try{if(o.type==="pause"){a.push({strokes:S,item:o});return}if(o.type==="text"){let p=o.size??32,i=o.font??e.font??X1;if(!x1[i])throw new Error(`unknown font "${i}" \u2014 use one of: ${C1.join(", ")}`);let x=t3(o.text),k=[[]];for(let m of x)m.k==="nl"?k.push([]):a1(k).push(m);let L=(o.lineHeight??1.45)*p,q=(M1(" ",i)?.adv??300)*(p/1e3),T=[];for(let m of k){let X={R:h,font:i,wob:w1,phase:h.r()*6.283,amp:.022*p*w1,wl:8*p};if(!o.maxWidth){T.push(c1(m,p,X));continue}let Q=[[]];for(let j of m)j.k==="ch"&&j.c===" "?Q.push([]):a1(Q).push(j);let U=$1(),W=0;for(let j of Q){if(!j.length)continue;let G=c1(j,p,X,W);W>0&&W+G.w>o.maxWidth&&(T.push(U),U=$1(),W=0),l1(U,G,W,0,W>0?_.word:void 0),W+=G.w+q*(1+h.n(.15*w1)),U.w=W-q}T.push(U)}let P=Math.max(0,...T.map(m=>m.w)),$=.78*p,D=$+(T.length-1)*L+.28*p,A=o.align??"left",R=o.x,v=o.y,C=o.gap??.5*p,O=o.below??o.above;if(O){let m=u(O);v=o.below?m.y+m.h+C:m.y-C-D,R===void 0&&(R=A==="center"?m.x+m.w/2:A==="right"?m.x+m.w:m.x)}let M=o.rightOf??o.leftOf;if(M){let m=u(M);o.rightOf?(R=m.x+m.w+C,A="left"):(R=m.x-C,A="right"),v===void 0&&(v=m.y+m.h/2-D/2+.08*p)}R=(R??40)+(o.dx??0),v=(v??40)+(o.dy??0);let N=h.n(.007*w1),e1=o.width??u1(p*.07,1.4,6),n1=[];T.forEach((m,X)=>{let Q=A==="center"?R-m.w/2:A==="right"?R-m.w:R,U=v+$+X*L,W=([j,G])=>[Q+j-G*N,U+G+j*N];m.s.forEach((j,G)=>{let Y=G===0&&X>0?_.word*1.6:j.lift;n1.push({pts:j.pts.map(W),lift:Y}),B(a1(n1).pts,Y,o,e1,n3)});for(let[j,G]of m.marks){let Y=W([G.x,G.y]),y1=W([G.x+G.w,G.y+G.h]),I={x:Y[0],y:Y[1],w:y1[0]-Y[0],h:y1[1]-Y[1]};n.set(o.id?`${o.id}.${j}`:j,I),r.push([o.id?`${o.id}.${j}`:j,I])}});let g=m1(n1)??{x:R,y:v,w:P,h:D};o.id&&(n.set(o.id,g),r.push([o.id,g]))}else if(o.type==="arrow"){let p=o.gap??10,i=o.via??[],x=v=>b(v,null,0),k=i.length?x(i[0]):x(o.to),L=b(o.from,k,p),q=i.map(v=>x(v)),T=b(o.to,q.length?a1(q):L,p),P=b1(L,T),$;if(q.length)$=T1([L,...q,T],12).map(([v,C])=>[v+h.n(.6),C+h.n(.6)]);else{let v=o.bend??h.n(.05),C=-(T[1]-L[1])/(P||1),O=(T[0]-L[0])/(P||1),M=g1(L,T,.5);$=f1(L,[M[0]+C*v*P,M[1]+O*v*P],T,18)}let D=2.4;B($,_.letter,o,D,k1);let A=(v,C)=>{let O=Math.atan2(v[1]-C[1],v[0]-C[0]),M=u1(A1($)*.18,9,17)*((o.width??D)/2.4)**.5,N=.46+h.n(.06),e1=n1=>[v[0]-M*Math.cos(O+n1)+h.n(1),v[1]-M*Math.sin(O+n1)+h.n(1)];B([e1(N),v,e1(-N)],_.letter,o,D,k1)},R=o.head??"end";(R==="end"||R==="both")&&A(a1($),$[Math.max(0,$.length-4)]),(R==="start"||R==="both")&&A($[0],$[Math.min($.length-1,3)])}else if(o.type==="line"){let p=o.points.map((x,k)=>b(x,null,0)),i=o.smooth===!1?p:T1(p,10);B(i.map(([x,k])=>[x+h.n(.5),k+h.n(.5)]),_.letter,o,2.4,k1)}else{let p=o.around??o.under??o.over??o.target;if(p===void 0)throw new Error(`${o.type} needs "around" (an id, a list of ids, or {x,y,w,h})`);let i=u(p),x=2.4,k=(q,T=_.letter)=>B(q,T,o,x,k1),L=o.double?2:1;for(let q=0;q<L;q++){let T=q*7;if(o.type==="circle"){let P=(o.pad??14)+T,$=i.x+i.w/2,D=i.y+i.h/2,A=i.w/2*1.12+P,R=i.h/2*1.2+P,v=3.2,C=h.n(.03),O=h.r()*6,M=Math.PI*1.08+h.n(.25),N=Math.PI*2+.38+h.n(.12),e1=g=>Math.sign(g)*Math.abs(g)**(2/v),n1=[];for(let g=0;g<=80;g++){let m=g/80,X=M+N*m,Q=1+.025*Math.sin(3*X+O)+(m-.5)*.07,U=A*Q*e1(Math.cos(X)),W=R*Q*e1(Math.sin(X));n1.push([$+U*Math.cos(C)-W*Math.sin(C),D+U*Math.sin(C)+W*Math.cos(C)])}k(n1)}else if(o.type==="box"){let P=(o.pad??12)+T,$=()=>h.n(3),D=[i.x-P+$(),i.y-P+$()],A=[i.x+i.w+P+$(),i.y-P+$()],R=[i.x+i.w+P+$(),i.y+i.h+P+$()],v=[i.x-P+$(),i.y+i.h+P+$()],C=g1(D,A,.06+h.r()*.04),O=[...s1(D,A,h),...s1(A,R,h).slice(1),...s1(R,v,h).slice(1),...s1(v,[D[0]+h.n(2),D[1]+h.n(2)],h).slice(1),C];k(O)}else if(o.type==="underline"){let P=i.y+i.h+(o.pad??6)+T;k(s1([i.x-4+h.n(3),P+h.n(2)],[i.x+i.w+4+h.n(3),P+h.n(3)],h,8))}else if(o.type==="strike"){let P=i.y+i.h*.55+T;k(s1([i.x-5,P+h.n(3)],[i.x+i.w+5,P+h.n(3)],h,8))}else{let P=o.side??"bottom",$=(o.pad??8)+T,A=P==="top"||P==="bottom"?i.w+6:i.h+6,R=o.type==="bracket"?u1(A*.12,6,14):u1(A*.08,7,16),v;if(o.type==="bracket")v=[[0,-R+h.n(1.5)],[h.n(1),h.n(1)],...s1([0,0],[A,h.n(1.5)],h,6).slice(1,-1),[A+h.n(1),h.n(1)],[A,-R+h.n(1.5)]];else{let O=A/2,M=R;v=[...f1([0,-M*.3],[0,M*.5],[M,M*.5],6),...f1([O-M,M*.5],[O,M*.5],[O,M*1.2],6),...f1([O,M*1.2],[O,M*.5],[O+M,M*.5],6).slice(1),...f1([A-M,M*.5],[A,M*.5],[A,-M*.3],6)]}let C=([O,M])=>{switch(P){case"top":return[i.x-3+O,i.y-$-M];case"left":return[i.x-$-M,i.y-3+O];case"right":return[i.x+i.w+$+M,i.y-3+O];default:return[i.x-3+O,i.y+i.h+$+M]}};k(v.map(C))}}if(o.id){let q=m1(S)??i;n.set(o.id,q),r.push([o.id,q])}}if(o.type!=="text"&&o.id&&!n.has(o.id)){let p=m1(S);p&&(n.set(o.id,p),r.push([o.id,p]))}}catch(p){throw new Error(`items[${E}] (${o.type}${"id"in o&&o.id?` "${o.id}"`:""}): ${p.message}`)}a.push({strokes:S,item:o})});let y=e.speed??1,w=700,F=380,V=[],Z=w,J=w,t1=null,r1=!0;for(let{strokes:o,item:E}of a){if(E.type==="pause"){Z+=E.ms/y;continue}if(!o.length)continue;let h=E,S=h.with==="prev"?J:Z+(r1?0:F/y)+(h.wait??0)/y;J=S,r1=!1;for(let B of o){let p=t1?b1(t1,B.pts[0]):0;S+=(B.lift+Math.min(420,p/(B.pen*2.4)*1e3))/y;let i=Math.max(40,B.len/B.pen*1e3)/y;V.push({...B,t0:S,dur:i}),S+=i,t1=a1(B.pts)}Z=Math.max(Z,S)}let K=m1(V),z=e.padding??40,d1=e.height??Math.max(160,Math.ceil((K?K.y+K.h:0)+z));return{strokes:V,width:t,height:d1,end:Z,debug:r}}var r3=`
|
|
3
|
+
.sketch{display:block;width:100%;-webkit-user-select:none;user-select:none}
|
|
4
|
+
.sketch-board{position:relative;border-radius:12px;overflow:hidden;line-height:0}
|
|
5
|
+
.sketch-animated .sketch-board{cursor:pointer;-webkit-tap-highlight-color:transparent}
|
|
6
|
+
.sketch-board svg{display:block;width:100%;height:auto}
|
|
7
|
+
.sketch-bar{display:flex;align-items:center;gap:8px;padding:8px 2px 0;font:12px/1 system-ui,-apple-system,sans-serif;opacity:.7}
|
|
8
|
+
.sketch-bar:hover{opacity:1}
|
|
9
|
+
.sketch-bar button{all:unset;cursor:pointer;width:28px;height:28px;display:grid;place-items:center;border-radius:7px;color:inherit}
|
|
10
|
+
.sketch-bar button:hover{background:rgba(127,127,127,.18)}
|
|
11
|
+
.sketch-bar svg{width:16px;height:16px;fill:currentColor}
|
|
12
|
+
.sketch-bar input{flex:1;min-width:0;accent-color:currentColor;margin:0}
|
|
13
|
+
.sketch-sound[aria-pressed="false"]{opacity:.6}
|
|
14
|
+
.sketch-time{font-variant-numeric:tabular-nums;min-width:72px;text-align:right}
|
|
15
|
+
.sketch-error{font:13px/1.45 ui-monospace,Menlo,monospace;color:#f45b73;padding:10px 12px;border:1px solid rgba(244,91,115,.45);border-radius:8px;white-space:pre-wrap}`,i1={play:'<svg viewBox="0 0 16 16"><path d="M4 2.5v11l9.5-5.5z"/></svg>',pause:'<svg viewBox="0 0 16 16"><path d="M3.5 2.5h3v11h-3zM9.5 2.5h3v11h-3z"/></svg>',replay:'<svg viewBox="0 0 16 16"><path d="M8 2.5a5.5 5.5 0 1 1-5.2 3.7l1.4.5A4 4 0 1 0 8 4v2L4.8 3.3 8 .5z"/></svg>',soundOn:'<svg viewBox="0 0 16 16"><path d="M2 6h2.5L8 3v10L4.5 10H2z"/><path d="M10.2 5.2a4 4 0 0 1 0 5.6M12.2 3.4a6.5 6.5 0 0 1 0 9.2" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>',soundOff:'<svg viewBox="0 0 16 16"><path d="M2 6h2.5L8 3v10L4.5 10H2z"/><path d="M10.5 6l4 4M14.5 6l-4 4" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>'};function s3(e){let t=`sketch-pencil-grad-${e}`,n=`sketch-pencil-blur-${e}`;return`<g class="sketch-pencil" style="display:none">
|
|
16
|
+
<defs>
|
|
17
|
+
<linearGradient id="${t}" x1="0" y1="0" x2="0" y2="1">
|
|
18
|
+
<stop offset="0" stop-color="#ffffff"/><stop offset=".45" stop-color="#f0efea"/><stop offset="1" stop-color="#c4c1b9"/>
|
|
19
|
+
</linearGradient>
|
|
20
|
+
<filter id="${n}" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="6"/></filter>
|
|
21
|
+
</defs>
|
|
22
|
+
<g class="sketch-pencil-shadow"><g transform="rotate(58)" fill="#000" opacity=".42" filter="url(#${n})">
|
|
23
|
+
<path d="M0,0 L24,-6.5 L24,6.5Z"/><rect x="23" y="-7" width="304" height="14" rx="6"/>
|
|
24
|
+
</g></g>
|
|
25
|
+
<g class="sketch-pencil-body"><g transform="rotate(58)">
|
|
26
|
+
<path d="M0,0 L24,-6.5 L24,6.5Z" fill="#dedcd6"/>
|
|
27
|
+
<path d="M0,0 L7,-1.9 L7,1.9Z" fill="#3a3a3e"/>
|
|
28
|
+
<rect class="sketch-pencil-band" x="24" y="-7" width="6" height="14" fill="#f1f0ea"/>
|
|
29
|
+
<rect x="30" y="-7" width="290" height="14" fill="url(#${t})"/>
|
|
30
|
+
<path d="M320,-7 h1 a7,7 0 0 1 0,14 h-1Z" fill="#dcdad3"/>
|
|
31
|
+
</g></g>
|
|
32
|
+
</g>`}var B1=!1,a3=0;function q1(){if(B1)return;let e=document.createElement("style");e.textContent=r3,(document.head||document.documentElement).appendChild(e),B1=!0}var R1=e=>{let t=Math.max(0,Math.round(e/1e3));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`};function N1(e){let t=()=>{};return{el:e,duration:0,time:0,playing:!1,sound:!1,play:t,pause:t,seek:t,restart:t,setSound:t,destroy:t}}function G1(e,t){q1();let n=document.createElement("div");n.className="sketch-error",n.textContent=`sketch: ${t?.message??t}`,e.replaceChildren(n)}function D1(e,t,n={}){let r=typeof e=="string"?document.querySelector(e):e;if(!r)throw new Error(`sketch: no element matches ${e}`);q1();try{return c3(r,t,n)}catch(a){return G1(r,a),N1(r)}}function c3(e,t,n){if(!t||!Array.isArray(t.items))throw new Error('a scene needs an "items" array');let r={mode:n.mode??t.mode??"animation",autoplay:n.autoplay??t.autoplay??"visible",controls:n.controls??t.controls??!0,pencil:n.pencil??t.pencil??!1,sound:n.sound??t.sound??!1};if(r.mode!=="animation"&&r.mode!=="static")throw new Error(`mode must be "animation" or "static", not "${r.mode}"`);let a=r.mode==="animation",{strokes:c,width:s,height:l,end:u,debug:d}=o3(t),f=t.background??"#0c0c0e",b=++a3,y=c.map(g=>`<path d="${Y1(g.pts,!0)}" stroke="${g.color}" stroke-width="${g.width}"/>`).join(""),w=t.debug?d.map(([g,m])=>`<rect x="${m.x}" y="${m.y}" width="${m.w}" height="${m.h}" fill="none" stroke="#0ff" stroke-width="1" stroke-dasharray="4 3" opacity=".7"/><text x="${m.x}" y="${m.y-4}" fill="#0ff" font-size="12" font-family="monospace">${g.replace(/[<&]/g,"")}</text>`).join(""):"",F=r.sound?`<button class="sketch-sound" aria-label="Sound" aria-pressed="true">${i1.soundOn}</button>`:"";if(e.innerHTML=`<div class="sketch${a?" sketch-animated":""}">
|
|
33
|
+
<div class="sketch-board" role="img" aria-label="Hand-drawn board">
|
|
34
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${s} ${l}">
|
|
35
|
+
${f==="none"?"":`<rect width="${s}" height="${l}" fill="${f}"/>`}
|
|
36
|
+
<g fill="none" stroke-linecap="round" stroke-linejoin="round">${y}</g>
|
|
37
|
+
${w}
|
|
38
|
+
${a&&r.pencil?s3(b):""}
|
|
20
39
|
</svg>
|
|
21
40
|
</div>
|
|
22
|
-
${a&&r.controls?`<div class="
|
|
23
|
-
</div>`,!a)return
|
|
41
|
+
${a&&r.controls?`<div class="sketch-bar"><button class="sketch-play" aria-label="Play">${i1.play}</button><input class="sketch-seek" type="range" min="0" max="1000" value="0" aria-label="Scrub">${F}<span class="sketch-time">0:00 / 0:00</span></div>`:""}
|
|
42
|
+
</div>`,!a)return N1(e);let V=e.querySelector("svg"),Z=Array.from(V.querySelectorAll('g[fill="none"] > path')),J=Z.map(g=>g.getTotalLength()||.01),t1=e.querySelector(".sketch-play"),r1=e.querySelector(".sketch-seek"),K=e.querySelector(".sketch-sound"),z=e.querySelector(".sketch-time"),d1=V.querySelector(".sketch-pencil"),o=V.querySelector(".sketch-pencil-body"),E=V.querySelector(".sketch-pencil-shadow"),h=V.querySelector(".sketch-pencil-band"),S=s/1e3*.7,B=[s*.8+220,l+240],p=u+900,i=r.sound?E1():null,x=!!i,k=0,L=!1,q=0,T=0,P=!1,$=-1,D=[],A=g=>.5*g+.5*L1(g),R=g=>.5+3*g*(1-g);function v(g){let m=-1,X=-1,Q=-1,U=-1/0,W=1/0;for(let I=0;I<c.length;I++){let H=c[I],o1=Z[I],p1=J[I],h1=(g-H.t0)/H.dur;h1<=0?(D[I]!==!1&&(o1.style.visibility="hidden",D[I]=!1),H.t0<W&&(W=H.t0,Q=I)):h1>=1?(D[I]!==!0&&(o1.style.visibility="",o1.style.strokeDasharray="",o1.style.strokeDashoffset="",D[I]=!0),H.t0+H.dur>U&&(U=H.t0+H.dur,X=I)):(D[I]=void 0,o1.style.visibility="",o1.style.strokeDasharray=`${p1} ${p1+1}`,o1.style.strokeDashoffset=String(p1*(1-A(h1))),m=I)}if(i)if(L&&!P&&x&&m>=0){let I=c[m];m!==$&&i.tap(),i.set(J[m]/I.dur*1e3*R((g-I.t0)/I.dur),!0)}else i.set(0,!1);if($=m,!d1||!o||!E)return;let j=g>0&&g<p;if(d1.style.display=j?"":"none",!j)return;let G,Y=0;if(m>=0){let I=c[m],H=Z[m].getPointAtLength(J[m]*A((g-I.t0)/I.dur));G=[H.x,H.y],h&&h.setAttribute("fill",I.color)}else{let I=X>=0?a1(c[X].pts):B,H=Q>=0?c[Q].pts[0]:B,o1=X>=0?U:0,p1=Q>=0?W:U+800,h1=u1((g-o1)/Math.max(1,p1-o1),0,1);G=g1(I,H,L1(h1)),Y=Math.sin(Math.PI*h1)*u1(b1(I,H)*.15,4,30)}let y1=S*(1+Y*.004);o.setAttribute("transform",`translate(${G[0]} ${G[1]-Y}) scale(${y1})`),E.setAttribute("transform",`translate(${G[0]+5+Y*.8} ${G[1]+7+Y*.6}) scale(${S})`)}function C(){if(t1){let g=!L&&k>=p;t1.innerHTML=L?i1.pause:g?i1.replay:i1.play,t1.setAttribute("aria-label",L?"Pause":g?"Replay":"Play")}K&&(K.innerHTML=x?i1.soundOn:i1.soundOff,K.setAttribute("aria-pressed",String(x)),K.setAttribute("aria-label",x?"Mute":"Unmute")),r1&&!P&&(r1.value=String(Math.round(k/p*1e3))),z&&(z.textContent=`${R1(Math.min(k,u))} / ${R1(u)}`)}function O(g){let m=T?g-T:16;if(T=g,k=Math.min(p,k+m),k>=p&&(L=!1),v(k),C(),!L){T=0;return}q=requestAnimationFrame(O)}let M,N={el:e,duration:p,get time(){return k},get playing(){return L},get sound(){return x},play(){L||(k>=p&&(k=0),L=!0,T=0,q=requestAnimationFrame(O),C())},pause(){L=!1,cancelAnimationFrame(q),i?.set(0,!1),C()},seek(g){k=u1(g,0,p),v(k),C()},setSound(g){x=g&&!!i,x?i.resume():i?.set(0,!1),C()},restart(){N.pause(),N.seek(0),N.play()},destroy(){N.pause(),M?.disconnect(),i?.close(),e.innerHTML=""}},e1=()=>{x&&i?.resume(),L?N.pause():N.play()};return V.parentElement.addEventListener("click",e1),t1?.addEventListener("click",e1),K?.addEventListener("click",()=>N.setSound(!x)),r1?.addEventListener("input",()=>{P=!0,N.pause(),N.seek(+r1.value/1e3*p),P=!1}),typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches?N.seek(p):(N.seek(0),r.autoplay===!0?N.play():r.autoplay==="visible"&&typeof IntersectionObserver=="function"&&(M=new IntersectionObserver(g=>{g.some(m=>m.isIntersecting)&&(M.disconnect(),N.play())},{threshold:.35}),M.observe(e))),N}function i3(e=document){let t=[];return e.querySelectorAll('script[type="text/sketch"], script[type="application/sketch+json"]').forEach(n=>{let r=document.createElement("div");n.after(r);try{t.push(D1(r,JSON.parse(n.textContent||"")))}catch(a){G1(r,a)}}),t}return Z1(l3);})();
|
package/fonts/OFL.txt
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
EMS
|
|
1
|
+
EMS Readability — single-stroke glyph data bundled in @ghostmind-dev/sketch.
|
|
2
2
|
Created by Sheldon B. Michaels; SVG font conversion by Windell H. Oskay.
|
|
3
|
-
A derivative of
|
|
3
|
+
A derivative of Source Sans Pro Light, designed by Paul D. Hunt, Adobe
|
|
4
|
+
(https://fonts.google.com/specimen/Source+Sans+Pro).
|
|
4
5
|
Converted here from SVG-font strokes to compact stroke coordinates.
|
|
5
6
|
|
|
6
7
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
package/package.json
CHANGED
|
@@ -1,7 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ghostmind-dev/sketch",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Hand-written explainer boards for
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Hand-written explainer boards for the browser: one scene renders as a stroke-by-stroke animation (optional pencil and writing sound) or a static board.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"whiteboard",
|
|
7
|
+
"blackboard",
|
|
8
|
+
"handwriting",
|
|
9
|
+
"explainer",
|
|
10
|
+
"math",
|
|
11
|
+
"svg",
|
|
12
|
+
"animation",
|
|
13
|
+
"diagram",
|
|
14
|
+
"education",
|
|
15
|
+
"annotation"
|
|
16
|
+
],
|
|
17
|
+
"homepage": "https://github.com/ghostmind-labo/sketch#readme",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/ghostmind-labo/sketch.git"
|
|
21
|
+
},
|
|
22
|
+
"bugs": {
|
|
23
|
+
"url": "https://github.com/ghostmind-labo/sketch/issues"
|
|
24
|
+
},
|
|
5
25
|
"license": "MIT",
|
|
6
26
|
"files": [
|
|
7
27
|
"dist",
|
|
@@ -14,7 +34,7 @@
|
|
|
14
34
|
},
|
|
15
35
|
"scripts": {
|
|
16
36
|
"glyphs": "node scripts/build-glyphs.mjs",
|
|
17
|
-
"build": "npm run glyphs && esbuild src/index.ts --bundle --format=iife --global-name=
|
|
37
|
+
"build": "npm run glyphs && esbuild src/index.ts --bundle --format=iife --global-name=Sketch --minify --target=es2020 --outfile=dist/sketch.iife.js",
|
|
18
38
|
"check": "tsc --noEmit",
|
|
19
39
|
"harness": "node harness/build-harness.mjs",
|
|
20
40
|
"render": "node scripts/render.mjs",
|