@jsenv/core 24.4.8 → 24.5.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.
Files changed (25) hide show
  1. package/dist/build_manifest.js +4 -4
  2. package/dist/compile_proxy/asset-manifest.json +1 -2
  3. package/dist/compile_proxy/{compile_proxy-e666f204.html → compile_proxy-1dfca609.html} +254 -218
  4. package/dist/redirector/asset-manifest.json +1 -2
  5. package/dist/redirector/{redirector-bee67b92.html → redirector-d1316407.html} +254 -218
  6. package/dist/toolbar/asset-manifest.json +1 -2
  7. package/dist/toolbar/{toolbar-d13f2c3c.html → toolbar-201c4093.html} +254 -218
  8. package/dist/toolbar_injector/asset-manifest.json +1 -1
  9. package/dist/toolbar_injector/{toolbar_injector-828ec83b.js → toolbar_injector-84042210.js} +2 -2
  10. package/dist/toolbar_injector/{toolbar_injector-828ec83b.js.map → toolbar_injector-84042210.js.map} +2 -2
  11. package/package.json +1 -1
  12. package/src/buildProject.js +2 -0
  13. package/src/internal/building/buildUsingRollup.js +16 -28
  14. package/src/internal/building/{bundleWorker.js → js/babel_plugin_inline_worker_imports.js} +25 -61
  15. package/src/internal/building/js/parseJsRessource.js +12 -13
  16. package/src/internal/building/js/transform_worker.js +55 -0
  17. package/src/internal/building/resolve_import_url_helper.js +2 -1
  18. package/src/internal/building/ressource_builder.js +59 -15
  19. package/src/internal/building/{createJsenvRollupPlugin.js → rollup_plugin_jsenv.js} +80 -9
  20. package/src/internal/building/url_loader.js +0 -2
  21. package/src/internal/compiling/createCompiledFileService.js +3 -3
  22. package/dist/compile_proxy/assets/s.js-fcba0e35.map +0 -246
  23. package/dist/redirector/assets/s.js-fcba0e35.map +0 -246
  24. package/dist/toolbar/assets/s.js-fcba0e35.map +0 -246
  25. package/src/internal/building/buildServiceWorker.js +0 -75
