n8n-editor-ui 1.63.1 → 1.64.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/dist/assets/{AnnotationTagsDropdown.ee-CEthDL8s.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-D3L0Zqex.js} +2 -3
- package/dist/assets/{AuthView-Dtllm2Hm.js → AuthView-Bc_d9TU4.js} +3 -6
- package/dist/assets/{AuthView-BnHKMYu_.css → AuthView-Cnr31xHM.css} +6 -5
- package/dist/assets/{CanvasControls-3e7GyyWC.js → CanvasControls-BZZ5xUA4.js} +1 -31
- package/dist/assets/{ChangePasswordView-RbBzZKmy.js → ChangePasswordView-BmKDYqVl.js} +2 -36
- package/dist/assets/CollectionParameter-CZX6_SwN.js +4 -0
- package/dist/assets/{CredentialsView-BEobbBhB.js → CredentialsView-BERKB9pX.js} +5 -35
- package/dist/assets/{ErrorView-Dig_858_.js → ErrorView-CGHYke1h.js} +1 -31
- package/dist/assets/{ExecutionsFilter-D4gTpteQ.js → ExecutionsFilter-DgmpIaxp.js} +2 -5
- package/dist/assets/{ExecutionsView-BzDdfbTp.js → ExecutionsView-BVJE03N7.js} +18 -54
- package/dist/assets/{file-saver-Dbfm4l4I.js → FileSaver.min-vFM8HBH6.js} +5 -12
- package/dist/assets/{FixedCollectionParameter-B1iBnOzV.js → FixedCollectionParameter-Cu1pUHaU.js} +1 -32
- package/dist/assets/{ForgotMyPasswordView-DrecvRAt.js → ForgotMyPasswordView-CA1z31op.js} +2 -32
- package/dist/assets/{MainHeader-BGBc_yGt.js → MainHeader-lphq3_C7.js} +8 -47
- package/dist/assets/{MainSidebar-CGoARd9G.js → MainSidebar-CkmsLAKw.js} +5 -44
- package/dist/assets/{NodeCreation-CJ4p9t6U.js → NodeCreation-CDKKeIJl.js} +4 -7
- package/dist/assets/{NodeCreator-MlJNsM5w.js → NodeCreator-vrcCon6T.js} +20 -64
- package/dist/assets/{NodeViewSwitcher-CPwqYIKa.js → NodeViewSwitcher-CebfwLIC.js} +17198 -4326
- package/dist/assets/{NodeViewSwitcher-BMWd0Gm9.css → NodeViewSwitcher-DFIa0RPL.css} +136 -135
- package/dist/assets/{ProjectCardBadge-Dsi1FktR.js → ProjectCardBadge.vue_vue_type_script_setup_true_lang-FPZVaoxg.js} +1 -12
- package/dist/assets/{ProjectSettings-NxkU_5Cm.js → ProjectSettings-CGPWNP7C.js} +6 -38
- package/dist/assets/{ProjectTabs-BNt9vnB4.js → ProjectTabs-D-UxAFWq.js} +1 -3
- package/dist/assets/{PushConnectionTracker-BfyBSTsq.js → PushConnectionTracker-dMPKSiLd.js} +1 -4
- package/dist/assets/{ResourcesListLayout-wxQPFPh8.js → ResourcesListLayout-BmEYzLen.js} +2 -7
- package/dist/assets/{RunDataAi-BPXMLfKc.js → RunDataAi-iy_LiKYx.js} +51 -13
- package/dist/assets/{RunDataJson-nHxoBXwc.js → RunDataJson-30CwTvxp.js} +11 -34
- package/dist/assets/{jsonpath--XXuA3UN.js → RunDataJsonActions-DM8Iegu4.js} +272 -73
- package/dist/assets/{RunDataSearch-_dTfLnCz.js → RunDataSearch-BBZyQz1l.js} +1 -31
- package/dist/assets/{RunDataTable-Cle-Xlc9.js → RunDataTable-DlYCaRmD.js} +43 -70
- package/dist/assets/{SamlOnboarding-DJd6oxdL.js → SamlOnboarding-YPyqQAED.js} +2 -32
- package/dist/assets/{SettingsApiView-B6K4GJFb.js → SettingsApiView-DM8-r2vC.js} +11 -42
- package/dist/assets/{SettingsCommunityNodesView-BqLPWoe4.js → SettingsCommunityNodesView-CKUSvNJA.js} +3 -35
- package/dist/assets/{SettingsExternalSecrets-hxNeJoPh.js → SettingsExternalSecrets-rn0Uon3J.js} +2 -32
- package/dist/assets/SettingsFakeDoorView-DRt2eUs1.js +44 -0
- package/dist/assets/{humanize-duration-DdvB4QXM.js → SettingsLdapView-BkNvZbuP.js} +827 -12
- package/dist/assets/{SettingsLogStreamingView-DHdBwQLl.js → SettingsLogStreamingView-DJgGrIQ1.js} +1 -31
- package/dist/assets/{SettingsPersonalView-BB52C_8a.js → SettingsPersonalView-B2bLHSrL.js} +1 -31
- package/dist/assets/{SettingsSourceControl-jvUljmfM.js → SettingsSourceControl-B_iPYBUX.js} +4 -35
- package/dist/assets/{SettingsSso-CtDqCHek.js → SettingsSso-Bo8ktz1t.js} +1 -31
- package/dist/assets/{SettingsUsageAndPlan-DtE-8JQB.js → SettingsUsageAndPlan-C9jiEOqE.js} +1 -32
- package/dist/assets/{SettingsUsersView-D0fkCNqq.js → SettingsUsersView-Do-E2R-M.js} +1 -31
- package/dist/assets/{SettingsView-Bdy1VVV5.js → SettingsView-DK-_ao4_.js} +25 -34
- package/dist/assets/{SetupView-DZD5V-sp.js → SetupView-ZFKQKIJD.js} +2 -32
- package/dist/assets/{SetupWorkflowCredentialsButton-BniWA70J.js → SetupWorkflowCredentialsButton-BaMJBfk2.js} +1 -31
- package/dist/assets/{SetupWorkflowFromTemplateView-zPdNiNwz.js → SetupWorkflowFromTemplateView-BvmNbGYh.js} +3 -33
- package/dist/assets/{SigninView-vhBJQAUq.js → SigninView-k_FnQgNC.js} +2 -32
- package/dist/assets/SignoutView-DTgJmCun.js +27 -0
- package/dist/assets/{SignupView-BnaxyfVy.js → SignupView-GFIqKxQ1.js} +2 -32
- package/dist/assets/{TemplateDetails-CgWak1sI.js → TemplateDetails-CrE5d8Z2.js} +1 -4
- package/dist/assets/{TemplateList-Dk-hIcwM.js → TemplateList-DugVXLa6.js} +1 -3
- package/dist/assets/{TemplatesCollectionView-BykSqyyh.js → TemplatesCollectionView-BulzRTVk.js} +5 -35
- package/dist/assets/{TemplatesSearchView-Db3YPUKN.js → TemplatesSearchView--aU9JJ_A.js} +738 -41
- package/dist/assets/{TemplatesSearchView-BYNWZYGm.css → TemplatesSearchView-BiokbeYf.css} +94 -1
- package/dist/assets/{TemplatesView-DSqSs2Fe.js → TemplatesView-VxuSLtRB.js} +1 -3
- package/dist/assets/{TemplatesWorkflowView-AcNIRcdH.js → TemplatesWorkflowView-DEOmoGFU.js} +5 -35
- package/dist/assets/{VariablesView-BDucuF4S.js → VariablesView-D0qaiG35.js} +2 -33
- package/dist/assets/{WorkerView-Bt7mkvne.js → WorkerView-BQWPVPCG.js} +159 -43
- package/dist/assets/{WorkflowActivator-BBCmkXVM.js → WorkflowActivator-CFE8HnEQ.js} +3 -7
- package/dist/assets/{WorkflowExecutionsInfoAccordion-C1u1QoTS.js → WorkflowExecutionsInfoAccordion-j1oBChRL.js} +1 -3
- package/dist/assets/{WorkflowExecutionsLandingPage-DO0GNREn.js → WorkflowExecutionsLandingPage-7PqoziUe.js} +2 -32
- package/dist/assets/{WorkflowExecutionsPreview-DKazVAlp.js → WorkflowExecutionsPreview-BCKc44DY.js} +10 -42
- package/dist/assets/{WorkflowExecutionsView-xQs2Ihb3.js → WorkflowExecutionsView-De-rqjwc.js} +6 -37
- package/dist/assets/{WorkflowHistory-CRZhK8Sh.js → WorkflowHistory-BQHDI-k-.js} +8 -45
- package/dist/assets/{WorkflowOnboardingView-BLRc_Z_9.js → WorkflowOnboardingView-B3aKS1PJ.js} +1 -31
- package/dist/assets/{WorkflowPreview-CpeWIc9m.js → WorkflowPreview-jblZXN9D.js} +1 -3
- package/dist/assets/{WorkflowsView-CADkCbWU.js → WorkflowsView-DQqwovww.js} +19 -37
- package/dist/assets/cloud-ChkMgrsu.js +37 -0
- package/dist/assets/{dateFormatter-B-oph3V5.js → dateFormatter-BOFH7hQn.js} +1 -1
- package/dist/assets/index-B5Li9oNe.js +331713 -0
- package/dist/assets/{index-B5Pl_Rdy.css → index-BGyoJ6bM.css} +3941 -8
- package/dist/assets/{pushConnection.store-BGMVJHP3.js → pushConnection.store-Cp0wdk-m.js} +3 -3
- package/dist/assets/{templateActions-DOJZ_yY5.js → templateActions-DbRugCSY.js} +1 -1
- package/dist/assets/{useBeforeUnload-Tcm8t4ZF.js → useBeforeUnload-HSb2Wsej.js} +1 -2
- package/dist/assets/{useExecutionDebugging-CiwtVWXD.js → useExecutionDebugging-Czs7eCHy.js} +1 -2
- package/dist/assets/{usePushConnection-CbB_XBsw.js → usePushConnection-CLr2QrgA.js} +12 -17
- package/dist/assets/{useWorkflowActivate-C8RDXHeZ.js → useWorkflowActivate-D9OoUkBo.js} +1 -2
- package/dist/index.html +2 -33
- package/package.json +1 -1
- package/vite.config.mts +0 -41
- package/dist/assets/@jsplumb/browser-ui-D3WTv2iL.js +0 -5431
- package/dist/assets/@jsplumb/common-Cn2WooAp.js +0 -142
- package/dist/assets/@jsplumb/connector-bezier-BsoOTqok.js +0 -1019
- package/dist/assets/@jsplumb/core-DLCSr9D4.js +0 -7317
- package/dist/assets/@jsplumb/util-DggqnqQo.js +0 -936
- package/dist/assets/@lezer/common-Bs5t-XhT.js +0 -1988
- package/dist/assets/@n8n/api-types-Clq_Leox.js +0 -1
- package/dist/assets/@n8n/codemirror-lang-Bizw8G99.js +0 -20928
- package/dist/assets/@n8n/codemirror-lang-sql-C9sfSTUi.js +0 -14443
- package/dist/assets/@n8n/permissions-BxSXRD9U.js +0 -52
- package/dist/assets/@sentry/vue-By9cUXYj.js +0 -23618
- package/dist/assets/@vue-flow/background-B1J8rodd.js +0 -123
- package/dist/assets/@vue-flow/controls-B4bXJQnK.js +0 -204
- package/dist/assets/@vue-flow/core-tETEFGtP.js +0 -9818
- package/dist/assets/@vue-flow/minimap-CGW7BbeH.js +0 -2951
- package/dist/assets/@vue-flow/node-resizer-C7hxX6Ea.js +0 -1398
- package/dist/assets/@vueuse/core-BTO0AmLR.js +0 -8894
- package/dist/assets/RunDataJsonActions-CXjxyS8I.js +0 -270
- package/dist/assets/SettingsFakeDoorView-B-CvApAQ.js +0 -74
- package/dist/assets/SettingsLdapView-Cx9juILz.js +0 -746
- package/dist/assets/SignoutView-BvsyOBJl.js +0 -57
- package/dist/assets/aws-secrets-manager-NwVFybsa.svg +0 -18
- package/dist/assets/axios-BW6T4tHC.js +0 -2403
- package/dist/assets/azure-key-vault-DTTl_IR7.svg +0 -23
- package/dist/assets/bowser-CDCHPFWD.js +0 -1931
- package/dist/assets/change-case-Dux1iW35.js +0 -137
- package/dist/assets/chart.js-BYpPl_l4.js +0 -14318
- package/dist/assets/cloud-CyEezfUz.js +0 -95
- package/dist/assets/codemirror-lang-html-n8n-BElKE4vf.js +0 -2498
- package/dist/assets/dateformat-BevCJF2z.js +0 -208
- package/dist/assets/email-providers-Brdpqw-Z.js +0 -1
- package/dist/assets/esprima-next-DUEu30kB.js +0 -6712
- package/dist/assets/fast-json-stable-stringify-D9R5x91P.js +0 -55
- package/dist/assets/flatted-BLlNkUR-.js +0 -76
- package/dist/assets/gcp-secrets-manager-BcK0Zj6Y.svg +0 -9
- package/dist/assets/hashicorp-5zlHdJCj.webp +0 -0
- package/dist/assets/highlight.js-Brdpqw-Z.js +0 -1
- package/dist/assets/index-DTqspxIG.js +0 -87778
- package/dist/assets/infisical-Db7VXgLp.webp +0 -0
- package/dist/assets/lodash-es-DCRmYdQ5.js +0 -6061
- package/dist/assets/luxon-N8mghSWH.js +0 -6159
- package/dist/assets/n8n-C6KBCWah.css +0 -4973
- package/dist/assets/n8n-o-6nV4eX.js +0 -163925
- package/dist/assets/pinia-BWzoPyXU.js +0 -1650
- package/dist/assets/prettier-eWLVZldr.js +0 -2294
- package/dist/assets/qrcode.vue-BavVPFUM.js +0 -1132
- package/dist/assets/timeago.js-CgQus8nl.js +0 -116
- package/dist/assets/useUserHelpers-CKYk9GNq.js +0 -27
- package/dist/assets/uuid-DRDfXVM2.js +0 -542
- package/dist/assets/v3-infinite-loading-CHlSsXAy.js +0 -114
- package/dist/assets/vendor-D8YCjNHu.js +0 -14463
- package/dist/assets/vue-agile-B2NGbzqY.css +0 -93
- package/dist/assets/vue-agile-Busf3nxn.js +0 -727
- package/dist/assets/vue-chartjs-DBNEiLG-.js +0 -203
- package/dist/assets/vue-i18n-CeifA_Nk.js +0 -5329
- package/dist/assets/vue-json-pretty-DHS8nWi_.js +0 -340
- package/dist/assets/vue3-touch-events-DVOgU3fI.js +0 -301
- package/dist/assets/xss-Brdpqw-Z.js +0 -1
|
@@ -1,2498 +0,0 @@
|
|
|
1
|
-
import { w as ContextTracker, v as ExternalTokenizer, r as styleTags, q as tags$1, L as LRParser, E as EditorSelection } from "./@n8n/codemirror-lang-Bizw8G99.js";
|
|
2
|
-
import { d as NodeWeakMap, I as IterMode, p as parseMixed } from "./@lezer/common-Bs5t-XhT.js";
|
|
3
|
-
import { s as snippetCompletion, a as syntaxTree, L as LRLanguage, i as indentNodeProp, c as continuedIndent, f as flatIndent, d as delimitedIndent, b as foldNodeProp, e as foldInside, g as defineLanguageFacet, h as sublanguageProp, j as LanguageSupport, k as ifNotIn, l as completeFromList, E as EditorView } from "./@n8n/codemirror-lang-sql-C9sfSTUi.js";
|
|
4
|
-
const TSExtends = 1, noSemi = 281, incdec = 2, incdecPrefix = 3, templateContent = 282, InterpolationStart = 4, templateEnd = 283, insertSemi = 284, spaces = 286, newline = 287, LineComment = 5, BlockComment = 6, Dialect_ts = 1;
|
|
5
|
-
const space$1 = [
|
|
6
|
-
9,
|
|
7
|
-
10,
|
|
8
|
-
11,
|
|
9
|
-
12,
|
|
10
|
-
13,
|
|
11
|
-
32,
|
|
12
|
-
133,
|
|
13
|
-
160,
|
|
14
|
-
5760,
|
|
15
|
-
8192,
|
|
16
|
-
8193,
|
|
17
|
-
8194,
|
|
18
|
-
8195,
|
|
19
|
-
8196,
|
|
20
|
-
8197,
|
|
21
|
-
8198,
|
|
22
|
-
8199,
|
|
23
|
-
8200,
|
|
24
|
-
8201,
|
|
25
|
-
8202,
|
|
26
|
-
8232,
|
|
27
|
-
8233,
|
|
28
|
-
8239,
|
|
29
|
-
8287,
|
|
30
|
-
12288
|
|
31
|
-
];
|
|
32
|
-
const braceR = 125, braceL = 123, semicolon = 59, slash$1 = 47, star = 42, plus = 43, minus = 45, dollar = 36, backtick = 96, backslash = 92;
|
|
33
|
-
const trackNewline = new ContextTracker({
|
|
34
|
-
start: false,
|
|
35
|
-
shift(context, term) {
|
|
36
|
-
return term == LineComment || term == BlockComment || term == spaces ? context : term == newline;
|
|
37
|
-
},
|
|
38
|
-
strict: false
|
|
39
|
-
});
|
|
40
|
-
const insertSemicolon = new ExternalTokenizer((input, stack) => {
|
|
41
|
-
let { next } = input;
|
|
42
|
-
if ((next == braceR || next == -1 || stack.context) && stack.canShift(insertSemi))
|
|
43
|
-
input.acceptToken(insertSemi);
|
|
44
|
-
}, { contextual: true, fallback: true });
|
|
45
|
-
const noSemicolon = new ExternalTokenizer((input, stack) => {
|
|
46
|
-
let { next } = input, after;
|
|
47
|
-
if (space$1.indexOf(next) > -1) return;
|
|
48
|
-
if (next == slash$1 && ((after = input.peek(1)) == slash$1 || after == star)) return;
|
|
49
|
-
if (next != braceR && next != semicolon && next != -1 && !stack.context && stack.canShift(noSemi))
|
|
50
|
-
input.acceptToken(noSemi);
|
|
51
|
-
}, { contextual: true });
|
|
52
|
-
const incdecToken = new ExternalTokenizer((input, stack) => {
|
|
53
|
-
let { next } = input;
|
|
54
|
-
if (next == plus || next == minus) {
|
|
55
|
-
input.advance();
|
|
56
|
-
if (next == input.next) {
|
|
57
|
-
input.advance();
|
|
58
|
-
let mayPostfix = !stack.context && stack.canShift(incdec);
|
|
59
|
-
input.acceptToken(mayPostfix ? incdec : incdecPrefix);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}, { contextual: true });
|
|
63
|
-
const template = new ExternalTokenizer((input) => {
|
|
64
|
-
for (let afterDollar = false, i = 0; ; i++) {
|
|
65
|
-
let { next } = input;
|
|
66
|
-
if (next < 0) {
|
|
67
|
-
if (i) input.acceptToken(templateContent);
|
|
68
|
-
break;
|
|
69
|
-
} else if (next == backtick) {
|
|
70
|
-
if (i) input.acceptToken(templateContent);
|
|
71
|
-
else input.acceptToken(templateEnd, 1);
|
|
72
|
-
break;
|
|
73
|
-
} else if (next == braceL && afterDollar) {
|
|
74
|
-
if (i == 1) input.acceptToken(InterpolationStart, 1);
|
|
75
|
-
else input.acceptToken(templateContent, -1);
|
|
76
|
-
break;
|
|
77
|
-
} else if (next == 10 && i) {
|
|
78
|
-
input.advance();
|
|
79
|
-
input.acceptToken(templateContent);
|
|
80
|
-
break;
|
|
81
|
-
} else if (next == backslash) {
|
|
82
|
-
input.advance();
|
|
83
|
-
}
|
|
84
|
-
afterDollar = next == dollar;
|
|
85
|
-
input.advance();
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
const tsExtends = new ExternalTokenizer((input, stack) => {
|
|
89
|
-
if (input.next != 101 || !stack.dialectEnabled(Dialect_ts)) return;
|
|
90
|
-
input.advance();
|
|
91
|
-
for (let i = 0; i < 6; i++) {
|
|
92
|
-
if (input.next != "xtends".charCodeAt(i)) return;
|
|
93
|
-
input.advance();
|
|
94
|
-
}
|
|
95
|
-
if (input.next >= 57 && input.next <= 65 || input.next >= 48 && input.next <= 90 || input.next == 95 || input.next >= 97 && input.next <= 122 || input.next > 160) return;
|
|
96
|
-
input.acceptToken(TSExtends);
|
|
97
|
-
});
|
|
98
|
-
const jsHighlight = styleTags({
|
|
99
|
-
"get set async static": tags$1.modifier,
|
|
100
|
-
"for while do if else switch try catch finally return throw break continue default case": tags$1.controlKeyword,
|
|
101
|
-
"in of await yield void typeof delete instanceof": tags$1.operatorKeyword,
|
|
102
|
-
"let var const function class extends": tags$1.definitionKeyword,
|
|
103
|
-
"import export from": tags$1.moduleKeyword,
|
|
104
|
-
"with debugger as new": tags$1.keyword,
|
|
105
|
-
TemplateString: tags$1.special(tags$1.string),
|
|
106
|
-
super: tags$1.atom,
|
|
107
|
-
BooleanLiteral: tags$1.bool,
|
|
108
|
-
this: tags$1.self,
|
|
109
|
-
null: tags$1.null,
|
|
110
|
-
Star: tags$1.modifier,
|
|
111
|
-
VariableName: tags$1.variableName,
|
|
112
|
-
"CallExpression/VariableName TaggedTemplateExpression/VariableName": tags$1.function(tags$1.variableName),
|
|
113
|
-
VariableDefinition: tags$1.definition(tags$1.variableName),
|
|
114
|
-
Label: tags$1.labelName,
|
|
115
|
-
PropertyName: tags$1.propertyName,
|
|
116
|
-
PrivatePropertyName: tags$1.special(tags$1.propertyName),
|
|
117
|
-
"CallExpression/MemberExpression/PropertyName": tags$1.function(tags$1.propertyName),
|
|
118
|
-
"FunctionDeclaration/VariableDefinition": tags$1.function(tags$1.definition(tags$1.variableName)),
|
|
119
|
-
"ClassDeclaration/VariableDefinition": tags$1.definition(tags$1.className),
|
|
120
|
-
PropertyDefinition: tags$1.definition(tags$1.propertyName),
|
|
121
|
-
PrivatePropertyDefinition: tags$1.definition(tags$1.special(tags$1.propertyName)),
|
|
122
|
-
UpdateOp: tags$1.updateOperator,
|
|
123
|
-
LineComment: tags$1.lineComment,
|
|
124
|
-
BlockComment: tags$1.blockComment,
|
|
125
|
-
Number: tags$1.number,
|
|
126
|
-
String: tags$1.string,
|
|
127
|
-
ArithOp: tags$1.arithmeticOperator,
|
|
128
|
-
LogicOp: tags$1.logicOperator,
|
|
129
|
-
BitOp: tags$1.bitwiseOperator,
|
|
130
|
-
CompareOp: tags$1.compareOperator,
|
|
131
|
-
RegExp: tags$1.regexp,
|
|
132
|
-
Equals: tags$1.definitionOperator,
|
|
133
|
-
Arrow: tags$1.function(tags$1.punctuation),
|
|
134
|
-
": Spread": tags$1.punctuation,
|
|
135
|
-
"( )": tags$1.paren,
|
|
136
|
-
"[ ]": tags$1.squareBracket,
|
|
137
|
-
"{ }": tags$1.brace,
|
|
138
|
-
"InterpolationStart InterpolationEnd": tags$1.special(tags$1.brace),
|
|
139
|
-
".": tags$1.derefOperator,
|
|
140
|
-
", ;": tags$1.separator,
|
|
141
|
-
TypeName: tags$1.typeName,
|
|
142
|
-
TypeDefinition: tags$1.definition(tags$1.typeName),
|
|
143
|
-
"type enum interface implements namespace module declare": tags$1.definitionKeyword,
|
|
144
|
-
"abstract global Privacy readonly override": tags$1.modifier,
|
|
145
|
-
"is keyof unique infer": tags$1.operatorKeyword,
|
|
146
|
-
JSXAttributeValue: tags$1.attributeValue,
|
|
147
|
-
JSXText: tags$1.content,
|
|
148
|
-
"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": tags$1.angleBracket,
|
|
149
|
-
"JSXIdentifier JSXNameSpacedName": tags$1.tagName,
|
|
150
|
-
"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": tags$1.attributeName
|
|
151
|
-
});
|
|
152
|
-
const spec_identifier$1 = { __proto__: null, export: 18, as: 23, from: 29, default: 32, async: 37, function: 38, this: 48, true: 56, false: 56, void: 66, typeof: 70, null: 86, super: 88, new: 122, await: 139, yield: 141, delete: 142, class: 152, extends: 154, public: 197, private: 197, protected: 197, readonly: 199, instanceof: 220, in: 222, const: 224, import: 256, keyof: 307, unique: 311, infer: 317, is: 351, abstract: 371, implements: 373, type: 375, let: 378, var: 380, interface: 387, enum: 391, namespace: 397, module: 399, declare: 403, global: 407, for: 428, of: 437, while: 440, with: 444, do: 448, if: 452, else: 454, switch: 458, case: 464, try: 470, catch: 474, finally: 478, return: 482, throw: 486, break: 490, continue: 494, debugger: 498 };
|
|
153
|
-
const spec_word = { __proto__: null, async: 109, get: 111, set: 113, public: 161, private: 161, protected: 161, static: 163, abstract: 165, override: 167, readonly: 173, new: 355 };
|
|
154
|
-
const spec_LessThan = { __proto__: null, "<": 129 };
|
|
155
|
-
const parser$2 = LRParser.deserialize({
|
|
156
|
-
version: 14,
|
|
157
|
-
states: "$8SO`QdOOO'QQ(C|O'#ChO'XOWO'#DVO)dQdO'#D]O)tQdO'#DhO){QdO'#DrO-xQdO'#DxOOQO'#E]'#E]O.]Q`O'#E[O.bQ`O'#E[OOQ(C['#Ef'#EfO0aQ(C|O'#ItO2wQ(C|O'#IuO3eQ`O'#EzO3jQ!bO'#FaOOQ(C['#FS'#FSO3rO#tO'#FSO4QQ&jO'#FhO5bQ`O'#FgOOQ(C['#Iu'#IuOOQ(CW'#It'#ItOOQS'#J^'#J^O5gQ`O'#HpO5lQ(ChO'#HqOOQS'#Ih'#IhOOQS'#Hr'#HrQ`QdOOO){QdO'#DjO5tQ`O'#G[O5yQ&jO'#CmO6XQ`O'#EZO6dQ`O'#EgO6iQ,UO'#FRO7TQ`O'#G[O7YQ`O'#G`O7eQ`O'#G`O7sQ`O'#GcO7sQ`O'#GdO7sQ`O'#GfO5tQ`O'#GiO8dQ`O'#GlO9rQ`O'#CdO:SQ`O'#GyO:[Q`O'#HPO:[Q`O'#HRO`QdO'#HTO:[Q`O'#HVO:[Q`O'#HYO:aQ`O'#H`O:fQ(CjO'#HfO){QdO'#HhO:qQ(CjO'#HjO:|Q(CjO'#HlO5lQ(ChO'#HnO){QdO'#DWOOOW'#Ht'#HtO;XOWO,59qOOQ(C[,59q,59qO=jQtO'#ChO=tQdO'#HuO>XQ`O'#IvO@WQtO'#IvO'dQdO'#IvO@_Q`O,59wO@uQ7[O'#DbOAnQ`O'#E]OA{Q`O'#JROBWQ`O'#JQOBWQ`O'#JQOB`Q`O,5:yOBeQ`O'#JPOBlQaO'#DyO5yQ&jO'#EZOBzQ`O'#EZOCVQpO'#FROOQ(C[,5:S,5:SOC_QdO,5:SOE]Q(C|O,5:^OEyQ`O,5:dOFdQ(ChO'#JOO7YQ`O'#I}OFkQ`O'#I}OFsQ`O,5:xOFxQ`O'#I}OGWQdO,5:vOIWQ&jO'#EWOJeQ`O,5:vOKwQ&jO'#DlOLOQdO'#DqOLYQ7[O,5;PO){QdO,5;POOQS'#Er'#ErOOQS'#Et'#EtO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;ROOQS'#Ex'#ExOLbQdO,5;cOOQ(C[,5;h,5;hOOQ(C[,5;i,5;iONbQ`O,5;iOOQ(C[,5;j,5;jO){QdO'#IPONgQ(ChO,5<TO! RQ&jO,5;RO){QdO,5;fO! kQ!bO'#JVO! YQ!bO'#JVO! rQ!bO'#JVO!!TQ!bO,5;qOOOO,5;{,5;{O!!cQdO'#FcOOOO'#IO'#IOO3rO#tO,5;nO!!jQ!bO'#FeOOQ(C[,5;n,5;nO!#WQ,VO'#CrOOQ(C]'#Cu'#CuO!#kQ`O'#CuO!#pOWO'#CyO!$^Q,VO,5<QO!$eQ`O,5<SO!%tQ&jO'#FrO!&RQ`O'#FsO!&WQ`O'#FsO!&]Q&jO'#FwO!'[Q7[O'#F{O!'}Q,VO'#IqOOQ(C]'#Iq'#IqO!(XQaO'#IpO!(gQ`O'#IoO!(oQ`O'#CqOOQ(C]'#Cs'#CsOOQ(C]'#C|'#C|O!(wQ`O'#DOOJjQ&jO'#FjOJjQ&jO'#FlO!(|Q`O'#FnO!)RQ`O'#FoO!&WQ`O'#FuOJjQ&jO'#FzO!)WQ`O'#E^O!)oQ`O,5<RO`QdO,5>[OOQS'#Ik'#IkOOQS,5>],5>]OOQS-E;p-E;pO!+kQ(C|O,5:UOOQ(CX'#Cp'#CpO!,[Q&kO,5<vOOQO'#Cf'#CfO!,mQ(ChO'#IlO5bQ`O'#IlO:aQ`O,59XO!-OQ!bO,59XO!-WQ&jO,59XO5yQ&jO,59XO!-cQ`O,5:vO!-kQ`O'#GxO!-yQ`O'#JbO){QdO,5;kO!.RQ7[O,5;mO!.WQ`O,5=cO!.]Q`O,5=cO!.bQ`O,5=cO5lQ(ChO,5=cO5tQ`O,5<vO!.pQ`O'#E_O!/UQ7[O'#E`OOQ(CW'#JP'#JPO!/gQ(ChO'#J_O5lQ(ChO,5<zO7sQ`O,5=QOOQP'#Cr'#CrO!/rQ!bO,5<}O!/zQ!cO,5=OO!0VQ`O,5=QO!0[QpO,5=TO:aQ`O'#GnO5tQ`O'#GpO!0dQ`O'#GpO5yQ&jO'#GsO!0iQ`O'#GsOOQS,5=W,5=WO!0nQ`O'#GtO!0vQ`O'#CmO!0{Q`O,59OO!1VQ`O,59OO!3XQdO,59OOOQS,59O,59OO!3fQ(ChO,59OO){QdO,59OO!3qQdO'#G{OOQS'#G|'#G|OOQS'#G}'#G}O`QdO,5=eO!4RQ`O,5=eO){QdO'#DxO`QdO,5=kO`QdO,5=mO!4WQ`O,5=oO`QdO,5=qO!4]Q`O,5=tO!4bQdO,5=zOOQS,5>Q,5>QO){QdO,5>QO5lQ(ChO,5>SOOQS,5>U,5>UO!8cQ`O,5>UOOQS,5>W,5>WO!8cQ`O,5>WOOQS,5>Y,5>YO!8hQpO,59rOOOW-E;r-E;rOOQ(C[1G/]1G/]O!8mQtO,5>aO'dQdO,5>aOOQO,5>f,5>fO!8wQdO'#HuOOQO-E;s-E;sO!9UQ`O,5?bO!9^QtO,5?bO!9eQ`O,5?lOOQ(C[1G/c1G/cO!9mQ!bO'#DTOOQO'#Ix'#IxO){QdO'#IxO!:[Q!bO'#IxO!:yQ!bO'#DcO!;[Q7[O'#DcO!=gQdO'#DcO!=nQ`O'#IwO!=vQ`O,59|O!={Q`O'#EaO!>ZQ`O'#JSO!>cQ`O,5:zO!>yQ7[O'#DcO){QdO,5?mO!?TQ`O'#HzOOQO-E;x-E;xO!9eQ`O,5?lOOQ(CW1G0e1G0eO!@aQ7[O'#D|OOQ(C[,5:e,5:eO){QdO,5:eOIWQ&jO,5:eO!@hQaO,5:eO:aQ`O,5:uO!-OQ!bO,5:uO!-WQ&jO,5:uO5yQ&jO,5:uOOQ(C[1G/n1G/nOOQ(C[1G0O1G0OOOQ(CW'#EV'#EVO){QdO,5?jO!@sQ(ChO,5?jO!AUQ(ChO,5?jO!A]Q`O,5?iO!AeQ`O'#H|O!A]Q`O,5?iOOQ(CW1G0d1G0dO7YQ`O,5?iOOQ(C[1G0b1G0bO!BPQ(C|O1G0bO!CRQ(CyO,5:rOOQ(C]'#Fq'#FqO!CoQ(C}O'#IqOGWQdO1G0bO!EqQ,VO'#IyO!E{Q`O,5:WO!FQQtO'#IzO){QdO'#IzO!F[Q`O,5:]OOQ(C]'#DT'#DTOOQ(C[1G0k1G0kO!FaQ`O1G0kO!HrQ(C|O1G0mO!HyQ(C|O1G0mO!K^Q(C|O1G0mO!KeQ(C|O1G0mO!MlQ(C|O1G0mO!NPQ(C|O1G0mO#!pQ(C|O1G0mO#!wQ(C|O1G0mO#%[Q(C|O1G0mO#%cQ(C|O1G0mO#'WQ(C|O1G0mO#*QQMlO'#ChO#+{QMlO1G0}O#-vQMlO'#IuOOQ(C[1G1T1G1TO#.ZQ(C|O,5>kOOQ(CW-E;}-E;}O#.zQ(C}O1G0mOOQ(C[1G0m1G0mO#1PQ(C|O1G1QO#1pQ!bO,5;sO#1uQ!bO,5;tO#1zQ!bO'#F[O#2`Q`O'#FZOOQO'#JW'#JWOOQO'#H}'#H}O#2eQ!bO1G1]OOQ(C[1G1]1G1]OOOO1G1f1G1fO#2sQMlO'#ItO#2}Q`O,5;}OLbQdO,5;}OOOO-E;|-E;|OOQ(C[1G1Y1G1YOOQ(C[,5<P,5<PO#3SQ!bO,5<POOQ(C],59a,59aOIWQ&jO'#C{OOOW'#Hs'#HsO#3XOWO,59eOOQ(C],59e,59eO){QdO1G1lO!)RQ`O'#IRO#3dQ`O,5<eOOQ(C],5<b,5<bOOQO'#GV'#GVOJjQ&jO,5<pOOQO'#GX'#GXOJjQ&jO,5<rOIWQ&jO,5<tOOQO1G1n1G1nO#3oQqO'#CpO#4SQqO,5<^O#4ZQ`O'#JZO5tQ`O'#JZO#4iQ`O,5<`OJjQ&jO,5<_O#4nQ`O'#FtO#4yQ`O,5<_O#5OQqO'#FqO#5]QqO'#J[O#5gQ`O'#J[OIWQ&jO'#J[O#5lQ`O,5<cOOQ(CW'#Dg'#DgO#5qQ!bO'#F|O!'VQ7[O'#F|O!'VQ7[O'#GOO#6SQ`O'#GPO!&WQ`O'#GSO#6XQ(ChO'#ITO#6dQ7[O,5<gOOQ(C],5<g,5<gO#6kQ7[O'#F|O#6yQ7[O'#F}O#7RQ7[O'#F}OOQ(C],5<u,5<uOJjQ&jO,5?[OJjQ&jO,5?[O#7WQ`O'#IUO#7cQ`O,5?ZO#7kQ`O,59]OOQ(C]'#Ch'#ChO#8[Q,VO,59jOOQ(C],59j,59jO#8}Q,VO,5<UO#9pQ,VO,5<WO#9zQ`O,5<YOOQ(C],5<Z,5<ZO#:PQ`O,5<aO#:UQ,VO,5<fOGWQdO1G1mO#:fQ`O1G1mOOQS1G3v1G3vOOQ(C[1G/p1G/pONbQ`O1G/pOOQS1G2b1G2bOIWQ&jO1G2bO){QdO1G2bOIWQ&jO1G2bO#:kQaO1G2bO#<QQ&jO'#EWOOQ(CW,5?W,5?WO#<[Q(ChO,5?WOOQS1G.s1G.sO:aQ`O1G.sO!-OQ!bO1G.sO!-WQ&jO1G.sO#<mQ`O1G0bO#<rQ`O'#ChO#<}Q`O'#JcO#=VQ`O,5=dO#=[Q`O'#JcO#=aQ`O'#JcO#=iQ`O'#I^O#=wQ`O,5?|O#>PQtO1G1VOOQ(C[1G1X1G1XO5tQ`O1G2}O#>WQ`O1G2}O#>]Q`O1G2}O#>bQ`O1G2}OOQS1G2}1G2}O#>gQ&kO1G2bO7YQ`O'#JQO7YQ`O'#EaO7YQ`O'#IWO#>xQ(ChO,5?yOOQS1G2f1G2fO!0VQ`O1G2lOIWQ&jO1G2iO#?TQ`O1G2iOOQS1G2j1G2jOIWQ&jO1G2jO#?YQaO1G2jO#?bQ7[O'#GhOOQS1G2l1G2lO!'VQ7[O'#IYO!0[QpO1G2oOOQS1G2o1G2oOOQS,5=Y,5=YO#?jQ&kO,5=[O5tQ`O,5=[O#6SQ`O,5=_O5bQ`O,5=_O!-OQ!bO,5=_O!-WQ&jO,5=_O5yQ&jO,5=_O#?{Q`O'#JaO#@WQ`O,5=`OOQS1G.j1G.jO#@]Q(ChO1G.jO#@hQ`O1G.jO#@mQ`O1G.jO5lQ(ChO1G.jO#@uQtO,5@OO#APQ`O,5@OO#A[QdO,5=gO#AcQ`O,5=gO7YQ`O,5@OOOQS1G3P1G3PO`QdO1G3POOQS1G3V1G3VOOQS1G3X1G3XO:[Q`O1G3ZO#AhQdO1G3]O#EcQdO'#H[OOQS1G3`1G3`O#EpQ`O'#HbO:aQ`O'#HdOOQS1G3f1G3fO#ExQdO1G3fO5lQ(ChO1G3lOOQS1G3n1G3nOOQ(CW'#Fx'#FxO5lQ(ChO1G3pO5lQ(ChO1G3rOOOW1G/^1G/^O#IvQpO,5<TO#JOQtO1G3{OOQO1G4Q1G4QO){QdO,5>aO#JYQ`O1G4|O#JbQ`O1G5WO#JjQ`O,5?dOLbQdO,5:{O7YQ`O,5:{O:aQ`O,59}OLbQdO,59}O!-OQ!bO,59}O#JoQMlO,59}OOQO,5:{,5:{O#JyQ7[O'#HvO#KaQ`O,5?cOOQ(C[1G/h1G/hO#KiQ7[O'#H{O#K}Q`O,5?nOOQ(CW1G0f1G0fO!;[Q7[O,59}O#LVQtO1G5XO7YQ`O,5>fOOQ(CW'#ES'#ESO#LaQ(DjO'#ETO!@XQ7[O'#D}OOQO'#Hy'#HyO#L{Q7[O,5:hOOQ(C[,5:h,5:hO#MSQ7[O'#D}O#MeQ7[O'#D}O#MlQ7[O'#EYO#MoQ7[O'#ETO#M|Q7[O'#ETO!@XQ7[O'#ETO#NaQ`O1G0PO#NfQqO1G0POOQ(C[1G0P1G0PO){QdO1G0POIWQ&jO1G0POOQ(C[1G0a1G0aO:aQ`O1G0aO!-OQ!bO1G0aO!-WQ&jO1G0aO#NmQ(C|O1G5UO){QdO1G5UO#N}Q(ChO1G5UO$ `Q`O1G5TO7YQ`O,5>hOOQO,5>h,5>hO$ hQ`O,5>hOOQO-E;z-E;zO$ `Q`O1G5TO$ vQ(C}O,59jO$#xQ(C}O,5<UO$%}Q(C}O,5<WO$(SQ(C}O,5<fOOQ(C[7+%|7+%|O$*_Q(C|O7+%|O$+OQ&jO'#HwO$+YQ`O,5?eOOQ(C]1G/r1G/rO$+bQdO'#HxO$+oQ`O,5?fO$+wQtO,5?fOOQ(C[1G/w1G/wOOQ(C[7+&V7+&VO$,RQMlO,5:^O){QdO7+&iO$,]QMlO,5:UOOQO1G1_1G1_OOQO1G1`1G1`O$,jQ!LQO,5;vOLbQdO,5;uOOQO-E;{-E;{OOQ(C[7+&w7+&wOOOO7+'Q7+'QOOOO1G1i1G1iO$,uQ`O1G1iOOQ(C[1G1k1G1kO$,zQqO,59gOOOW-E;q-E;qOOQ(C]1G/P1G/PO$-RQ(C|O7+'WOOQ(C],5>m,5>mO$-rQ`O,5>mOOQ(C]1G2P1G2PP$-wQ`O'#IRPOQ(C]-E<P-E<PO$.hQ,VO1G2[O$/ZQ,VO1G2^O$/eQqO1G2`OOQ(C]1G1x1G1xO$/lQ`O'#IQO$/zQ`O,5?uO$/zQ`O,5?uO$0SQ`O,5?uO$0_Q`O,5?uOOQO1G1z1G1zO$0mQ,VO1G1yOJjQ&jO1G1yO$0}Q&jO'#ISO$1_Q`O,5?vOIWQ&jO,5?vO$1gQqO,5?vOOQ(C]1G1}1G1}OOQ(CW,5<h,5<hOOQ(CW,5<i,5<iO$1qQ`O,5<iO#5}Q`O,5<iO!-OQ!bO,5<hO$1vQ`O,5<jOOQ(CW,5<k,5<kO$1qQ`O,5<nOOQO,5>o,5>oOOQO-E<R-E<ROOQ(C]1G2R1G2RO!'VQ7[O,5<hO$2OQ`O,5<iO!'VQ7[O,5<jO!'VQ7[O,5<iO$2ZQ,VO1G4vO$2eQ,VO1G4vOOQO,5>p,5>pOOQO-E<S-E<SOOQP1G.w1G.wO!.RQ7[O,59lO){QdO,59lO$2rQ`O1G1tOJjQ&jO1G1{O$2wQ(C|O7+'XOOQ(C[7+'X7+'XOGWQdO7+'XOOQ(C[7+%[7+%[O$3hQqO'#J]O#NaQ`O7+'|O$3rQ`O7+'|O$3zQqO7+'|OOQS7+'|7+'|OIWQ&jO7+'|O){QdO7+'|OIWQ&jO7+'|O$4UQ(CyO'#ChO$4iQ(CyO,5<lO$5ZQ`O,5<lOOQ(CW1G4r1G4rOOQS7+$_7+$_O:aQ`O7+$_O!-OQ!bO7+$_OGWQdO7+%|O$5`Q`O'#I]O$5qQ`O,5?}OOQO1G3O1G3OO5tQ`O,5?}O$5qQ`O,5?}O$5yQ`O,5?}OOQO,5>x,5>xOOQO-E<[-E<[OOQ(C[7+&q7+&qO$6OQ`O7+(iO5lQ(ChO7+(iO5tQ`O7+(iO$6TQ`O7+(iO$6YQaO7+'|OOQ(CW,5>r,5>rOOQ(CW-E<U-E<UOOQS7+(W7+(WO$6hQ(CyO7+(TOIWQ&jO7+(TO$6rQqO7+(UOOQS7+(U7+(UOIWQ&jO7+(UO$6yQ`O'#J`O$7UQ`O,5=SOOQO,5>t,5>tOOQO-E<W-E<WOOQS7+(Z7+(ZO$8OQ7[O'#GqOOQS1G2v1G2vOIWQ&jO1G2vO){QdO1G2vOIWQ&jO1G2vO$8VQaO1G2vO$8eQ&kO1G2vO5lQ(ChO1G2yO#6SQ`O1G2yO5bQ`O1G2yO!-OQ!bO1G2yO!-WQ&jO1G2yO$8vQ`O'#I[O$9RQ`O,5?{O$9ZQ7[O,5?{OOQ(CW1G2z1G2zOOQS7+$U7+$UO$9cQ`O7+$UO5lQ(ChO7+$UO$9hQ`O7+$UO){QdO1G5jO){QdO1G5kO$9mQdO1G3RO$9tQ`O1G3RO$9yQdO1G3RO$:QQ(ChO1G5jOOQS7+(k7+(kO5lQ(ChO7+(uO`QdO7+(wOOQS'#Jf'#JfOOQS'#I_'#I_O$:[QdO,5=vOOQS,5=v,5=vO){QdO'#H]O$:iQ`O'#H_OOQS,5=|,5=|O7YQ`O,5=|OOQS,5>O,5>OOOQS7+)Q7+)QOOQS7+)W7+)WOOQS7+)[7+)[OOQS7+)^7+)^OOQO1G5O1G5OO$:nQMlO1G0gO$:xQ`O1G0gOOQO1G/i1G/iO$;TQMlO1G/iO:aQ`O1G/iOLbQdO'#DcOOQO,5>b,5>bOOQO-E;t-E;tOOQO,5>g,5>gOOQO-E;y-E;yO!-OQ!bO1G/iO:aQ`O,5:iOOQO,5:o,5:oO){QdO,5:oO$;_Q(ChO,5:oO$;jQ(ChO,5:oO!-OQ!bO,5:iOOQO-E;w-E;wOOQ(C[1G0S1G0SO!@XQ7[O,5:iO$;xQ7[O,5:iO$<ZQ(DjO,5:oO$<uQ7[O,5:iO!@XQ7[O,5:oOOQO,5:t,5:tO$<|Q7[O,5:oO$=ZQ(ChO,5:oOOQ(C[7+%k7+%kO#NaQ`O7+%kO#NfQqO7+%kOOQ(C[7+%{7+%{O:aQ`O7+%{O!-OQ!bO7+%{O$=oQ(C|O7+*pO){QdO7+*pOOQO1G4S1G4SO7YQ`O1G4SO$>PQ`O7+*oO$>XQ(C}O1G2[O$@^Q(C}O1G2^O$BcQ(C}O1G1yO$DnQ,VO,5>cOOQO-E;u-E;uO$DxQtO,5>dO){QdO,5>dOOQO-E;v-E;vO$ESQ`O1G5QO$E[QMlO1G0bO$GcQMlO1G0mO$GjQMlO1G0mO$IkQMlO1G0mO$IrQMlO1G0mO$KgQMlO1G0mO$KzQMlO1G0mO$NXQMlO1G0mO$N`QMlO1G0mO%!aQMlO1G0mO%!hQMlO1G0mO%$]QMlO1G0mO%$pQ(C|O<<JTO%%rQMmO1G0mO%'|QMmO'#IqO%)iQMlO1G1QOLbQdO'#F^OOQO'#JX'#JXOOQO1G1b1G1bO%)vQ`O1G1aO%){QMlO,5>kOOOO7+'T7+'TOOOW1G/R1G/ROOQ(C]1G4X1G4XOJjQ&jO7+'zO%*VQ`O,5>lO5tQ`O,5>lOOQO-E<O-E<OO%*eQ`O1G5aO%*eQ`O1G5aO%*mQ`O1G5aO%*xQ,VO7+'eO%+YQqO,5>nO%+dQ`O,5>nOIWQ&jO,5>nOOQO-E<Q-E<QO%+iQqO1G5bO%+sQ`O1G5bOOQ(CW1G2T1G2TO$1qQ`O1G2TOOQ(CW1G2S1G2SO%+{Q`O1G2UOIWQ&jO1G2UOOQ(CW1G2Y1G2YO!-OQ!bO1G2SO#5}Q`O1G2TO%,QQ`O1G2UO%,YQ`O1G2TOJjQ&jO7+*bOOQ(C]1G/W1G/WO%,eQ`O1G/WOOQ(C]7+'`7+'`O%,jQ,VO7+'gO%,zQ(C|O<<JsOOQ(C[<<Js<<JsOIWQ&jO'#IVO%-kQ`O,5?wOOQS<<Kh<<KhOIWQ&jO<<KhO#NaQ`O<<KhO%-sQ`O<<KhO%-{QqO<<KhOIWQ&jO1G2WOOQS<<Gy<<GyO:aQ`O<<GyO%.VQ(C|O<<IhOOQ(C[<<Ih<<IhOOQO,5>w,5>wO%.vQ`O,5>wO%.{Q`O,5>wOOQO-E<Z-E<ZO%/TQ`O1G5iO%/TQ`O1G5iO5tQ`O1G5iO%/]Q`O<<LTOOQS<<LT<<LTO%/bQ`O<<LTO5lQ(ChO<<LTO){QdO<<KhOIWQ&jO<<KhOOQS<<Ko<<KoO$6hQ(CyO<<KoOOQS<<Kp<<KpO$6rQqO<<KpO%/gQ7[O'#IXO%/rQ`O,5?zOLbQdO,5?zOOQS1G2n1G2nO#LaQ(DjO'#ETO!@XQ7[O'#GrOOQO'#IZ'#IZO%/zQ7[O,5=]OOQS,5=],5=]O%0RQ7[O'#ETO%0^Q7[O'#ETO%0uQ7[O'#ETO%1PQ7[O'#GrO%1bQ`O7+(bO%1gQ`O7+(bO%1oQqO7+(bOOQS7+(b7+(bOIWQ&jO7+(bO){QdO7+(bOIWQ&jO7+(bO%1yQaO7+(bOOQS7+(e7+(eO5lQ(ChO7+(eO#6SQ`O7+(eO5bQ`O7+(eO!-OQ!bO7+(eO%2XQ`O,5>vOOQO-E<Y-E<YOOQO'#Gu'#GuO%2dQ`O1G5gO5lQ(ChO<<GpOOQS<<Gp<<GpO%2lQ`O<<GpO%2qQ`O7++UO%2vQ`O7++VOOQS7+(m7+(mO%2{Q`O7+(mO%3QQdO7+(mO%3XQ`O7+(mO){QdO7++UO){QdO7++VOOQS<<La<<LaOOQS<<Lc<<LcOOQS-E<]-E<]OOQS1G3b1G3bO%3^Q`O,5=wOOQS,5=y,5=yO%3cQ`O1G3hOLbQdO7+&ROOQO7+%T7+%TO%3hQMlO1G5XO:aQ`O7+%TOOQO1G0T1G0TO%3rQ(C|O1G0ZOOQO1G0Z1G0ZO){QdO1G0ZO%3|Q(ChO1G0ZO:aQ`O1G0TO!-OQ!bO1G0TO!@XQ7[O1G0TO%4XQ(ChO1G0ZO%4gQ7[O1G0TO%4xQ(ChO1G0ZO%5^Q(DjO1G0ZO%5hQ7[O1G0TO!@XQ7[O1G0ZOOQ(C[<<IV<<IVOOQ(C[<<Ig<<IgO:aQ`O<<IgO%5oQ(C|O<<N[OOQO7+)n7+)nO%6PQ(C}O7+'eO%8[Q(C}O7+'gO%:gQtO1G4OO%:qQMlO7+%|O%;gQMmO,59jO%=hQMmO,5<UO%?lQMmO,5<WO%A[QMmO,5<fO%B}QMlO7+'WO%C[QMlO7+'XO%CiQ`O,5;xOOQO7+&{7+&{O%CnQ,VO<<KfOOQO1G4W1G4WO%CuQ`O1G4WO%DQQ`O1G4WO%D`Q`O7+*{O%D`Q`O7+*{OIWQ&jO1G4YO%DhQqO1G4YO%DrQ`O7+*|OOQ(CW7+'o7+'oO$1qQ`O7+'pO%DzQqO7+'pOOQ(CW7+'n7+'nO$1qQ`O7+'oO%ERQ`O7+'pOIWQ&jO7+'pO#5}Q`O7+'oO%EWQ,VO<<M|OOQ(C]7+$r7+$rO%EbQqO,5>qOOQO-E<T-E<TO#NaQ`OANASOOQSANASANASOIWQ&jOANASO%ElQ(CyO7+'rOOQSAN=eAN=eO5tQ`O1G4cOOQO1G4c1G4cO%E|Q`O1G4cO%FRQ`O7++TO%FRQ`O7++TO5lQ(ChOANAoO%FZQ`OANAoOOQSANAoANAoO%F`Q`OANASO%FhQqOANASOOQSANAZANAZOOQSANA[ANA[O%FrQ`O,5>sOOQO-E<V-E<VO%F}QMlO1G5fO#6SQ`O,5=^O5bQ`O,5=^O!-OQ!bO,5=^OOQO-E<X-E<XOOQS1G2w1G2wO$<ZQ(DjO,5:oO!@XQ7[O,5=^O%GXQ7[O,5=^O%GjQ7[O,5:oOOQS<<K|<<K|OIWQ&jO<<K|O%1bQ`O<<K|O%GtQ`O<<K|O%G|QqO<<K|O){QdO<<K|OIWQ&jO<<K|OOQS<<LP<<LPO5lQ(ChO<<LPO#6SQ`O<<LPO5bQ`O<<LPO%HWQ7[O1G4bO%H`Q`O7++ROOQSAN=[AN=[O5lQ(ChOAN=[OOQS<<Np<<NpOOQS<<Nq<<NqOOQS<<LX<<LXO%HhQ`O<<LXO%HmQdO<<LXO%HtQ`O<<NpO%HyQ`O<<NqOOQS1G3c1G3cO:aQ`O7+)SO%IOQMlO<<ImOOQO<<Ho<<HoOOQO7+%u7+%uO%3rQ(C|O7+%uO){QdO7+%uOOQO7+%o7+%oO:aQ`O7+%oO!-OQ!bO7+%oO%IYQ(ChO7+%uO!@XQ7[O7+%oO%IeQ(ChO7+%uO%IsQ7[O7+%oO%JUQ(ChO7+%uOOQ(C[AN?RAN?RO%JjQMlO<<JTO%JwQMmO1G1yO%MOQMmO1G2[O& SQMmO1G2^O&!rQMlO<<JsO&#PQMlO<<IhOOQO1G1d1G1dOJjQ&jOANAQOOQO7+)r7+)rO&#^Q`O7+)rO&#iQ`O<<NgO&#qQqO7+)tOOQ(CW<<K[<<K[O$1qQ`O<<K[OOQ(CW<<KZ<<KZO&#{QqO<<K[O$1qQ`O<<KZOOQSG26nG26nO#NaQ`OG26nOOQO7+)}7+)}O5tQ`O7+)}O&$SQ`O<<NoOOQSG27ZG27ZO5lQ(ChOG27ZOIWQ&jOG26nOLbQdO1G4_O&$[Q`O7++QO5lQ(ChO1G2xO#6SQ`O1G2xO5bQ`O1G2xO!-OQ!bO1G2xO!@XQ7[O1G2xO%5^Q(DjO1G0ZO&$dQ7[O1G2xO%1bQ`OANAhOOQSANAhANAhOIWQ&jOANAhO&$uQ`OANAhO&$}QqOANAhOOQSANAkANAkO5lQ(ChOANAkO#6SQ`OANAkOOQO'#Gv'#GvOOQO7+)|7+)|OOQSG22vG22vOOQSANAsANAsO&%XQ`OANAsOOQSAND[AND[OOQSAND]AND]OOQS<<Ln<<LnOOQO<<Ia<<IaO%3rQ(C|O<<IaOOQO<<IZ<<IZO:aQ`O<<IZO){QdO<<IaO!-OQ!bO<<IZO&%^Q(ChO<<IaO!@XQ7[O<<IZO&%iQ(ChO<<IaO&%wQMmO7+'eO&'jQMmO7+'gO&)]Q,VOG26lOOQO<<M^<<M^OOQ(CWAN@vAN@vO$1qQ`OAN@vOOQ(CWAN@uAN@uOOQSLD,YLD,YOOQO<<Mi<<MiOOQSLD,uLD,uO#NaQ`OLD,YO&)mQMlO7+)yOOQO7+(d7+(dO5lQ(ChO7+(dO#6SQ`O7+(dO5bQ`O7+(dO!-OQ!bO7+(dO!@XQ7[O7+(dOOQSG27SG27SO%1bQ`OG27SOIWQ&jOG27SOOQSG27VG27VO5lQ(ChOG27VOOQSG27_G27_OOQOAN>{AN>{OOQOAN>uAN>uO%3rQ(C|OAN>{O:aQ`OAN>uO){QdOAN>{O!-OQ!bOAN>uO&)wQ(ChOAN>{O&*SQ(C}OG26lOOQ(CWG26bG26bOOQS!$( t!$( tOOQO<<LO<<LOO5lQ(ChO<<LOO#6SQ`O<<LOO5bQ`O<<LOO!-OQ!bO<<LOOOQSLD,nLD,nO%1bQ`OLD,nOOQSLD,qLD,qOOQOG24gG24gOOQOG24aG24aO%3rQ(C|OG24gO:aQ`OG24aO){QdOG24gO&,pQ!LRO,5:rO&-gQ$ITO'#IqOOQOANAjANAjO5lQ(ChOANAjO#6SQ`OANAjO5bQ`OANAjOOQS!$(!Y!$(!YOOQOLD*RLD*ROOQOLD){LD){O%3rQ(C|OLD*RO&.ZQMmOG26lO&/|Q!LRO,59jO&0pQ!LRO,5<UO&1dQ!LRO,5<WO&2WQ!LRO,5<fOOQOG27UG27UO5lQ(ChOG27UO#6SQ`OG27UOOQO!$'Mm!$'MmO&2}Q!LRO1G2[O&3qQ!LRO1G2^O&4eQ!LRO1G1yOOQOLD,pLD,pO5lQ(ChOLD,pO&5[Q!LRO7+'eO&6RQ!LRO7+'gOOQO!$(![!$(![O&6xQ!LROG26lOLbQdO'#DrO&7oQtO'#ItOLbQdO'#DjO&7vQ(C|O'#ChO&8aQtO'#ChO&8qQdO,5:vO&:qQ&jO'#EWOLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO,5;ROLbQdO'#IPO&<OQ`O,5<TO&=eQ&jO,5;ROLbQdO,5;fO!(wQ`O'#DOO!(wQ`O'#DOO!(wQ`O'#DOOIWQ&jO'#FjO&:qQ&jO'#FjO&<WQ&jO'#FjOIWQ&jO'#FlO&:qQ&jO'#FlO&<WQ&jO'#FlOIWQ&jO'#FzO&:qQ&jO'#FzO&<WQ&jO'#FzOLbQdO,5?mO&8qQdO1G0bO&=lQMlO'#ChOLbQdO1G1lOIWQ&jO,5<pO&:qQ&jO,5<pO&<WQ&jO,5<pOIWQ&jO,5<rO&:qQ&jO,5<rO&<WQ&jO,5<rOIWQ&jO,5<_O&:qQ&jO,5<_O&<WQ&jO,5<_O&8qQdO1G1mOLbQdO7+&iOIWQ&jO1G1yO&:qQ&jO1G1yO&<WQ&jO1G1yOIWQ&jO1G1{O&:qQ&jO1G1{O&<WQ&jO1G1{O&8qQdO7+'XO&8qQdO7+%|O&=vQ`O7+'pOIWQ&jOANAQO&:qQ&jOANAQO&<WQ&jOANAQO&=vQ`O<<K[O&=vQ`OAN@vO&={Q`O'#E[O&>QQ`O'#E[O&>YQ`O'#EzO&>_Q`O'#EgO&>dQ`O'#JRO&>oQ`O'#JPO&>zQ`O,5:vO&?PQ,VO,5<QO&?WQ`O'#FsO&?]Q`O'#FsO&?bQ`O'#FsO&?gQ`O,5<RO&?oQ`O,5:vO&?wQMlO1G0}O&@OQ`O,5<_O&@TQ`O,5<_O&@YQ`O,5<_O&@_Q`O,5<aO&@dQ`O,5<aO&@iQ`O,5<aO&@nQ`O1G1mO&@sQ`O1G0bO&@xQ`O1G2UO&@}Q,VO<<KfO&AUQ,VO<<KfO&A]Q,VO<<KfO&AdQqO7+'pO&AkQ`O7+'pO&ApQqO<<K[O4QQ&jO'#FhO5bQ`O'#FgOBzQ`O'#EZOLbQdO,5;cO!&WQ`O'#FsO!&WQ`O'#FsO!&WQ`O'#FsO!&WQ`O'#FuO!&WQ`O'#FuO!&WQ`O'#FuO&AwQ`O,5<jOJjQ&jO7+'zOJjQ&jO7+'zOJjQ&jO7+'zOIWQ&jO1G2UO&BPQ`O1G2UOIWQ&jO7+'pO!'VQ7[O'#GOO$/eQqO1G2`O$/eQqO1G2`O$/eQqO1G2`O!'VQ7[O,5<jOIWQ&jO,5<tOIWQ&jO,5<tOIWQ&jO,5<t",
|
|
158
|
-
stateData: "&B}~O'YOS'ZOSTOSUOS~OQTORTOXyO]cO_hObnOcmOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!TSO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!nlO#dsO#tpO#x^O%PqO%RtO%TrO%UrO%XuO%ZvO%^wO%_wO%axO%nzO%t{O%v|O%x}O%z!OO%}!PO&T!QO&Z!RO&]!SO&_!TO&a!UO&c!VO']PO'fQO'oYO'|aO~OQ[XZ[X_[Xj[Xu[Xv[Xx[X!R[X!a[X!b[X!d[X!j[X!{[X#WdX#[[X#][X#^[X#_[X#`[X#a[X#b[X#c[X#e[X#g[X#i[X#j[X#o[X'W[X'f[X'p[X'w[X'x[X~O!]$lX~P$zOS!WO'U!XO'V!ZO~OQTORTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!T!bO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O']![O'fQO'oYO'|aO~O!Q!`O!R!]O!O'jP!O'tP~P'dO!S!mO~P`OQTORTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!T!bO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O']9aO'fQO'oYO'|aO~OQTORTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!T!bO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O'fQO'oYO'|aO~O!Q!rO#U!uO#V!rO']9bO!c'qP~P+{O#W!vO~O!]!wO#W!vO~OQ#^OZ#dOj#ROu!{Ov!{Ox!|O!R#bO!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO#j#ZO'fQO'p#[O'w!}O'x#OO~O_'hX'W'hX!c'hX!O'hX!T'hX%Q'hX!]'hX~P.jO!{#eO#o#eOQ'iXZ'iX_'iXj'iXu'iXv'iXx'iX!R'iX!a'iX!b'iX!d'iX!j'iX#['iX#]'iX#^'iX#_'iX#`'iX#a'iX#b'iX#e'iX#g'iX#i'iX#j'iX'f'iX'p'iX'w'iX'x'iX~O#c'iX'W'iX!O'iX!c'iXn'iX!T'iX%Q'iX!]'iX~P0zO!{#eO~O#z#fO$R#jO~O!T#kO#x^O$U#lO$W#nO~O]#qOh$QOj#rOk#qOl#qOq$ROs$SOx#yO!T#zO!_$XO!d#vO#V$YO#t$VO$_$TO$a$UO$d$WO']#pO'b$PO'f#sO'a'cP~O!d$ZO~O!]$]O~O_$^O'W$^O~O']$bO~O!d$ZO']$bO'^$dO'b$PO~Oc$jO!d$ZO']$bO~O#c#TO~O]$sOu$oO!T$lO!d$nO%R$rO']$bO'^$dO^(UP~O!n$tO~Ox$uO!T$vO']$bO~Ox$uO!T$vO%Z$zO']$bO~O']${O~O#dsO%RtO%TrO%UrO%XuO%ZvO%^wO%_wO~Ob%UOc%TO!n%RO%P%SO%c%QO~P7xOb%XOcmO!T%WO!nlO#dsO%PqO%TrO%UrO%XuO%ZvO%^wO%_wO%axO~O`%[O!{%_O%R%YO'^$dO~P8wO!d%`O!g%dO~O!d%eO~O!TSO~O_$^O'T%mO'W$^O~O_$^O'T%pO'W$^O~O_$^O'T%rO'W$^O~OS!WO'U!XO'V%vO~OQ[XZ[Xj[Xu[Xv[Xx[X!R[X!RdX!a[X!b[X!d[X!j[X!{[X!{dX#WdX#[[X#][X#^[X#_[X#`[X#a[X#b[X#c[X#e[X#g[X#i[X#j[X#o[X'f[X'p[X'w[X'x[X~O!O[X!OdX~P;dO!Q%xO!O&iX!O&nX!R&iX!R&nX~P'dO!R%zO!O'jX~OQ#^OZ#dOj#ROu!{Ov!{Ox!|O!R%zO!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO#j#ZO'fQO'p#[O'w!}O'x#OO~O!O'jX~P>aO!O&PO~Ox&SO!W&^O!X&VO!Y&VO'^$dO~O]&TOk&TO!Q&WO'g&QO!S'kP!S'vP~P@dO!O'sX!R'sX!]'sX!c'sX'p'sX~O!{'sX#W#PX!S'sX~PA]O!{&_O!O'uX!R'uX~O!R&`O!O'tX~O!O&cO~O!{#eO~PA]OP&gO!T&dO!o&fO']$bO~Oc&lO!d$ZO']$bO~Ou$oO!d$nO~O!S&mO~P`Ou!{Ov!{Ox!|O!b!yO!d!zO'fQOQ!faZ!faj!fa!R!fa!a!fa!j!fa#[!fa#]!fa#^!fa#_!fa#`!fa#a!fa#b!fa#c!fa#e!fa#g!fa#i!fa#j!fa'p!fa'w!fa'x!fa~O_!fa'W!fa!O!fa!c!fan!fa!T!fa%Q!fa!]!fa~PCfO!c&nO~O!]!wO!{&pO'p&oO!R'rX_'rX'W'rX~O!c'rX~PFOO!R&tO!c'qX~O!c&vO~Ox$uO!T$vO#V&wO']$bO~OQTORTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!TSO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O']9aO'fQO'oYO'|aO~O]#qOh$QOj#rOk#qOl#qOq$ROs9tOx#yO!T#zO!_;eO!d#vO#V9}O#t$VO$_9wO$a9zO$d$WO']&{O'b$PO'f#sO~O#W&}O~O]#qOh$QOj#rOk#qOl#qOq$ROs$SOx#yO!T#zO!_$XO!d#vO#V$YO#t$VO$_$TO$a$UO$d$WO']&{O'b$PO'f#sO~O'a'mP~PJjO!Q'RO!c'nP~P){O'g'TO'oYO~OQ9^OR9^O]cOb;`Oc!jOhcOj9^OkcOlcOq9^Os9^OxRO{cO|cO}cO!T!bO!_9`O!dUO!g9^O!h9^O!i9^O!j9^O!k9^O!n!iO#t!lO#x^O']'cO'fQO'oYO'|;^O~O!d!zO~O!R#bO_$]a'W$]a!c$]a!O$]a!T$]a%Q$]a!]$]a~O#d'jO~PIWO!]'lO!T'yX#w'yX#z'yX$R'yX~Ou'mO~P! YOu'mO!T'yX#w'yX#z'yX$R'yX~O!T'oO#w'sO#z'nO$R'tO~O!Q'wO~PLbO#z#fO$R'zO~OP$eXu$eXx$eX!b$eX'w$eX'x$eX~OPfX!RfX!{fX'afX'a$eX~P!!rOk'|O~OS'}O'U(OO'V(QO~OP(ZOu(SOx(TO'w(VO'x(XO~O'a(RO~P!#{O'a([O~O]#qOh$QOj#rOk#qOl#qOq$ROs9tOx#yO!T#zO!_;eO!d#vO#V9}O#t$VO$_9wO$a9zO$d$WO'b$PO'f#sO~O!Q(`O'](]O!c'}P~P!$jO#W(bO~O!d(cO~O!Q(hO'](eO!O(OP~P!$jOj(uOx(mO!W(sO!X(lO!Y(lO!d(cO!x(tO$w(oO'^$dO'g(jO~O!S(rO~P!&jO!b!yOP'eXu'eXx'eX'w'eX'x'eX!R'eX!{'eX~O'a'eX#m'eX~P!'cOP(xO!{(wO!R'dX'a'dX~O!R(yO'a'cX~O']${O'a'cP~O'](|O~O!d)RO~O']&{O~Ox$uO!Q!rO!T$vO#U!uO#V!rO']$bO!c'qP~O!]!wO#W)VO~OQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO#j#ZO'fQO'p#[O'w!}O'x#OO~O_!^a!R!^a'W!^a!O!^a!c!^an!^a!T!^a%Q!^a!]!^a~P!)wOP)_O!T&dO!o)^O%Q)]O'b$PO~O!])aO!T'`X_'`X!R'`X'W'`X~O!d$ZO'b$PO~O!d$ZO']$bO'b$PO~O!]!wO#W&}O~O])lO%R)mO'])iO!S(VP~O!R)nO^(UX~O'g'TO~OZ)rO~O^)sO~O!T$lO']$bO'^$dO^(UP~Ox$uO!Q)xO!R&`O!T$vO']$bO!O'tP~O]&ZOk&ZO!Q)yO'g'TO!S'vP~O!R)zO_(RX'W(RX~O!{*OO'b$PO~OP*RO!T#zO'b$PO~O!T*TO~Ou*VO!TSO~O!n*[O~Oc*aO~O'](|O!S(TP~Oc$jO~O%RtO']${O~P8wOZ*gO^*fO~OQTORTO]cObnOcmOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!nlO#x^O%PqO'fQO'oYO'|aO~O!T!bO#t!lO']9aO~P!1_O^*fO_$^O'W$^O~O_*kO#d*mO%T*mO%U*mO~P){O!d%`O~O%t*rO~O!T*tO~O&V*vO&X*wOQ&SaR&SaX&Sa]&Sa_&Sab&Sac&Sah&Saj&Sak&Sal&Saq&Sas&Sax&Sa{&Sa|&Sa}&Sa!T&Sa!_&Sa!d&Sa!g&Sa!h&Sa!i&Sa!j&Sa!k&Sa!n&Sa#d&Sa#t&Sa#x&Sa%P&Sa%R&Sa%T&Sa%U&Sa%X&Sa%Z&Sa%^&Sa%_&Sa%a&Sa%n&Sa%t&Sa%v&Sa%x&Sa%z&Sa%}&Sa&T&Sa&Z&Sa&]&Sa&_&Sa&a&Sa&c&Sa'S&Sa']&Sa'f&Sa'o&Sa'|&Sa!S&Sa%{&Sa`&Sa&Q&Sa~O']*|O~On+PO~O!O&ia!R&ia~P!)wO!Q+TO!O&iX!R&iX~P){O!R%zO!O'ja~O!O'ja~P>aO!R&`O!O'ta~O!RwX!R!ZX!SwX!S!ZX!]wX!]!ZX!d!ZX!{wX'b!ZX~O!]+YO!{+XO!R#TX!R'lX!S#TX!S'lX!]'lX!d'lX'b'lX~O!]+[O!d$ZO'b$PO!R!VX!S!VX~O]&ROk&ROx&SO'g(jO~OQ9^OR9^O]cOb;`Oc!jOhcOj9^OkcOlcOq9^Os9^OxRO{cO|cO}cO!T!bO!_9`O!dUO!g9^O!h9^O!i9^O!j9^O!k9^O!n!iO#t!lO#x^O'fQO'oYO'|;^O~O']:SO~P!;jO!R+`O!S'kX~O!S+bO~O!]+YO!{+XO!R#TX!S#TX~O!R+cO!S'vX~O!S+eO~O]&ROk&ROx&SO'^$dO'g(jO~O!X+fO!Y+fO~P!>hOx$uO!Q+hO!T$vO']$bO!O&nX!R&nX~O_+lO!W+oO!X+kO!Y+kO!r+sO!s+qO!t+rO!u+pO!x+tO'^$dO'g(jO'o+iO~O!S+nO~P!?iOP+yO!T&dO!o+xO~O!{,PO!R'ra!c'ra_'ra'W'ra~O!]!wO~P!@sO!R&tO!c'qa~Ox$uO!Q,SO!T$vO#U,UO#V,SO']$bO!R&pX!c&pX~O_#Oi!R#Oi'W#Oi!O#Oi!c#Oin#Oi!T#Oi%Q#Oi!]#Oi~P!)wOP;tOu(SOx(TO'w(VO'x(XO~O#W!za!R!za!c!za!{!za!T!za_!za'W!za!O!za~P!BpO#W'eXQ'eXZ'eX_'eXj'eXv'eX!a'eX!d'eX!j'eX#['eX#]'eX#^'eX#_'eX#`'eX#a'eX#b'eX#c'eX#e'eX#g'eX#i'eX#j'eX'W'eX'f'eX'p'eX!c'eX!O'eX!T'eXn'eX%Q'eX!]'eX~P!'cO!R,_O'a'mX~P!#{O'a,aO~O!R,bO!c'nX~P!)wO!c,eO~O!O,fO~OQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'fQOZ#Zi_#Zij#Zi!R#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'w#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O#[#Zi~P!FfO#[#PO~P!FfOQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO'fQOZ#Zi_#Zi!R#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'w#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~Oj#Zi~P!IQOj#RO~P!IQOQ#^Oj#ROu!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO'fQO_#Zi!R#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'w#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P!KlOZ#dO!a#TO#a#TO#b#TO#c#TO~P!KlOQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO'fQO_#Zi!R#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'w#Zi~P!NdO'w!}O~P!NdOQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO'fQO'w!}O_#Zi!R#Zi#i#Zi#j#Zi'W#Zi'p#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'x#Zi~P##OO'x#OO~P##OOQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO'fQO'w!}O'x#OO~O_#Zi!R#Zi#j#Zi'W#Zi'p#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P#%jOQ[XZ[Xj[Xu[Xv[Xx[X!a[X!b[X!d[X!j[X!{[X#WdX#[[X#][X#^[X#_[X#`[X#a[X#b[X#c[X#e[X#g[X#i[X#j[X#o[X'f[X'p[X'w[X'x[X!R[X!S[X~O#m[X~P#'}OQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO#g9lO#i9nO#j9oO'fQO'p#[O'w!}O'x#OO~O#m,hO~P#*XOQ'iXZ'iXj'iXu'iXv'iXx'iX!a'iX!b'iX!d'iX!j'iX#['iX#]'iX#^'iX#_'iX#`'iX#a'iX#b'iX#e'iX#g'iX#i'iX#j'iX'f'iX'p'iX'w'iX'x'iX!R'iX~O!{9sO#o9sO#c'iX#m'iX!S'iX~P#,SO_&sa!R&sa'W&sa!c&san&sa!O&sa!T&sa%Q&sa!]&sa~P!)wOQ#ZiZ#Zi_#Zij#Ziv#Zi!R#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'f#Zi'p#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P!BpO_#ni!R#ni'W#ni!O#ni!c#nin#ni!T#ni%Q#ni!]#ni~P!)wO#z,jO~O#z,kO~O!]'lO!{,lO!T$OX#w$OX#z$OX$R$OX~O!Q,mO~O!T'oO#w,oO#z'nO$R,pO~O!R9pO!S'hX~P#*XO!S,qO~O$R,sO~OS'}O'U(OO'V,vO~O],yOk,yO!O,zO~O!RdX!]dX!cdX!c$eX'pdX~P!!rO!c-QO~P!BpO!R-RO!]!wO'p&oO!c'}X~O!c-WO~O!Q(`O']$bO!c'}P~O#W-YO~O!O$eX!R$eX!]$lX~P!!rO!R-ZO!O(OX~P!BpO!]-]O~O!O-_O~Oj-cO!]!wO!d$ZO'b$PO'p&oO~O!])aO~O_$^O!R-hO'W$^O~O!S-jO~P!&jO!X-kO!Y-kO'^$dO'g(jO~Ox-mO'g(jO~O!x-nO~O']${O!R&xX'a&xX~O!R(yO'a'ca~O'a-sO~Ou-tOv-tOx-uOPra'wra'xra!Rra!{ra~O'ara#mra~P#7pOu(SOx(TOP$^a'w$^a'x$^a!R$^a!{$^a~O'a$^a#m$^a~P#8fOu(SOx(TOP$`a'w$`a'x$`a!R$`a!{$`a~O'a$`a#m$`a~P#9XO]-vO~O#W-wO~O'a$na!R$na!{$na#m$na~P!#{O#W-zO~OP.TO!T&dO!o.SO%Q.RO~O]#qOj#rOk#qOl#qOq$ROs9tOx#yO!T#zO!_;eO!d#vO#V9}O#t$VO$_9wO$a9zO$d$WO'b$PO'f#sO~Oh.VO'].UO~P#:yO!])aO!T'`a_'`a!R'`a'W'`a~O#W.]O~OZ[X!RdX!SdX~O!R.^O!S(VX~O!S.`O~OZ.aO~O].cO'])iO~O!T$lO']$bO^'QX!R'QX~O!R)nO^(Ua~O!c.fO~P!)wO].hO~OZ.iO~O^.jO~OP.TO!T&dO!o.SO%Q.RO'b$PO~O!R)zO_(Ra'W(Ra~O!{.pO~OP.sO!T#zO~O'g'TO!S(SP~OP.}O!T.yO!o.|O%Q.{O'b$PO~OZ/XO!R/VO!S(TX~O!S/YO~O^/[O_$^O'W$^O~O]/]O~O]/^O'](|O~O#c/_O%r/`O~P0zO!{#eO#c/_O%r/`O~O_/aO~P){O_/cO~O%{/gOQ%yiR%yiX%yi]%yi_%yib%yic%yih%yij%yik%yil%yiq%yis%yix%yi{%yi|%yi}%yi!T%yi!_%yi!d%yi!g%yi!h%yi!i%yi!j%yi!k%yi!n%yi#d%yi#t%yi#x%yi%P%yi%R%yi%T%yi%U%yi%X%yi%Z%yi%^%yi%_%yi%a%yi%n%yi%t%yi%v%yi%x%yi%z%yi%}%yi&T%yi&Z%yi&]%yi&_%yi&a%yi&c%yi'S%yi']%yi'f%yi'o%yi'|%yi!S%yi`%yi&Q%yi~O`/mO!S/kO&Q/lO~P`O!TSO!d/oO~O&X*wOQ&SiR&SiX&Si]&Si_&Sib&Sic&Sih&Sij&Sik&Sil&Siq&Sis&Six&Si{&Si|&Si}&Si!T&Si!_&Si!d&Si!g&Si!h&Si!i&Si!j&Si!k&Si!n&Si#d&Si#t&Si#x&Si%P&Si%R&Si%T&Si%U&Si%X&Si%Z&Si%^&Si%_&Si%a&Si%n&Si%t&Si%v&Si%x&Si%z&Si%}&Si&T&Si&Z&Si&]&Si&_&Si&a&Si&c&Si'S&Si']&Si'f&Si'o&Si'|&Si!S&Si%{&Si`&Si&Q&Si~O!R#bOn$]a~O!O&ii!R&ii~P!)wO!R%zO!O'ji~O!R&`O!O'ti~O!O/uO~O!R!Va!S!Va~P#*XO]&ROk&RO!Q/{O'g(jO!R&jX!S&jX~P@dO!R+`O!S'ka~O]&ZOk&ZO!Q)yO'g'TO!R&oX!S&oX~O!R+cO!S'va~O!O'ui!R'ui~P!)wO_$^O!]!wO!d$ZO!j0VO!{0TO'W$^O'b$PO'p&oO~O!S0YO~P!?iO!X0ZO!Y0ZO'^$dO'g(jO'o+iO~O!W0[O~P#MSO!TSO!W0[O!u0^O!x0_O~P#MSO!W0[O!s0aO!t0aO!u0^O!x0_O~P#MSO!T&dO~O!T&dO~P!BpO!R'ri!c'ri_'ri'W'ri~P!)wO!{0jO!R'ri!c'ri_'ri'W'ri~O!R&tO!c'qi~Ox$uO!T$vO#V0lO']$bO~O#WraQraZra_rajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra'Wra'fra'pra!cra!Ora!Tranra%Qra!]ra~P#7pO#W$^aQ$^aZ$^a_$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a'W$^a'f$^a'p$^a!c$^a!O$^a!T$^an$^a%Q$^a!]$^a~P#8fO#W$`aQ$`aZ$`a_$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a'W$`a'f$`a'p$`a!c$`a!O$`a!T$`an$`a%Q$`a!]$`a~P#9XO#W$naQ$naZ$na_$naj$nav$na!R$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na'W$na'f$na'p$na!c$na!O$na!T$na!{$nan$na%Q$na!]$na~P!BpO_#Oq!R#Oq'W#Oq!O#Oq!c#Oqn#Oq!T#Oq%Q#Oq!]#Oq~P!)wO!R&kX'a&kX~PJjO!R,_O'a'ma~O!Q0tO!R&lX!c&lX~P){O!R,bO!c'na~O!R,bO!c'na~P!)wO#m!fa!S!fa~PCfO#m!^a!R!^a!S!^a~P#*XO!T1XO#x^O$P1YO~O!S1^O~On1_O~P!BpO_$Yq!R$Yq'W$Yq!O$Yq!c$Yqn$Yq!T$Yq%Q$Yq!]$Yq~P!)wO!O1`O~O],yOk,yO~Ou(SOx(TO'x(XOP$xi'w$xi!R$xi!{$xi~O'a$xi#m$xi~P$.POu(SOx(TOP$zi'w$zi'x$zi!R$zi!{$zi~O'a$zi#m$zi~P$.rO'p#[O~P!BpO!Q1cO']$bO!R&tX!c&tX~O!R-RO!c'}a~O!R-RO!]!wO!c'}a~O!R-RO!]!wO'p&oO!c'}a~O'a$gi!R$gi!{$gi#m$gi~P!#{O!Q1kO'](eO!O&vX!R&vX~P!$jO!R-ZO!O(Oa~O!R-ZO!O(Oa~P!BpO!]!wO~O!]!wO#c1sO~Oj1vO!]!wO'p&oO~O!R'di'a'di~P!#{O!{1yO!R'di'a'di~P!#{O!c1|O~O_$Zq!R$Zq'W$Zq!O$Zq!c$Zqn$Zq!T$Zq%Q$Zq!]$Zq~P!)wO!R2QO!T(PX~P!BpO!T&dO%Q2TO~O!T&dO%Q2TO~P!BpO!T$eX$u[X_$eX!R$eX'W$eX~P!!rO$u2XOPgXugXxgX!TgX'wgX'xgX_gX!RgX'WgX~O$u2XO~O]2_O%R2`O'])iO!R'PX!S'PX~O!R.^O!S(Va~OZ2dO~O^2eO~O]2hO~OP2jO!T&dO!o2iO%Q2TO~O_$^O'W$^O~P!BpO!T#zO~P!BpO!R2oO!{2qO!S(SX~O!S2rO~Ox;oO!W2{O!X2tO!Y2tO!r2zO!s2yO!t2yO!x2xO'^$dO'g(jO'o+iO~O!S2wO~P$7ZOP3SO!T.yO!o3RO%Q3QO~OP3SO!T.yO!o3RO%Q3QO'b$PO~O'](|O!R'OX!S'OX~O!R/VO!S(Ta~O]3^O'g3]O~O]3_O~O^3aO~O!c3dO~P){O_3fO~O_3fO~P){O#c3hO%r3iO~PFOO`/mO!S3mO&Q/lO~P`O!]3oO~O!R#Ti!S#Ti~P#*XO!{3qO!R#Ti!S#Ti~O!R!Vi!S!Vi~P#*XO_$^O!{3xO'W$^O~O_$^O!]!wO!{3xO'W$^O~O!X3|O!Y3|O'^$dO'g(jO'o+iO~O_$^O!]!wO!d$ZO!j3}O!{3xO'W$^O'b$PO'p&oO~O!W4OO~P$;xO!W4OO!u4RO!x4SO~P$;xO_$^O!]!wO!j3}O!{3xO'W$^O'p&oO~O!R'rq!c'rq_'rq'W'rq~P!)wO!R&tO!c'qq~O#W$xiQ$xiZ$xi_$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi'W$xi'f$xi'p$xi!c$xi!O$xi!T$xin$xi%Q$xi!]$xi~P$.PO#W$ziQ$ziZ$zi_$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi'W$zi'f$zi'p$zi!c$zi!O$zi!T$zin$zi%Q$zi!]$zi~P$.rO#W$giQ$giZ$gi_$gij$giv$gi!R$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi'W$gi'f$gi'p$gi!c$gi!O$gi!T$gi!{$gin$gi%Q$gi!]$gi~P!BpO!R&ka'a&ka~P!#{O!R&la!c&la~P!)wO!R,bO!c'ni~O#m#Oi!R#Oi!S#Oi~P#*XOQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'fQOZ#Zij#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'w#Zi'x#Zi!R#Zi!S#Zi~O#[#Zi~P$EiO#[9eO~P$EiOQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO'fQOZ#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'w#Zi'x#Zi!R#Zi!S#Zi~Oj#Zi~P$GqOj9gO~P$GqOQ#^Oj9gOu!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO'fQO#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'w#Zi'x#Zi!R#Zi!S#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P$IyOZ9rO!a9iO#a9iO#b9iO#c9iO~P$IyOQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO'fQO#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'x#Zi!R#Zi!S#Zi~O'w#Zi~P$L_O'w!}O~P$L_OQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO#g9lO'fQO'w!}O#i#Zi#j#Zi#m#Zi'p#Zi!R#Zi!S#Zi~O'x#Zi~P$NgO'x#OO~P$NgOQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO#g9lO#i9nO'fQO'w!}O'x#OO~O#j#Zi#m#Zi'p#Zi!R#Zi!S#Zi~P%!oO_#ky!R#ky'W#ky!O#ky!c#kyn#ky!T#ky%Q#ky!]#ky~P!)wOP;vOu(SOx(TO'w(VO'x(XO~OQ#ZiZ#Zij#Ziv#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'f#Zi'p#Zi!R#Zi!S#Zi~P%%aO!b!yOP'eXu'eXx'eX'w'eX'x'eX!S'eX~OQ'eXZ'eXj'eXv'eX!a'eX!d'eX!j'eX#['eX#]'eX#^'eX#_'eX#`'eX#a'eX#b'eX#c'eX#e'eX#g'eX#i'eX#j'eX#m'eX'f'eX'p'eX!R'eX~P%'eO#m#ni!R#ni!S#ni~P#*XO!S4eO~O!R&sa!S&sa~P#*XO!]!wO'p&oO!R&ta!c&ta~O!R-RO!c'}i~O!R-RO!]!wO!c'}i~O'a$gq!R$gq!{$gq#m$gq~P!#{O!O&va!R&va~P!BpO!]4lO~O!R-ZO!O(Oi~P!BpO!R-ZO!O(Oi~O!O4pO~O!]!wO#c4uO~Oj4vO!]!wO'p&oO~O!O4xO~O'a$iq!R$iq!{$iq#m$iq~P!#{O_$Zy!R$Zy'W$Zy!O$Zy!c$Zyn$Zy!T$Zy%Q$Zy!]$Zy~P!)wO!R2QO!T(Pa~O!T&dO%Q4}O~O!T&dO%Q4}O~P!BpO_#Oy!R#Oy'W#Oy!O#Oy!c#Oyn#Oy!T#Oy%Q#Oy!]#Oy~P!)wOZ5QO~O]5SO'])iO~O!R.^O!S(Vi~O]5VO~O^5WO~O'g'TO!R&{X!S&{X~O!R2oO!S(Sa~O!S5eO~P$7ZOx;sO'g(jO'o+iO~O!W5hO!X5gO!Y5gO!x0_O'^$dO'g(jO'o+iO~O!s5iO!t5iO~P%0^O!X5gO!Y5gO'^$dO'g(jO'o+iO~O!T.yO~O!T.yO%Q5kO~O!T.yO%Q5kO~P!BpOP5pO!T.yO!o5oO%Q5kO~OZ5uO!R'Oa!S'Oa~O!R/VO!S(Ti~O]5xO~O!c5yO~O!c5zO~O!c5{O~O!c5{O~P){O_5}O~O!]6QO~O!c6RO~O!R'ui!S'ui~P#*XO_$^O'W$^O~P!)wO_$^O!{6WO'W$^O~O_$^O!]!wO!{6WO'W$^O~O!X6]O!Y6]O'^$dO'g(jO'o+iO~O_$^O!]!wO!j6^O!{6WO'W$^O'p&oO~O!d$ZO'b$PO~P%4xO!W6_O~P%4gO!R'ry!c'ry_'ry'W'ry~P!)wO#W$gqQ$gqZ$gq_$gqj$gqv$gq!R$gq!a$gq!b$gq!d$gq!j$gq#[$gq#]$gq#^$gq#_$gq#`$gq#a$gq#b$gq#c$gq#e$gq#g$gq#i$gq#j$gq'W$gq'f$gq'p$gq!c$gq!O$gq!T$gq!{$gqn$gq%Q$gq!]$gq~P!BpO#W$iqQ$iqZ$iq_$iqj$iqv$iq!R$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq'W$iq'f$iq'p$iq!c$iq!O$iq!T$iq!{$iqn$iq%Q$iq!]$iq~P!BpO!R&li!c&li~P!)wO#m#Oq!R#Oq!S#Oq~P#*XOu-tOv-tOx-uOPra'wra'xra!Sra~OQraZrajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra#mra'fra'pra!Rra~P%;OOu(SOx(TOP$^a'w$^a'x$^a!S$^a~OQ$^aZ$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a#m$^a'f$^a'p$^a!R$^a~P%=SOu(SOx(TOP$`a'w$`a'x$`a!S$`a~OQ$`aZ$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a#m$`a'f$`a'p$`a!R$`a~P%?WOQ$naZ$naj$nav$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na#m$na'f$na'p$na!R$na!S$na~P%%aO#m$Yq!R$Yq!S$Yq~P#*XO#m$Zq!R$Zq!S$Zq~P#*XO!S6hO~O#m6iO~P!#{O!]!wO!R&ti!c&ti~O!]!wO'p&oO!R&ti!c&ti~O!R-RO!c'}q~O!O&vi!R&vi~P!BpO!R-ZO!O(Oq~O!O6oO~P!BpO!O6oO~O!R'dy'a'dy~P!#{O!R&ya!T&ya~P!BpO!T$tq_$tq!R$tq'W$tq~P!BpOZ6vO~O!R.^O!S(Vq~O]6yO~O!T&dO%Q6zO~O!T&dO%Q6zO~P!BpO!{6{O!R&{a!S&{a~O!R2oO!S(Si~P#*XO!X7RO!Y7RO'^$dO'g(jO'o+iO~O!W7TO!x4SO~P%GXO!T.yO%Q7WO~O!T.yO%Q7WO~P!BpO]7_O'g7^O~O!R/VO!S(Tq~O!c7aO~O!c7aO~P){O!c7cO~O!c7dO~O!R#Ty!S#Ty~P#*XO_$^O!{7jO'W$^O~O_$^O!]!wO!{7jO'W$^O~O!X7mO!Y7mO'^$dO'g(jO'o+iO~O_$^O!]!wO!j7nO!{7jO'W$^O'p&oO~O#m#ky!R#ky!S#ky~P#*XOQ$giZ$gij$giv$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi#m$gi'f$gi'p$gi!R$gi!S$gi~P%%aOu(SOx(TO'x(XOP$xi'w$xi!S$xi~OQ$xiZ$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi#m$xi'f$xi'p$xi!R$xi~P%LjOu(SOx(TOP$zi'w$zi'x$zi!S$zi~OQ$ziZ$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi#m$zi'f$zi'p$zi!R$zi~P%NnO#m$Zy!R$Zy!S$Zy~P#*XO#m#Oy!R#Oy!S#Oy~P#*XO!]!wO!R&tq!c&tq~O!R-RO!c'}y~O!O&vq!R&vq~P!BpO!O7tO~P!BpO!R.^O!S(Vy~O!R2oO!S(Sq~O!X8QO!Y8QO'^$dO'g(jO'o+iO~O!T.yO%Q8TO~O!T.yO%Q8TO~P!BpO!c8WO~O_$^O!{8]O'W$^O~O_$^O!]!wO!{8]O'W$^O~OQ$gqZ$gqj$gqv$gq!a$gq!b$gq!d$gq!j$gq#[$gq#]$gq#^$gq#_$gq#`$gq#a$gq#b$gq#c$gq#e$gq#g$gq#i$gq#j$gq#m$gq'f$gq'p$gq!R$gq!S$gq~P%%aOQ$iqZ$iqj$iqv$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq#m$iq'f$iq'p$iq!R$iq!S$iq~P%%aO'a$|!Z!R$|!Z!{$|!Z#m$|!Z~P!#{O!R&{q!S&{q~P#*XO_$^O!{8oO'W$^O~O#W$|!ZQ$|!ZZ$|!Z_$|!Zj$|!Zv$|!Z!R$|!Z!a$|!Z!b$|!Z!d$|!Z!j$|!Z#[$|!Z#]$|!Z#^$|!Z#_$|!Z#`$|!Z#a$|!Z#b$|!Z#c$|!Z#e$|!Z#g$|!Z#i$|!Z#j$|!Z'W$|!Z'f$|!Z'p$|!Z!c$|!Z!O$|!Z!T$|!Z!{$|!Zn$|!Z%Q$|!Z!]$|!Z~P!BpOP;uOu(SOx(TO'w(VO'x(XO~O!S!za!W!za!X!za!Y!za!r!za!s!za!t!za!x!za'^!za'g!za'o!za~P&,_O!W'eX!X'eX!Y'eX!r'eX!s'eX!t'eX!x'eX'^'eX'g'eX'o'eX~P%'eOQ$|!ZZ$|!Zj$|!Zv$|!Z!a$|!Z!b$|!Z!d$|!Z!j$|!Z#[$|!Z#]$|!Z#^$|!Z#_$|!Z#`$|!Z#a$|!Z#b$|!Z#c$|!Z#e$|!Z#g$|!Z#i$|!Z#j$|!Z#m$|!Z'f$|!Z'p$|!Z!R$|!Z!S$|!Z~P%%aO!Wra!Xra!Yra!rra!sra!tra!xra'^ra'gra'ora~P%;OO!W$^a!X$^a!Y$^a!r$^a!s$^a!t$^a!x$^a'^$^a'g$^a'o$^a~P%=SO!W$`a!X$`a!Y$`a!r$`a!s$`a!t$`a!x$`a'^$`a'g$`a'o$`a~P%?WO!S$na!W$na!X$na!Y$na!r$na!s$na!t$na!x$na'^$na'g$na'o$na~P&,_O!W$xi!X$xi!Y$xi!r$xi!s$xi!t$xi!x$xi'^$xi'g$xi'o$xi~P%LjO!W$zi!X$zi!Y$zi!r$zi!s$zi!t$zi!x$zi'^$zi'g$zi'o$zi~P%NnO!S$gi!W$gi!X$gi!Y$gi!r$gi!s$gi!t$gi!x$gi'^$gi'g$gi'o$gi~P&,_O!S$gq!W$gq!X$gq!Y$gq!r$gq!s$gq!t$gq!x$gq'^$gq'g$gq'o$gq~P&,_O!S$iq!W$iq!X$iq!Y$iq!r$iq!s$iq!t$iq!x$iq'^$iq'g$iq'o$iq~P&,_O!S$|!Z!W$|!Z!X$|!Z!Y$|!Z!r$|!Z!s$|!Z!t$|!Z!x$|!Z'^$|!Z'g$|!Z'o$|!Z~P&,_On'hX~P.jOn[X!O[X!c[X%r[X!T[X%Q[X!][X~P$zO!]dX!c[X!cdX'pdX~P;dOQ9^OR9^O]cOb;`Oc!jOhcOj9^OkcOlcOq9^Os9^OxRO{cO|cO}cO!TSO!_9`O!dUO!g9^O!h9^O!i9^O!j9^O!k9^O!n!iO#t!lO#x^O']'cO'fQO'oYO'|;^O~O]#qOh$QOj#rOk#qOl#qOq$ROs9uOx#yO!T#zO!_;fO!d#vO#V:OO#t$VO$_9xO$a9{O$d$WO']&{O'b$PO'f#sO~O!R9pO!S$]a~O]#qOh$QOj#rOk#qOl#qOq$ROs9vOx#yO!T#zO!_;gO!d#vO#V:PO#t$VO$_9yO$a9|O$d$WO']&{O'b$PO'f#sO~O#d'jO~P&<WO!S[X!SdX~P;dO!]9dO~O#W9cO~O!]!wO#W9cO~O!{9sO~O#c9iO~O!{:QO!R'uX!S'uX~O!{9sO!R'sX!S'sX~O#W:RO~O'a:TO~P!#{O#W:[O~O#W:]O~O#W:^O~O!]!wO#W:_O~O!]!wO#W:RO~O#m:`O~P#*XO#W:aO~O#W:bO~O#W:cO~O#W:dO~O#W:eO~O#W:fO~O#W:gO~O#W:hO~O!O:iO~O#m:jO~P!#{O#m:kO~P!#{O#m:lO~P!#{O!O:mO~P!BpO!O:mO~O!O:nO~P!BpO!]!wO#c;lO~O!]!wO#c;nO~O#x~!b!r!t!u#U#V'|$_$a$d$u%P%Q%R%X%Z%^%_%a%c~UT#x'|#]}'Y'Z#z'Y']'g~",
|
|
159
|
-
goto: "#Kk(ZPPPPPPPP([P(lP*`PPPP-zPP.a3s7o8SP8SPPP8SP:U8SP8SP:YPP:`P:t?VPPPP?ZPPPP?ZA{PPPBRDdP?ZPFwPPPPHp?ZPPPPPJi?ZPPMjNgPPPPNk!!TP!!]!#^PNg?Z?Z!&n!)i!.[!.[!1kPPP!1r!4h?ZPPPPPPPPPP!7_P!8pPP?Z!9}P?ZP?Z?Z?Z?ZP?Z!;dPP!>]P!AQ!AY!A^!A^P!>YP!Ab!AbP!DVP!DZ?Z?Z!Da!GT8SP8SP8S8SP!HW8S8S!Jf8S!M_8S# g8S8S#!T#$c#$c#$g#$c#$oP#$cP8S#%k8S#'X8S8S-zPPP#(yPP#)c#)cP#)cP#)x#)cPP#*OP#)uP#)u#*b!!X#)u#+P#+V#+Y([#+]([P#+d#+d#+dP([P([P([P([PP([P#+j#+mP#+m([P#+qP#+tP([P([P([P([P([P([([#+z#,U#,[#,b#,p#,v#,|#-W#-^#-m#-s#.R#.X#._#.m#/S#0z#1Y#1`#1f#1l#1r#1|#2S#2Y#2d#2v#2|PPPPPPPP#3SPP#3v#7OPP#8f#8m#8uPP#>a#@t#Fp#Fs#Fv#GR#GUPP#GX#G]#Gz#Hq#Hu#IZPP#I_#Ie#IiP#Il#Ip#Is#Jc#Jy#KO#KR#KU#K[#K_#Kc#KgmhOSj}!n$]%c%f%g%i*o*t/g/jQ$imQ$ppQ%ZyS&V!b+`Q&k!jS(l#z(qQ)g$jQ)t$rQ*`%TQ+f&^S+k&d+mQ+}&lQ-k(sQ/U*aY0Z+o+p+q+r+sS2t.y2vU3|0[0^0aU5g2y2z2{S6]4O4RS7R5h5iQ7m6_R8Q7T$p[ORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8o!j'e#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ(}$SQ)l$lQ*b%WQ*i%`Q,X9tQ.W)aQ.c)mQ/^*gQ2_.^Q3Z/VQ4^9vQ5S2`R8{9upeOSjy}!n$]%Y%c%f%g%i*o*t/g/jR*d%[&WVOSTjkn}!S!W!k!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%z&S&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;`;a[!cRU!]!`%x&WQ$clQ$hmS$mp$rv$wrs!r!u$Z$u&`&t&w)x)y)z*m+Y+h,S,U/o0lQ%PwQ&h!iQ&j!jS(_#v(cS)f$i$jQ)j$lQ)w$tQ*Z%RQ*_%TS+|&k&lQ-V(`Q.[)gQ.b)mQ.d)nQ.g)rQ/P*[S/T*`*aQ0h+}Q1b-RQ2^.^Q2b.aQ2g.iQ3Y/UQ4i1cQ5R2`Q5U2dQ6u5QR7w6vx#xa!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;k!Y$fm!j$h$i$j&U&j&k&l(k)f)g+]+j+|+}-d.[0Q0W0]0h1u3{4Q6Z7k8^Q)`$cQ*P$|Q*S$}Q*^%TQ.k)wQ/O*ZU/S*_*`*aQ3T/PS3X/T/UQ5b2sQ5t3YS7P5c5fS8O7Q7SQ8f8PQ8u8g#[;b!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vd;c9d9x9{:O:V:Y:]:b:e:ke;d9r9y9|:P:W:Z:^:c:f:lW#}a$P(y;^S$|t%YQ$}uQ%OvR)}$z%P#|a!w!y#d#v#y$T$U$Y&g'}(W(Y(Z(b(h(w(x)])_)a*O*R+y,_-Y-Z-]-w.R.T.p.s.{.}1a1k1s1y2Q2T2X2j3Q3S4l4u4}5k5p6i6z7W8T9d9r9w9x9y9z9{9|9}:O:P:U:V:W:X:Y:Z:[:]:^:a:b:c:d:e:f:j:k:l;^;i;j;k;l;n;t;u;vT(O#s(PX)O$S9t9u9vU&Z!b$v+cQ'U!{Q)q$oQ.t*TQ1z-tR5^2o&^cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;a$]#aZ!_!o$a%w%}&y'Q'W'X'Y'Z'[']'^'_'`'a'b'd'g'k'u)p+R+^+g,O,^,d,g,i,w-x/v/y0i0s0w0x0y0z0{0|0}1O1P1Q1R1S1T1W1]2O2[3s3v4W4[4]4b4c5`6S6V6b6f6g7g7z8Z8m8y9_:|T!XQ!Y&_cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ&X!bR/|+`Y&R!b&V&^+`+fS(k#z(qS+j&d+mS-d(l(sQ-e(mQ-l(tQ.v*VU0W+k+o+pU0]+q+r+sS0b+t2xQ1u-kQ1w-mQ1x-nS2s.y2vU3{0Z0[0^Q4P0_Q4Q0aS5c2t2{S5f2y2zU6Z3|4O4RQ6`4SS7Q5g5hQ7S5iS7k6]6_S8P7R7TQ8^7mQ8g8QQ;h;oR;m;slhOSj}!n$]%c%f%g%i*o*t/g/jQ%k!QS&x!v9cQ)d$gQ*X%PQ*Y%QQ+z&iS,]&}:RS-y)V:_Q.Y)eQ.x*WQ/n*vQ/p*wQ/x+ZQ0`+qQ0f+{S2P-z:gQ2Y.ZS2].]:hQ3r/zQ3u0RQ4U0gQ5P2ZQ6T3tQ6X3zQ6a4VQ7e6RQ7h6YQ8Y7iQ8l8[R8x8n$W#`Z!_!o%w%}&y'Q'W'X'Y'Z'[']'^'_'`'a'b'd'g'k'u)p+R+^+g,O,^,d,g,w-x/v/y0i0s0w0x0y0z0{0|0}1O1P1Q1R1S1T1W1]2O2[3s3v4W4[4]4b4c5`6S6V6b6f6g7g7z8Z8m8y9_:|W(v#{&|1V8qT)Z$a,i$W#_Z!_!o%w%}&y'Q'W'X'Y'Z'[']'^'_'`'a'b'd'g'k'u)p+R+^+g,O,^,d,g,w-x/v/y0i0s0w0x0y0z0{0|0}1O1P1Q1R1S1T1W1]2O2[3s3v4W4[4]4b4c5`6S6V6b6f6g7g7z8Z8m8y9_:|Q'f#`S)Y$a,iR-{)Z&^cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ%f{Q%g|Q%i!OQ%j!PR/f*rQ&e!iQ)[$cQ+w&hS.Q)`)wS0c+u+vW2S-}.O.P.kS4T0d0eU4|2U2V2WU6s4{5Y5ZQ7v6tR8b7yT+l&d+mS+j&d+mU0W+k+o+pU0]+q+r+sS0b+t2xS2s.y2vU3{0Z0[0^Q4P0_Q4Q0aS5c2t2{S5f2y2zU6Z3|4O4RQ6`4SS7Q5g5hQ7S5iS7k6]6_S8P7R7TQ8^7mR8g8QS+l&d+mT2u.y2vS&r!q/dQ-U(_Q-b(kS0V+j2sQ1g-VS1p-c-lU3}0]0b5fQ4h1bS4s1v1xU6^4P4Q7SQ6k4iQ6r4vR7n6`Q!xXS&q!q/dQ)W$[Q)b$eQ)h$kQ,Q&rQ-T(_Q-a(kQ-f(nQ.X)cQ/Q*]S0U+j2sS1f-U-VS1o-b-lQ1r-eQ1t-gQ3V/RW3y0V0]0b5fQ4g1bQ4k1gS4o1p1xQ4t1wQ5r3WW6[3}4P4Q7SS6j4h4iS6n4p:iQ6p4sQ6}5aQ7[5sS7l6^6`Q7r6kS7s6o:mQ7u6rQ7|7OQ8V7]Q8_7nS8a7t:nQ8d7}Q8s8eQ9Q8tQ9X9RQ:u:pQ;T:zQ;U:{Q;V;hR;[;m$rWORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oS!xn!k!j:o#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aR:u;`$rXORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oQ$[b!Y$em!j$h$i$j&U&j&k&l(k)f)g+]+j+|+}-d.[0Q0W0]0h1u3{4Q6Z7k8^S$kn!kQ)c$fQ*]%TW/R*^*_*`*aU3W/S/T/UQ5a2sS5s3X3YU7O5b5c5fQ7]5tU7}7P7Q7SS8e8O8PS8t8f8gQ9R8u!j:p#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ:z;_R:{;`$f]OSTjk}!S!W!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%c%e%f%g%i%m%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oY!hRU!]!`%xv$wrs!r!u$Z$u&`&t&w)x)y)z*m+Y+h,S,U/o0lQ*j%`!h:q#]#k'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aR:t&WS&[!b$vR0O+c$p[ORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8o!j'e#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aR*i%`$roORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oQ'U!{!k:r#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;a!h#VZ!_$a%w%}&y'Q'_'`'a'b'g'k)p+R+g,O,^,d,w-x0i0s1T2O2[3v4W4[6V7g8Z8m8y9_!R9k'd'u+^,i/v/y0w1P1Q1R1S1W1]3s4]4b4c5`6S6b6f6g7z:|!d#XZ!_$a%w%}&y'Q'a'b'g'k)p+R+g,O,^,d,w-x0i0s1T2O2[3v4W4[6V7g8Z8m8y9_}9m'd'u+^,i/v/y0w1R1S1W1]3s4]4b4c5`6S6b6f6g7z:|!`#]Z!_$a%w%}&y'Q'g'k)p+R+g,O,^,d,w-x0i0s1T2O2[3v4W4[6V7g8Z8m8y9_Q1a-Px;a'd'u+^,i/v/y0w1W1]3s4]4b4c5`6S6b6f6g7z:|Q;i;pQ;j;qR;k;r&^cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aS#l`#mR1Y,l&e_ORSTU`jk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k#m$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,l,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aS#g^#nT'n#i'rT#h^#nT'p#i'r&e`ORSTU`jk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k#m$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,l,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aT#l`#mQ#o`R'y#m$rbORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8o!k;_#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;a#RdOSUj}!S!W!n!|#k$]%[%_%`%c%e%f%g%i%m&S&f'w)^*k*o*t+x,m-u.S.|/_/`/a/c/g/j/l1X2i3R3f3h3i5o5}x#{a!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;k#[&|!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vQ)S$WQ,x(Sd1V9r9y9|:P:W:Z:^:c:f:le8q9d9x9{:O:V:Y:]:b:e:kx#wa!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;kQ(d#xS(n#z(qQ)T$XQ-g(o#[:w!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vd:x9d9x9{:O:V:Y:]:b:e:kd:y9r9y9|:P:W:Z:^:c:f:lQ:};bQ;O;cQ;P;dQ;Q;eQ;R;fR;S;gx#{a!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;k#[&|!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vd1V9r9y9|:P:W:Z:^:c:f:le8q9d9x9{:O:V:Y:]:b:e:klfOSj}!n$]%c%f%g%i*o*t/g/jQ(g#yQ*}%pQ+O%rR1j-Z%O#|a!w!y#d#v#y$T$U$Y&g'}(W(Y(Z(b(h(w(x)])_)a*O*R+y,_-Y-Z-]-w.R.T.p.s.{.}1a1k1s1y2Q2T2X2j3Q3S4l4u4}5k5p6i6z7W8T9d9r9w9x9y9z9{9|9}:O:P:U:V:W:X:Y:Z:[:]:^:a:b:c:d:e:f:j:k:l;^;i;j;k;l;n;t;u;vQ*Q$}Q.r*SQ2m.qR5]2nT(p#z(qS(p#z(qT2u.y2vQ)b$eQ-f(nQ.X)cQ/Q*]Q3V/RQ5r3WQ6}5aQ7[5sQ7|7OQ8V7]Q8d7}Q8s8eQ9Q8tR9X9Rp(W#t'O)U-X-o-p0q1h1}4f4w7q:v;W;X;Y!n:U&z'i(^(f+v,[,t-P-^-|.P.o.q0e0p1i1m2W2l2n3O4Y4Z4m4q4y5O5Z5n6m6q7Y8`;Z;];p;q;r[:V8p9O9V9Y9Z9]]:W1U4a6c7o7p8zr(Y#t'O)U,}-X-o-p0q1h1}4f4w7q:v;W;X;Y!p:X&z'i(^(f+v,[,t-P-^-|.P.o.q0e0n0p1i1m2W2l2n3O4Y4Z4m4q4y5O5Z5n6m6q7Y8`;Z;];p;q;r^:Y8p9O9T9V9Y9Z9]_:Z1U4a6c6d7o7p8zpeOSjy}!n$]%Y%c%f%g%i*o*t/g/jQ%VxR*k%`peOSjy}!n$]%Y%c%f%g%i*o*t/g/jR%VxQ*U%OR.n)}qeOSjy}!n$]%Y%c%f%g%i*o*t/g/jQ.z*ZS3P/O/PW5j2|2}3O3TU7V5l5m5nU8R7U7X7YQ8h8SR8v8iQ%^yR*e%YR3^/XR7_5uS$mp$rR.d)nQ%czR*o%dR*u%jT/h*t/jR*y%kQ*x%kR/q*yQjOQ!nST$`j!nQ(P#sR,u(PQ!YQR%u!YQ!^RU%{!^%|+UQ%|!_R+U%}Q+a&XR/}+aQ,`'OR0r,`Q,c'QS0u,c0vR0v,dQ+m&dR0X+mS!eR$uU&a!e&b+VQ&b!fR+V&OQ+d&[R0P+dQ&u!sQ,R&sU,V&u,R0mR0m,WQ'r#iR,n'rQ#m`R'x#mQ#cZU'h#c+Q9qQ+Q9_R9q'uQ-S(_W1d-S1e4j6lU1e-T-U-VS4j1f1gR6l4k$k(U#t&z'O'i(^(f)P)Q)U+v,Y,Z,[,t,}-O-P-X-^-o-p-|.P.o.q0e0n0o0p0q1U1h1i1m1}2W2l2n3O4Y4Z4_4`4a4f4m4q4w4y5O5Z5n6c6d6e6m6q7Y7o7p7q8`8p8z8|8}9O9T9U9V9Y9Z9]:v;W;X;Y;Z;];p;q;rQ-[(fU1l-[1n4nQ1n-^R4n1mQ(q#zR-i(qQ(z$OR-r(zQ2R-|R4z2RQ){$xR.m){Q2p.tS5_2p6|R6|5`Q*W%PR.w*WQ2v.yR5d2vQ/W*bS3[/W5vR5v3^Q._)jW2a._2c5T6wQ2c.bQ5T2bR6w5UQ)o$mR.e)oQ/j*tR3l/jWiOSj!nQ%h}Q)X$]Q*n%cQ*p%fQ*q%gQ*s%iQ/e*oS/h*t/jR3k/gQ$_gQ%l!RQ%o!TQ%q!UQ%s!VQ)v$sQ)|$yQ*d%^Q*{%nQ-h(pS/Z*e*hQ/r*zQ/s*}Q/t+OS0S+j2sQ2f.hQ2k.oQ3U/QQ3`/]Q3j/fY3w0U0V0]0b5fQ5X2hQ5[2lQ5q3VQ5w3_[6U3v3y3}4P4Q7SQ6x5VQ7Z5rQ7`5xW7f6V6[6^6`Q7x6yQ7{6}Q8U7[U8X7g7l7nQ8c7|Q8j8VS8k8Z8_Q8r8dQ8w8mQ9P8sQ9S8yQ9W9QR9[9XQ$gmQ&i!jU)e$h$i$jQ+Z&UU+{&j&k&lQ-`(kS.Z)f)gQ/z+]Q0R+jS0g+|+}Q1q-dQ2Z.[Q3t0QS3z0W0]Q4V0hQ4r1uS6Y3{4QQ7i6ZQ8[7kR8n8^S#ua;^R({$PU$Oa$P;^R-q(yQ#taS&z!w)aQ'O!yQ'i#dQ(^#vQ(f#yQ)P$TQ)Q$UQ)U$YQ+v&gQ,Y9wQ,Z9zQ,[9}Q,t'}Q,}(WQ-O(YQ-P(ZQ-X(bQ-^(hQ-o(wQ-p(xd-|)].R.{2T3Q4}5k6z7W8TQ.P)_Q.o*OQ.q*RQ0e+yQ0n:UQ0o:XQ0p:[Q0q,_Q1U9rQ1h-YQ1i-ZQ1m-]Q1}-wQ2W.TQ2l.pQ2n.sQ3O.}Q4Y:aQ4Z:dQ4_9yQ4`9|Q4a:PQ4f1aQ4m1kQ4q1sQ4w1yQ4y2QQ5O2XQ5Z2jQ5n3SQ6c:^Q6d:WQ6e:ZQ6m4lQ6q4uQ7Y5pQ7o:cQ7p:fQ7q6iQ8`:jQ8p9dQ8z:lQ8|9xQ8}9{Q9O:OQ9T:VQ9U:YQ9V:]Q9Y:bQ9Z:eQ9]:kQ:v;^Q;W;iQ;X;jQ;Y;kQ;Z;lQ;];nQ;p;tQ;q;uR;r;vlgOSj}!n$]%c%f%g%i*o*t/g/jS!pU%eQ%n!SQ%t!WQ'V!|Q'v#kS*h%[%_Q*l%`Q*z%mQ+W&SQ+u&fQ,r'wQ.O)^Q/b*kQ0d+xQ1[,mQ1{-uQ2V.SQ2}.|Q3b/_Q3c/`Q3e/aQ3g/cQ3n/lQ4d1XQ5Y2iQ5m3RQ5|3fQ6O3hQ6P3iQ7X5oR7b5}!vZOSUj}!S!n!|$]%[%_%`%c%e%f%g%i%m&S&f)^*k*o*t+x-u.S.|/_/`/a/c/g/j/l2i3R3f3h3i5o5}Q!_RQ!oTQ$akS%w!]%zQ%}!`Q&y!vQ'Q!zQ'W#PQ'X#QQ'Y#RQ'Z#SQ'[#TQ']#UQ'^#VQ'_#WQ'`#XQ'a#YQ'b#ZQ'd#]Q'g#bQ'k#eW'u#k'w,m1XQ)p$nS+R%x+TS+^&W/{Q+g&_Q,O&pQ,^&}Q,d'RQ,g9^Q,i9`Q,w(RQ-x)VQ/v+XQ/y+[Q0i,PQ0s,bQ0w9cQ0x9eQ0y9fQ0z9gQ0{9hQ0|9iQ0}9jQ1O9kQ1P9lQ1Q9mQ1R9nQ1S9oQ1T,hQ1W9sQ1]9pQ2O-zQ2[.]Q3s:QQ3v0TQ4W0jQ4[0tQ4]:RQ4b:TQ4c:_Q5`2qQ6S3qQ6V3xQ6b:`Q6f:gQ6g:hQ7g6WQ7z6{Q8Z7jQ8m8]Q8y8oQ9_!WR:|;aR!aRR&Y!bS&U!b+`S+]&V&^R0Q+fR'P!yR'S!zT!tU$ZS!sU$ZU$xrs*mS&s!r!uQ,T&tQ,W&wQ.l)zS0k,S,UR4X0l`!dR!]!`$u%x&`)x+hh!qUrs!r!u$Z&t&w)z,S,U0lQ/d*mQ/w+YQ3p/oT:s&W)yT!gR$uS!fR$uS%y!]&`S&O!`)xS+S%x+hT+_&W)yT&]!b$vQ#i^R'{#nT'q#i'rR1Z,lT(a#v(cR(i#yQ-})]Q2U.RQ2|.{Q4{2TQ5l3QQ6t4}Q7U5kQ7y6zQ8S7WR8i8TlhOSj}!n$]%c%f%g%i*o*t/g/jQ%]yR*d%YV$yrs*mR.u*TR*c%WQ$qpR)u$rR)k$lT%az%dT%bz%dT/i*t/j",
|
|
160
|
-
nodeNames: "⚠ extends ArithOp ArithOp InterpolationStart LineComment BlockComment Script ExportDeclaration export Star as VariableName String from ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Interpolation null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression PrivatePropertyName BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement",
|
|
161
|
-
maxTerm: 332,
|
|
162
|
-
context: trackNewline,
|
|
163
|
-
nodeProps: [
|
|
164
|
-
["closedBy", 4, "InterpolationEnd", 40, "]", 51, "}", 66, ")", 132, "JSXSelfCloseEndTag JSXEndTag", 146, "JSXEndTag"],
|
|
165
|
-
["group", -26, 8, 15, 17, 58, 184, 188, 191, 192, 194, 197, 200, 211, 213, 219, 221, 223, 225, 228, 234, 240, 242, 244, 246, 248, 250, 251, "Statement", -30, 12, 13, 24, 27, 28, 41, 43, 44, 45, 47, 52, 60, 68, 74, 75, 91, 92, 101, 103, 119, 122, 124, 125, 126, 127, 129, 130, 148, 149, 151, "Expression", -22, 23, 25, 29, 32, 34, 152, 154, 156, 157, 159, 160, 161, 163, 164, 165, 167, 168, 169, 178, 180, 182, 183, "Type", -3, 79, 85, 90, "ClassItem"],
|
|
166
|
-
["openedBy", 30, "InterpolationStart", 46, "[", 50, "{", 65, "(", 131, "JSXStartTag", 141, "JSXStartTag JSXStartCloseTag"]
|
|
167
|
-
],
|
|
168
|
-
propSources: [jsHighlight],
|
|
169
|
-
skippedNodes: [0, 5, 6],
|
|
170
|
-
repeatNodeCount: 28,
|
|
171
|
-
tokenData: "!C}~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst0htu2`uv4pvw5ewx6cxy<yyz=Zz{=k{|>k|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!<R!b!c%T!c!}2`!}#O!=d#O#P%T#P#Q!=t#Q#R!>U#R#S2`#S#T!>i#T#o2`#o#p!>y#p#q!?O#q#r!?f#r#s!?x#s$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$I|2`$I|$I}!Bq$I}$JO!Bq$JO$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`W%YR$UWO!^%T!_#o%T#p~%T7Z%jg$UW'Y7ROX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T7Z'YR$UW'Z7RO!^%T!_#o%T#p~%T$T'jS$UW!j#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#e#v$UWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#e#v$UWO!^%T!_#o%T#p~%T)X(rZ$UW]#eOY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$UWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR$P&j$UWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO$P&j)X*{R$P&j$UW]#eO!^%T!_#o%T#p~%T)P+ZV]#eOY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U)P+wO$P&j]#e)P+zROr+Urs,Ts~+U)P,[U$P&j]#eOY,nZr,nrs-Vs#O,n#O#P-[#P~,n#e,sU]#eOY,nZr,nrs-Vs#O,n#O#P-[#P~,n#e-[O]#e#e-_PO~,n)X-gV$UWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k)X.VZ$P&j$UW]#eOY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x#m/PZ$UW]#eOY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x#m/yR$UW]#eO!^%T!_#o%T#p~%T#m0XT$UWO!^.x!^!_,n!_#o.x#o#p,n#p~.x3]0mZ$UWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`3]1g]$UW'o3TOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`7Z2k_$UW#zS']$y'g3SOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$UW#zSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#^#v$UWO!^%T!_!`5T!`#o%T#p~%T$O5[R$UW#o#vO!^%T!_#o%T#p~%T5b5lU'x5Y$UWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$UW#i#vO!^%T!_!`5T!`#o%T#p~%T)X6jZ$UW]#eOY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$UWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w)P8YV]#eOY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T)P8rROw8Twx8{x~8T)P9SU$P&j]#eOY9fZw9fwx-Vx#O9f#O#P9}#P~9f#e9kU]#eOY9fZw9fwx-Vx#O9f#O#P9}#P~9f#e:QPO~9f)X:YV$UWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c)X:xZ$P&j$UW]#eOY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k#m;rZ$UW]#eOY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k#m<jT$UWO!^;k!^!_9f!_#o;k#o#p9f#p~;k&i=QR!d&a$UWO!^%T!_#o%T#p~%Tk=bR!cc$UWO!^%T!_#o%T#p~%T7V=tU'^4V#_#v$UWOz%Tz{>W{!^%T!_!`5T!`#o%T#p~%T$O>_S#[#v$UWO!^%T!_!`5T!`#o%T#p~%T%w>rSj%o$UWO!^%T!_!`5T!`#o%T#p~%T&i?VR!R&a$UWO!^%T!_#o%T#p~%T7Z?gVu5^$UWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%T!{@RT$UWO!O%T!O!P@b!P!^%T!_#o%T#p~%T!{@iR!Q!s$UWO!^%T!_#o%T#p~%T!{@yZ$UWk!sO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%T!{AqZ$UWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T!{BiV$UWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T!{CVV$UWk!sO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T7ZCs`$UW#]#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$UW}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}V}POYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiU}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$UWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$UWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$UWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du7ZJs^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl7ZKtV$UWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko7ZL`X$UWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko7ZMSR$UWU7RO!^%T!_#o%T#p~%T7RM`ROzM]z{Mi{~M]7RMlTOzM]z{Mi{!PM]!P!QM{!Q~M]7RNQOU7R7ZNX^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl7Z! ^_$UWU7R}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T7R!!bY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]7R!#VY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]7R!#|UU7R}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd7R!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`7R!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`7R!%sTU7ROYG{Z#OG{#O#PH_#P#QFx#Q~G{7R!&VTOY!$`YZM]Zz!$`z{!${{~!$`7R!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]7R!&}_}POzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M]7Z!(R[$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|7Z!(|^$UWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|7Z!*PY$UWU7ROYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq7Z!*tX$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|7Z!+fX$UWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl7Z!,Yc$UW}POzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko7Z!-lV$UWT7ROY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e7R!.WQT7ROY!.RZ~!.R$P!.g[$UW#o#v}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#wS$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du!{!0cd$UWk!sO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%T!{!1x_$UWk!sO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%T!{!3OR$UWk!sO!^%T!_#o%T#p~%T!{!3^W$UWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%T!{!3}Y$UWk!sO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%T!{!4rV$UWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%T!{!5`X$UWk!sO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%T!{!6QZ$UWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%T!{!6z]$UWk!sO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T$u!7|R!]V$UW#m$fO!^%T!_#o%T#p~%T!q!8^R_!i$UWO!^%T!_#o%T#p~%T5w!8rR'bd!a/n#x&s'|P!P!Q!8{!^!_!9Q!_!`!9_W!9QO$WW#v!9VP#`#v!_!`!9Y#v!9_O#o#v#v!9dO#a#v$u!9kT!{$m$UWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#W#w$UWO!^%T!_#o%T#p~%T%V!:gT'a!R#a#v$RS$UWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#a#v$UWO!^%T!_#o%T#p~%T$O!;_T#`#v$UWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#`#v$UWO!^%T!_!`5T!`#o%T#p~%T*a!<YV'p#{$UWO!O%T!O!P!<o!P!^%T!_!a%T!a!b!=P!b#o%T#p~%T*[!<vRv*S$UWO!^%T!_#o%T#p~%T$O!=WS$UW#j#vO!^%T!_!`5T!`#o%T#p~%T7V!=kRx6}$UWO!^%T!_#o%T#p~%Tk!={R!Oc$UWO!^%T!_#o%T#p~%T$O!>]S#g#v$UWO!^%T!_!`5T!`#o%T#p~%T$a!>pR$UW'f$XO!^%T!_#o%T#p~%T~!?OO!T~5b!?VT'w5Y$UWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T6X!?oR!S5}nQ$UWO!^%T!_#o%T#p~%TX!@PR!kP$UWO!^%T!_#o%T#p~%T7Z!@gr$UW'Y7R#zS']$y'g3SOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`7Z!CO_$UW'Z7R#zS']$y'g3SOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`",
|
|
172
|
-
tokenizers: [tsExtends, noSemicolon, incdecToken, template, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, insertSemicolon],
|
|
173
|
-
topRules: { "Script": [0, 7] },
|
|
174
|
-
dialects: { jsx: 12107, ts: 12109 },
|
|
175
|
-
dynamicPrecedences: { "149": 1, "176": 1 },
|
|
176
|
-
specialized: [{ term: 289, get: (value) => spec_identifier$1[value] || -1 }, { term: 299, get: (value) => spec_word[value] || -1 }, { term: 63, get: (value) => spec_LessThan[value] || -1 }],
|
|
177
|
-
tokenPrec: 12130
|
|
178
|
-
});
|
|
179
|
-
const snippets = [
|
|
180
|
-
/* @__PURE__ */ snippetCompletion("function ${name}(${params}) {\n ${}\n}", {
|
|
181
|
-
label: "function",
|
|
182
|
-
detail: "definition",
|
|
183
|
-
type: "keyword"
|
|
184
|
-
}),
|
|
185
|
-
/* @__PURE__ */ snippetCompletion("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}", {
|
|
186
|
-
label: "for",
|
|
187
|
-
detail: "loop",
|
|
188
|
-
type: "keyword"
|
|
189
|
-
}),
|
|
190
|
-
/* @__PURE__ */ snippetCompletion("for (let ${name} of ${collection}) {\n ${}\n}", {
|
|
191
|
-
label: "for",
|
|
192
|
-
detail: "of loop",
|
|
193
|
-
type: "keyword"
|
|
194
|
-
}),
|
|
195
|
-
/* @__PURE__ */ snippetCompletion("do {\n ${}\n} while (${})", {
|
|
196
|
-
label: "do",
|
|
197
|
-
detail: "loop",
|
|
198
|
-
type: "keyword"
|
|
199
|
-
}),
|
|
200
|
-
/* @__PURE__ */ snippetCompletion("while (${}) {\n ${}\n}", {
|
|
201
|
-
label: "while",
|
|
202
|
-
detail: "loop",
|
|
203
|
-
type: "keyword"
|
|
204
|
-
}),
|
|
205
|
-
/* @__PURE__ */ snippetCompletion("try {\n ${}\n} catch (${error}) {\n ${}\n}", {
|
|
206
|
-
label: "try",
|
|
207
|
-
detail: "/ catch block",
|
|
208
|
-
type: "keyword"
|
|
209
|
-
}),
|
|
210
|
-
/* @__PURE__ */ snippetCompletion("if (${}) {\n ${}\n}", {
|
|
211
|
-
label: "if",
|
|
212
|
-
detail: "block",
|
|
213
|
-
type: "keyword"
|
|
214
|
-
}),
|
|
215
|
-
/* @__PURE__ */ snippetCompletion("if (${}) {\n ${}\n} else {\n ${}\n}", {
|
|
216
|
-
label: "if",
|
|
217
|
-
detail: "/ else block",
|
|
218
|
-
type: "keyword"
|
|
219
|
-
}),
|
|
220
|
-
/* @__PURE__ */ snippetCompletion("class ${name} {\n constructor(${params}) {\n ${}\n }\n}", {
|
|
221
|
-
label: "class",
|
|
222
|
-
detail: "definition",
|
|
223
|
-
type: "keyword"
|
|
224
|
-
}),
|
|
225
|
-
/* @__PURE__ */ snippetCompletion('import {${names}} from "${module}"\n${}', {
|
|
226
|
-
label: "import",
|
|
227
|
-
detail: "named",
|
|
228
|
-
type: "keyword"
|
|
229
|
-
}),
|
|
230
|
-
/* @__PURE__ */ snippetCompletion('import ${name} from "${module}"\n${}', {
|
|
231
|
-
label: "import",
|
|
232
|
-
detail: "default",
|
|
233
|
-
type: "keyword"
|
|
234
|
-
})
|
|
235
|
-
];
|
|
236
|
-
const typescriptSnippets = /* @__PURE__ */ snippets.concat([
|
|
237
|
-
/* @__PURE__ */ snippetCompletion("interface ${name} {\n ${}\n}", {
|
|
238
|
-
label: "interface",
|
|
239
|
-
detail: "definition",
|
|
240
|
-
type: "keyword"
|
|
241
|
-
}),
|
|
242
|
-
/* @__PURE__ */ snippetCompletion("type ${name} = ${type}", {
|
|
243
|
-
label: "type",
|
|
244
|
-
detail: "definition",
|
|
245
|
-
type: "keyword"
|
|
246
|
-
}),
|
|
247
|
-
/* @__PURE__ */ snippetCompletion("enum ${name} {\n ${}\n}", {
|
|
248
|
-
label: "enum",
|
|
249
|
-
detail: "definition",
|
|
250
|
-
type: "keyword"
|
|
251
|
-
})
|
|
252
|
-
]);
|
|
253
|
-
const cache = /* @__PURE__ */ new NodeWeakMap();
|
|
254
|
-
const ScopeNodes = /* @__PURE__ */ new Set([
|
|
255
|
-
"Script",
|
|
256
|
-
"Block",
|
|
257
|
-
"FunctionExpression",
|
|
258
|
-
"FunctionDeclaration",
|
|
259
|
-
"ArrowFunction",
|
|
260
|
-
"MethodDeclaration",
|
|
261
|
-
"ForStatement"
|
|
262
|
-
]);
|
|
263
|
-
function defID(type) {
|
|
264
|
-
return (node, def) => {
|
|
265
|
-
let id = node.node.getChild("VariableDefinition");
|
|
266
|
-
if (id)
|
|
267
|
-
def(id, type);
|
|
268
|
-
return true;
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
const functionContext = ["FunctionDeclaration"];
|
|
272
|
-
const gatherCompletions = {
|
|
273
|
-
FunctionDeclaration: /* @__PURE__ */ defID("function"),
|
|
274
|
-
ClassDeclaration: /* @__PURE__ */ defID("class"),
|
|
275
|
-
ClassExpression: () => true,
|
|
276
|
-
EnumDeclaration: /* @__PURE__ */ defID("constant"),
|
|
277
|
-
TypeAliasDeclaration: /* @__PURE__ */ defID("type"),
|
|
278
|
-
NamespaceDeclaration: /* @__PURE__ */ defID("namespace"),
|
|
279
|
-
VariableDefinition(node, def) {
|
|
280
|
-
if (!node.matchContext(functionContext))
|
|
281
|
-
def(node, "variable");
|
|
282
|
-
},
|
|
283
|
-
TypeDefinition(node, def) {
|
|
284
|
-
def(node, "type");
|
|
285
|
-
},
|
|
286
|
-
__proto__: null
|
|
287
|
-
};
|
|
288
|
-
function getScope(doc, node) {
|
|
289
|
-
let cached = cache.get(node);
|
|
290
|
-
if (cached)
|
|
291
|
-
return cached;
|
|
292
|
-
let completions = [], top = true;
|
|
293
|
-
function def(node2, type) {
|
|
294
|
-
let name = doc.sliceString(node2.from, node2.to);
|
|
295
|
-
completions.push({ label: name, type });
|
|
296
|
-
}
|
|
297
|
-
node.cursor(IterMode.IncludeAnonymous).iterate((node2) => {
|
|
298
|
-
if (top) {
|
|
299
|
-
top = false;
|
|
300
|
-
} else if (node2.name) {
|
|
301
|
-
let gather = gatherCompletions[node2.name];
|
|
302
|
-
if (gather && gather(node2, def) || ScopeNodes.has(node2.name))
|
|
303
|
-
return false;
|
|
304
|
-
} else if (node2.to - node2.from > 8192) {
|
|
305
|
-
for (let c of getScope(doc, node2.node))
|
|
306
|
-
completions.push(c);
|
|
307
|
-
return false;
|
|
308
|
-
}
|
|
309
|
-
});
|
|
310
|
-
cache.set(node, completions);
|
|
311
|
-
return completions;
|
|
312
|
-
}
|
|
313
|
-
const Identifier = /^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/;
|
|
314
|
-
const dontComplete = [
|
|
315
|
-
"TemplateString",
|
|
316
|
-
"String",
|
|
317
|
-
"RegExp",
|
|
318
|
-
"LineComment",
|
|
319
|
-
"BlockComment",
|
|
320
|
-
"VariableDefinition",
|
|
321
|
-
"TypeDefinition",
|
|
322
|
-
"Label",
|
|
323
|
-
"PropertyDefinition",
|
|
324
|
-
"PropertyName",
|
|
325
|
-
"PrivatePropertyDefinition",
|
|
326
|
-
"PrivatePropertyName",
|
|
327
|
-
".",
|
|
328
|
-
"?."
|
|
329
|
-
];
|
|
330
|
-
function localCompletionSource(context) {
|
|
331
|
-
let inner = syntaxTree(context.state).resolveInner(context.pos, -1);
|
|
332
|
-
if (dontComplete.indexOf(inner.name) > -1)
|
|
333
|
-
return null;
|
|
334
|
-
let isWord = inner.name == "VariableName" || inner.to - inner.from < 20 && Identifier.test(context.state.sliceDoc(inner.from, inner.to));
|
|
335
|
-
if (!isWord && !context.explicit)
|
|
336
|
-
return null;
|
|
337
|
-
let options = [];
|
|
338
|
-
for (let pos = inner; pos; pos = pos.parent) {
|
|
339
|
-
if (ScopeNodes.has(pos.name))
|
|
340
|
-
options = options.concat(getScope(context.state.doc, pos));
|
|
341
|
-
}
|
|
342
|
-
return {
|
|
343
|
-
options,
|
|
344
|
-
from: isWord ? inner.from : context.pos,
|
|
345
|
-
validFor: Identifier
|
|
346
|
-
};
|
|
347
|
-
}
|
|
348
|
-
function pathFor(read, member, name) {
|
|
349
|
-
var _a;
|
|
350
|
-
let path = [];
|
|
351
|
-
for (; ; ) {
|
|
352
|
-
let obj = member.firstChild, prop;
|
|
353
|
-
if ((obj === null || obj === void 0 ? void 0 : obj.name) == "VariableName") {
|
|
354
|
-
path.push(read(obj));
|
|
355
|
-
return { path: path.reverse(), name };
|
|
356
|
-
} else if ((obj === null || obj === void 0 ? void 0 : obj.name) == "MemberExpression" && ((_a = prop = obj.lastChild) === null || _a === void 0 ? void 0 : _a.name) == "PropertyName") {
|
|
357
|
-
path.push(read(prop));
|
|
358
|
-
member = obj;
|
|
359
|
-
} else {
|
|
360
|
-
return null;
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
function completionPath(context) {
|
|
365
|
-
let read = (node) => context.state.doc.sliceString(node.from, node.to);
|
|
366
|
-
let inner = syntaxTree(context.state).resolveInner(context.pos, -1);
|
|
367
|
-
if (inner.name == "PropertyName") {
|
|
368
|
-
return pathFor(read, inner.parent, read(inner));
|
|
369
|
-
} else if ((inner.name == "." || inner.name == "?.") && inner.parent.name == "MemberExpression") {
|
|
370
|
-
return pathFor(read, inner.parent, "");
|
|
371
|
-
} else if (dontComplete.indexOf(inner.name) > -1) {
|
|
372
|
-
return null;
|
|
373
|
-
} else if (inner.name == "VariableName" || inner.to - inner.from < 20 && Identifier.test(read(inner))) {
|
|
374
|
-
return { path: [], name: read(inner) };
|
|
375
|
-
} else if (inner.name == "MemberExpression") {
|
|
376
|
-
return pathFor(read, inner, "");
|
|
377
|
-
} else {
|
|
378
|
-
return context.explicit ? { path: [], name: "" } : null;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
function enumeratePropertyCompletions(obj, top) {
|
|
382
|
-
let options = [], seen = /* @__PURE__ */ new Set();
|
|
383
|
-
for (let depth = 0; ; depth++) {
|
|
384
|
-
for (let name of (Object.getOwnPropertyNames || Object.keys)(obj)) {
|
|
385
|
-
if (!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(name) || seen.has(name))
|
|
386
|
-
continue;
|
|
387
|
-
seen.add(name);
|
|
388
|
-
let value;
|
|
389
|
-
try {
|
|
390
|
-
value = obj[name];
|
|
391
|
-
} catch (_) {
|
|
392
|
-
continue;
|
|
393
|
-
}
|
|
394
|
-
options.push({
|
|
395
|
-
label: name,
|
|
396
|
-
type: typeof value == "function" ? /^[A-Z]/.test(name) ? "class" : top ? "function" : "method" : top ? "variable" : "property",
|
|
397
|
-
boost: -depth
|
|
398
|
-
});
|
|
399
|
-
}
|
|
400
|
-
let next = Object.getPrototypeOf(obj);
|
|
401
|
-
if (!next)
|
|
402
|
-
return options;
|
|
403
|
-
obj = next;
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
function scopeCompletionSource(scope) {
|
|
407
|
-
let cache2 = /* @__PURE__ */ new Map();
|
|
408
|
-
return (context) => {
|
|
409
|
-
let path = completionPath(context);
|
|
410
|
-
if (!path)
|
|
411
|
-
return null;
|
|
412
|
-
let target = scope;
|
|
413
|
-
for (let step of path.path) {
|
|
414
|
-
target = target[step];
|
|
415
|
-
if (!target)
|
|
416
|
-
return null;
|
|
417
|
-
}
|
|
418
|
-
let options = cache2.get(target);
|
|
419
|
-
if (!options)
|
|
420
|
-
cache2.set(target, options = enumeratePropertyCompletions(target, !path.path.length));
|
|
421
|
-
return {
|
|
422
|
-
from: context.pos - path.name.length,
|
|
423
|
-
options,
|
|
424
|
-
validFor: Identifier
|
|
425
|
-
};
|
|
426
|
-
};
|
|
427
|
-
}
|
|
428
|
-
const javascriptLanguage = /* @__PURE__ */ LRLanguage.define({
|
|
429
|
-
name: "javascript",
|
|
430
|
-
parser: /* @__PURE__ */ parser$2.configure({
|
|
431
|
-
props: [
|
|
432
|
-
/* @__PURE__ */ indentNodeProp.add({
|
|
433
|
-
IfStatement: /* @__PURE__ */ continuedIndent({ except: /^\s*({|else\b)/ }),
|
|
434
|
-
TryStatement: /* @__PURE__ */ continuedIndent({ except: /^\s*({|catch\b|finally\b)/ }),
|
|
435
|
-
LabeledStatement: flatIndent,
|
|
436
|
-
SwitchBody: (context) => {
|
|
437
|
-
let after = context.textAfter, closed = /^\s*\}/.test(after), isCase = /^\s*(case|default)\b/.test(after);
|
|
438
|
-
return context.baseIndent + (closed ? 0 : isCase ? 1 : 2) * context.unit;
|
|
439
|
-
},
|
|
440
|
-
Block: /* @__PURE__ */ delimitedIndent({ closing: "}" }),
|
|
441
|
-
ArrowFunction: (cx) => cx.baseIndent + cx.unit,
|
|
442
|
-
"TemplateString BlockComment": () => null,
|
|
443
|
-
"Statement Property": /* @__PURE__ */ continuedIndent({ except: /^{/ }),
|
|
444
|
-
JSXElement(context) {
|
|
445
|
-
let closed = /^\s*<\//.test(context.textAfter);
|
|
446
|
-
return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);
|
|
447
|
-
},
|
|
448
|
-
JSXEscape(context) {
|
|
449
|
-
let closed = /\s*\}/.test(context.textAfter);
|
|
450
|
-
return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);
|
|
451
|
-
},
|
|
452
|
-
"JSXOpenTag JSXSelfClosingTag"(context) {
|
|
453
|
-
return context.column(context.node.from) + context.unit;
|
|
454
|
-
}
|
|
455
|
-
}),
|
|
456
|
-
/* @__PURE__ */ foldNodeProp.add({
|
|
457
|
-
"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType": foldInside,
|
|
458
|
-
BlockComment(tree) {
|
|
459
|
-
return { from: tree.from + 2, to: tree.to - 2 };
|
|
460
|
-
}
|
|
461
|
-
})
|
|
462
|
-
]
|
|
463
|
-
}),
|
|
464
|
-
languageData: {
|
|
465
|
-
closeBrackets: { brackets: ["(", "[", "{", "'", '"', "`"] },
|
|
466
|
-
commentTokens: { line: "//", block: { open: "/*", close: "*/" } },
|
|
467
|
-
indentOnInput: /^\s*(?:case |default:|\{|\}|<\/)$/,
|
|
468
|
-
wordChars: "$"
|
|
469
|
-
}
|
|
470
|
-
});
|
|
471
|
-
const jsxSublanguage = {
|
|
472
|
-
test: (node) => /^JSX/.test(node.name),
|
|
473
|
-
facet: /* @__PURE__ */ defineLanguageFacet({ commentTokens: { block: { open: "{/*", close: "*/}" } } })
|
|
474
|
-
};
|
|
475
|
-
const typescriptLanguage = /* @__PURE__ */ javascriptLanguage.configure({ dialect: "ts" }, "typescript");
|
|
476
|
-
const jsxLanguage = /* @__PURE__ */ javascriptLanguage.configure({
|
|
477
|
-
dialect: "jsx",
|
|
478
|
-
props: [/* @__PURE__ */ sublanguageProp.add((n) => n.isTop ? [jsxSublanguage] : void 0)]
|
|
479
|
-
});
|
|
480
|
-
const tsxLanguage = /* @__PURE__ */ javascriptLanguage.configure({
|
|
481
|
-
dialect: "jsx ts",
|
|
482
|
-
props: [/* @__PURE__ */ sublanguageProp.add((n) => n.isTop ? [jsxSublanguage] : void 0)]
|
|
483
|
-
}, "typescript");
|
|
484
|
-
let kwCompletion = (name) => ({ label: name, type: "keyword" });
|
|
485
|
-
const keywords = /* @__PURE__ */ "break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(kwCompletion);
|
|
486
|
-
const typescriptKeywords = /* @__PURE__ */ keywords.concat(/* @__PURE__ */ ["declare", "implements", "private", "protected", "public"].map(kwCompletion));
|
|
487
|
-
function javascript(config = {}) {
|
|
488
|
-
let lang = config.jsx ? config.typescript ? tsxLanguage : jsxLanguage : config.typescript ? typescriptLanguage : javascriptLanguage;
|
|
489
|
-
let completions = config.typescript ? typescriptSnippets.concat(typescriptKeywords) : snippets.concat(keywords);
|
|
490
|
-
return new LanguageSupport(lang, [
|
|
491
|
-
javascriptLanguage.data.of({
|
|
492
|
-
autocomplete: ifNotIn(dontComplete, completeFromList(completions))
|
|
493
|
-
}),
|
|
494
|
-
javascriptLanguage.data.of({
|
|
495
|
-
autocomplete: localCompletionSource
|
|
496
|
-
}),
|
|
497
|
-
config.jsx ? autoCloseTags$1 : []
|
|
498
|
-
]);
|
|
499
|
-
}
|
|
500
|
-
function findOpenTag(node) {
|
|
501
|
-
for (; ; ) {
|
|
502
|
-
if (node.name == "JSXOpenTag" || node.name == "JSXSelfClosingTag" || node.name == "JSXFragmentTag")
|
|
503
|
-
return node;
|
|
504
|
-
if (node.name == "JSXEscape" || !node.parent)
|
|
505
|
-
return null;
|
|
506
|
-
node = node.parent;
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
function elementName$1(doc, tree, max = doc.length) {
|
|
510
|
-
for (let ch = tree === null || tree === void 0 ? void 0 : tree.firstChild; ch; ch = ch.nextSibling) {
|
|
511
|
-
if (ch.name == "JSXIdentifier" || ch.name == "JSXBuiltin" || ch.name == "JSXNamespacedName" || ch.name == "JSXMemberExpression")
|
|
512
|
-
return doc.sliceString(ch.from, Math.min(ch.to, max));
|
|
513
|
-
}
|
|
514
|
-
return "";
|
|
515
|
-
}
|
|
516
|
-
const android = typeof navigator == "object" && /* @__PURE__ */ /Android\b/.test(navigator.userAgent);
|
|
517
|
-
const autoCloseTags$1 = /* @__PURE__ */ EditorView.inputHandler.of((view, from, to, text, defaultInsert) => {
|
|
518
|
-
if ((android ? view.composing : view.compositionStarted) || view.state.readOnly || from != to || text != ">" && text != "/" || !javascriptLanguage.isActiveAt(view.state, from, -1))
|
|
519
|
-
return false;
|
|
520
|
-
let base = defaultInsert(), { state } = base;
|
|
521
|
-
let closeTags = state.changeByRange((range) => {
|
|
522
|
-
var _a;
|
|
523
|
-
let { head } = range, around = syntaxTree(state).resolveInner(head - 1, -1), name;
|
|
524
|
-
if (around.name == "JSXStartTag")
|
|
525
|
-
around = around.parent;
|
|
526
|
-
if (state.doc.sliceString(head - 1, head) != text || around.name == "JSXAttributeValue" && around.to > head) ;
|
|
527
|
-
else if (text == ">" && around.name == "JSXFragmentTag") {
|
|
528
|
-
return { range, changes: { from: head, insert: `</>` } };
|
|
529
|
-
} else if (text == "/" && around.name == "JSXStartCloseTag") {
|
|
530
|
-
let empty = around.parent, base2 = empty.parent;
|
|
531
|
-
if (base2 && empty.from == head - 2 && ((name = elementName$1(state.doc, base2.firstChild, head)) || ((_a = base2.firstChild) === null || _a === void 0 ? void 0 : _a.name) == "JSXFragmentTag")) {
|
|
532
|
-
let insert = `${name}>`;
|
|
533
|
-
return { range: EditorSelection.cursor(head + insert.length, -1), changes: { from: head, insert } };
|
|
534
|
-
}
|
|
535
|
-
} else if (text == ">") {
|
|
536
|
-
let openTag = findOpenTag(around);
|
|
537
|
-
if (openTag && openTag.name == "JSXOpenTag" && !/^\/?>|^<\//.test(state.doc.sliceString(head, head + 2)) && (name = elementName$1(state.doc, openTag, head)))
|
|
538
|
-
return { range, changes: { from: head, insert: `</${name}>` } };
|
|
539
|
-
}
|
|
540
|
-
return { range };
|
|
541
|
-
});
|
|
542
|
-
if (closeTags.changes.empty)
|
|
543
|
-
return false;
|
|
544
|
-
view.dispatch([
|
|
545
|
-
base,
|
|
546
|
-
state.update(closeTags, { userEvent: "input.complete", scrollIntoView: true })
|
|
547
|
-
]);
|
|
548
|
-
return true;
|
|
549
|
-
});
|
|
550
|
-
function esLint(eslint, config) {
|
|
551
|
-
if (!config) {
|
|
552
|
-
config = {
|
|
553
|
-
parserOptions: { ecmaVersion: 2019, sourceType: "module" },
|
|
554
|
-
env: { browser: true, node: true, es6: true, es2015: true, es2017: true, es2020: true },
|
|
555
|
-
rules: {}
|
|
556
|
-
};
|
|
557
|
-
eslint.getRules().forEach((desc, name) => {
|
|
558
|
-
if (desc.meta.docs.recommended)
|
|
559
|
-
config.rules[name] = 2;
|
|
560
|
-
});
|
|
561
|
-
}
|
|
562
|
-
return (view) => {
|
|
563
|
-
let { state } = view, found = [];
|
|
564
|
-
for (let { from, to } of javascriptLanguage.findRegions(state)) {
|
|
565
|
-
let fromLine = state.doc.lineAt(from), offset = { line: fromLine.number - 1, col: from - fromLine.from, pos: from };
|
|
566
|
-
for (let d of eslint.verify(state.sliceDoc(from, to), config))
|
|
567
|
-
found.push(translateDiagnostic(d, state.doc, offset));
|
|
568
|
-
}
|
|
569
|
-
return found;
|
|
570
|
-
};
|
|
571
|
-
}
|
|
572
|
-
function mapPos(line, col, doc, offset) {
|
|
573
|
-
return doc.line(line + offset.line).from + col + (line == 1 ? offset.col - 1 : -1);
|
|
574
|
-
}
|
|
575
|
-
function translateDiagnostic(input, doc, offset) {
|
|
576
|
-
let start = mapPos(input.line, input.column, doc, offset);
|
|
577
|
-
let result = {
|
|
578
|
-
from: start,
|
|
579
|
-
to: input.endLine != null && input.endColumn != 1 ? mapPos(input.endLine, input.endColumn, doc, offset) : start,
|
|
580
|
-
message: input.message,
|
|
581
|
-
source: input.ruleId ? "eslint:" + input.ruleId : "eslint",
|
|
582
|
-
severity: input.severity == 1 ? "warning" : "error"
|
|
583
|
-
};
|
|
584
|
-
if (input.fix) {
|
|
585
|
-
let { range, text } = input.fix, from = range[0] + offset.pos - start, to = range[1] + offset.pos - start;
|
|
586
|
-
result.actions = [{
|
|
587
|
-
name: "fix",
|
|
588
|
-
apply(view, start2) {
|
|
589
|
-
view.dispatch({ changes: { from: start2 + from, to: start2 + to, insert: text }, scrollIntoView: true });
|
|
590
|
-
}
|
|
591
|
-
}];
|
|
592
|
-
}
|
|
593
|
-
return result;
|
|
594
|
-
}
|
|
595
|
-
const descendantOp = 94, Unit = 1, callee = 95, identifier$2 = 96, VariableName = 2;
|
|
596
|
-
const space = [
|
|
597
|
-
9,
|
|
598
|
-
10,
|
|
599
|
-
11,
|
|
600
|
-
12,
|
|
601
|
-
13,
|
|
602
|
-
32,
|
|
603
|
-
133,
|
|
604
|
-
160,
|
|
605
|
-
5760,
|
|
606
|
-
8192,
|
|
607
|
-
8193,
|
|
608
|
-
8194,
|
|
609
|
-
8195,
|
|
610
|
-
8196,
|
|
611
|
-
8197,
|
|
612
|
-
8198,
|
|
613
|
-
8199,
|
|
614
|
-
8200,
|
|
615
|
-
8201,
|
|
616
|
-
8202,
|
|
617
|
-
8232,
|
|
618
|
-
8233,
|
|
619
|
-
8239,
|
|
620
|
-
8287,
|
|
621
|
-
12288
|
|
622
|
-
];
|
|
623
|
-
const colon = 58, parenL = 40, underscore = 95, bracketL = 91, dash$1 = 45, period = 46, hash = 35, percent = 37;
|
|
624
|
-
function isAlpha(ch) {
|
|
625
|
-
return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 161;
|
|
626
|
-
}
|
|
627
|
-
function isDigit(ch) {
|
|
628
|
-
return ch >= 48 && ch <= 57;
|
|
629
|
-
}
|
|
630
|
-
const identifiers = new ExternalTokenizer((input, stack) => {
|
|
631
|
-
for (let inside = false, dashes = 0, i = 0; ; i++) {
|
|
632
|
-
let { next } = input;
|
|
633
|
-
if (isAlpha(next) || next == dash$1 || next == underscore || inside && isDigit(next)) {
|
|
634
|
-
if (!inside && (next != dash$1 || i > 0)) inside = true;
|
|
635
|
-
if (dashes === i && next == dash$1) dashes++;
|
|
636
|
-
input.advance();
|
|
637
|
-
} else {
|
|
638
|
-
if (inside)
|
|
639
|
-
input.acceptToken(next == parenL ? callee : dashes == 2 && stack.canShift(VariableName) ? VariableName : identifier$2);
|
|
640
|
-
break;
|
|
641
|
-
}
|
|
642
|
-
}
|
|
643
|
-
});
|
|
644
|
-
const descendant = new ExternalTokenizer((input) => {
|
|
645
|
-
if (space.includes(input.peek(-1))) {
|
|
646
|
-
let { next } = input;
|
|
647
|
-
if (isAlpha(next) || next == underscore || next == hash || next == period || next == bracketL || next == colon || next == dash$1)
|
|
648
|
-
input.acceptToken(descendantOp);
|
|
649
|
-
}
|
|
650
|
-
});
|
|
651
|
-
const unitToken = new ExternalTokenizer((input) => {
|
|
652
|
-
if (!space.includes(input.peek(-1))) {
|
|
653
|
-
let { next } = input;
|
|
654
|
-
if (next == percent) {
|
|
655
|
-
input.advance();
|
|
656
|
-
input.acceptToken(Unit);
|
|
657
|
-
}
|
|
658
|
-
if (isAlpha(next)) {
|
|
659
|
-
do {
|
|
660
|
-
input.advance();
|
|
661
|
-
} while (isAlpha(input.next));
|
|
662
|
-
input.acceptToken(Unit);
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
});
|
|
666
|
-
const cssHighlighting = styleTags({
|
|
667
|
-
"AtKeyword import charset namespace keyframes media supports": tags$1.definitionKeyword,
|
|
668
|
-
"from to selector": tags$1.keyword,
|
|
669
|
-
NamespaceName: tags$1.namespace,
|
|
670
|
-
KeyframeName: tags$1.labelName,
|
|
671
|
-
TagName: tags$1.tagName,
|
|
672
|
-
ClassName: tags$1.className,
|
|
673
|
-
PseudoClassName: tags$1.constant(tags$1.className),
|
|
674
|
-
IdName: tags$1.labelName,
|
|
675
|
-
"FeatureName PropertyName": tags$1.propertyName,
|
|
676
|
-
AttributeName: tags$1.attributeName,
|
|
677
|
-
NumberLiteral: tags$1.number,
|
|
678
|
-
KeywordQuery: tags$1.keyword,
|
|
679
|
-
UnaryQueryOp: tags$1.operatorKeyword,
|
|
680
|
-
"CallTag ValueName": tags$1.atom,
|
|
681
|
-
VariableName: tags$1.variableName,
|
|
682
|
-
Callee: tags$1.operatorKeyword,
|
|
683
|
-
Unit: tags$1.unit,
|
|
684
|
-
"UniversalSelector NestingSelector": tags$1.definitionOperator,
|
|
685
|
-
MatchOp: tags$1.compareOperator,
|
|
686
|
-
"ChildOp SiblingOp, LogicOp": tags$1.logicOperator,
|
|
687
|
-
BinOp: tags$1.arithmeticOperator,
|
|
688
|
-
Important: tags$1.modifier,
|
|
689
|
-
Comment: tags$1.blockComment,
|
|
690
|
-
ParenthesizedContent: tags$1.special(tags$1.name),
|
|
691
|
-
ColorLiteral: tags$1.color,
|
|
692
|
-
StringLiteral: tags$1.string,
|
|
693
|
-
":": tags$1.punctuation,
|
|
694
|
-
"PseudoOp #": tags$1.derefOperator,
|
|
695
|
-
"; ,": tags$1.separator,
|
|
696
|
-
"( )": tags$1.paren,
|
|
697
|
-
"[ ]": tags$1.squareBracket,
|
|
698
|
-
"{ }": tags$1.brace
|
|
699
|
-
});
|
|
700
|
-
const spec_callee = { __proto__: null, lang: 32, "nth-child": 32, "nth-last-child": 32, "nth-of-type": 32, "nth-last-of-type": 32, dir: 32, "host-context": 32, url: 60, "url-prefix": 60, domain: 60, regexp: 60, selector: 134 };
|
|
701
|
-
const spec_AtKeyword = { __proto__: null, "@import": 114, "@media": 138, "@charset": 142, "@namespace": 146, "@keyframes": 152, "@supports": 164 };
|
|
702
|
-
const spec_identifier = { __proto__: null, not: 128, only: 128, from: 158, to: 160 };
|
|
703
|
-
const parser$1 = LRParser.deserialize({
|
|
704
|
-
version: 14,
|
|
705
|
-
states: "7WQYQ[OOO#_Q[OOOOQP'#Cd'#CdOOQP'#Cc'#CcO#fQ[O'#CfO$YQXO'#CaO$aQ[O'#ChO$lQ[O'#DPO$qQ[O'#DTOOQP'#Ed'#EdO$vQdO'#DeO%bQ[O'#DrO$vQdO'#DtO%sQ[O'#DvO&OQ[O'#DyO&TQ[O'#EPO&cQ[O'#EROOQS'#Ec'#EcOOQS'#ET'#ETQYQ[OOO&jQXO'#CdO'_QWO'#DaO'dQWO'#EjO'oQ[O'#EjQOQWOOOOQP'#Cg'#CgOOQP,59Q,59QO#fQ[O,59QO'yQ[O'#EWO(eQWO,58{O(mQ[O,59SO$lQ[O,59kO$qQ[O,59oO'yQ[O,59sO'yQ[O,59uO'yQ[O,59vO(xQ[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)PQWO,59SO)UQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)ZQ`O,59oOOQS'#Cp'#CpO$vQdO'#CqO)cQvO'#CsO*pQtO,5:POOQO'#Cx'#CxO)UQWO'#CwO+UQWO'#CyOOQS'#Eg'#EgOOQO'#Dh'#DhO+ZQ[O'#DoO+iQWO'#EkO&TQ[O'#DmO+wQWO'#DpOOQO'#El'#ElO(hQWO,5:^O+|QpO,5:`OOQS'#Dx'#DxO,UQWO,5:bO,ZQ[O,5:bOOQO'#D{'#D{O,cQWO,5:eO,hQWO,5:kO,pQWO,5:mOOQS-E8R-E8RO$vQdO,59{O,xQ[O'#EYO-VQWO,5;UO-VQWO,5;UOOQP1G.l1G.lO-|QXO,5:rOOQO-E8U-E8UOOQS1G.g1G.gOOQP1G.n1G.nO)PQWO1G.nO)UQWO1G.nOOQP1G/V1G/VO.ZQ`O1G/ZO.tQXO1G/_O/[QXO1G/aO/rQXO1G/bO0YQWO,59zO0_Q[O'#DOO0fQdO'#CoOOQP1G/Z1G/ZO$vQdO1G/ZO0mQpO,59]OOQS,59_,59_O$vQdO,59aO0uQWO1G/kOOQS,59c,59cO0zQ!bO,59eO1SQWO'#DhO1_QWO,5:TO1dQWO,5:ZO&TQ[O,5:VO&TQ[O'#EZO1lQWO,5;VO1wQWO,5:XO'yQ[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2YQWO1G/|O2_QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO2mQtO1G/gOOQO,5:t,5:tO3TQ[O,5:tOOQO-E8W-E8WO3bQWO1G0pOOQP7+$Y7+$YOOQP7+$u7+$uO$vQdO7+$uOOQS1G/f1G/fO3mQXO'#EiO3tQWO,59jO3yQtO'#EUO4nQdO'#EfO4xQWO,59ZO4}QpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5VQWO1G/PO$vQdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5[QWO,5:uOOQO-E8X-E8XO5jQXO1G/vOOQS7+%h7+%hO5qQYO'#CsO(hQWO'#E[O5yQdO,5:hOOQS,5:h,5:hO6XQtO'#EXO$vQdO'#EXO7VQdO7+%ROOQO7+%R7+%ROOQO1G0`1G0`O7jQpO<<HaO7rQWO,5;TOOQP1G/U1G/UOOQS-E8S-E8SO$vQdO'#EVO7zQWO,5;QOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO8SQdO7+%ZOOQO7+%b7+%bOOQS,5:v,5:vOOQS-E8Y-E8YOOQS1G0S1G0SO8ZQtO,5:sOOQS-E8V-E8VOOQO<<Hm<<HmOOQPAN={AN={O9XQdO,5:qOOQO-E8T-E8TOOQO<<Hu<<Hu",
|
|
706
|
-
stateData: "9i~O#UOSROS~OUXOXXO]UO^UOtVOxWO!Y`O!ZYO!gZO!i[O!k]O!n^O!t_O#SQO#XSO~OQeOUXOXXO]UO^UOtVOxWO!Y`O!ZYO!gZO!i[O!k]O!n^O!t_O#SdO#XSO~O#P#^P~P!ZO#SiO~O]nO^nOplOtoOxpO|qO!PsO#QrO#XkO~O!RtO~P#kO`zO#RwO#SvO~O#S{O~O#S}O~OQ!WOb!QOf!WOh!WOn!VO#R!TO#S!PO#[!RO~Ob!YO!b![O!e!]O#S!XO!R#_P~Oh!bOn!VO#S!aO~O#S!dO~Ob!YO!b![O!e!]O#S!XO~O!W#_P~P%bO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#QWX#XWX~O]!iO~O!W!jO#P#^X!Q#^X~O#P#^X!Q#^X~P!ZOUXOXXO]UO^UOtVOxWO#SQO#XSO~OplO!RtO~O`!sO#RwO#SvO~O!Q#^P~P!ZOb!zO~Ob!{O~Ov!|Oz!}O~OP#PObgXjgX!WgX!bgX!egX#SgXagXQgXfgXhgXngXpgX!VgX#PgX#RgX#[gXvgX!QgX~Ob!YOj#QO!b![O!e!]O#S!XO!W#_P~Ob#TO~Ob!YO!b![O!e!]O#S#UO~Op#YO!`#XO!R#_X!W#_X~Ob#]O~Oj#QO!W#_O~O!W#`O~Oh#aOn!VO~O!R#bO~O!RtO!`#XO~O!RtO!W#eO~O!W!|X#P!|X!Q!|X~P!ZO!W!jO#P#^a!Q#^a~O]nO^nOtoOxpO|qO!PsO#QrO#XkO~Op!za!R!zaa!za~P-bOv#lOz#mO~O]nO^nOtoOxpO#XkO~Op{i|{i!P{i!R{i#Q{ia{i~P.cOp}i|}i!P}i!R}i#Q}ia}i~P.cOp!Oi|!Oi!P!Oi!R!Oi#Q!Oia!Oi~P.cO!Q#nO~Oa#]P~P'yOa#YP~P$vOa#uOj#QO~O!W#wO~Oh#xOo#xO~O]!^Xa![X!`![X~O]#yO~Oa#zO!`#XO~Op#YO!R#_a!W#_a~O!`#XOp!aa!R!aa!W!aaa!aa~O!W$PO~O!Q$TO!q$RO!r$RO#[$QO~Oj#QOp$VO!V$XO!W!Ti#P!Ti!Q!Ti~P$vO!W!|a#P!|a!Q!|a~P!ZO!W!jO#P#^i!Q#^i~Oa#]X~P#kOa$]O~Oj#QOQ!xXa!xXb!xXf!xXh!xXn!xXp!xX#R!xX#S!xX#[!xX~Op$_Oa#YX~P$vOa$aO~Oj#QOv$bO~Oa$cO~O!`#XOp!}a!R!}a!W!}a~Oa$eO~P-bOP#PO!RgX~O!Q$hO!q$RO!r$RO#[$QO~Oj#QOQ!{Xb!{Xf!{Xh!{Xn!{Xp!{X!V!{X!W!{X#P!{X#R!{X#S!{X#[!{X!Q!{X~Op$VO!V$kO!W!Tq#P!Tq!Q!Tq~P$vOj#QOv$lO~OplOa#]a~Op$_Oa#Ya~Oa$oO~P$vOj#QOQ!{ab!{af!{ah!{an!{ap!{a!V!{a!W!{a#P!{a#R!{a#S!{a#[!{a!Q!{a~Oa!yap!ya~P$vOo#[j!Pj~",
|
|
707
|
-
goto: ",`#aPPPPP#bP#k#zP#k$Z#kPP$aPPP$g$p$pP%SP$pP$p%j%|PPP&f&l#kP&rP#kP&xP#kP#k#kPPP'O'b'oPP#bPP'v'v(Q'vP'vP'v'vP#bP#bP#bP(T#bP(W(ZPP#bP#bP(^(m({)R)])c)m)sPPPPPP)y*SP*o*rP+h+k+q+z_aOPcgt!j#hkXOPcglqrst!j!z#]#hkROPcglqrst!j!z#]#hQjSR!mkQxUR!qnQ!qzQ#S!UR#k!sq!WY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mp!WY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mT$R#b$Sq!UY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mp!WY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mQ!b]R#a!cQyUR!rnQ!qyR#k!rQ|VR!toQ!OWR!upQuTQ!pmQ#^!_Q#d!fQ#e!gR$f$RSfPtQ!lgQ#g!jR$Y#hZePgt!j#ha!^Z_`!S!Y![#X#YR#V!YR!c]R!e^R#c!eQcOSgPtU!hcg#hR#h!jQ#r!{U$^#r$d$mQ$d#yR$m$_Q$`#rR$n$`QmTS!om$[R$[#oQ$W#fR$j$WQ!kfS#i!k#jR#j!lQ#Z!ZR#}#ZQ$S#bR$g$S_bOPcgt!j#h^TOPcgt!j#hQ!nlQ!vqQ!wrQ!xsQ#o!zR$O#]R#s!{Q!SYQ!`[Q#O!QQ#f!i[#q!{#r#y$_$d$mQ#t!}Q#v#QS$U#f$WQ$Z#mR$i$VR#p!zQhPR!ytQ!_ZQ!g`R#R!SU!ZZ`!SQ!f_Q#W!YQ#[![Q#{#XR#|#Y",
|
|
708
|
-
nodeNames: "⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList from to SupportsStatement supports AtRule Styles",
|
|
709
|
-
maxTerm: 108,
|
|
710
|
-
nodeProps: [
|
|
711
|
-
["openedBy", 17, "(", 48, "{"],
|
|
712
|
-
["closedBy", 18, ")", 49, "}"]
|
|
713
|
-
],
|
|
714
|
-
propSources: [cssHighlighting],
|
|
715
|
-
skippedNodes: [0, 3],
|
|
716
|
-
repeatNodeCount: 8,
|
|
717
|
-
tokenData: "Lq~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Cu![!]Dp!]!^El!^!_$}!_!`E}!`!aF`!a!b$}!b!cG[!c!}$}!}#OHt#O#P$}#P#QIV#Q#R6d#R#T$}#T#UIh#U#c$}#c#dJy#d#o$}#o#pK`#p#q6d#q#rKq#r#sLS#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`Lk<%lO$}W%QSOy%^z;'S%^;'S;=`%o<%lO%^W%cSoWOy%^z;'S%^;'S;=`%o<%lO%^W%rP;=`<%l%^~%zh#U~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#U~oWOX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^^)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^^)sUoWOy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^^*[UoWOy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^^*sUoWOy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^^+[UoWOy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^^+sUoWOy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^^,[UoWOy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^^,sUoWOy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^^-[UoWOy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^^-uS!VUoWOy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.R_/zYtPOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^^0oYoWOy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^^1dYoWOy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^^2ZYfUoWOy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^^3QYfUoWOy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^^3uYoWOy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^^4lYfUoWOy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^^5aYoWOy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^^6WSfUoWOy%^z;'S%^;'S;=`%o<%lO%^Y6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^Y7QSzQoWOy%^z;'S%^;'S;=`%o<%lO%^X7cSXPOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7o_9cSbVOy%^z;'S%^;'S;=`%o<%lO%^~9tOa~_9{UUPjSOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^_:fWjS!PPOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^^;TUoWOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^^;nYoW#[UOy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^^<cYoWOy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^=WUoWOy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^=qUoW#[UOy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^>[[oW#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^_?VSpVOy%^z;'S%^;'S;=`%o<%lO%^^?hWjSOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^_@VU#XPOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjSOy%^z{@}{;'S%^;'S;=`%o<%lO%^~ASUoWOy@}yzAfz{Bm{;'S@};'S;=`Co<%lO@}~AiTOzAfz{Ax{;'SAf;'S;=`Bg<%lOAf~A{VOzAfz{Ax{!PAf!P!QBb!Q;'SAf;'S;=`Bg<%lOAf~BgOR~~BjP;=`<%lAf~BrWoWOy@}yzAfz{Bm{!P@}!P!QC[!Q;'S@};'S;=`Co<%lO@}~CcSoWR~Oy%^z;'S%^;'S;=`%o<%lO%^~CrP;=`<%l@}^Cz[#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^XDuU]POy%^z![%^![!]EX!];'S%^;'S;=`%o<%lO%^XE`S^PoWOy%^z;'S%^;'S;=`%o<%lO%^_EqS!WVOy%^z;'S%^;'S;=`%o<%lO%^YFSSzQOy%^z;'S%^;'S;=`%o<%lO%^XFeU|POy%^z!`%^!`!aFw!a;'S%^;'S;=`%o<%lO%^XGOS|PoWOy%^z;'S%^;'S;=`%o<%lO%^XG_WOy%^z!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHO[!YPoWOy%^z}%^}!OGw!O!Q%^!Q![Gw![!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHySxPOy%^z;'S%^;'S;=`%o<%lO%^^I[SvUOy%^z;'S%^;'S;=`%o<%lO%^XIkUOy%^z#b%^#b#cI}#c;'S%^;'S;=`%o<%lO%^XJSUoWOy%^z#W%^#W#XJf#X;'S%^;'S;=`%o<%lO%^XJmS!`PoWOy%^z;'S%^;'S;=`%o<%lO%^XJ|UOy%^z#f%^#f#gJf#g;'S%^;'S;=`%o<%lO%^XKeS!RPOy%^z;'S%^;'S;=`%o<%lO%^_KvS!QVOy%^z;'S%^;'S;=`%o<%lO%^ZLXU!PPOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^WLnP;=`<%l$}",
|
|
718
|
-
tokenizers: [descendant, unitToken, identifiers, 0, 1, 2, 3],
|
|
719
|
-
topRules: { "StyleSheet": [0, 4], "Styles": [1, 84] },
|
|
720
|
-
specialized: [{ term: 95, get: (value) => spec_callee[value] || -1 }, { term: 56, get: (value) => spec_AtKeyword[value] || -1 }, { term: 96, get: (value) => spec_identifier[value] || -1 }],
|
|
721
|
-
tokenPrec: 1123
|
|
722
|
-
});
|
|
723
|
-
let _properties = null;
|
|
724
|
-
function properties() {
|
|
725
|
-
if (!_properties && typeof document == "object" && document.body) {
|
|
726
|
-
let names = [];
|
|
727
|
-
for (let prop in document.body.style) {
|
|
728
|
-
if (!/[A-Z]|^-|^(item|length)$/.test(prop))
|
|
729
|
-
names.push(prop);
|
|
730
|
-
}
|
|
731
|
-
_properties = names.sort().map((name) => ({ type: "property", label: name }));
|
|
732
|
-
}
|
|
733
|
-
return _properties || [];
|
|
734
|
-
}
|
|
735
|
-
const pseudoClasses = /* @__PURE__ */ [
|
|
736
|
-
"active",
|
|
737
|
-
"after",
|
|
738
|
-
"any-link",
|
|
739
|
-
"autofill",
|
|
740
|
-
"backdrop",
|
|
741
|
-
"before",
|
|
742
|
-
"checked",
|
|
743
|
-
"cue",
|
|
744
|
-
"default",
|
|
745
|
-
"defined",
|
|
746
|
-
"disabled",
|
|
747
|
-
"empty",
|
|
748
|
-
"enabled",
|
|
749
|
-
"file-selector-button",
|
|
750
|
-
"first",
|
|
751
|
-
"first-child",
|
|
752
|
-
"first-letter",
|
|
753
|
-
"first-line",
|
|
754
|
-
"first-of-type",
|
|
755
|
-
"focus",
|
|
756
|
-
"focus-visible",
|
|
757
|
-
"focus-within",
|
|
758
|
-
"fullscreen",
|
|
759
|
-
"has",
|
|
760
|
-
"host",
|
|
761
|
-
"host-context",
|
|
762
|
-
"hover",
|
|
763
|
-
"in-range",
|
|
764
|
-
"indeterminate",
|
|
765
|
-
"invalid",
|
|
766
|
-
"is",
|
|
767
|
-
"lang",
|
|
768
|
-
"last-child",
|
|
769
|
-
"last-of-type",
|
|
770
|
-
"left",
|
|
771
|
-
"link",
|
|
772
|
-
"marker",
|
|
773
|
-
"modal",
|
|
774
|
-
"not",
|
|
775
|
-
"nth-child",
|
|
776
|
-
"nth-last-child",
|
|
777
|
-
"nth-last-of-type",
|
|
778
|
-
"nth-of-type",
|
|
779
|
-
"only-child",
|
|
780
|
-
"only-of-type",
|
|
781
|
-
"optional",
|
|
782
|
-
"out-of-range",
|
|
783
|
-
"part",
|
|
784
|
-
"placeholder",
|
|
785
|
-
"placeholder-shown",
|
|
786
|
-
"read-only",
|
|
787
|
-
"read-write",
|
|
788
|
-
"required",
|
|
789
|
-
"right",
|
|
790
|
-
"root",
|
|
791
|
-
"scope",
|
|
792
|
-
"selection",
|
|
793
|
-
"slotted",
|
|
794
|
-
"target",
|
|
795
|
-
"target-text",
|
|
796
|
-
"valid",
|
|
797
|
-
"visited",
|
|
798
|
-
"where"
|
|
799
|
-
].map((name) => ({ type: "class", label: name }));
|
|
800
|
-
const values = /* @__PURE__ */ [
|
|
801
|
-
"above",
|
|
802
|
-
"absolute",
|
|
803
|
-
"activeborder",
|
|
804
|
-
"additive",
|
|
805
|
-
"activecaption",
|
|
806
|
-
"after-white-space",
|
|
807
|
-
"ahead",
|
|
808
|
-
"alias",
|
|
809
|
-
"all",
|
|
810
|
-
"all-scroll",
|
|
811
|
-
"alphabetic",
|
|
812
|
-
"alternate",
|
|
813
|
-
"always",
|
|
814
|
-
"antialiased",
|
|
815
|
-
"appworkspace",
|
|
816
|
-
"asterisks",
|
|
817
|
-
"attr",
|
|
818
|
-
"auto",
|
|
819
|
-
"auto-flow",
|
|
820
|
-
"avoid",
|
|
821
|
-
"avoid-column",
|
|
822
|
-
"avoid-page",
|
|
823
|
-
"avoid-region",
|
|
824
|
-
"axis-pan",
|
|
825
|
-
"background",
|
|
826
|
-
"backwards",
|
|
827
|
-
"baseline",
|
|
828
|
-
"below",
|
|
829
|
-
"bidi-override",
|
|
830
|
-
"blink",
|
|
831
|
-
"block",
|
|
832
|
-
"block-axis",
|
|
833
|
-
"bold",
|
|
834
|
-
"bolder",
|
|
835
|
-
"border",
|
|
836
|
-
"border-box",
|
|
837
|
-
"both",
|
|
838
|
-
"bottom",
|
|
839
|
-
"break",
|
|
840
|
-
"break-all",
|
|
841
|
-
"break-word",
|
|
842
|
-
"bullets",
|
|
843
|
-
"button",
|
|
844
|
-
"button-bevel",
|
|
845
|
-
"buttonface",
|
|
846
|
-
"buttonhighlight",
|
|
847
|
-
"buttonshadow",
|
|
848
|
-
"buttontext",
|
|
849
|
-
"calc",
|
|
850
|
-
"capitalize",
|
|
851
|
-
"caps-lock-indicator",
|
|
852
|
-
"caption",
|
|
853
|
-
"captiontext",
|
|
854
|
-
"caret",
|
|
855
|
-
"cell",
|
|
856
|
-
"center",
|
|
857
|
-
"checkbox",
|
|
858
|
-
"circle",
|
|
859
|
-
"cjk-decimal",
|
|
860
|
-
"clear",
|
|
861
|
-
"clip",
|
|
862
|
-
"close-quote",
|
|
863
|
-
"col-resize",
|
|
864
|
-
"collapse",
|
|
865
|
-
"color",
|
|
866
|
-
"color-burn",
|
|
867
|
-
"color-dodge",
|
|
868
|
-
"column",
|
|
869
|
-
"column-reverse",
|
|
870
|
-
"compact",
|
|
871
|
-
"condensed",
|
|
872
|
-
"contain",
|
|
873
|
-
"content",
|
|
874
|
-
"contents",
|
|
875
|
-
"content-box",
|
|
876
|
-
"context-menu",
|
|
877
|
-
"continuous",
|
|
878
|
-
"copy",
|
|
879
|
-
"counter",
|
|
880
|
-
"counters",
|
|
881
|
-
"cover",
|
|
882
|
-
"crop",
|
|
883
|
-
"cross",
|
|
884
|
-
"crosshair",
|
|
885
|
-
"currentcolor",
|
|
886
|
-
"cursive",
|
|
887
|
-
"cyclic",
|
|
888
|
-
"darken",
|
|
889
|
-
"dashed",
|
|
890
|
-
"decimal",
|
|
891
|
-
"decimal-leading-zero",
|
|
892
|
-
"default",
|
|
893
|
-
"default-button",
|
|
894
|
-
"dense",
|
|
895
|
-
"destination-atop",
|
|
896
|
-
"destination-in",
|
|
897
|
-
"destination-out",
|
|
898
|
-
"destination-over",
|
|
899
|
-
"difference",
|
|
900
|
-
"disc",
|
|
901
|
-
"discard",
|
|
902
|
-
"disclosure-closed",
|
|
903
|
-
"disclosure-open",
|
|
904
|
-
"document",
|
|
905
|
-
"dot-dash",
|
|
906
|
-
"dot-dot-dash",
|
|
907
|
-
"dotted",
|
|
908
|
-
"double",
|
|
909
|
-
"down",
|
|
910
|
-
"e-resize",
|
|
911
|
-
"ease",
|
|
912
|
-
"ease-in",
|
|
913
|
-
"ease-in-out",
|
|
914
|
-
"ease-out",
|
|
915
|
-
"element",
|
|
916
|
-
"ellipse",
|
|
917
|
-
"ellipsis",
|
|
918
|
-
"embed",
|
|
919
|
-
"end",
|
|
920
|
-
"ethiopic-abegede-gez",
|
|
921
|
-
"ethiopic-halehame-aa-er",
|
|
922
|
-
"ethiopic-halehame-gez",
|
|
923
|
-
"ew-resize",
|
|
924
|
-
"exclusion",
|
|
925
|
-
"expanded",
|
|
926
|
-
"extends",
|
|
927
|
-
"extra-condensed",
|
|
928
|
-
"extra-expanded",
|
|
929
|
-
"fantasy",
|
|
930
|
-
"fast",
|
|
931
|
-
"fill",
|
|
932
|
-
"fill-box",
|
|
933
|
-
"fixed",
|
|
934
|
-
"flat",
|
|
935
|
-
"flex",
|
|
936
|
-
"flex-end",
|
|
937
|
-
"flex-start",
|
|
938
|
-
"footnotes",
|
|
939
|
-
"forwards",
|
|
940
|
-
"from",
|
|
941
|
-
"geometricPrecision",
|
|
942
|
-
"graytext",
|
|
943
|
-
"grid",
|
|
944
|
-
"groove",
|
|
945
|
-
"hand",
|
|
946
|
-
"hard-light",
|
|
947
|
-
"help",
|
|
948
|
-
"hidden",
|
|
949
|
-
"hide",
|
|
950
|
-
"higher",
|
|
951
|
-
"highlight",
|
|
952
|
-
"highlighttext",
|
|
953
|
-
"horizontal",
|
|
954
|
-
"hsl",
|
|
955
|
-
"hsla",
|
|
956
|
-
"hue",
|
|
957
|
-
"icon",
|
|
958
|
-
"ignore",
|
|
959
|
-
"inactiveborder",
|
|
960
|
-
"inactivecaption",
|
|
961
|
-
"inactivecaptiontext",
|
|
962
|
-
"infinite",
|
|
963
|
-
"infobackground",
|
|
964
|
-
"infotext",
|
|
965
|
-
"inherit",
|
|
966
|
-
"initial",
|
|
967
|
-
"inline",
|
|
968
|
-
"inline-axis",
|
|
969
|
-
"inline-block",
|
|
970
|
-
"inline-flex",
|
|
971
|
-
"inline-grid",
|
|
972
|
-
"inline-table",
|
|
973
|
-
"inset",
|
|
974
|
-
"inside",
|
|
975
|
-
"intrinsic",
|
|
976
|
-
"invert",
|
|
977
|
-
"italic",
|
|
978
|
-
"justify",
|
|
979
|
-
"keep-all",
|
|
980
|
-
"landscape",
|
|
981
|
-
"large",
|
|
982
|
-
"larger",
|
|
983
|
-
"left",
|
|
984
|
-
"level",
|
|
985
|
-
"lighter",
|
|
986
|
-
"lighten",
|
|
987
|
-
"line-through",
|
|
988
|
-
"linear",
|
|
989
|
-
"linear-gradient",
|
|
990
|
-
"lines",
|
|
991
|
-
"list-item",
|
|
992
|
-
"listbox",
|
|
993
|
-
"listitem",
|
|
994
|
-
"local",
|
|
995
|
-
"logical",
|
|
996
|
-
"loud",
|
|
997
|
-
"lower",
|
|
998
|
-
"lower-hexadecimal",
|
|
999
|
-
"lower-latin",
|
|
1000
|
-
"lower-norwegian",
|
|
1001
|
-
"lowercase",
|
|
1002
|
-
"ltr",
|
|
1003
|
-
"luminosity",
|
|
1004
|
-
"manipulation",
|
|
1005
|
-
"match",
|
|
1006
|
-
"matrix",
|
|
1007
|
-
"matrix3d",
|
|
1008
|
-
"medium",
|
|
1009
|
-
"menu",
|
|
1010
|
-
"menutext",
|
|
1011
|
-
"message-box",
|
|
1012
|
-
"middle",
|
|
1013
|
-
"min-intrinsic",
|
|
1014
|
-
"mix",
|
|
1015
|
-
"monospace",
|
|
1016
|
-
"move",
|
|
1017
|
-
"multiple",
|
|
1018
|
-
"multiple_mask_images",
|
|
1019
|
-
"multiply",
|
|
1020
|
-
"n-resize",
|
|
1021
|
-
"narrower",
|
|
1022
|
-
"ne-resize",
|
|
1023
|
-
"nesw-resize",
|
|
1024
|
-
"no-close-quote",
|
|
1025
|
-
"no-drop",
|
|
1026
|
-
"no-open-quote",
|
|
1027
|
-
"no-repeat",
|
|
1028
|
-
"none",
|
|
1029
|
-
"normal",
|
|
1030
|
-
"not-allowed",
|
|
1031
|
-
"nowrap",
|
|
1032
|
-
"ns-resize",
|
|
1033
|
-
"numbers",
|
|
1034
|
-
"numeric",
|
|
1035
|
-
"nw-resize",
|
|
1036
|
-
"nwse-resize",
|
|
1037
|
-
"oblique",
|
|
1038
|
-
"opacity",
|
|
1039
|
-
"open-quote",
|
|
1040
|
-
"optimizeLegibility",
|
|
1041
|
-
"optimizeSpeed",
|
|
1042
|
-
"outset",
|
|
1043
|
-
"outside",
|
|
1044
|
-
"outside-shape",
|
|
1045
|
-
"overlay",
|
|
1046
|
-
"overline",
|
|
1047
|
-
"padding",
|
|
1048
|
-
"padding-box",
|
|
1049
|
-
"painted",
|
|
1050
|
-
"page",
|
|
1051
|
-
"paused",
|
|
1052
|
-
"perspective",
|
|
1053
|
-
"pinch-zoom",
|
|
1054
|
-
"plus-darker",
|
|
1055
|
-
"plus-lighter",
|
|
1056
|
-
"pointer",
|
|
1057
|
-
"polygon",
|
|
1058
|
-
"portrait",
|
|
1059
|
-
"pre",
|
|
1060
|
-
"pre-line",
|
|
1061
|
-
"pre-wrap",
|
|
1062
|
-
"preserve-3d",
|
|
1063
|
-
"progress",
|
|
1064
|
-
"push-button",
|
|
1065
|
-
"radial-gradient",
|
|
1066
|
-
"radio",
|
|
1067
|
-
"read-only",
|
|
1068
|
-
"read-write",
|
|
1069
|
-
"read-write-plaintext-only",
|
|
1070
|
-
"rectangle",
|
|
1071
|
-
"region",
|
|
1072
|
-
"relative",
|
|
1073
|
-
"repeat",
|
|
1074
|
-
"repeating-linear-gradient",
|
|
1075
|
-
"repeating-radial-gradient",
|
|
1076
|
-
"repeat-x",
|
|
1077
|
-
"repeat-y",
|
|
1078
|
-
"reset",
|
|
1079
|
-
"reverse",
|
|
1080
|
-
"rgb",
|
|
1081
|
-
"rgba",
|
|
1082
|
-
"ridge",
|
|
1083
|
-
"right",
|
|
1084
|
-
"rotate",
|
|
1085
|
-
"rotate3d",
|
|
1086
|
-
"rotateX",
|
|
1087
|
-
"rotateY",
|
|
1088
|
-
"rotateZ",
|
|
1089
|
-
"round",
|
|
1090
|
-
"row",
|
|
1091
|
-
"row-resize",
|
|
1092
|
-
"row-reverse",
|
|
1093
|
-
"rtl",
|
|
1094
|
-
"run-in",
|
|
1095
|
-
"running",
|
|
1096
|
-
"s-resize",
|
|
1097
|
-
"sans-serif",
|
|
1098
|
-
"saturation",
|
|
1099
|
-
"scale",
|
|
1100
|
-
"scale3d",
|
|
1101
|
-
"scaleX",
|
|
1102
|
-
"scaleY",
|
|
1103
|
-
"scaleZ",
|
|
1104
|
-
"screen",
|
|
1105
|
-
"scroll",
|
|
1106
|
-
"scrollbar",
|
|
1107
|
-
"scroll-position",
|
|
1108
|
-
"se-resize",
|
|
1109
|
-
"self-start",
|
|
1110
|
-
"self-end",
|
|
1111
|
-
"semi-condensed",
|
|
1112
|
-
"semi-expanded",
|
|
1113
|
-
"separate",
|
|
1114
|
-
"serif",
|
|
1115
|
-
"show",
|
|
1116
|
-
"single",
|
|
1117
|
-
"skew",
|
|
1118
|
-
"skewX",
|
|
1119
|
-
"skewY",
|
|
1120
|
-
"skip-white-space",
|
|
1121
|
-
"slide",
|
|
1122
|
-
"slider-horizontal",
|
|
1123
|
-
"slider-vertical",
|
|
1124
|
-
"sliderthumb-horizontal",
|
|
1125
|
-
"sliderthumb-vertical",
|
|
1126
|
-
"slow",
|
|
1127
|
-
"small",
|
|
1128
|
-
"small-caps",
|
|
1129
|
-
"small-caption",
|
|
1130
|
-
"smaller",
|
|
1131
|
-
"soft-light",
|
|
1132
|
-
"solid",
|
|
1133
|
-
"source-atop",
|
|
1134
|
-
"source-in",
|
|
1135
|
-
"source-out",
|
|
1136
|
-
"source-over",
|
|
1137
|
-
"space",
|
|
1138
|
-
"space-around",
|
|
1139
|
-
"space-between",
|
|
1140
|
-
"space-evenly",
|
|
1141
|
-
"spell-out",
|
|
1142
|
-
"square",
|
|
1143
|
-
"start",
|
|
1144
|
-
"static",
|
|
1145
|
-
"status-bar",
|
|
1146
|
-
"stretch",
|
|
1147
|
-
"stroke",
|
|
1148
|
-
"stroke-box",
|
|
1149
|
-
"sub",
|
|
1150
|
-
"subpixel-antialiased",
|
|
1151
|
-
"svg_masks",
|
|
1152
|
-
"super",
|
|
1153
|
-
"sw-resize",
|
|
1154
|
-
"symbolic",
|
|
1155
|
-
"symbols",
|
|
1156
|
-
"system-ui",
|
|
1157
|
-
"table",
|
|
1158
|
-
"table-caption",
|
|
1159
|
-
"table-cell",
|
|
1160
|
-
"table-column",
|
|
1161
|
-
"table-column-group",
|
|
1162
|
-
"table-footer-group",
|
|
1163
|
-
"table-header-group",
|
|
1164
|
-
"table-row",
|
|
1165
|
-
"table-row-group",
|
|
1166
|
-
"text",
|
|
1167
|
-
"text-bottom",
|
|
1168
|
-
"text-top",
|
|
1169
|
-
"textarea",
|
|
1170
|
-
"textfield",
|
|
1171
|
-
"thick",
|
|
1172
|
-
"thin",
|
|
1173
|
-
"threeddarkshadow",
|
|
1174
|
-
"threedface",
|
|
1175
|
-
"threedhighlight",
|
|
1176
|
-
"threedlightshadow",
|
|
1177
|
-
"threedshadow",
|
|
1178
|
-
"to",
|
|
1179
|
-
"top",
|
|
1180
|
-
"transform",
|
|
1181
|
-
"translate",
|
|
1182
|
-
"translate3d",
|
|
1183
|
-
"translateX",
|
|
1184
|
-
"translateY",
|
|
1185
|
-
"translateZ",
|
|
1186
|
-
"transparent",
|
|
1187
|
-
"ultra-condensed",
|
|
1188
|
-
"ultra-expanded",
|
|
1189
|
-
"underline",
|
|
1190
|
-
"unidirectional-pan",
|
|
1191
|
-
"unset",
|
|
1192
|
-
"up",
|
|
1193
|
-
"upper-latin",
|
|
1194
|
-
"uppercase",
|
|
1195
|
-
"url",
|
|
1196
|
-
"var",
|
|
1197
|
-
"vertical",
|
|
1198
|
-
"vertical-text",
|
|
1199
|
-
"view-box",
|
|
1200
|
-
"visible",
|
|
1201
|
-
"visibleFill",
|
|
1202
|
-
"visiblePainted",
|
|
1203
|
-
"visibleStroke",
|
|
1204
|
-
"visual",
|
|
1205
|
-
"w-resize",
|
|
1206
|
-
"wait",
|
|
1207
|
-
"wave",
|
|
1208
|
-
"wider",
|
|
1209
|
-
"window",
|
|
1210
|
-
"windowframe",
|
|
1211
|
-
"windowtext",
|
|
1212
|
-
"words",
|
|
1213
|
-
"wrap",
|
|
1214
|
-
"wrap-reverse",
|
|
1215
|
-
"x-large",
|
|
1216
|
-
"x-small",
|
|
1217
|
-
"xor",
|
|
1218
|
-
"xx-large",
|
|
1219
|
-
"xx-small"
|
|
1220
|
-
].map((name) => ({ type: "keyword", label: name })).concat(/* @__PURE__ */ [
|
|
1221
|
-
"aliceblue",
|
|
1222
|
-
"antiquewhite",
|
|
1223
|
-
"aqua",
|
|
1224
|
-
"aquamarine",
|
|
1225
|
-
"azure",
|
|
1226
|
-
"beige",
|
|
1227
|
-
"bisque",
|
|
1228
|
-
"black",
|
|
1229
|
-
"blanchedalmond",
|
|
1230
|
-
"blue",
|
|
1231
|
-
"blueviolet",
|
|
1232
|
-
"brown",
|
|
1233
|
-
"burlywood",
|
|
1234
|
-
"cadetblue",
|
|
1235
|
-
"chartreuse",
|
|
1236
|
-
"chocolate",
|
|
1237
|
-
"coral",
|
|
1238
|
-
"cornflowerblue",
|
|
1239
|
-
"cornsilk",
|
|
1240
|
-
"crimson",
|
|
1241
|
-
"cyan",
|
|
1242
|
-
"darkblue",
|
|
1243
|
-
"darkcyan",
|
|
1244
|
-
"darkgoldenrod",
|
|
1245
|
-
"darkgray",
|
|
1246
|
-
"darkgreen",
|
|
1247
|
-
"darkkhaki",
|
|
1248
|
-
"darkmagenta",
|
|
1249
|
-
"darkolivegreen",
|
|
1250
|
-
"darkorange",
|
|
1251
|
-
"darkorchid",
|
|
1252
|
-
"darkred",
|
|
1253
|
-
"darksalmon",
|
|
1254
|
-
"darkseagreen",
|
|
1255
|
-
"darkslateblue",
|
|
1256
|
-
"darkslategray",
|
|
1257
|
-
"darkturquoise",
|
|
1258
|
-
"darkviolet",
|
|
1259
|
-
"deeppink",
|
|
1260
|
-
"deepskyblue",
|
|
1261
|
-
"dimgray",
|
|
1262
|
-
"dodgerblue",
|
|
1263
|
-
"firebrick",
|
|
1264
|
-
"floralwhite",
|
|
1265
|
-
"forestgreen",
|
|
1266
|
-
"fuchsia",
|
|
1267
|
-
"gainsboro",
|
|
1268
|
-
"ghostwhite",
|
|
1269
|
-
"gold",
|
|
1270
|
-
"goldenrod",
|
|
1271
|
-
"gray",
|
|
1272
|
-
"grey",
|
|
1273
|
-
"green",
|
|
1274
|
-
"greenyellow",
|
|
1275
|
-
"honeydew",
|
|
1276
|
-
"hotpink",
|
|
1277
|
-
"indianred",
|
|
1278
|
-
"indigo",
|
|
1279
|
-
"ivory",
|
|
1280
|
-
"khaki",
|
|
1281
|
-
"lavender",
|
|
1282
|
-
"lavenderblush",
|
|
1283
|
-
"lawngreen",
|
|
1284
|
-
"lemonchiffon",
|
|
1285
|
-
"lightblue",
|
|
1286
|
-
"lightcoral",
|
|
1287
|
-
"lightcyan",
|
|
1288
|
-
"lightgoldenrodyellow",
|
|
1289
|
-
"lightgray",
|
|
1290
|
-
"lightgreen",
|
|
1291
|
-
"lightpink",
|
|
1292
|
-
"lightsalmon",
|
|
1293
|
-
"lightseagreen",
|
|
1294
|
-
"lightskyblue",
|
|
1295
|
-
"lightslategray",
|
|
1296
|
-
"lightsteelblue",
|
|
1297
|
-
"lightyellow",
|
|
1298
|
-
"lime",
|
|
1299
|
-
"limegreen",
|
|
1300
|
-
"linen",
|
|
1301
|
-
"magenta",
|
|
1302
|
-
"maroon",
|
|
1303
|
-
"mediumaquamarine",
|
|
1304
|
-
"mediumblue",
|
|
1305
|
-
"mediumorchid",
|
|
1306
|
-
"mediumpurple",
|
|
1307
|
-
"mediumseagreen",
|
|
1308
|
-
"mediumslateblue",
|
|
1309
|
-
"mediumspringgreen",
|
|
1310
|
-
"mediumturquoise",
|
|
1311
|
-
"mediumvioletred",
|
|
1312
|
-
"midnightblue",
|
|
1313
|
-
"mintcream",
|
|
1314
|
-
"mistyrose",
|
|
1315
|
-
"moccasin",
|
|
1316
|
-
"navajowhite",
|
|
1317
|
-
"navy",
|
|
1318
|
-
"oldlace",
|
|
1319
|
-
"olive",
|
|
1320
|
-
"olivedrab",
|
|
1321
|
-
"orange",
|
|
1322
|
-
"orangered",
|
|
1323
|
-
"orchid",
|
|
1324
|
-
"palegoldenrod",
|
|
1325
|
-
"palegreen",
|
|
1326
|
-
"paleturquoise",
|
|
1327
|
-
"palevioletred",
|
|
1328
|
-
"papayawhip",
|
|
1329
|
-
"peachpuff",
|
|
1330
|
-
"peru",
|
|
1331
|
-
"pink",
|
|
1332
|
-
"plum",
|
|
1333
|
-
"powderblue",
|
|
1334
|
-
"purple",
|
|
1335
|
-
"rebeccapurple",
|
|
1336
|
-
"red",
|
|
1337
|
-
"rosybrown",
|
|
1338
|
-
"royalblue",
|
|
1339
|
-
"saddlebrown",
|
|
1340
|
-
"salmon",
|
|
1341
|
-
"sandybrown",
|
|
1342
|
-
"seagreen",
|
|
1343
|
-
"seashell",
|
|
1344
|
-
"sienna",
|
|
1345
|
-
"silver",
|
|
1346
|
-
"skyblue",
|
|
1347
|
-
"slateblue",
|
|
1348
|
-
"slategray",
|
|
1349
|
-
"snow",
|
|
1350
|
-
"springgreen",
|
|
1351
|
-
"steelblue",
|
|
1352
|
-
"tan",
|
|
1353
|
-
"teal",
|
|
1354
|
-
"thistle",
|
|
1355
|
-
"tomato",
|
|
1356
|
-
"turquoise",
|
|
1357
|
-
"violet",
|
|
1358
|
-
"wheat",
|
|
1359
|
-
"white",
|
|
1360
|
-
"whitesmoke",
|
|
1361
|
-
"yellow",
|
|
1362
|
-
"yellowgreen"
|
|
1363
|
-
].map((name) => ({ type: "constant", label: name })));
|
|
1364
|
-
const tags = /* @__PURE__ */ [
|
|
1365
|
-
"a",
|
|
1366
|
-
"abbr",
|
|
1367
|
-
"address",
|
|
1368
|
-
"article",
|
|
1369
|
-
"aside",
|
|
1370
|
-
"b",
|
|
1371
|
-
"bdi",
|
|
1372
|
-
"bdo",
|
|
1373
|
-
"blockquote",
|
|
1374
|
-
"body",
|
|
1375
|
-
"br",
|
|
1376
|
-
"button",
|
|
1377
|
-
"canvas",
|
|
1378
|
-
"caption",
|
|
1379
|
-
"cite",
|
|
1380
|
-
"code",
|
|
1381
|
-
"col",
|
|
1382
|
-
"colgroup",
|
|
1383
|
-
"dd",
|
|
1384
|
-
"del",
|
|
1385
|
-
"details",
|
|
1386
|
-
"dfn",
|
|
1387
|
-
"dialog",
|
|
1388
|
-
"div",
|
|
1389
|
-
"dl",
|
|
1390
|
-
"dt",
|
|
1391
|
-
"em",
|
|
1392
|
-
"figcaption",
|
|
1393
|
-
"figure",
|
|
1394
|
-
"footer",
|
|
1395
|
-
"form",
|
|
1396
|
-
"header",
|
|
1397
|
-
"hgroup",
|
|
1398
|
-
"h1",
|
|
1399
|
-
"h2",
|
|
1400
|
-
"h3",
|
|
1401
|
-
"h4",
|
|
1402
|
-
"h5",
|
|
1403
|
-
"h6",
|
|
1404
|
-
"hr",
|
|
1405
|
-
"html",
|
|
1406
|
-
"i",
|
|
1407
|
-
"iframe",
|
|
1408
|
-
"img",
|
|
1409
|
-
"input",
|
|
1410
|
-
"ins",
|
|
1411
|
-
"kbd",
|
|
1412
|
-
"label",
|
|
1413
|
-
"legend",
|
|
1414
|
-
"li",
|
|
1415
|
-
"main",
|
|
1416
|
-
"meter",
|
|
1417
|
-
"nav",
|
|
1418
|
-
"ol",
|
|
1419
|
-
"output",
|
|
1420
|
-
"p",
|
|
1421
|
-
"pre",
|
|
1422
|
-
"ruby",
|
|
1423
|
-
"section",
|
|
1424
|
-
"select",
|
|
1425
|
-
"small",
|
|
1426
|
-
"source",
|
|
1427
|
-
"span",
|
|
1428
|
-
"strong",
|
|
1429
|
-
"sub",
|
|
1430
|
-
"summary",
|
|
1431
|
-
"sup",
|
|
1432
|
-
"table",
|
|
1433
|
-
"tbody",
|
|
1434
|
-
"td",
|
|
1435
|
-
"template",
|
|
1436
|
-
"textarea",
|
|
1437
|
-
"tfoot",
|
|
1438
|
-
"th",
|
|
1439
|
-
"thead",
|
|
1440
|
-
"tr",
|
|
1441
|
-
"u",
|
|
1442
|
-
"ul"
|
|
1443
|
-
].map((name) => ({ type: "type", label: name }));
|
|
1444
|
-
const identifier$1 = /^[\w-]*/;
|
|
1445
|
-
const cssCompletionSource = (context) => {
|
|
1446
|
-
let { state, pos } = context, node = syntaxTree(state).resolveInner(pos, -1);
|
|
1447
|
-
if (node.name == "PropertyName")
|
|
1448
|
-
return { from: node.from, options: properties(), validFor: identifier$1 };
|
|
1449
|
-
if (node.name == "ValueName")
|
|
1450
|
-
return { from: node.from, options: values, validFor: identifier$1 };
|
|
1451
|
-
if (node.name == "PseudoClassName")
|
|
1452
|
-
return { from: node.from, options: pseudoClasses, validFor: identifier$1 };
|
|
1453
|
-
if (node.name == "TagName") {
|
|
1454
|
-
for (let { parent } = node; parent; parent = parent.parent)
|
|
1455
|
-
if (parent.name == "Block")
|
|
1456
|
-
return { from: node.from, options: properties(), validFor: identifier$1 };
|
|
1457
|
-
return { from: node.from, options: tags, validFor: identifier$1 };
|
|
1458
|
-
}
|
|
1459
|
-
if (!context.explicit)
|
|
1460
|
-
return null;
|
|
1461
|
-
let above = node.resolve(pos), before = above.childBefore(pos);
|
|
1462
|
-
if (before && before.name == ":" && above.name == "PseudoClassSelector")
|
|
1463
|
-
return { from: pos, options: pseudoClasses, validFor: identifier$1 };
|
|
1464
|
-
if (before && before.name == ":" && above.name == "Declaration" || above.name == "ArgList")
|
|
1465
|
-
return { from: pos, options: values, validFor: identifier$1 };
|
|
1466
|
-
if (above.name == "Block")
|
|
1467
|
-
return { from: pos, options: properties(), validFor: identifier$1 };
|
|
1468
|
-
return null;
|
|
1469
|
-
};
|
|
1470
|
-
const cssLanguage = /* @__PURE__ */ LRLanguage.define({
|
|
1471
|
-
name: "css",
|
|
1472
|
-
parser: /* @__PURE__ */ parser$1.configure({
|
|
1473
|
-
props: [
|
|
1474
|
-
/* @__PURE__ */ indentNodeProp.add({
|
|
1475
|
-
Declaration: /* @__PURE__ */ continuedIndent()
|
|
1476
|
-
}),
|
|
1477
|
-
/* @__PURE__ */ foldNodeProp.add({
|
|
1478
|
-
Block: foldInside
|
|
1479
|
-
})
|
|
1480
|
-
]
|
|
1481
|
-
}),
|
|
1482
|
-
languageData: {
|
|
1483
|
-
commentTokens: { block: { open: "/*", close: "*/" } },
|
|
1484
|
-
indentOnInput: /^\s*\}$/,
|
|
1485
|
-
wordChars: "-"
|
|
1486
|
-
}
|
|
1487
|
-
});
|
|
1488
|
-
function css() {
|
|
1489
|
-
return new LanguageSupport(cssLanguage, cssLanguage.data.of({ autocomplete: cssCompletionSource }));
|
|
1490
|
-
}
|
|
1491
|
-
const scriptText = 55, StartCloseScriptTag = 1, styleText = 56, StartCloseStyleTag = 2, textareaText = 57, StartCloseTextareaTag = 3, StartTag = 4, StartScriptTag = 5, StartStyleTag = 6, StartTextareaTag = 7, StartSelfClosingTag = 8, StartCloseTag = 9, NoMatchStartCloseTag = 10, MismatchedStartCloseTag = 11, missingCloseTag = 58, IncompleteCloseTag = 12, commentContent$1 = 59, Element = 19, TagName = 21, Attribute = 22, AttributeName = 23, AttributeValue = 25, UnquotedAttributeValue = 26, ScriptText = 28, StyleText = 31, TextareaText = 34, OpenTag = 36, CloseTag = 37, Dialect_noMatch = 0;
|
|
1492
|
-
const selfClosers = {
|
|
1493
|
-
area: true,
|
|
1494
|
-
base: true,
|
|
1495
|
-
br: true,
|
|
1496
|
-
col: true,
|
|
1497
|
-
command: true,
|
|
1498
|
-
embed: true,
|
|
1499
|
-
frame: true,
|
|
1500
|
-
hr: true,
|
|
1501
|
-
img: true,
|
|
1502
|
-
input: true,
|
|
1503
|
-
keygen: true,
|
|
1504
|
-
link: true,
|
|
1505
|
-
meta: true,
|
|
1506
|
-
param: true,
|
|
1507
|
-
source: true,
|
|
1508
|
-
track: true,
|
|
1509
|
-
wbr: true,
|
|
1510
|
-
menuitem: true
|
|
1511
|
-
};
|
|
1512
|
-
const implicitlyClosed = {
|
|
1513
|
-
dd: true,
|
|
1514
|
-
li: true,
|
|
1515
|
-
optgroup: true,
|
|
1516
|
-
option: true,
|
|
1517
|
-
p: true,
|
|
1518
|
-
rp: true,
|
|
1519
|
-
rt: true,
|
|
1520
|
-
tbody: true,
|
|
1521
|
-
td: true,
|
|
1522
|
-
tfoot: true,
|
|
1523
|
-
th: true,
|
|
1524
|
-
tr: true
|
|
1525
|
-
};
|
|
1526
|
-
const closeOnOpen = {
|
|
1527
|
-
dd: { dd: true, dt: true },
|
|
1528
|
-
dt: { dd: true, dt: true },
|
|
1529
|
-
li: { li: true },
|
|
1530
|
-
option: { option: true, optgroup: true },
|
|
1531
|
-
optgroup: { optgroup: true },
|
|
1532
|
-
p: {
|
|
1533
|
-
address: true,
|
|
1534
|
-
article: true,
|
|
1535
|
-
aside: true,
|
|
1536
|
-
blockquote: true,
|
|
1537
|
-
dir: true,
|
|
1538
|
-
div: true,
|
|
1539
|
-
dl: true,
|
|
1540
|
-
fieldset: true,
|
|
1541
|
-
footer: true,
|
|
1542
|
-
form: true,
|
|
1543
|
-
h1: true,
|
|
1544
|
-
h2: true,
|
|
1545
|
-
h3: true,
|
|
1546
|
-
h4: true,
|
|
1547
|
-
h5: true,
|
|
1548
|
-
h6: true,
|
|
1549
|
-
header: true,
|
|
1550
|
-
hgroup: true,
|
|
1551
|
-
hr: true,
|
|
1552
|
-
menu: true,
|
|
1553
|
-
nav: true,
|
|
1554
|
-
ol: true,
|
|
1555
|
-
p: true,
|
|
1556
|
-
pre: true,
|
|
1557
|
-
section: true,
|
|
1558
|
-
table: true,
|
|
1559
|
-
ul: true
|
|
1560
|
-
},
|
|
1561
|
-
rp: { rp: true, rt: true },
|
|
1562
|
-
rt: { rp: true, rt: true },
|
|
1563
|
-
tbody: { tbody: true, tfoot: true },
|
|
1564
|
-
td: { td: true, th: true },
|
|
1565
|
-
tfoot: { tbody: true },
|
|
1566
|
-
th: { td: true, th: true },
|
|
1567
|
-
thead: { tbody: true, tfoot: true },
|
|
1568
|
-
tr: { tr: true }
|
|
1569
|
-
};
|
|
1570
|
-
function nameChar(ch) {
|
|
1571
|
-
return ch == 45 || ch == 46 || ch == 58 || ch >= 65 && ch <= 90 || ch == 95 || ch >= 97 && ch <= 122 || ch >= 161;
|
|
1572
|
-
}
|
|
1573
|
-
function isSpace(ch) {
|
|
1574
|
-
return ch == 9 || ch == 10 || ch == 13 || ch == 32;
|
|
1575
|
-
}
|
|
1576
|
-
let cachedName = null, cachedInput = null, cachedPos = 0;
|
|
1577
|
-
function tagNameAfter(input, offset) {
|
|
1578
|
-
let pos = input.pos + offset;
|
|
1579
|
-
if (cachedPos == pos && cachedInput == input) return cachedName;
|
|
1580
|
-
let next = input.peek(offset);
|
|
1581
|
-
while (isSpace(next)) next = input.peek(++offset);
|
|
1582
|
-
let name = "";
|
|
1583
|
-
for (; ; ) {
|
|
1584
|
-
if (!nameChar(next)) break;
|
|
1585
|
-
name += String.fromCharCode(next);
|
|
1586
|
-
next = input.peek(++offset);
|
|
1587
|
-
}
|
|
1588
|
-
cachedInput = input;
|
|
1589
|
-
cachedPos = pos;
|
|
1590
|
-
return cachedName = name ? name.toLowerCase() : next == question || next == bang ? void 0 : null;
|
|
1591
|
-
}
|
|
1592
|
-
const lessThan = 60, greaterThan = 62, slash = 47, question = 63, bang = 33, dash = 45;
|
|
1593
|
-
function ElementContext(name, parent) {
|
|
1594
|
-
this.name = name;
|
|
1595
|
-
this.parent = parent;
|
|
1596
|
-
this.hash = parent ? parent.hash : 0;
|
|
1597
|
-
for (let i = 0; i < name.length; i++) this.hash += (this.hash << 4) + name.charCodeAt(i) + (name.charCodeAt(i) << 8);
|
|
1598
|
-
}
|
|
1599
|
-
const startTagTerms = [StartTag, StartSelfClosingTag, StartScriptTag, StartStyleTag, StartTextareaTag];
|
|
1600
|
-
const elementContext = /* @__PURE__ */ new ContextTracker({
|
|
1601
|
-
start: null,
|
|
1602
|
-
shift(context, term, stack, input) {
|
|
1603
|
-
return startTagTerms.indexOf(term) > -1 ? new ElementContext(tagNameAfter(input, 1) || "", context) : context;
|
|
1604
|
-
},
|
|
1605
|
-
reduce(context, term) {
|
|
1606
|
-
return term == Element && context ? context.parent : context;
|
|
1607
|
-
},
|
|
1608
|
-
reuse(context, node, stack, input) {
|
|
1609
|
-
let type = node.type.id;
|
|
1610
|
-
return type == StartTag || type == OpenTag ? new ElementContext(tagNameAfter(input, 1) || "", context) : context;
|
|
1611
|
-
},
|
|
1612
|
-
hash(context) {
|
|
1613
|
-
return context ? context.hash : 0;
|
|
1614
|
-
},
|
|
1615
|
-
strict: false
|
|
1616
|
-
});
|
|
1617
|
-
const tagStart = /* @__PURE__ */ new ExternalTokenizer((input, stack) => {
|
|
1618
|
-
if (input.next != lessThan) {
|
|
1619
|
-
if (input.next < 0 && stack.context) input.acceptToken(missingCloseTag);
|
|
1620
|
-
return;
|
|
1621
|
-
}
|
|
1622
|
-
input.advance();
|
|
1623
|
-
let close = input.next == slash;
|
|
1624
|
-
if (close) input.advance();
|
|
1625
|
-
let name = tagNameAfter(input, 0);
|
|
1626
|
-
if (name === void 0) return;
|
|
1627
|
-
if (!name) return input.acceptToken(close ? IncompleteCloseTag : StartTag);
|
|
1628
|
-
let parent = stack.context ? stack.context.name : null;
|
|
1629
|
-
if (close) {
|
|
1630
|
-
if (name == parent) return input.acceptToken(StartCloseTag);
|
|
1631
|
-
if (parent && implicitlyClosed[parent]) return input.acceptToken(missingCloseTag, -2);
|
|
1632
|
-
if (stack.dialectEnabled(Dialect_noMatch)) return input.acceptToken(NoMatchStartCloseTag);
|
|
1633
|
-
for (let cx = stack.context; cx; cx = cx.parent) if (cx.name == name) return;
|
|
1634
|
-
input.acceptToken(MismatchedStartCloseTag);
|
|
1635
|
-
} else {
|
|
1636
|
-
if (name == "script") return input.acceptToken(StartScriptTag);
|
|
1637
|
-
if (name == "style") return input.acceptToken(StartStyleTag);
|
|
1638
|
-
if (name == "textarea") return input.acceptToken(StartTextareaTag);
|
|
1639
|
-
if (selfClosers.hasOwnProperty(name)) return input.acceptToken(StartSelfClosingTag);
|
|
1640
|
-
if (parent && closeOnOpen[parent] && closeOnOpen[parent][name]) input.acceptToken(missingCloseTag, -1);
|
|
1641
|
-
else input.acceptToken(StartTag);
|
|
1642
|
-
}
|
|
1643
|
-
}, { contextual: true });
|
|
1644
|
-
const commentContent = /* @__PURE__ */ new ExternalTokenizer((input) => {
|
|
1645
|
-
for (let dashes = 0, i = 0; ; i++) {
|
|
1646
|
-
if (input.next < 0) {
|
|
1647
|
-
if (i) input.acceptToken(commentContent$1);
|
|
1648
|
-
break;
|
|
1649
|
-
}
|
|
1650
|
-
if (input.next == dash) {
|
|
1651
|
-
dashes++;
|
|
1652
|
-
} else if (input.next == greaterThan && dashes >= 2) {
|
|
1653
|
-
if (i > 3) input.acceptToken(commentContent$1, -2);
|
|
1654
|
-
break;
|
|
1655
|
-
} else {
|
|
1656
|
-
dashes = 0;
|
|
1657
|
-
}
|
|
1658
|
-
input.advance();
|
|
1659
|
-
}
|
|
1660
|
-
});
|
|
1661
|
-
function contentTokenizer(tag, textToken, endToken) {
|
|
1662
|
-
let lastState = 2 + tag.length;
|
|
1663
|
-
return new ExternalTokenizer((input) => {
|
|
1664
|
-
for (let state = 0, matchedLen = 0, i = 0; ; i++) {
|
|
1665
|
-
if (input.next < 0) {
|
|
1666
|
-
if (i) input.acceptToken(textToken);
|
|
1667
|
-
break;
|
|
1668
|
-
}
|
|
1669
|
-
if (state == 0 && input.next == lessThan || state == 1 && input.next == slash || state >= 2 && state < lastState && input.next == tag.charCodeAt(state - 2)) {
|
|
1670
|
-
state++;
|
|
1671
|
-
matchedLen++;
|
|
1672
|
-
} else if ((state == 2 || state == lastState) && isSpace(input.next)) {
|
|
1673
|
-
matchedLen++;
|
|
1674
|
-
} else if (state == lastState && input.next == greaterThan) {
|
|
1675
|
-
if (i > matchedLen)
|
|
1676
|
-
input.acceptToken(textToken, -matchedLen);
|
|
1677
|
-
else
|
|
1678
|
-
input.acceptToken(endToken, -(matchedLen - 2));
|
|
1679
|
-
break;
|
|
1680
|
-
} else if ((input.next == 10 || input.next == 13) && i) {
|
|
1681
|
-
input.acceptToken(textToken, 1);
|
|
1682
|
-
break;
|
|
1683
|
-
} else {
|
|
1684
|
-
state = matchedLen = 0;
|
|
1685
|
-
}
|
|
1686
|
-
input.advance();
|
|
1687
|
-
}
|
|
1688
|
-
});
|
|
1689
|
-
}
|
|
1690
|
-
const scriptTokens = /* @__PURE__ */ contentTokenizer("script", scriptText, StartCloseScriptTag);
|
|
1691
|
-
const styleTokens = /* @__PURE__ */ contentTokenizer("style", styleText, StartCloseStyleTag);
|
|
1692
|
-
const textareaTokens = /* @__PURE__ */ contentTokenizer("textarea", textareaText, StartCloseTextareaTag);
|
|
1693
|
-
const htmlHighlighting = /* @__PURE__ */ styleTags({
|
|
1694
|
-
"Text RawText": tags$1.content,
|
|
1695
|
-
"StartTag StartCloseTag SelfClosingEndTag EndTag": tags$1.angleBracket,
|
|
1696
|
-
TagName: tags$1.tagName,
|
|
1697
|
-
"MismatchedCloseTag/TagName": [tags$1.tagName, tags$1.invalid],
|
|
1698
|
-
AttributeName: tags$1.attributeName,
|
|
1699
|
-
"AttributeValue UnquotedAttributeValue": tags$1.attributeValue,
|
|
1700
|
-
Is: tags$1.definitionOperator,
|
|
1701
|
-
"EntityReference CharacterReference": tags$1.character,
|
|
1702
|
-
Comment: tags$1.blockComment,
|
|
1703
|
-
ProcessingInst: tags$1.processingInstruction,
|
|
1704
|
-
DoctypeDecl: tags$1.documentMeta
|
|
1705
|
-
});
|
|
1706
|
-
const parser = /* @__PURE__ */ LRParser.deserialize({
|
|
1707
|
-
version: 14,
|
|
1708
|
-
states: ",xOVOxOOO!ZQ!bO'#CpO!`Q!bO'#CzO!eQ!bO'#C}O!jQ!bO'#DQO!oQ!bO'#DSO!tOXO'#CoO#POYO'#CoO#[O[O'#CoO$kOxO'#CoOOOW'#Co'#CoO$rO!rO'#DUO$zQ!bO'#DWO%PQ!bO'#DXOOOW'#Dl'#DlOOOW'#DZ'#DZQVOxOOO%UQ#tO,59[O%^Q#tO,59fO%fQ#tO,59iO%nQ#tO,59lO%yQ#tO,59nOOOX'#D_'#D_O&ROXO'#CxO&^OXO,59ZOOOY'#D`'#D`O&fOYO'#C{O&qOYO,59ZOOO['#Da'#DaO&yO[O'#DOO'UO[O,59ZOOOW'#Db'#DbO'^OxO,59ZO'eQ!bO'#DROOOW,59Z,59ZOOO`'#Dc'#DcO'jO!rO,59pOOOW,59p,59pO'rQ!bO,59rO'wQ!bO,59sOOOW-E7X-E7XO'|Q#tO'#CrOOQO'#D['#D[O([Q#tO1G.vOOOX1G.v1G.vO(dQ#tO1G/QOOOY1G/Q1G/QO(lQ#tO1G/TOOO[1G/T1G/TO(tQ#tO1G/WOOOW1G/W1G/WOOOW1G/Y1G/YO)PQ#tO1G/YOOOX-E7]-E7]O)XQ!bO'#CyOOOW1G.u1G.uOOOY-E7^-E7^O)^Q!bO'#C|OOO[-E7_-E7_O)cQ!bO'#DPOOOW-E7`-E7`O)hQ!bO,59mOOO`-E7a-E7aOOOW1G/[1G/[OOOW1G/^1G/^OOOW1G/_1G/_O)mQ&jO,59^OOQO-E7Y-E7YOOOX7+$b7+$bOOOY7+$l7+$lOOO[7+$o7+$oOOOW7+$r7+$rOOOW7+$t7+$tO)xQ!bO,59eO)}Q!bO,59hO*SQ!bO,59kOOOW1G/X1G/XO*XO,UO'#CuO*jO7[O'#CuOOQO1G.x1G.xOOOW1G/P1G/POOOW1G/S1G/SOOOW1G/V1G/VOOOO'#D]'#D]O*{O,UO,59aOOQO,59a,59aOOOO'#D^'#D^O+^O7[O,59aOOOO-E7Z-E7ZOOQO1G.{1G.{OOOO-E7[-E7[",
|
|
1709
|
-
stateData: "+}~O!_OS~OSSOTPOUQOVROWTOY]OZ[O[^O^^O_^O`^Oa^Ob^Oy^O|_O!eZO~OeaO~OebO~OecO~OedO~OeeO~O!XfOPlP![lP~O!YiOQoP![oP~O!ZlORrP![rP~OSSOTPOUQOVROWTOXqOY]OZ[O[^O^^O_^O`^Oa^Ob^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OevO~OewO~OgyOk|O~OgyOk!OO~OgyOk!QO~OgyOk!SOw!TO~OgyOk!TO~O!XfOPlX![lX~OP!WO![!XO~O!YiOQoX![oX~OQ!ZO![!XO~O!ZlORrX![rX~OR!]O![!XO~O![!XO~P#gOe!_O~O!]sO!f!aO~Ok!bO~Ok!cO~Oh!dOgfXkfXwfX~OgyOk!fO~OgyOk!gO~OgyOk!hO~OgyOk!iOw!jO~OgyOk!jO~Oe!kO~Oe!lO~Oe!mO~Ok!nO~Oj!qO!a!oO!c!pO~Ok!rO~Ok!sO~Ok!tO~O`!uOa!uOb!uO!a!wO!b!uO~O`!xOa!xOb!xO!c!wO!d!xO~O`!uOa!uOb!uO!a!{O!b!uO~O`!xOa!xOb!xO!c!{O!d!xO~Ow~_^w!ey|ak`b`~",
|
|
1710
|
-
goto: "%q!aPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zPP!}#Q#T#Z#^#a#g#j#m#s#yP!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",
|
|
1711
|
-
nodeNames: "⚠ StartCloseTag StartCloseTag StartCloseTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text Resolvable EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue EndTag ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag SelfClosingEndTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",
|
|
1712
|
-
maxTerm: 68,
|
|
1713
|
-
context: elementContext,
|
|
1714
|
-
nodeProps: [
|
|
1715
|
-
["closedBy", -10, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, "EndTag", 4, "EndTag SelfClosingEndTag", -4, 20, 30, 33, 36, "CloseTag"],
|
|
1716
|
-
["group", -10, 12, 15, 16, 17, 18, 19, 40, 41, 42, 43, "Entity", 14, "Entity TextContent", -3, 28, 31, 34, "TextContent Entity"],
|
|
1717
|
-
["openedBy", 27, "StartTag StartCloseTag", -4, 29, 32, 35, 37, "OpenTag", 39, "StartTag"]
|
|
1718
|
-
],
|
|
1719
|
-
propSources: [htmlHighlighting],
|
|
1720
|
-
skippedNodes: [0],
|
|
1721
|
-
repeatNodeCount: 9,
|
|
1722
|
-
tokenData: "&(b!aR!ZOX$tXY3aYZ3aZ[$t[]&b]^3a^p$tpq3aqr4trsBjsv4tvwC`wx!*Tx}4t}!O!*|!O!P4t!P!Q!0_!Q![4t![!]!3O!]!^4t!^!_!7Z!_!`#5r!`!a#6p!a!c4t!c!}!3O!}#R4t#R#S!3O#S#T:r#T#o!3O#o#p#7n#p#s4t#s$f$t$f%W4t%W%o!3O%o%p4t%p&a!3O&a&b4t&b1p!3O1p4U4t4U4d!3O4d4e4t4e$IS!3O$IS$I`4t$I`$Ib!3O$Ib$Kh4t$Kh%#t!3O%#t&/x4t&/x&Et!3O&Et&FV4t&FV;'S!3O;'S;:j!7T;:j;=`Bd<%l?&r4t?&r?Ah!3O?Ah?BY$t?BY?Mn!3O?MnO$t!Z%PejW!b`!dp^POX$tXZ&bZ[$t[^&b^p$tpq&bqr$trs'^sv$tvw/Vwx*yx!^$t!^!_-]!_!a&b!a#S$t#S#T&b#T#o$t#o#p0Q#p;'S$t;'S;=`3Z<%lO$t!R&kZ!b`!dp^POr&brs'^sv&bwx*yx!^&b!^!_-]!_#o&b#o#p.P#p;'S&b;'S;=`/P<%lO&bq'eX!dp^POv'^wx(Qx!^'^!^!_)d!_#o'^#o#p){#p;'S'^;'S;=`*s<%lO'^P(VV^POv(Qw!^(Q!_#o(Q#o#p(l#p;'S(Q;'S;=`)X<%lO(QP(oWOv(Qw!^(Q!_#o(Q#p;'S(Q;'S;=`)X<%l~(Q~O(Q~~)_P)[P;=`<%l(QP)dO^Pp)iS!dpOv)dx;'S)d;'S;=`)u<%lO)dp)xP;=`<%l)dq*QZ!dpOv'^wx(Qx!^'^!^!_)d!_#o'^#o#p)d#p;'S'^;'S;=`*s<%l~'^~O'^~~)_q*vP;=`<%l'^a+QY!b`^POr*yrs(Qsv*yw!^*y!^!_+p!_#o*y#o#p,[#p;'S*y;'S;=`-V<%lO*y`+uT!b`Or+psv+pw;'S+p;'S;=`,U<%lO+p`,XP;=`<%l+pa,a[!b`Or*yrs(Qsv*yw!^*y!^!_+p!_#o*y#o#p+p#p;'S*y;'S;=`-V<%l~*y~O*y~~)_a-YP;=`<%l*y!Q-dV!b`!dpOr-]rs)dsv-]wx+px;'S-];'S;=`-y<%lO-]!Q-|P;=`<%l-]!R.W]!b`!dpOr&brs'^sv&bwx*yx!^&b!^!_-]!_#o&b#o#p-]#p;'S&b;'S;=`/P<%l~&b~O&b~~)_!R/SP;=`<%l&bW/[YjWOX/VZ[/V^p/Vqr/Vsw/Vx!^/V!a#S/V#T;'S/V;'S;=`/z<%lO/VW/}P;=`<%l/V!Z0ZgjW!b`!dpOX$tXZ&bZ[$t[^&b^p$tpq&bqr$trs'^sv$tvw/Vwx*yx!^$t!^!_-]!_!a&b!a#S$t#S#T&b#T#o$t#o#p1r#p;'S$t;'S;=`3Z<%l~$t~O$t~~)_!Y1{bjW!b`!dpOX1rXZ-]Z[1r[^-]^p1rpq-]qr1rrs)dsv1rvw/Vwx+px!^1r!^!a-]!a#S1r#S#T-]#T;'S1r;'S;=`3T<%lO1r!Y3WP;=`<%l1r!Z3^P;=`<%l$t!a3lb!b`!dp!_^^POX&bXY3aYZ3aZ]&b]^3a^p&bpq3aqr&brs'^sv&bwx*yx!^&b!^!_-]!_#o&b#o#p.P#p;'S&b;'S;=`/P<%lO&b!_5RlgSjW!b`!dp^POX$tXZ&bZ[$t[^&b^p$tpq&bqr4trs'^sv4tvw6ywx*yx!P4t!P!Q$t!Q!^4t!^!_9Z!_!a&b!a#S4t#S#T:r#T#o4t#o#p>W#p#s4t#s$f$t$f;'S4t;'S;=`Bd<%l?Ah4t?Ah?BY$t?BY?Mn4t?MnO$t[7QcgSjWOX/VZ[/V^p/Vqr6ysw6yx!P6y!P!Q/V!Q!^6y!^!_8]!a#S6y#S#T8]#T#s6y#s$f/V$f;'S6y;'S;=`9T<%l?Ah6y?Ah?BY/V?BY?Mn6y?MnO/VS8bXgSqr8]sw8]x!P8]!Q!_8]!a#s8]$f;'S8];'S;=`8}<%l?Ah8]?BY?Mn8]S9QP;=`<%l8][9WP;=`<%l6y!U9dbgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!U:oP;=`<%l9Z!V:}egS!b`!dp^POq&bqr:rrs'^sv:rvw8]wx*yx!P:r!P!Q&b!Q!^:r!^!_9Z!_!a&b!a#o:r#o#p<`#p#s:r#s$f&b$f;'S:r;'S;=`>Q<%l?Ah:r?Ah?BY&b?BY?Mn:r?MnO&b!V<iggS!b`!dpOq&bqr:rrs'^sv:rvw8]wx*yx!P:r!P!Q&b!Q!^:r!^!_9Z!_!a&b!a#o:r#o#p9Z#p#s:r#s$f&b$f;'S:r;'S;=`>Q<%l?Ah:r?Ah?BY&b?BY?Mn:r?Mn~&b~O&b~~)_!V>TP;=`<%l:r!_>cngSjW!b`!dpOX$tXZ&bZ[$t[^&b^p$tpq&bqr4trs'^sv4tvw6ywx*yx!P4t!P!Q$t!Q!^4t!^!_9Z!_!a&b!a#S4t#S#T:r#T#o4t#o#p@a#p#s4t#s$f$t$f;'S4t;'S;=`Bd<%l?Ah4t?Ah?BY$t?BY?Mn4t?Mn~$t~O$t~~)_!^@ljgSjW!b`!dpOX1rXZ-]Z[1r[^-]^p1rpq-]qr@ars)dsv@avw6ywx+px!P@a!P!Q1r!Q!^@a!^!_9Z!_!a-]!a#S@a#S#T9Z#T#s@a#s$f1r$f;'S@a;'S;=`B^<%l?Ah@a?Ah?BY1r?BY?Mn@a?MnO1r!^BaP;=`<%l@a!_BgP;=`<%l4t!ZBsX!ah!dp^POv'^wx(Qx!^'^!^!_)d!_#o'^#o#p){#p;'S'^;'S;=`*s<%lO'^!_CijgSjWb!ROXEZXZFhZ[EZ[^Fh^pEZqrHYrsFhstMztwHYwxFhx!PHY!P!QEZ!Q!]HY!]!^6y!^!_Kg!_!aFh!a#SHY#S#TKg#T#sHY#s$fEZ$f;'SHY;'S;=`Mt<%l?AhHY?Ah?BYEZ?BY?MnHY?MnOEZ!ZE`bjWOXEZXZFhZ[EZ[^Fh^pEZqrEZrsFhst/VtwEZwxFhx!]EZ!]!^G]!^!aFh!a#SEZ#S#TFh#T;'SEZ;'S;=`HS<%lOEZ!RFkVOpFhqsFht!]Fh!]!^GQ!^;'SFh;'S;=`GV<%lOFh!RGVO`!R!RGYP;=`<%lFh!ZGdYjW`!ROX/VZ[/V^p/Vqr/Vsw/Vx!^/V!a#S/V#T;'S/V;'S;=`/z<%lO/V!ZHVP;=`<%lEZ!_HajgSjWOXEZXZFhZ[EZ[^Fh^pEZqrHYrsFhst6ytwHYwxFhx!PHY!P!QEZ!Q!]HY!]!^JR!^!_Kg!_!aFh!a#SHY#S#TKg#T#sHY#s$fEZ$f;'SHY;'S;=`Mt<%l?AhHY?Ah?BYEZ?BY?MnHY?MnOEZ!_J[cgSjW`!ROX/VZ[/V^p/Vqr6ysw6yx!P6y!P!Q/V!Q!^6y!^!_8]!a#S6y#S#T8]#T#s6y#s$f/V$f;'S6y;'S;=`9T<%l?Ah6y?Ah?BY/V?BY?Mn6y?MnO/V!VKldgSOpFhqrKgrsFhst8]twKgwxFhx!PKg!P!QFh!Q!]Kg!]!^Lz!^!_Kg!_!aFh!a#sKg#s$fFh$f;'SKg;'S;=`Mn<%l?AhKg?Ah?BYFh?BY?MnKg?MnOFh!VMRXgS`!Rqr8]sw8]x!P8]!Q!_8]!a#s8]$f;'S8];'S;=`8}<%l?Ah8]?BY?Mn8]!VMqP;=`<%lKg!_MwP;=`<%lHY!_NRigSjWOX! pXZ!!zZ[! p[^!!z^p! pqr!$irs!!zsw!$iwx!!zx!P!$i!P!Q! p!Q!]!$i!]!^6y!^!_!'s!_!a!!z!a#S!$i#S#T!'s#T#s!$i#s$f! p$f;'S!$i;'S;=`!)}<%l?Ah!$i?Ah?BY! p?BY?Mn!$i?MnO! p!Z! uajWOX! pXZ!!zZ[! p[^!!z^p! pqr! prs!!zsw! pwx!!zx!]! p!]!^!#l!^!a!!z!a#S! p#S#T!!z#T;'S! p;'S;=`!$c<%lO! p!R!!}UOp!!zq!]!!z!]!^!#a!^;'S!!z;'S;=`!#f<%lO!!z!R!#fOa!R!R!#iP;=`<%l!!z!Z!#sYjWa!ROX/VZ[/V^p/Vqr/Vsw/Vx!^/V!a#S/V#T;'S/V;'S;=`/z<%lO/V!Z!$fP;=`<%l! p!_!$pigSjWOX! pXZ!!zZ[! p[^!!z^p! pqr!$irs!!zsw!$iwx!!zx!P!$i!P!Q! p!Q!]!$i!]!^!&_!^!_!'s!_!a!!z!a#S!$i#S#T!'s#T#s!$i#s$f! p$f;'S!$i;'S;=`!)}<%l?Ah!$i?Ah?BY! p?BY?Mn!$i?MnO! p!_!&hcgSjWa!ROX/VZ[/V^p/Vqr6ysw6yx!P6y!P!Q/V!Q!^6y!^!_8]!a#S6y#S#T8]#T#s6y#s$f/V$f;'S6y;'S;=`9T<%l?Ah6y?Ah?BY/V?BY?Mn6y?MnO/V!V!'xcgSOp!!zqr!'srs!!zsw!'swx!!zx!P!'s!P!Q!!z!Q!]!'s!]!^!)T!^!_!'s!_!a!!z!a#s!'s#s$f!!z$f;'S!'s;'S;=`!)w<%l?Ah!'s?Ah?BY!!z?BY?Mn!'s?MnO!!z!V!)[XgSa!Rqr8]sw8]x!P8]!Q!_8]!a#s8]$f;'S8];'S;=`8}<%l?Ah8]?BY?Mn8]!V!)zP;=`<%l!'s!_!*QP;=`<%l!$i!Z!*^Y!cx!b`^POr*yrs(Qsv*yw!^*y!^!_+p!_#o*y#o#p,[#p;'S*y;'S;=`-V<%lO*y!a!+ZngSjW!b`!dp^POX$tXZ&bZ[$t[^&b^p$tpq&bqr4trs'^sv4tvw6ywx*yx}4t}!O!-X!O!P4t!P!Q$t!Q!^4t!^!_9Z!_!a&b!a#S4t#S#T:r#T#o4t#o#p>W#p#s4t#s$f$t$f;'S4t;'S;=`Bd<%l?Ah4t?Ah?BY$t?BY?Mn4t?MnO$t!a!-fmgSjW!b`!dp^POX$tXZ&bZ[$t[^&b^p$tpq&bqr4trs'^sv4tvw6ywx*yx!P4t!P!Q$t!Q!^4t!^!_9Z!_!`&b!`!a!/a!a#S4t#S#T:r#T#o4t#o#p>W#p#s4t#s$f$t$f;'S4t;'S;=`Bd<%l?Ah4t?Ah?BY$t?BY?Mn4t?MnO$t!T!/lZ!b`!dp!fQ^POr&brs'^sv&bwx*yx!^&b!^!_-]!_#o&b#o#p.P#p;'S&b;'S;=`/P<%lO&b!a!0jfjW!b`!dp^POX$tXZ&bZ[$t[^&b^p$tpq&bqr$trs'^sv$tvw/Vwx*yx!^$t!^!_-]!_!`&b!`!a!2O!a#S$t#S#T&b#T#o$t#o#p0Q#p;'S$t;'S;=`3Z<%lO$t!X!2]Z!b`!dp^PwSkUOr&brs'^sv&bwx*yx!^&b!^!_-]!_#o&b#o#p.P#p;'S&b;'S;=`/P<%lO&b!a!3_![gSeQjW!b`!dp^POX$tXZ&bZ[$t[^&b^p$tpq&bqr4trs'^sv4tvw6ywx*yx}4t}!O!3O!O!P!3O!P!Q$t!Q![!3O![!]!3O!]!^4t!^!_9Z!_!a&b!a!c4t!c!}!3O!}#R4t#R#S!3O#S#T:r#T#o!3O#o#p>W#p#s4t#s$f$t$f$}4t$}%O!3O%O%W4t%W%o!3O%o%p4t%p&a!3O&a&b4t&b1p!3O1p4U!3O4U4d!3O4d4e4t4e$IS!3O$IS$I`4t$I`$Ib!3O$Ib$Je4t$Je$Jg!3O$Jg$Kh4t$Kh%#t!3O%#t&/x4t&/x&Et!3O&Et&FV4t&FV;'S!3O;'S;:j!7T;:j;=`Bd<%l?&r4t?&r?Ah!3O?Ah?BY$t?BY?Mn!3O?MnO$t!a!7WP;=`<%l!3O!V!7dcgS!b`!dpOq-]qr!8ors)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a!b#(|!b#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!8xhgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px}9Z}!O!:d!O!P9Z!P!Q-]!Q!_9Z!_!a-]!a!f9Z!f!g!=`!g#W9Z#W#X!M|#X#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!:mdgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px}9Z}!O!;{!O!P9Z!P!Q-]!Q!_9Z!_!a-]!a#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!<WbgS!b`!dp!ePOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!=idgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a!q9Z!q!r!>w!r#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!?QdgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a!e9Z!e!f!@`!f#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!@idgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a!v9Z!v!w!Aw!w#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!BQdgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a!{9Z!{!|!C`!|#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!CidgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a!r9Z!r!s!Dw!s#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!EQdgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a!g9Z!g!h!F`!h#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V!FicgS!b`!dpOq!Gtqr!F`rs!Hksv!F`vw!Lcwx!J_x!P!F`!P!Q!Gt!Q!_!F`!_!`!Gt!`!a!Km!a#s!F`#s$f!Gt$f;'S!F`;'S;=`!Mv<%l?Ah!F`?Ah?BY!Gt?BY?Mn!F`?MnO!Gt!R!G{Y!b`!dpOr!Gtrs!Hksv!Gtvw!IVwx!J_x!`!Gt!`!a!Km!a;'S!Gt;'S;=`!L]<%lO!Gtq!HpV!dpOv!Hkvx!IVx!`!Hk!`!a!It!a;'S!Hk;'S;=`!JX<%lO!HkP!IYTO!`!IV!`!a!Ii!a;'S!IV;'S;=`!In<%lO!IVP!InO|PP!IqP;=`<%l!IVq!I{S!dp|POv)dx;'S)d;'S;=`)u<%lO)dq!J[P;=`<%l!Hka!JdX!b`Or!J_rs!IVsv!J_vw!IVw!`!J_!`!a!KP!a;'S!J_;'S;=`!Kg<%lO!J_a!KWT!b`|POr+psv+pw;'S+p;'S;=`,U<%lO+pa!KjP;=`<%l!J_!R!KvV!b`!dp|POr-]rs)dsv-]wx+px;'S-];'S;=`-y<%lO-]!R!L`P;=`<%l!GtT!LhbgSOq!IVqr!Lcrs!IVsw!Lcwx!IVx!P!Lc!P!Q!IV!Q!_!Lc!_!`!IV!`!a!Ii!a#s!Lc#s$f!IV$f;'S!Lc;'S;=`!Mp<%l?Ah!Lc?Ah?BY!IV?BY?Mn!Lc?MnO!IVT!MsP;=`<%l!Lc!V!MyP;=`<%l!F`!V!NVdgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a#c9Z#c#d# e#d#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V# ndgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a#V9Z#V#W#!|#W#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V##VdgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a#h9Z#h#i#$e#i#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V#$ndgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a#m9Z#m#n#%|#n#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V#&VdgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a#d9Z#d#e#'e#e#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V#'ndgS!b`!dpOq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a#X9Z#X#Y!F`#Y#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V#)VcgS!b`!dpOq#*bqr#(|rs#+Xsv#(|vw#1fwx#-yx!P#(|!P!Q#*b!Q!_#(|!_!a#*b!a!b#4W!b#s#(|#s$f#*b$f;'S#(|;'S;=`#5l<%l?Ah#(|?Ah?BY#*b?BY?Mn#(|?MnO#*b!R#*iY!b`!dpOr#*brs#+Xsv#*bvw#+swx#-yx!a#*b!a!b#/y!b;'S#*b;'S;=`#1`<%lO#*bq#+^V!dpOv#+Xvx#+sx!a#+X!a!b#,t!b;'S#+X;'S;=`#-s<%lO#+XP#+vTO!a#+s!a!b#,V!b;'S#+s;'S;=`#,n<%lO#+sP#,YTO!`#+s!`!a#,i!a;'S#+s;'S;=`#,n<%lO#+sP#,nOyPP#,qP;=`<%l#+sq#,yV!dpOv#+Xvx#+sx!`#+X!`!a#-`!a;'S#+X;'S;=`#-s<%lO#+Xq#-gS!dpyPOv)dx;'S)d;'S;=`)u<%lO)dq#-vP;=`<%l#+Xa#.OX!b`Or#-yrs#+ssv#-yvw#+sw!a#-y!a!b#.k!b;'S#-y;'S;=`#/s<%lO#-ya#.pX!b`Or#-yrs#+ssv#-yvw#+sw!`#-y!`!a#/]!a;'S#-y;'S;=`#/s<%lO#-ya#/dT!b`yPOr+psv+pw;'S+p;'S;=`,U<%lO+pa#/vP;=`<%l#-y!R#0QY!b`!dpOr#*brs#+Xsv#*bvw#+swx#-yx!`#*b!`!a#0p!a;'S#*b;'S;=`#1`<%lO#*b!R#0yV!b`!dpyPOr-]rs)dsv-]wx+px;'S-];'S;=`-y<%lO-]!R#1cP;=`<%l#*bT#1kbgSOq#+sqr#1frs#+ssw#1fwx#+sx!P#1f!P!Q#+s!Q!_#1f!_!a#+s!a!b#2s!b#s#1f#s$f#+s$f;'S#1f;'S;=`#4Q<%l?Ah#1f?Ah?BY#+s?BY?Mn#1f?MnO#+sT#2xbgSOq#+sqr#1frs#+ssw#1fwx#+sx!P#1f!P!Q#+s!Q!_#1f!_!`#+s!`!a#,i!a#s#1f#s$f#+s$f;'S#1f;'S;=`#4Q<%l?Ah#1f?Ah?BY#+s?BY?Mn#1f?MnO#+sT#4TP;=`<%l#1f!V#4acgS!b`!dpOq#*bqr#(|rs#+Xsv#(|vw#1fwx#-yx!P#(|!P!Q#*b!Q!_#(|!_!`#*b!`!a#0p!a#s#(|#s$f#*b$f;'S#(|;'S;=`#5l<%l?Ah#(|?Ah?BY#*b?BY?Mn#(|?MnO#*b!V#5oP;=`<%l#(|!V#5}ZhS!b`!dp^POr&brs'^sv&bwx*yx!^&b!^!_-]!_#o&b#o#p.P#p;'S&b;'S;=`/P<%lO&b!X#6{Z!b`!dp^PkUOr&brs'^sv&bwx*yx!^&b!^!_-]!_#o&b#o#p.P#p;'S&b;'S;=`/P<%lO&b!_#7yngSjW!b`!dpOX$tXZ&bZ[$t[^&b^p$tpq&bqr4trs'^sv4tvw6ywx*yx!P4t!P!Q$t!Q!^4t!^!_9Z!_!a&b!a#S4t#S#T:r#T#o4t#o#p#9w#p#s4t#s$f$t$f;'S4t;'S;=`Bd<%l?Ah4t?Ah?BY$t?BY?Mn4t?Mn~$t~O$t~~)_!_#:S!SgSjW!b`!dpOX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#9wrs#CTsv#9wvw$MTwx$$`x!P#9w!P!Q#=`!Q![#9w![!^#9w!^!_%:{!_!a#@c!a!c#9w!c!}#9w!}#O#9w#O#P%IT#P#S#9w#S#T%:{#T#o#9w#o#q#9w#q#r&$Y#r#s#9w#s#y#=`#y#z#=`#z$f#=`$f$g#9w$gG|#9wG|#BY@a#BY#BZ#9w#BZ$IS@a$IS$I_#9w$I_$I|@a$I|$JO#9w$JO$JT@a$JT$JU#9w$JU$KV@a$KV$KW#9w$KW&FU@a&FU&FV#9w&FV;'S@a;'S;=`B^<%l?Ah@a?Ah?BY1r?BY?Mn@a?MnO1r!Z#=i|jW!b`!dpOX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#=`rs#CTsv#=`vw$5}wx$$`x!Q#=`!Q![#=`![!^#=`!^!a#@c!a!c#=`!c!}#=`!}#O#=`#O#P$Bb#P#S#=`#S#T#@c#T#o#=`#o#q#=`#q#r$JR#r#y#=`#y#z#=`#z$f#=`$f$g#=`$gG|#=`G|#BY1r#BY#BZ#=`#BZ$IS1r$IS$I_#=`$I_$I|1r$I|$JO#=`$JO$JT1r$JT$JU#=`$JU$KV1r$KV$KW#=`$KW&FU1r&FU&FV#=`&FV;'S1r;'S;=`3T<%lO1r!R#@jw!b`!dpOX#@cX^#@c^p#@cpq#@cqr#@crs#CTsv#@cvw#Ejwx$$`x!Q#@c!Q![#@c![!c#@c!c!}#@c!}#O#@c#O#P$.V#P#T#@c#T#o#@c#o#q#@c#q#r$4b#r#y#@c#y#z#@c#z$f#@c$f$g#@c$gG|#@cG|#BY-]#BY#BZ#@c#BZ$IS-]$IS$I_#@c$I_$I|-]$I|$JO#@c$JO$JT-]$JT$JU#@c$JU$KV-]$KV$KW#@c$KW&FU-]&FU&FV#@c&FV;'S-];'S;=`-y<%lO-]q#CYt!dpOX#CTX^#CT^p#CTpq#CTqv#CTvx#Ejx!Q#CT!Q![#CT![!c#CT!c!}#CT!}#O#CT#O#P#Kq#P#T#CT#T#o#CT#o#q#CT#q#r$#Z#r#y#CT#y#z#CT#z$f#CT$f$g#CT$gG|#CTG|#BY)d#BY#BZ#CT#BZ$IS)d$IS$I_#CT$I_$I|)d$I|$JO#CT$JO$JT)d$JT$JU#CT$JU$KV)d$KV$KW#CT$KW&FU)d&FU&FV#CT&FV;'S)d;'S;=`)u<%lO)dP#EmiOX#EjX^#Ej^p#Ejpq#Ejq!Q#Ej!Q![#Ej![!c#Ej!c!}#Ej!}#O#Ej#O#P#G[#P#T#Ej#T#o#Ej#o#q#Ej#q#r#KS#r#y#Ej#y#z#Ej#z$f#Ej$f$g#Ej$gG|#Ej#BY#BZ#Ej$IS$I_#Ej$I|$JO#Ej$JT$JU#Ej$KV$KW#Ej&FU&FV#EjP#G_iOX#EjX^#Ej^p#Ejpq#Ejq!Q#Ej!Q![#Ej![!c#Ej!c!}#Ej!}#O#Ej#O#P#G[#P#T#Ej#T#o#Ej#o#q#Ej#q#r#H|#r#y#Ej#y#z#Ej#z$f#Ej$f$g#Ej$gG|#Ej#BY#BZ#Ej$IS$I_#Ej$I|$JO#Ej$JT$JU#Ej$KV$KW#Ej&FU&FV#EjP#IPTO#q#Ej#q#r#I`#r;'S#Ej;'S;=`#Kk<%lO#EjP#Iei_POX#EjX^#Ej^p#Ejpq#Ejq!Q#Ej!Q![#Ej![!c#Ej!c!}#Ej!}#O#Ej#O#P#G[#P#T#Ej#T#o#Ej#o#q#Ej#q#r#KS#r#y#Ej#y#z#Ej#z$f#Ej$f$g#Ej$gG|#Ej#BY#BZ#Ej$IS$I_#Ej$I|$JO#Ej$JT$JU#Ej$KV$KW#Ej&FU&FV#EjP#KVTO#q#Ej#q#r#Kf#r;'S#Ej;'S;=`#Kk<%lO#EjP#KkO_PP#KnP;=`<%l#Ejq#Kvt!dpOX#CTX^#CT^p#CTpq#CTqv#CTvx#Ejx!Q#CT!Q![#CT![!c#CT!c!}#CT!}#O#CT#O#P#Kq#P#T#CT#T#o#CT#o#q#CT#q#r#NW#r#y#CT#y#z#CT#z$f#CT$f$g#CT$gG|#CTG|#BY)d#BY#BZ#CT#BZ$IS)d$IS$I_#CT$I_$I|)d$I|$JO#CT$JO$JT)d$JT$JU#CT$JU$KV)d$KV$KW#CT$KW&FU)d&FU&FV#CT&FV;'S)d;'S;=`)u<%lO)dq#N]V!dpOv#CTvx#Ejx#q#CT#q#r#Nr#r;'S#CT;'S;=`$$Y<%lO#CTq#Nyt!dp_POX#CTX^#CT^p#CTpq#CTqv#CTvx#Ejx!Q#CT!Q![#CT![!c#CT!c!}#CT!}#O#CT#O#P#Kq#P#T#CT#T#o#CT#o#q#CT#q#r$#Z#r#y#CT#y#z#CT#z$f#CT$f$g#CT$gG|#CTG|#BY)d#BY#BZ#CT#BZ$IS)d$IS$I_#CT$I_$I|)d$I|$JO#CT$JO$JT)d$JT$JU#CT$JU$KV)d$KV$KW#CT$KW&FU)d&FU&FV#CT&FV;'S)d;'S;=`)u<%lO)dq$#`V!dpOv#CTvx#Ejx#q#CT#q#r$#u#r;'S#CT;'S;=`$$Y<%lO#CTq$#|S!dp_POv)dx;'S)d;'S;=`)u<%lO)dq$$]P;=`<%l#CTa$$ev!b`OX$$`X^$$`^p$$`pq$$`qr$$`rs#Ejsv$$`vw#Ejw!Q$$`!Q![$$`![!c$$`!c!}$$`!}#O$$`#O#P$&{#P#T$$`#T#o$$`#o#q$$`#q#r$,w#r#y$$`#y#z$$`#z$f$$`$f$g$$`$gG|$$`G|#BY+p#BY#BZ$$`#BZ$IS+p$IS$I_$$`$I_$I|+p$I|$JO$$`$JO$JT+p$JT$JU$$`$JU$KV+p$KV$KW$$`$KW&FU+p&FU&FV$$`&FV;'S+p;'S;=`,U<%lO+pa$'Qv!b`OX$$`X^$$`^p$$`pq$$`qr$$`rs#Ejsv$$`vw#Ejw!Q$$`!Q![$$`![!c$$`!c!}$$`!}#O$$`#O#P$&{#P#T$$`#T#o$$`#o#q$$`#q#r$)h#r#y$$`#y#z$$`#z$f$$`$f$g$$`$gG|$$`G|#BY+p#BY#BZ$$`#BZ$IS+p$IS$I_$$`$I_$I|+p$I|$JO$$`$JO$JT+p$JT$JU$$`$JU$KV+p$KV$KW$$`$KW&FU+p&FU&FV$$`&FV;'S+p;'S;=`,U<%lO+pa$)mX!b`Or$$`rs#Ejsv$$`vw#Ejw#q$$`#q#r$*Y#r;'S$$`;'S;=`$.P<%lO$$`a$*av!b`_POX$$`X^$$`^p$$`pq$$`qr$$`rs#Ejsv$$`vw#Ejw!Q$$`!Q![$$`![!c$$`!c!}$$`!}#O$$`#O#P$&{#P#T$$`#T#o$$`#o#q$$`#q#r$,w#r#y$$`#y#z$$`#z$f$$`$f$g$$`$gG|$$`G|#BY+p#BY#BZ$$`#BZ$IS+p$IS$I_$$`$I_$I|+p$I|$JO$$`$JO$JT+p$JT$JU$$`$JU$KV+p$KV$KW$$`$KW&FU+p&FU&FV$$`&FV;'S+p;'S;=`,U<%lO+pa$,|X!b`Or$$`rs#Ejsv$$`vw#Ejw#q$$`#q#r$-i#r;'S$$`;'S;=`$.P<%lO$$`a$-pT!b`_POr+psv+pw;'S+p;'S;=`,U<%lO+pa$.SP;=`<%l$$`!R$.^w!b`!dpOX#@cX^#@c^p#@cpq#@cqr#@crs#CTsv#@cvw#Ejwx$$`x!Q#@c!Q![#@c![!c#@c!c!}#@c!}#O#@c#O#P$.V#P#T#@c#T#o#@c#o#q#@c#q#r$0w#r#y#@c#y#z#@c#z$f#@c$f$g#@c$gG|#@cG|#BY-]#BY#BZ#@c#BZ$IS-]$IS$I_#@c$I_$I|-]$I|$JO#@c$JO$JT-]$JT$JU#@c$JU$KV-]$KV$KW#@c$KW&FU-]&FU&FV#@c&FV;'S-];'S;=`-y<%lO-]!R$1OY!b`!dpOr#@crs#CTsv#@cvw#Ejwx$$`x#q#@c#q#r$1n#r;'S#@c;'S;=`$5w<%lO#@c!R$1ww!b`!dp_POX#@cX^#@c^p#@cpq#@cqr#@crs#CTsv#@cvw#Ejwx$$`x!Q#@c!Q![#@c![!c#@c!c!}#@c!}#O#@c#O#P$.V#P#T#@c#T#o#@c#o#q#@c#q#r$4b#r#y#@c#y#z#@c#z$f#@c$f$g#@c$gG|#@cG|#BY-]#BY#BZ#@c#BZ$IS-]$IS$I_#@c$I_$I|-]$I|$JO#@c$JO$JT-]$JT$JU#@c$JU$KV-]$KV$KW#@c$KW&FU-]&FU&FV#@c&FV;'S-];'S;=`-y<%lO-]!R$4iY!b`!dpOr#@crs#CTsv#@cvw#Ejwx$$`x#q#@c#q#r$5X#r;'S#@c;'S;=`$5w<%lO#@c!R$5bV!b`!dp_POr-]rs)dsv-]wx+px;'S-];'S;=`-y<%lO-]!R$5zP;=`<%l#@cX$6S{jWOX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$5}rs#Ejsw$5}wx#Ejx!Q$5}!Q![$5}![!^$5}!^!a#Ej!a!c$5}!c!}$5}!}#O$5}#O#P$8y#P#S$5}#S#T#Ej#T#o$5}#o#q$5}#q#r$@T#r#y$5}#y#z$5}#z$f$5}$f$g$5}$gG|$5}G|#BY/V#BY#BZ$5}#BZ$IS/V$IS$I_$5}$I_$I|/V$I|$JO$5}$JO$JT/V$JT$JU$5}$JU$KV/V$KV$KW$5}$KW&FU/V&FU&FV$5}&FV;'S/V;'S;=`/z<%lO/VX$9O{jWOX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$5}rs#Ejsw$5}wx#Ejx!Q$5}!Q![$5}![!^$5}!^!a#Ej!a!c$5}!c!}$5}!}#O$5}#O#P$8y#P#S$5}#S#T#Ej#T#o$5}#o#q$5}#q#r$;u#r#y$5}#y#z$5}#z$f$5}$f$g$5}$gG|$5}G|#BY/V#BY#BZ$5}#BZ$IS/V$IS$I_$5}$I_$I|/V$I|$JO$5}$JO$JT/V$JT$JU$5}$JU$KV/V$KV$KW$5}$KW&FU/V&FU&FV$5}&FV;'S/V;'S;=`/z<%lO/VX$;zcjWOX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$5}rs#Ejsw$5}wx#Ejx!^$5}!^!a#Ej!a#S$5}#S#T#Ej#T#q$5}#q#r$=V#r;'S$5};'S;=`$B[<%lO$5}X$=^{jW_POX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$5}rs#Ejsw$5}wx#Ejx!Q$5}!Q![$5}![!^$5}!^!a#Ej!a!c$5}!c!}$5}!}#O$5}#O#P$8y#P#S$5}#S#T#Ej#T#o$5}#o#q$5}#q#r$@T#r#y$5}#y#z$5}#z$f$5}$f$g$5}$gG|$5}G|#BY/V#BY#BZ$5}#BZ$IS/V$IS$I_$5}$I_$I|/V$I|$JO$5}$JO$JT/V$JT$JU$5}$JU$KV/V$KV$KW$5}$KW&FU/V&FU&FV$5}&FV;'S/V;'S;=`/z<%lO/VX$@YcjWOX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$5}rs#Ejsw$5}wx#Ejx!^$5}!^!a#Ej!a#S$5}#S#T#Ej#T#q$5}#q#r$Ae#r;'S$5};'S;=`$B[<%lO$5}X$AlYjW_POX/VZ[/V^p/Vqr/Vsw/Vx!^/V!a#S/V#T;'S/V;'S;=`/z<%lO/VX$B_P;=`<%l$5}!Z$Bk|jW!b`!dpOX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#=`rs#CTsv#=`vw$5}wx$$`x!Q#=`!Q![#=`![!^#=`!^!a#@c!a!c#=`!c!}#=`!}#O#=`#O#P$Bb#P#S#=`#S#T#@c#T#o#=`#o#q#=`#q#r$Ee#r#y#=`#y#z#=`#z$f#=`$f$g#=`$gG|#=`G|#BY1r#BY#BZ#=`#BZ$IS1r$IS$I_#=`$I_$I|1r$I|$JO#=`$JO$JT1r$JT$JU#=`$JU$KV1r$KV$KW#=`$KW&FU1r&FU&FV#=`&FV;'S1r;'S;=`3T<%lO1r!Z$EndjW!b`!dpOX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#=`rs#CTsv#=`vw$5}wx$$`x!^#=`!^!a#@c!a#S#=`#S#T#@c#T#q#=`#q#r$F|#r;'S#=`;'S;=`$L}<%lO#=`!Z$GX|jW!b`!dp_POX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#=`rs#CTsv#=`vw$5}wx$$`x!Q#=`!Q![#=`![!^#=`!^!a#@c!a!c#=`!c!}#=`!}#O#=`#O#P$Bb#P#S#=`#S#T#@c#T#o#=`#o#q#=`#q#r$JR#r#y#=`#y#z#=`#z$f#=`$f$g#=`$gG|#=`G|#BY1r#BY#BZ#=`#BZ$IS1r$IS$I_#=`$I_$I|1r$I|$JO#=`$JO$JT1r$JT$JU#=`$JU$KV1r$KV$KW#=`$KW&FU1r&FU&FV#=`&FV;'S1r;'S;=`3T<%lO1r!Z$J[djW!b`!dpOX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#=`rs#CTsv#=`vw$5}wx$$`x!^#=`!^!a#@c!a#S#=`#S#T#@c#T#q#=`#q#r$Kj#r;'S#=`;'S;=`$L}<%lO#=`!Z$KubjW!b`!dp_POX1rXZ-]Z[1r[^-]^p1rpq-]qr1rrs)dsv1rvw/Vwx+px!^1r!^!a-]!a#S1r#S#T-]#T;'S1r;'S;=`3T<%lO1r!Z$MQP;=`<%l#=`]$M[!RgSjWOX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$MTrs#Ejsw$MTwx#Ejx!P$MT!P!Q$5}!Q![$MT![!^$MT!^!_%!e!_!a#Ej!a!c$MT!c!}$MT!}#O$MT#O#P%.u#P#S$MT#S#T%!e#T#o$MT#o#q$MT#q#r%7e#r#s$MT#s#y$5}#y#z$5}#z$f$5}$f$g$MT$gG|$MTG|#BY6y#BY#BZ$MT#BZ$IS6y$IS$I_$MT$I_$I|6y$I|$JO$MT$JO$JT6y$JT$JU$MT$JU$KV6y$KV$KW$MT$KW&FU6y&FU&FV$MT&FV;'S6y;'S;=`9T<%l?Ah6y?Ah?BY/V?BY?Mn6y?MnO/VT%!j{gSOX#EjX^#Ej^p#Ejpq#Ejqr%!ers#Ejsw%!ewx#Ejx!P%!e!P!Q#Ej!Q![%!e![!_%!e!_!a#Ej!a!c%!e!c!}%!e!}#O%!e#O#P%%a#P#T%!e#T#o%!e#o#q%!e#q#r%,k#r#s%!e#s#y#Ej#y#z#Ej#z$f#Ej$f$g%!e$gG|%!eG|#BY8]#BY#BZ%!e#BZ$IS8]$IS$I_%!e$I_$I|8]$I|$JO%!e$JO$JT8]$JT$JU%!e$JU$KV8]$KV$KW%!e$KW&FU8]&FU&FV%!e&FV;'S8];'S;=`8}<%l?Ah8]?BY?Mn8]T%%f{gSOX#EjX^#Ej^p#Ejpq#Ejqr%!ers#Ejsw%!ewx#Ejx!P%!e!P!Q#Ej!Q![%!e![!_%!e!_!a#Ej!a!c%!e!c!}%!e!}#O%!e#O#P%%a#P#T%!e#T#o%!e#o#q%!e#q#r%(]#r#s%!e#s#y#Ej#y#z#Ej#z$f#Ej$f$g%!e$gG|%!eG|#BY8]#BY#BZ%!e#BZ$IS8]$IS$I_%!e$I_$I|8]$I|$JO%!e$JO$JT8]$JT$JU%!e$JU$KV8]$KV$KW%!e$KW&FU8]&FU&FV%!e&FV;'S8];'S;=`8}<%l?Ah8]?BY?Mn8]T%(bcgSOq#Ejqr%!ers#Ejsw%!ewx#Ejx!P%!e!P!Q#Ej!Q!_%!e!_!a#Ej!a#q%!e#q#r%)m#r#s%!e#s$f#Ej$f;'S%!e;'S;=`%.o<%l?Ah%!e?Ah?BY#Ej?BY?Mn%!e?MnO#EjT%)t{gS_POX#EjX^#Ej^p#Ejpq#Ejqr%!ers#Ejsw%!ewx#Ejx!P%!e!P!Q#Ej!Q![%!e![!_%!e!_!a#Ej!a!c%!e!c!}%!e!}#O%!e#O#P%%a#P#T%!e#T#o%!e#o#q%!e#q#r%,k#r#s%!e#s#y#Ej#y#z#Ej#z$f#Ej$f$g%!e$gG|%!eG|#BY8]#BY#BZ%!e#BZ$IS8]$IS$I_%!e$I_$I|8]$I|$JO%!e$JO$JT8]$JT$JU%!e$JU$KV8]$KV$KW%!e$KW&FU8]&FU&FV%!e&FV;'S8];'S;=`8}<%l?Ah8]?BY?Mn8]T%,pcgSOq#Ejqr%!ers#Ejsw%!ewx#Ejx!P%!e!P!Q#Ej!Q!_%!e!_!a#Ej!a#q%!e#q#r%-{#r#s%!e#s$f#Ej$f;'S%!e;'S;=`%.o<%l?Ah%!e?Ah?BY#Ej?BY?Mn%!e?MnO#EjT%.SXgS_Pqr8]sw8]x!P8]!Q!_8]!a#s8]$f;'S8];'S;=`8}<%l?Ah8]?BY?Mn8]T%.rP;=`<%l%!e]%.|!RgSjWOX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$MTrs#Ejsw$MTwx#Ejx!P$MT!P!Q$5}!Q![$MT![!^$MT!^!_%!e!_!a#Ej!a!c$MT!c!}$MT!}#O$MT#O#P%.u#P#S$MT#S#T%!e#T#o$MT#o#q$MT#q#r%2V#r#s$MT#s#y$5}#y#z$5}#z$f$5}$f$g$MT$gG|$MTG|#BY6y#BY#BZ$MT#BZ$IS6y$IS$I_$MT$I_$I|6y$I|$JO$MT$JO$JT6y$JT$JU$MT$JU$KV6y$KV$KW$MT$KW&FU6y&FU&FV$MT&FV;'S6y;'S;=`9T<%l?Ah6y?Ah?BY/V?BY?Mn6y?MnO/V]%2^kgSjWOX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$MTrs#Ejsw$MTwx#Ejx!P$MT!P!Q$5}!Q!^$MT!^!_%!e!_!a#Ej!a#S$MT#S#T%!e#T#q$MT#q#r%4R#r#s$MT#s$f$5}$f;'S$MT;'S;=`%:u<%l?Ah$MT?Ah?BY$5}?BY?Mn$MT?MnO$5}]%4[!RgSjW_POX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$MTrs#Ejsw$MTwx#Ejx!P$MT!P!Q$5}!Q![$MT![!^$MT!^!_%!e!_!a#Ej!a!c$MT!c!}$MT!}#O$MT#O#P%.u#P#S$MT#S#T%!e#T#o$MT#o#q$MT#q#r%7e#r#s$MT#s#y$5}#y#z$5}#z$f$5}$f$g$MT$gG|$MTG|#BY6y#BY#BZ$MT#BZ$IS6y$IS$I_$MT$I_$I|6y$I|$JO$MT$JO$JT6y$JT$JU$MT$JU$KV6y$KV$KW$MT$KW&FU6y&FU&FV$MT&FV;'S6y;'S;=`9T<%l?Ah6y?Ah?BY/V?BY?Mn6y?MnO/V]%7lkgSjWOX$5}XZ#EjZ[$5}[^#Ej^p$5}pq#Ejqr$MTrs#Ejsw$MTwx#Ejx!P$MT!P!Q$5}!Q!^$MT!^!_%!e!_!a#Ej!a#S$MT#S#T%!e#T#q$MT#q#r%9a#r#s$MT#s$f$5}$f;'S$MT;'S;=`%:u<%l?Ah$MT?Ah?BY$5}?BY?Mn$MT?MnO$5}]%9jcgSjW_POX/VZ[/V^p/Vqr6ysw6yx!P6y!P!Q/V!Q!^6y!^!_8]!a#S6y#S#T8]#T#s6y#s$f/V$f;'S6y;'S;=`9T<%l?Ah6y?Ah?BY/V?BY?Mn6y?MnO/V]%:xP;=`<%l$MT!V%;U!OgS!b`!dpOX#@cX^#@c^p#@cpq#@cqr%:{rs#CTsv%:{vw%!ewx$$`x!P%:{!P!Q#@c!Q![%:{![!_%:{!_!a#@c!a!c%:{!c!}%:{!}#O%:{#O#P%>U#P#T%:{#T#o%:{#o#q%:{#q#r%FR#r#s%:{#s#y#@c#y#z#@c#z$f#@c$f$g%:{$gG|%:{G|#BY9Z#BY#BZ%:{#BZ$IS9Z$IS$I_%:{$I_$I|9Z$I|$JO%:{$JO$JT9Z$JT$JU%:{$JU$KV9Z$KV$KW%:{$KW&FU9Z&FU&FV%:{&FV;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V%>_!OgS!b`!dpOX#@cX^#@c^p#@cpq#@cqr%:{rs#CTsv%:{vw%!ewx$$`x!P%:{!P!Q#@c!Q![%:{![!_%:{!_!a#@c!a!c%:{!c!}%:{!}#O%:{#O#P%>U#P#T%:{#T#o%:{#o#q%:{#q#r%A_#r#s%:{#s#y#@c#y#z#@c#z$f#@c$f$g%:{$gG|%:{G|#BY9Z#BY#BZ%:{#BZ$IS9Z$IS$I_%:{$I_$I|9Z$I|$JO%:{$JO$JT9Z$JT$JU%:{$JU$KV9Z$KV$KW%:{$KW&FU9Z&FU&FV%:{&FV;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V%AhdgS!b`!dpOq#@cqr%:{rs#CTsv%:{vw%!ewx$$`x!P%:{!P!Q#@c!Q!_%:{!_!a#@c!a#q%:{#q#r%Bv#r#s%:{#s$f#@c$f;'S%:{;'S;=`%H}<%l?Ah%:{?Ah?BY#@c?BY?Mn%:{?MnO#@c!V%CR!OgS!b`!dp_POX#@cX^#@c^p#@cpq#@cqr%:{rs#CTsv%:{vw%!ewx$$`x!P%:{!P!Q#@c!Q![%:{![!_%:{!_!a#@c!a!c%:{!c!}%:{!}#O%:{#O#P%>U#P#T%:{#T#o%:{#o#q%:{#q#r%FR#r#s%:{#s#y#@c#y#z#@c#z$f#@c$f$g%:{$gG|%:{G|#BY9Z#BY#BZ%:{#BZ$IS9Z$IS$I_%:{$I_$I|9Z$I|$JO%:{$JO$JT9Z$JT$JU%:{$JU$KV9Z$KV$KW%:{$KW&FU9Z&FU&FV%:{&FV;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V%F[dgS!b`!dpOq#@cqr%:{rs#CTsv%:{vw%!ewx$$`x!P%:{!P!Q#@c!Q!_%:{!_!a#@c!a#q%:{#q#r%Gj#r#s%:{#s$f#@c$f;'S%:{;'S;=`%H}<%l?Ah%:{?Ah?BY#@c?BY?Mn%:{?MnO#@c!V%GubgS!b`!dp_POq-]qr9Zrs)dsv9Zvw8]wx+px!P9Z!P!Q-]!Q!_9Z!_!a-]!a#s9Z#s$f-]$f;'S9Z;'S;=`:l<%l?Ah9Z?Ah?BY-]?BY?Mn9Z?MnO-]!V%IQP;=`<%l%:{!_%I`!SgSjW!b`!dpOX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#9wrs#CTsv#9wvw$MTwx$$`x!P#9w!P!Q#=`!Q![#9w![!^#9w!^!_%:{!_!a#@c!a!c#9w!c!}#9w!}#O#9w#O#P%IT#P#S#9w#S#T%:{#T#o#9w#o#q#9w#q#r%Ll#r#s#9w#s#y#=`#y#z#=`#z$f#=`$f$g#9w$gG|#9wG|#BY@a#BY#BZ#9w#BZ$IS@a$IS$I_#9w$I_$I|@a$I|$JO#9w$JO$JT@a$JT$JU#9w$JU$KV@a$KV$KW#9w$KW&FU@a&FU&FV#9w&FV;'S@a;'S;=`B^<%l?Ah@a?Ah?BY1r?BY?Mn@a?MnO1r!_%LwlgSjW!b`!dpOX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#9wrs#CTsv#9wvw$MTwx$$`x!P#9w!P!Q#=`!Q!^#9w!^!_%:{!_!a#@c!a#S#9w#S#T%:{#T#q#9w#q#r%No#r#s#9w#s$f#=`$f;'S#9w;'S;=`&([<%l?Ah#9w?Ah?BY#=`?BY?Mn#9w?MnO#=`!_%N|!SgSjW!b`!dp_POX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#9wrs#CTsv#9wvw$MTwx$$`x!P#9w!P!Q#=`!Q![#9w![!^#9w!^!_%:{!_!a#@c!a!c#9w!c!}#9w!}#O#9w#O#P%IT#P#S#9w#S#T%:{#T#o#9w#o#q#9w#q#r&$Y#r#s#9w#s#y#=`#y#z#=`#z$f#=`$f$g#9w$gG|#9wG|#BY@a#BY#BZ#9w#BZ$IS@a$IS$I_#9w$I_$I|@a$I|$JO#9w$JO$JT@a$JT$JU#9w$JU$KV@a$KV$KW#9w$KW&FU@a&FU&FV#9w&FV;'S@a;'S;=`B^<%l?Ah@a?Ah?BY1r?BY?Mn@a?MnO1r!_&$elgSjW!b`!dpOX#=`XZ#@cZ[#=`[^#@c^p#=`pq#@cqr#9wrs#CTsv#9wvw$MTwx$$`x!P#9w!P!Q#=`!Q!^#9w!^!_%:{!_!a#@c!a#S#9w#S#T%:{#T#q#9w#q#r&&]#r#s#9w#s$f#=`$f;'S#9w;'S;=`&([<%l?Ah#9w?Ah?BY#=`?BY?Mn#9w?MnO#=`!_&&jjgSjW!b`!dp_POX1rXZ-]Z[1r[^-]^p1rpq-]qr@ars)dsv@avw6ywx+px!P@a!P!Q1r!Q!^@a!^!_9Z!_!a-]!a#S@a#S#T9Z#T#s@a#s$f1r$f;'S@a;'S;=`B^<%l?Ah@a?Ah?BY1r?BY?Mn@a?MnO1r!_&(_P;=`<%l#9w",
|
|
1723
|
-
tokenizers: [scriptTokens, styleTokens, textareaTokens, tagStart, commentContent, 0, 1, 2, 3, 4, 5],
|
|
1724
|
-
topRules: { "Document": [0, 13] },
|
|
1725
|
-
dialects: { noMatch: 0, selfClosing: 491 },
|
|
1726
|
-
tokenPrec: 493
|
|
1727
|
-
});
|
|
1728
|
-
function getAttrs(openTag, input) {
|
|
1729
|
-
let attrs = /* @__PURE__ */ Object.create(null);
|
|
1730
|
-
for (let att of openTag.getChildren(Attribute)) {
|
|
1731
|
-
let name = att.getChild(AttributeName), value = att.getChild(AttributeValue) || att.getChild(UnquotedAttributeValue);
|
|
1732
|
-
if (name) attrs[input.read(name.from, name.to)] = !value ? "" : value.type.id == AttributeValue ? input.read(value.from + 1, value.to - 1) : input.read(value.from, value.to);
|
|
1733
|
-
}
|
|
1734
|
-
return attrs;
|
|
1735
|
-
}
|
|
1736
|
-
function findTagName(openTag, input) {
|
|
1737
|
-
let tagNameNode = openTag.getChild(TagName);
|
|
1738
|
-
return tagNameNode ? input.read(tagNameNode.from, tagNameNode.to) : " ";
|
|
1739
|
-
}
|
|
1740
|
-
function maybeNest(node, input, tags2) {
|
|
1741
|
-
let attrs;
|
|
1742
|
-
for (let tag of tags2) {
|
|
1743
|
-
if (!tag.attrs || tag.attrs(attrs || (attrs = getAttrs(node.node.parent.firstChild, input))))
|
|
1744
|
-
return { parser: tag.parser };
|
|
1745
|
-
}
|
|
1746
|
-
return null;
|
|
1747
|
-
}
|
|
1748
|
-
function configureNesting(tags2 = [], attributes = []) {
|
|
1749
|
-
let script = [], style = [], textarea = [], other = [];
|
|
1750
|
-
for (let tag of tags2) {
|
|
1751
|
-
let array = tag.tag == "script" ? script : tag.tag == "style" ? style : tag.tag == "textarea" ? textarea : other;
|
|
1752
|
-
array.push(tag);
|
|
1753
|
-
}
|
|
1754
|
-
let attrs = attributes.length ? /* @__PURE__ */ Object.create(null) : null;
|
|
1755
|
-
for (let attr of attributes) (attrs[attr.name] || (attrs[attr.name] = [])).push(attr);
|
|
1756
|
-
return parseMixed((node, input) => {
|
|
1757
|
-
let id = node.type.id;
|
|
1758
|
-
if (id == ScriptText) return maybeNest(node, input, script);
|
|
1759
|
-
if (id == StyleText) return maybeNest(node, input, style);
|
|
1760
|
-
if (id == TextareaText) return maybeNest(node, input, textarea);
|
|
1761
|
-
if (id == OpenTag && other.length) {
|
|
1762
|
-
let n = node.node, tagName = findTagName(n, input), attrs2;
|
|
1763
|
-
for (let tag of other) {
|
|
1764
|
-
if (tag.tag == tagName && (!tag.attrs || tag.attrs(attrs2 || (attrs2 = getAttrs(n, input))))) {
|
|
1765
|
-
let close = n.parent.lastChild;
|
|
1766
|
-
return { parser: tag.parser, overlay: [{ from: node.to, to: close.type.id == CloseTag ? close.from : n.parent.to }] };
|
|
1767
|
-
}
|
|
1768
|
-
}
|
|
1769
|
-
}
|
|
1770
|
-
if (attrs && id == Attribute) {
|
|
1771
|
-
let n = node.node, nameNode;
|
|
1772
|
-
if (nameNode = n.firstChild) {
|
|
1773
|
-
let matches = attrs[input.read(nameNode.from, nameNode.to)];
|
|
1774
|
-
if (matches) for (let attr of matches) {
|
|
1775
|
-
if (attr.tagName && attr.tagName != findTagName(n.parent, input)) continue;
|
|
1776
|
-
let value = n.lastChild;
|
|
1777
|
-
if (value.type.id == AttributeValue)
|
|
1778
|
-
return { parser: attr.parser, overlay: [{ from: value.from + 1, to: value.to - 1 }] };
|
|
1779
|
-
else if (value.type.id == UnquotedAttributeValue)
|
|
1780
|
-
return { parser: attr.parser, overlay: [{ from: value.from, to: value.to }] };
|
|
1781
|
-
}
|
|
1782
|
-
}
|
|
1783
|
-
}
|
|
1784
|
-
return null;
|
|
1785
|
-
});
|
|
1786
|
-
}
|
|
1787
|
-
const Targets = ["_blank", "_self", "_top", "_parent"];
|
|
1788
|
-
const Charsets = ["ascii", "utf-8", "utf-16", "latin1", "latin1"];
|
|
1789
|
-
const Methods = ["get", "post", "put", "delete"];
|
|
1790
|
-
const Encs = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"];
|
|
1791
|
-
const Bool = ["true", "false"];
|
|
1792
|
-
const S = {};
|
|
1793
|
-
const Tags = {
|
|
1794
|
-
a: {
|
|
1795
|
-
attrs: {
|
|
1796
|
-
href: null,
|
|
1797
|
-
ping: null,
|
|
1798
|
-
type: null,
|
|
1799
|
-
media: null,
|
|
1800
|
-
target: Targets,
|
|
1801
|
-
hreflang: null
|
|
1802
|
-
}
|
|
1803
|
-
},
|
|
1804
|
-
abbr: S,
|
|
1805
|
-
address: S,
|
|
1806
|
-
area: {
|
|
1807
|
-
attrs: {
|
|
1808
|
-
alt: null,
|
|
1809
|
-
coords: null,
|
|
1810
|
-
href: null,
|
|
1811
|
-
target: null,
|
|
1812
|
-
ping: null,
|
|
1813
|
-
media: null,
|
|
1814
|
-
hreflang: null,
|
|
1815
|
-
type: null,
|
|
1816
|
-
shape: ["default", "rect", "circle", "poly"]
|
|
1817
|
-
}
|
|
1818
|
-
},
|
|
1819
|
-
article: S,
|
|
1820
|
-
aside: S,
|
|
1821
|
-
audio: {
|
|
1822
|
-
attrs: {
|
|
1823
|
-
src: null,
|
|
1824
|
-
mediagroup: null,
|
|
1825
|
-
crossorigin: ["anonymous", "use-credentials"],
|
|
1826
|
-
preload: ["none", "metadata", "auto"],
|
|
1827
|
-
autoplay: ["autoplay"],
|
|
1828
|
-
loop: ["loop"],
|
|
1829
|
-
controls: ["controls"]
|
|
1830
|
-
}
|
|
1831
|
-
},
|
|
1832
|
-
b: S,
|
|
1833
|
-
base: { attrs: { href: null, target: Targets } },
|
|
1834
|
-
bdi: S,
|
|
1835
|
-
bdo: S,
|
|
1836
|
-
blockquote: { attrs: { cite: null } },
|
|
1837
|
-
body: S,
|
|
1838
|
-
br: S,
|
|
1839
|
-
button: {
|
|
1840
|
-
attrs: {
|
|
1841
|
-
form: null,
|
|
1842
|
-
formaction: null,
|
|
1843
|
-
name: null,
|
|
1844
|
-
value: null,
|
|
1845
|
-
autofocus: ["autofocus"],
|
|
1846
|
-
disabled: ["autofocus"],
|
|
1847
|
-
formenctype: Encs,
|
|
1848
|
-
formmethod: Methods,
|
|
1849
|
-
formnovalidate: ["novalidate"],
|
|
1850
|
-
formtarget: Targets,
|
|
1851
|
-
type: ["submit", "reset", "button"]
|
|
1852
|
-
}
|
|
1853
|
-
},
|
|
1854
|
-
canvas: { attrs: { width: null, height: null } },
|
|
1855
|
-
caption: S,
|
|
1856
|
-
center: S,
|
|
1857
|
-
cite: S,
|
|
1858
|
-
code: S,
|
|
1859
|
-
col: { attrs: { span: null } },
|
|
1860
|
-
colgroup: { attrs: { span: null } },
|
|
1861
|
-
command: {
|
|
1862
|
-
attrs: {
|
|
1863
|
-
type: ["command", "checkbox", "radio"],
|
|
1864
|
-
label: null,
|
|
1865
|
-
icon: null,
|
|
1866
|
-
radiogroup: null,
|
|
1867
|
-
command: null,
|
|
1868
|
-
title: null,
|
|
1869
|
-
disabled: ["disabled"],
|
|
1870
|
-
checked: ["checked"]
|
|
1871
|
-
}
|
|
1872
|
-
},
|
|
1873
|
-
data: { attrs: { value: null } },
|
|
1874
|
-
datagrid: { attrs: { disabled: ["disabled"], multiple: ["multiple"] } },
|
|
1875
|
-
datalist: { attrs: { data: null } },
|
|
1876
|
-
dd: S,
|
|
1877
|
-
del: { attrs: { cite: null, datetime: null } },
|
|
1878
|
-
details: { attrs: { open: ["open"] } },
|
|
1879
|
-
dfn: S,
|
|
1880
|
-
div: S,
|
|
1881
|
-
dl: S,
|
|
1882
|
-
dt: S,
|
|
1883
|
-
em: S,
|
|
1884
|
-
embed: { attrs: { src: null, type: null, width: null, height: null } },
|
|
1885
|
-
eventsource: { attrs: { src: null } },
|
|
1886
|
-
fieldset: { attrs: { disabled: ["disabled"], form: null, name: null } },
|
|
1887
|
-
figcaption: S,
|
|
1888
|
-
figure: S,
|
|
1889
|
-
footer: S,
|
|
1890
|
-
form: {
|
|
1891
|
-
attrs: {
|
|
1892
|
-
action: null,
|
|
1893
|
-
name: null,
|
|
1894
|
-
"accept-charset": Charsets,
|
|
1895
|
-
autocomplete: ["on", "off"],
|
|
1896
|
-
enctype: Encs,
|
|
1897
|
-
method: Methods,
|
|
1898
|
-
novalidate: ["novalidate"],
|
|
1899
|
-
target: Targets
|
|
1900
|
-
}
|
|
1901
|
-
},
|
|
1902
|
-
h1: S,
|
|
1903
|
-
h2: S,
|
|
1904
|
-
h3: S,
|
|
1905
|
-
h4: S,
|
|
1906
|
-
h5: S,
|
|
1907
|
-
h6: S,
|
|
1908
|
-
head: {
|
|
1909
|
-
children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"]
|
|
1910
|
-
},
|
|
1911
|
-
header: S,
|
|
1912
|
-
hgroup: S,
|
|
1913
|
-
hr: S,
|
|
1914
|
-
html: {
|
|
1915
|
-
attrs: { manifest: null }
|
|
1916
|
-
},
|
|
1917
|
-
i: S,
|
|
1918
|
-
iframe: {
|
|
1919
|
-
attrs: {
|
|
1920
|
-
src: null,
|
|
1921
|
-
srcdoc: null,
|
|
1922
|
-
name: null,
|
|
1923
|
-
width: null,
|
|
1924
|
-
height: null,
|
|
1925
|
-
sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"],
|
|
1926
|
-
seamless: ["seamless"]
|
|
1927
|
-
}
|
|
1928
|
-
},
|
|
1929
|
-
img: {
|
|
1930
|
-
attrs: {
|
|
1931
|
-
alt: null,
|
|
1932
|
-
src: null,
|
|
1933
|
-
ismap: null,
|
|
1934
|
-
usemap: null,
|
|
1935
|
-
width: null,
|
|
1936
|
-
height: null,
|
|
1937
|
-
crossorigin: ["anonymous", "use-credentials"]
|
|
1938
|
-
}
|
|
1939
|
-
},
|
|
1940
|
-
input: {
|
|
1941
|
-
attrs: {
|
|
1942
|
-
alt: null,
|
|
1943
|
-
dirname: null,
|
|
1944
|
-
form: null,
|
|
1945
|
-
formaction: null,
|
|
1946
|
-
height: null,
|
|
1947
|
-
list: null,
|
|
1948
|
-
max: null,
|
|
1949
|
-
maxlength: null,
|
|
1950
|
-
min: null,
|
|
1951
|
-
name: null,
|
|
1952
|
-
pattern: null,
|
|
1953
|
-
placeholder: null,
|
|
1954
|
-
size: null,
|
|
1955
|
-
src: null,
|
|
1956
|
-
step: null,
|
|
1957
|
-
value: null,
|
|
1958
|
-
width: null,
|
|
1959
|
-
accept: ["audio/*", "video/*", "image/*"],
|
|
1960
|
-
autocomplete: ["on", "off"],
|
|
1961
|
-
autofocus: ["autofocus"],
|
|
1962
|
-
checked: ["checked"],
|
|
1963
|
-
disabled: ["disabled"],
|
|
1964
|
-
formenctype: Encs,
|
|
1965
|
-
formmethod: Methods,
|
|
1966
|
-
formnovalidate: ["novalidate"],
|
|
1967
|
-
formtarget: Targets,
|
|
1968
|
-
multiple: ["multiple"],
|
|
1969
|
-
readonly: ["readonly"],
|
|
1970
|
-
required: ["required"],
|
|
1971
|
-
type: [
|
|
1972
|
-
"hidden",
|
|
1973
|
-
"text",
|
|
1974
|
-
"search",
|
|
1975
|
-
"tel",
|
|
1976
|
-
"url",
|
|
1977
|
-
"email",
|
|
1978
|
-
"password",
|
|
1979
|
-
"datetime",
|
|
1980
|
-
"date",
|
|
1981
|
-
"month",
|
|
1982
|
-
"week",
|
|
1983
|
-
"time",
|
|
1984
|
-
"datetime-local",
|
|
1985
|
-
"number",
|
|
1986
|
-
"range",
|
|
1987
|
-
"color",
|
|
1988
|
-
"checkbox",
|
|
1989
|
-
"radio",
|
|
1990
|
-
"file",
|
|
1991
|
-
"submit",
|
|
1992
|
-
"image",
|
|
1993
|
-
"reset",
|
|
1994
|
-
"button"
|
|
1995
|
-
]
|
|
1996
|
-
}
|
|
1997
|
-
},
|
|
1998
|
-
ins: { attrs: { cite: null, datetime: null } },
|
|
1999
|
-
kbd: S,
|
|
2000
|
-
keygen: {
|
|
2001
|
-
attrs: {
|
|
2002
|
-
challenge: null,
|
|
2003
|
-
form: null,
|
|
2004
|
-
name: null,
|
|
2005
|
-
autofocus: ["autofocus"],
|
|
2006
|
-
disabled: ["disabled"],
|
|
2007
|
-
keytype: ["RSA"]
|
|
2008
|
-
}
|
|
2009
|
-
},
|
|
2010
|
-
label: { attrs: { for: null, form: null } },
|
|
2011
|
-
legend: S,
|
|
2012
|
-
li: { attrs: { value: null } },
|
|
2013
|
-
link: {
|
|
2014
|
-
attrs: {
|
|
2015
|
-
href: null,
|
|
2016
|
-
type: null,
|
|
2017
|
-
hreflang: null,
|
|
2018
|
-
media: null,
|
|
2019
|
-
sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"]
|
|
2020
|
-
}
|
|
2021
|
-
},
|
|
2022
|
-
map: { attrs: { name: null } },
|
|
2023
|
-
mark: S,
|
|
2024
|
-
menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } },
|
|
2025
|
-
meta: {
|
|
2026
|
-
attrs: {
|
|
2027
|
-
content: null,
|
|
2028
|
-
charset: Charsets,
|
|
2029
|
-
name: ["viewport", "application-name", "author", "description", "generator", "keywords"],
|
|
2030
|
-
"http-equiv": ["content-language", "content-type", "default-style", "refresh"]
|
|
2031
|
-
}
|
|
2032
|
-
},
|
|
2033
|
-
meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },
|
|
2034
|
-
nav: S,
|
|
2035
|
-
noscript: S,
|
|
2036
|
-
object: {
|
|
2037
|
-
attrs: {
|
|
2038
|
-
data: null,
|
|
2039
|
-
type: null,
|
|
2040
|
-
name: null,
|
|
2041
|
-
usemap: null,
|
|
2042
|
-
form: null,
|
|
2043
|
-
width: null,
|
|
2044
|
-
height: null,
|
|
2045
|
-
typemustmatch: ["typemustmatch"]
|
|
2046
|
-
}
|
|
2047
|
-
},
|
|
2048
|
-
ol: {
|
|
2049
|
-
attrs: { reversed: ["reversed"], start: null, type: ["1", "a", "A", "i", "I"] },
|
|
2050
|
-
children: ["li", "script", "template", "ul", "ol"]
|
|
2051
|
-
},
|
|
2052
|
-
optgroup: { attrs: { disabled: ["disabled"], label: null } },
|
|
2053
|
-
option: { attrs: { disabled: ["disabled"], label: null, selected: ["selected"], value: null } },
|
|
2054
|
-
output: { attrs: { for: null, form: null, name: null } },
|
|
2055
|
-
p: S,
|
|
2056
|
-
param: { attrs: { name: null, value: null } },
|
|
2057
|
-
pre: S,
|
|
2058
|
-
progress: { attrs: { value: null, max: null } },
|
|
2059
|
-
q: { attrs: { cite: null } },
|
|
2060
|
-
rp: S,
|
|
2061
|
-
rt: S,
|
|
2062
|
-
ruby: S,
|
|
2063
|
-
samp: S,
|
|
2064
|
-
script: {
|
|
2065
|
-
attrs: {
|
|
2066
|
-
type: ["text/javascript"],
|
|
2067
|
-
src: null,
|
|
2068
|
-
async: ["async"],
|
|
2069
|
-
defer: ["defer"],
|
|
2070
|
-
charset: Charsets
|
|
2071
|
-
}
|
|
2072
|
-
},
|
|
2073
|
-
section: S,
|
|
2074
|
-
select: {
|
|
2075
|
-
attrs: {
|
|
2076
|
-
form: null,
|
|
2077
|
-
name: null,
|
|
2078
|
-
size: null,
|
|
2079
|
-
autofocus: ["autofocus"],
|
|
2080
|
-
disabled: ["disabled"],
|
|
2081
|
-
multiple: ["multiple"]
|
|
2082
|
-
}
|
|
2083
|
-
},
|
|
2084
|
-
slot: { attrs: { name: null } },
|
|
2085
|
-
small: S,
|
|
2086
|
-
source: { attrs: { src: null, type: null, media: null } },
|
|
2087
|
-
span: S,
|
|
2088
|
-
strong: S,
|
|
2089
|
-
style: {
|
|
2090
|
-
attrs: {
|
|
2091
|
-
type: ["text/css"],
|
|
2092
|
-
media: null,
|
|
2093
|
-
scoped: null
|
|
2094
|
-
}
|
|
2095
|
-
},
|
|
2096
|
-
sub: S,
|
|
2097
|
-
summary: S,
|
|
2098
|
-
sup: S,
|
|
2099
|
-
table: S,
|
|
2100
|
-
tbody: S,
|
|
2101
|
-
td: { attrs: { colspan: null, rowspan: null, headers: null } },
|
|
2102
|
-
template: S,
|
|
2103
|
-
textarea: {
|
|
2104
|
-
attrs: {
|
|
2105
|
-
dirname: null,
|
|
2106
|
-
form: null,
|
|
2107
|
-
maxlength: null,
|
|
2108
|
-
name: null,
|
|
2109
|
-
placeholder: null,
|
|
2110
|
-
rows: null,
|
|
2111
|
-
cols: null,
|
|
2112
|
-
autofocus: ["autofocus"],
|
|
2113
|
-
disabled: ["disabled"],
|
|
2114
|
-
readonly: ["readonly"],
|
|
2115
|
-
required: ["required"],
|
|
2116
|
-
wrap: ["soft", "hard"]
|
|
2117
|
-
}
|
|
2118
|
-
},
|
|
2119
|
-
tfoot: S,
|
|
2120
|
-
th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } },
|
|
2121
|
-
thead: S,
|
|
2122
|
-
time: { attrs: { datetime: null } },
|
|
2123
|
-
title: S,
|
|
2124
|
-
tr: S,
|
|
2125
|
-
track: {
|
|
2126
|
-
attrs: {
|
|
2127
|
-
src: null,
|
|
2128
|
-
label: null,
|
|
2129
|
-
default: null,
|
|
2130
|
-
kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"],
|
|
2131
|
-
srclang: null
|
|
2132
|
-
}
|
|
2133
|
-
},
|
|
2134
|
-
ul: { children: ["li", "script", "template", "ul", "ol"] },
|
|
2135
|
-
var: S,
|
|
2136
|
-
video: {
|
|
2137
|
-
attrs: {
|
|
2138
|
-
src: null,
|
|
2139
|
-
poster: null,
|
|
2140
|
-
width: null,
|
|
2141
|
-
height: null,
|
|
2142
|
-
crossorigin: ["anonymous", "use-credentials"],
|
|
2143
|
-
preload: ["auto", "metadata", "none"],
|
|
2144
|
-
autoplay: ["autoplay"],
|
|
2145
|
-
mediagroup: ["movie"],
|
|
2146
|
-
muted: ["muted"],
|
|
2147
|
-
controls: ["controls"]
|
|
2148
|
-
}
|
|
2149
|
-
},
|
|
2150
|
-
wbr: S
|
|
2151
|
-
};
|
|
2152
|
-
const GlobalAttrs = {
|
|
2153
|
-
accesskey: null,
|
|
2154
|
-
class: null,
|
|
2155
|
-
contenteditable: Bool,
|
|
2156
|
-
contextmenu: null,
|
|
2157
|
-
dir: ["ltr", "rtl", "auto"],
|
|
2158
|
-
draggable: ["true", "false", "auto"],
|
|
2159
|
-
dropzone: ["copy", "move", "link", "string:", "file:"],
|
|
2160
|
-
hidden: ["hidden"],
|
|
2161
|
-
id: null,
|
|
2162
|
-
inert: ["inert"],
|
|
2163
|
-
itemid: null,
|
|
2164
|
-
itemprop: null,
|
|
2165
|
-
itemref: null,
|
|
2166
|
-
itemscope: ["itemscope"],
|
|
2167
|
-
itemtype: null,
|
|
2168
|
-
lang: ["ar", "bn", "de", "en-GB", "en-US", "es", "fr", "hi", "id", "ja", "pa", "pt", "ru", "tr", "zh"],
|
|
2169
|
-
spellcheck: Bool,
|
|
2170
|
-
autocorrect: Bool,
|
|
2171
|
-
autocapitalize: Bool,
|
|
2172
|
-
style: null,
|
|
2173
|
-
tabindex: null,
|
|
2174
|
-
title: null,
|
|
2175
|
-
translate: ["yes", "no"],
|
|
2176
|
-
rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"],
|
|
2177
|
-
role: /* @__PURE__ */ "alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),
|
|
2178
|
-
"aria-activedescendant": null,
|
|
2179
|
-
"aria-atomic": Bool,
|
|
2180
|
-
"aria-autocomplete": ["inline", "list", "both", "none"],
|
|
2181
|
-
"aria-busy": Bool,
|
|
2182
|
-
"aria-checked": ["true", "false", "mixed", "undefined"],
|
|
2183
|
-
"aria-controls": null,
|
|
2184
|
-
"aria-describedby": null,
|
|
2185
|
-
"aria-disabled": Bool,
|
|
2186
|
-
"aria-dropeffect": null,
|
|
2187
|
-
"aria-expanded": ["true", "false", "undefined"],
|
|
2188
|
-
"aria-flowto": null,
|
|
2189
|
-
"aria-grabbed": ["true", "false", "undefined"],
|
|
2190
|
-
"aria-haspopup": Bool,
|
|
2191
|
-
"aria-hidden": Bool,
|
|
2192
|
-
"aria-invalid": ["true", "false", "grammar", "spelling"],
|
|
2193
|
-
"aria-label": null,
|
|
2194
|
-
"aria-labelledby": null,
|
|
2195
|
-
"aria-level": null,
|
|
2196
|
-
"aria-live": ["off", "polite", "assertive"],
|
|
2197
|
-
"aria-multiline": Bool,
|
|
2198
|
-
"aria-multiselectable": Bool,
|
|
2199
|
-
"aria-owns": null,
|
|
2200
|
-
"aria-posinset": null,
|
|
2201
|
-
"aria-pressed": ["true", "false", "mixed", "undefined"],
|
|
2202
|
-
"aria-readonly": Bool,
|
|
2203
|
-
"aria-relevant": null,
|
|
2204
|
-
"aria-required": Bool,
|
|
2205
|
-
"aria-selected": ["true", "false", "undefined"],
|
|
2206
|
-
"aria-setsize": null,
|
|
2207
|
-
"aria-sort": ["ascending", "descending", "none", "other"],
|
|
2208
|
-
"aria-valuemax": null,
|
|
2209
|
-
"aria-valuemin": null,
|
|
2210
|
-
"aria-valuenow": null,
|
|
2211
|
-
"aria-valuetext": null
|
|
2212
|
-
};
|
|
2213
|
-
const eventAttributes = /* @__PURE__ */ "beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((n) => "on" + n);
|
|
2214
|
-
for (let a of eventAttributes)
|
|
2215
|
-
GlobalAttrs[a] = null;
|
|
2216
|
-
class Schema {
|
|
2217
|
-
constructor(extraTags, extraAttrs) {
|
|
2218
|
-
this.tags = Object.assign(Object.assign({}, Tags), extraTags);
|
|
2219
|
-
this.globalAttrs = Object.assign(Object.assign({}, GlobalAttrs), extraAttrs);
|
|
2220
|
-
this.allTags = Object.keys(this.tags);
|
|
2221
|
-
this.globalAttrNames = Object.keys(this.globalAttrs);
|
|
2222
|
-
}
|
|
2223
|
-
}
|
|
2224
|
-
Schema.default = /* @__PURE__ */ new Schema();
|
|
2225
|
-
function elementName(doc, tree, max = doc.length) {
|
|
2226
|
-
if (!tree)
|
|
2227
|
-
return "";
|
|
2228
|
-
let tag = tree.firstChild;
|
|
2229
|
-
let name = tag && tag.getChild("TagName");
|
|
2230
|
-
return name ? doc.sliceString(name.from, Math.min(name.to, max)) : "";
|
|
2231
|
-
}
|
|
2232
|
-
function findParentElement(tree, skip = false) {
|
|
2233
|
-
for (let cur = tree.parent; cur; cur = cur.parent)
|
|
2234
|
-
if (cur.name == "Element") {
|
|
2235
|
-
if (skip)
|
|
2236
|
-
skip = false;
|
|
2237
|
-
else
|
|
2238
|
-
return cur;
|
|
2239
|
-
}
|
|
2240
|
-
return null;
|
|
2241
|
-
}
|
|
2242
|
-
function allowedChildren(doc, tree, schema) {
|
|
2243
|
-
let parentInfo = schema.tags[elementName(doc, findParentElement(tree, true))];
|
|
2244
|
-
return (parentInfo === null || parentInfo === void 0 ? void 0 : parentInfo.children) || schema.allTags;
|
|
2245
|
-
}
|
|
2246
|
-
function openTags(doc, tree) {
|
|
2247
|
-
let open = [];
|
|
2248
|
-
for (let parent = tree; parent = findParentElement(parent); ) {
|
|
2249
|
-
let tagName = elementName(doc, parent);
|
|
2250
|
-
if (tagName && parent.lastChild.name == "CloseTag")
|
|
2251
|
-
break;
|
|
2252
|
-
if (tagName && open.indexOf(tagName) < 0 && (tree.name == "EndTag" || tree.from >= parent.firstChild.to))
|
|
2253
|
-
open.push(tagName);
|
|
2254
|
-
}
|
|
2255
|
-
return open;
|
|
2256
|
-
}
|
|
2257
|
-
const identifier = /^[:\-\.\w\u00b7-\uffff]*$/;
|
|
2258
|
-
function completeTag(state, schema, tree, from, to) {
|
|
2259
|
-
let end = /\s*>/.test(state.sliceDoc(to, to + 5)) ? "" : ">";
|
|
2260
|
-
return {
|
|
2261
|
-
from,
|
|
2262
|
-
to,
|
|
2263
|
-
options: allowedChildren(state.doc, tree, schema).map((tagName) => ({ label: tagName, type: "type" })).concat(openTags(state.doc, tree).map((tag, i) => ({
|
|
2264
|
-
label: "/" + tag,
|
|
2265
|
-
apply: "/" + tag + end,
|
|
2266
|
-
type: "type",
|
|
2267
|
-
boost: 99 - i
|
|
2268
|
-
}))),
|
|
2269
|
-
validFor: /^\/?[:\-\.\w\u00b7-\uffff]*$/
|
|
2270
|
-
};
|
|
2271
|
-
}
|
|
2272
|
-
function completeCloseTag(state, tree, from, to) {
|
|
2273
|
-
let end = /\s*>/.test(state.sliceDoc(to, to + 5)) ? "" : ">";
|
|
2274
|
-
return {
|
|
2275
|
-
from,
|
|
2276
|
-
to,
|
|
2277
|
-
options: openTags(state.doc, tree).map((tag, i) => ({ label: tag, apply: tag + end, type: "type", boost: 99 - i })),
|
|
2278
|
-
validFor: identifier
|
|
2279
|
-
};
|
|
2280
|
-
}
|
|
2281
|
-
function completeStartTag(state, schema, tree, pos) {
|
|
2282
|
-
let options = [], level = 0;
|
|
2283
|
-
for (let tagName of allowedChildren(state.doc, tree, schema))
|
|
2284
|
-
options.push({ label: "<" + tagName, type: "type" });
|
|
2285
|
-
for (let open of openTags(state.doc, tree))
|
|
2286
|
-
options.push({ label: "</" + open + ">", type: "type", boost: 99 - level++ });
|
|
2287
|
-
return { from: pos, to: pos, options, validFor: /^<\/?[:\-\.\w\u00b7-\uffff]*$/ };
|
|
2288
|
-
}
|
|
2289
|
-
function completeAttrName(state, schema, tree, from, to) {
|
|
2290
|
-
let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;
|
|
2291
|
-
let localAttrs = info && info.attrs ? Object.keys(info.attrs) : [];
|
|
2292
|
-
let names = info && info.globalAttrs === false ? localAttrs : localAttrs.length ? localAttrs.concat(schema.globalAttrNames) : schema.globalAttrNames;
|
|
2293
|
-
return {
|
|
2294
|
-
from,
|
|
2295
|
-
to,
|
|
2296
|
-
options: names.map((attrName) => ({ label: attrName, type: "property" })),
|
|
2297
|
-
validFor: identifier
|
|
2298
|
-
};
|
|
2299
|
-
}
|
|
2300
|
-
function completeAttrValue(state, schema, tree, from, to) {
|
|
2301
|
-
var _a;
|
|
2302
|
-
let nameNode = (_a = tree.parent) === null || _a === void 0 ? void 0 : _a.getChild("AttributeName");
|
|
2303
|
-
let options = [], token = void 0;
|
|
2304
|
-
if (nameNode) {
|
|
2305
|
-
let attrName = state.sliceDoc(nameNode.from, nameNode.to);
|
|
2306
|
-
let attrs = schema.globalAttrs[attrName];
|
|
2307
|
-
if (!attrs) {
|
|
2308
|
-
let elt = findParentElement(tree), info = elt ? schema.tags[elementName(state.doc, elt)] : null;
|
|
2309
|
-
attrs = (info === null || info === void 0 ? void 0 : info.attrs) && info.attrs[attrName];
|
|
2310
|
-
}
|
|
2311
|
-
if (attrs) {
|
|
2312
|
-
let base = state.sliceDoc(from, to).toLowerCase(), quoteStart = '"', quoteEnd = '"';
|
|
2313
|
-
if (/^['"]/.test(base)) {
|
|
2314
|
-
token = base[0] == '"' ? /^[^"]*$/ : /^[^']*$/;
|
|
2315
|
-
quoteStart = "";
|
|
2316
|
-
quoteEnd = state.sliceDoc(to, to + 1) == base[0] ? "" : base[0];
|
|
2317
|
-
base = base.slice(1);
|
|
2318
|
-
from++;
|
|
2319
|
-
} else {
|
|
2320
|
-
token = /^[^\s<>='"]*$/;
|
|
2321
|
-
}
|
|
2322
|
-
for (let value of attrs)
|
|
2323
|
-
options.push({ label: value, apply: quoteStart + value + quoteEnd, type: "constant" });
|
|
2324
|
-
}
|
|
2325
|
-
}
|
|
2326
|
-
return { from, to, options, validFor: token };
|
|
2327
|
-
}
|
|
2328
|
-
function htmlCompletionFor(schema, context) {
|
|
2329
|
-
let { state, pos } = context, around = syntaxTree(state).resolveInner(pos), tree = around.resolve(pos, -1);
|
|
2330
|
-
for (let scan = pos, before; around == tree && (before = tree.childBefore(scan)); ) {
|
|
2331
|
-
let last = before.lastChild;
|
|
2332
|
-
if (!last || !last.type.isError || last.from < last.to)
|
|
2333
|
-
break;
|
|
2334
|
-
around = tree = before;
|
|
2335
|
-
scan = last.from;
|
|
2336
|
-
}
|
|
2337
|
-
if (tree.name == "TagName") {
|
|
2338
|
-
return tree.parent && /CloseTag$/.test(tree.parent.name) ? completeCloseTag(state, tree, tree.from, pos) : completeTag(state, schema, tree, tree.from, pos);
|
|
2339
|
-
} else if (tree.name == "StartTag") {
|
|
2340
|
-
return completeTag(state, schema, tree, pos, pos);
|
|
2341
|
-
} else if (tree.name == "StartCloseTag" || tree.name == "IncompleteCloseTag") {
|
|
2342
|
-
return completeCloseTag(state, tree, pos, pos);
|
|
2343
|
-
} else if (context.explicit && (tree.name == "OpenTag" || tree.name == "SelfClosingTag") || tree.name == "AttributeName") {
|
|
2344
|
-
return completeAttrName(state, schema, tree, tree.name == "AttributeName" ? tree.from : pos, pos);
|
|
2345
|
-
} else if (tree.name == "Is" || tree.name == "AttributeValue" || tree.name == "UnquotedAttributeValue") {
|
|
2346
|
-
return completeAttrValue(state, schema, tree, tree.name == "Is" ? pos : tree.from, pos);
|
|
2347
|
-
} else if (context.explicit && (around.name == "Element" || around.name == "Text" || around.name == "Document")) {
|
|
2348
|
-
return completeStartTag(state, schema, tree, pos);
|
|
2349
|
-
} else {
|
|
2350
|
-
return null;
|
|
2351
|
-
}
|
|
2352
|
-
}
|
|
2353
|
-
function htmlCompletionSource(context) {
|
|
2354
|
-
return htmlCompletionFor(Schema.default, context);
|
|
2355
|
-
}
|
|
2356
|
-
function htmlCompletionSourceWith(config) {
|
|
2357
|
-
let { extraTags, extraGlobalAttributes: extraAttrs } = config;
|
|
2358
|
-
let schema = extraAttrs || extraTags ? new Schema(extraTags, extraAttrs) : Schema.default;
|
|
2359
|
-
return (context) => htmlCompletionFor(schema, context);
|
|
2360
|
-
}
|
|
2361
|
-
const defaultNesting = [
|
|
2362
|
-
{
|
|
2363
|
-
tag: "script",
|
|
2364
|
-
attrs: (attrs) => attrs.type == "text/typescript" || attrs.lang == "ts",
|
|
2365
|
-
parser: typescriptLanguage.parser
|
|
2366
|
-
},
|
|
2367
|
-
{
|
|
2368
|
-
tag: "script",
|
|
2369
|
-
attrs: (attrs) => attrs.type == "text/babel" || attrs.type == "text/jsx",
|
|
2370
|
-
parser: jsxLanguage.parser
|
|
2371
|
-
},
|
|
2372
|
-
{
|
|
2373
|
-
tag: "script",
|
|
2374
|
-
attrs: (attrs) => attrs.type == "text/typescript-jsx",
|
|
2375
|
-
parser: tsxLanguage.parser
|
|
2376
|
-
},
|
|
2377
|
-
{
|
|
2378
|
-
tag: "script",
|
|
2379
|
-
attrs(attrs) {
|
|
2380
|
-
return !attrs.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(attrs.type);
|
|
2381
|
-
},
|
|
2382
|
-
parser: javascriptLanguage.parser
|
|
2383
|
-
},
|
|
2384
|
-
{
|
|
2385
|
-
tag: "style",
|
|
2386
|
-
attrs(attrs) {
|
|
2387
|
-
return (!attrs.lang || attrs.lang == "css") && (!attrs.type || /^(text\/)?(x-)?(stylesheet|css)$/i.test(attrs.type));
|
|
2388
|
-
},
|
|
2389
|
-
parser: cssLanguage.parser
|
|
2390
|
-
}
|
|
2391
|
-
];
|
|
2392
|
-
const defaultAttrs = /* @__PURE__ */ [
|
|
2393
|
-
{
|
|
2394
|
-
name: "style",
|
|
2395
|
-
parser: /* @__PURE__ */ cssLanguage.parser.configure({ top: "Styles" })
|
|
2396
|
-
}
|
|
2397
|
-
].concat(/* @__PURE__ */ eventAttributes.map((name) => ({ name, parser: javascriptLanguage.parser })));
|
|
2398
|
-
const htmlLanguage = /* @__PURE__ */ LRLanguage.define({
|
|
2399
|
-
name: "html",
|
|
2400
|
-
parser: /* @__PURE__ */ parser.configure({
|
|
2401
|
-
props: [
|
|
2402
|
-
/* @__PURE__ */ indentNodeProp.add({
|
|
2403
|
-
Element(context) {
|
|
2404
|
-
let after = /^(\s*)(<\/)?/.exec(context.textAfter);
|
|
2405
|
-
if (context.node.to <= context.pos + after[0].length)
|
|
2406
|
-
return context.continue();
|
|
2407
|
-
return context.lineIndent(context.node.from) + (after[2] ? 0 : context.unit);
|
|
2408
|
-
},
|
|
2409
|
-
"OpenTag CloseTag SelfClosingTag"(context) {
|
|
2410
|
-
return context.column(context.node.from) + context.unit;
|
|
2411
|
-
},
|
|
2412
|
-
Document(context) {
|
|
2413
|
-
if (context.pos + /\s*/.exec(context.textAfter)[0].length < context.node.to)
|
|
2414
|
-
return context.continue();
|
|
2415
|
-
let endElt = null, close;
|
|
2416
|
-
for (let cur = context.node; ; ) {
|
|
2417
|
-
let last = cur.lastChild;
|
|
2418
|
-
if (!last || last.name != "Element" || last.to != cur.to)
|
|
2419
|
-
break;
|
|
2420
|
-
endElt = cur = last;
|
|
2421
|
-
}
|
|
2422
|
-
if (endElt && !((close = endElt.lastChild) && (close.name == "CloseTag" || close.name == "SelfClosingTag")))
|
|
2423
|
-
return context.lineIndent(endElt.from) + context.unit;
|
|
2424
|
-
return null;
|
|
2425
|
-
}
|
|
2426
|
-
}),
|
|
2427
|
-
/* @__PURE__ */ foldNodeProp.add({
|
|
2428
|
-
Element(node) {
|
|
2429
|
-
let first = node.firstChild, last = node.lastChild;
|
|
2430
|
-
if (!first || first.name != "OpenTag")
|
|
2431
|
-
return null;
|
|
2432
|
-
return { from: first.to, to: last.name == "CloseTag" ? last.from : node.to };
|
|
2433
|
-
}
|
|
2434
|
-
})
|
|
2435
|
-
],
|
|
2436
|
-
wrap: /* @__PURE__ */ configureNesting(defaultNesting, defaultAttrs)
|
|
2437
|
-
}),
|
|
2438
|
-
languageData: {
|
|
2439
|
-
commentTokens: { block: { open: "<!--", close: "-->" } },
|
|
2440
|
-
indentOnInput: /^\s*<\/\w+\W$/,
|
|
2441
|
-
wordChars: "-._"
|
|
2442
|
-
}
|
|
2443
|
-
});
|
|
2444
|
-
function html(config = {}) {
|
|
2445
|
-
let dialect = "", wrap;
|
|
2446
|
-
if (config.matchClosingTags === false)
|
|
2447
|
-
dialect = "noMatch";
|
|
2448
|
-
if (config.selfClosingTags === true)
|
|
2449
|
-
dialect = (dialect ? dialect + " " : "") + "selfClosing";
|
|
2450
|
-
if (config.nestedLanguages && config.nestedLanguages.length || config.nestedAttributes && config.nestedAttributes.length)
|
|
2451
|
-
wrap = configureNesting((config.nestedLanguages || []).concat(defaultNesting), (config.nestedAttributes || []).concat(defaultAttrs));
|
|
2452
|
-
let lang = wrap || dialect ? htmlLanguage.configure({ dialect, wrap }) : htmlLanguage;
|
|
2453
|
-
return new LanguageSupport(lang, [
|
|
2454
|
-
htmlLanguage.data.of({ autocomplete: htmlCompletionSourceWith(config) }),
|
|
2455
|
-
config.autoCloseTags !== false ? autoCloseTags : [],
|
|
2456
|
-
javascript().support,
|
|
2457
|
-
css().support
|
|
2458
|
-
]);
|
|
2459
|
-
}
|
|
2460
|
-
const autoCloseTags = /* @__PURE__ */ EditorView.inputHandler.of((view, from, to, text) => {
|
|
2461
|
-
if (view.composing || view.state.readOnly || from != to || text != ">" && text != "/" || !htmlLanguage.isActiveAt(view.state, from, -1))
|
|
2462
|
-
return false;
|
|
2463
|
-
let { state } = view;
|
|
2464
|
-
let changes = state.changeByRange((range) => {
|
|
2465
|
-
var _a, _b, _c;
|
|
2466
|
-
let { head } = range, around = syntaxTree(state).resolveInner(head, -1), name;
|
|
2467
|
-
if (around.name == "TagName" || around.name == "StartTag")
|
|
2468
|
-
around = around.parent;
|
|
2469
|
-
if (text == ">" && around.name == "OpenTag") {
|
|
2470
|
-
if (((_b = (_a = around.parent) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.name) != "CloseTag" && (name = elementName(state.doc, around.parent, head))) {
|
|
2471
|
-
let hasRightBracket = view.state.doc.sliceString(head, head + 1) === ">";
|
|
2472
|
-
let insert = `${hasRightBracket ? "" : ">"}</${name}>`;
|
|
2473
|
-
return { range: EditorSelection.cursor(head + 1), changes: { from: head + (hasRightBracket ? 1 : 0), insert } };
|
|
2474
|
-
}
|
|
2475
|
-
} else if (text == "/" && around.name == "OpenTag") {
|
|
2476
|
-
let empty = around.parent, base = empty === null || empty === void 0 ? void 0 : empty.parent;
|
|
2477
|
-
if (empty.from == head - 1 && ((_c = base.lastChild) === null || _c === void 0 ? void 0 : _c.name) != "CloseTag" && (name = elementName(state.doc, base, head))) {
|
|
2478
|
-
let hasRightBracket = view.state.doc.sliceString(head, head + 1) === ">";
|
|
2479
|
-
let insert = `/${name}${hasRightBracket ? "" : ">"}`;
|
|
2480
|
-
let pos = head + insert.length + (hasRightBracket ? 1 : 0);
|
|
2481
|
-
return { range: EditorSelection.cursor(pos), changes: { from: head, insert } };
|
|
2482
|
-
}
|
|
2483
|
-
}
|
|
2484
|
-
return { range };
|
|
2485
|
-
});
|
|
2486
|
-
if (changes.changes.empty)
|
|
2487
|
-
return false;
|
|
2488
|
-
view.dispatch(changes, { userEvent: "input.type", scrollIntoView: true });
|
|
2489
|
-
return true;
|
|
2490
|
-
});
|
|
2491
|
-
export {
|
|
2492
|
-
autoCloseTags as a,
|
|
2493
|
-
javascript as b,
|
|
2494
|
-
htmlLanguage as h,
|
|
2495
|
-
javascriptLanguage as j,
|
|
2496
|
-
localCompletionSource as l,
|
|
2497
|
-
snippets as s
|
|
2498
|
-
};
|