sveast 0.2.0 → 0.4.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/README.md CHANGED
@@ -32,9 +32,9 @@ sveast is a drop-in for `parse` in most tools: change the import, and pass `loc:
32
32
  | | svelte/compiler | sveast |
33
33
  |:---|:---|:---|
34
34
  | `loc`, `name_loc` | Always | With `loc: true`; otherwise only `start`/`end` offsets, for a faster parse and a smaller AST |
35
- | Errors | `CompileError` | `ParseError`: same `code`, `message`, `position`, `start`, `end` and `frame`; no `filename` |
35
+ | Errors | `CompileError` | `ParseError`: same `code`, `message`, `position`, `start`, `end` and `frame`; no `filename`; `reason`, the message without its link |
36
36
  | AST formats | Modern, legacy (`modern: false`), error-tolerant (`loose`) | Modern |
37
- | Scope | Parsing, `parseCss`, analysis, compilation | Parsing (`parse`, `parseModule`) |
37
+ | Scope | Parsing, `parseCss`, analysis, compilation | Parsing (`parse`, `parseModule`, `isValidType`) |
38
38
  | TypeScript-only errors | Reported, e.g. modifier order or initializers in ambient contexts | Not reported: 108 of the 2,449 TypeScript conformance tests acorn-typescript rejects still parse |
39
39
 
40
40
  ## API
@@ -48,17 +48,23 @@ sveast is a drop-in for `parse` in most tools: change the import, and pass `loc:
48
48
 
49
49
  With `loc: true`, the result equals svelte's. With the defaults, it's svelte's without `loc` and `name_loc`.
50
50
 
51
- A syntax error throws a `ParseError` with svelte's `code` (e.g. `"block_unclosed"`), `message`, `position` (`[start, end]` offsets), `start`/`end` (`{ line, column, character }`) and `frame` (the source around the error).
51
+ A syntax error throws a `ParseError` with svelte's `code` (e.g. `"block_unclosed"`), `message`, `position` (`[start, end]` offsets), `start`/`end` (`{ line, column, character }`) and `frame` (the source around the error). `message` is always the reason, a line break, then the link to the error's docs, `https://svelte.dev/e/${code}`. `reason` has the reason on its own, e.g. `"Unexpected token"`.
52
52
 
53
53
  ### `parseModule(source, options?) => Program`
54
54
 
55
55
  Parses a JavaScript or TypeScript module, such as a `.ts` file a component imports, the way a component's `<script>` is parsed: estree plus TypeScript nodes, with comments attached as `leadingComments`/`trailingComments`. Options: `typescript` and `loc`, both default `false`.
56
56
 
57
+ ### `isValidType(text, options?) => boolean`
58
+
59
+ Whether `text` is exactly one TypeScript type, such as a JSDoc `{"sm" | "lg"}` a tool is about to copy into a `.d.ts`. The text is parsed as a type on its own, not wrapped in a statement, so a `;`, a line break or a `}` in it can't end the type and smuggle in a statement: `string; let x = 1` and `{ a: string } }` are `false`. Whitespace and comments around the type are allowed. Results aren't cached; memoize if you check the same text often.
60
+
61
+ A `//` comment runs to the end of the line, so `string // the size` is a valid type but breaks `CustomEvent<${text}>`. Pass `inline: true` when the text goes before more code on the same line: it's then also `false` unless every `//` comment in the text ends with a line break. Block comments and `//` inside strings, as in `"http://a" | "https://b"`, are fine either way.
62
+
57
63
  ### Types
58
64
 
59
65
  `AST` is svelte's `AST` namespace (`AST.Root`, `AST.RegularElement`, `AST.CSS.Rule`, ...), corrected to match what the parser returns: `name_loc` and a comment's `loc` are optional, `Root.instance`/`module` are absent rather than `null` when there's no such `<script>`, `Root.js` is declared, and every directive has `modifiers`. `ParseOptions` is exported too.
60
66
 
61
- The estree node types are exported as well (`Program`, `Node`, `Statement`, `Expression`, `Identifier`, ...), so you don't need `@types/estree`. They're estree's, plus what the parser adds: `start`/`end` on every node, and the TypeScript plugin's nodes (`TSInterfaceDeclaration`, `TSTypeAnnotation`, `TSTypeReference`, ...; `TSNode` is their union) and fields (`typeAnnotation`, `typeParameters`, `typeArguments`, `returnType`, `importKind`/`exportKind`, ...). The TypeScript nodes are in the `Statement`, `Declaration` and `Expression` unions, so checking `node.type` narrows to them.
67
+ The estree node types are exported as well (`Program`, `Node`, `Statement`, `Expression`, `Identifier`, ...), so you don't need `@types/estree`. They're estree's, plus what the parser adds: `start`/`end` on every node, and the TypeScript plugin's nodes (`TSInterfaceDeclaration`, `TSTypeAnnotation`, `TSTypeReference`, ...; `TSNode` is their union) and fields (`typeAnnotation`, `typeParameters`, `typeArguments`, `returnType`, `importKind`/`exportKind`, ...). The TypeScript nodes are in the `Statement`, `Declaration` and `Expression` unions, so checking `node.type` narrows to them. Where the grammar only allows a string, such as an import's `source`, the type is `StringLiteral`, a `Literal` whose `value` is a `string`.
62
68
 
63
69
  ```ts
64
70
  import { parseModule, type TSInterfaceDeclaration } from "sveast";
@@ -78,11 +84,18 @@ import { parse } from "sveast";
78
84
 
79
85
  function componentsUsed(source: string): string[] {
80
86
  const names = new Set<string>();
81
- const visit = (node: unknown): void => {
82
- if (!node || typeof node !== "object") return;
83
- const { type, name } = node as { type?: string; name?: string };
84
- if (type === "Component" && name) names.add(name);
85
- for (const child of Object.values(node)) visit(child);
87
+ const visit = (node: object): void => {
88
+ if (
89
+ "type" in node &&
90
+ node.type === "Component" &&
91
+ "name" in node &&
92
+ typeof node.name === "string"
93
+ ) {
94
+ names.add(node.name);
95
+ }
96
+ for (const child of Object.values(node)) {
97
+ if (typeof child === "object" && child !== null) visit(child);
98
+ }
86
99
  };
87
100
  visit(parse(source, { css: false }).fragment);
88
101
  return [...names]; // ["Button", "Modal.Root"]
package/index.d.ts CHANGED
@@ -1,3 +1,20 @@
1
+ /**
2
+ * Whether `text` is exactly one TypeScript type, e.g. a JSDoc `{"sm" | "lg"}`
3
+ * about to be copied into a `.d.ts`: the type on the right of
4
+ * `type T = ...`, with nothing before or after it but whitespace and
5
+ * comments. Parsed on its own, not wrapped in a statement, so a `;`, a line
6
+ * break or a `}` in `text` can't end the type and start something else.
7
+ */
8
+ export declare function isValidType(text: string, options?: {
9
+ /**
10
+ * `text` will be embedded before more code on the same line, e.g.
11
+ * `CustomEvent<${text}>`: also require every `//` comment in it to end
12
+ * with a line break, so it can't comment out what follows. Default
13
+ * `false`.
14
+ */
15
+ inline?: boolean;
16
+ }): boolean;
17
+
1
18
  /**
2
19
  * Parses a Svelte component into svelte's modern AST, the same as
3
20
  * `parse(source, { modern: true })` from svelte/compiler. From svelte's
@@ -234,6 +251,8 @@ export interface MaybeNamedFunctionDeclaration extends BaseFunction, BaseDeclara
234
251
  id: Identifier | null;
235
252
  body: BlockStatement;
236
253
  expression: false;
254
+ /** No `TSParameterProperty`: `private x` only parses in a class constructor, a `FunctionExpression`. */
255
+ params: Pattern[];
237
256
  }
238
257
 