@@ -65,6 +65,9 @@ export const createJsenvRollupPlugin = async ({
65
65
  externalImportSpecifiers,
66
66
  externalImportUrlPatterns,
67
67
  importPaths,
68
+ workers,
69
+ serviceWorkers,
70
+ serviceWorkerFinalizer,
68
71
 
69
72
  format,
70
73
  systemJsUrl,
@@ -98,6 +101,15 @@ export const createJsenvRollupPlugin = async ({
98
101
  lastErrorMessage = error.message
99
102
  }
100
103
 
104
+ const workerUrls = Object.keys(workers).map((key) =>
105
+ resolveUrl(key, projectDirectoryUrl),
106
+ )
107
+ const serviceWorkerUrls = Object.keys(serviceWorkers).map((key) =>
108
+ resolveUrl(key, projectDirectoryUrl),
109
+ )
110
+ const isWorkerUrl = (url) => workerUrls.includes(url)
111
+ const isServiceWorkerUrl = (url) => serviceWorkerUrls.includes(url)
112
+
101
113
  let ressourceBuilder
102
114
  let importResolver
103
115
  let rollupEmitFile = () => {}
@@ -194,7 +206,7 @@ export const createJsenvRollupPlugin = async ({
194
206
  compileDirectoryRelativeUrl,
195
207
  projectDirectoryUrl,
196
208
  )
197
- const compileDirectoryRemoteUrl = resolveDirectoryUrl(
209
+ const compileDirectoryServerUrl = resolveDirectoryUrl(
198
210
  compileDirectoryRelativeUrl,
199
211
  compileServerOrigin,
200
212
  )
@@ -371,7 +383,7 @@ export const createJsenvRollupPlugin = async ({
371
383
  )
372
384
  importMapUrl = applyUrlMappings(importMapUrl)
373
385
 
374
- if (!urlIsInsideOf(importMapUrl, compileDirectoryRemoteUrl)) {
386
+ if (!urlIsInsideOf(importMapUrl, compileDirectoryServerUrl)) {
375
387
  logger.warn(
376
388
  formatImportmapOutsideCompileDirectory({
377
389
  importMapInfo: importMapInfoFromHtml,
@@ -392,7 +404,7 @@ export const createJsenvRollupPlugin = async ({
392
404
  firstHtmlEntryPoint.entryProjectRelativeUrl
393
405
  const htmlCompiledUrl = resolveUrl(
394
406
  htmlProjectRelativeUrl,
395
- compileDirectoryRemoteUrl,
407
+ compileDirectoryServerUrl,
396
408
  )
397
409
  importMapUrl = htmlCompiledUrl
398
410
  fetchImportMap = () => {
@@ -404,7 +416,7 @@ export const createJsenvRollupPlugin = async ({
404
416
  } else if (importMapFileRelativeUrl) {
405
417
  importMapUrl = resolveUrl(
406
418
  importMapFileRelativeUrl,
407
- compileDirectoryRemoteUrl,
419
+ compileDirectoryServerUrl,
408
420
  )
409
421
  fetchImportMap = () => {
410
422
  return fetchImportMapFromUrl(
@@ -428,7 +440,7 @@ export const createJsenvRollupPlugin = async ({
428
440
  })
429
441
  const entryCompileServerUrl = resolveUrl(
430
442
  entryProjectRelativeUrl,
431
- compileDirectoryRemoteUrl,
443
+ compileDirectoryServerUrl,
432
444
  )
433
445
  return normalizeImportMap(defaultImportMap, entryCompileServerUrl)
434
446
  }
@@ -550,8 +562,26 @@ export const createJsenvRollupPlugin = async ({
550
562
  // and ignore them and console.info/debug about remote url (https, http, ...)
551
563
  const projectUrl = asProjectUrl(ressourceUrl)
552
564
  if (!projectUrl) {
553
- return { external: true, url: ressourceUrl }
565
+ return {
566
+ isExternal: true,
567
+ url: ressourceUrl,
568
+ }
569
+ }
570
+
571
+ const originalUrl = asOriginalUrl(projectUrl)
572
+ if (isWorkerUrl(originalUrl)) {
573
+ return {
574
+ isWorker: true,
575
+ url: ressourceUrl,
576
+ }
554
577
  }
578
+ if (isServiceWorkerUrl(originalUrl)) {
579
+ return {
580
+ isServiceWorker: true,
581
+ url: ressourceUrl,
582
+ }
583
+ }
584
+
555
585
  return ressourceUrl
556
586
  },
557
587
  emitChunk,
@@ -565,7 +595,7 @@ export const createJsenvRollupPlugin = async ({
565
595
  urlImporterMap[jsModuleUrl] = {
566
596
  url: resolveUrl(
567
597
  entryPointsPrepared[0].entryProjectRelativeUrl,
568
- compileDirectoryRemoteUrl,
598
+ compileDirectoryServerUrl,
569
599
  ),
570
600
  line: undefined,
571
601
  column: undefined,
@@ -615,7 +645,7 @@ export const createJsenvRollupPlugin = async ({
615
645
  const entryUrl =
616
646
  entryContentType === "text/html"
617
647
  ? resolveUrl(entryProjectRelativeUrl, compileServerOrigin)
618
- : resolveUrl(entryProjectRelativeUrl, compileDirectoryRemoteUrl)
648
+ : resolveUrl(entryProjectRelativeUrl, compileDirectoryServerUrl)
619
649
  await ressourceBuilder.createReferenceForEntryPoint({
620
650
  entryContentType,
621
651
  entryUrl,
@@ -640,7 +670,7 @@ export const createJsenvRollupPlugin = async ({
640
670
  if (specifier.endsWith(".html")) {
641
671
  importer = compileServerOrigin
642
672
  } else {
643
- importer = compileDirectoryRemoteUrl
673
+ importer = compileDirectoryServerUrl
644
674
  }
645
675
  } else {
646
676
  importer = asServerUrl(importer)
@@ -1284,6 +1314,18 @@ export const createJsenvRollupPlugin = async ({
1284
1314
  }
1285
1315
  })
1286
1316
 
1317
+ await finalizeServiceWorkers({
1318
+ serviceWorkers,
1319
+ serviceWorkerFinalizer,
1320
+ projectDirectoryUrl,
1321
+ buildDirectoryUrl,
1322
+ rollupBuild,
1323
+ buildMappings,
1324
+ buildManifest,
1325
+ lineBreakNormalization,
1326
+ minify,
1327
+ })
1328
+
1287
1329
  rollupBuild = sortObjectByPathnames(rollupBuild)
1288
1330
  buildManifest = sortObjectByPathnames(buildManifest)
1289
1331
  buildMappings = sortObjectByPathnames(buildMappings)
@@ -1505,3 +1547,32 @@ const acceptsJsonContentType = ({ node, format }) => {
1505
1547
  }
1506
1548
  return false
1507
1549
  }
1550
+
1551
+ const finalizeServiceWorkers = async ({
1552
+ serviceWorkers,
1553
+ serviceWorkerFinalizer,
1554
+ buildMappings,
1555
+ buildManifest,
1556
+ rollupBuild,
1557
+ lineBreakNormalization,
1558
+ }) => {
1559
+ await Promise.all(
1560
+ Object.keys(serviceWorkers).map(async (projectRelativeUrl) => {
1561
+ const buildRelativeUrl = buildMappings[projectRelativeUrl]
1562
+ if (!buildRelativeUrl) {
1563
+ throw new Error(
1564
+ `"${projectRelativeUrl}" service worker file missing in the build`,
1565
+ )
1566
+ }
1567
+ const buildFileContent = rollupBuild[buildRelativeUrl].source
1568
+ rollupBuild[buildRelativeUrl].source = serviceWorkerFinalizer(
1569
+ buildFileContent,
1570
+ {
1571
+ buildManifest,
1572
+ rollupBuild,
1573
+ lineBreakNormalization,
1574
+ },
1575
+ )
1576
+ }),
1577
+ )
1578
+ }
@@ -24,7 +24,6 @@ export const createUrlLoader = ({
24
24
  const loadUrl = async (rollupUrl, { signal, logger, ressourceBuilder }) => {
25
25
  let url = asServerUrl(rollupUrl)
26
26
  const { importType, urlWithoutImportType } = extractImportTypeFromUrl(url)
27
-
28
27
  // importing CSS from JS with import assertions
29
28
  if (importType === "css") {
30
29
  const importer = urlImporterMap[url]
@@ -79,7 +78,6 @@ export const createUrlLoader = ({
79
78
  map,
80
79
  }
81
80
  }
82
-
83
81
  // importing json from JS with import assertion
84
82
  if (importType === "json") {
85
83
  const importer = urlImporterMap[url]
@@ -56,9 +56,9 @@ export const createCompiledFileService = ({
56
56
  sourcemapMethod,
57
57
  sourcemapExcludeSources,
58
58
  }) => {
59
- const moduleFormats = {}
59
+ const compileIdModuleFormats = {}
60
60
  Object.keys(groupMap).forEach((groupName) => {
61
- moduleFormats[groupName] = canAvoidSystemJs({
61
+ compileIdModuleFormats[groupName] = canAvoidSystemJs({
62
62
  runtimeSupport: groupMap[groupName].minRuntimeVersions,
63
63
  })
64
64
  ? "esmodule"
@@ -187,7 +187,7 @@ export const createCompiledFileService = ({
187
187
  runtimeSupport,
188
188
  moduleOutFormat:
189
189
  moduleOutFormat === undefined
190
- ? moduleFormats[compileId]
190
+ ? compileIdModuleFormats[compileId]
191
191
  : moduleOutFormat,
192
192
  importMetaFormat,
193
193
  transformTopLevelAwait,
@@ -1,246 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [
4
- "../../../src/internal/runtime/s.js"
5
- ],
6
- "names": [
7
- "errMsg",
8
- "errCode",
9
- "msg",
10
- "hasSymbol",
11
- "Symbol",
12
- "hasSelf",
13
- "self",
14
- "hasDocument",
15
- "document",
16
- "envGlobal",
17
- "global",
18
- "baseUrl",
19
- "baseEl",
20
- "querySelector",
21
- "href",
22
- "location",
23
- "split",
24
- "lastSepIndex",
25
- "lastIndexOf",
26
- "slice",
27
- "backslashRegEx",
28
- "resolveIfNotPlainOrUrl",
29
- "relUrl",
30
- "parentUrl",
31
- "indexOf",
32
- "replace",
33
- "length",
34
- "parentProtocol",
35
- "pathname",
36
- "segmented",
37
- "output",
38
- "segmentIndex",
39
- "i",
40
- "push",
41
- "pop",
42
- "join",
43
- "resolveUrl",
44
- "resolveAndComposePackages",
45
- "packages",
46
- "outPackages",
47
- "parentMap",
48
- "p",
49
- "resolvedLhs",
50
- "rhs",
51
- "mapped",
52
- "resolveImportMap",
53
- "targetWarning",
54
- "resolveAndComposeImportMap",
55
- "json",
56
- "outMap",
57
- "imports",
58
- "u",
59
- "scopes",
60
- "resolvedScope",
61
- "depcache",
62
- "integrity",
63
- "getMatch",
64
- "path",
65
- "matchObj",
66
- "sepIndex",
67
- "segment",
68
- "applyPackages",
69
- "id",
70
- "pkgName",
71
- "pkg",
72
- "code",
73
- "match",
74
- "target",
75
- "console",
76
- "warn",
77
- "importMap",
78
- "resolvedOrPlain",
79
- "scopeUrl",
80
- "packageResolution",
81
- "toStringTag",
82
- "REGISTRY",
83
- "SystemJS",
84
- "systemJSPrototype",
85
- "prototype",
86
- "import",
87
- "loader",
88
- "Promise",
89
- "resolve",
90
- "prepareImport",
91
- "then",
92
- "load",
93
- "getOrCreateLoad",
94
- "C",
95
- "topLevelLoad",
96
- "createContext",
97
- "parentId",
98
- "url",
99
- "loadToId",
100
- "triggerOnload",
101
- "err",
102
- "isErrSource",
103
- "onload",
104
- "d",
105
- "map",
106
- "lastRegister",
107
- "register",
108
- "deps",
109
- "declare",
110
- "getRegister",
111
- "_lastRegister",
112
- "undefined",
113
- "firstParentUrl",
114
- "importerSetters",
115
- "ns",
116
- "Object",
117
- "create",
118
- "defineProperty",
119
- "value",
120
- "instantiatePromise",
121
- "instantiate",
122
- "registration",
123
- "Error",
124
- "_export",
125
- "name",
126
- "h",
127
- "changed",
128
- "__esModule",
129
- "setter",
130
- "declared",
131
- "importId",
132
- "meta",
133
- "e",
134
- "execute",
135
- "setters",
136
- "er",
137
- "linkPromise",
138
- "instantiation",
139
- "all",
140
- "dep",
141
- "depId",
142
- "depLoad",
143
- "I",
144
- "n",
145
- "depLoads",
146
- "L",
147
- "E",
148
- "instantiateAll",
149
- "parent",
150
- "loaded",
151
- "catch",
152
- "postOrderExec",
153
- "nullContext",
154
- "freeze",
155
- "seen",
156
- "depLoadPromises",
157
- "forEach",
158
- "depLoadPromise",
159
- "doExec",
160
- "execPromise",
161
- "call",
162
- "System",
163
- "importMapPromise",
164
- "processFirst",
165
- "doProcessScripts",
166
- "processScripts",
167
- "window",
168
- "addEventListener",
169
- "querySelectorAll",
170
- "script",
171
- "sp",
172
- "type",
173
- "src",
174
- "message",
175
- "event",
176
- "createEvent",
177
- "initEvent",
178
- "dispatchEvent",
179
- "reject",
180
- "fetchPromise",
181
- "fetch",
182
- "res",
183
- "ok",
184
- "status",
185
- "text",
186
- "onerror",
187
- "innerHTML",
188
- "extendImportMap",
189
- "newMapText",
190
- "newMapUrl",
191
- "newMap",
192
- "JSON",
193
- "parse",
194
- "evt",
195
- "lastWindowErrorUrl",
196
- "filename",
197
- "lastWindowError",
198
- "error",
199
- "baseOrigin",
200
- "origin",
201
- "createScript",
202
- "createElement",
203
- "async",
204
- "crossOrigin",
205
- "lastAutoImportDeps",
206
- "lastAutoImportTimeout",
207
- "autoImportCandidates",
208
- "systemRegister",
209
- "inlineScriptCount",
210
- "autoUrl",
211
- "readyState",
212
- "scripts",
213
- "lastScript",
214
- "lastAutoImportUrl",
215
- "setTimeout",
216
- "autoImportRegistration",
217
- "head",
218
- "removeChild",
219
- "clearTimeout",
220
- "appendChild",
221
- "shouldFetch",
222
- "jsContentTypeRegEx",
223
- "apply",
224
- "arguments",
225
- "credentials",
226
- "statusText",
227
- "contentType",
228
- "headers",
229
- "get",
230
- "test",
231
- "source",
232
- "eval",
233
- "throwUnresolved",
234
- "systemInstantiate",
235
- "preloads",
236
- "importScripts",
237
- "registerRegistry",
238
- "define",
239
- "result"
240
- ],
241
- "mappings": "AAAA;AACA;AACA;AACA;AACC,aAAY;AAEX,WAASA,MAAT,CAAgBC,OAAhB,EAAyBC,GAAzB,EAA8B;AAC5B,WAAO,CAACA,GAAG,IAAI,EAAR,IAAc,kCAAd,GAAmDD,OAAnD,GAA6D,GAApE;AACD;;AAED,MAAIE,SAAS,GAAG,OAAOC,MAAP,KAAkB,WAAlC;AACA,MAAIC,OAAO,GAAG,OAAOC,IAAP,KAAgB,WAA9B;AACA,MAAIC,WAAW,GAAG,OAAOC,QAAP,KAAoB,WAAtC;AAEA,MAAIC,SAAS,GAAGJ,OAAO,GAAGC,IAAH,GAAUI,MAAjC;AAEA,MAAIC,OAAJ;;AAEA,MAAIJ,WAAJ,EAAiB;AACf,QAAIK,MAAM,GAAGJ,QAAQ,CAACK,aAAT,CAAuB,YAAvB,CAAb;AACA,QAAID,MAAJ,EACED,OAAO,GAAGC,MAAM,CAACE,IAAjB;AACH;;AAED,MAAI,CAACH,OAAD,IAAY,OAAOI,QAAP,KAAoB,WAApC,EAAiD;AAC/CJ,IAAAA,OAAO,GAAGI,QAAQ,CAACD,IAAT,CAAcE,KAAd,CAAoB,GAApB,EAAyB,CAAzB,EAA4BA,KAA5B,CAAkC,GAAlC,EAAuC,CAAvC,CAAV;AACA,QAAIC,YAAY,GAAGN,OAAO,CAACO,WAAR,CAAoB,GAApB,CAAnB;AACA,QAAID,YAAY,KAAK,CAAC,CAAtB,EACEN,OAAO,GAAGA,OAAO,CAACQ,KAAR,CAAc,CAAd,EAAiBF,YAAY,GAAG,CAAhC,CAAV;AACH;;AAED,MAAIG,cAAc,GAAG,KAArB;;AACA,WAASC,sBAAT,CAAiCC,MAAjC,EAAyCC,SAAzC,EAAoD;AAClD,QAAID,MAAM,CAACE,OAAP,CAAe,IAAf,MAAyB,CAAC,CAA9B,EACEF,MAAM,GAAGA,MAAM,CAACG,OAAP,CAAeL,cAAf,EAA+B,GAA/B,CAAT,CAFgD,CAGlD;;AACA,QAAIE,MAAM,CAAC,CAAD,CAAN,KAAc,GAAd,IAAqBA,MAAM,CAAC,CAAD,CAAN,KAAc,GAAvC,EAA4C;AAC1C,aAAOC,SAAS,CAACJ,KAAV,CAAgB,CAAhB,EAAmBI,SAAS,CAACC,OAAV,CAAkB,GAAlB,IAAyB,CAA5C,IAAiDF,MAAxD;AACD,KAFD,CAGA;AAHA,SAIK,IAAIA,MAAM,CAAC,CAAD,CAAN,KAAc,GAAd,KAAsBA,MAAM,CAAC,CAAD,CAAN,KAAc,GAAd,IAAqBA,MAAM,CAAC,CAAD,CAAN,KAAc,GAAd,KAAsBA,MAAM,CAAC,CAAD,CAAN,KAAc,GAAd,IAAqBA,MAAM,CAACI,MAAP,KAAkB,CAAlB,KAAwBJ,MAAM,IAAI,GAAlC,CAA3C,CAArB,IAC3BA,MAAM,CAACI,MAAP,KAAkB,CAAlB,KAAyBJ,MAAM,IAAI,GAAnC,CADK,KAELA,MAAM,CAAC,CAAD,CAAN,KAAc,GAFb,EAEkB;AACrB,UAAIK,cAAc,GAAGJ,SAAS,CAACJ,KAAV,CAAgB,CAAhB,EAAmBI,SAAS,CAACC,OAAV,CAAkB,GAAlB,IAAyB,CAA5C,CAArB,CADqB,CAErB;AACA;AACA;AACA;AACA;;AACA,UAAII,QAAJ;;AACA,UAAIL,SAAS,CAACI,cAAc,CAACD,MAAf,GAAwB,CAAzB,CAAT,KAAyC,GAA7C,EAAkD;AAChD;AACA,YAAIC,cAAc,KAAK,OAAvB,EAAgC;AAC9BC,UAAAA,QAAQ,GAAGL,SAAS,CAACJ,KAAV,CAAgBQ,cAAc,CAACD,MAAf,GAAwB,CAAxC,CAAX;AACAE,UAAAA,QAAQ,GAAGA,QAAQ,CAACT,KAAT,CAAeS,QAAQ,CAACJ,OAAT,CAAiB,GAAjB,IAAwB,CAAvC,CAAX;AACD,SAHD,MAIK;AACHI,UAAAA,QAAQ,GAAGL,SAAS,CAACJ,KAAV,CAAgB,CAAhB,CAAX;AACD;AACF,OATD,MAUK;AACH;AACAS,QAAAA,QAAQ,GAAGL,SAAS,CAACJ,KAAV,CAAgBQ,cAAc,CAACD,MAAf,IAAyBH,SAAS,CAACI,cAAc,CAACD,MAAhB,CAAT,KAAqC,GAA9D,CAAhB,CAAX;AACD;;AAED,UAAIJ,MAAM,CAAC,CAAD,CAAN,KAAc,GAAlB,EACE,OAAOC,SAAS,CAACJ,KAAV,CAAgB,CAAhB,EAAmBI,SAAS,CAACG,MAAV,GAAmBE,QAAQ,CAACF,MAA5B,GAAqC,CAAxD,IAA6DJ,MAApE,CAxBmB,CA0BrB;AACA;AACA;;AACA,UAAIO,SAAS,GAAGD,QAAQ,CAACT,KAAT,CAAe,CAAf,EAAkBS,QAAQ,CAACV,WAAT,CAAqB,GAArB,IAA4B,CAA9C,IAAmDI,MAAnE;AAEA,UAAIQ,MAAM,GAAG,EAAb;AACA,UAAIC,YAAY,GAAG,CAAC,CAApB;;AACA,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,SAAS,CAACH,MAA9B,EAAsCM,CAAC,EAAvC,EAA2C;AACzC;AACA,YAAID,YAAY,KAAK,CAAC,CAAtB,EAAyB;AACvB,cAAIF,SAAS,CAACG,CAAD,CAAT,KAAiB,GAArB,EAA0B;AACxBF,YAAAA,MAAM,CAACG,IAAP,CAAYJ,SAAS,CAACV,KAAV,CAAgBY,YAAhB,EAA8BC,CAAC,GAAG,CAAlC,CAAZ;AACAD,YAAAA,YAAY,GAAG,CAAC,CAAhB;AACD;AACF,SALD,CAOA;AAPA,aAQK,IAAIF,SAAS,CAACG,CAAD,CAAT,KAAiB,GAArB,EAA0B;AAC7B;AACA,cAAIH,SAAS,CAACG,CAAC,GAAG,CAAL,CAAT,KAAqB,GAArB,KAA6BH,SAAS,CAACG,CAAC,GAAG,CAAL,CAAT,KAAqB,GAArB,IAA4BA,CAAC,GAAG,CAAJ,KAAUH,SAAS,CAACH,MAA7E,CAAJ,EAA0F;AACxFI,YAAAA,MAAM,CAACI,GAAP;AACAF,YAAAA,CAAC,IAAI,CAAL;AACD,WAHD,CAIA;AAJA,eAKK,IAAIH,SAAS,CAACG,CAAC,GAAG,CAAL,CAAT,KAAqB,GAArB,IAA4BA,CAAC,GAAG,CAAJ,KAAUH,SAAS,CAACH,MAApD,EAA4D;AAC/DM,YAAAA,CAAC,IAAI,CAAL;AACD,WAFI,MAGA;AACH;AACAD,YAAAA,YAAY,GAAGC,CAAf;AACD;AACF,SAdI,CAeL;AAfK,aAgBA;AACHD,UAAAA,YAAY,GAAGC,CAAf;AACD;AACF,OA9DoB,CA+DrB;;;AACA,UAAID,YAAY,KAAK,CAAC,CAAtB,EACED,MAAM,CAACG,IAAP,CAAYJ,SAAS,CAACV,KAAV,CAAgBY,YAAhB,CAAZ;AACF,aAAOR,SAAS,CAACJ,KAAV,CAAgB,CAAhB,EAAmBI,SAAS,CAACG,MAAV,GAAmBE,QAAQ,CAACF,MAA/C,IAAyDI,MAAM,CAACK,IAAP,CAAY,EAAZ,CAAhE;AACD;AACF;AAED;AACF;AACA;AACA;AACA;AACA;AACA;;;AAEE,WAASC,UAAT,CAAqBd,MAArB,EAA6BC,SAA7B,EAAwC;AACtC,WAAOF,sBAAsB,CAACC,MAAD,EAASC,SAAT,CAAtB,KAA8CD,MAAM,CAACE,OAAP,CAAe,GAAf,MAAwB,CAAC,CAAzB,GAA6BF,MAA7B,GAAsCD,sBAAsB,CAAC,OAAOC,MAAR,EAAgBC,SAAhB,CAA1G,CAAP;AACD;;AAED,WAASc,yBAAT,CAAoCC,QAApC,EAA8CC,WAA9C,EAA2D5B,OAA3D,EAAoE6B,SAApE,EAA+EjB,SAA/E,EAA0F;AACxF,SAAK,IAAIkB,CAAT,IAAcH,QAAd,EAAwB;AACtB,UAAII,WAAW,GAAGrB,sBAAsB,CAACoB,CAAD,EAAI9B,OAAJ,CAAtB,IAAsC8B,CAAxD;AACA,UAAIE,GAAG,GAAGL,QAAQ,CAACG,CAAD,CAAlB,CAFsB,CAGtB;;AACA,UAAI,OAAOE,GAAP,KAAe,QAAnB,EACE;AACF,UAAIC,MAAM,GAAGC,gBAAgB,CAACL,SAAD,EAAYnB,sBAAsB,CAACsB,GAAD,EAAMhC,OAAN,CAAtB,IAAwCgC,GAApD,EAAyDpB,SAAzD,CAA7B;;AACA,UAAI,CAACqB,MAAL,EAAa;AACXE,QAAAA,aAAa,CAAC,IAAD,EAAOL,CAAP,EAAUE,GAAV,CAAb;AACD,OAFD,MAIEJ,WAAW,CAACG,WAAD,CAAX,GAA2BE,MAA3B;AACH;AACF;;AAED,WAASG,0BAAT,CAAqCC,IAArC,EAA2CrC,OAA3C,EAAoDsC,MAApD,EAA4D;AAC1D,QAAID,IAAI,CAACE,OAAT,EACEb,yBAAyB,CAACW,IAAI,CAACE,OAAN,EAAeD,MAAM,CAACC,OAAtB,EAA+BvC,OAA/B,EAAwCsC,MAAxC,EAAgD,IAAhD,CAAzB;AAEF,QAAIE,CAAJ;;AACA,SAAKA,CAAL,IAAUH,IAAI,CAACI,MAAL,IAAe,EAAzB,EAA6B;AAC3B,UAAIC,aAAa,GAAGjB,UAAU,CAACe,CAAD,EAAIxC,OAAJ,CAA9B;AACA0B,MAAAA,yBAAyB,CAACW,IAAI,CAACI,MAAL,CAAYD,CAAZ,CAAD,EAAiBF,MAAM,CAACG,MAAP,CAAcC,aAAd,MAAiCJ,MAAM,CAACG,MAAP,CAAcC,aAAd,IAA+B,EAAhE,CAAjB,EAAsF1C,OAAtF,EAA+FsC,MAA/F,EAAuGI,aAAvG,CAAzB;AACD;;AAED,SAAKF,CAAL,IAAUH,IAAI,CAACM,QAAL,IAAiB,EAA3B,EACEL,MAAM,CAACK,QAAP,CAAgBlB,UAAU,CAACe,CAAD,EAAIxC,OAAJ,CAA1B,IAA0CqC,IAAI,CAACM,QAAL,CAAcH,CAAd,CAA1C;;AAEF,SAAKA,CAAL,IAAUH,IAAI,CAACO,SAAL,IAAkB,EAA5B,EACEN,MAAM,CAACM,SAAP,CAAiBnB,UAAU,CAACe,CAAD,EAAIxC,OAAJ,CAA3B,IAA2CqC,IAAI,CAACO,SAAL,CAAeJ,CAAf,CAA3C;AACH;;AAED,WAASK,QAAT,CAAmBC,IAAnB,EAAyBC,QAAzB,EAAmC;AACjC,QAAIA,QAAQ,CAACD,IAAD,CAAZ,EACE,OAAOA,IAAP;AACF,QAAIE,QAAQ,GAAGF,IAAI,CAAC/B,MAApB;;AACA,OAAG;AACD,UAAIkC,OAAO,GAAGH,IAAI,CAACtC,KAAL,CAAW,CAAX,EAAcwC,QAAQ,GAAG,CAAzB,CAAd;AACA,UAAIC,OAAO,IAAIF,QAAf,EACE,OAAOE,OAAP;AACH,KAJD,QAIS,CAACD,QAAQ,GAAGF,IAAI,CAACvC,WAAL,CAAiB,GAAjB,EAAsByC,QAAQ,GAAG,CAAjC,CAAZ,MAAqD,CAAC,CAJ/D;AAKD;;AAED,WAASE,aAAT,CAAwBC,EAAxB,EAA4BxB,QAA5B,EAAsC;AACpC,QAAIyB,OAAO,GAAGP,QAAQ,CAACM,EAAD,EAAKxB,QAAL,CAAtB;;AACA,QAAIyB,OAAJ,EAAa;AACX,UAAIC,GAAG,GAAG1B,QAAQ,CAACyB,OAAD,CAAlB;AACA,UAAIC,GAAG,KAAK,IAAZ,EAAkB;;AAClB,UAAIF,EAAE,CAACpC,MAAH,GAAYqC,OAAO,CAACrC,MAApB,IAA8BsC,GAAG,CAACA,GAAG,CAACtC,MAAJ,GAAa,CAAd,CAAH,KAAwB,GAA1D,EAA+D;AAC7DoB,QAAAA,aAAa,CAAC,IAAD,EAAOiB,OAAP,EAAgBC,GAAhB,CAAb;AACD,OAFD,MAIE,OAAOA,GAAG,GAAGF,EAAE,CAAC3C,KAAH,CAAS4C,OAAO,CAACrC,MAAjB,CAAb;AACH;AACF;;AAED,WAASoB,aAAT,CAAwBmB,IAAxB,EAA8BC,KAA9B,EAAqCC,MAArC,EAA6CjE,GAA7C,EAAkD;AAChDkE,IAAAA,OAAO,CAACC,IAAR,CAAarE,MAAM,CAACiE,IAAD,EAAQ,CAACE,MAAD,EAASD,KAAT,EAAgB/B,IAAhB,CAAqB,IAArB,CAAR,CAAnB;AACD;;AAED,WAASU,gBAAT,CAA2ByB,SAA3B,EAAsCC,eAAtC,EAAuDhD,SAAvD,EAAkE;AAChE,QAAI6B,MAAM,GAAGkB,SAAS,CAAClB,MAAvB;AACA,QAAIoB,QAAQ,GAAGjD,SAAS,IAAIiC,QAAQ,CAACjC,SAAD,EAAY6B,MAAZ,CAApC;;AACA,WAAOoB,QAAP,EAAiB;AACf,UAAIC,iBAAiB,GAAGZ,aAAa,CAACU,eAAD,EAAkBnB,MAAM,CAACoB,QAAD,CAAxB,CAArC;AACA,UAAIC,iBAAJ,EACE,OAAOA,iBAAP;AACFD,MAAAA,QAAQ,GAAGhB,QAAQ,CAACgB,QAAQ,CAACrD,KAAT,CAAe,CAAf,EAAkBqD,QAAQ,CAACtD,WAAT,CAAqB,GAArB,CAAlB,CAAD,EAA+CkC,MAA/C,CAAnB;AACD;;AACD,WAAOS,aAAa,CAACU,eAAD,EAAkBD,SAAS,CAACpB,OAA5B,CAAb,IAAqDqB,eAAe,CAAC/C,OAAhB,CAAwB,GAAxB,MAAiC,CAAC,CAAlC,IAAuC+C,eAAnG;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEE,MAAIG,WAAW,GAAGvE,SAAS,IAAIC,MAAM,CAACsE,WAAtC;AACA,MAAIC,QAAQ,GAAGxE,SAAS,GAAGC,MAAM,EAAT,GAAc,GAAtC;;AAEA,WAASwE,QAAT,GAAqB;AACnB,SAAKD,QAAL,IAAiB,EAAjB;AACD;;AAED,MAAIE,iBAAiB,GAAGD,QAAQ,CAACE,SAAjC;;AAEAD,EAAAA,iBAAiB,CAACE,MAAlB,GAA2B,UAAUjB,EAAV,EAAcvC,SAAd,EAAyB;AAClD,QAAIyD,MAAM,GAAG,IAAb;AACA,WAAOC,OAAO,CAACC,OAAR,CAAgBF,MAAM,CAACG,aAAP,EAAhB,EACNC,IADM,CACD,YAAW;AACf,aAAOJ,MAAM,CAACE,OAAP,CAAepB,EAAf,EAAmBvC,SAAnB,CAAP;AACD,KAHM,EAIN6D,IAJM,CAID,UAAUtB,EAAV,EAAc;AAClB,UAAIuB,IAAI,GAAGC,eAAe,CAACN,MAAD,EAASlB,EAAT,CAA1B;AACA,aAAOuB,IAAI,CAACE,CAAL,IAAUC,YAAY,CAACR,MAAD,EAASK,IAAT,CAA7B;AACD,KAPM,CAAP;AAQD,GAVD,CA3NW,CAuOX;;;AACAR,EAAAA,iBAAiB,CAACY,aAAlB,GAAkC,UAAUC,QAAV,EAAoB;AACpD,QAAIV,MAAM,GAAG,IAAb;AACA,WAAO;AACLW,MAAAA,GAAG,EAAED,QADA;AAELR,MAAAA,OAAO,EAAE,UAAUpB,EAAV,EAAcvC,SAAd,EAAyB;AAChC,eAAO0D,OAAO,CAACC,OAAR,CAAgBF,MAAM,CAACE,OAAP,CAAepB,EAAf,EAAmBvC,SAAS,IAAImE,QAAhC,CAAhB,CAAP;AACD;AAJI,KAAP;AAMD,GARD;;AASA,WAASE,QAAT,CAAmBP,IAAnB,EAAyB;AACvB,WAAOA,IAAI,CAACvB,EAAZ;AACD;;AACD,WAAS+B,aAAT,CAAwBb,MAAxB,EAAgCK,IAAhC,EAAsCS,GAAtC,EAA2CC,WAA3C,EAAwD;AACtDf,IAAAA,MAAM,CAACgB,MAAP,CAAcF,GAAd,EAAmBT,IAAI,CAACvB,EAAxB,EAA4BuB,IAAI,CAACY,CAAL,IAAUZ,IAAI,CAACY,CAAL,CAAOC,GAAP,CAAWN,QAAX,CAAtC,EAA4D,CAAC,CAACG,WAA9D;AACA,QAAID,GAAJ,EACE,MAAMA,GAAN;AACH;;AAED,MAAIK,YAAJ;;AACAtB,EAAAA,iBAAiB,CAACuB,QAAlB,GAA6B,UAAUC,IAAV,EAAgBC,OAAhB,EAAyB;AACpDH,IAAAA,YAAY,GAAG,CAACE,IAAD,EAAOC,OAAP,CAAf;AACD,GAFD;AAIA;AACF;AACA;;;AACEzB,EAAAA,iBAAiB,CAAC0B,WAAlB,GAAgC,YAAY;AAC1C,QAAIC,aAAa,GAAGL,YAApB;AACAA,IAAAA,YAAY,GAAGM,SAAf;AACA,WAAOD,aAAP;AACD,GAJD;;AAMA,WAASlB,eAAT,CAA0BN,MAA1B,EAAkClB,EAAlC,EAAsC4C,cAAtC,EAAsD;AACpD,QAAIrB,IAAI,GAAGL,MAAM,CAACL,QAAD,CAAN,CAAiBb,EAAjB,CAAX;AACA,QAAIuB,IAAJ,EACE,OAAOA,IAAP;AAEF,QAAIsB,eAAe,GAAG,EAAtB;AACA,QAAIC,EAAE,GAAGC,MAAM,CAACC,MAAP,CAAc,IAAd,CAAT;AACA,QAAIpC,WAAJ,EACEmC,MAAM,CAACE,cAAP,CAAsBH,EAAtB,EAA0BlC,WAA1B,EAAuC;AAAEsC,MAAAA,KAAK,EAAE;AAAT,KAAvC;AAEF,QAAIC,kBAAkB,GAAGhC,OAAO,CAACC,OAAR,GACxBE,IADwB,CACnB,YAAY;AAChB,aAAOJ,MAAM,CAACkC,WAAP,CAAmBpD,EAAnB,EAAuB4C,cAAvB,CAAP;AACD,KAHwB,EAIxBtB,IAJwB,CAInB,UAAU+B,YAAV,EAAwB;AAC5B,UAAI,CAACA,YAAL,EACE,MAAMC,KAAK,CAACpH,MAAM,CAAC,CAAD,EAAK8D,EAAL,CAAP,CAAX;;AACF,eAASuD,OAAT,CAAkBC,IAAlB,EAAwBN,KAAxB,EAA+B;AAC7B;AACA3B,QAAAA,IAAI,CAACkC,CAAL,GAAS,IAAT;AACA,YAAIC,OAAO,GAAG,KAAd;;AACA,YAAI,OAAOF,IAAP,KAAgB,QAApB,EAA8B;AAC5B,cAAI,EAAEA,IAAI,IAAIV,EAAV,KAAiBA,EAAE,CAACU,IAAD,CAAF,KAAaN,KAAlC,EAAyC;AACvCJ,YAAAA,EAAE,CAACU,IAAD,CAAF,GAAWN,KAAX;AACAQ,YAAAA,OAAO,GAAG,IAAV;AACD;AACF,SALD,MAMK;AACH,eAAK,IAAI/E,CAAT,IAAc6E,IAAd,EAAoB;AAClB,gBAAIN,KAAK,GAAGM,IAAI,CAAC7E,CAAD,CAAhB;;AACA,gBAAI,EAAEA,CAAC,IAAImE,EAAP,KAAcA,EAAE,CAACnE,CAAD,CAAF,KAAUuE,KAA5B,EAAmC;AACjCJ,cAAAA,EAAE,CAACnE,CAAD,CAAF,GAAQuE,KAAR;AACAQ,cAAAA,OAAO,GAAG,IAAV;AACD;AACF;;AAED,cAAIF,IAAI,IAAIA,IAAI,CAACG,UAAjB,EAA6B;AAC3Bb,YAAAA,EAAE,CAACa,UAAH,GAAgBH,IAAI,CAACG,UAArB;AACD;AACF;;AACD,YAAID,OAAJ,EACE,KAAK,IAAIxF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2E,eAAe,CAACjF,MAApC,EAA4CM,CAAC,EAA7C,EAAiD;AAC/C,cAAI0F,MAAM,GAAGf,eAAe,CAAC3E,CAAD,CAA5B;AACA,cAAI0F,MAAJ,EAAYA,MAAM,CAACd,EAAD,CAAN;AACb;AACH,eAAOI,KAAP;AACD;;AACD,UAAIW,QAAQ,GAAGR,YAAY,CAAC,CAAD,CAAZ,CAAgBE,OAAhB,EAAyBF,YAAY,CAAC,CAAD,CAAZ,CAAgBzF,MAAhB,KAA2B,CAA3B,GAA+B;AACrEqD,QAAAA,MAAM,EAAE,UAAU6C,QAAV,EAAoB;AAC1B,iBAAO5C,MAAM,CAACD,MAAP,CAAc6C,QAAd,EAAwB9D,EAAxB,CAAP;AACD,SAHoE;AAIrE+D,QAAAA,IAAI,EAAE7C,MAAM,CAACS,aAAP,CAAqB3B,EAArB;AAJ+D,OAA/B,GAKpC2C,SALW,CAAf;;AAMApB,MAAAA,IAAI,CAACyC,CAAL,GAASH,QAAQ,CAACI,OAAT,IAAoB,YAAY,CAAE,CAA3C;;AACA,aAAO,CAACZ,YAAY,CAAC,CAAD,CAAb,EAAkBQ,QAAQ,CAACK,OAAT,IAAoB,EAAtC,CAAP;AACD,KA7CwB,EA6CtB,UAAUlC,GAAV,EAAe;AAChBT,MAAAA,IAAI,CAACyC,CAAL,GAAS,IAAT;AACAzC,MAAAA,IAAI,CAAC4C,EAAL,GAAUnC,GAAV;AACA,YAAMA,GAAN;AACD,KAjDwB,CAAzB;AAmDA,QAAIoC,WAAW,GAAGjB,kBAAkB,CACnC7B,IADiB,CACZ,UAAU+C,aAAV,EAAyB;AAC7B,aAAOlD,OAAO,CAACmD,GAAR,CAAYD,aAAa,CAAC,CAAD,CAAb,CAAiBjC,GAAjB,CAAqB,UAAUmC,GAAV,EAAerG,CAAf,EAAkB;AACxD,YAAI0F,MAAM,GAAGS,aAAa,CAAC,CAAD,CAAb,CAAiBnG,CAAjB,CAAb;AACA,eAAOiD,OAAO,CAACC,OAAR,CAAgBF,MAAM,CAACE,OAAP,CAAemD,GAAf,EAAoBvE,EAApB,CAAhB,EACNsB,IADM,CACD,UAAUkD,KAAV,EAAiB;AACrB,cAAIC,OAAO,GAAGjD,eAAe,CAACN,MAAD,EAASsD,KAAT,EAAgBxE,EAAhB,CAA7B,CADqB,CAErB;;AACA,iBAAOmB,OAAO,CAACC,OAAR,CAAgBqD,OAAO,CAACC,CAAxB,EACNpD,IADM,CACD,YAAY;AAChB,gBAAIsC,MAAJ,EAAY;AACVa,cAAAA,OAAO,CAACvG,CAAR,CAAUC,IAAV,CAAeyF,MAAf,EADU,CAEV;AACA;;AACA,kBAAIa,OAAO,CAAChB,CAAR,IAAa,CAACgB,OAAO,CAACC,CAA1B,EACEd,MAAM,CAACa,OAAO,CAACE,CAAT,CAAN;AACH;;AACD,mBAAOF,OAAP;AACD,WAVM,CAAP;AAWD,SAfM,CAAP;AAgBD,OAlBkB,CAAZ,EAmBNnD,IAnBM,CAmBD,UAAUsD,QAAV,EAAoB;AACxBrD,QAAAA,IAAI,CAACY,CAAL,GAASyC,QAAT;AACD,OArBM,CAAP;AAsBD,KAxBiB,CAAlB,CA7DoD,CAuFpD;;AACA,WAAOrD,IAAI,GAAGL,MAAM,CAACL,QAAD,CAAN,CAAiBb,EAAjB,IAAuB;AACnCA,MAAAA,EAAE,EAAEA,EAD+B;AAEnC;AACA;AACA9B,MAAAA,CAAC,EAAE2E,eAJgC;AAKnC;AACA8B,MAAAA,CAAC,EAAE7B,EANgC;AAQnC;AACA4B,MAAAA,CAAC,EAAEvB,kBATgC;AAUnC;AACA0B,MAAAA,CAAC,EAAET,WAXgC;AAYnC;AACAX,MAAAA,CAAC,EAAE,KAbgC;AAenC;AACA;AACAtB,MAAAA,CAAC,EAAEQ,SAjBgC;AAkBnC;AACAqB,MAAAA,CAAC,EAAErB,SAnBgC;AAqBnC;AACA;AACAwB,MAAAA,EAAE,EAAExB,SAvB+B;AAwBnC;AACAmC,MAAAA,CAAC,EAAEnC,SAzBgC;AA2BnC;AAEA;AACAlB,MAAAA,CAAC,EAAEkB,SA9BgC;AAgCnC;AACAhE,MAAAA,CAAC,EAAEgE;AAjCgC,KAArC;AAmCD;;AAED,WAASoC,cAAT,CAAyB7D,MAAzB,EAAiCK,IAAjC,EAAuCyD,MAAvC,EAA+CC,MAA/C,EAAuD;AACrD,QAAI,CAACA,MAAM,CAAC1D,IAAI,CAACvB,EAAN,CAAX,EAAsB;AACpBiF,MAAAA,MAAM,CAAC1D,IAAI,CAACvB,EAAN,CAAN,GAAkB,IAAlB,CADoB,CAEpB;;AACA,aAAOmB,OAAO,CAACC,OAAR,CAAgBG,IAAI,CAACsD,CAArB,EACNvD,IADM,CACD,YAAY;AAChB,YAAI,CAACC,IAAI,CAAC5C,CAAN,IAAW4C,IAAI,CAAC5C,CAAL,CAAOqF,CAAP,KAAa,IAA5B,EACEzC,IAAI,CAAC5C,CAAL,GAASqG,MAAT;AACF,eAAO7D,OAAO,CAACmD,GAAR,CAAY/C,IAAI,CAACY,CAAL,CAAOC,GAAP,CAAW,UAAUmC,GAAV,EAAe;AAC3C,iBAAOQ,cAAc,CAAC7D,MAAD,EAASqD,GAAT,EAAcS,MAAd,EAAsBC,MAAtB,CAArB;AACD,SAFkB,CAAZ,CAAP;AAGD,OAPM,EAQNC,KARM,CAQA,UAAUlD,GAAV,EAAe;AACpB,YAAIT,IAAI,CAAC4C,EAAT,EACE,MAAMnC,GAAN;AACFT,QAAAA,IAAI,CAACyC,CAAL,GAAS,IAAT;AACA,cAAMhC,GAAN;AACD,OAbM,CAAP;AAcD;AACF;;AAED,WAASN,YAAT,CAAuBR,MAAvB,EAA+BK,IAA/B,EAAqC;AACnC,WAAOA,IAAI,CAACE,CAAL,GAASsD,cAAc,CAAC7D,MAAD,EAASK,IAAT,EAAeA,IAAf,EAAqB,EAArB,CAAd,CACfD,IADe,CACV,YAAY;AAChB,aAAO6D,aAAa,CAACjE,MAAD,EAASK,IAAT,EAAe,EAAf,CAApB;AACD,KAHe,EAIfD,IAJe,CAIV,YAAY;AAChB,aAAOC,IAAI,CAACoD,CAAZ;AACD,KANe,CAAhB;AAOD,GAlaU,CAoaX;;;AACA,MAAIS,WAAW,GAAGrC,MAAM,CAACsC,MAAP,CAActC,MAAM,CAACC,MAAP,CAAc,IAAd,CAAd,CAAlB,CAraW,CAuaX;AACA;;AACA,WAASmC,aAAT,CAAwBjE,MAAxB,EAAgCK,IAAhC,EAAsC+D,IAAtC,EAA4C;AAC1C,QAAIA,IAAI,CAAC/D,IAAI,CAACvB,EAAN,CAAR,EACE;AACFsF,IAAAA,IAAI,CAAC/D,IAAI,CAACvB,EAAN,CAAJ,GAAgB,IAAhB;;AAEA,QAAI,CAACuB,IAAI,CAACyC,CAAV,EAAa;AACX,UAAIzC,IAAI,CAAC4C,EAAT,EACE,MAAM5C,IAAI,CAAC4C,EAAX;AACF,UAAI5C,IAAI,CAACuD,CAAT,EACE,OAAOvD,IAAI,CAACuD,CAAZ;AACF;AACD,KAXyC,CAa1C;;;AACA,QAAIS,eAAJ;AACAhE,IAAAA,IAAI,CAACY,CAAL,CAAOqD,OAAP,CAAe,UAAUf,OAAV,EAAmB;AAChC,UAAI;AACF,YAAIgB,cAAc,GAAGN,aAAa,CAACjE,MAAD,EAASuD,OAAT,EAAkBa,IAAlB,CAAlC;AACA,YAAIG,cAAJ,EACE,CAACF,eAAe,GAAGA,eAAe,IAAI,EAAtC,EAA0CpH,IAA1C,CAA+CsH,cAA/C;AACH,OAJD,CAKA,OAAOzD,GAAP,EAAY;AACVT,QAAAA,IAAI,CAACyC,CAAL,GAAS,IAAT;AACAzC,QAAAA,IAAI,CAAC4C,EAAL,GAAUnC,GAAV;AACA,cAAMA,GAAN;AACD;AACF,KAXD;AAYA,QAAIuD,eAAJ,EACE,OAAOpE,OAAO,CAACmD,GAAR,CAAYiB,eAAZ,EAA6BjE,IAA7B,CAAkCoE,MAAlC,CAAP;AAEF,WAAOA,MAAM,EAAb;;AAEA,aAASA,MAAT,GAAmB;AACjB,UAAI;AACF,YAAIC,WAAW,GAAGpE,IAAI,CAACyC,CAAL,CAAO4B,IAAP,CAAYR,WAAZ,CAAlB;;AACA,YAAIO,WAAJ,EAAiB;AACfA,UAAAA,WAAW,GAAGA,WAAW,CAACrE,IAAZ,CAAiB,YAAY;AACzCC,YAAAA,IAAI,CAACE,CAAL,GAASF,IAAI,CAACoD,CAAd;AACApD,YAAAA,IAAI,CAACuD,CAAL,GAAS,IAAT,CAFyC,CAE1B;;AACf,gBAAI,CAAC,IAAL,EAAW;AACZ,WAJa,EAIX,UAAU9C,GAAV,EAAe;AAChBT,YAAAA,IAAI,CAAC4C,EAAL,GAAUnC,GAAV;AACAT,YAAAA,IAAI,CAACuD,CAAL,GAAS,IAAT;AACA,gBAAI,CAAC,IAAL,EAAW;AACX,kBAAM9C,GAAN;AACD,WATa,CAAd;AAUA,iBAAOT,IAAI,CAACuD,CAAL,GAASa,WAAhB;AACD,SAdC,CAeF;;;AACApE,QAAAA,IAAI,CAACE,CAAL,GAASF,IAAI,CAACoD,CAAd;AACApD,QAAAA,IAAI,CAACsD,CAAL,GAAStD,IAAI,CAACmD,CAAL,GAAS/B,SAAlB;AACD,OAlBD,CAmBA,OAAOX,GAAP,EAAY;AACVT,QAAAA,IAAI,CAAC4C,EAAL,GAAUnC,GAAV;AACA,cAAMA,GAAN;AACD,OAtBD,SAuBQ;AACNT,QAAAA,IAAI,CAACyC,CAAL,GAAS,IAAT;AACD;AACF;AACF;;AAEDrH,EAAAA,SAAS,CAACkJ,MAAV,GAAmB,IAAI/E,QAAJ,EAAnB;AAEA;AACF;AACA;;AAEE,MAAIgF,gBAAgB,GAAG3E,OAAO,CAACC,OAAR,EAAvB;AACA,MAAIZ,SAAS,GAAG;AAAEpB,IAAAA,OAAO,EAAE,EAAX;AAAeE,IAAAA,MAAM,EAAE,EAAvB;AAA2BE,IAAAA,QAAQ,EAAE,EAArC;AAAyCC,IAAAA,SAAS,EAAE;AAApD,GAAhB,CA9eW,CAgfX;AACA;AACA;;AACA,MAAIsG,YAAY,GAAGtJ,WAAnB;;AACAsE,EAAAA,iBAAiB,CAACM,aAAlB,GAAkC,UAAU2E,gBAAV,EAA4B;AAC5D,QAAID,YAAY,IAAIC,gBAApB,EAAsC;AACpCC,MAAAA,cAAc;AACdF,MAAAA,YAAY,GAAG,KAAf;AACD;;AACD,WAAOD,gBAAP;AACD,GAND;;AAOA,MAAIrJ,WAAJ,EAAiB;AACfwJ,IAAAA,cAAc;AACdC,IAAAA,MAAM,CAACC,gBAAP,CAAwB,kBAAxB,EAA4CF,cAA5C;AACD;;AAED,WAASA,cAAT,GAA2B;AACzB,OAAGT,OAAH,CAAWI,IAAX,CAAgBlJ,QAAQ,CAAC0J,gBAAT,CAA0B,QAA1B,CAAhB,EAAqD,UAAUC,MAAV,EAAkB;AACrE,UAAIA,MAAM,CAACC,EAAX,EAAe;AACb,eAFmE,CAGrE;;AACA,UAAID,MAAM,CAACE,IAAP,KAAgB,iBAApB,EAAuC;AACrCF,QAAAA,MAAM,CAACC,EAAP,GAAY,IAAZ;AACA,YAAI,CAACD,MAAM,CAACG,GAAZ,EACE;AACFX,QAAAA,MAAM,CAAC5E,MAAP,CAAcoF,MAAM,CAACG,GAAP,CAAWnJ,KAAX,CAAiB,CAAjB,EAAoB,CAApB,MAA2B,SAA3B,GAAuCgJ,MAAM,CAACG,GAAP,CAAWnJ,KAAX,CAAiB,CAAjB,CAAvC,GAA6DiB,UAAU,CAAC+H,MAAM,CAACG,GAAR,EAAa3J,OAAb,CAArF,EAA4GqI,KAA5G,CAAkH,UAAUlB,CAAV,EAAa;AAC7H;AACA;AACA,cAAIA,CAAC,CAACyC,OAAF,CAAU/I,OAAV,CAAkB,wBAAlB,IAA8C,CAAC,CAAnD,EAAsD;AACpD,gBAAIgJ,KAAK,GAAGhK,QAAQ,CAACiK,WAAT,CAAqB,OAArB,CAAZ;AACAD,YAAAA,KAAK,CAACE,SAAN,CAAgB,OAAhB,EAAyB,KAAzB,EAAgC,KAAhC;AACAP,YAAAA,MAAM,CAACQ,aAAP,CAAqBH,KAArB;AACD;;AACD,iBAAOvF,OAAO,CAAC2F,MAAR,CAAe9C,CAAf,CAAP;AACD,SATD;AAUD,OAdD,MAeK,IAAIqC,MAAM,CAACE,IAAP,KAAgB,oBAApB,EAA0C;AAC7CF,QAAAA,MAAM,CAACC,EAAP,GAAY,IAAZ;AACA,YAAIS,YAAY,GAAGV,MAAM,CAACG,GAAP,GAAaQ,KAAK,CAACX,MAAM,CAACG,GAAR,EAAa;AAAE/G,UAAAA,SAAS,EAAE4G,MAAM,CAAC5G;AAApB,SAAb,CAAL,CAAmD6B,IAAnD,CAAwD,UAAU2F,GAAV,EAAe;AACrG,cAAI,CAACA,GAAG,CAACC,EAAT,EACE,MAAM5D,KAAK,CAAE2D,GAAG,CAACE,MAAN,CAAX;AACF,iBAAOF,GAAG,CAACG,IAAJ,EAAP;AACD,SAJ+B,EAI7BlC,KAJ6B,CAIvB,UAAUlD,GAAV,EAAe;AACtBA,UAAAA,GAAG,CAACyE,OAAJ,GAAcvK,MAAM,CAAC,IAAD,EAAQmK,MAAM,CAACG,GAAf,CAAN,GAA6B,IAA7B,GAAoCxE,GAAG,CAACyE,OAAtD;AACAnG,UAAAA,OAAO,CAACC,IAAR,CAAayB,GAAb;;AACA,cAAI,OAAOqE,MAAM,CAACgB,OAAd,KAA0B,UAA9B,EAA0C;AACtChB,YAAAA,MAAM,CAACgB,OAAP;AACH;;AACD,iBAAO,IAAP;AACD,SAX+B,CAAb,GAWdhB,MAAM,CAACiB,SAXZ;AAYAxB,QAAAA,gBAAgB,GAAGA,gBAAgB,CAACxE,IAAjB,CAAsB,YAAY;AACnD,iBAAOyF,YAAP;AACD,SAFkB,EAEhBzF,IAFgB,CAEX,UAAU8F,IAAV,EAAgB;AACtBG,UAAAA,eAAe,CAAC/G,SAAD,EAAY4G,IAAZ,EAAkBf,MAAM,CAACG,GAAP,IAAc3J,OAAhC,CAAf;AACD,SAJkB,CAAnB;AAKD;AACF,KAvCD;AAwCD;;AAED,WAAS0K,eAAT,CAA0B/G,SAA1B,EAAqCgH,UAArC,EAAiDC,SAAjD,EAA4D;AAC1D,QAAIC,MAAM,GAAG,EAAb;;AACA,QAAI;AACFA,MAAAA,MAAM,GAAGC,IAAI,CAACC,KAAL,CAAWJ,UAAX,CAAT;AACD,KAFD,CAEE,OAAOxF,GAAP,EAAY;AACZ1B,MAAAA,OAAO,CAACC,IAAR,CAAa+C,KAAK,CAAGpH,MAAM,CAAC,IAAD,CAAT,CAAlB;AACD;;AACD+C,IAAAA,0BAA0B,CAACyI,MAAD,EAASD,SAAT,EAAoBjH,SAApB,CAA1B;AACD;AAED;AACF;AACA;;;AAEE,MAAI/D,WAAJ,EAAiB;AACfyJ,IAAAA,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiC,UAAU0B,GAAV,EAAe;AAC9CC,MAAAA,kBAAkB,GAAGD,GAAG,CAACE,QAAzB;AACAC,MAAAA,eAAe,GAAGH,GAAG,CAACI,KAAtB;AACD,KAHD;AAIA,QAAIC,UAAU,GAAGjL,QAAQ,CAACkL,MAA1B;AACD;;AAEDpH,EAAAA,iBAAiB,CAACqH,YAAlB,GAAiC,UAAUvG,GAAV,EAAe;AAC9C,QAAIwE,MAAM,GAAG3J,QAAQ,CAAC2L,aAAT,CAAuB,QAAvB,CAAb;AACAhC,IAAAA,MAAM,CAACiC,KAAP,GAAe,IAAf,CAF8C,CAG9C;AACA;AACA;;AACA,QAAIzG,GAAG,CAACnE,OAAJ,CAAYwK,UAAU,GAAG,GAAzB,CAAJ,EACE7B,MAAM,CAACkC,WAAP,GAAqB,WAArB;AACF,QAAI9I,SAAS,GAAGe,SAAS,CAACf,SAAV,CAAoBoC,GAApB,CAAhB;AACA,QAAIpC,SAAJ,EACE4G,MAAM,CAAC5G,SAAP,GAAmBA,SAAnB;AACF4G,IAAAA,MAAM,CAACG,GAAP,GAAa3E,GAAb;AACA,WAAOwE,MAAP;AACD,GAbD,CAjkBW,CAglBX;;;AACA,MAAImC,kBAAJ,EAAwBC,qBAAxB;AACA,MAAIC,oBAAoB,GAAG,EAA3B;AACA,MAAIC,cAAc,GAAG5H,iBAAiB,CAACuB,QAAvC;AACA,MAAIsG,iBAAiB,GAAG,CAAxB;;AACA7H,EAAAA,iBAAiB,CAACuB,QAAlB,GAA6B,UAAUC,IAAV,EAAgBC,OAAhB,EAAyBqG,OAAzB,EAAkC;AAC7D,QAAIpM,WAAW,IAAIC,QAAQ,CAACoM,UAAT,KAAwB,SAAvC,IAAoD,OAAOvG,IAAP,KAAgB,QAAxE,EAAkF;AAChF,UAAIwG,OAAO,GAAGrM,QAAQ,CAAC0J,gBAAT,CAA0B,aAA1B,CAAd;AACA,UAAI4C,UAAU,GAAGD,OAAO,CAACA,OAAO,CAACnL,MAAR,GAAiB,CAAlB,CAAxB;AACA,UAAIqL,iBAAJ;AACAT,MAAAA,kBAAkB,GAAGjG,IAArB;;AACA,UAAIyG,UAAU,IAAIA,UAAU,CAACxC,GAA7B,EAAkC;AAChCyC,QAAAA,iBAAiB,GAAGD,UAAU,CAACxC,GAA/B;AACD,OAFD,MAGK,IAAIqC,OAAJ,EAAa;AAChBI,QAAAA,iBAAiB,GAAGJ,OAApB;AACD,OAFI,MAGA;AACHD,QAAAA,iBAAiB;AACjBK,QAAAA,iBAAiB,GAAGvM,QAAQ,CAACO,QAAT,CAAkBD,IAAlB,GAAyB,mBAAzB,GAA+C4L,iBAAnE;AACD,OAd+E,CAehF;AACA;;;AACA,UAAI1H,MAAM,GAAG,IAAb;AACAuH,MAAAA,qBAAqB,GAAGS,UAAU,CAAC,YAAY;AAC7CR,QAAAA,oBAAoB,CAACO,iBAAD,CAApB,GAA0C,CAAC1G,IAAD,EAAOC,OAAP,CAA1C;AACAtB,QAAAA,MAAM,CAACD,MAAP,CAAcgI,iBAAd;AACD,OAHiC,CAAlC;AAID,KAtBD,MAuBK;AACHT,MAAAA,kBAAkB,GAAG7F,SAArB;AACD;;AACD,WAAOgG,cAAc,CAAC/C,IAAf,CAAoB,IAApB,EAA0BrD,IAA1B,EAAgCC,OAAhC,CAAP;AACD,GA5BD;;AA8BA,MAAIsF,kBAAJ,EAAwBE,eAAxB;;AACAjH,EAAAA,iBAAiB,CAACqC,WAAlB,GAAgC,UAAUvB,GAAV,EAAee,cAAf,EAA+B;AAC7D,QAAIuG,sBAAsB,GAAGT,oBAAoB,CAAC7G,GAAD,CAAjD;;AACA,QAAIsH,sBAAJ,EAA4B;AAC1B,aAAOT,oBAAoB,CAAC7G,GAAD,CAA3B;AACA,aAAOsH,sBAAP;AACD;;AACD,QAAIjI,MAAM,GAAG,IAAb;AACA,WAAOC,OAAO,CAACC,OAAR,CAAgBL,iBAAiB,CAACqH,YAAlB,CAA+BvG,GAA/B,CAAhB,EAAqDP,IAArD,CAA0D,UAAU+E,MAAV,EAAkB;AACjF,aAAO,IAAIlF,OAAJ,CAAY,UAAUC,OAAV,EAAmB0F,MAAnB,EAA2B;AAC5CT,QAAAA,MAAM,CAACF,gBAAP,CAAwB,OAAxB,EAAiC,YAAY;AAC3CW,UAAAA,MAAM,CAACxD,KAAK,CAACpH,MAAM,CAAC,CAAD,EAAK,CAAC2F,GAAD,EAAMe,cAAN,EAAsBvE,IAAtB,CAA2B,IAA3B,CAAL,CAAP,CAAN,CAAN;AACD,SAFD;AAGAgI,QAAAA,MAAM,CAACF,gBAAP,CAAwB,MAAxB,EAAgC,YAAY;AAC1CzJ,UAAAA,QAAQ,CAAC0M,IAAT,CAAcC,WAAd,CAA0BhD,MAA1B,EAD0C,CAE1C;AACA;;AACA,cAAIyB,kBAAkB,KAAKjG,GAA3B,EAAgC;AAC9BiF,YAAAA,MAAM,CAACkB,eAAD,CAAN;AACD,WAFD,MAGK;AACH,gBAAI1F,QAAQ,GAAGpB,MAAM,CAACuB,WAAP,CAAmBZ,GAAnB,CAAf,CADG,CAEH;;AACA,gBAAIS,QAAQ,IAAIA,QAAQ,CAAC,CAAD,CAAR,KAAgBkG,kBAAhC,EACEc,YAAY,CAACb,qBAAD,CAAZ;AACFrH,YAAAA,OAAO,CAACkB,QAAD,CAAP;AACD;AACF,SAdD;AAeA5F,QAAAA,QAAQ,CAAC0M,IAAT,CAAcG,WAAd,CAA0BlD,MAA1B;AACD,OApBM,CAAP;AAqBD,KAtBM,CAAP;AAuBD,GA9BD;AAgCA;AACF;AACA;;;AACEtF,EAAAA,iBAAiB,CAACyI,WAAlB,GAAgC,YAAY;AAC1C,WAAO,KAAP;AACD,GAFD;;AAGA,MAAI,OAAOxC,KAAP,KAAiB,WAArB,EACEjG,iBAAiB,CAACiG,KAAlB,GAA0BA,KAA1B;AAEF,MAAI5D,WAAW,GAAGrC,iBAAiB,CAACqC,WAApC;AACA,MAAIqG,kBAAkB,GAAG,2CAAzB;;AACA1I,EAAAA,iBAAiB,CAACqC,WAAlB,GAAgC,UAAUvB,GAAV,EAAemD,MAAf,EAAuB;AACrD,QAAI9D,MAAM,GAAG,IAAb;AACA,QAAI,CAAC,KAAKsI,WAAL,CAAiB3H,GAAjB,CAAL,EACE,OAAOuB,WAAW,CAACsG,KAAZ,CAAkB,IAAlB,EAAwBC,SAAxB,CAAP;AACF,WAAO,KAAK3C,KAAL,CAAWnF,GAAX,EAAgB;AACrB+H,MAAAA,WAAW,EAAE,aADQ;AAErBnK,MAAAA,SAAS,EAAEe,SAAS,CAACf,SAAV,CAAoBoC,GAApB;AAFU,KAAhB,EAINP,IAJM,CAID,UAAU2F,GAAV,EAAe;AACnB,UAAI,CAACA,GAAG,CAACC,EAAT,EACE,MAAM5D,KAAK,CAACpH,MAAM,CAAC,CAAD,EAAK,CAAC+K,GAAG,CAACE,MAAL,EAAaF,GAAG,CAAC4C,UAAjB,EAA6BhI,GAA7B,EAAkCmD,MAAlC,EAA0C3G,IAA1C,CAA+C,IAA/C,CAAL,CAAP,CAAX;AACF,UAAIyL,WAAW,GAAG7C,GAAG,CAAC8C,OAAJ,CAAYC,GAAZ,CAAgB,cAAhB,CAAlB;AACA,UAAI,CAACF,WAAD,IAAgB,CAACL,kBAAkB,CAACQ,IAAnB,CAAwBH,WAAxB,CAArB,EACE,MAAMxG,KAAK,CAACpH,MAAM,CAAC,CAAD,EAAK4N,WAAL,CAAP,CAAX;AACF,aAAO7C,GAAG,CAACG,IAAJ,GAAW9F,IAAX,CAAgB,UAAU4I,MAAV,EAAkB;AACvC,YAAIA,MAAM,CAACxM,OAAP,CAAe,gBAAf,IAAmC,CAAvC,EACEwM,MAAM,IAAI,qBAAqBrI,GAA/B;AACF,SAAC,GAAGsI,IAAJ,EAAUD,MAAV;AACA,eAAOhJ,MAAM,CAACuB,WAAP,CAAmBZ,GAAnB,CAAP;AACD,OALM,CAAP;AAMD,KAhBM,CAAP;AAiBD,GArBD;;AAuBAd,EAAAA,iBAAiB,CAACK,OAAlB,GAA4B,UAAUpB,EAAV,EAAcvC,SAAd,EAAyB;AACnDA,IAAAA,SAAS,GAAGA,SAAS,IAAI,CAAC,IAAd,IAAuBZ,OAAnC;AACA,WAAOkC,gBAAgB,CAAGyB,SAAH,EAAejD,sBAAsB,CAACyC,EAAD,EAAKvC,SAAL,CAAtB,IAAyCuC,EAAxD,EAA4DvC,SAA5D,CAAhB,IAA0F2M,eAAe,CAACpK,EAAD,EAAKvC,SAAL,CAAhH;AACD,GAHD;;AAKA,WAAS2M,eAAT,CAA0BpK,EAA1B,EAA8BvC,SAA9B,EAAyC;AACvC,UAAM6F,KAAK,CAACpH,MAAM,CAAC,CAAD,EAAK,CAAC8D,EAAD,EAAKvC,SAAL,EAAgBY,IAAhB,CAAqB,IAArB,CAAL,CAAP,CAAX;AACD;;AAED,MAAIgM,iBAAiB,GAAGtJ,iBAAiB,CAACqC,WAA1C;;AACArC,EAAAA,iBAAiB,CAACqC,WAAlB,GAAgC,UAAUvB,GAAV,EAAee,cAAf,EAA+B;AAC7D,QAAI0H,QAAQ,GAAK9J,SAAF,CAAahB,QAAb,CAAsBqC,GAAtB,CAAf;;AACA,QAAIyI,QAAJ,EAAc;AACZ,WAAK,IAAIpM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoM,QAAQ,CAAC1M,MAA7B,EAAqCM,CAAC,EAAtC,EACEsD,eAAe,CAAC,IAAD,EAAO,KAAKJ,OAAL,CAAakJ,QAAQ,CAACpM,CAAD,CAArB,EAA0B2D,GAA1B,CAAP,EAAuCA,GAAvC,CAAf;AACH;;AACD,WAAOwI,iBAAiB,CAACzE,IAAlB,CAAuB,IAAvB,EAA6B/D,GAA7B,EAAkCe,cAAlC,CAAP;AACD,GAPD;AASA;AACF;AACA;;;AAEE,MAAIrG,OAAO,IAAI,OAAOgO,aAAP,KAAyB,UAAxC,EACExJ,iBAAiB,CAACqC,WAAlB,GAAgC,UAAUvB,GAAV,EAAe;AAC7C,QAAIX,MAAM,GAAG,IAAb;AACA,WAAOC,OAAO,CAACC,OAAR,GAAkBE,IAAlB,CAAuB,YAAY;AACxCiJ,MAAAA,aAAa,CAAC1I,GAAD,CAAb;AACA,aAAOX,MAAM,CAACuB,WAAP,CAAmBZ,GAAnB,CAAP;AACD,KAHM,CAAP;AAID,GAND;AAQH,CAttBA,GAAD;;AAwtBC,aAAU;AACT,MAAIlF,SAAS,GAAG,OAAOH,IAAP,KAAgB,WAAhB,GAA8BA,IAA9B,GAAqCI,MAArD;AACA,MAAIiJ,MAAM,GAAGlJ,SAAS,CAACkJ,MAAvB;AACA,MAAIvD,QAAQ,GAAGuD,MAAM,CAACvD,QAAtB;AACA,MAAIkI,gBAAgB,GAAGzH,MAAM,CAACC,MAAP,CAAc,IAAd,CAAvB;;AAEA6C,EAAAA,MAAM,CAACvD,QAAP,GAAkB,UAAUkB,IAAV,EAAgBjB,IAAhB,EAAsBC,OAAtB,EAA+B;AAC/C,QAAI,OAAOgB,IAAP,KAAgB,QAApB,EAA8B,OAAOlB,QAAQ,CAACoH,KAAT,CAAe,IAAf,EAAqBC,SAArB,CAAP;AAC9B,QAAIc,MAAM,GAAG,CAAClI,IAAD,EAAOC,OAAP,CAAb;AACA,WAAOqD,MAAM,CAACxE,aAAP,GAAuBC,IAAvB,CAA4B,YAAY;AAC7C,UAAIO,GAAG,GAAGgE,MAAM,CAACzE,OAAP,CAAgB,KAAIoC,IAAK,EAAzB,CAAV;AACAgH,MAAAA,gBAAgB,CAAC3I,GAAD,CAAhB,GAAwB4I,MAAxB;AACA,aAAOnI,QAAQ,CAACsD,IAAT,CAAcC,MAAd,EAAsBtD,IAAtB,EAA4BC,OAA5B,EAAqCX,GAArC,CAAP;AACD,KAJM,CAAP;AAKD,GARD;;AAUA,MAAIuB,WAAW,GAAGyC,MAAM,CAACzC,WAAzB;;AACAyC,EAAAA,MAAM,CAACzC,WAAP,GAAqB,UAAUvB,GAAV,EAAee,cAAf,EAA+B;AAClD,QAAI8H,MAAM,GAAGF,gBAAgB,CAAC3I,GAAD,CAA7B;;AAEA,QAAI6I,MAAJ,EAAY;AACVF,MAAAA,gBAAgB,CAAC3I,GAAD,CAAhB,GAAwB,IAAxB;AACA,aAAO6I,MAAP;AACD,KAHD,MAGO;AACL,aAAOtH,WAAW,CAACwC,IAAZ,CAAiB,IAAjB,EAAuB/D,GAAvB,EAA4Be,cAA5B,CAAP;AACD;AACF,GATD;;AAWA,MAAIH,WAAW,GAAGoD,MAAM,CAACpD,WAAzB;;AACAoD,EAAAA,MAAM,CAACpD,WAAP,GAAqB,UAAUZ,GAAV,EAAe;AAClC;AACA,QAAIS,QAAQ,GAAGG,WAAW,CAACmD,IAAZ,CAAiB,IAAjB,EAAuB/D,GAAvB,CAAf;AACA,QAAI6I,MAAM,GAAGF,gBAAgB,CAAC3I,GAAD,CAAhB,IAAyBS,QAAtC;AACA,WAAOoI,MAAP;AACD,GALD;AAMD,CAnCA,GAAD",
242
- "sourcesContent": [
243
- "/*\n* SJS 6.11.0\n* Minimal SystemJS Build\n*/\n(function () {\n\n function errMsg(errCode, msg) {\n return (msg || \"\") + \" (SystemJS https://git.io/JvFET#\" + errCode + \")\";\n }\n\n var hasSymbol = typeof Symbol !== 'undefined';\n var hasSelf = typeof self !== 'undefined';\n var hasDocument = typeof document !== 'undefined';\n\n var envGlobal = hasSelf ? self : global;\n\n var baseUrl;\n\n if (hasDocument) {\n var baseEl = document.querySelector('base[href]');\n if (baseEl)\n baseUrl = baseEl.href;\n }\n\n if (!baseUrl && typeof location !== 'undefined') {\n baseUrl = location.href.split('#')[0].split('?')[0];\n var lastSepIndex = baseUrl.lastIndexOf('/');\n if (lastSepIndex !== -1)\n baseUrl = baseUrl.slice(0, lastSepIndex + 1);\n }\n\n var backslashRegEx = /\\\\/g;\n function resolveIfNotPlainOrUrl (relUrl, parentUrl) {\n if (relUrl.indexOf('\\\\') !== -1)\n relUrl = relUrl.replace(backslashRegEx, '/');\n // protocol-relative\n if (relUrl[0] === '/' && relUrl[1] === '/') {\n return parentUrl.slice(0, parentUrl.indexOf(':') + 1) + relUrl;\n }\n // relative-url\n else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||\n relUrl.length === 1 && (relUrl += '/')) ||\n relUrl[0] === '/') {\n var parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1);\n // Disabled, but these cases will give inconsistent results for deep backtracking\n //if (parentUrl[parentProtocol.length] !== '/')\n // throw Error('Cannot resolve');\n // read pathname from parent URL\n // pathname taken to be part after leading \"/\"\n var pathname;\n if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.slice(parentProtocol.length + 2);\n pathname = pathname.slice(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.slice(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === '/'));\n }\n\n if (relUrl[0] === '/')\n return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z'\n var segmented = pathname.slice(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.slice(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n }\n\n // new segment - check if it is relative\n else if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n }\n }\n // it is the start of a new segment\n else {\n segmentIndex = i;\n }\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.slice(segmentIndex));\n return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join('');\n }\n }\n\n /*\n * Import maps implementation\n *\n * To make lookups fast we pre-resolve the entire import map\n * and then match based on backtracked hash lookups\n *\n */\n\n function resolveUrl (relUrl, parentUrl) {\n return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (relUrl.indexOf(':') !== -1 ? relUrl : resolveIfNotPlainOrUrl('./' + relUrl, parentUrl));\n }\n\n function resolveAndComposePackages (packages, outPackages, baseUrl, parentMap, parentUrl) {\n for (var p in packages) {\n var resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p;\n var rhs = packages[p];\n // package fallbacks not currently supported\n if (typeof rhs !== 'string')\n continue;\n var mapped = resolveImportMap(parentMap, resolveIfNotPlainOrUrl(rhs, baseUrl) || rhs, parentUrl);\n if (!mapped) {\n targetWarning('W1', p, rhs);\n }\n else\n outPackages[resolvedLhs] = mapped;\n }\n }\n\n function resolveAndComposeImportMap (json, baseUrl, outMap) {\n if (json.imports)\n resolveAndComposePackages(json.imports, outMap.imports, baseUrl, outMap, null);\n\n var u;\n for (u in json.scopes || {}) {\n var resolvedScope = resolveUrl(u, baseUrl);\n resolveAndComposePackages(json.scopes[u], outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), baseUrl, outMap, resolvedScope);\n }\n\n for (u in json.depcache || {})\n outMap.depcache[resolveUrl(u, baseUrl)] = json.depcache[u];\n\n for (u in json.integrity || {})\n outMap.integrity[resolveUrl(u, baseUrl)] = json.integrity[u];\n }\n\n function getMatch (path, matchObj) {\n if (matchObj[path])\n return path;\n var sepIndex = path.length;\n do {\n var segment = path.slice(0, sepIndex + 1);\n if (segment in matchObj)\n return segment;\n } while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1)\n }\n\n function applyPackages (id, packages) {\n var pkgName = getMatch(id, packages);\n if (pkgName) {\n var pkg = packages[pkgName];\n if (pkg === null) return;\n if (id.length > pkgName.length && pkg[pkg.length - 1] !== '/') {\n targetWarning('W2', pkgName, pkg);\n }\n else\n return pkg + id.slice(pkgName.length);\n }\n }\n\n function targetWarning (code, match, target, msg) {\n console.warn(errMsg(code, [target, match].join(', ') ));\n }\n\n function resolveImportMap (importMap, resolvedOrPlain, parentUrl) {\n var scopes = importMap.scopes;\n var scopeUrl = parentUrl && getMatch(parentUrl, scopes);\n while (scopeUrl) {\n var packageResolution = applyPackages(resolvedOrPlain, scopes[scopeUrl]);\n if (packageResolution)\n return packageResolution;\n scopeUrl = getMatch(scopeUrl.slice(0, scopeUrl.lastIndexOf('/')), scopes);\n }\n return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain;\n }\n\n /*\n * SystemJS Core\n *\n * Provides\n * - System.import\n * - System.register support for\n * live bindings, function hoisting through circular references,\n * reexports, dynamic import, import.meta.url, top-level await\n * - System.getRegister to get the registration\n * - Symbol.toStringTag support in Module objects\n * - Hookable System.createContext to customize import.meta\n * - System.onload(err, id, deps) handler for tracing / hot-reloading\n *\n * Core comes with no System.prototype.resolve or\n * System.prototype.instantiate implementations\n */\n\n var toStringTag = hasSymbol && Symbol.toStringTag;\n var REGISTRY = hasSymbol ? Symbol() : '@';\n\n function SystemJS () {\n this[REGISTRY] = {};\n }\n\n var systemJSPrototype = SystemJS.prototype;\n\n systemJSPrototype.import = function (id, parentUrl) {\n var loader = this;\n return Promise.resolve(loader.prepareImport())\n .then(function() {\n return loader.resolve(id, parentUrl);\n })\n .then(function (id) {\n var load = getOrCreateLoad(loader, id);\n return load.C || topLevelLoad(loader, load);\n });\n };\n\n // Hookable createContext function -> allowing eg custom import meta\n systemJSPrototype.createContext = function (parentId) {\n var loader = this;\n return {\n url: parentId,\n resolve: function (id, parentUrl) {\n return Promise.resolve(loader.resolve(id, parentUrl || parentId));\n }\n };\n };\n function loadToId (load) {\n return load.id;\n }\n function triggerOnload (loader, load, err, isErrSource) {\n loader.onload(err, load.id, load.d && load.d.map(loadToId), !!isErrSource);\n if (err)\n throw err;\n }\n\n var lastRegister;\n systemJSPrototype.register = function (deps, declare) {\n lastRegister = [deps, declare];\n };\n\n /*\n * getRegister provides the last anonymous System.register call\n */\n systemJSPrototype.getRegister = function () {\n var _lastRegister = lastRegister;\n lastRegister = undefined;\n return _lastRegister;\n };\n\n function getOrCreateLoad (loader, id, firstParentUrl) {\n var load = loader[REGISTRY][id];\n if (load)\n return load;\n\n var importerSetters = [];\n var ns = Object.create(null);\n if (toStringTag)\n Object.defineProperty(ns, toStringTag, { value: 'Module' });\n\n var instantiatePromise = Promise.resolve()\n .then(function () {\n return loader.instantiate(id, firstParentUrl);\n })\n .then(function (registration) {\n if (!registration)\n throw Error(errMsg(2, id ));\n function _export (name, value) {\n // note if we have hoisted exports (including reexports)\n load.h = true;\n var changed = false;\n if (typeof name === 'string') {\n if (!(name in ns) || ns[name] !== value) {\n ns[name] = value;\n changed = true;\n }\n }\n else {\n for (var p in name) {\n var value = name[p];\n if (!(p in ns) || ns[p] !== value) {\n ns[p] = value;\n changed = true;\n }\n }\n\n if (name && name.__esModule) {\n ns.__esModule = name.__esModule;\n }\n }\n if (changed)\n for (var i = 0; i < importerSetters.length; i++) {\n var setter = importerSetters[i];\n if (setter) setter(ns);\n }\n return value;\n }\n var declared = registration[1](_export, registration[1].length === 2 ? {\n import: function (importId) {\n return loader.import(importId, id);\n },\n meta: loader.createContext(id)\n } : undefined);\n load.e = declared.execute || function () {};\n return [registration[0], declared.setters || []];\n }, function (err) {\n load.e = null;\n load.er = err;\n throw err;\n });\n\n var linkPromise = instantiatePromise\n .then(function (instantiation) {\n return Promise.all(instantiation[0].map(function (dep, i) {\n var setter = instantiation[1][i];\n return Promise.resolve(loader.resolve(dep, id))\n .then(function (depId) {\n var depLoad = getOrCreateLoad(loader, depId, id);\n // depLoad.I may be undefined for already-evaluated\n return Promise.resolve(depLoad.I)\n .then(function () {\n if (setter) {\n depLoad.i.push(setter);\n // only run early setters when there are hoisted exports of that module\n // the timing works here as pending hoisted export calls will trigger through importerSetters\n if (depLoad.h || !depLoad.I)\n setter(depLoad.n);\n }\n return depLoad;\n });\n });\n }))\n .then(function (depLoads) {\n load.d = depLoads;\n });\n });\n\n // Capital letter = a promise function\n return load = loader[REGISTRY][id] = {\n id: id,\n // importerSetters, the setters functions registered to this dependency\n // we retain this to add more later\n i: importerSetters,\n // module namespace object\n n: ns,\n\n // instantiate\n I: instantiatePromise,\n // link\n L: linkPromise,\n // whether it has hoisted exports\n h: false,\n\n // On instantiate completion we have populated:\n // dependency load records\n d: undefined,\n // execution function\n e: undefined,\n\n // On execution we have populated:\n // the execution error if any\n er: undefined,\n // in the case of TLA, the execution promise\n E: undefined,\n\n // On execution, L, I, E cleared\n\n // Promise for top-level completion\n C: undefined,\n\n // parent instantiator / executor\n p: undefined\n };\n }\n\n function instantiateAll (loader, load, parent, loaded) {\n if (!loaded[load.id]) {\n loaded[load.id] = true;\n // load.L may be undefined for already-instantiated\n return Promise.resolve(load.L)\n .then(function () {\n if (!load.p || load.p.e === null)\n load.p = parent;\n return Promise.all(load.d.map(function (dep) {\n return instantiateAll(loader, dep, parent, loaded);\n }));\n })\n .catch(function (err) {\n if (load.er)\n throw err;\n load.e = null;\n throw err;\n });\n }\n }\n\n function topLevelLoad (loader, load) {\n return load.C = instantiateAll(loader, load, load, {})\n .then(function () {\n return postOrderExec(loader, load, {});\n })\n .then(function () {\n return load.n;\n });\n }\n\n // the closest we can get to call(undefined)\n var nullContext = Object.freeze(Object.create(null));\n\n // returns a promise if and only if a top-level await subgraph\n // throws on sync errors\n function postOrderExec (loader, load, seen) {\n if (seen[load.id])\n return;\n seen[load.id] = true;\n\n if (!load.e) {\n if (load.er)\n throw load.er;\n if (load.E)\n return load.E;\n return;\n }\n\n // deps execute first, unless circular\n var depLoadPromises;\n load.d.forEach(function (depLoad) {\n try {\n var depLoadPromise = postOrderExec(loader, depLoad, seen);\n if (depLoadPromise)\n (depLoadPromises = depLoadPromises || []).push(depLoadPromise);\n }\n catch (err) {\n load.e = null;\n load.er = err;\n throw err;\n }\n });\n if (depLoadPromises)\n return Promise.all(depLoadPromises).then(doExec);\n\n return doExec();\n\n function doExec () {\n try {\n var execPromise = load.e.call(nullContext);\n if (execPromise) {\n execPromise = execPromise.then(function () {\n load.C = load.n;\n load.E = null; // indicates completion\n if (!true) ;\n }, function (err) {\n load.er = err;\n load.E = null;\n if (!true) ;\n throw err;\n });\n return load.E = execPromise;\n }\n // (should be a promise, but a minify optimization to leave out Promise.resolve)\n load.C = load.n;\n load.L = load.I = undefined;\n }\n catch (err) {\n load.er = err;\n throw err;\n }\n finally {\n load.e = null;\n }\n }\n }\n\n envGlobal.System = new SystemJS();\n\n /*\n * SystemJS browser attachments for script and import map processing\n */\n\n var importMapPromise = Promise.resolve();\n var importMap = { imports: {}, scopes: {}, depcache: {}, integrity: {} };\n\n // Scripts are processed immediately, on the first System.import, and on DOMReady.\n // Import map scripts are processed only once (by being marked) and in order for each phase.\n // This is to avoid using DOM mutation observers in core, although that would be an alternative.\n var processFirst = hasDocument;\n systemJSPrototype.prepareImport = function (doProcessScripts) {\n if (processFirst || doProcessScripts) {\n processScripts();\n processFirst = false;\n }\n return importMapPromise;\n };\n if (hasDocument) {\n processScripts();\n window.addEventListener('DOMContentLoaded', processScripts);\n }\n\n function processScripts () {\n [].forEach.call(document.querySelectorAll('script'), function (script) {\n if (script.sp) // sp marker = systemjs processed\n return;\n // TODO: deprecate systemjs-module in next major now that we have auto import\n if (script.type === 'systemjs-module') {\n script.sp = true;\n if (!script.src)\n return;\n System.import(script.src.slice(0, 7) === 'import:' ? script.src.slice(7) : resolveUrl(script.src, baseUrl)).catch(function (e) {\n // if there is a script load error, dispatch an \"error\" event\n // on the script tag.\n if (e.message.indexOf('https://git.io/JvFET#3') > -1) {\n var event = document.createEvent('Event');\n event.initEvent('error', false, false);\n script.dispatchEvent(event);\n }\n return Promise.reject(e);\n });\n }\n else if (script.type === 'systemjs-importmap') {\n script.sp = true;\n var fetchPromise = script.src ? fetch(script.src, { integrity: script.integrity }).then(function (res) {\n if (!res.ok)\n throw Error( res.status );\n return res.text();\n }).catch(function (err) {\n err.message = errMsg('W4', script.src ) + '\\n' + err.message;\n console.warn(err);\n if (typeof script.onerror === 'function') {\n script.onerror();\n }\n return '{}';\n }) : script.innerHTML;\n importMapPromise = importMapPromise.then(function () {\n return fetchPromise;\n }).then(function (text) {\n extendImportMap(importMap, text, script.src || baseUrl);\n });\n }\n });\n }\n\n function extendImportMap (importMap, newMapText, newMapUrl) {\n var newMap = {};\n try {\n newMap = JSON.parse(newMapText);\n } catch (err) {\n console.warn(Error(( errMsg('W5') )));\n }\n resolveAndComposeImportMap(newMap, newMapUrl, importMap);\n }\n\n /*\n * Script instantiation loading\n */\n\n if (hasDocument) {\n window.addEventListener('error', function (evt) {\n lastWindowErrorUrl = evt.filename;\n lastWindowError = evt.error;\n });\n var baseOrigin = location.origin;\n }\n\n systemJSPrototype.createScript = function (url) {\n var script = document.createElement('script');\n script.async = true;\n // Only add cross origin for actual cross origin\n // this is because Safari triggers for all\n // - https://bugs.webkit.org/show_bug.cgi?id=171566\n if (url.indexOf(baseOrigin + '/'))\n script.crossOrigin = 'anonymous';\n var integrity = importMap.integrity[url];\n if (integrity)\n script.integrity = integrity;\n script.src = url;\n return script;\n };\n\n // Auto imports -> script tags can be inlined directly for load phase\n var lastAutoImportDeps, lastAutoImportTimeout;\n var autoImportCandidates = {};\n var systemRegister = systemJSPrototype.register;\n var inlineScriptCount = 0;\n systemJSPrototype.register = function (deps, declare, autoUrl) {\n if (hasDocument && document.readyState === 'loading' && typeof deps !== 'string') {\n var scripts = document.querySelectorAll('script[src]');\n var lastScript = scripts[scripts.length - 1];\n var lastAutoImportUrl\n lastAutoImportDeps = deps;\n if (lastScript && lastScript.src) {\n lastAutoImportUrl = lastScript.src;\n }\n else if (autoUrl) {\n lastAutoImportUrl = autoUrl\n }\n else {\n inlineScriptCount++\n lastAutoImportUrl = document.location.href + \"__inline_script__\" + inlineScriptCount;\n }\n // if this is already a System load, then the instantiate has already begun\n // so this re-import has no consequence\n var loader = this;\n lastAutoImportTimeout = setTimeout(function () {\n autoImportCandidates[lastAutoImportUrl] = [deps, declare];\n loader.import(lastAutoImportUrl);\n });\n }\n else {\n lastAutoImportDeps = undefined;\n }\n return systemRegister.call(this, deps, declare);\n };\n\n var lastWindowErrorUrl, lastWindowError;\n systemJSPrototype.instantiate = function (url, firstParentUrl) {\n var autoImportRegistration = autoImportCandidates[url];\n if (autoImportRegistration) {\n delete autoImportCandidates[url];\n return autoImportRegistration;\n }\n var loader = this;\n return Promise.resolve(systemJSPrototype.createScript(url)).then(function (script) {\n return new Promise(function (resolve, reject) {\n script.addEventListener('error', function () {\n reject(Error(errMsg(3, [url, firstParentUrl].join(', ') )));\n });\n script.addEventListener('load', function () {\n document.head.removeChild(script);\n // Note that if an error occurs that isn't caught by this if statement,\n // that getRegister will return null and a \"did not instantiate\" error will be thrown.\n if (lastWindowErrorUrl === url) {\n reject(lastWindowError);\n }\n else {\n var register = loader.getRegister(url);\n // Clear any auto import registration for dynamic import scripts during load\n if (register && register[0] === lastAutoImportDeps)\n clearTimeout(lastAutoImportTimeout);\n resolve(register);\n }\n });\n document.head.appendChild(script);\n });\n });\n };\n\n /*\n * Fetch loader, sets up shouldFetch and fetch hooks\n */\n systemJSPrototype.shouldFetch = function () {\n return false;\n };\n if (typeof fetch !== 'undefined')\n systemJSPrototype.fetch = fetch;\n\n var instantiate = systemJSPrototype.instantiate;\n var jsContentTypeRegEx = /^(text|application)\\/(x-)?javascript(;|$)/;\n systemJSPrototype.instantiate = function (url, parent) {\n var loader = this;\n if (!this.shouldFetch(url))\n return instantiate.apply(this, arguments);\n return this.fetch(url, {\n credentials: 'same-origin',\n integrity: importMap.integrity[url]\n })\n .then(function (res) {\n if (!res.ok)\n throw Error(errMsg(7, [res.status, res.statusText, url, parent].join(', ') ));\n var contentType = res.headers.get('content-type');\n if (!contentType || !jsContentTypeRegEx.test(contentType))\n throw Error(errMsg(4, contentType ));\n return res.text().then(function (source) {\n if (source.indexOf('//# sourceURL=') < 0)\n source += '\\n//# sourceURL=' + url;\n (0, eval)(source);\n return loader.getRegister(url);\n });\n });\n };\n\n systemJSPrototype.resolve = function (id, parentUrl) {\n parentUrl = parentUrl || !true || baseUrl;\n return resolveImportMap(( importMap), resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl) || throwUnresolved(id, parentUrl);\n };\n\n function throwUnresolved (id, parentUrl) {\n throw Error(errMsg(8, [id, parentUrl].join(', ') ));\n }\n\n var systemInstantiate = systemJSPrototype.instantiate;\n systemJSPrototype.instantiate = function (url, firstParentUrl) {\n var preloads = ( importMap).depcache[url];\n if (preloads) {\n for (var i = 0; i < preloads.length; i++)\n getOrCreateLoad(this, this.resolve(preloads[i], url), url);\n }\n return systemInstantiate.call(this, url, firstParentUrl);\n };\n\n /*\n * Supports loading System.register in workers\n */\n\n if (hasSelf && typeof importScripts === 'function')\n systemJSPrototype.instantiate = function (url) {\n var loader = this;\n return Promise.resolve().then(function () {\n importScripts(url);\n return loader.getRegister(url);\n });\n };\n\n}());\n\n(function(){\n var envGlobal = typeof self !== 'undefined' ? self : global;\n var System = envGlobal.System;\n var register = System.register;\n var registerRegistry = Object.create(null)\n\n System.register = function (name, deps, declare) {\n if (typeof name !== 'string') return register.apply(this, arguments);\n var define = [deps, declare];\n return System.prepareImport().then(function () {\n var url = System.resolve(`./${name}`);\n registerRegistry[url] = define;\n return register.call(System, deps, declare, url);\n })\n };\n\n var instantiate = System.instantiate;\n System.instantiate = function (url, firstParentUrl) {\n var result = registerRegistry[url];\n\n if (result) {\n registerRegistry[url] = null;\n return result;\n } else {\n return instantiate.call(this, url, firstParentUrl);\n }\n };\n\n var getRegister = System.getRegister;\n System.getRegister = function (url) {\n // Calling getRegister() because other extras need to know it was called so they can perform side effects\n var register = getRegister.call(this, url);\n var result = registerRegistry[url] || register;\n return result;\n };\n}());"
244
- ],
245
- "file": "s-78939661.js"
246
- }