239
258
  export interface FunctionDeclaration extends MaybeNamedFunctionDeclaration {
@@ -446,6 +465,11 @@ export interface SimpleLiteral extends BaseNode, BaseExpression {
446
465
  raw?: string | undefined;
447
466
  }
448
467
 
468
+ /** A string `Literal`: a module specifier, an import attribute, or a quoted module export name. */
469
+ export interface StringLiteral extends SimpleLiteral {
470
+ value: string;
471
+ }
472
+
449
473
  export interface RegExpLiteral extends BaseNode, BaseExpression {
450
474
  type: "Literal";
451
475
  value?: RegExp | null | undefined;
@@ -492,6 +516,8 @@ export interface ArrowFunctionExpression extends BaseExpression, BaseFunction {
492
516
  expression: boolean;
493
517
  body: BlockStatement | Expression;
494
518
  id: null;
519
+ /** No `TSParameterProperty`: `private x` only parses in a class constructor, a `FunctionExpression`. */
520
+ params: Pattern[];
495
521
  }
496
522
 
497
523
  export interface YieldExpression extends BaseExpression {
@@ -610,20 +636,20 @@ export interface ImportDeclaration extends BaseModuleDeclaration {
610
636
  specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>;
611
637
  /** Absent with `typescript: true` unless there's a `with` clause, as in acorn-typescript. */
612
638
  attributes?: ImportAttribute[] | undefined;
613
- source: Literal;
639
+ source: StringLiteral;
614
640
  importKind?: "type" | "value";
615
641
  }
616
642
 
617
643
  export interface ImportSpecifier extends BaseModuleSpecifier {
618
644
  type: "ImportSpecifier";
619
- imported: Identifier | Literal;
645
+ imported: Identifier | StringLiteral;
620
646
  importKind?: "type" | "value";
621
647
  }
622
648
 
623
649
  export interface ImportAttribute extends BaseNode {
624
650
  type: "ImportAttribute";
625
- key: Identifier | Literal;
626
- value: Literal;
651
+ key: Identifier | StringLiteral;
652
+ value: StringLiteral;
627
653
  }
628
654
 
629
655
  export interface ImportExpression extends BaseExpression {
@@ -648,14 +674,14 @@ export interface ExportNamedDeclaration extends BaseModuleDeclaration {
648
674
  specifiers: ExportSpecifier[];
649
675
  /** Absent with `typescript: true` unless there's a `with` clause, as in acorn-typescript. */
650
676
  attributes?: ImportAttribute[] | undefined;
651
- source?: Literal | null | undefined;
677
+ source?: StringLiteral | null | undefined;
652
678
  exportKind?: "type" | "value";
653
679
  }
654
680
 
655
681
  export interface ExportSpecifier extends Omit<BaseModuleSpecifier, "local"> {
656
682
  type: "ExportSpecifier";
657
- local: Identifier | Literal;
658
- exported: Identifier | Literal;
683
+ local: Identifier | StringLiteral;
684
+ exported: Identifier | StringLiteral;
659
685
  exportKind?: "type" | "value";
660
686
  }
661
687
 
@@ -667,10 +693,10 @@ export interface ExportDefaultDeclaration extends BaseModuleDeclaration {
667
693
 
668
694
  export interface ExportAllDeclaration extends BaseModuleDeclaration {
669
695
  type: "ExportAllDeclaration";
670
- exported: Identifier | Literal | null;
696
+ exported: Identifier | StringLiteral | null;
671
697
  /** Absent with `typescript: true` unless there's a `with` clause, as in acorn-typescript. */
672
698
  attributes?: ImportAttribute[] | undefined;
673
- source: Literal;
699
+ source: StringLiteral;
674
700
  exportKind?: "type" | "value";
675
701
  }
676
702
 
@@ -838,7 +864,7 @@ export interface TSConstructorType extends BaseNode {
838
864
 
839
865
  export interface TSImportType extends BaseNode {
840
866
  type: "TSImportType";
841
- argument: Literal;
867
+ argument: StringLiteral;
842
868
  qualifier?: EntityName;
843
869
  typeArguments?: TSTypeParameterInstantiation;
844
870
  }
@@ -1050,14 +1076,14 @@ export interface TSEnumDeclaration extends BaseNode {
1050
1076
 
1051
1077
  export interface TSEnumMember extends BaseNode {
1052
1078
  type: "TSEnumMember";
1053
- id: Identifier | Literal;
1079
+ id: Identifier | StringLiteral;
1054
1080
  initializer?: Expression;
1055
1081
  }
1056
1082
 
1057
1083
  /** `namespace A {}`, `module "a" {}`, `declare global {}`; `namespace A.B {}` nests through `body`. */
1058
1084
  export interface TSModuleDeclaration extends BaseNode {
1059
1085
  type: "TSModuleDeclaration";
1060
- id: Identifier | Literal;
1086
+ id: Identifier | StringLiteral;
1061
1087
  /** Absent for `declare module "a";`. */
1062
1088
  body?: TSModuleBlock | TSModuleDeclaration;
1063
1089
  declare?: boolean;
@@ -1111,7 +1137,7 @@ export interface TSImportEqualsDeclaration extends BaseNode {
1111
1137
 
1112
1138
  export interface TSExternalModuleReference extends BaseNode {
1113
1139
  type: "TSExternalModuleReference";
1114
- expression: Literal;
1140
+ expression: StringLiteral;
1115
1141
  }
1116
1142
 
1117
1143
  /** `export = a`. */
@@ -1670,13 +1696,19 @@ export declare class ParseError extends Error {
1670
1696
  name: string;
1671
1697
  /** svelte's error code, e.g. `"expected_token"` or `"block_unclosed"`. */
1672
1698
  code: string;
1699
+ /**
1700
+ * The message without svelte's link to the error's docs, e.g.
1701
+ * `"Unexpected token"`. `message` is always `reason`, a line break, then
1702
+ * the link, `https://svelte.dev/e/${code}`.
1703
+ */
1704
+ reason: string;
1673
1705
  /** `[start, end]` offsets into the source. */
1674
1706
  position?: [number, number];
1675
1707
  start?: Location;
1676
1708
  end?: Location;
1677
1709
  /** A few lines of source around the error, with a `^` under it. */
1678
1710
  frame?: string;
1679
- constructor(node: NodeLike, code: string, message: string);
1711
+ constructor(node: NodeLike, code: string, reason: string);
1680
1712
  }
1681
1713
 
1682
1714
  interface Location {
package/index.js CHANGED
@@ -1 +1 @@
1
- import{parse as t}from"./parse.js";import{ParseError as o,parseModule as s}from"./parse-module.js";export{o as ParseError,t as parse,s as parseModule};
1
+ import{isValidType as t}from"./is-valid-type.js";import{parse as o}from"./parse.js";import{ParseError as y,parseModule as a}from"./parse-module.js";export{y as ParseError,t as isValidType,o as parse,a as parseModule};
@@ -0,0 +1 @@
1
+ import{t,f}from"./shared-vpc1jrf6.js";var a=new Set("abstract accessor arguments as asserts async await break case catch class const continue debugger declare default delete do else enum eval export extends false finally for function get global if implements import in infer instanceof interface intrinsic is keyof let module namespace new null of out override package private protected public readonly return satisfies set static super switch this throw true try type typeof unique var void while with yield".split(" ")),d=new Set("any bigint boolean false never null number object string symbol true undefined unknown void".split(" ")),y=new Set("get set new readonly static public private protected".split(" "));function u(e){return e>=97&&e<=122||e>=65&&e<=90||e===95||e===36}function o(e){return e>=48&&e<=57}function h(e){return u(e)||o(e)}class l{text;pos=0;constructor(e){this.text=e}readAll(){if(!this.type())return!1;return this.peek(),this.pos===this.text.length}peek(){let e=this.text,s=this.pos,r=e.charCodeAt(s);while(r===32||r===9)r=e.charCodeAt(++s);return this.pos=s,r}eat(e){if(this.peek()!==e.charCodeAt(0))return!1;return this.pos++,!0}word(){if(!u(this.peek()))return;let e=this.pos,s=e+1;while(h(this.text.charCodeAt(s)))s++;return this.pos=s,this.text.slice(e,s)}name(){let e=this.word();return e!==void 0&&!a.has(e)}string(){let e=this.peek();if(e!==34&&e!==39)return!1;let s=this.text;for(let r=this.pos+1;r<s.length;r++){let i=s.charCodeAt(r);if(i===e)return this.pos=r+1,!0;if(i===92||i===10||i===13||i===8232||i===8233)return!1}return!1}number(){let e=this.text,s=this.pos;if(e.charCodeAt(s)===45)s++;let r=s;while(o(e.charCodeAt(s)))s++;if(s===r||s-r>1&&e.charCodeAt(r)===48)return!1;if(e.charCodeAt(s)===46){let n=++s;while(o(e.charCodeAt(s)))s++;if(s===n)return!1}let i=e.charCodeAt(s);if(h(i)||i===46)return!1;return this.pos=s,!0}type(){if(this.peek()===40){let e=this.pos;if(this.functionType())return!0;this.pos=e}do do if(!this.operatorType())return!1;while(this.eat("&"));while(this.eat("|"));return!0}operatorType(){let e=this.pos;if(this.word()==="keyof")return this.operatorType();if(this.pos=e,!this.primaryType())return!1;while(this.eat("[")){if(this.eat("]"))continue;if(!this.type()||!this.eat("]"))return!1}return!0}primaryType(){let e=this.peek();if(e===40)return this.pos++,this.type()&&this.eat(")");if(e===123)return this.objectType();if(e===91)return this.tupleType();if(e===34||e===39)return this.string();if(e===45||o(e))return this.number();let s=this.word();if(s===void 0)return!1;if(s==="typeof")return this.typeQuery();if(s==="import")return this.importType(!0);if(d.has(s)){let r=this.peek();return r!==46&&r!==60}if(a.has(s))return!1;while(this.eat("."))if(this.word()===void 0)return!1;return!this.eat("<")||this.typeArguments()}typeArguments(){do if(!this.type())return!1;while(this.eat(","));return this.eat(">")}typeQuery(){let e=this.pos;if(this.word()==="import")return this.importType(!1);this.pos=e;do if(!this.name())return!1;while(this.eat("."));return!0}importType(e){if(!this.eat("(")||!this.string()||!this.eat(")"))return!1;while(this.eat("."))if(!this.name())return!1;return!e||!this.eat("<")||this.typeArguments()}objectType(){this.pos++;while(!this.eat("}")){if(!this.typeMember())return!1;if(!this.eat(";")&&!this.eat(",")&&this.peek()!==125)return!1}return!0}typeMember(){let e=this.peek();if(this.eat("[")){let s=this.peek();if(s===34||s===39){if(!this.string()||!this.eat("]"))return!1}else return this.name()&&this.eat(":")&&this.type()&&this.eat("]")&&this.eat(":")&&this.type()}else if(e===34||e===39){if(!this.string())return!1}else{let s=this.word();if(s===void 0||y.has(s))return!1}return this.eat("?"),this.eat(":")&&this.type()}tupleType(){if(this.pos++,this.eat("]"))return!0;do if(!this.type())return!1;while(this.eat(","));return this.eat("]")}functionType(){if(this.pos++,!this.eat(")")){let e=new Set;for(;;){this.peek();let s=this.text.startsWith("...",this.pos);if(s)this.pos+=3;let r=this.word();if(r===void 0||a.has(r)||e.has(r))return!1;if(e.add(r),!s)this.eat("?");if(!this.eat(":")||!this.type())return!1;if(s||!this.eat(","))break}if(!this.eat(")"))return!1}if(this.peek(),!this.text.startsWith("=>",this.pos))return!1;return this.pos+=2,this.type()}}function p(e){return new l(e).readAll()}var m=t.extend(f);function S(e,s={}){return p(e)||b(e,s.inline??!1)}function b(e,s){let r=!1,i=new m(s?{ecmaVersion:16,sourceType:"module",onComment:(n,T,A,c)=>{if(!n&&c===e.length)r=!0}}:{ecmaVersion:16,sourceType:"module"},e);try{return i.parseWholeType(),!r}catch(n){if(n instanceof SyntaxError)return!1;throw n}}export{S as isValidType,b as parsesAsType};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sveast",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "license": "MIT",
5
5
  "description": "Zero-dependency Svelte 5 parser, TypeScript included, with svelte/compiler's exact AST, 2-3x faster.",
6
6
  "author": "Eric Liu (https://github.com/metonym)",
package/parse-module.js CHANGED
@@ -1 +1 @@
1
- import{u,e,l}from"./shared-6xjb6x65.js";function m(r,o={}){return u(r),l({isTypeScript:o.typescript??!1,loc:o.loc??!1,root:{comments:[]}},r)}export{e as ParseError,m as parseModule};
1
+ import"./shared-vpc1jrf6.js";import{c,e,p}from"./shared-tjen9kxy.js";function s(r,o={}){return c(r),p({isTypeScript:o.typescript??!1,loc:o.loc??!1,root:{comments:[]}},r)}export{e as ParseError,s as parseModule};
package/parse.js CHANGED
@@ -1,2 +1,2 @@
1
- import{u,n,o,v,y,k,w,S,A,_,E,T,C,p,N,L,f,P,q,I,R,c,d,O,m,D,B,s,V,F,j,M,U,z,W,G,H,b,K,X,Q,Y,Z,J,h,ee,te,ie,x,se,re,ne,ae,i,oe,ue,le,t,r,l,a,ce,g}from"./shared-6xjb6x65.js";var ur={li:["li"],dt:["dt","dd"],dd:["dt","dd"],p:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","menu","nav","ol","p","pre","section","table","ul"],rt:["rt","rp"],rp:["rt","rp"],optgroup:["optgroup"],option:["option","optgroup"],thead:["tbody","tfoot"],tbody:["tbody","tfoot"],tfoot:["tbody"],tr:["tr","tbody"],td:["td","th","tr"],th:["td","th","tr"]};function pr(e,de){return Object.hasOwn(ur,e)&&ur[e].includes(de)}var Ze=new Set(["arguments","await","break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","eval","export","extends","false","finally","for","function","if","implements","import","in","instanceof","interface","let","new","null","package","private","protected","public","return","static","super","switch","this","throw","true","try","typeof","var","void","while","with","yield"]),$e=/<!--[\s\S]*?-->|<script\s+(?:[^>]*|(?:[^=>'"/]+=(?:"[^"]*"|'[^']*'|[^>\s]+)\s+)*)lang=(["'])?([^"' >]+)\1[^>]*>/y,sn=/\r(?!\n)|[\u2028\u2029]/;function qe(e){if(e===32||e<=13&&e>=9)return!0;if(e<160)return!1;return e===160||e===5760||e>=8192&&e<=8202||e===8232||e===8233||e===8239||e===8287||e===12288||e===65279}function _e(e,de){let pe=de;while(pe<e.length&&qe(e.charCodeAt(pe)))pe++;return pe}function ze(e,de){let pe=e.codePointAt(de);if(pe===void 0||!t(pe,!0))return de;let fe=de+(pe<=65535?1:2);while(fe<e.length){let me=e.codePointAt(fe);if(!r(me,!0))break;fe+=me<=65535?1:2}return fe}function an(e){let de=e.indexOf("<");while(de!==-1){let pe=e.charCodeAt(de+1);if(pe===33||pe===115){$e.lastIndex=de;let fe=$e.exec(e);if(fe){if(pe===115)return fe[2]==="ts";de=e.indexOf("<",$e.lastIndex);continue}}de=e.indexOf("<",de+1)}return!1}class Qe{source;index=0;loc;lfOnly;isTypeScript;css;root;stack;fragments;metaTags=new Set;lastAutoClosedTag;nextAngle=-1;nextBrace=-1;constructor(e,de,pe={}){this.source=e,this.loc=pe.loc??!1,this.lfOnly=this.loc&&!sn.test(e),this.isTypeScript=an(e),this.css=pe.css??!0,this.root={type:"Root",start:0,end:de,css:null,js:[],options:null,fragment:{type:"Fragment",nodes:[]},comments:[]},this.stack=[this.root],this.fragments=[this.root.fragment]}match(e){if(e.length===1)return this.source.charCodeAt(this.index)===e.charCodeAt(0);return this.source.startsWith(e,this.index)}matchRegex(e){return e.lastIndex=this.index,e.exec(this.source)?.[0]??null}eat(e,de=!1){if(this.match(e))return this.index+=e.length,!0;if(de)s(this.index,e);return!1}read(e){let de=this.matchRegex(e);if(de)this.index+=de.length;return de}readUntil(e){if(this.index>=this.source.length)i(this.source.length);let de=this.source.indexOf(e,this.index),pe=de===-1?this.source.length:de,fe=this.source.slice(this.index,pe);return this.index=pe,fe}allowWhitespace(){this.index=_e(this.source,this.index)}requireWhitespace(){if(!qe(this.source.charCodeAt(this.index)))V(this.index);this.allowWhitespace()}eatClosingBrace(){this.allowWhitespace(),this.eat("}",!0)}sourceLocation(e,de){return this.loc?{start:n(e),end:n(de)}:void 0}readIdentifierName(){let e=this.index,de=ze(this.source,e),pe=this.source.slice(e,de);if(this.index=de,Ze.has(pe))oe(e,pe);let fe={type:"Identifier",name:pe,start:e,end:de};if(this.loc)fe.loc=this.sourceLocation(e,de);return fe}current(){return this.stack[this.stack.length-1]}append(e){this.fragments[this.fragments.length-1].nodes.push(e)}open(e,de){this.append(e),this.stack.push(e),this.fragments.push(de)}setFragment(e){this.fragments[this.fragments.length-1]=e}close(){this.stack.pop(),this.fragments.pop()}}var ln=["===","!==","==","!=","&&","||","??"];function Ke(e,de,pe,fe){return{type:"Literal",start:de,end:pe,value:fe,raw:e.slice(de,pe)}}function dr(e,de){let pe=e.charCodeAt(de);if(pe===34||pe===39){for(let me=de+1;me<e.length;me++){let ge=e.charCodeAt(me);if(ge===pe)return Ke(e,de,me+1,e.slice(de+1,me));if(ge===92||ge===10||ge===13)return null}return null}let fe=de;for(;fe<e.length;fe++){let me=e.charCodeAt(fe);if(me<48||me>57)break}if(fe===de||pe===48&&fe-de>1)return null;return Ke(e,de,fe,Number(e.slice(de,fe)))}function cn(e,de){let pe=ze(e,de);if(pe===de)return dr(e,de);let fe=e.slice(de,pe);if(fe==="true"||fe==="false"||fe==="null")return Ke(e,de,pe,fe==="null"?null:fe==="true");if(Ze.has(fe))return null;let me={type:"Identifier",start:de,end:pe,name:fe};for(let ge=pe;;){let he=e.charCodeAt(ge),be,ye;if(he===46){if(ye=ze(e,ge+1),ye===ge+1)return null;be={type:"Identifier",start:ge+1,end:ye,name:e.slice(ge+1,ye)}}else if(he===91){if(be=dr(e,ge+1),!be||e.charCodeAt(be.end)!==93)return null;ye=be.end+1}else return me;me={type:"MemberExpression",start:de,end:ye,object:me,property:be,computed:he===91,optional:!1},ge=ye}}function Ye(e,de){if(e.charCodeAt(de)!==33||e.charCodeAt(de+1)===61)return cn(e,de);let pe=Ye(e,_e(e,de+1));if(!pe)return null;return{type:"UnaryExpression",start:de,end:pe.end,operator:"!",prefix:!0,argument:pe}}function fr(e,de){let pe=_e(e,de);if(pe>=e.length)return!1;let fe=e.charCodeAt(pe);return fe===125||fe===41}function un(e,de){let pe=Ye(e,de);if(!pe||fr(e,pe.end))return pe;let fe=_e(e,pe.end),me=ln.find((he)=>e.startsWith(he,fe));if(!me)return null;let ge=Ye(e,_e(e,fe+me.length));if(!ge||!fr(e,ge.end))return null;return{type:me==="&&"||me==="||"||me==="??"?"LogicalExpression":"BinaryExpression",start:pe.start,end:ge.end,left:pe,operator:me,right:ge}}function mr(e){e.loc={start:o(e.start),end:o(e.end)};for(let de of["object","property","argument","left","right"]){let pe=e[de];if(pe)mr(pe)}}function Ae(e){let de=!e.loc||e.lfOnly?un(e.source,e.index):null;if(de){if(e.index=de.end,e.loc)mr(de);return de}let{node:pe,end:fe}=a(e,e.source,e.index);return e.index=fe,pe}var gr="AElig:5i AElig;:5i AMP:12 AMP;:12 Aacute:5d Aacute;:5d Abreve;:76 Acirc:5e Acirc;:5e Acy;:sw Afr;:2kn8 Agrave:5c Agrave;:5c Alpha;:pd Amacr;:74 And;:8cz Aogon;:78 Aopf;:2koo ApplyFunction;:6e9 Aring:5h Aring;:5h Ascr;:2kkc Assign;:6s4 Atilde:5f Atilde;:5f Auml:5g Auml;:5g Backslash;:6qe Barv;:8h3 Barwed;:6x2 Bcy;:sx Because;:6r9 Bernoullis;:6jw Beta;:pe Bfr;:2kn9 Bopf;:2kop Breve;:k8 Bscr;:6jw Bumpeq;:6ry CHcy;:tj COPY:4p COPY;:4p Cacute;:7a Cap;:6vm CapitalDifferentialD;:6kl Cayleys;:6jx Ccaron;:7g Ccedil:5j Ccedil;:5j Ccirc;:7c Cconint;:6r4 Cdot;:7e Cedilla;:54 CenterDot;:53 Cfr;:6jx Chi;:pz CircleDot;:6u1 CircleMinus;:6ty CirclePlus;:6tx CircleTimes;:6tz ClockwiseContourIntegral;:6r6 CloseCurlyDoubleQuote;:6cd CloseCurlyQuote;:6c9 Colon;:6rb Colone;:8dw Congruent;:6sh Conint;:6r3 ContourIntegral;:6r2 Copf;:6iq Coproduct;:6q8 CounterClockwiseContourIntegral;:6r7 Cross;:8bz Cscr;:2kke Cup;:6vn CupCap;:6rx DD;:6kl DDotrahd;:841 DJcy;:si DScy;:sl DZcy;:sv Dagger;:6ch Darr;:6n5 Dashv;:8h0 Dcaron;:7i Dcy;:t0 Del;:6pz Delta;:pg Dfr;:2knb DiacriticalAcute;:50 DiacriticalDot;:k9 DiacriticalDoubleAcute;:kd DiacriticalGrave;:2o DiacriticalTilde;:kc Diamond;:6v8 DifferentialD;:6km Dopf;:2kor Dot;:4o DotDot;:6ho DotEqual;:6s0 DoubleContourIntegral;:6r3 DoubleDot;:4o DoubleDownArrow;:6oj DoubleLeftArrow;:6og DoubleLeftRightArrow;:6ok DoubleLeftTee;:8h0 DoubleLongLeftArrow;:7w8 DoubleLongLeftRightArrow;:7wa DoubleLongRightArrow;:7w9 DoubleRightArrow;:6oi DoubleRightTee;:6ug DoubleUpArrow;:6oh DoubleUpDownArrow;:6ol DoubleVerticalBar;:6qt DownArrow;:6mr DownArrowBar;:843 DownArrowUpArrow;:6ph DownBreve;:lt DownLeftRightVector;:85s DownLeftTeeVector;:866 DownLeftVector;:6nx DownLeftVectorBar;:85y DownRightTeeVector;:867 DownRightVector;:6o1 DownRightVectorBar;:85z DownTee;:6uc DownTeeArrow;:6nb Downarrow;:6oj Dscr;:2kkf Dstrok;:7k ENG;:96 ETH:5s ETH;:5s Eacute:5l Eacute;:5l Ecaron;:7u Ecirc:5m Ecirc;:5m Ecy;:tp Edot;:7q Efr;:2knc Egrave:5k Egrave;:5k Element;:6q0 Emacr;:7m EmptySmallSquare;:7i3 EmptyVerySmallSquare;:7fv Eogon;:7s Eopf;:2kos Epsilon;:ph Equal;:8dx EqualTilde;:6rm Equilibrium;:6oc Escr;:6k0 Esim;:8dv Eta;:pj Euml:5n Euml;:5n Exists;:6pv ExponentialE;:6kn Fcy;:tg Ffr;:2knd FilledSmallSquare;:7i4 FilledVerySmallSquare;:7fu Fopf;:2kot ForAll;:6ps Fouriertrf;:6k1 Fscr;:6k1 GJcy;:sj GT:1q GT;:1q Gamma;:pf Gammad;:rg Gbreve;:7y Gcedil;:82 Gcirc;:7w Gcy;:sz Gdot;:80 Gfr;:2kne Gg;:6vt Gopf;:2kou GreaterEqual;:6sl GreaterEqualLess;:6vv GreaterFullEqual;:6sn GreaterGreater;:8f6 GreaterLess;:6t3 GreaterSlantEqual;:8e6 GreaterTilde;:6sz Gscr;:2kki Gt;:6sr HARDcy;:tm Hacek;:jr Hat;:2m Hcirc;:84 Hfr;:6j0 HilbertSpace;:6iz Hopf;:6j1 HorizontalLine;:7b4 Hscr;:6iz Hstrok;:86 HumpDownHump;:6ry HumpEqual;:6rz IEcy;:t1 IJlig;:8i IOcy;:sh Iacute:5p Iacute;:5p Icirc:5q Icirc;:5q Icy;:t4 Idot;:8g Ifr;:6j5 Igrave:5o Igrave;:5o Im;:6j5 Imacr;:8a ImaginaryI;:6ko Implies;:6oi Int;:6r0 Integral;:6qz Intersection;:6v6 InvisibleComma;:6eb InvisibleTimes;:6ea Iogon;:8e Iopf;:2kow Iota;:pl Iscr;:6j4 Itilde;:88 Iukcy;:sm Iuml:5r Iuml;:5r Jcirc;:8k Jcy;:t5 Jfr;:2knh Jopf;:2kox Jscr;:2kkl Jsercy;:so Jukcy;:sk KHcy;:th KJcy;:ss Kappa;:pm Kcedil;:8m Kcy;:t6 Kfr;:2kni Kopf;:2koy Kscr;:2kkm LJcy;:sp LT:1o LT;:1o Lacute;:8p Lambda;:pn Lang;:7vu Laplacetrf;:6j6 Larr;:6n2 Lcaron;:8t Lcedil;:8r Lcy;:t7 LeftAngleBracket;:7vs LeftArrow;:6mo LeftArrowBar;:6p0 LeftArrowRightArrow;:6o6 LeftCeiling;:6x4 LeftDoubleBracket;:7vq LeftDownTeeVector;:869 LeftDownVector;:6o3 LeftDownVectorBar;:861 LeftFloor;:6x6 LeftRightArrow;:6ms LeftRightVector;:85q LeftTee;:6ub LeftTeeArrow;:6n8 LeftTeeVector;:862 LeftTriangle;:6uq LeftTriangleBar;:89b LeftTriangleEqual;:6us LeftUpDownVector;:85t LeftUpTeeVector;:868 LeftUpVector;:6nz LeftUpVectorBar;:860 LeftVector;:6nw LeftVectorBar;:85u Leftarrow;:6og Leftrightarrow;:6ok LessEqualGreater;:6vu LessFullEqual;:6sm LessGreater;:6t2 LessLess;:8f5 LessSlantEqual;:8e5 LessTilde;:6sy Lfr;:2knj Ll;:6vs Lleftarrow;:6oq Lmidot;:8v LongLeftArrow;:7w5 LongLeftRightArrow;:7w7 LongRightArrow;:7w6 Longleftarrow;:7w8 Longleftrightarrow;:7wa Longrightarrow;:7w9 Lopf;:2koz LowerLeftArrow;:6mx LowerRightArrow;:6mw Lscr;:6j6 Lsh;:6nk Lstrok;:8x Lt;:6sq Map;:83p Mcy;:t8 MediumSpace;:6e7 Mellintrf;:6k3 Mfr;:2knk MinusPlus;:6qb Mopf;:2kp0 Mscr;:6k3 Mu;:po NJcy;:sq Nacute;:8z Ncaron;:93 Ncedil;:91 Ncy;:t9 NegativeMediumSpace;:6bv NegativeThickSpace;:6bv NegativeThinSpace;:6bv NegativeVeryThinSpace;:6bv NestedGreaterGreater;:6sr NestedLessLess;:6sq NewLine;:a Nfr;:2knl NoBreak;:6e8 NonBreakingSpace;:4g Nopf;:6j9 Not;:8h8 NotCongruent;:6si NotCupCap;:6st NotDoubleVerticalBar;:6qu NotElement;:6q1 NotEqual;:6sg NotEqualTilde;:6rm NotExists;:6pw NotGreater;:6sv NotGreaterEqual;:6sx NotGreaterFullEqual;:6sn NotGreaterGreater;:6sr NotGreaterLess;:6t5 NotGreaterSlantEqual;:8e6 NotGreaterTilde;:6t1 NotHumpDownHump;:6ry NotHumpEqual;:6rz NotLeftTriangle;:6wa NotLeftTriangleBar;:89b NotLeftTriangleEqual;:6wc NotLess;:6su NotLessEqual;:6sw NotLessGreater;:6t4 NotLessLess;:6sq NotLessSlantEqual;:8e5 NotLessTilde;:6t0 NotNestedGreaterGreater;:8f6 NotNestedLessLess;:8f5 NotPrecedes;:6tc NotPrecedesEqual;:8fj NotPrecedesSlantEqual;:6w0 NotReverseElement;:6q4 NotRightTriangle;:6wb NotRightTriangleBar;:89c NotRightTriangleEqual;:6wd NotSquareSubset;:6tr NotSquareSubsetEqual;:6w2 NotSquareSuperset;:6ts NotSquareSupersetEqual;:6w3 NotSubset;:6te NotSubsetEqual;:6tk NotSucceeds;:6td NotSucceedsEqual;:8fk NotSucceedsSlantEqual;:6w1 NotSucceedsTilde;:6tb NotSuperset;:6tf NotSupersetEqual;:6tl NotTilde;:6rl NotTildeEqual;:6ro NotTildeFullEqual;:6rr NotTildeTilde;:6rt NotVerticalBar;:6qs Nscr;:2kkp Ntilde:5t Ntilde;:5t Nu;:pp OElig;:9e Oacute:5v Oacute;:5v Ocirc:5w Ocirc;:5w Ocy;:ta Odblac;:9c Ofr;:2knm Ograve:5u Ograve;:5u Omacr;:98 Omega;:q1 Omicron;:pr Oopf;:2kp2 OpenCurlyDoubleQuote;:6cc OpenCurlyQuote;:6c8 Or;:8d0 Oscr;:2kkq Oslash:60 Oslash;:60 Otilde:5x Otilde;:5x Otimes;:8c7 Ouml:5y Ouml;:5y OverBar;:6da OverBrace;:732 OverBracket;:71w OverParenthesis;:730 PartialD;:6pu Pcy;:tb Pfr;:2knn Phi;:py Pi;:ps PlusMinus;:4x Poincareplane;:6j0 Popf;:6jd Pr;:8fv Precedes;:6t6 PrecedesEqual;:8fj PrecedesSlantEqual;:6t8 PrecedesTilde;:6ta Prime;:6cz Product;:6q7 Proportion;:6rb Proportional;:6ql Pscr;:2kkr Psi;:q0 QUOT:y QUOT;:y Qfr;:2kno Qopf;:6je Qscr;:2kks RBarr;:840 REG:4u REG;:4u Racute;:9g Rang;:7vv Rarr;:6n4 Rarrtl;:846 Rcaron;:9k Rcedil;:9i Rcy;:tc Re;:6jg ReverseElement;:6q3 ReverseEquilibrium;:6ob ReverseUpEquilibrium;:86n Rfr;:6jg Rho;:pt RightAngleBracket;:7vt RightArrow;:6mq RightArrowBar;:6p1 RightArrowLeftArrow;:6o4 RightCeiling;:6x5 RightDoubleBracket;:7vr RightDownTeeVector;:865 RightDownVector;:6o2 RightDownVectorBar;:85x RightFloor;:6x7 RightTee;:6ua RightTeeArrow;:6na RightTeeVector;:863 RightTriangle;:6ur RightTriangleBar;:89c RightTriangleEqual;:6ut RightUpDownVector;:85r RightUpTeeVector;:864 RightUpVector;:6ny RightUpVectorBar;:85w RightVector;:6o0 RightVectorBar;:85v Rightarrow;:6oi Ropf;:6jh RoundImplies;:86o Rrightarrow;:6or Rscr;:6jf Rsh;:6nl RuleDelayed;:8ac SHCHcy;:tl SHcy;:tk SOFTcy;:to Sacute;:9m Sc;:8fw Scaron;:9s Scedil;:9q Scirc;:9o Scy;:td Sfr;:2knq ShortDownArrow;:6mr ShortLeftArrow;:6mo ShortRightArrow;:6mq ShortUpArrow;:6mp Sigma;:pv SmallCircle;:6qg Sopf;:2kp6 Sqrt;:6qi Square;:7fl SquareIntersection;:6tv SquareSubset;:6tr SquareSubsetEqual;:6tt SquareSuperset;:6ts SquareSupersetEqual;:6tu SquareUnion;:6tw Sscr;:2kku Star;:6va Sub;:6vk Subset;:6vk SubsetEqual;:6ti Succeeds;:6t7 SucceedsEqual;:8fk SucceedsSlantEqual;:6t9 SucceedsTilde;:6tb SuchThat;:6q3 Sum;:6q9 Sup;:6vl Superset;:6tf SupersetEqual;:6tj Supset;:6vl THORN:66 THORN;:66 TRADE;:6jm TSHcy;:sr TScy;:ti Tab;:9 Tau;:pw Tcaron;:9w Tcedil;:9u Tcy;:te Tfr;:2knr Therefore;:6r8 Theta;:pk ThickSpace;:6e7 ThinSpace;:6bt Tilde;:6rg TildeEqual;:6rn TildeFullEqual;:6rp TildeTilde;:6rs Topf;:2kp7 TripleDot;:6hn Tscr;:2kkv Tstrok;:9y Uacute:62 Uacute;:62 Uarr;:6n3 Uarrocir;:85l Ubrcy;:su Ubreve;:a4 Ucirc:63 Ucirc;:63 Ucy;:tf Udblac;:a8 Ufr;:2kns Ugrave:61 Ugrave;:61 Umacr;:a2 UnderBar;:2n UnderBrace;:733 UnderBracket;:71x UnderParenthesis;:731 Union;:6v7 UnionPlus;:6tq Uogon;:aa Uopf;:2kp8 UpArrow;:6mp UpArrowBar;:842 UpArrowDownArrow;:6o5 UpDownArrow;:6mt UpEquilibrium;:86m UpTee;:6ud UpTeeArrow;:6n9 Uparrow;:6oh Updownarrow;:6ol UpperLeftArrow;:6mu UpperRightArrow;:6mv Upsi;:r6 Upsilon;:px Uring;:a6 Uscr;:2kkw Utilde;:a0 Uuml:64 Uuml;:64 VDash;:6uj Vbar;:8h7 Vcy;:sy Vdash;:6uh Vdashl;:8h2 Vee;:6v5 Verbar;:6c6 Vert;:6c6 VerticalBar;:6qr VerticalLine;:3g VerticalSeparator;:7rs VerticalTilde;:6rk VeryThinSpace;:6bu Vfr;:2knt Vopf;:2kp9 Vscr;:2kkx Vvdash;:6ui Wcirc;:ac Wedge;:6v4 Wfr;:2knu Wopf;:2kpa Wscr;:2kky Xfr;:2knv Xi;:pq Xopf;:2kpb Xscr;:2kkz YAcy;:tr YIcy;:sn YUcy;:tq Yacute:65 Yacute;:65 Ycirc;:ae Ycy;:tn Yfr;:2knw Yopf;:2kpc Yscr;:2kl0 Yuml;:ag ZHcy;:t2 Zacute;:ah Zcaron;:al Zcy;:t3 Zdot;:aj ZeroWidthSpace;:6bv Zeta;:pi Zfr;:6js Zopf;:6jo Zscr;:2kl1 aacute:69 aacute;:69 abreve;:77 ac;:6ri acE;:6ri acd;:6rj acirc:6a acirc;:6a acute:50 acute;:50 acy;:ts aelig:6e aelig;:6e af;:6e9 afr;:2kny agrave:68 agrave;:68 alefsym;:6k5 aleph;:6k5 alpha;:q9 amacr;:75 amalg;:8cf amp:12 amp;:12 and;:6qv andand;:8d1 andd;:8d8 andslope;:8d4 andv;:8d6 ang;:6qo ange;:884 angle;:6qo angmsd;:6qp angmsdaa;:888 angmsdab;:889 angmsdac;:88a angmsdad;:88b angmsdae;:88c angmsdaf;:88d angmsdag;:88e angmsdah;:88f angrt;:6qn angrtvb;:6v2 angrtvbd;:87x angsph;:6qq angst;:5h angzarr;:70c aogon;:79 aopf;:2kpe ap;:6rs apE;:8ds apacir;:8dr ape;:6ru apid;:6rv apos;:13 approx;:6rs approxeq;:6ru aring:6d aring;:6d ascr;:2kl2 ast;:16 asymp;:6rs asympeq;:6rx atilde:6b atilde;:6b auml:6c auml;:6c awconint;:6r7 awint;:8b5 bNot;:8h9 backcong;:6rw backepsilon;:s6 backprime;:6d1 backsim;:6rh backsimeq;:6vh barvee;:6v1 barwed;:6x1 barwedge;:6x1 bbrk;:71x bbrktbrk;:71y bcong;:6rw bcy;:tt bdquo;:6ce becaus;:6r9 because;:6r9 bemptyv;:88g bepsi;:s6 bernou;:6jw beta;:qa beth;:6k6 between;:6ss bfr;:2knz bigcap;:6v6 bigcirc;:7hr bigcup;:6v7 bigodot;:8ao bigoplus;:8ap bigotimes;:8aq bigsqcup;:8au bigstar;:7id bigtriangledown;:7gd bigtriangleup;:7g3 biguplus;:8as bigvee;:6v5 bigwedge;:6v4 bkarow;:83x blacklozenge;:8a3 blacksquare;:7fu blacktriangle;:7g4 blacktriangledown;:7ge blacktriangleleft;:7gi blacktriangleright;:7g8 blank;:74z blk12;:7f6 blk14;:7f5 blk34;:7f7 block;:7ew bne;:1p bnequiv;:6sh bnot;:6xc bopf;:2kpf bot;:6ud bottom;:6ud bowtie;:6vc boxDL;:7dj boxDR;:7dg boxDl;:7di boxDr;:7df boxH;:7dc boxHD;:7dy boxHU;:7e1 boxHd;:7dw boxHu;:7dz boxUL;:7dp boxUR;:7dm boxUl;:7do boxUr;:7dl boxV;:7dd boxVH;:7e4 boxVL;:7dv boxVR;:7ds boxVh;:7e3 boxVl;:7du boxVr;:7dr boxbox;:895 boxdL;:7dh boxdR;:7de boxdl;:7bk boxdr;:7bg boxh;:7b4 boxhD;:7dx boxhU;:7e0 boxhd;:7cc boxhu;:7ck boxminus;:6u7 boxplus;:6u6 boxtimes;:6u8 boxuL;:7dn boxuR;:7dk boxul;:7bs boxur;:7bo boxv;:7b6 boxvH;:7e2 boxvL;:7dt boxvR;:7dq boxvh;:7cs boxvl;:7c4 boxvr;:7bw bprime;:6d1 breve;:k8 brvbar:4m brvbar;:4m bscr;:2kl3 bsemi;:6dr bsim;:6rh bsime;:6vh bsol;:2k bsolb;:891 bsolhsub;:7uw bull;:6ci bullet;:6ci bump;:6ry bumpE;:8fi bumpe;:6rz bumpeq;:6rz cacute;:7b cap;:6qx capand;:8ck capbrcup;:8cp capcap;:8cr capcup;:8cn capdot;:8cg caps;:6qx caret;:6dd caron;:jr ccaps;:8ct ccaron;:7h ccedil:6f ccedil;:6f ccirc;:7d ccups;:8cs ccupssm;:8cw cdot;:7f cedil:54 cedil;:54 cemptyv;:88i cent:4i cent;:4i centerdot;:53 cfr;:2ko0 chcy;:uf check;:7pv checkmark;:7pv chi;:qv cir;:7gr cirE;:88z circ;:jq circeq;:6s7 circlearrowleft;:6nu circlearrowright;:6nv circledR;:4u circledS;:79k circledast;:6u3 circledcirc;:6u2 circleddash;:6u5 cire;:6s7 cirfnint;:8b4 cirmid;:8hb cirscir;:88y clubs;:7kz clubsuit;:7kz colon;:1m colone;:6s4 coloneq;:6s4 comma;:18 commat;:1s comp;:6pt compfn;:6qg complement;:6pt complexes;:6iq cong;:6rp congdot;:8dp conint;:6r2 copf;:2kpg coprod;:6q8 copy:4p copy;:4p copysr;:6jb crarr;:6np cross;:7pz cscr;:2kl4 csub;:8gf csube;:8gh csup;:8gg csupe;:8gi ctdot;:6wf cudarrl;:854 cudarrr;:851 cuepr;:6vy cuesc;:6vz cularr;:6nq cularrp;:859 cup;:6qy cupbrcap;:8co cupcap;:8cm cupcup;:8cq cupdot;:6tp cupor;:8cl cups;:6qy curarr;:6nr curarrm;:858 curlyeqprec;:6vy curlyeqsucc;:6vz curlyvee;:6vi curlywedge;:6vj curren:4k curren;:4k curvearrowleft;:6nq curvearrowright;:6nr cuvee;:6vi cuwed;:6vj cwconint;:6r6 cwint;:6r5 cylcty;:6y5 dArr;:6oj dHar;:86d dagger;:6cg daleth;:6k8 darr;:6mr dash;:6c0 dashv;:6ub dbkarow;:83z dblac;:kd dcaron;:7j dcy;:tw dd;:6km ddagger;:6ch ddarr;:6oa ddotseq;:8dz deg:4w deg;:4w delta;:qc demptyv;:88h dfisht;:873 dfr;:2ko1 dharl;:6o3 dharr;:6o2 diam;:6v8 diamond;:6v8 diamondsuit;:7l2 diams;:7l2 die;:4o digamma;:rh disin;:6wi div;:6v divide:6v divide;:6v divideontimes;:6vb divonx;:6vb djcy;:uq dlcorn;:6xq dlcrop;:6x9 dollar;:10 dopf;:2kph dot;:k9 doteq;:6s0 doteqdot;:6s1 dotminus;:6rc dotplus;:6qc dotsquare;:6u9 doublebarwedge;:6x2 downarrow;:6mr downdownarrows;:6oa downharpoonleft;:6o3 downharpoonright;:6o2 drbkarow;:840 drcorn;:6xr drcrop;:6x8 dscr;:2kl5 dscy;:ut dsol;:8ae dstrok;:7l dtdot;:6wh dtri;:7gf dtrif;:7ge duarr;:6ph duhar;:86n dwangle;:886 dzcy;:v3 dzigrarr;:7wf eDDot;:8dz eDot;:6s1 eacute:6h eacute;:6h easter;:8dq ecaron;:7v ecir;:6s6 ecirc:6i ecirc;:6i ecolon;:6s5 ecy;:ul edot;:7r ee;:6kn efDot;:6s2 efr;:2ko2 eg;:8ey egrave:6g egrave;:6g egs;:8eu egsdot;:8ew el;:8ex elinters;:73b ell;:6j7 els;:8et elsdot;:8ev emacr;:7n empty;:6px emptyset;:6px emptyv;:6px emsp13;:6bo emsp14;:6bp emsp;:6bn eng;:97 ensp;:6bm eogon;:7t eopf;:2kpi epar;:6vp eparsl;:89v eplus;:8dt epsi;:qd epsilon;:qd epsiv;:s5 eqcirc;:6s6 eqcolon;:6s5 eqsim;:6rm eqslantgtr;:8eu eqslantless;:8et equals;:1p equest;:6sf equiv;:6sh equivDD;:8e0 eqvparsl;:89x erDot;:6s3 erarr;:86p escr;:6jz esdot;:6s0 esim;:6rm eta;:qf eth:6o eth;:6o euml:6j euml;:6j euro;:6gc excl;:x exist;:6pv expectation;:6k0 exponentiale;:6kn fallingdotseq;:6s2 fcy;:uc female;:7k0 ffilig;:1dkz fflig;:1dkw ffllig;:1dl0 ffr;:2ko3 filig;:1dkx fjlig;:2u flat;:7l9 fllig;:1dky fltns;:7g1 fnof;:b6 fopf;:2kpj forall;:6ps fork;:6vo forkv;:8gp fpartint;:8b1 frac12:59 frac12;:59 frac13;:6kz frac14:58 frac14;:58 frac15;:6l1 frac16;:6l5 frac18;:6l7 frac23;:6l0 frac25;:6l2 frac34:5a frac34;:5a frac35;:6l3 frac38;:6l8 frac45;:6l4 frac56;:6l6 frac58;:6l9 frac78;:6la frasl;:6dg frown;:6xu fscr;:2kl7 gE;:6sn gEl;:8ek gacute;:dx gamma;:qb gammad;:rh gap;:8ee gbreve;:7z gcirc;:7x gcy;:tv gdot;:81 ge;:6sl gel;:6vv geq;:6sl geqq;:6sn geqslant;:8e6 ges;:8e6 gescc;:8fd gesdot;:8e8 gesdoto;:8ea gesdotol;:8ec gesl;:6vv gesles;:8es gfr;:2ko4 gg;:6sr ggg;:6vt gimel;:6k7 gjcy;:ur gl;:6t3 glE;:8eq gla;:8f9 glj;:8f8 gnE;:6sp gnap;:8ei gnapprox;:8ei gne;:8eg gneq;:8eg gneqq;:6sp gnsim;:6w7 gopf;:2kpk grave;:2o gscr;:6iy gsim;:6sz gsime;:8em gsiml;:8eo gt:1q gt;:1q gtcc;:8fb gtcir;:8e2 gtdot;:6vr gtlPar;:87p gtquest;:8e4 gtrapprox;:8ee gtrarr;:86w gtrdot;:6vr gtreqless;:6vv gtreqqless;:8ek gtrless;:6t3 gtrsim;:6sz gvertneqq;:6sp gvnE;:6sp hArr;:6ok hairsp;:6bu half;:59 hamilt;:6iz hardcy;:ui harr;:6ms harrcir;:85k harrw;:6nh hbar;:6j3 hcirc;:85 hearts;:7l1 heartsuit;:7l1 hellip;:6cm hercon;:6ux hfr;:2ko5 hksearow;:84l hkswarow;:84m hoarr;:6pr homtht;:6rf hookleftarrow;:6nd hookrightarrow;:6ne hopf;:2kpl horbar;:6c5 hscr;:2kl9 hslash;:6j3 hstrok;:87 hybull;:6df hyphen;:6c0 iacute:6l iacute;:6l ic;:6eb icirc:6m icirc;:6m icy;:u0 iecy;:tx iexcl:4h iexcl;:4h iff;:6ok ifr;:2ko6 igrave:6k igrave;:6k ii;:6ko iiiint;:8b0 iiint;:6r1 iinfin;:89o iiota;:6jt ijlig;:8j imacr;:8b image;:6j5 imagline;:6j4 imagpart;:6j5 imath;:8h imof;:6uv imped;:c5 in;:6q0 incare;:6it infin;:6qm infintie;:89p inodot;:8h int;:6qz intcal;:6uy integers;:6jo intercal;:6uy intlarhk;:8bb intprod;:8cc iocy;:up iogon;:8f iopf;:2kpm iota;:qh iprod;:8cc iquest:5b iquest;:5b iscr;:2kla isin;:6q0 isinE;:6wp isindot;:6wl isins;:6wk isinsv;:6wj isinv;:6q0 it;:6ea itilde;:89 iukcy;:uu iuml:6n iuml;:6n jcirc;:8l jcy;:u1 jfr;:2ko7 jmath;:fr jopf;:2kpn jscr;:2klb jsercy;:uw jukcy;:us kappa;:qi kappav;:s0 kcedil;:8n kcy;:u2 kfr;:2ko8 kgreen;:8o khcy;:ud kjcy;:v0 kopf;:2kpo kscr;:2klc lAarr;:6oq lArr;:6og lAtail;:84b lBarr;:83y lE;:6sm lEg;:8ej lHar;:86a lacute;:8q laemptyv;:88k lagran;:6j6 lambda;:qj lang;:7vs langd;:87l langle;:7vs lap;:8ed laquo:4r laquo;:4r larr;:6mo larrb;:6p0 larrbfs;:84f larrfs;:84d larrhk;:6nd larrlp;:6nf larrpl;:855 larrsim;:86r larrtl;:6n6 lat;:8ff latail;:849 late;:8fh lates;:8fh lbarr;:83w lbbrk;:7si lbrace;:3f lbrack;:2j lbrke;:87f lbrksld;:87j lbrkslu;:87h lcaron;:8u lcedil;:8s lceil;:6x4 lcub;:3f lcy;:u3 ldca;:852 ldquo;:6cc ldquor;:6ce ldrdhar;:86f ldrushar;:85n ldsh;:6nm le;:6sk leftarrow;:6mo leftarrowtail;:6n6 leftharpoondown;:6nx leftharpoonup;:6nw leftleftarrows;:6o7 leftrightarrow;:6ms leftrightarrows;:6o6 leftrightharpoons;:6ob leftrightsquigarrow;:6nh leftthreetimes;:6vf leg;:6vu leq;:6sk leqq;:6sm leqslant;:8e5 les;:8e5 lescc;:8fc lesdot;:8e7 lesdoto;:8e9 lesdotor;:8eb lesg;:6vu lesges;:8er lessapprox;:8ed lessdot;:6vq lesseqgtr;:6vu lesseqqgtr;:8ej lessgtr;:6t2 lesssim;:6sy lfisht;:870 lfloor;:6x6 lfr;:2ko9 lg;:6t2 lgE;:8ep lhard;:6nx lharu;:6nw lharul;:86i lhblk;:7es ljcy;:ux ll;:6sq llarr;:6o7 llcorner;:6xq llhard;:86j lltri;:7i2 lmidot;:8w lmoust;:71s lmoustache;:71s lnE;:6so lnap;:8eh lnapprox;:8eh lne;:8ef lneq;:8ef lneqq;:6so lnsim;:6w6 loang;:7vw loarr;:6pp lobrk;:7vq longleftarrow;:7w5 longleftrightarrow;:7w7 longmapsto;:7wc longrightarrow;:7w6 looparrowleft;:6nf looparrowright;:6ng lopar;:879 lopf;:2kpp loplus;:8bx lotimes;:8c4 lowast;:6qf lowbar;:2n loz;:7gq lozenge;:7gq lozf;:8a3 lpar;:14 lparlt;:87n lrarr;:6o6 lrcorner;:6xr lrhar;:6ob lrhard;:86l lrm;:6by lrtri;:6v3 lsaquo;:6d5 lscr;:2kld lsh;:6nk lsim;:6sy lsime;:8el lsimg;:8en lsqb;:2j lsquo;:6c8 lsquor;:6ca lstrok;:8y lt:1o lt;:1o ltcc;:8fa ltcir;:8e1 ltdot;:6vq lthree;:6vf ltimes;:6vd ltlarr;:86u ltquest;:8e3 ltrPar;:87q ltri;:7gj ltrie;:6us ltrif;:7gi lurdshar;:85m luruhar;:86e lvertneqq;:6so lvnE;:6so mDDot;:6re macr:4v macr;:4v male;:7k2 malt;:7q8 maltese;:7q8 map;:6na mapsto;:6na mapstodown;:6nb mapstoleft;:6n8 mapstoup;:6n9 marker;:7fy mcomma;:8bt mcy;:u4 mdash;:6c4 measuredangle;:6qp mfr;:2koa mho;:6jr micro:51 micro;:51 mid;:6qr midast;:16 midcir;:8hc middot:53 middot;:53 minus;:6qa minusb;:6u7 minusd;:6rc minusdu;:8bu mlcp;:8gr mldr;:6cm mnplus;:6qb models;:6uf mopf;:2kpq mp;:6qb mscr;:2kle mstpos;:6ri mu;:qk multimap;:6uw mumap;:6uw nGg;:6vt nGt;:6sr nGtv;:6sr nLeftarrow;:6od nLeftrightarrow;:6oe nLl;:6vs nLt;:6sq nLtv;:6sq nRightarrow;:6of nVDash;:6un nVdash;:6um nabla;:6pz nacute;:90 nang;:6qo nap;:6rt napE;:8ds napid;:6rv napos;:95 napprox;:6rt natur;:7la natural;:7la naturals;:6j9 nbsp:4g nbsp;:4g nbump;:6ry nbumpe;:6rz ncap;:8cj ncaron;:94 ncedil;:92 ncong;:6rr ncongdot;:8dp ncup;:8ci ncy;:u5 ndash;:6c3 ne;:6sg neArr;:6on nearhk;:84k nearr;:6mv nearrow;:6mv nedot;:6s0 nequiv;:6si nesear;:84o nesim;:6rm nexist;:6pw nexists;:6pw nfr;:2kob ngE;:6sn nge;:6sx ngeq;:6sx ngeqq;:6sn ngeqslant;:8e6 nges;:8e6 ngsim;:6t1 ngt;:6sv ngtr;:6sv nhArr;:6oe nharr;:6ni nhpar;:8he ni;:6q3 nis;:6ws nisd;:6wq niv;:6q3 njcy;:uy nlArr;:6od nlE;:6sm nlarr;:6my nldr;:6cl nle;:6sw nleftarrow;:6my nleftrightarrow;:6ni nleq;:6sw nleqq;:6sm nleqslant;:8e5 nles;:8e5 nless;:6su nlsim;:6t0 nlt;:6su nltri;:6wa nltrie;:6wc nmid;:6qs nopf;:2kpr not:4s not;:4s notin;:6q1 notinE;:6wp notindot;:6wl notinva;:6q1 notinvb;:6wn notinvc;:6wm notni;:6q4 notniva;:6q4 notnivb;:6wu notnivc;:6wt npar;:6qu nparallel;:6qu nparsl;:8hp npart;:6pu npolint;:8b8 npr;:6tc nprcue;:6w0 npre;:8fj nprec;:6tc npreceq;:8fj nrArr;:6of nrarr;:6mz nrarrc;:84z nrarrw;:6n1 nrightarrow;:6mz nrtri;:6wb nrtrie;:6wd nsc;:6td nsccue;:6w1 nsce;:8fk nscr;:2klf nshortmid;:6qs nshortparallel;:6qu nsim;:6rl nsime;:6ro nsimeq;:6ro nsmid;:6qs nspar;:6qu nsqsube;:6w2 nsqsupe;:6w3 nsub;:6tg nsubE;:8g5 nsube;:6tk nsubset;:6te nsubseteq;:6tk nsubseteqq;:8g5 nsucc;:6td nsucceq;:8fk nsup;:6th nsupE;:8g6 nsupe;:6tl nsupset;:6tf nsupseteq;:6tl nsupseteqq;:8g6 ntgl;:6t5 ntilde:6p ntilde;:6p ntlg;:6t4 ntriangleleft;:6wa ntrianglelefteq;:6wc ntriangleright;:6wb ntrianglerighteq;:6wd nu;:ql num;:z numero;:6ja numsp;:6br nvDash;:6ul nvHarr;:83o nvap;:6rx nvdash;:6uk nvge;:6sl nvgt;:1q nvinfin;:89q nvlArr;:83m nvle;:6sk nvlt;:1o nvltrie;:6us nvrArr;:83n nvrtrie;:6ut nvsim;:6rg nwArr;:6om nwarhk;:84j nwarr;:6mu nwarrow;:6mu nwnear;:84n oS;:79k oacute:6r oacute;:6r oast;:6u3 ocir;:6u2 ocirc:6s ocirc;:6s ocy;:u6 odash;:6u5 odblac;:9d odiv;:8c8 odot;:6u1 odsold;:88s oelig;:9f ofcir;:88v ofr;:2koc ogon;:kb ograve:6q ograve;:6q ogt;:88x ohbar;:88l ohm;:q1 oint;:6r2 olarr;:6nu olcir;:88u olcross;:88r oline;:6da olt;:88w omacr;:99 omega;:qx omicron;:qn omid;:88m ominus;:6ty oopf;:2kps opar;:88n operp;:88p oplus;:6tx or;:6qw orarr;:6nv ord;:8d9 order;:6k4 orderof;:6k4 ordf:4q ordf;:4q ordm:56 ordm;:56 origof;:6uu oror;:8d2 orslope;:8d3 orv;:8d7 oscr;:6k4 oslash:6w oslash;:6w osol;:6u0 otilde:6t otilde;:6t otimes;:6tz otimesas;:8c6 ouml:6u ouml;:6u ovbar;:6yl par;:6qt para:52 para;:52 parallel;:6qt parsim;:8hf parsl;:8hp part;:6pu pcy;:u7 percnt;:11 period;:1a permil;:6cw perp;:6ud pertenk;:6cx pfr;:2kod phi;:qu phiv;:r9 phmmat;:6k3 phone;:7im pi;:qo pitchfork;:6vo piv;:ra planck;:6j3 planckh;:6j2 plankv;:6j3 plus;:17 plusacir;:8bn plusb;:6u6 pluscir;:8bm plusdo;:6qc plusdu;:8bp pluse;:8du plusmn:4x plusmn;:4x plussim;:8bq plustwo;:8br pm;:4x pointint;:8b9 popf;:2kpt pound:4j pound;:4j pr;:6t6 prE;:8fn prap;:8fr prcue;:6t8 pre;:8fj prec;:6t6 precapprox;:8fr preccurlyeq;:6t8 preceq;:8fj precnapprox;:8ft precneqq;:8fp precnsim;:6w8 precsim;:6ta prime;:6cy primes;:6jd prnE;:8fp prnap;:8ft prnsim;:6w8 prod;:6q7 profalar;:6y6 profline;:6xe profsurf;:6xf prop;:6ql propto;:6ql prsim;:6ta prurel;:6uo pscr;:2klh psi;:qw puncsp;:6bs qfr;:2koe qint;:8b0 qopf;:2kpu qprime;:6dz qscr;:2kli quaternions;:6j1 quatint;:8ba quest;:1r questeq;:6sf quot:y quot;:y rAarr;:6or rArr;:6oi rAtail;:84c rBarr;:83z rHar;:86c race;:6rh racute;:9h radic;:6qi raemptyv;:88j rang;:7vt rangd;:87m range;:885 rangle;:7vt raquo:57 raquo;:57 rarr;:6mq rarrap;:86t rarrb;:6p1 rarrbfs;:84g rarrc;:84z rarrfs;:84e rarrhk;:6ne rarrlp;:6ng rarrpl;:85h rarrsim;:86s rarrtl;:6n7 rarrw;:6n1 ratail;:84a ratio;:6ra rationals;:6je rbarr;:83x rbbrk;:7sj rbrace;:3h rbrack;:2l rbrke;:87g rbrksld;:87i rbrkslu;:87k rcaron;:9l rcedil;:9j rceil;:6x5 rcub;:3h rcy;:u8 rdca;:853 rdldhar;:86h rdquo;:6cd rdquor;:6cd rdsh;:6nn real;:6jg realine;:6jf realpart;:6jg reals;:6jh rect;:7fx reg:4u reg;:4u rfisht;:871 rfloor;:6x7 rfr;:2kof rhard;:6o1 rharu;:6o0 rharul;:86k rho;:qp rhov;:s1 rightarrow;:6mq rightarrowtail;:6n7 rightharpoondown;:6o1 rightharpoonup;:6o0 rightleftarrows;:6o4 rightleftharpoons;:6oc rightrightarrows;:6o9 rightsquigarrow;:6n1 rightthreetimes;:6vg ring;:ka risingdotseq;:6s3 rlarr;:6o4 rlhar;:6oc rlm;:6bz rmoust;:71t rmoustache;:71t rnmid;:8ha roang;:7vx roarr;:6pq robrk;:7vr ropar;:87a ropf;:2kpv roplus;:8by rotimes;:8c5 rpar;:15 rpargt;:87o rppolint;:8b6 rrarr;:6o9 rsaquo;:6d6 rscr;:2klj rsh;:6nl rsqb;:2l rsquo;:6c9 rsquor;:6c9 rthree;:6vg rtimes;:6ve rtri;:7g9 rtrie;:6ut rtrif;:7g8 rtriltri;:89a ruluhar;:86g rx;:6ji sacute;:9n sbquo;:6ca sc;:6t7 scE;:8fo scap;:8fs scaron;:9t sccue;:6t9 sce;:8fk scedil;:9r scirc;:9p scnE;:8fq scnap;:8fu scnsim;:6w9 scpolint;:8b7 scsim;:6tb scy;:u9 sdot;:6v9 sdotb;:6u9 sdote;:8di seArr;:6oo searhk;:84l searr;:6mw searrow;:6mw sect:4n sect;:4n semi;:1n seswar;:84p setminus;:6qe setmn;:6qe sext;:7qu sfr;:2kog sfrown;:6xu sharp;:7lb shchcy;:uh shcy;:ug shortmid;:6qr shortparallel;:6qt shy:4t shy;:4t sigma;:qr sigmaf;:qq sigmav;:qq sim;:6rg simdot;:8dm sime;:6rn simeq;:6rn simg;:8f2 simgE;:8f4 siml;:8f1 simlE;:8f3 simne;:6rq simplus;:8bo simrarr;:86q slarr;:6mo smallsetminus;:6qe smashp;:8c3 smeparsl;:89w smid;:6qr smile;:6xv smt;:8fe smte;:8fg smtes;:8fg softcy;:uk sol;:1b solb;:890 solbar;:6yn sopf;:2kpw spades;:7kw spadesuit;:7kw spar;:6qt sqcap;:6tv sqcaps;:6tv sqcup;:6tw sqcups;:6tw sqsub;:6tr sqsube;:6tt sqsubset;:6tr sqsubseteq;:6tt sqsup;:6ts sqsupe;:6tu sqsupset;:6ts sqsupseteq;:6tu squ;:7fl square;:7fl squarf;:7fu squf;:7fu srarr;:6mq sscr;:2klk ssetmn;:6qe ssmile;:6xv sstarf;:6va star;:7ie starf;:7id straightepsilon;:s5 straightphi;:r9 strns;:4v sub;:6te subE;:8g5 subdot;:8fx sube;:6ti subedot;:8g3 submult;:8g1 subnE;:8gb subne;:6tm subplus;:8fz subrarr;:86x subset;:6te subseteq;:6ti subseteqq;:8g5 subsetneq;:6tm subsetneqq;:8gb subsim;:8g7 subsub;:8gl subsup;:8gj succ;:6t7 succapprox;:8fs succcurlyeq;:6t9 succeq;:8fk succnapprox;:8fu succneqq;:8fq succnsim;:6w9 succsim;:6tb sum;:6q9 sung;:7l6 sup1:55 sup1;:55 sup2:4y sup2;:4y sup3:4z sup3;:4z sup;:6tf supE;:8g6 supdot;:8fy supdsub;:8go supe;:6tj supedot;:8g4 suphsol;:7ux suphsub;:8gn suplarr;:86z supmult;:8g2 supnE;:8gc supne;:6tn supplus;:8g0 supset;:6tf supseteq;:6tj supseteqq;:8g6 supsetneq;:6tn supsetneqq;:8gc supsim;:8g8 supsub;:8gk supsup;:8gm swArr;:6op swarhk;:84m swarr;:6mx swarrow;:6mx swnwar;:84q szlig:67 szlig;:67 target;:6xi tau;:qs tbrk;:71w tcaron;:9x tcedil;:9v tcy;:ua tdot;:6hn telrec;:6xh tfr;:2koh there4;:6r8 therefore;:6r8 theta;:qg thetasym;:r5 thetav;:r5 thickapprox;:6rs thicksim;:6rg thinsp;:6bt thkap;:6rs thksim;:6rg thorn:72 thorn;:72 tilde;:kc times:5z times;:5z timesb;:6u8 timesbar;:8c1 timesd;:8c0 tint;:6r1 toea;:84o top;:6uc topbot;:6ye topcir;:8hd topf;:2kpx topfork;:8gq tosa;:84p tprime;:6d0 trade;:6jm triangle;:7g5 triangledown;:7gf triangleleft;:7gj trianglelefteq;:6us triangleq;:6sc triangleright;:7g9 trianglerighteq;:6ut tridot;:7ho trie;:6sc triminus;:8ca triplus;:8c9 trisb;:899 tritime;:8cb trpezium;:736 tscr;:2kll tscy;:ue tshcy;:uz tstrok;:9z twixt;:6ss twoheadleftarrow;:6n2 twoheadrightarrow;:6n4 uArr;:6oh uHar;:86b uacute:6y uacute;:6y uarr;:6mp ubrcy;:v2 ubreve;:a5 ucirc:6z ucirc;:6z ucy;:ub udarr;:6o5 udblac;:a9 udhar;:86m ufisht;:872 ufr;:2koi ugrave:6x ugrave;:6x uharl;:6nz uharr;:6ny uhblk;:7eo ulcorn;:6xo ulcorner;:6xo ulcrop;:6xb ultri;:7i0 umacr;:a3 uml:4o uml;:4o uogon;:ab uopf;:2kpy uparrow;:6mp updownarrow;:6mt upharpoonleft;:6nz upharpoonright;:6ny uplus;:6tq upsi;:qt upsih;:r6 upsilon;:qt upuparrows;:6o8 urcorn;:6xp urcorner;:6xp urcrop;:6xa uring;:a7 urtri;:7i1 uscr;:2klm utdot;:6wg utilde;:a1 utri;:7g5 utrif;:7g4 uuarr;:6o8 uuml:70 uuml;:70 uwangle;:887 vArr;:6ol vBar;:8h4 vBarv;:8h5 vDash;:6ug vangrt;:87w varepsilon;:s5 varkappa;:s0 varnothing;:6px varphi;:r9 varpi;:ra varpropto;:6ql varr;:6mt varrho;:s1 varsigma;:qq varsubsetneq;:6tm varsubsetneqq;:8gb varsupsetneq;:6tn varsupsetneqq;:8gc vartheta;:r5 vartriangleleft;:6uq vartriangleright;:6ur vcy;:tu vdash;:6ua vee;:6qw veebar;:6uz veeeq;:6sa vellip;:6we verbar;:3g vert;:3g vfr;:2koj vltri;:6uq vnsub;:6te vnsup;:6tf vopf;:2kpz vprop;:6ql vrtri;:6ur vscr;:2kln vsubnE;:8gb vsubne;:6tm vsupnE;:8gc vsupne;:6tn vzigzag;:87u wcirc;:ad wedbar;:8db wedge;:6qv wedgeq;:6s9 weierp;:6jc wfr;:2kok wopf;:2kq0 wp;:6jc wr;:6rk wreath;:6rk wscr;:2klo xcap;:6v6 xcirc;:7hr xcup;:6v7 xdtri;:7gd xfr;:2kol xhArr;:7wa xharr;:7w7 xi;:qm xlArr;:7w8 xlarr;:7w5 xmap;:7wc xnis;:6wr xodot;:8ao xopf;:2kq1 xoplus;:8ap xotime;:8aq xrArr;:7w9 xrarr;:7w6 xscr;:2klp xsqcup;:8au xuplus;:8as xutri;:7g3 xvee;:6v5 xwedge;:6v4 yacute:71 yacute;:71 yacy;:un ycirc;:af ycy;:uj yen:4l yen;:4l yfr;:2kom yicy;:uv yopf;:2kq2 yscr;:2klq yucy;:um yuml:73 yuml;:73 zacute;:ai zcaron;:am zcy;:tz zdot;:ak zeetrf;:6js zeta;:qe zfr;:2kon zhcy;:ty zigrarr;:6ot zopf;:2kq3 zscr;:2klr zwj;:6bx zwnj;:6bw";var pn=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376],De,Je=0;function dn(){if(De)return De;De=new Map;for(let e of gr.split(" ")){let de=e.indexOf(":");De.set(e.slice(0,de),Number.parseInt(e.slice(de+1),36)),Je=Math.max(Je,de)}return De}var er=(e)=>e>=48&&e<=57,fn=(e)=>er(e)||e>=65&&e<=70||e>=97&&e<=102,hr=(e)=>er(e)||e>=65&&e<=90||e>=97&&e<=122,Ue=0;function mn(e,de,pe){if(e.charCodeAt(de)===35){let ge=(e.charCodeAt(de+1)|32)===120,he=de+(ge?2:1),be=he;while(be<e.length&&(ge?fn:er)(e.charCodeAt(be)))be++;if(be===he)return 0;return Ue=e.charCodeAt(be)===59?be+1:be,Number.parseInt(e.slice(he,be),ge?16:10)}let fe=dn(),me=de;while(me-de<Je&&hr(e.charCodeAt(me)))me++;if(e.charCodeAt(me)===59){let ge=fe.get(e.slice(de,me+1));if(ge!==void 0)return Ue=me+1,ge}for(let ge=me;ge>de;ge--){let he=fe.get(e.slice(de,ge));if(he===void 0)continue;if(pe){let be=e.charCodeAt(ge);if(hr(be)||be===95||be===61)continue}return Ue=ge,he}return 0}function gn(e,de){if(e===10&&!de)return 32;if(e<128)return e;if(e<=159)return pn[e-128];if(e>=55296&&e<=57343)return 0;if(e<=196607)return e;if(e>=917504&&e<=917631||e>=917760&&e<=917999)return e;return 0}function Pe(e,de){let pe=e.indexOf("&");if(pe===-1)return e;let fe="",me=0;while(pe!==-1){let ge=mn(e,pe+1,de);if(ge)fe+=e.slice(me,pe)+String.fromCodePoint(gn(ge,de)),me=Ue;pe=e.indexOf("&",ge?me:pe+1)}return fe+e.slice(me)}var br=/<\/script\s*>/g,hn=new Set(["server","client","worker","test","default"]);function xr(e,de,pe){let{source:fe,index:me}=e;if(me>=fe.length)i(fe.length);br.lastIndex=me;let ge=br.exec(fe);if(!ge)c(fe.length,"script");e.index=ge.index+ge[0].length;let he=l(e,fe.slice(0,ge.index),me);if(he.start=me,he.loc)Object.assign(he.loc.start,o(de)),Object.assign(he.loc.end,o(e.index));let be="default";for(let ye of pe){if(hn.has(ye.name))z(ye,ye.name);if(ye.name==="module"){if(ye.value!==!0)M(ye,ye.name);be="module"}if(ye.name==="context"){let xe=ye.value;if(xe===!0||!Array.isArray(xe)||xe.length!==1||xe[0].type!=="Text"||xe[0].data!=="module")U(ye);be="module"}}return{type:"Script",start:de,end:e.index,context:be,content:he,attributes:pe}}var yr=/(even|odd|\+?(\d+|\d*n(\s*[+-]\s*\d+)?)|-\d*n(\s*\+\s*\d+))((?=\s*[,)])|\s+of(\s+|(?=[.#[*:&])))/y,vr=/\d+(\.\d+)?%/y,bn=/\\[0-9a-fA-F]{1,6}(\r\n|\s)?/y,xn=/\s*>/y,Ee=-1,tr=34,yn=35,vn=36,kn=38,or=39,wn=40,Sn=41,Be=42,An=43,qn=45,Tn=46,ir=47,rr=58,En=59,Ar=60,kr=61,Cn=62,_n=91,Ve=92,Nn=93,Ln=94,qr=123,nr=124,Rn=125,Tr=126,We=[];function Er(e,de,pe){let fe=e.index;We=[];let me=e.css?Pn(e):Dn(e),ge=e.index;return e.eat("</style",!0),e.read(xn),{type:"StyleSheet",start:de,end:e.index,attributes:pe,children:me,comments:We,content:{start:fe,end:ge,styles:e.source.slice(fe,ge),comment:null}}}function Dn(e){let{source:de,index:pe}=e;while(pe<de.length){let fe=de.charCodeAt(pe);if(fe===ir&&de.charCodeAt(pe+1)===Be){let me=de.indexOf("*/",pe+2);pe=me===-1?de.length:me+2}else if(fe===tr||fe===or){pe++;while(pe<de.length){let me=de.charCodeAt(pe);if(me===fe||me===10)break;pe+=me===Ve?2:1}pe++}else if(fe===Ar&&de.startsWith("</style",pe))break;else pe++}return e.index=Math.min(pe,de.length),[]}function Pn(e){let de=[];for(;;){if(Ne(e,!0),e.match("</style")||e.index>=e.source.length)break;de.push(e.match("@")?Cr(e):_r(e))}return de}function Cr(e){let de=e.index;e.eat("@",!0);let pe=Ce(e),fe=sr(e,!0),me=null;if(e.match("{"))me=Rr(e);else e.eat(";",!0);return{type:"Atrule",start:de,end:e.index,name:pe,prelude:fe,block:me}}function _r(e){let de=e.index;return{type:"Rule",prelude:Nr(e,!1),block:Rr(e),start:de,end:e.index}}function Nr(e,de){let pe=[];Ne(e,!0);let fe=e.index;while(e.index<e.source.length){pe.push(Bn(e,de));let me=e.index;if(Ne(e,!0),e.match(de?")":"{"))return{type:"SelectorList",start:fe,end:me,children:pe};e.eat(",",!0),Ne(e,!0)}return i(e.source.length)}function wr(e,de){return{type:"RelativeSelector",combinator:e,selectors:[],start:de,end:-1}}function Bn(e,de){let{source:pe,index:fe}=e,me=[],ge=wr(null,e.index);while(e.index<pe.length){let he=e.index,be=pe.charCodeAt(he),ye=ge.selectors;if(be===kn)e.index++,ye.push({type:"NestingSelector",name:"&",start:he,end:e.index});else if(be===Be)e.index++,ye.push(Sr(e,he,"*"));else if(be===yn)e.index++,ye.push({type:"IdSelector",name:Ce(e),start:he,end:e.index});else if(be===Tn)e.index++,ye.push({type:"ClassSelector",name:Ce(e),start:he,end:e.index});else if(be===rr){let ke=pe.charCodeAt(he+1)===rr;e.index+=ke?2:1;let Se=Ce(e),Ie=null;if(e.eat("("))Ie=Nr(e,!0),e.eat(")",!0);if(ke)ye.push({type:"PseudoElementSelector",name:Se,start:he,end:e.index,...Ie&&{args:Ie}});else ye.push({type:"PseudoClassSelector",name:Se,args:Ie,start:he,end:e.index})}else if(be===_n)e.index++,ye.push(jn(e,he));else if(de&&e.matchRegex(yr)){let ke=e.read(yr);ye.push({type:"Nth",value:ke,start:he,end:e.index})}else if(Ge(be)&&e.matchRegex(vr)){let ke=e.read(vr);ye.push({type:"Percentage",value:ke,start:he,end:e.index})}else if(Lr(pe,he)===0){let ke=Ce(e);ye.push(Sr(e,he,ke))}let xe=e.index;Ne(e,!1);let ve=e.match(",")||e.match(de?")":"{");if(e.index=xe,ve)return ge.end=xe,me.push(ge),{type:"ComplexSelector",start:fe,end:xe,children:me};let we=On(e);if(we){if(ge.selectors.length>0)ge.end=xe,me.push(ge);if(ge=wr(we,we.start),e.allowWhitespace(),e.match(",")||e.match(de?")":"{"))N(e.index)}}return i(pe.length)}function Sr(e,de,pe){let fe=pe,me;if(e.eat("|"))me=fe,fe=e.eat("*")?"*":Ce(e);return{type:"TypeSelector",name:fe,...me!==void 0&&{namespace:me},start:de,end:e.index}}function jn(e,de){let pe=e.source;e.allowWhitespace();let fe=Ce(e);e.allowWhitespace();let me=null,ge=null,he=pe.charCodeAt(e.index);if(he===kr)ge="=";else if((he===Tr||he===Ln||he===vn||he===Be||he===nr)&&pe.charCodeAt(e.index+1)===kr)ge=pe.slice(e.index,e.index+2);if(ge)e.index+=ge.length,e.allowWhitespace(),me=Wn(e);e.allowWhitespace();let be=e.index;while(Pr(pe.charCodeAt(e.index)))e.index++;let ye=e.index>be?pe.slice(be,e.index):null;return e.allowWhitespace(),e.eat("]",!0),{type:"AttributeSelector",start:de,end:e.index,name:fe,matcher:ge,value:me,flags:ye}}function Lr(e,de){let pe=e.charCodeAt(de);if(pe===An||pe===Tr||pe===Cn)return 1;if(pe===nr&&e.charCodeAt(de+1)===nr)return 2;return 0}function On(e){let de=e.index;e.allowWhitespace();let pe=e.index,fe=Lr(e.source,pe);if(fe>0){e.index+=fe;let me=e.index;return e.allowWhitespace(),{type:"Combinator",name:e.source.slice(pe,me),start:pe,end:me}}if(e.index!==de)return{type:"Combinator",name:" ",start:de,end:e.index};return null}function Rr(e){let de=e.index;e.eat("{",!0);let pe=[];while(e.index<e.source.length){if(Ne(e,!0),e.match("}"))break;pe.push(In(e))}return e.eat("}",!0),{type:"Block",start:de,end:e.index,children:pe}}function In(e){if(e.match("@"))return Cr(e);let de=e.index;sr(e,!1);let pe=e.source.charCodeAt(e.index);return e.index=de,pe===qr?_r(e):zn(e)}function zn(e){let{source:de,index:pe}=e;if(pe>=de.length)i(de.length);let fe=pe;while(fe<de.length){let ye=de.charCodeAt(fe);if(ye===rr||qe(ye))break;fe++}let me=de.slice(pe,fe);e.index=fe,e.allowWhitespace(),e.eat(":");let ge=e.index;e.allowWhitespace();let he=sr(e,!0);if(!he&&!me.startsWith("--"))C({start:pe,end:ge});let be=e.index;if(!e.match("}"))e.eat(";",!0);return{type:"Declaration",start:pe,end:be,property:me,value:he}}function sr(e,de){let pe=e.source,fe=pe.length,me="",ge=e.index,he=null,be=!1,ye=!1,xe=Ee,ve=e.index;while(ve<fe){let we=pe.charCodeAt(ve);if(be){be=!1,ve++;continue}if(we===Ve){be=!0,ve++;continue}if(we===xe)xe=Ee;else if(we===Sn)ye=!1;else if(xe===Ee&&(we===tr||we===or))xe=we;else if(we===wn){if(Un(pe,me,ge,ve))ye=!0}else if((we===En||we===qr||we===Rn)&&!ye&&xe===Ee){if(e.index=ve,!de)return"";if(me+=pe.slice(ge,ve),he){let ke=me.length-me.trimStart().length;for(let Se of he)Se.position=Math.max(0,Se.position-ke)}return me.trim()}else if(we===ir&&!ye&&xe===Ee&&pe.charCodeAt(ve+1)===Be){me+=pe.slice(ge,ve),e.index=ve;let ke=Dr(e);if(de)ke.position=me.length,We.push(ke),he??=[],he.push(ke);ve=e.index,ge=ve;continue}ve++}return e.index=fe,i(fe)}function Un(e,de,pe,fe){if(fe-pe>=3)return e.charCodeAt(fe-3)===117&&e.charCodeAt(fe-2)===114&&e.charCodeAt(fe-1)===108;return(de+e.slice(pe,fe)).slice(-3)==="url"}function Wn(e){let de=e.source,pe=e.eat('"')?tr:e.eat("'")?or:Ee,fe=e.index,me=!1,ge=fe;while(ge<de.length){let he=de.charCodeAt(ge);if(me)me=!1;else if(he===Ve)me=!0;else if(pe===Ee?he===Nn||qe(he):he===pe)return e.index=pe===Ee?ge:ge+1,de.slice(fe,ge).trim();ge++}return e.index=ge,i(de.length)}function Ce(e){let{source:de,index:pe}=e,fe=de.charCodeAt(pe);if(Ge(fe)||fe===qn&&Ge(de.charCodeAt(pe+1)))p(pe);let me="",ge=pe,he=pe;while(he<de.length){let be=de.charCodeAt(he);if(be===Ve){me+=de.slice(ge,he),e.index=he;let ye=e.matchRegex(bn);if(ye){let xe=String.fromCodePoint(Number.parseInt(ye.slice(1),16));me+=xe==="\\"?"\\\\":xe,he+=ye.length}else me+=`\\${de[he+1]}`,he+=2;ge=he}else if(be>=160||Gn(be))he++;else break}if(me+=de.slice(ge,he),e.index=he,me==="")p(pe);return me}function Ne(e,de){let pe=e.source;e.allowWhitespace();for(;;){let fe=pe.charCodeAt(e.index);if(fe===ir&&pe.charCodeAt(e.index+1)===Be){let me=Dr(e);if(de)We.push(me)}else if(fe===Ar&&e.eat("<!--"))e.readUntil("-->"),e.eat("-->",!0);else break;e.allowWhitespace()}}function Dr(e){let de=e.index;e.eat("/*",!0);let pe=e.readUntil("*/");return e.eat("*/",!0),{type:"CSSComment",value:pe,start:de,end:e.index}}function Ge(e){return e>=48&&e<=57}function Pr(e){return e>=65&&e<=90||e>=97&&e<=122}function Gn(e){return Pr(e)||Ge(e)||e===95||e===45}var ar=/<\/textarea(\s[^>]*)?>/iy,Vn=/^![a-zA-Z]+$/,Fn=/^[a-zA-Z][a-zA-Z0-9]*:[a-zA-Z][a-zA-Z0-9-]*[a-zA-Z0-9]$/,Hn=/^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9.\-_·À-ÖØ-öø-ͽͿ-῿‌-‍‿-⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�\u{10000}-\u{EFFFF}]*)?$/u,Mn=/^(?:\p{Lu}[$‌‍\p{ID_Continue}.]*|\p{ID_Start}[$‌‍\p{ID_Continue}]*(?:\.[$‌‍\p{ID_Continue}]+)+)$/u,Xn=new Set("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),$n=new Map([["use","UseDirective"],["animate","AnimateDirective"],["bind","BindDirective"],["class","ClassDirective"],["style","StyleDirective"],["on","OnDirective"],["let","LetDirective"],["in","TransitionDirective"],["out","TransitionDirective"],["transition","TransitionDirective"]]),lr=new Map([["svelte:head",["SvelteHead",!0]],["svelte:options",["SvelteOptions",!0]],["svelte:window",["SvelteWindow",!0]],["svelte:document",["SvelteDocument",!0]],["svelte:body",["SvelteBody",!0]],["svelte:element",["SvelteElement",!1]],["svelte:component",["SvelteComponent",!1]],["svelte:self",["SvelteSelf",!1]],["svelte:fragment",["SvelteFragment",!1]],["svelte:boundary",["SvelteBoundary",!1]]]),Br=[...lr.keys()],Zn=`${Br.slice(0,-1).join(", ")} or ${Br.at(-1)}`,Wr=47,Fe=62,Gr=61,Qn=34,Kn=39,jr=123,Le=(e)=>e===Qn||e===Kn;function Yn(e,de,pe){let fe=de;for(;fe<e.length;fe++){let me=e.charCodeAt(fe);if(qe(me)||me===Wr||me===Fe)break;if(pe&&(Le(me)||me===Gr))break}return fe}function He(e,de){let pe=e.index;if(pe>=e.source.length)i(e.source.length);let fe=Yn(e.source,pe,de);return e.index=fe,{name:e.source.slice(pe,fe),start:pe,end:fe,loc:e.sourceLocation(pe,fe)}}var je=(e,de,pe,fe=pe)=>({start:e,end:de,type:"Text",raw:pe,data:fe});function Vr(e){return Xn.has(e)||e.charCodeAt(0)===33&&e.toLowerCase()==="!doctype"}function Jn(e){let de=e.charCodeAt(0);if(de>=97&&de<=122&&!e.includes("."))return!1;return Mn.test(e)}function et(e){let de=!0;for(let pe=0;pe<e.length&&de;pe++){let fe=e.charCodeAt(pe);de=fe>=97&&fe<=122||pe>0&&fe>=48&&fe<=57}return de&&e.length>0||Vn.test(e)||Fn.test(e)||Hn.test(e)}function Or(e,de){for(let pe=e.length-1;pe>=0;pe--){let fe=de(e[pe]);if(fe!==void 0)return fe}return!1}function rt(e,de,pe){let fe=lr.get(de);if(fe)return fe[0];if(pe)return"Component";if(de==="title"){if(Or(e.stack,({type:ge})=>ge==="SvelteHead"?!0:ge==="RegularElement"||ge==="Component"?!1:void 0))return"TitleElement"}if(de==="slot"){if(!Or(e.stack,(ge)=>ge.type==="RegularElement"&&ge.attributes.some((he)=>he.type==="Attribute"&&he.name==="shadowrootmode")?!0:void 0))return"SlotElement"}return"RegularElement"}function Fr(e){let de=e.index++;if(e.eat("!--")){let pe=e.readUntil("-->");e.eat("-->",!0),e.append({type:"Comment",start:de,end:e.index,data:pe})}else if(e.eat("/"))nt(e,de);else tt(e,de)}function nt(e,de){let{name:pe}=He(e,!1);if(e.allowWhitespace(),e.eat(">",!0),Vr(pe))le(de);let fe=e.current();while(fe.name!==pe){if(fe.type!=="RegularElement"){let me=e.lastAutoClosedTag;if(me?.tag===pe)R(de,pe,me.reason);I(de,pe)}fe.end=de,e.close(),fe=e.current()}if(fe.end=e.index,e.close(),e.stack.length<(e.lastAutoClosedTag?.depth??0))e.lastAutoClosedTag=void 0}function tt(e,de){let pe=He(e,!1),{name:fe}=pe,me=lr.get(fe);if(!me&&fe.startsWith("svelte:"))Y(pe,Zn);let ge=Jn(fe);if(!ge&&!et(fe))ne(pe);if(me?.[1]){if(e.metaTags.has(fe))K(de,fe);if(e.current().type!=="Root")Q(de,fe);e.metaTags.add(fe)}let he={type:rt(e,fe,ge),start:de,end:-1,name:fe};if(e.loc)he.name_loc=pe.loc;he.attributes=[],he.fragment={type:"Fragment",nodes:[]},e.allowWhitespace();let be=e.current();if(be.type==="RegularElement"&&pr(be.name,fe))be.end=de,e.close(),e.lastAutoClosedTag={tag:be.name,reason:fe,depth:e.stack.length};let ye=(fe==="script"||fe==="style")&&e.current().type==="Root";if(lt(e,he.attributes,ye),he.type==="SvelteComponent"){let xe=Ir(he);if(!xe)H(de);if(!zr(xe.value))G(xe.start);he.expression=Ur(xe.value)}else if(he.type==="SvelteElement"){let xe=Ir(he);if(!xe)b(de);if(xe.value===!0)b(xe);he.tag=zr(xe.value)?Ur(xe.value):at(xe.value[0])}if(ye){it(e,he,de);return}if(!e.eat("/")&&!Vr(fe))if(e.eat(">",!0),fe==="textarea")he.fragment.nodes=Mr(e,(xe,ve)=>(ar.lastIndex=ve,ar.test(xe)),"inside <textarea>"),e.read(ar);else if(fe==="script"||fe==="style")he.fragment.nodes.push(ot(e,`</${fe}>`));else{e.open(he,he.fragment);return}else e.eat(">",!0);he.end=e.index,e.append(he)}function ot(e,de){let pe=e.index,fe=e.source.indexOf(de,pe);e.index=fe===-1?e.source.length:fe;let me=je(pe,e.index,e.source.slice(pe,e.index));return e.eat(de,!0),me}function it(e,de,pe){e.eat(">",!0);let fe=de.attributes,me=st(e.root.fragment.nodes,pe);if(de.name==="style"){let be=Er(e,pe,fe);if(be.content.comment=me,e.root.css)W(pe);e.root.css=be;return}let ge=xr(e,pe,fe);if(me)ge.content.leadingComments=[{type:"Line",value:me.data}];let he=ge.context==="module"?"module":"instance";if(e.root[he])j(pe);e.root[he]=ge}function st(e,de){let pe=e.length-1;if(pe<0||e[pe].end!==de)return null;for(let fe=pe;fe>=0;fe--){let me=e[fe];if(me.type==="Comment")return me;if(me.type!=="Text"||me.data.trim())return null}return null}function Ir(e){let de=e.attributes,pe=de.findIndex((fe)=>fe.type==="Attribute"&&fe.name==="this");return pe===-1?void 0:de.splice(pe,1)[0]}function zr(e){if(e===!0)return!1;if(!Array.isArray(e))return!0;return e.length===1&&e[0].type==="ExpressionTag"}function Ur(e){return(Array.isArray(e)?e[0]:e).expression}function at(e){if(e.type!=="Text")return e.expression;return{type:"Literal",value:e.data,raw:`'${e.raw}'`,start:e.start,end:e.end}}function lt(e,de,pe){let fe=new Set;for(;;){let me=pe?ct(e):pt(e);if(!me)return;let{type:ge}=me;if(ge==="Attribute"||ge==="BindDirective"||ge==="StyleDirective"||ge==="ClassDirective"){let he=`${ge==="BindDirective"?"Attribute":ge}${me.name}`;if(fe.has(he))v(me);if(me.name!=="this")fe.add(he)}de.push(me),e.allowWhitespace()}}function cr(e,de,pe,fe,me){let ge={type:"Attribute",start:pe,end:fe,name:de.name};if(e.loc)ge.name_loc=de.loc;return ge.value=me,ge}function Hr(e){if(Le(e.source.charCodeAt(e.index)))s(e.index,"=")}function ct(e){let de=e.index,pe=He(e,!0);if(!pe.name)return null;let fe=!0;if(e.eat("=")){e.allowWhitespace();let{source:me}=e,ge=e.index,he=-1;if(Le(me.charCodeAt(ge))){let xe=me.indexOf(me[ge],ge+1);if(xe!==-1)he=xe+1}if(he===-1){he=ge;while(he<me.length&&me.charCodeAt(he)!==Fe&&!qe(me.charCodeAt(he)))he++;if(he===ge)d(ge)}e.index=he;let be=Le(me.charCodeAt(ge))?1:0,ye=me.slice(ge+be,he-be);fe=[je(he-ye.length-be,he-be,ye,Pe(ye,!0))]}return Hr(e),cr(e,pe,de,e.index,fe)}function ut(e){let de=e.index,pe=e.match("/*");if(!pe&&!e.match("//"))return!1;e.index+=2;let fe=e.readUntil(pe?"*/":`
2
- `);if(pe)e.eat("*/");let me={type:pe?"Block":"Line",start:de,end:e.index,value:fe},ge=e.sourceLocation(de,e.index);if(ge)me.loc=ge;return e.root.comments.push(me),!0}function pt(e){while(ut(e))e.allowWhitespace();let de=e.index;if(e.eat("{"))return dt(e,de);let pe=He(e,!0);if(!pe.name)return null;let fe=e.index;e.allowWhitespace();let me=!0;if(e.eat("=")){if(e.allowWhitespace(),e.match("/>"))me=[je(e.index,e.index+1,"/")],e.index++;else me=mt(e);fe=e.index}else Hr(e);let ge=pe.name.indexOf(":"),he=ge>0?$n.get(pe.name.slice(0,ge)):void 0;return he?ft(e,he,pe,ge,de,fe,me):cr(e,pe,de,fe,me)}function dt(e,de){if(e.allowWhitespace(),e.eat("@attach")){e.requireWhitespace();let me=Ae(e);return e.eatClosingBrace(),{type:"AttachTag",start:de,end:e.index,expression:me}}if(e.eat("...")){let me=Ae(e);return e.eatClosingBrace(),{type:"SpreadAttribute",start:de,end:e.index,expression:me}}let pe=e.readIdentifierName();if(pe.name==="")y(de);e.eatClosingBrace();let fe={type:"ExpressionTag",start:pe.start,end:pe.end,expression:pe};return cr(e,pe,de,e.index,fe)}function ft(e,de,pe,fe,me,ge,he){let[be,...ye]=pe.name.slice(fe+1).split("|");if(be==="")q({start:me,end:me+fe+1},pe.name);let xe={start:me,end:ge,type:de,name:be};if(e.loc)xe.name_loc=pe.loc;if(xe.type==="StyleDirective")return xe.modifiers=ye,xe.value=he,xe;let ve=he===!0?void 0:Array.isArray(he)?he[0]:he;if(ve&&(Array.isArray(he)&&he.length>1||ve.type==="Text"))P(ve.start);let we=xe;if(we.expression=ve?.expression??null,we.modifiers=ye,xe.type==="TransitionDirective"){let ke=pe.name.slice(0,fe);xe.intro=ke!=="out",xe.outro=ke!=="in"}if((de==="BindDirective"||de==="ClassDirective")&&!we.expression)we.expression={start:me+fe+1,end:ge,type:"Identifier",name:be};return xe}function mt(e){let de=e.source.charCodeAt(e.index),pe=Le(de);if(pe){if(e.index++,e.source.charCodeAt(e.index)===de)return e.index++,[je(e.index-1,e.index-1,"")]}let fe;try{fe=Mr(e,pe?(me,ge)=>me.charCodeAt(ge)===de:gt,"in attribute value",pe?de:void 0)}catch(me){let ge=me.position?.[0];if(me.code==="js_parse_error"&&ge!==void 0&&e.source.startsWith("/>",ge-1))e.index=ge,s(ge,pe?String.fromCharCode(de):"}");throw me}if(pe)e.index++;else if(fe.length===0)d(e.index);return pe||fe.length>1||fe[0].type==="Text"?fe:fe[0]}function gt(e,de){let pe=e.charCodeAt(de);return qe(pe)||Le(pe)||pe===Gr||pe===60||pe===Fe||pe===96||pe===Wr&&e.charCodeAt(de+1)===Fe}function Mr(e,de,pe,fe){let{source:me}=e,ge=[],he=e.index,be=(ye)=>{if(ye<=he)return;let xe=me.slice(he,ye);ge.push(je(he,ye,xe,Pe(xe,!0)))};while(e.index<me.length){let ye=e.index;if(de(me,ye))return be(ye),ge;if(me.charCodeAt(ye)!==jr){if(e.index++,fe!==void 0)while(e.index<me.length&&me.charCodeAt(e.index)!==jr&&me.charCodeAt(e.index)!==fe)e.index++;continue}e.index++;let xe=me.charCodeAt(e.index);if(xe===35||xe===64){e.index++;let we=e.index;while(e.index<me.length&&me.charCodeAt(e.index)>=97&&me.charCodeAt(e.index)<=122)e.index++;let ke=me.slice(we,e.index);(xe===35?A:ae)(ye,ke,pe)}be(ye),e.allowWhitespace();let ve=Ae(e);e.eatClosingBrace(),ge.push({type:"ExpressionTag",start:ye,end:e.index,expression:ve}),he=e.index}i(me.length)}var ht=new Map([["html","html"],["svg","svg"],["mathml","mathml"],["http://www.w3.org/2000/svg","svg"],["http://www.w3.org/1998/Math/MathML","mathml"]]),bt=new Map([["type",(e)=>e==="String"||e==="Number"||e==="Boolean"||e==="Array"||e==="Object"],["reflect",(e)=>typeof e==="boolean"],["attribute",(e)=>typeof e==="string"]]),Xr="[a-z0-9_.\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}-]",xt=new RegExp(`^[a-z]${Xr}*-${Xr}*$`,"u"),yt=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" ")),Me=(e)=>(de,pe)=>{let fe=Xe(pe);if(typeof fe!=="boolean")h(pe,"true or false");de[e]=fe},vt=new Map([["runes",Me("runes")],["immutable",Me("immutable")],["preserveWhitespace",Me("preserveWhitespace")],["accessors",Me("accessors")],["namespace",(e,de)=>{let pe=ht.get(Xe(de));if(!pe)h(de,'"html", "mathml" or "svg"');e.namespace=pe}],["css",(e,de)=>{if(Xe(de)!=="injected")h(de,'"injected"');e.css="injected"}],["tag",(e,de)=>Z(de)],["customElement",(e,de)=>{let pe=wt(de);if(pe)e.customElement=pe}]]);function Zr(e){let de={start:e.start,end:e.end,attributes:e.attributes};for(let pe of e.attributes){if(pe.type!=="Attribute")J(pe);let fe=vt.get(pe.name);if(!fe)re(pe,pe.name);fe(de,pe)}return de}function Xe({value:e}){if(e===!0)return!0;let de=Array.isArray(e)?e:[e];if(de.length===0)return!0;if(de.length>1)return null;let[pe]=de;if(pe.type==="Text")return pe.data;return pe.expression.type==="Literal"?pe.expression.value:null}function $r(e,de){if(typeof de!=="string")x(e);if(!de)return;if(!xt.test(de))x(e);if(yt.has(de))se(e)}function kt(e,de){let pe=new Map;for(let fe of e.properties){if(fe.type!=="Property"||fe.computed||fe.key.type!=="Identifier")de();if(!pe.has(fe.key.name))pe.set(fe.key.name,fe.value)}return pe}function wt(e){let de=()=>ee(e);if(e.value===!0)de();let pe=Array.isArray(e.value)?e.value[0]:e.value;if(pe.type==="Text"){let xe=Xe(e);return $r(e,xe),{tag:xe}}let{expression:fe}=pe;if(fe.type!=="ObjectExpression"){if(fe.type==="Literal"&&fe.value===null)return;de()}let me=kt(fe,de),ge={};if(me.has("tag")){let xe=me.get("tag").value;$r(null,xe),ge.tag=xe}let he=me.get("props");if(he){let xe=()=>te(e);if(he.type!=="ObjectExpression")xe();ge.props={};for(let ve of he.properties){if(ve.type!=="Property"||ve.computed||ve.key.type!=="Identifier"||ve.value.type!=="ObjectExpression")xe();let we={};ge.props[ve.key.name]=we;for(let ke of ve.value.properties){if(ke.type!=="Property"||ke.computed||ke.key.type!=="Identifier"||ke.value.type!=="Literal")xe();let Se=ke.value.value;if(!bt.get(ke.key.name)?.(Se))xe();we[ke.key.name]=Se}}}let be=me.get("shadow");if(be)if(be.type==="ObjectExpression")ge.shadow=be;else if(be.type==="Literal"&&(be.value==="open"||be.value==="none"))ge.shadow=be.value;else ie(e);let ye=me.get("extend");if(ye)ge.extend=ye;return ge}var St={"{":"}","(":")","[":"]"};function Oe(e,de,pe=St){let fe=Object.values(pe),me=[],ge=de;while(ge<e.length){let he=e[ge++];if(he==="'"||he==='"'||he==="`")ge=At(e,ge,he);else if(Object.hasOwn(pe,he))me.push(he);else if(fe.includes(he)){let be=pe[me.pop()];if(he!==be)s(ge-1,be);if(me.length===0)return ge}}i(e.length)}function At(e,de,pe){let fe=de;while(fe<e.length){let me=e[fe++];if(me===pe)return fe;if(me==="\\")fe++;else if(pe==="`"&&me==="$"&&e[fe]==="{")fe=Oe(e,fe)}ue(de)}var qt=/\?\s*:/g;function Re(e){let de=e.index,pe=e.readIdentifierName();if(pe.name!==""){let be=Qr(e);return{...pe,typeAnnotation:be}}let fe=e.source[e.index];if(fe!=="{"&&fe!=="[")D(e.index);e.index=Oe(e.source,de);let{node:me}=a(e,`${e.source.slice(0,e.index)} = 1`,de),ge=me.left,he=Qr(e);if(ge.typeAnnotation=he,he)ge.end=he.end;return ge}function Qr(e){let de=e.index;if(e.allowWhitespace(),!e.eat(":")){e.index=de;return}let pe="_ as ",fe=e.index-pe.length,me=e.source.slice(0,fe)+pe+e.source.slice(e.index).replace(qt,":"),ge=a(e,me,fe).node;if(ge.type==="AssignmentExpression"){let he=ge.right.start;while(me[he]!=="=")he-=1;ge=a(e,me.slice(0,he),fe).node}if(ge.type==="SequenceExpression")ge=ge.expressions[0];return e.index=ge.end,{type:"TSTypeAnnotation",start:de,end:e.index,typeAnnotation:ge.typeAnnotation}}var Tt=/\s*}/y,Et={IfBlock:"if",EachBlock:"each",KeyBlock:"key",AwaitBlock:"await",SnippetBlock:"snippet"},Te=()=>({type:"Fragment",nodes:[]});function Yr(e,de){if(e.eat("if")){e.requireWhitespace();let pe=Ae(e);e.eatClosingBrace();let fe=Te();e.open({type:"IfBlock",elseif:!1,start:de,end:-1,test:pe,consequent:fe,alternate:null},fe)}else if(e.eat("each"))Ct(e,de);else if(e.eat("await")){e.requireWhitespace();let pe=Ae(e);e.allowWhitespace();let fe={type:"AwaitBlock",start:de,end:-1,expression:pe,value:null,error:null,pending:null,then:null,catch:null},me=Te();if(e.eat("then"))fe.value=Kr(e),fe.then=me;else if(e.eat("catch"))fe.error=Kr(e),fe.catch=me;else fe.pending=me;e.eat("}",!0),e.open(fe,me)}else if(e.eat("key")){e.requireWhitespace();let pe=Ae(e);e.eatClosingBrace();let fe=Te();e.open({type:"KeyBlock",start:de,end:-1,expression:pe,fragment:fe},fe)}else if(e.eat("snippet"))_t(e,de);else O(e.index)}function Kr(e){if(e.matchRegex(Tt))return e.allowWhitespace(),null;e.requireWhitespace();let de=Re(e);return e.allowWhitespace(),de}function Ct(e,de){e.requireWhitespace();let pe=e.source,fe;while(!fe)try{fe=Ae(e)}catch(ye){let xe=(ye.position?.[0]??de)-2;while(xe>de&&e.source.slice(xe,xe+2)!=="as")xe-=1;if(xe<=de)throw e.source=pe,ye;e.source=pe.slice(0,xe)}if(e.source=pe,e.allowWhitespace(),!e.match("as")){if(fe.type==="SequenceExpression")fe=fe.expressions[0];let ye=fe,xe=null,ve=ye.end,we=(Se)=>{if(Se.type==="TSAsExpression"&&Se.end===ye.end)return xe=Se,ve=Se.expression.end,Se.expression;return g(Se,we),Se},ke=we(ye);if(ke.end=ve,fe=ke,xe){let Se=xe.typeAnnotation.start-2;while(e.source.slice(Se,Se+2)!=="as")Se-=1;e.index=Se}}let me=null,ge,he;if(e.eat("as"))e.requireWhitespace(),me=Re(e);else e.index=fe.end;if(e.allowWhitespace(),e.eat(",")){if(e.allowWhitespace(),ge=e.readIdentifierName().name,!ge)m(e.index);e.allowWhitespace()}if(e.eat("("))e.allowWhitespace(),he=Ae(e),e.allowWhitespace(),e.eat(")",!0),e.allowWhitespace();e.eat("}",!0);let be=Te();e.open({type:"EachBlock",start:de,end:-1,expression:fe,body:be,context:me,index:ge,key:he},be)}function _t(e,de){e.requireWhitespace();let pe=e.readIdentifierName();if(pe.name==="")m(e.index);e.allowWhitespace();let fe=e.index,me;if(e.isTypeScript&&e.match("<")){let xe=Oe(e.source,fe,{"<":">"});me=e.source.slice(fe+1,xe-1),e.index=xe}e.allowWhitespace(),e.eat("(",!0);let ge=1;while(e.index<e.source.length&&(!e.match(")")||ge!==1)){if(e.match("("))ge++;if(e.match(")"))ge--;e.index+=1}e.eat(")",!0);let{node:he}=a(e,`${e.source.slice(0,e.index)} => {}`,fe,!0),be=he.params;e.eatClosingBrace();let ye=Te();e.open({type:"SnippetBlock",start:de,end:-1,expression:pe,typeParams:me,parameters:be,body:ye},ye)}function Jr(e,de){let pe=e.index-1,fe=e.current();if(fe.type==="IfBlock"){if(!e.eat("else"))s(pe,"{:else} or {:else if}");if(e.eat("if"))S(pe);if(e.allowWhitespace(),fe.alternate=Te(),e.setFragment(fe.alternate),e.eat("if")){e.requireWhitespace();let me=Ae(e);e.eatClosingBrace();let ge=Te();e.open({start:de,end:-1,type:"IfBlock",elseif:!0,test:me,consequent:ge,alternate:null},ge)}else e.eatClosingBrace()}else if(fe.type==="EachBlock"){if(!e.eat("else"))s(pe,"{:else}");e.eatClosingBrace(),fe.fallback=Te(),e.setFragment(fe.fallback)}else if(fe.type==="AwaitBlock"){let me=e.eat("then")?"then":e.eat("catch")?"catch":s(pe,"{:then ...} or {:catch ...}");if(fe[me])k(pe,`{:${me}}`);if(!e.eat("}")){e.requireWhitespace();let he=Re(e);if(me==="then")fe.value=he;else fe.error=he;e.eatClosingBrace()}let ge=Te();fe[me]=ge,e.setFragment(ge)}else w(pe)}function en(e){let de=e.current(),pe=Et[de.type];if(!pe)E(e.index-1);e.eat(pe,!0),e.eatClosingBrace();while(de.type==="IfBlock"&&de.elseif)de.end=e.index,e.close(),de=e.current();de.end=e.index,e.close()}var Nt=/\s*}/y;function rn(e,de){if(e.eat("html")){e.requireWhitespace();let pe=Ae(e);e.eatClosingBrace(),e.append({type:"HtmlTag",start:de,end:e.index,expression:pe})}else if(e.eat("debug")){let pe=[];if(!e.read(Nt)){let fe=Ae(e);pe=fe.type==="SequenceExpression"?fe.expressions:[fe];for(let me of pe)if(me.type!=="Identifier")L(me.start);e.eatClosingBrace()}e.append({type:"DebugTag",start:de,end:e.index,identifiers:pe})}else if(e.eat("const")){e.requireWhitespace();let pe=Re(e);e.allowWhitespace(),e.eat("=",!0),e.allowWhitespace();let fe=e.index,me=Ae(e),ge=e.index;if(me.type==="SequenceExpression"&&!e.source.substring(fe,me.start).includes("("))T(me);e.eatClosingBrace();let he={type:"VariableDeclarator",id:pe,init:me,start:pe.start,end:ge};e.append({type:"ConstTag",start:de,end:e.index,declaration:{type:"VariableDeclaration",kind:"const",declarations:[he],start:de+2,end:e.index-1}})}else if(e.eat("render")){e.requireWhitespace();let pe=Ae(e);if(pe.type!=="CallExpression"&&(pe.type!=="ChainExpression"||pe.expression.type!=="CallExpression"))F(pe);e.eatClosingBrace(),e.append({type:"RenderTag",start:de,end:e.index,expression:pe})}else B(e.index)}var Lt=/(?:var|interface|enum)\b/y,Rt=/(?:let|const|type)\b/y;function nn(e){let de=e.index;if(e.index+=1,e.allowWhitespace(),e.eat("#"))Yr(e,de);else if(e.eat(":"))Jr(e,de);else if(e.eat("@"))rn(e,de);else if(e.match("/")&&!e.match("/*")&&!e.match("//"))e.index+=1,en(e);else if(!Dt(e,de)){let pe=Ae(e);e.eatClosingBrace(),e.append({type:"ExpressionTag",start:de,end:e.index,expression:pe})}}function Dt(e,de){let pe=e.index,fe=e.matchRegex(Lt);if(fe)f({start:pe,end:pe+fe.length});if(!e.matchRegex(Rt))return!1;let me=e.root.comments.length,ge=ce(e,e.source,pe);if(ge.type==="ExpressionStatement")return e.root.comments.length=me,!1;if(ge.kind!=="let"&&ge.kind!=="const")f(ge);return e.index=ge.end,e.eatClosingBrace(),e.append({type:"DeclarationTag",start:de,end:e.index,declaration:ge}),!0}function on(e){let{source:de,index:pe}=e;if(e.nextAngle<pe)e.nextAngle=tn(de,"<",pe);if(e.nextBrace<pe)e.nextBrace=tn(de,"{",pe);let fe=Math.min(e.nextAngle,e.nextBrace);e.index=fe;let me=de.slice(pe,fe);e.append({type:"Text",start:pe,end:fe,raw:me,data:Pe(me,!1)})}function tn(e,de,pe){let fe=e.indexOf(de,pe);return fe===-1?e.length:fe}function Wo(e,de){let pe=e.charCodeAt(0)===65279?e.slice(1):e;u(pe);let fe=new Qe(pe.trimEnd(),pe.length,de);while(fe.index<fe.source.length)if(fe.match("<"))Fr(fe);else if(fe.match("{"))nn(fe);else on(fe);if(fe.stack.length>1){let ge=fe.current();if(ge.end=ge.start+1,ge.type==="RegularElement")c(ge,ge.name);_(ge)}let me=fe.root.fragment.nodes.findIndex((ge)=>ge.type==="SvelteOptions");if(me!==-1){let[ge]=fe.root.fragment.nodes.splice(me,1),he=ge;fe.root.options=Zr(he);let{nodes:be}=he.fragment;if(be.length>0)X({start:be[0].start,end:be[be.length-1].end},he.name)}return fe.root}export{Wo as parse};
1
+ import{r,a}from"./shared-vpc1jrf6.js";import{c,n,u,e,T,A,E,N,C,_,L,P,q,I,x,R,O,g,D,B,V,F,d,y,M,v,j,U,s,z,W,G,H,K,Q,X,Y,Z,k,J,ee,te,ie,se,re,m,ne,ae,oe,w,ue,le,ce,he,i,pe,fe,de,h,l,p,o,me}from"./shared-tjen9kxy.js";var mr={li:["li"],dt:["dt","dd"],dd:["dt","dd"],p:"address article aside blockquote div dl fieldset footer form h1 h2 h3 h4 h5 h6 header hgroup hr main menu nav ol p pre section table ul".split(" "),rt:["rt","rp"],rp:["rt","rp"],optgroup:["optgroup"],option:["option","optgroup"],thead:["tbody","tfoot"],tbody:["tbody","tfoot"],tfoot:["tbody"],tr:["tr","tbody"],td:["td","th","tr"],th:["td","th","tr"]};function gr(t,f){return Object.hasOwn(mr,t)&&mr[t].includes(f)}var Je=new Set("arguments await break case catch class const continue debugger default delete do else enum eval export extends false finally for function if implements import in instanceof interface let new null package private protected public return static super switch this throw true try typeof var void while with yield".split(" ")),Ye=/<!--[\s\S]*?-->|<script\s+(?:[^>]*|(?:[^=>'"/]+=(?:"[^"]*"|'[^']*'|[^>\s]+)\s+)*)lang=(["'])?([^"' >]+)\1[^>]*>/y,lt=/\r(?!\n)|[\u2028\u2029]/;function Te(t){if(t===32||t<=13&&t>=9)return!0;if(t<160)return!1;return t===160||t===5760||t>=8192&&t<=8202||t===8232||t===8233||t===8239||t===8287||t===12288||t===65279}function Re(t,f){let b=f;while(b<t.length&&Te(t.charCodeAt(b)))b++;return b}function We(t,f){let b=t.codePointAt(f);if(b===void 0||!r(b,!0))return f;let S=f+(b<=65535?1:2),ge=t.codePointAt(S);while(ge!==void 0&&a(ge,!0))S+=ge<=65535?1:2,ge=t.codePointAt(S);return S}function at(t){let f=t.indexOf("<");while(f!==-1){let b=t.charCodeAt(f+1);if(b===33||b===115){Ye.lastIndex=f;let S=Ye.exec(t);if(S){if(b===115)return S[2]==="ts";f=t.indexOf("<",Ye.lastIndex);continue}}f=t.indexOf("<",f+1)}return!1}class Ke{source;index=0;loc;lfOnly;isTypeScript;css;root;stack;fragments;metaTags=new Set;lastAutoClosedTag;nextAngle=-1;nextBrace=-1;constructor(t,f,b={}){this.source=t,this.loc=b.loc??!1,this.lfOnly=this.loc&&!lt.test(t),this.isTypeScript=at(t),this.css=b.css??!0,this.root={type:"Root",start:0,end:f,css:null,js:[],options:null,fragment:{type:"Fragment",nodes:[]},comments:[]},this.stack=[this.root],this.fragments=[this.root.fragment]}match(t){if(t.length===1)return this.source.charCodeAt(this.index)===t.charCodeAt(0);return this.source.startsWith(t,this.index)}matchRegex(t){return t.lastIndex=this.index,t.exec(this.source)?.[0]??null}eat(t,f=!1){if(this.match(t))return this.index+=t.length,!0;if(f)s(this.index,t);return!1}read(t){let f=this.matchRegex(t);if(f)this.index+=f.length;return f}readUntil(t){if(this.index>=this.source.length)i(this.source.length);let f=this.source.indexOf(t,this.index),b=f===-1?this.source.length:f,S=this.source.slice(this.index,b);return this.index=b,S}allowWhitespace(){this.index=Re(this.source,this.index)}requireWhitespace(){if(!Te(this.source.charCodeAt(this.index)))z(this.index);this.allowWhitespace()}eatClosingBrace(){this.allowWhitespace(),this.eat("}",!0)}sourceLocation(t,f){return this.loc?{start:n(t),end:n(f)}:void 0}readIdentifierName(){let t=this.index,f=We(this.source,t),b=this.source.slice(t,f);if(this.index=f,Je.has(b))pe(t,b);let S={type:"Identifier",name:b,start:t,end:f};if(this.loc)S.loc=this.sourceLocation(t,f);return S}current(){return this.stack[this.stack.length-1]}append(t){this.fragments[this.fragments.length-1].nodes.push(t)}open(t,f){this.append(t),this.stack.push(t),this.fragments.push(f)}setFragment(t){this.fragments[this.fragments.length-1]=t}close(){this.stack.pop(),this.fragments.pop()}}var ct=["===","!==","==","!=","&&","||","??"];function er(t,f,b,S){return{type:"Literal",start:f,end:b,value:S,raw:t.slice(f,b)}}function hr(t,f){let b=t.charCodeAt(f);if(b===34||b===39){for(let ge=f+1;ge<t.length;ge++){let xe=t.charCodeAt(ge);if(xe===b)return er(t,f,ge+1,t.slice(f+1,ge));if(xe===92||xe===10||xe===13)return null}return null}let S=f;for(;S<t.length;S++){let ge=t.charCodeAt(S);if(ge<48||ge>57)break}if(S===f||b===48&&S-f>1)return null;return er(t,f,S,Number(t.slice(f,S)))}function ut(t,f){let b=We(t,f);if(b===f)return hr(t,f);let S=t.slice(f,b);if(S==="true"||S==="false"||S==="null")return er(t,f,b,S==="null"?null:S==="true");if(Je.has(S))return null;let ge={type:"Identifier",start:f,end:b,name:S};for(let xe=b;;){let be=t.charCodeAt(xe),ye,ve;if(be===46){if(ve=We(t,xe+1),ve===xe+1)return null;ye={type:"Identifier",start:xe+1,end:ve,name:t.slice(xe+1,ve)}}else if(be===91){if(ye=hr(t,xe+1),!ye||t.charCodeAt(ye.end)!==93)return null;ve=ye.end+1}else return ge;ge={type:"MemberExpression",start:f,end:ve,object:ge,property:ye,computed:be===91,optional:!1},xe=ve}}function rr(t,f){if(t.charCodeAt(f)!==33||t.charCodeAt(f+1)===61)return ut(t,f);let b=rr(t,Re(t,f+1));if(!b)return null;return{type:"UnaryExpression",start:f,end:b.end,operator:"!",prefix:!0,argument:b}}function xr(t,f){let b=Re(t,f);if(b>=t.length)return!1;let S=t.charCodeAt(b);return S===125||S===41}function pt(t,f){let b=rr(t,f);if(!b||xr(t,b.end))return b;let S=Re(t,b.end),ge=ct.find((ye)=>t.startsWith(ye,S));if(!ge)return null;let xe=rr(t,Re(t,S+ge.length));if(!xe||!xr(t,xe.end))return null;let{end:be}=xe;if(ge==="&&"||ge==="||"||ge==="??")return{type:"LogicalExpression",start:b.start,end:be,left:b,operator:ge,right:xe};return{type:"BinaryExpression",start:b.start,end:be,left:b,operator:ge,right:xe}}function Ne(t){if(t.loc={start:u(t.start),end:u(t.end)},t.type==="MemberExpression")Ne(t.object),Ne(t.property);else if(t.type==="UnaryExpression")Ne(t.argument);else if(t.type==="BinaryExpression"||t.type==="LogicalExpression")Ne(t.left),Ne(t.right)}function Ae(t){let f=!t.loc||t.lfOnly?pt(t.source,t.index):null;if(f){if(t.index=f.end,t.loc)Ne(f);return f}let{node:b,end:S}=o(t,t.source,t.index);return t.index=S,b}var br="AElig:5i AElig;:5i AMP:12 AMP;:12 Aacute:5d Aacute;:5d Abreve;:76 Acirc:5e Acirc;:5e Acy;:sw Afr;:2kn8 Agrave:5c Agrave;:5c Alpha;:pd Amacr;:74 And;:8cz Aogon;:78 Aopf;:2koo ApplyFunction;:6e9 Aring:5h Aring;:5h Ascr;:2kkc Assign;:6s4 Atilde:5f Atilde;:5f Auml:5g Auml;:5g Backslash;:6qe Barv;:8h3 Barwed;:6x2 Bcy;:sx Because;:6r9 Bernoullis;:6jw Beta;:pe Bfr;:2kn9 Bopf;:2kop Breve;:k8 Bscr;:6jw Bumpeq;:6ry CHcy;:tj COPY:4p COPY;:4p Cacute;:7a Cap;:6vm CapitalDifferentialD;:6kl Cayleys;:6jx Ccaron;:7g Ccedil:5j Ccedil;:5j Ccirc;:7c Cconint;:6r4 Cdot;:7e Cedilla;:54 CenterDot;:53 Cfr;:6jx Chi;:pz CircleDot;:6u1 CircleMinus;:6ty CirclePlus;:6tx CircleTimes;:6tz ClockwiseContourIntegral;:6r6 CloseCurlyDoubleQuote;:6cd CloseCurlyQuote;:6c9 Colon;:6rb Colone;:8dw Congruent;:6sh Conint;:6r3 ContourIntegral;:6r2 Copf;:6iq Coproduct;:6q8 CounterClockwiseContourIntegral;:6r7 Cross;:8bz Cscr;:2kke Cup;:6vn CupCap;:6rx DD;:6kl DDotrahd;:841 DJcy;:si DScy;:sl DZcy;:sv Dagger;:6ch Darr;:6n5 Dashv;:8h0 Dcaron;:7i Dcy;:t0 Del;:6pz Delta;:pg Dfr;:2knb DiacriticalAcute;:50 DiacriticalDot;:k9 DiacriticalDoubleAcute;:kd DiacriticalGrave;:2o DiacriticalTilde;:kc Diamond;:6v8 DifferentialD;:6km Dopf;:2kor Dot;:4o DotDot;:6ho DotEqual;:6s0 DoubleContourIntegral;:6r3 DoubleDot;:4o DoubleDownArrow;:6oj DoubleLeftArrow;:6og DoubleLeftRightArrow;:6ok DoubleLeftTee;:8h0 DoubleLongLeftArrow;:7w8 DoubleLongLeftRightArrow;:7wa DoubleLongRightArrow;:7w9 DoubleRightArrow;:6oi DoubleRightTee;:6ug DoubleUpArrow;:6oh DoubleUpDownArrow;:6ol DoubleVerticalBar;:6qt DownArrow;:6mr DownArrowBar;:843 DownArrowUpArrow;:6ph DownBreve;:lt DownLeftRightVector;:85s DownLeftTeeVector;:866 DownLeftVector;:6nx DownLeftVectorBar;:85y DownRightTeeVector;:867 DownRightVector;:6o1 DownRightVectorBar;:85z DownTee;:6uc DownTeeArrow;:6nb Downarrow;:6oj Dscr;:2kkf Dstrok;:7k ENG;:96 ETH:5s ETH;:5s Eacute:5l Eacute;:5l Ecaron;:7u Ecirc:5m Ecirc;:5m Ecy;:tp Edot;:7q Efr;:2knc Egrave:5k Egrave;:5k Element;:6q0 Emacr;:7m EmptySmallSquare;:7i3 EmptyVerySmallSquare;:7fv Eogon;:7s Eopf;:2kos Epsilon;:ph Equal;:8dx EqualTilde;:6rm Equilibrium;:6oc Escr;:6k0 Esim;:8dv Eta;:pj Euml:5n Euml;:5n Exists;:6pv ExponentialE;:6kn Fcy;:tg Ffr;:2knd FilledSmallSquare;:7i4 FilledVerySmallSquare;:7fu Fopf;:2kot ForAll;:6ps Fouriertrf;:6k1 Fscr;:6k1 GJcy;:sj GT:1q GT;:1q Gamma;:pf Gammad;:rg Gbreve;:7y Gcedil;:82 Gcirc;:7w Gcy;:sz Gdot;:80 Gfr;:2kne Gg;:6vt Gopf;:2kou GreaterEqual;:6sl GreaterEqualLess;:6vv GreaterFullEqual;:6sn GreaterGreater;:8f6 GreaterLess;:6t3 GreaterSlantEqual;:8e6 GreaterTilde;:6sz Gscr;:2kki Gt;:6sr HARDcy;:tm Hacek;:jr Hat;:2m Hcirc;:84 Hfr;:6j0 HilbertSpace;:6iz Hopf;:6j1 HorizontalLine;:7b4 Hscr;:6iz Hstrok;:86 HumpDownHump;:6ry HumpEqual;:6rz IEcy;:t1 IJlig;:8i IOcy;:sh Iacute:5p Iacute;:5p Icirc:5q Icirc;:5q Icy;:t4 Idot;:8g Ifr;:6j5 Igrave:5o Igrave;:5o Im;:6j5 Imacr;:8a ImaginaryI;:6ko Implies;:6oi Int;:6r0 Integral;:6qz Intersection;:6v6 InvisibleComma;:6eb InvisibleTimes;:6ea Iogon;:8e Iopf;:2kow Iota;:pl Iscr;:6j4 Itilde;:88 Iukcy;:sm Iuml:5r Iuml;:5r Jcirc;:8k Jcy;:t5 Jfr;:2knh Jopf;:2kox Jscr;:2kkl Jsercy;:so Jukcy;:sk KHcy;:th KJcy;:ss Kappa;:pm Kcedil;:8m Kcy;:t6 Kfr;:2kni Kopf;:2koy Kscr;:2kkm LJcy;:sp LT:1o LT;:1o Lacute;:8p Lambda;:pn Lang;:7vu Laplacetrf;:6j6 Larr;:6n2 Lcaron;:8t Lcedil;:8r Lcy;:t7 LeftAngleBracket;:7vs LeftArrow;:6mo LeftArrowBar;:6p0 LeftArrowRightArrow;:6o6 LeftCeiling;:6x4 LeftDoubleBracket;:7vq LeftDownTeeVector;:869 LeftDownVector;:6o3 LeftDownVectorBar;:861 LeftFloor;:6x6 LeftRightArrow;:6ms LeftRightVector;:85q LeftTee;:6ub LeftTeeArrow;:6n8 LeftTeeVector;:862 LeftTriangle;:6uq LeftTriangleBar;:89b LeftTriangleEqual;:6us LeftUpDownVector;:85t LeftUpTeeVector;:868 LeftUpVector;:6nz LeftUpVectorBar;:860 LeftVector;:6nw LeftVectorBar;:85u Leftarrow;:6og Leftrightarrow;:6ok LessEqualGreater;:6vu LessFullEqual;:6sm LessGreater;:6t2 LessLess;:8f5 LessSlantEqual;:8e5 LessTilde;:6sy Lfr;:2knj Ll;:6vs Lleftarrow;:6oq Lmidot;:8v LongLeftArrow;:7w5 LongLeftRightArrow;:7w7 LongRightArrow;:7w6 Longleftarrow;:7w8 Longleftrightarrow;:7wa Longrightarrow;:7w9 Lopf;:2koz LowerLeftArrow;:6mx LowerRightArrow;:6mw Lscr;:6j6 Lsh;:6nk Lstrok;:8x Lt;:6sq Map;:83p Mcy;:t8 MediumSpace;:6e7 Mellintrf;:6k3 Mfr;:2knk MinusPlus;:6qb Mopf;:2kp0 Mscr;:6k3 Mu;:po NJcy;:sq Nacute;:8z Ncaron;:93 Ncedil;:91 Ncy;:t9 NegativeMediumSpace;:6bv NegativeThickSpace;:6bv NegativeThinSpace;:6bv NegativeVeryThinSpace;:6bv NestedGreaterGreater;:6sr NestedLessLess;:6sq NewLine;:a Nfr;:2knl NoBreak;:6e8 NonBreakingSpace;:4g Nopf;:6j9 Not;:8h8 NotCongruent;:6si NotCupCap;:6st NotDoubleVerticalBar;:6qu NotElement;:6q1 NotEqual;:6sg NotEqualTilde;:6rm NotExists;:6pw NotGreater;:6sv NotGreaterEqual;:6sx NotGreaterFullEqual;:6sn NotGreaterGreater;:6sr NotGreaterLess;:6t5 NotGreaterSlantEqual;:8e6 NotGreaterTilde;:6t1 NotHumpDownHump;:6ry NotHumpEqual;:6rz NotLeftTriangle;:6wa NotLeftTriangleBar;:89b NotLeftTriangleEqual;:6wc NotLess;:6su NotLessEqual;:6sw NotLessGreater;:6t4 NotLessLess;:6sq NotLessSlantEqual;:8e5 NotLessTilde;:6t0 NotNestedGreaterGreater;:8f6 NotNestedLessLess;:8f5 NotPrecedes;:6tc NotPrecedesEqual;:8fj NotPrecedesSlantEqual;:6w0 NotReverseElement;:6q4 NotRightTriangle;:6wb NotRightTriangleBar;:89c NotRightTriangleEqual;:6wd NotSquareSubset;:6tr NotSquareSubsetEqual;:6w2 NotSquareSuperset;:6ts NotSquareSupersetEqual;:6w3 NotSubset;:6te NotSubsetEqual;:6tk NotSucceeds;:6td NotSucceedsEqual;:8fk NotSucceedsSlantEqual;:6w1 NotSucceedsTilde;:6tb NotSuperset;:6tf NotSupersetEqual;:6tl NotTilde;:6rl NotTildeEqual;:6ro NotTildeFullEqual;:6rr NotTildeTilde;:6rt NotVerticalBar;:6qs Nscr;:2kkp Ntilde:5t Ntilde;:5t Nu;:pp OElig;:9e Oacute:5v Oacute;:5v Ocirc:5w Ocirc;:5w Ocy;:ta Odblac;:9c Ofr;:2knm Ograve:5u Ograve;:5u Omacr;:98 Omega;:q1 Omicron;:pr Oopf;:2kp2 OpenCurlyDoubleQuote;:6cc OpenCurlyQuote;:6c8 Or;:8d0 Oscr;:2kkq Oslash:60 Oslash;:60 Otilde:5x Otilde;:5x Otimes;:8c7 Ouml:5y Ouml;:5y OverBar;:6da OverBrace;:732 OverBracket;:71w OverParenthesis;:730 PartialD;:6pu Pcy;:tb Pfr;:2knn Phi;:py Pi;:ps PlusMinus;:4x Poincareplane;:6j0 Popf;:6jd Pr;:8fv Precedes;:6t6 PrecedesEqual;:8fj PrecedesSlantEqual;:6t8 PrecedesTilde;:6ta Prime;:6cz Product;:6q7 Proportion;:6rb Proportional;:6ql Pscr;:2kkr Psi;:q0 QUOT:y QUOT;:y Qfr;:2kno Qopf;:6je Qscr;:2kks RBarr;:840 REG:4u REG;:4u Racute;:9g Rang;:7vv Rarr;:6n4 Rarrtl;:846 Rcaron;:9k Rcedil;:9i Rcy;:tc Re;:6jg ReverseElement;:6q3 ReverseEquilibrium;:6ob ReverseUpEquilibrium;:86n Rfr;:6jg Rho;:pt RightAngleBracket;:7vt RightArrow;:6mq RightArrowBar;:6p1 RightArrowLeftArrow;:6o4 RightCeiling;:6x5 RightDoubleBracket;:7vr RightDownTeeVector;:865 RightDownVector;:6o2 RightDownVectorBar;:85x RightFloor;:6x7 RightTee;:6ua RightTeeArrow;:6na RightTeeVector;:863 RightTriangle;:6ur RightTriangleBar;:89c RightTriangleEqual;:6ut RightUpDownVector;:85r RightUpTeeVector;:864 RightUpVector;:6ny RightUpVectorBar;:85w RightVector;:6o0 RightVectorBar;:85v Rightarrow;:6oi Ropf;:6jh RoundImplies;:86o Rrightarrow;:6or Rscr;:6jf Rsh;:6nl RuleDelayed;:8ac SHCHcy;:tl SHcy;:tk SOFTcy;:to Sacute;:9m Sc;:8fw Scaron;:9s Scedil;:9q Scirc;:9o Scy;:td Sfr;:2knq ShortDownArrow;:6mr ShortLeftArrow;:6mo ShortRightArrow;:6mq ShortUpArrow;:6mp Sigma;:pv SmallCircle;:6qg Sopf;:2kp6 Sqrt;:6qi Square;:7fl SquareIntersection;:6tv SquareSubset;:6tr SquareSubsetEqual;:6tt SquareSuperset;:6ts SquareSupersetEqual;:6tu SquareUnion;:6tw Sscr;:2kku Star;:6va Sub;:6vk Subset;:6vk SubsetEqual;:6ti Succeeds;:6t7 SucceedsEqual;:8fk SucceedsSlantEqual;:6t9 SucceedsTilde;:6tb SuchThat;:6q3 Sum;:6q9 Sup;:6vl Superset;:6tf SupersetEqual;:6tj Supset;:6vl THORN:66 THORN;:66 TRADE;:6jm TSHcy;:sr TScy;:ti Tab;:9 Tau;:pw Tcaron;:9w Tcedil;:9u Tcy;:te Tfr;:2knr Therefore;:6r8 Theta;:pk ThickSpace;:6e7 ThinSpace;:6bt Tilde;:6rg TildeEqual;:6rn TildeFullEqual;:6rp TildeTilde;:6rs Topf;:2kp7 TripleDot;:6hn Tscr;:2kkv Tstrok;:9y Uacute:62 Uacute;:62 Uarr;:6n3 Uarrocir;:85l Ubrcy;:su Ubreve;:a4 Ucirc:63 Ucirc;:63 Ucy;:tf Udblac;:a8 Ufr;:2kns Ugrave:61 Ugrave;:61 Umacr;:a2 UnderBar;:2n UnderBrace;:733 UnderBracket;:71x UnderParenthesis;:731 Union;:6v7 UnionPlus;:6tq Uogon;:aa Uopf;:2kp8 UpArrow;:6mp UpArrowBar;:842 UpArrowDownArrow;:6o5 UpDownArrow;:6mt UpEquilibrium;:86m UpTee;:6ud UpTeeArrow;:6n9 Uparrow;:6oh Updownarrow;:6ol UpperLeftArrow;:6mu UpperRightArrow;:6mv Upsi;:r6 Upsilon;:px Uring;:a6 Uscr;:2kkw Utilde;:a0 Uuml:64 Uuml;:64 VDash;:6uj Vbar;:8h7 Vcy;:sy Vdash;:6uh Vdashl;:8h2 Vee;:6v5 Verbar;:6c6 Vert;:6c6 VerticalBar;:6qr VerticalLine;:3g VerticalSeparator;:7rs VerticalTilde;:6rk VeryThinSpace;:6bu Vfr;:2knt Vopf;:2kp9 Vscr;:2kkx Vvdash;:6ui Wcirc;:ac Wedge;:6v4 Wfr;:2knu Wopf;:2kpa Wscr;:2kky Xfr;:2knv Xi;:pq Xopf;:2kpb Xscr;:2kkz YAcy;:tr YIcy;:sn YUcy;:tq Yacute:65 Yacute;:65 Ycirc;:ae Ycy;:tn Yfr;:2knw Yopf;:2kpc Yscr;:2kl0 Yuml;:ag ZHcy;:t2 Zacute;:ah Zcaron;:al Zcy;:t3 Zdot;:aj ZeroWidthSpace;:6bv Zeta;:pi Zfr;:6js Zopf;:6jo Zscr;:2kl1 aacute:69 aacute;:69 abreve;:77 ac;:6ri acE;:6ri acd;:6rj acirc:6a acirc;:6a acute:50 acute;:50 acy;:ts aelig:6e aelig;:6e af;:6e9 afr;:2kny agrave:68 agrave;:68 alefsym;:6k5 aleph;:6k5 alpha;:q9 amacr;:75 amalg;:8cf amp:12 amp;:12 and;:6qv andand;:8d1 andd;:8d8 andslope;:8d4 andv;:8d6 ang;:6qo ange;:884 angle;:6qo angmsd;:6qp angmsdaa;:888 angmsdab;:889 angmsdac;:88a angmsdad;:88b angmsdae;:88c angmsdaf;:88d angmsdag;:88e angmsdah;:88f angrt;:6qn angrtvb;:6v2 angrtvbd;:87x angsph;:6qq angst;:5h angzarr;:70c aogon;:79 aopf;:2kpe ap;:6rs apE;:8ds apacir;:8dr ape;:6ru apid;:6rv apos;:13 approx;:6rs approxeq;:6ru aring:6d aring;:6d ascr;:2kl2 ast;:16 asymp;:6rs asympeq;:6rx atilde:6b atilde;:6b auml:6c auml;:6c awconint;:6r7 awint;:8b5 bNot;:8h9 backcong;:6rw backepsilon;:s6 backprime;:6d1 backsim;:6rh backsimeq;:6vh barvee;:6v1 barwed;:6x1 barwedge;:6x1 bbrk;:71x bbrktbrk;:71y bcong;:6rw bcy;:tt bdquo;:6ce becaus;:6r9 because;:6r9 bemptyv;:88g bepsi;:s6 bernou;:6jw beta;:qa beth;:6k6 between;:6ss bfr;:2knz bigcap;:6v6 bigcirc;:7hr bigcup;:6v7 bigodot;:8ao bigoplus;:8ap bigotimes;:8aq bigsqcup;:8au bigstar;:7id bigtriangledown;:7gd bigtriangleup;:7g3 biguplus;:8as bigvee;:6v5 bigwedge;:6v4 bkarow;:83x blacklozenge;:8a3 blacksquare;:7fu blacktriangle;:7g4 blacktriangledown;:7ge blacktriangleleft;:7gi blacktriangleright;:7g8 blank;:74z blk12;:7f6 blk14;:7f5 blk34;:7f7 block;:7ew bne;:1p bnequiv;:6sh bnot;:6xc bopf;:2kpf bot;:6ud bottom;:6ud bowtie;:6vc boxDL;:7dj boxDR;:7dg boxDl;:7di boxDr;:7df boxH;:7dc boxHD;:7dy boxHU;:7e1 boxHd;:7dw boxHu;:7dz boxUL;:7dp boxUR;:7dm boxUl;:7do boxUr;:7dl boxV;:7dd boxVH;:7e4 boxVL;:7dv boxVR;:7ds boxVh;:7e3 boxVl;:7du boxVr;:7dr boxbox;:895 boxdL;:7dh boxdR;:7de boxdl;:7bk boxdr;:7bg boxh;:7b4 boxhD;:7dx boxhU;:7e0 boxhd;:7cc boxhu;:7ck boxminus;:6u7 boxplus;:6u6 boxtimes;:6u8 boxuL;:7dn boxuR;:7dk boxul;:7bs boxur;:7bo boxv;:7b6 boxvH;:7e2 boxvL;:7dt boxvR;:7dq boxvh;:7cs boxvl;:7c4 boxvr;:7bw bprime;:6d1 breve;:k8 brvbar:4m brvbar;:4m bscr;:2kl3 bsemi;:6dr bsim;:6rh bsime;:6vh bsol;:2k bsolb;:891 bsolhsub;:7uw bull;:6ci bullet;:6ci bump;:6ry bumpE;:8fi bumpe;:6rz bumpeq;:6rz cacute;:7b cap;:6qx capand;:8ck capbrcup;:8cp capcap;:8cr capcup;:8cn capdot;:8cg caps;:6qx caret;:6dd caron;:jr ccaps;:8ct ccaron;:7h ccedil:6f ccedil;:6f ccirc;:7d ccups;:8cs ccupssm;:8cw cdot;:7f cedil:54 cedil;:54 cemptyv;:88i cent:4i cent;:4i centerdot;:53 cfr;:2ko0 chcy;:uf check;:7pv checkmark;:7pv chi;:qv cir;:7gr cirE;:88z circ;:jq circeq;:6s7 circlearrowleft;:6nu circlearrowright;:6nv circledR;:4u circledS;:79k circledast;:6u3 circledcirc;:6u2 circleddash;:6u5 cire;:6s7 cirfnint;:8b4 cirmid;:8hb cirscir;:88y clubs;:7kz clubsuit;:7kz colon;:1m colone;:6s4 coloneq;:6s4 comma;:18 commat;:1s comp;:6pt compfn;:6qg complement;:6pt complexes;:6iq cong;:6rp congdot;:8dp conint;:6r2 copf;:2kpg coprod;:6q8 copy:4p copy;:4p copysr;:6jb crarr;:6np cross;:7pz cscr;:2kl4 csub;:8gf csube;:8gh csup;:8gg csupe;:8gi ctdot;:6wf cudarrl;:854 cudarrr;:851 cuepr;:6vy cuesc;:6vz cularr;:6nq cularrp;:859 cup;:6qy cupbrcap;:8co cupcap;:8cm cupcup;:8cq cupdot;:6tp cupor;:8cl cups;:6qy curarr;:6nr curarrm;:858 curlyeqprec;:6vy curlyeqsucc;:6vz curlyvee;:6vi curlywedge;:6vj curren:4k curren;:4k curvearrowleft;:6nq curvearrowright;:6nr cuvee;:6vi cuwed;:6vj cwconint;:6r6 cwint;:6r5 cylcty;:6y5 dArr;:6oj dHar;:86d dagger;:6cg daleth;:6k8 darr;:6mr dash;:6c0 dashv;:6ub dbkarow;:83z dblac;:kd dcaron;:7j dcy;:tw dd;:6km ddagger;:6ch ddarr;:6oa ddotseq;:8dz deg:4w deg;:4w delta;:qc demptyv;:88h dfisht;:873 dfr;:2ko1 dharl;:6o3 dharr;:6o2 diam;:6v8 diamond;:6v8 diamondsuit;:7l2 diams;:7l2 die;:4o digamma;:rh disin;:6wi div;:6v divide:6v divide;:6v divideontimes;:6vb divonx;:6vb djcy;:uq dlcorn;:6xq dlcrop;:6x9 dollar;:10 dopf;:2kph dot;:k9 doteq;:6s0 doteqdot;:6s1 dotminus;:6rc dotplus;:6qc dotsquare;:6u9 doublebarwedge;:6x2 downarrow;:6mr downdownarrows;:6oa downharpoonleft;:6o3 downharpoonright;:6o2 drbkarow;:840 drcorn;:6xr drcrop;:6x8 dscr;:2kl5 dscy;:ut dsol;:8ae dstrok;:7l dtdot;:6wh dtri;:7gf dtrif;:7ge duarr;:6ph duhar;:86n dwangle;:886 dzcy;:v3 dzigrarr;:7wf eDDot;:8dz eDot;:6s1 eacute:6h eacute;:6h easter;:8dq ecaron;:7v ecir;:6s6 ecirc:6i ecirc;:6i ecolon;:6s5 ecy;:ul edot;:7r ee;:6kn efDot;:6s2 efr;:2ko2 eg;:8ey egrave:6g egrave;:6g egs;:8eu egsdot;:8ew el;:8ex elinters;:73b ell;:6j7 els;:8et elsdot;:8ev emacr;:7n empty;:6px emptyset;:6px emptyv;:6px emsp13;:6bo emsp14;:6bp emsp;:6bn eng;:97 ensp;:6bm eogon;:7t eopf;:2kpi epar;:6vp eparsl;:89v eplus;:8dt epsi;:qd epsilon;:qd epsiv;:s5 eqcirc;:6s6 eqcolon;:6s5 eqsim;:6rm eqslantgtr;:8eu eqslantless;:8et equals;:1p equest;:6sf equiv;:6sh equivDD;:8e0 eqvparsl;:89x erDot;:6s3 erarr;:86p escr;:6jz esdot;:6s0 esim;:6rm eta;:qf eth:6o eth;:6o euml:6j euml;:6j euro;:6gc excl;:x exist;:6pv expectation;:6k0 exponentiale;:6kn fallingdotseq;:6s2 fcy;:uc female;:7k0 ffilig;:1dkz fflig;:1dkw ffllig;:1dl0 ffr;:2ko3 filig;:1dkx fjlig;:2u flat;:7l9 fllig;:1dky fltns;:7g1 fnof;:b6 fopf;:2kpj forall;:6ps fork;:6vo forkv;:8gp fpartint;:8b1 frac12:59 frac12;:59 frac13;:6kz frac14:58 frac14;:58 frac15;:6l1 frac16;:6l5 frac18;:6l7 frac23;:6l0 frac25;:6l2 frac34:5a frac34;:5a frac35;:6l3 frac38;:6l8 frac45;:6l4 frac56;:6l6 frac58;:6l9 frac78;:6la frasl;:6dg frown;:6xu fscr;:2kl7 gE;:6sn gEl;:8ek gacute;:dx gamma;:qb gammad;:rh gap;:8ee gbreve;:7z gcirc;:7x gcy;:tv gdot;:81 ge;:6sl gel;:6vv geq;:6sl geqq;:6sn geqslant;:8e6 ges;:8e6 gescc;:8fd gesdot;:8e8 gesdoto;:8ea gesdotol;:8ec gesl;:6vv gesles;:8es gfr;:2ko4 gg;:6sr ggg;:6vt gimel;:6k7 gjcy;:ur gl;:6t3 glE;:8eq gla;:8f9 glj;:8f8 gnE;:6sp gnap;:8ei gnapprox;:8ei gne;:8eg gneq;:8eg gneqq;:6sp gnsim;:6w7 gopf;:2kpk grave;:2o gscr;:6iy gsim;:6sz gsime;:8em gsiml;:8eo gt:1q gt;:1q gtcc;:8fb gtcir;:8e2 gtdot;:6vr gtlPar;:87p gtquest;:8e4 gtrapprox;:8ee gtrarr;:86w gtrdot;:6vr gtreqless;:6vv gtreqqless;:8ek gtrless;:6t3 gtrsim;:6sz gvertneqq;:6sp gvnE;:6sp hArr;:6ok hairsp;:6bu half;:59 hamilt;:6iz hardcy;:ui harr;:6ms harrcir;:85k harrw;:6nh hbar;:6j3 hcirc;:85 hearts;:7l1 heartsuit;:7l1 hellip;:6cm hercon;:6ux hfr;:2ko5 hksearow;:84l hkswarow;:84m hoarr;:6pr homtht;:6rf hookleftarrow;:6nd hookrightarrow;:6ne hopf;:2kpl horbar;:6c5 hscr;:2kl9 hslash;:6j3 hstrok;:87 hybull;:6df hyphen;:6c0 iacute:6l iacute;:6l ic;:6eb icirc:6m icirc;:6m icy;:u0 iecy;:tx iexcl:4h iexcl;:4h iff;:6ok ifr;:2ko6 igrave:6k igrave;:6k ii;:6ko iiiint;:8b0 iiint;:6r1 iinfin;:89o iiota;:6jt ijlig;:8j imacr;:8b image;:6j5 imagline;:6j4 imagpart;:6j5 imath;:8h imof;:6uv imped;:c5 in;:6q0 incare;:6it infin;:6qm infintie;:89p inodot;:8h int;:6qz intcal;:6uy integers;:6jo intercal;:6uy intlarhk;:8bb intprod;:8cc iocy;:up iogon;:8f iopf;:2kpm iota;:qh iprod;:8cc iquest:5b iquest;:5b iscr;:2kla isin;:6q0 isinE;:6wp isindot;:6wl isins;:6wk isinsv;:6wj isinv;:6q0 it;:6ea itilde;:89 iukcy;:uu iuml:6n iuml;:6n jcirc;:8l jcy;:u1 jfr;:2ko7 jmath;:fr jopf;:2kpn jscr;:2klb jsercy;:uw jukcy;:us kappa;:qi kappav;:s0 kcedil;:8n kcy;:u2 kfr;:2ko8 kgreen;:8o khcy;:ud kjcy;:v0 kopf;:2kpo kscr;:2klc lAarr;:6oq lArr;:6og lAtail;:84b lBarr;:83y lE;:6sm lEg;:8ej lHar;:86a lacute;:8q laemptyv;:88k lagran;:6j6 lambda;:qj lang;:7vs langd;:87l langle;:7vs lap;:8ed laquo:4r laquo;:4r larr;:6mo larrb;:6p0 larrbfs;:84f larrfs;:84d larrhk;:6nd larrlp;:6nf larrpl;:855 larrsim;:86r larrtl;:6n6 lat;:8ff latail;:849 late;:8fh lates;:8fh lbarr;:83w lbbrk;:7si lbrace;:3f lbrack;:2j lbrke;:87f lbrksld;:87j lbrkslu;:87h lcaron;:8u lcedil;:8s lceil;:6x4 lcub;:3f lcy;:u3 ldca;:852 ldquo;:6cc ldquor;:6ce ldrdhar;:86f ldrushar;:85n ldsh;:6nm le;:6sk leftarrow;:6mo leftarrowtail;:6n6 leftharpoondown;:6nx leftharpoonup;:6nw leftleftarrows;:6o7 leftrightarrow;:6ms leftrightarrows;:6o6 leftrightharpoons;:6ob leftrightsquigarrow;:6nh leftthreetimes;:6vf leg;:6vu leq;:6sk leqq;:6sm leqslant;:8e5 les;:8e5 lescc;:8fc lesdot;:8e7 lesdoto;:8e9 lesdotor;:8eb lesg;:6vu lesges;:8er lessapprox;:8ed lessdot;:6vq lesseqgtr;:6vu lesseqqgtr;:8ej lessgtr;:6t2 lesssim;:6sy lfisht;:870 lfloor;:6x6 lfr;:2ko9 lg;:6t2 lgE;:8ep lhard;:6nx lharu;:6nw lharul;:86i lhblk;:7es ljcy;:ux ll;:6sq llarr;:6o7 llcorner;:6xq llhard;:86j lltri;:7i2 lmidot;:8w lmoust;:71s lmoustache;:71s lnE;:6so lnap;:8eh lnapprox;:8eh lne;:8ef lneq;:8ef lneqq;:6so lnsim;:6w6 loang;:7vw loarr;:6pp lobrk;:7vq longleftarrow;:7w5 longleftrightarrow;:7w7 longmapsto;:7wc longrightarrow;:7w6 looparrowleft;:6nf looparrowright;:6ng lopar;:879 lopf;:2kpp loplus;:8bx lotimes;:8c4 lowast;:6qf lowbar;:2n loz;:7gq lozenge;:7gq lozf;:8a3 lpar;:14 lparlt;:87n lrarr;:6o6 lrcorner;:6xr lrhar;:6ob lrhard;:86l lrm;:6by lrtri;:6v3 lsaquo;:6d5 lscr;:2kld lsh;:6nk lsim;:6sy lsime;:8el lsimg;:8en lsqb;:2j lsquo;:6c8 lsquor;:6ca lstrok;:8y lt:1o lt;:1o ltcc;:8fa ltcir;:8e1 ltdot;:6vq lthree;:6vf ltimes;:6vd ltlarr;:86u ltquest;:8e3 ltrPar;:87q ltri;:7gj ltrie;:6us ltrif;:7gi lurdshar;:85m luruhar;:86e lvertneqq;:6so lvnE;:6so mDDot;:6re macr:4v macr;:4v male;:7k2 malt;:7q8 maltese;:7q8 map;:6na mapsto;:6na mapstodown;:6nb mapstoleft;:6n8 mapstoup;:6n9 marker;:7fy mcomma;:8bt mcy;:u4 mdash;:6c4 measuredangle;:6qp mfr;:2koa mho;:6jr micro:51 micro;:51 mid;:6qr midast;:16 midcir;:8hc middot:53 middot;:53 minus;:6qa minusb;:6u7 minusd;:6rc minusdu;:8bu mlcp;:8gr mldr;:6cm mnplus;:6qb models;:6uf mopf;:2kpq mp;:6qb mscr;:2kle mstpos;:6ri mu;:qk multimap;:6uw mumap;:6uw nGg;:6vt nGt;:6sr nGtv;:6sr nLeftarrow;:6od nLeftrightarrow;:6oe nLl;:6vs nLt;:6sq nLtv;:6sq nRightarrow;:6of nVDash;:6un nVdash;:6um nabla;:6pz nacute;:90 nang;:6qo nap;:6rt napE;:8ds napid;:6rv napos;:95 napprox;:6rt natur;:7la natural;:7la naturals;:6j9 nbsp:4g nbsp;:4g nbump;:6ry nbumpe;:6rz ncap;:8cj ncaron;:94 ncedil;:92 ncong;:6rr ncongdot;:8dp ncup;:8ci ncy;:u5 ndash;:6c3 ne;:6sg neArr;:6on nearhk;:84k nearr;:6mv nearrow;:6mv nedot;:6s0 nequiv;:6si nesear;:84o nesim;:6rm nexist;:6pw nexists;:6pw nfr;:2kob ngE;:6sn nge;:6sx ngeq;:6sx ngeqq;:6sn ngeqslant;:8e6 nges;:8e6 ngsim;:6t1 ngt;:6sv ngtr;:6sv nhArr;:6oe nharr;:6ni nhpar;:8he ni;:6q3 nis;:6ws nisd;:6wq niv;:6q3 njcy;:uy nlArr;:6od nlE;:6sm nlarr;:6my nldr;:6cl nle;:6sw nleftarrow;:6my nleftrightarrow;:6ni nleq;:6sw nleqq;:6sm nleqslant;:8e5 nles;:8e5 nless;:6su nlsim;:6t0 nlt;:6su nltri;:6wa nltrie;:6wc nmid;:6qs nopf;:2kpr not:4s not;:4s notin;:6q1 notinE;:6wp notindot;:6wl notinva;:6q1 notinvb;:6wn notinvc;:6wm notni;:6q4 notniva;:6q4 notnivb;:6wu notnivc;:6wt npar;:6qu nparallel;:6qu nparsl;:8hp npart;:6pu npolint;:8b8 npr;:6tc nprcue;:6w0 npre;:8fj nprec;:6tc npreceq;:8fj nrArr;:6of nrarr;:6mz nrarrc;:84z nrarrw;:6n1 nrightarrow;:6mz nrtri;:6wb nrtrie;:6wd nsc;:6td nsccue;:6w1 nsce;:8fk nscr;:2klf nshortmid;:6qs nshortparallel;:6qu nsim;:6rl nsime;:6ro nsimeq;:6ro nsmid;:6qs nspar;:6qu nsqsube;:6w2 nsqsupe;:6w3 nsub;:6tg nsubE;:8g5 nsube;:6tk nsubset;:6te nsubseteq;:6tk nsubseteqq;:8g5 nsucc;:6td nsucceq;:8fk nsup;:6th nsupE;:8g6 nsupe;:6tl nsupset;:6tf nsupseteq;:6tl nsupseteqq;:8g6 ntgl;:6t5 ntilde:6p ntilde;:6p ntlg;:6t4 ntriangleleft;:6wa ntrianglelefteq;:6wc ntriangleright;:6wb ntrianglerighteq;:6wd nu;:ql num;:z numero;:6ja numsp;:6br nvDash;:6ul nvHarr;:83o nvap;:6rx nvdash;:6uk nvge;:6sl nvgt;:1q nvinfin;:89q nvlArr;:83m nvle;:6sk nvlt;:1o nvltrie;:6us nvrArr;:83n nvrtrie;:6ut nvsim;:6rg nwArr;:6om nwarhk;:84j nwarr;:6mu nwarrow;:6mu nwnear;:84n oS;:79k oacute:6r oacute;:6r oast;:6u3 ocir;:6u2 ocirc:6s ocirc;:6s ocy;:u6 odash;:6u5 odblac;:9d odiv;:8c8 odot;:6u1 odsold;:88s oelig;:9f ofcir;:88v ofr;:2koc ogon;:kb ograve:6q ograve;:6q ogt;:88x ohbar;:88l ohm;:q1 oint;:6r2 olarr;:6nu olcir;:88u olcross;:88r oline;:6da olt;:88w omacr;:99 omega;:qx omicron;:qn omid;:88m ominus;:6ty oopf;:2kps opar;:88n operp;:88p oplus;:6tx or;:6qw orarr;:6nv ord;:8d9 order;:6k4 orderof;:6k4 ordf:4q ordf;:4q ordm:56 ordm;:56 origof;:6uu oror;:8d2 orslope;:8d3 orv;:8d7 oscr;:6k4 oslash:6w oslash;:6w osol;:6u0 otilde:6t otilde;:6t otimes;:6tz otimesas;:8c6 ouml:6u ouml;:6u ovbar;:6yl par;:6qt para:52 para;:52 parallel;:6qt parsim;:8hf parsl;:8hp part;:6pu pcy;:u7 percnt;:11 period;:1a permil;:6cw perp;:6ud pertenk;:6cx pfr;:2kod phi;:qu phiv;:r9 phmmat;:6k3 phone;:7im pi;:qo pitchfork;:6vo piv;:ra planck;:6j3 planckh;:6j2 plankv;:6j3 plus;:17 plusacir;:8bn plusb;:6u6 pluscir;:8bm plusdo;:6qc plusdu;:8bp pluse;:8du plusmn:4x plusmn;:4x plussim;:8bq plustwo;:8br pm;:4x pointint;:8b9 popf;:2kpt pound:4j pound;:4j pr;:6t6 prE;:8fn prap;:8fr prcue;:6t8 pre;:8fj prec;:6t6 precapprox;:8fr preccurlyeq;:6t8 preceq;:8fj precnapprox;:8ft precneqq;:8fp precnsim;:6w8 precsim;:6ta prime;:6cy primes;:6jd prnE;:8fp prnap;:8ft prnsim;:6w8 prod;:6q7 profalar;:6y6 profline;:6xe profsurf;:6xf prop;:6ql propto;:6ql prsim;:6ta prurel;:6uo pscr;:2klh psi;:qw puncsp;:6bs qfr;:2koe qint;:8b0 qopf;:2kpu qprime;:6dz qscr;:2kli quaternions;:6j1 quatint;:8ba quest;:1r questeq;:6sf quot:y quot;:y rAarr;:6or rArr;:6oi rAtail;:84c rBarr;:83z rHar;:86c race;:6rh racute;:9h radic;:6qi raemptyv;:88j rang;:7vt rangd;:87m range;:885 rangle;:7vt raquo:57 raquo;:57 rarr;:6mq rarrap;:86t rarrb;:6p1 rarrbfs;:84g rarrc;:84z rarrfs;:84e rarrhk;:6ne rarrlp;:6ng rarrpl;:85h rarrsim;:86s rarrtl;:6n7 rarrw;:6n1 ratail;:84a ratio;:6ra rationals;:6je rbarr;:83x rbbrk;:7sj rbrace;:3h rbrack;:2l rbrke;:87g rbrksld;:87i rbrkslu;:87k rcaron;:9l rcedil;:9j rceil;:6x5 rcub;:3h rcy;:u8 rdca;:853 rdldhar;:86h rdquo;:6cd rdquor;:6cd rdsh;:6nn real;:6jg realine;:6jf realpart;:6jg reals;:6jh rect;:7fx reg:4u reg;:4u rfisht;:871 rfloor;:6x7 rfr;:2kof rhard;:6o1 rharu;:6o0 rharul;:86k rho;:qp rhov;:s1 rightarrow;:6mq rightarrowtail;:6n7 rightharpoondown;:6o1 rightharpoonup;:6o0 rightleftarrows;:6o4 rightleftharpoons;:6oc rightrightarrows;:6o9 rightsquigarrow;:6n1 rightthreetimes;:6vg ring;:ka risingdotseq;:6s3 rlarr;:6o4 rlhar;:6oc rlm;:6bz rmoust;:71t rmoustache;:71t rnmid;:8ha roang;:7vx roarr;:6pq robrk;:7vr ropar;:87a ropf;:2kpv roplus;:8by rotimes;:8c5 rpar;:15 rpargt;:87o rppolint;:8b6 rrarr;:6o9 rsaquo;:6d6 rscr;:2klj rsh;:6nl rsqb;:2l rsquo;:6c9 rsquor;:6c9 rthree;:6vg rtimes;:6ve rtri;:7g9 rtrie;:6ut rtrif;:7g8 rtriltri;:89a ruluhar;:86g rx;:6ji sacute;:9n sbquo;:6ca sc;:6t7 scE;:8fo scap;:8fs scaron;:9t sccue;:6t9 sce;:8fk scedil;:9r scirc;:9p scnE;:8fq scnap;:8fu scnsim;:6w9 scpolint;:8b7 scsim;:6tb scy;:u9 sdot;:6v9 sdotb;:6u9 sdote;:8di seArr;:6oo searhk;:84l searr;:6mw searrow;:6mw sect:4n sect;:4n semi;:1n seswar;:84p setminus;:6qe setmn;:6qe sext;:7qu sfr;:2kog sfrown;:6xu sharp;:7lb shchcy;:uh shcy;:ug shortmid;:6qr shortparallel;:6qt shy:4t shy;:4t sigma;:qr sigmaf;:qq sigmav;:qq sim;:6rg simdot;:8dm sime;:6rn simeq;:6rn simg;:8f2 simgE;:8f4 siml;:8f1 simlE;:8f3 simne;:6rq simplus;:8bo simrarr;:86q slarr;:6mo smallsetminus;:6qe smashp;:8c3 smeparsl;:89w smid;:6qr smile;:6xv smt;:8fe smte;:8fg smtes;:8fg softcy;:uk sol;:1b solb;:890 solbar;:6yn sopf;:2kpw spades;:7kw spadesuit;:7kw spar;:6qt sqcap;:6tv sqcaps;:6tv sqcup;:6tw sqcups;:6tw sqsub;:6tr sqsube;:6tt sqsubset;:6tr sqsubseteq;:6tt sqsup;:6ts sqsupe;:6tu sqsupset;:6ts sqsupseteq;:6tu squ;:7fl square;:7fl squarf;:7fu squf;:7fu srarr;:6mq sscr;:2klk ssetmn;:6qe ssmile;:6xv sstarf;:6va star;:7ie starf;:7id straightepsilon;:s5 straightphi;:r9 strns;:4v sub;:6te subE;:8g5 subdot;:8fx sube;:6ti subedot;:8g3 submult;:8g1 subnE;:8gb subne;:6tm subplus;:8fz subrarr;:86x subset;:6te subseteq;:6ti subseteqq;:8g5 subsetneq;:6tm subsetneqq;:8gb subsim;:8g7 subsub;:8gl subsup;:8gj succ;:6t7 succapprox;:8fs succcurlyeq;:6t9 succeq;:8fk succnapprox;:8fu succneqq;:8fq succnsim;:6w9 succsim;:6tb sum;:6q9 sung;:7l6 sup1:55 sup1;:55 sup2:4y sup2;:4y sup3:4z sup3;:4z sup;:6tf supE;:8g6 supdot;:8fy supdsub;:8go supe;:6tj supedot;:8g4 suphsol;:7ux suphsub;:8gn suplarr;:86z supmult;:8g2 supnE;:8gc supne;:6tn supplus;:8g0 supset;:6tf supseteq;:6tj supseteqq;:8g6 supsetneq;:6tn supsetneqq;:8gc supsim;:8g8 supsub;:8gk supsup;:8gm swArr;:6op swarhk;:84m swarr;:6mx swarrow;:6mx swnwar;:84q szlig:67 szlig;:67 target;:6xi tau;:qs tbrk;:71w tcaron;:9x tcedil;:9v tcy;:ua tdot;:6hn telrec;:6xh tfr;:2koh there4;:6r8 therefore;:6r8 theta;:qg thetasym;:r5 thetav;:r5 thickapprox;:6rs thicksim;:6rg thinsp;:6bt thkap;:6rs thksim;:6rg thorn:72 thorn;:72 tilde;:kc times:5z times;:5z timesb;:6u8 timesbar;:8c1 timesd;:8c0 tint;:6r1 toea;:84o top;:6uc topbot;:6ye topcir;:8hd topf;:2kpx topfork;:8gq tosa;:84p tprime;:6d0 trade;:6jm triangle;:7g5 triangledown;:7gf triangleleft;:7gj trianglelefteq;:6us triangleq;:6sc triangleright;:7g9 trianglerighteq;:6ut tridot;:7ho trie;:6sc triminus;:8ca triplus;:8c9 trisb;:899 tritime;:8cb trpezium;:736 tscr;:2kll tscy;:ue tshcy;:uz tstrok;:9z twixt;:6ss twoheadleftarrow;:6n2 twoheadrightarrow;:6n4 uArr;:6oh uHar;:86b uacute:6y uacute;:6y uarr;:6mp ubrcy;:v2 ubreve;:a5 ucirc:6z ucirc;:6z ucy;:ub udarr;:6o5 udblac;:a9 udhar;:86m ufisht;:872 ufr;:2koi ugrave:6x ugrave;:6x uharl;:6nz uharr;:6ny uhblk;:7eo ulcorn;:6xo ulcorner;:6xo ulcrop;:6xb ultri;:7i0 umacr;:a3 uml:4o uml;:4o uogon;:ab uopf;:2kpy uparrow;:6mp updownarrow;:6mt upharpoonleft;:6nz upharpoonright;:6ny uplus;:6tq upsi;:qt upsih;:r6 upsilon;:qt upuparrows;:6o8 urcorn;:6xp urcorner;:6xp urcrop;:6xa uring;:a7 urtri;:7i1 uscr;:2klm utdot;:6wg utilde;:a1 utri;:7g5 utrif;:7g4 uuarr;:6o8 uuml:70 uuml;:70 uwangle;:887 vArr;:6ol vBar;:8h4 vBarv;:8h5 vDash;:6ug vangrt;:87w varepsilon;:s5 varkappa;:s0 varnothing;:6px varphi;:r9 varpi;:ra varpropto;:6ql varr;:6mt varrho;:s1 varsigma;:qq varsubsetneq;:6tm varsubsetneqq;:8gb varsupsetneq;:6tn varsupsetneqq;:8gc vartheta;:r5 vartriangleleft;:6uq vartriangleright;:6ur vcy;:tu vdash;:6ua vee;:6qw veebar;:6uz veeeq;:6sa vellip;:6we verbar;:3g vert;:3g vfr;:2koj vltri;:6uq vnsub;:6te vnsup;:6tf vopf;:2kpz vprop;:6ql vrtri;:6ur vscr;:2kln vsubnE;:8gb vsubne;:6tm vsupnE;:8gc vsupne;:6tn vzigzag;:87u wcirc;:ad wedbar;:8db wedge;:6qv wedgeq;:6s9 weierp;:6jc wfr;:2kok wopf;:2kq0 wp;:6jc wr;:6rk wreath;:6rk wscr;:2klo xcap;:6v6 xcirc;:7hr xcup;:6v7 xdtri;:7gd xfr;:2kol xhArr;:7wa xharr;:7w7 xi;:qm xlArr;:7w8 xlarr;:7w5 xmap;:7wc xnis;:6wr xodot;:8ao xopf;:2kq1 xoplus;:8ap xotime;:8aq xrArr;:7w9 xrarr;:7w6 xscr;:2klp xsqcup;:8au xuplus;:8as xutri;:7g3 xvee;:6v5 xwedge;:6v4 yacute:71 yacute;:71 yacy;:un ycirc;:af ycy;:uj yen:4l yen;:4l yfr;:2kom yicy;:uv yopf;:2kq2 yscr;:2klq yucy;:um yuml:73 yuml;:73 zacute;:ai zcaron;:am zcy;:tz zdot;:ak zeetrf;:6js zeta;:qe zfr;:2kon zhcy;:ty zigrarr;:6ot zopf;:2kq3 zscr;:2klr zwj;:6bx zwnj;:6bw";var dt=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376],Oe,tr=0;function ft(){if(Oe)return Oe;Oe=new Map;for(let t of br.split(" ")){let f=t.indexOf(":");Oe.set(t.slice(0,f),Number.parseInt(t.slice(f+1),36)),tr=Math.max(tr,f)}return Oe}var nr=(t)=>t>=48&&t<=57,mt=(t)=>nr(t)||t>=65&&t<=70||t>=97&&t<=102,yr=(t)=>nr(t)||t>=65&&t<=90||t>=97&&t<=122,Ve=0;function gt(t,f,b){if(t.charCodeAt(f)===35){let xe=(t.charCodeAt(f+1)|32)===120,be=f+(xe?2:1),ye=be;while(ye<t.length&&(xe?mt:nr)(t.charCodeAt(ye)))ye++;if(ye===be)return 0;return Ve=t.charCodeAt(ye)===59?ye+1:ye,Number.parseInt(t.slice(be,ye),xe?16:10)}let S=ft(),ge=f;while(ge-f<tr&&yr(t.charCodeAt(ge)))ge++;if(t.charCodeAt(ge)===59){let xe=S.get(t.slice(f,ge+1));if(xe!==void 0)return Ve=ge+1,xe}for(let xe=ge;xe>f;xe--){let be=S.get(t.slice(f,xe));if(be===void 0)continue;if(b){let ye=t.charCodeAt(xe);if(yr(ye)||ye===95||ye===61)continue}return Ve=xe,be}return 0}function ht(t,f){if(t===10&&!f)return 32;if(t<128)return t;if(t<=159)return dt[t-128];if(t>=55296&&t<=57343)return 0;if(t<=196607)return t;if(t>=917504&&t<=917631||t>=917760&&t<=917999)return t;return 0}function Ie(t,f){let b=t.indexOf("&");if(b===-1)return t;let S="",ge=0;while(b!==-1){let xe=gt(t,b+1,f);if(xe)S+=t.slice(ge,b)+String.fromCodePoint(ht(xe,f)),ge=Ve;b=t.indexOf("&",xe?ge:b+1)}return S+t.slice(ge)}var vr=/<\/script\s*>/g,xt=new Set(["server","client","worker","test","default"]);function Sr(t,f,b){let{source:S,index:ge}=t;if(ge>=S.length)i(S.length);vr.lastIndex=ge;let xe=vr.exec(S);if(!xe)d(S.length,"script");t.index=xe.index+xe[0].length;let be=p(t,S.slice(0,xe.index),ge);if(be.start=ge,be.loc)Object.assign(be.loc.start,u(f)),Object.assign(be.loc.end,u(t.index));let ye="default";for(let ve of b){if(xt.has(ve.name))Q(ve,ve.name);if(ve.name==="module"){if(ve.value!==!0)H(ve,ve.name);ye="module"}if(ve.name==="context"){let Se=ve.value;if(Se===!0||!Array.isArray(Se)||Se.length!==1||Se[0].type!=="Text"||Se[0].data!=="module")K(ve);ye="module"}}return{type:"Script",start:f,end:t.index,context:ye,content:be,attributes:b}}var bt=/(even|odd|\+?(\d+|\d*n(\s*[+-]\s*\d+)?)|-\d*n(\s*\+\s*\d+))((?=\s*[,)])|\s+of(\s+|(?=[.#[*:&])))/y,yt=/\d+(\.\d+)?%/y,vt=/\\[0-9a-fA-F]{1,6}(\r\n|\s)?/y,St=/\s*>/y,_e=-1,sr=34,kt=35,wt=36,At=38,lr=39,qt=40,Et=41,ze=42,Tt=43,Ct=45,_t=46,ar=47,or=58,Lt=59,qr=60,kr=61,Dt=62,Rt=91,Me=92,Nt=93,Pt=94,Er=123,ir=124,jt=125,Tr=126,Ge=[];function Cr(t,f,b){let S=t.index;Ge=[];let ge=t.css?Ot(t):Bt(t),xe=t.index;return t.eat("</style",!0),t.read(St),{type:"StyleSheet",start:f,end:t.index,attributes:b,children:ge,comments:Ge,content:{start:S,end:xe,styles:t.source.slice(S,xe),comment:null}}}function Bt(t){let{source:f,index:b}=t;while(b<f.length){let S=f.charCodeAt(b);if(S===ar&&f.charCodeAt(b+1)===ze){let ge=f.indexOf("*/",b+2);b=ge===-1?f.length:ge+2}else if(S===sr||S===lr){b++;while(b<f.length){let ge=f.charCodeAt(b);if(ge===S||ge===10)break;b+=ge===Me?2:1}b++}else if(S===qr&&f.startsWith("</style",b))break;else b++}return t.index=Math.min(b,f.length),[]}function Ot(t){let f=[];for(;;){if(Pe(t,!0),t.match("</style")||t.index>=t.source.length)break;f.push(t.match("@")?_r(t):Lr(t))}return f}function _r(t){let f=t.index;t.eat("@",!0);let b=Le(t),S=cr(t,!0),ge=null;if(t.match("{"))ge=Nr(t);else t.eat(";",!0);return{type:"Atrule",start:f,end:t.index,name:b,prelude:S,block:ge}}function Lr(t){let f=t.index;return{type:"Rule",prelude:Dr(t,!1),block:Nr(t),start:f,end:t.index}}function Dr(t,f){let b=[];Pe(t,!0);let S=t.index;while(t.index<t.source.length){b.push(It(t,f));let ge=t.index;if(Pe(t,!0),t.match(f?")":"{"))return{type:"SelectorList",start:S,end:ge,children:b};t.eat(",",!0),Pe(t,!0)}return i(t.source.length)}function wr(t,f){return{type:"RelativeSelector",combinator:t,selectors:[],start:f,end:-1}}function It(t,f){let{source:b,index:S}=t,ge=[],xe=wr(null,t.index);while(t.index<b.length){let be=t.index,ye=b.charCodeAt(be),ve=xe.selectors;if(ye===At)t.index++,ve.push({type:"NestingSelector",name:"&",start:be,end:t.index});else if(ye===ze)t.index++,ve.push(Ar(t,be,"*"));else if(ye===kt)t.index++,ve.push({type:"IdSelector",name:Le(t),start:be,end:t.index});else if(ye===_t)t.index++,ve.push({type:"ClassSelector",name:Le(t),start:be,end:t.index});else if(ye===or){let qe=b.charCodeAt(be+1)===or;t.index+=qe?2:1;let Ee=Le(t),De=null;if(t.eat("("))De=Dr(t,!0),t.eat(")",!0);if(qe)ve.push({type:"PseudoElementSelector",name:Ee,start:be,end:t.index,...De&&{args:De}});else ve.push({type:"PseudoClassSelector",name:Ee,args:De,start:be,end:t.index})}else if(ye===Rt)t.index++,ve.push(zt(t,be));else{let qe=f?t.read(bt):null,Ee=!qe&&He(ye)?t.read(yt):null;if(qe)ve.push({type:"Nth",value:qe,start:be,end:t.index});else if(Ee)ve.push({type:"Percentage",value:Ee,start:be,end:t.index});else if(Rr(b,be)===0){let De=Le(t);ve.push(Ar(t,be,De))}}let Se=t.index;Pe(t,!1);let ke=t.match(",")||t.match(f?")":"{");if(t.index=Se,ke)return xe.end=Se,ge.push(xe),{type:"ComplexSelector",start:S,end:Se,children:ge};let we=Ut(t);if(we){if(xe.selectors.length>0)xe.end=Se,ge.push(xe);if(xe=wr(we,we.start),t.allowWhitespace(),t.match(",")||t.match(f?")":"{"))R(t.index)}}return i(b.length)}function Ar(t,f,b){let S=b,ge;if(t.eat("|"))ge=S,S=t.eat("*")?"*":Le(t);return{type:"TypeSelector",name:S,...ge!==void 0&&{namespace:ge},start:f,end:t.index}}function zt(t,f){let b=t.source;t.allowWhitespace();let S=Le(t);t.allowWhitespace();let ge=null,xe=null,be=b.charCodeAt(t.index);if(be===kr)xe="=";else if((be===Tr||be===Pt||be===wt||be===ze||be===ir)&&b.charCodeAt(t.index+1)===kr)xe=b.slice(t.index,t.index+2);if(xe)t.index+=xe.length,t.allowWhitespace(),ge=Gt(t);t.allowWhitespace();let ye=t.index;while(jr(b.charCodeAt(t.index)))t.index++;let ve=t.index>ye?b.slice(ye,t.index):null;return t.allowWhitespace(),t.eat("]",!0),{type:"AttributeSelector",start:f,end:t.index,name:S,matcher:xe,value:ge,flags:ve}}function Rr(t,f){let b=t.charCodeAt(f);if(b===Tt||b===Tr||b===Dt)return 1;if(b===ir&&t.charCodeAt(f+1)===ir)return 2;return 0}function Ut(t){let f=t.index;t.allowWhitespace();let b=t.index,S=Rr(t.source,b);if(S>0){t.index+=S;let ge=t.index;return t.allowWhitespace(),{type:"Combinator",name:t.source.slice(b,ge),start:b,end:ge}}if(t.index!==f)return{type:"Combinator",name:" ",start:f,end:t.index};return null}function Nr(t){let f=t.index;t.eat("{",!0);let b=[];while(t.index<t.source.length){if(Pe(t,!0),t.match("}"))break;b.push(Ft(t))}return t.eat("}",!0),{type:"Block",start:f,end:t.index,children:b}}function Ft(t){if(t.match("@"))return _r(t);let f=t.index;cr(t,!1);let b=t.source.charCodeAt(t.index);return t.index=f,b===Er?Lr(t):Wt(t)}function Wt(t){let{source:f,index:b}=t;if(b>=f.length)i(f.length);let S=b;while(S<f.length){let ve=f.charCodeAt(S);if(ve===or||Te(ve))break;S++}let ge=f.slice(b,S);t.index=S,t.allowWhitespace(),t.eat(":");let xe=t.index;t.allowWhitespace();let be=cr(t,!0);if(!be&&!ge.startsWith("--"))I({start:b,end:xe});let ye=t.index;if(!t.match("}"))t.eat(";",!0);return{type:"Declaration",start:b,end:ye,property:ge,value:be}}function cr(t,f){let b=t.source,S=b.length,ge="",xe=t.index,be=null,ye=!1,ve=!1,Se=_e,ke=t.index;while(ke<S){let we=b.charCodeAt(ke);if(ye){ye=!1,ke++;continue}if(we===Me){ye=!0,ke++;continue}if(we===Se)Se=_e;else if(we===Et)ve=!1;else if(Se===_e&&(we===sr||we===lr))Se=we;else if(we===qt){if(Vt(b,ge,xe,ke))ve=!0}else if((we===Lt||we===Er||we===jt)&&!ve&&Se===_e){if(t.index=ke,!f)return"";if(ge+=b.slice(xe,ke),be){let qe=ge.length-ge.trimStart().length;for(let Ee of be)Ee.position=Math.max(0,(Ee.position??0)-qe)}return ge.trim()}else if(we===ar&&!ve&&Se===_e&&b.charCodeAt(ke+1)===ze){ge+=b.slice(xe,ke),t.index=ke;let qe=Pr(t);if(f)qe.position=ge.length,Ge.push(qe),be??=[],be.push(qe);ke=t.index,xe=ke;continue}ke++}return t.index=S,i(S)}function Vt(t,f,b,S){if(S-b>=3)return t.charCodeAt(S-3)===117&&t.charCodeAt(S-2)===114&&t.charCodeAt(S-1)===108;return(f+t.slice(b,S)).endsWith("url")}function Gt(t){let f=t.source,b=_e;if(t.eat('"'))b=sr;else if(t.eat("'"))b=lr;let S=t.index,ge=!1,xe=S;while(xe<f.length){let be=f.charCodeAt(xe);if(ge)ge=!1;else if(be===Me)ge=!0;else if(b===_e?be===Nt||Te(be):be===b)return t.index=b===_e?xe:xe+1,f.slice(S,xe).trim();xe++}return t.index=xe,i(f.length)}function Le(t){let{source:f,index:b}=t,S=f.charCodeAt(b);if(He(S)||S===Ct&&He(f.charCodeAt(b+1)))x(b);let ge="",xe=b,be=b;while(be<f.length){let ye=f.charCodeAt(be);if(ye===Me){ge+=f.slice(xe,be),t.index=be;let ve=t.matchRegex(vt);if(ve){let Se=String.fromCodePoint(Number.parseInt(ve.slice(1),16));ge+=Se==="\\"?"\\\\":Se,be+=ve.length}else ge+=`\\${f[be+1]}`,be+=2;xe=be}else if(ye>=160||Ht(ye))be++;else break}if(ge+=f.slice(xe,be),t.index=be,ge==="")x(b);return ge}function Pe(t,f){let b=t.source;t.allowWhitespace();for(;;){let S=b.charCodeAt(t.index);if(S===ar&&b.charCodeAt(t.index+1)===ze){let ge=Pr(t);if(f)Ge.push(ge)}else if(S===qr&&t.eat("<!--"))t.readUntil("-->"),t.eat("-->",!0);else break;t.allowWhitespace()}}function Pr(t){let f=t.index;t.eat("/*",!0);let b=t.readUntil("*/");return t.eat("*/",!0),{type:"CSSComment",value:b,start:f,end:t.index}}function He(t){return t>=48&&t<=57}function jr(t){return t>=65&&t<=90||t>=97&&t<=122}function Ht(t){return jr(t)||He(t)||t===95||t===45}var ur=/<\/textarea(\s[^>]*)?>/iy,Mt=/^![a-zA-Z]+$/,$t=/^[a-zA-Z][a-zA-Z0-9]*:[a-zA-Z][a-zA-Z0-9-]*[a-zA-Z0-9]$/,Xt=/^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9.\-_\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}]*)?$/u,pr="\\u200C\\u200D",Zt=new RegExp(`^(?:\\p{Lu}[$${pr}\\p{ID_Continue}.]*|\\p{ID_Start}[$${pr}\\p{ID_Continue}]*(?:\\.[$${pr}\\p{ID_Continue}]+)+)$`,"u"),Qt=new Set("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),Yt=new Map([["use","UseDirective"],["animate","AnimateDirective"],["bind","BindDirective"],["class","ClassDirective"],["style","StyleDirective"],["on","OnDirective"],["let","LetDirective"],["in","TransitionDirective"],["out","TransitionDirective"],["transition","TransitionDirective"]]),dr=new Map([["svelte:head",["SvelteHead",!0]],["svelte:options",["SvelteOptions",!0]],["svelte:window",["SvelteWindow",!0]],["svelte:document",["SvelteDocument",!0]],["svelte:body",["SvelteBody",!0]],["svelte:element",["SvelteElement",!1]],["svelte:component",["SvelteComponent",!1]],["svelte:self",["SvelteSelf",!1]],["svelte:fragment",["SvelteFragment",!1]],["svelte:boundary",["SvelteBoundary",!1]]]),Br=[...dr.keys()],Jt=`${Br.slice(0,-1).join(", ")} or ${Br.at(-1)}`,Vr=47,$e=62,Gr=61,Kt=34,en=39,Or=123,je=(t)=>t===Kt||t===en;function rn(t,f,b){let S=f;for(;S<t.length;S++){let ge=t.charCodeAt(S);if(Te(ge)||ge===Vr||ge===$e)break;if(b&&(je(ge)||ge===Gr))break}return S}function Xe(t,f){let b=t.index;if(b>=t.source.length)i(t.source.length);let S=rn(t.source,b,f);return t.index=S,{name:t.source.slice(b,S),start:b,end:S,loc:t.sourceLocation(b,S)}}var Ue=(t,f,b,S=b)=>({start:t,end:f,type:"Text",raw:b,data:S});function Hr(t){return Qt.has(t)||t.charCodeAt(0)===33&&t.toLowerCase()==="!doctype"}function tn(t){let f=t.charCodeAt(0);if(f>=97&&f<=122&&!t.includes("."))return!1;return Zt.test(t)}function nn(t){let f=!0;for(let b=0;b<t.length&&f;b++){let S=t.charCodeAt(b);f=S>=97&&S<=122||b>0&&S>=48&&S<=57}return f&&t.length>0||Mt.test(t)||$t.test(t)||Xt.test(t)}function Ir(t,f){for(let b=t.length-1;b>=0;b--){let S=f(t[b]);if(S!==void 0)return S}return!1}function on(t,f,b){let S=dr.get(f);if(S)return S[0];if(b)return"Component";if(f==="title"){if(Ir(t.stack,({type:xe})=>{if(xe==="SvelteHead")return!0;return xe==="RegularElement"||xe==="Component"?!1:void 0}))return"TitleElement"}if(f==="slot"){if(!Ir(t.stack,(xe)=>xe.type==="RegularElement"&&xe.attributes.some((be)=>be.type==="Attribute"&&be.name==="shadowrootmode")?!0:void 0))return"SlotElement"}return"RegularElement"}function Mr(t){let f=t.index++;if(t.eat("!--")){let b=t.readUntil("-->");t.eat("-->",!0),t.append({type:"Comment",start:f,end:t.index,data:b})}else if(t.eat("/"))sn(t,f);else an(t,f)}function sn(t,f){let{name:b}=Xe(t,!1);if(t.allowWhitespace(),t.eat(">",!0),Hr(b))de(f);let S=t.current();while(!("name"in S)||S.name!==b){if(S.type!=="RegularElement"){let ge=t.lastAutoClosedTag;if(ge?.tag===b)F(f,b,ge.reason);V(f,b)}S.end=f,t.close(),S=t.current()}if(S.end=t.index,t.close(),t.stack.length<(t.lastAutoClosedTag?.depth??0))t.lastAutoClosedTag=void 0}function ln(t,f,b){return{type:t,start:f,end:-1,name:b}}function an(t,f){let b=Xe(t,!1),{name:S}=b,ge=dr.get(S);if(!ge&&S.startsWith("svelte:"))ie(b,Jt);let xe=tn(S);if(!xe&&!nn(S))ce(b);if(ge?.[1]){if(t.metaTags.has(S))J(f,S);if(t.current().type!=="Root")te(f,S);t.metaTags.add(S)}let be=ln(on(t,S,xe),f,S);if(t.loc)be.name_loc=b.loc;be.attributes=[],be.fragment={type:"Fragment",nodes:[]},t.allowWhitespace();let ye=t.current();if(ye.type==="RegularElement"&&gr(ye.name,S))ye.end=f,t.close(),t.lastAutoClosedTag={tag:ye.name,reason:S,depth:t.stack.length};if((S==="script"||S==="style")&&t.current().type==="Root"){let Se=[];be.attributes=Se,Wr(t,Se,mn),un(t,be,f,Se);return}if(Wr(t,be.attributes,hn),be.type==="SvelteComponent"){let Se=zr(be);if(!Se)Z(f);if(!Ur(Se.value))Y(Se.start);be.expression=Fr(Se.value)}else if(be.type==="SvelteElement"){let Se=zr(be);if(!Se)k(f);if(Se.value===!0)k(Se);be.tag=Ur(Se.value)?Fr(Se.value):fn(Se.value[0])}if(!t.eat("/")&&!Hr(S))if(t.eat(">",!0),S==="textarea")be.fragment.nodes=Xr(t,(Se,ke)=>(ur.lastIndex=ke,ur.test(Se)),"inside <textarea>"),t.read(ur);else if(S==="script"||S==="style")be.fragment.nodes.push(cn(t,`</${S}>`));else{t.open(be,be.fragment);return}else t.eat(">",!0);be.end=t.index,t.append(be)}function cn(t,f){let b=t.index,S=t.source.indexOf(f,b);t.index=S===-1?t.source.length:S;let ge=Ue(b,t.index,t.source.slice(b,t.index));return t.eat(f,!0),ge}function un(t,f,b,S){t.eat(">",!0);let ge=pn(t.root.fragment.nodes,b);if(f.name==="style"){let ye=Cr(t,b,S);if(ye.content.comment=ge,t.root.css)X(b);t.root.css=ye;return}let xe=Sr(t,b,S);if(ge)xe.content.leadingComments=[{type:"Line",value:ge.data}];let be=xe.context==="module"?"module":"instance";if(t.root[be])G(b);t.root[be]=xe}function pn(t,f){let b=t.length-1;if(b<0||t[b].end!==f)return null;for(let S=b;S>=0;S--){let ge=t[S];if(ge.type==="Comment")return ge;if(ge.type!=="Text"||ge.data.trim())return null}return null}var dn=(t)=>t.type==="Attribute"&&t.name==="this";function zr(t){let f=t.attributes.find(dn);if(f)t.attributes.splice(t.attributes.indexOf(f),1);return f}function Ur(t){if(t===!0)return!1;if(!Array.isArray(t))return!0;return t.length===1&&t[0].type==="ExpressionTag"}function Fr(t){return(Array.isArray(t)?t[0]:t).expression}function fn(t){if(t.type!=="Text")return t.expression;return{type:"Literal",value:t.data,raw:`'${t.raw}'`,start:t.start,end:t.end}}function Wr(t,f,b){let S=new Set;for(;;){let ge=b(t);if(!ge)return;let{type:xe}=ge;if(xe==="Attribute"||xe==="BindDirective"||xe==="StyleDirective"||xe==="ClassDirective"){let be=`${xe==="BindDirective"?"Attribute":xe}${ge.name}`;if(S.has(be))T(ge);if(ge.name!=="this")S.add(be)}f.push(ge),t.allowWhitespace()}}function fr(t,f,b,S,ge){return t.loc?{type:"Attribute",start:b,end:S,name:f.name,name_loc:f.loc,value:ge}:{type:"Attribute",start:b,end:S,name:f.name,value:ge}}function $r(t){if(je(t.source.charCodeAt(t.index)))s(t.index,"=")}function mn(t){let f=t.index,b=Xe(t,!0);if(!b.name)return null;let S=!0;if(t.eat("=")){t.allowWhitespace();let{source:ge}=t,xe=t.index,be=-1;if(je(ge.charCodeAt(xe))){let Se=ge.indexOf(ge[xe],xe+1);if(Se!==-1)be=Se+1}if(be===-1){be=xe;while(be<ge.length&&ge.charCodeAt(be)!==$e&&!Te(ge.charCodeAt(be)))be++;if(be===xe)y(xe)}t.index=be;let ye=je(ge.charCodeAt(xe))?1:0,ve=ge.slice(xe+ye,be-ye);S=[Ue(be-ve.length-ye,be-ye,ve,Ie(ve,!0))]}return $r(t),fr(t,b,f,t.index,S)}function gn(t){let f=t.index,b=t.match("/*");if(!b&&!t.match("//"))return!1;t.index+=2;let S=t.readUntil(b?"*/":`
2
+ `);if(b)t.eat("*/");let ge={type:b?"Block":"Line",start:f,end:t.index,value:S},xe=t.sourceLocation(f,t.index);if(xe)ge.loc=xe;return t.root.comments.push(ge),!0}function hn(t){while(gn(t))t.allowWhitespace();let f=t.index;if(t.eat("{"))return xn(t,f);let b=Xe(t,!0);if(!b.name)return null;let S=t.index;t.allowWhitespace();let ge=!0;if(t.eat("=")){if(t.allowWhitespace(),t.match("/>"))ge=[Ue(t.index,t.index+1,"/")],t.index++;else ge=vn(t);S=t.index}else $r(t);let xe=b.name.indexOf(":"),be=xe>0?Yt.get(b.name.slice(0,xe)):void 0;return be?yn(t,be,b,xe,f,S,ge):fr(t,b,f,S,ge)}function xn(t,f){if(t.allowWhitespace(),t.eat("@attach")){t.requireWhitespace();let ge=Ae(t);return t.eatClosingBrace(),{type:"AttachTag",start:f,end:t.index,expression:ge}}if(t.eat("...")){let ge=Ae(t);return t.eatClosingBrace(),{type:"SpreadAttribute",start:f,end:t.index,expression:ge}}let b=t.readIdentifierName();if(b.name==="")A(f);t.eatClosingBrace();let S={type:"ExpressionTag",start:b.start,end:b.end,expression:b};return fr(t,b,f,t.index,S)}function bn(t){if(t===!0)return;return Array.isArray(t)?t[0]:t}function yn(t,f,b,S,ge,xe,be){let[ye,...ve]=b.name.slice(S+1).split("|");if(ye==="")B({start:ge,end:ge+S+1},b.name);let Se={start:ge,end:xe,type:f,name:ye};if(t.loc)Se.name_loc=b.loc;if(f==="StyleDirective")return Se.modifiers=ve,Se.value=be,Se;let ke=bn(be);if(ke&&(Array.isArray(be)&&be.length>1||ke.type==="Text"))D(ke.start);if(Se.expression=ke?.expression??null,Se.modifiers=ve,f==="TransitionDirective"){let we=b.name.slice(0,S);Se.intro=we!=="out",Se.outro=we!=="in"}if((f==="BindDirective"||f==="ClassDirective")&&!Se.expression)Se.expression={start:ge+S+1,end:xe,type:"Identifier",name:ye};return Se}function vn(t){let f=t.source.charCodeAt(t.index),b=je(f);if(b){if(t.index++,t.source.charCodeAt(t.index)===f)return t.index++,[Ue(t.index-1,t.index-1,"")]}let S;try{S=Xr(t,b?(ge,xe)=>ge.charCodeAt(xe)===f:Sn,"in attribute value",b?f:void 0)}catch(ge){let xe=ge instanceof e?ge.position?.[0]:void 0;if(ge instanceof e&&ge.code==="js_parse_error"&&xe!==void 0&&t.source.startsWith("/>",xe-1))t.index=xe,s(xe,b?String.fromCharCode(f):"}");throw ge}if(b)t.index++;else if(S.length===0)y(t.index);return b||S.length>1||S[0].type==="Text"?S:S[0]}function Sn(t,f){let b=t.charCodeAt(f);return Te(b)||je(b)||b===Gr||b===60||b===$e||b===96||b===Vr&&t.charCodeAt(f+1)===$e}function Xr(t,f,b,S){let{source:ge}=t,xe=[],be=t.index,ye=(ve)=>{if(ve<=be)return;let Se=ge.slice(be,ve);xe.push(Ue(be,ve,Se,Ie(Se,!0)))};while(t.index<ge.length){let ve=t.index;if(f(ge,ve))return ye(ve),xe;if(ge.charCodeAt(ve)!==Or){if(t.index++,S!==void 0)while(t.index<ge.length&&ge.charCodeAt(t.index)!==Or&&ge.charCodeAt(t.index)!==S)t.index++;continue}t.index++;let Se=ge.charCodeAt(t.index);if(Se===35||Se===64){t.index++;let we=t.index;while(t.index<ge.length&&ge.charCodeAt(t.index)>=97&&ge.charCodeAt(t.index)<=122)t.index++;let qe=ge.slice(we,t.index);(Se===35?_:he)(ve,qe,b)}ye(ve),t.allowWhitespace();let ke=Ae(t);t.eatClosingBrace(),xe.push({type:"ExpressionTag",start:ve,end:t.index,expression:ke}),be=t.index}i(ge.length)}var kn=new Map([["html","html"],["svg","svg"],["mathml","mathml"],["http://www.w3.org/2000/svg","svg"],["http://www.w3.org/1998/Math/MathML","mathml"]]),wn=new Map([["type",(t,f)=>{if(f!=="String"&&f!=="Number"&&f!=="Boolean"&&f!=="Array"&&f!=="Object")return!1;return t.type=f,!0}],["reflect",(t,f)=>{if(typeof f!=="boolean")return!1;return t.reflect=f,!0}],["attribute",(t,f)=>{if(typeof f!=="string")return!1;return t.attribute=f,!0}]]),Zr="[a-z0-9_.\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}-]",An=new RegExp(`^[a-z]${Zr}*-${Zr}*$`,"u"),qn=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" ")),Ze=(t)=>(f,b)=>{let S=Qe(b);if(typeof S!=="boolean")m(b,"true or false");f[t]=S},En=new Map([["runes",Ze("runes")],["immutable",Ze("immutable")],["preserveWhitespace",Ze("preserveWhitespace")],["accessors",Ze("accessors")],["namespace",(t,f)=>{let b=kn.get(Qe(f));if(!b)m(f,'"html", "mathml" or "svg"');t.namespace=b}],["css",(t,f)=>{if(Qe(f)!=="injected")m(f,'"injected"');t.css="injected"}],["tag",(t,f)=>se(f)],["customElement",(t,f)=>{let b=Cn(f);if(b)t.customElement=b}]]);function Yr(t){let f=[],b={start:t.start,end:t.end,attributes:f};for(let S of t.attributes){if(S.type!=="Attribute")re(S);f.push(S);let ge=En.get(S.name);if(!ge)le(S,S.name);ge(b,S)}return b}function Qe({value:t}){if(t===!0)return!0;let f=Array.isArray(t)?t:[t];if(f.length===0)return!0;if(f.length>1)return null;let[b]=f;if(b.type==="Text")return b.data;return b.expression.type==="Literal"?b.expression.value:null}function Qr(t,f){if(typeof f!=="string")w(t);if(!f)return;if(!An.test(f))w(t);if(qn.has(f))ue(t)}function Tn(t,f){let b=new Map;for(let S of t.properties){if(S.type!=="Property"||S.computed||S.key.type!=="Identifier")f();if(!b.has(S.key.name))b.set(S.key.name,S.value)}return b}function Cn(t){let f=()=>ne(t);if(t.value===!0)f();let b=Array.isArray(t.value)?t.value[0]:t.value;if(b.type==="Text"){let ke=Qe(t);return Qr(t,ke),{tag:ke}}let{expression:S}=b;if(S.type!=="ObjectExpression"){if(S.type==="Literal"&&S.value===null)return;f()}let ge=Tn(S,f),xe={},be=ge.get("tag");if(be){let ke=be.type==="Literal"?be.value:void 0;Qr(null,ke),xe.tag=ke}let ye=ge.get("props");if(ye){let ke=()=>ae(t);if(ye.type!=="ObjectExpression")ke();xe.props={};for(let we of ye.properties){if(we.type!=="Property"||we.computed||we.key.type!=="Identifier"||we.value.type!=="ObjectExpression")ke();let qe={};xe.props[we.key.name]=qe;for(let Ee of we.value.properties){if(Ee.type!=="Property"||Ee.computed||Ee.key.type!=="Identifier"||Ee.value.type!=="Literal")ke();if(!wn.get(Ee.key.name)?.(qe,Ee.value.value))ke()}}}let ve=ge.get("shadow");if(ve)if(ve.type==="ObjectExpression")xe.shadow=ve;else if(ve.type==="Literal"&&(ve.value==="open"||ve.value==="none"))xe.shadow=ve.value;else oe(t);let Se=ge.get("extend");if(Se)xe.extend=Se;return xe}var _n={"{":"}","(":")","[":"]"};function Fe(t,f,b=_n){let S=Object.values(b),ge=[],xe=f;while(xe<t.length){let be=t[xe++];if(be==="'"||be==='"'||be==="`")xe=Ln(t,xe,be);else if(Object.hasOwn(b,be))ge.push(be);else if(S.includes(be)){let ye=b[ge.pop()??""];if(be!==ye)s(xe-1,ye);if(ge.length===0)return xe}}i(t.length)}function Ln(t,f,b){let S=f;while(S<t.length){let ge=t[S++];if(ge===b)return S;if(ge==="\\")S++;else if(b==="`"&&ge==="$"&&t[S]==="{")S=Fe(t,S)}fe(f)}var Dn=/\?\s*:/g;function Be(t){let f=t.index,b=t.readIdentifierName();if(b.name!==""){let ye=Jr(t);return{...b,typeAnnotation:ye}}let S=t.source[t.index];if(S!=="{"&&S!=="[")j(t.index);t.index=Fe(t.source,f);let{node:ge}=o(t,`${t.source.slice(0,t.index)} = 1`,f);l(ge,"AssignmentExpression");let xe=ge.left;l(xe,"ObjectPattern","ArrayPattern");let be=Jr(t);if(xe.typeAnnotation=be,be)xe.end=be.end;return xe}function Jr(t){let f=t.index;if(t.allowWhitespace(),!t.eat(":")){t.index=f;return}let b="_ as ",S=t.index-b.length,ge=t.source.slice(0,S)+b+t.source.slice(t.index).replace(Dn,":"),xe=o(t,ge,S).node;if(xe.type==="AssignmentExpression"){let be=xe.right.start;while(ge[be]!=="=")be-=1;xe=o(t,ge.slice(0,be),S).node}if(xe.type==="SequenceExpression")xe=xe.expressions[0];return l(xe,"TSAsExpression"),t.index=xe.end,{type:"TSTypeAnnotation",start:f,end:t.index,typeAnnotation:xe.typeAnnotation}}var Rn=/\s*}/y,Nn={IfBlock:"if",EachBlock:"each",KeyBlock:"key",AwaitBlock:"await",SnippetBlock:"snippet"},Ce=()=>({type:"Fragment",nodes:[]});function et(t,f){if(t.eat("if")){t.requireWhitespace();let b=Ae(t);t.eatClosingBrace();let S=Ce();t.open({type:"IfBlock",elseif:!1,start:f,end:-1,test:b,consequent:S,alternate:null},S)}else if(t.eat("each"))jn(t,f);else if(t.eat("await")){t.requireWhitespace();let b=Ae(t);t.allowWhitespace();let S={type:"AwaitBlock",start:f,end:-1,expression:b,value:null,error:null,pending:null,then:null,catch:null},ge=Ce();if(t.eat("then"))S.value=Kr(t),S.then=ge;else if(t.eat("catch"))S.error=Kr(t),S.catch=ge;else S.pending=ge;t.eat("}",!0),t.open(S,ge)}else if(t.eat("key")){t.requireWhitespace();let b=Ae(t);t.eatClosingBrace();let S=Ce();t.open({type:"KeyBlock",start:f,end:-1,expression:b,fragment:S},S)}else if(t.eat("snippet"))Bn(t,f);else M(t.index)}function Kr(t){if(t.matchRegex(Rn))return t.allowWhitespace(),null;t.requireWhitespace();let f=Be(t);return t.allowWhitespace(),f}function Pn(t){let f={assertion:null},b=t.end,S=(xe)=>{if(xe.type==="TSAsExpression"&&xe.end===t.end)return f.assertion=xe,b=xe.expression.end,xe.expression;return h(xe,S),xe},ge=t;if(t.type==="TSAsExpression")f.assertion=t,ge=t.expression,b=ge.end;else h(t,S);return ge.end=b,{expression:ge,assertion:f.assertion}}function jn(t,f){t.requireWhitespace();let b=t.source,S;while(!S)try{S=Ae(t)}catch(ve){let ke=((ve instanceof e?ve.position:void 0)?.[0]??f)-2;while(ke>f&&t.source.slice(ke,ke+2)!=="as")ke-=1;if(ke<=f)throw t.source=b,ve;t.source=b.slice(0,ke)}if(t.source=b,t.allowWhitespace(),!t.match("as")){if(S.type==="SequenceExpression")S=S.expressions[0];let ve=Pn(S);if(S=ve.expression,ve.assertion){let Se=ve.assertion.typeAnnotation.start-2;while(t.source.slice(Se,Se+2)!=="as")Se-=1;t.index=Se}}let ge=null,xe,be;if(t.eat("as"))t.requireWhitespace(),ge=Be(t);else t.index=S.end;if(t.allowWhitespace(),t.eat(",")){if(t.allowWhitespace(),xe=t.readIdentifierName().name,!xe)v(t.index);t.allowWhitespace()}if(t.eat("("))t.allowWhitespace(),be=Ae(t),t.allowWhitespace(),t.eat(")",!0),t.allowWhitespace();t.eat("}",!0);let ye=Ce();t.open({type:"EachBlock",start:f,end:-1,expression:S,body:ye,context:ge,index:xe,key:be},ye)}function Bn(t,f){t.requireWhitespace();let b=t.readIdentifierName();if(b.name==="")v(t.index);t.allowWhitespace();let S=t.index,ge;if(t.isTypeScript&&t.match("<")){let ve=Fe(t.source,S,{"<":">"});ge=t.source.slice(S+1,ve-1),t.index=ve}t.allowWhitespace(),t.eat("(",!0);let xe=1;while(t.index<t.source.length&&(!t.match(")")||xe!==1)){if(t.match("("))xe++;if(t.match(")"))xe--;t.index+=1}t.eat(")",!0);let{node:be}=o(t,`${t.source.slice(0,t.index)} => {}`,S,!0);l(be,"ArrowFunctionExpression"),t.eatClosingBrace();let ye=Ce();t.open({type:"SnippetBlock",start:f,end:-1,expression:b,typeParams:ge,parameters:be.params,body:ye},ye)}function rt(t,f){let b=t.index-1,S=t.current();if(S.type==="IfBlock"){if(!t.eat("else"))s(b,"{:else} or {:else if}");if(t.eat("if"))C(b);if(t.allowWhitespace(),S.alternate=Ce(),t.setFragment(S.alternate),t.eat("if")){t.requireWhitespace();let ge=Ae(t);t.eatClosingBrace();let xe=Ce();t.open({start:f,end:-1,type:"IfBlock",elseif:!0,test:ge,consequent:xe,alternate:null},xe)}else t.eatClosingBrace()}else if(S.type==="EachBlock"){if(!t.eat("else"))s(b,"{:else}");t.eatClosingBrace(),S.fallback=Ce(),t.setFragment(S.fallback)}else if(S.type==="AwaitBlock"){let ge;if(t.eat("then"))ge="then";else if(t.eat("catch"))ge="catch";else s(b,"{:then ...} or {:catch ...}");if(S[ge])E(b,`{:${ge}}`);if(!t.eat("}")){t.requireWhitespace();let be=Be(t);if(ge==="then")S.value=be;else S.error=be;t.eatClosingBrace()}let xe=Ce();S[ge]=xe,t.setFragment(xe)}else N(b)}function tt(t){let f=t.current(),b=Nn[f.type];if(!b)P(t.index-1);t.eat(b,!0),t.eatClosingBrace();while(f.type==="IfBlock"&&f.elseif)f.end=t.index,t.close(),f=t.current();f.end=t.index,t.close()}var On=/\s*}/y;function In(t){return t.type==="CallExpression"||t.type==="ChainExpression"&&t.expression.type==="CallExpression"}function nt(t,f){if(t.eat("html")){t.requireWhitespace();let b=Ae(t);t.eatClosingBrace(),t.append({type:"HtmlTag",start:f,end:t.index,expression:b})}else if(t.eat("debug")){let b=[];if(!t.read(On)){let S=Ae(t),ge=S.type==="SequenceExpression"?S.expressions:[S];for(let xe of ge){if(xe.type!=="Identifier")O(xe.start);b.push(xe)}t.eatClosingBrace()}t.append({type:"DebugTag",start:f,end:t.index,identifiers:b})}else if(t.eat("const")){t.requireWhitespace();let b=Be(t);t.allowWhitespace(),t.eat("=",!0),t.allowWhitespace();let S=t.index,ge=Ae(t),xe=t.index;if(ge.type==="SequenceExpression"&&!t.source.slice(S,ge.start).includes("("))q(ge);t.eatClosingBrace();let be={type:"VariableDeclarator",id:b,init:ge,start:b.start,end:xe};t.append({type:"ConstTag",start:f,end:t.index,declaration:{type:"VariableDeclaration",kind:"const",declarations:[be],start:f+2,end:t.index-1}})}else if(t.eat("render")){t.requireWhitespace();let b=Ae(t);if(!In(b))W(b);t.eatClosingBrace(),t.append({type:"RenderTag",start:f,end:t.index,expression:b})}else U(t.index)}var zn=/(?:var|interface|enum)\b/y,Un=/(?:let|const|type)\b/y;function ot(t){let f=t.index;if(t.index+=1,t.allowWhitespace(),t.eat("#"))et(t,f);else if(t.eat(":"))rt(t,f);else if(t.eat("@"))nt(t,f);else if(t.match("/")&&!t.match("/*")&&!t.match("//"))t.index+=1,tt(t);else if(!Fn(t,f)){let b=Ae(t);t.eatClosingBrace(),t.append({type:"ExpressionTag",start:f,end:t.index,expression:b})}}function Fn(t,f){let b=t.index,S=t.matchRegex(zn);if(S)g({start:b,end:b+S.length});if(!t.matchRegex(Un))return!1;let ge=t.root.comments.length,xe=me(t,t.source,b);if(xe.type==="ExpressionStatement")return t.root.comments.length=ge,!1;if(xe.type!=="VariableDeclaration"||xe.kind!=="let"&&xe.kind!=="const")g(xe);return t.index=xe.end,t.eatClosingBrace(),t.append({type:"DeclarationTag",start:f,end:t.index,declaration:xe}),!0}function st(t){let{source:f,index:b}=t;if(t.nextAngle<b)t.nextAngle=it(f,"<",b);if(t.nextBrace<b)t.nextBrace=it(f,"{",b);let S=Math.min(t.nextAngle,t.nextBrace);t.index=S;let ge=f.slice(b,S);t.append({type:"Text",start:b,end:S,raw:ge,data:Ie(ge,!1)})}function it(t,f,b){let S=t.indexOf(f,b);return S===-1?t.length:S}function Ko(t,f){let b=t.charCodeAt(0)===65279?t.slice(1):t;c(b);let S=new Ke(b.trimEnd(),b.length,f);while(S.index<S.source.length)if(S.match("<"))Mr(S);else if(S.match("{"))ot(S);else st(S);if(S.stack.length>1){let ye=S.current();if(ye.end=ye.start+1,ye.type==="RegularElement")d(ye,ye.name);L(ye)}let{nodes:ge}=S.root.fragment,xe=ge.findIndex((ye)=>ye.type==="SvelteOptions"),be=ge[xe];if(be?.type==="SvelteOptions"){ge.splice(xe,1),S.root.options=Yr(be);let{nodes:ye}=be.fragment;if(ye.length>0)ee({start:ye[0].start,end:ye[ye.length-1].end},be.name)}return S.root}export{Ko as parse};