gemi 0.160.2 → 0.162.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/ai/index.js +2 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/app/App.d.ts +5 -0
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/index.js +2 -2
- package/dist/app/index.js.map +1 -1
- package/dist/auth/config.d.ts +3 -2
- package/dist/auth/config.d.ts.map +1 -1
- package/dist/auth/routes.d.ts +20 -42
- package/dist/auth/routes.d.ts.map +1 -1
- package/dist/bin/gemi.js +8 -1
- package/dist/bin/gemi.js.map +3 -3
- package/dist/bun/plugin.js +2 -2
- package/dist/bun/plugin.js.map +1 -1
- package/dist/bun/preload.js +2 -2
- package/dist/bun/preload.js.map +1 -1
- package/dist/{chunk-4vqnv41y.js → chunk-04ffq2ge.js} +2 -2
- package/dist/{chunk-4vqnv41y.js.map → chunk-04ffq2ge.js.map} +1 -1
- package/dist/{chunk-27habdva.js → chunk-04h49y2f.js} +2 -2
- package/dist/{chunk-27habdva.js.map → chunk-04h49y2f.js.map} +1 -1
- package/dist/{chunk-fcjjd162.js → chunk-10zbxbwk.js} +2 -2
- package/dist/{chunk-fcjjd162.js.map → chunk-10zbxbwk.js.map} +1 -1
- package/dist/{chunk-cxz7wycm.js → chunk-17s187yp.js} +4 -4
- package/dist/{chunk-cxz7wycm.js.map → chunk-17s187yp.js.map} +3 -3
- package/dist/{chunk-8tyw6faf.js → chunk-1btx3kkv.js} +2 -2
- package/dist/{chunk-8tyw6faf.js.map → chunk-1btx3kkv.js.map} +1 -1
- package/dist/{chunk-bfj2jafb.js → chunk-1cjr8hvc.js} +3 -3
- package/dist/{chunk-bfj2jafb.js.map → chunk-1cjr8hvc.js.map} +2 -2
- package/dist/{chunk-9f2ps5v2.js → chunk-22jm6sn1.js} +2 -2
- package/dist/{chunk-9f2ps5v2.js.map → chunk-22jm6sn1.js.map} +1 -1
- package/dist/{chunk-4ye6p5yk.js → chunk-2hhwsm69.js} +2 -2
- package/dist/{chunk-4ye6p5yk.js.map → chunk-2hhwsm69.js.map} +1 -1
- package/dist/{chunk-wtddr3vs.js → chunk-3tyqnh59.js} +2 -2
- package/dist/{chunk-wtddr3vs.js.map → chunk-3tyqnh59.js.map} +1 -1
- package/dist/{chunk-m4pkbndk.js → chunk-51fvpq55.js} +2 -2
- package/dist/{chunk-m4pkbndk.js.map → chunk-51fvpq55.js.map} +1 -1
- package/dist/{chunk-k43m5dvs.js → chunk-576g6eyk.js} +2 -2
- package/dist/{chunk-k43m5dvs.js.map → chunk-576g6eyk.js.map} +1 -1
- package/dist/{chunk-cn6dteec.js → chunk-5sd49vwm.js} +4 -4
- package/dist/{chunk-cn6dteec.js.map → chunk-5sd49vwm.js.map} +4 -3
- package/dist/{chunk-3cvza61a.js → chunk-6w2v33bd.js} +2 -2
- package/dist/{chunk-3cvza61a.js.map → chunk-6w2v33bd.js.map} +1 -1
- package/dist/{chunk-p9syxzxh.js → chunk-70kpm72z.js} +3 -3
- package/dist/{chunk-p9syxzxh.js.map → chunk-70kpm72z.js.map} +1 -1
- package/dist/{chunk-qbsk0jr8.js → chunk-7effp39a.js} +2 -2
- package/dist/{chunk-qbsk0jr8.js.map → chunk-7effp39a.js.map} +1 -1
- package/dist/{chunk-57qnqcrp.js → chunk-7ex7aczc.js} +3 -3
- package/dist/{chunk-57qnqcrp.js.map → chunk-7ex7aczc.js.map} +1 -1
- package/dist/{chunk-r3v2cnrj.js → chunk-7txst143.js} +2 -2
- package/dist/{chunk-r3v2cnrj.js.map → chunk-7txst143.js.map} +1 -1
- package/dist/{chunk-v8fx4vgq.js → chunk-89168m0z.js} +2 -2
- package/dist/{chunk-v8fx4vgq.js.map → chunk-89168m0z.js.map} +1 -1
- package/dist/{chunk-fcqx2t0p.js → chunk-8m9kgynj.js} +2 -2
- package/dist/{chunk-fcqx2t0p.js.map → chunk-8m9kgynj.js.map} +1 -1
- package/dist/{chunk-m8a80sgn.js → chunk-8x0q9h0j.js} +3 -3
- package/dist/{chunk-m8a80sgn.js.map → chunk-8x0q9h0j.js.map} +1 -1
- package/dist/{chunk-7rfw4h2x.js → chunk-95gag2pg.js} +2 -2
- package/dist/{chunk-7rfw4h2x.js.map → chunk-95gag2pg.js.map} +1 -1
- package/dist/{chunk-7bc9ypbk.js → chunk-99be7vbh.js} +3 -3
- package/dist/{chunk-7bc9ypbk.js.map → chunk-99be7vbh.js.map} +1 -1
- package/dist/{chunk-kan3yz82.js → chunk-a5htej1f.js} +2 -2
- package/dist/{chunk-kan3yz82.js.map → chunk-a5htej1f.js.map} +1 -1
- package/dist/chunk-a5qn2sq8.js +4 -0
- package/dist/chunk-a5qn2sq8.js.map +10 -0
- package/dist/{chunk-ctrmztan.js → chunk-akgd3c0k.js} +2 -2
- package/dist/{chunk-ctrmztan.js.map → chunk-akgd3c0k.js.map} +1 -1
- package/dist/{chunk-vb73ddwz.js → chunk-asnk2jqn.js} +2 -2
- package/dist/{chunk-vb73ddwz.js.map → chunk-asnk2jqn.js.map} +1 -1
- package/dist/{chunk-a22h5cby.js → chunk-bwg7genv.js} +2 -2
- package/dist/{chunk-a22h5cby.js.map → chunk-bwg7genv.js.map} +1 -1
- package/dist/{chunk-j144nwvh.js → chunk-cd847h0t.js} +3 -3
- package/dist/{chunk-j144nwvh.js.map → chunk-cd847h0t.js.map} +1 -1
- package/dist/{chunk-664ewdjv.js → chunk-dj6bw2jm.js} +3 -3
- package/dist/{chunk-664ewdjv.js.map → chunk-dj6bw2jm.js.map} +2 -2
- package/dist/{chunk-s0xwqcrf.js → chunk-dkmf4eg1.js} +3 -3
- package/dist/{chunk-s0xwqcrf.js.map → chunk-dkmf4eg1.js.map} +1 -1
- package/dist/{chunk-5qzxyj68.js → chunk-dwxgr189.js} +1 -1
- package/dist/{chunk-79nypedr.js → chunk-e0w1mf72.js} +3 -3
- package/dist/{chunk-79nypedr.js.map → chunk-e0w1mf72.js.map} +1 -1
- package/dist/{chunk-csvffxjh.js → chunk-e9c02bq0.js} +3 -3
- package/dist/{chunk-csvffxjh.js.map → chunk-e9c02bq0.js.map} +1 -1
- package/dist/{chunk-szdbsmq7.js → chunk-egzfxdr1.js} +2 -2
- package/dist/{chunk-szdbsmq7.js.map → chunk-egzfxdr1.js.map} +1 -1
- package/dist/{chunk-yzw2tvqq.js → chunk-fv1r0w0r.js} +2 -2
- package/dist/{chunk-yzw2tvqq.js.map → chunk-fv1r0w0r.js.map} +1 -1
- package/dist/chunk-fy55jd2h.js +58 -0
- package/dist/{chunk-hxe06cgw.js.map → chunk-fy55jd2h.js.map} +3 -3
- package/dist/{chunk-d249m2ct.js → chunk-fyyf44aj.js} +2 -2
- package/dist/{chunk-d249m2ct.js.map → chunk-fyyf44aj.js.map} +1 -1
- package/dist/{chunk-gmeeyg19.js → chunk-g3sryyn4.js} +2 -2
- package/dist/{chunk-gmeeyg19.js.map → chunk-g3sryyn4.js.map} +1 -1
- package/dist/{chunk-rq3wrwfa.js → chunk-g3vasg0d.js} +1 -1
- package/dist/{chunk-qsbtqh47.js → chunk-gcxk8j84.js} +3 -3
- package/dist/{chunk-qsbtqh47.js.map → chunk-gcxk8j84.js.map} +1 -1
- package/dist/{chunk-1xxh48bd.js → chunk-gn8ee1dp.js} +2 -2
- package/dist/{chunk-1xxh48bd.js.map → chunk-gn8ee1dp.js.map} +1 -1
- package/dist/{chunk-0vb4j7cx.js → chunk-h4h8m3yr.js} +3 -3
- package/dist/{chunk-0vb4j7cx.js.map → chunk-h4h8m3yr.js.map} +1 -1
- package/dist/chunk-hdr0m0md.js +5 -0
- package/dist/{chunk-0qrbspbe.js.map → chunk-hdr0m0md.js.map} +1 -1
- package/dist/{chunk-ryq2ezgt.js → chunk-hkp00b9x.js} +3 -3
- package/dist/{chunk-ryq2ezgt.js.map → chunk-hkp00b9x.js.map} +1 -1
- package/dist/{chunk-5pc21syf.js → chunk-hx8vkwsb.js} +2 -2
- package/dist/{chunk-5pc21syf.js.map → chunk-hx8vkwsb.js.map} +1 -1
- package/dist/chunk-jqzymm6j.js +24 -0
- package/dist/{chunk-d3195ypx.js.map → chunk-jqzymm6j.js.map} +3 -3
- package/dist/{chunk-cq16azbw.js → chunk-jry03jqj.js} +4 -4
- package/dist/{chunk-cq16azbw.js.map → chunk-jry03jqj.js.map} +1 -1
- package/dist/{chunk-qz9n2e59.js → chunk-k5xxwr5h.js} +2 -2
- package/dist/{chunk-qz9n2e59.js.map → chunk-k5xxwr5h.js.map} +1 -1
- package/dist/{chunk-p6nkfcn1.js → chunk-kqbnsthz.js} +2 -2
- package/dist/{chunk-p6nkfcn1.js.map → chunk-kqbnsthz.js.map} +1 -1
- package/dist/{chunk-w0rfypzx.js → chunk-kscwjycy.js} +2 -2
- package/dist/{chunk-w0rfypzx.js.map → chunk-kscwjycy.js.map} +1 -1
- package/dist/{chunk-pyyhmeg1.js → chunk-kt83h150.js} +3 -3
- package/dist/{chunk-pyyhmeg1.js.map → chunk-kt83h150.js.map} +1 -1
- package/dist/{chunk-msxhf3m6.js → chunk-m683535s.js} +3 -3
- package/dist/{chunk-msxhf3m6.js.map → chunk-m683535s.js.map} +1 -1
- package/dist/{chunk-98byy5m4.js → chunk-mg5gq632.js} +1 -1
- package/dist/{chunk-2ednvght.js → chunk-mqbx7hc4.js} +2 -2
- package/dist/{chunk-2ednvght.js.map → chunk-mqbx7hc4.js.map} +1 -1
- package/dist/{chunk-epvpmakp.js → chunk-mvd4mc8p.js} +2 -2
- package/dist/{chunk-epvpmakp.js.map → chunk-mvd4mc8p.js.map} +1 -1
- package/dist/{chunk-g71ppv6x.js → chunk-mxhy19a9.js} +2 -2
- package/dist/{chunk-g71ppv6x.js.map → chunk-mxhy19a9.js.map} +1 -1
- package/dist/{chunk-3d8jxky6.js → chunk-n3pc62tc.js} +3 -3
- package/dist/{chunk-3d8jxky6.js.map → chunk-n3pc62tc.js.map} +1 -1
- package/dist/{chunk-8z29qvvm.js → chunk-n6ywagxv.js} +2 -2
- package/dist/{chunk-8z29qvvm.js.map → chunk-n6ywagxv.js.map} +1 -1
- package/dist/{chunk-191gkynh.js → chunk-nc1gstvq.js} +3 -3
- package/dist/{chunk-191gkynh.js.map → chunk-nc1gstvq.js.map} +1 -1
- package/dist/chunk-p4ka241x.js +5 -0
- package/dist/{chunk-bzcfw8qd.js.map → chunk-p4ka241x.js.map} +3 -3
- package/dist/{chunk-0qernzn1.js → chunk-pfjky33c.js} +2 -2
- package/dist/{chunk-0qernzn1.js.map → chunk-pfjky33c.js.map} +1 -1
- package/dist/{chunk-3vmc6adw.js → chunk-q4q5mxte.js} +2 -2
- package/dist/{chunk-3vmc6adw.js.map → chunk-q4q5mxte.js.map} +1 -1
- package/dist/{chunk-8m3m5hcf.js → chunk-qttv23e7.js} +3 -3
- package/dist/{chunk-8m3m5hcf.js.map → chunk-qttv23e7.js.map} +1 -1
- package/dist/chunk-qwmw2rrh.js +117 -0
- package/dist/{chunk-jx1crzgg.js.map → chunk-qwmw2rrh.js.map} +7 -7
- package/dist/{chunk-weyv3zrt.js → chunk-r94gpbjv.js} +4 -4
- package/dist/{chunk-weyv3zrt.js.map → chunk-r94gpbjv.js.map} +1 -1
- package/dist/{chunk-tsbxdz4h.js → chunk-rh811v1f.js} +2 -2
- package/dist/{chunk-tsbxdz4h.js.map → chunk-rh811v1f.js.map} +1 -1
- package/dist/{chunk-kk18xqgc.js → chunk-s0z61m9j.js} +2 -2
- package/dist/{chunk-kk18xqgc.js.map → chunk-s0z61m9j.js.map} +1 -1
- package/dist/{chunk-6d6p0q3p.js → chunk-s4nqy979.js} +2 -2
- package/dist/{chunk-6d6p0q3p.js.map → chunk-s4nqy979.js.map} +1 -1
- package/dist/{chunk-0b8m1f07.js → chunk-s7tn2t8x.js} +3 -3
- package/dist/{chunk-0b8m1f07.js.map → chunk-s7tn2t8x.js.map} +1 -1
- package/dist/{chunk-6ytezxzj.js → chunk-s7w7pn80.js} +2 -2
- package/dist/{chunk-6ytezxzj.js.map → chunk-s7w7pn80.js.map} +1 -1
- package/dist/{chunk-xp7x27n8.js → chunk-vqar6ysw.js} +3 -3
- package/dist/{chunk-xp7x27n8.js.map → chunk-vqar6ysw.js.map} +1 -1
- package/dist/{chunk-5c6dfy75.js → chunk-wamxfhh6.js} +2 -2
- package/dist/{chunk-5c6dfy75.js.map → chunk-wamxfhh6.js.map} +1 -1
- package/dist/{chunk-egwz89ze.js → chunk-wgre66wq.js} +2 -2
- package/dist/{chunk-egwz89ze.js.map → chunk-wgre66wq.js.map} +1 -1
- package/dist/{chunk-bqxt1she.js → chunk-xzbhy9n5.js} +1 -1
- package/dist/{chunk-jarsydtr.js → chunk-xzkr8yck.js} +3 -3
- package/dist/{chunk-jarsydtr.js.map → chunk-xzkr8yck.js.map} +1 -1
- package/dist/{chunk-htbvkr11.js → chunk-y4bjsyt4.js} +3 -3
- package/dist/{chunk-htbvkr11.js.map → chunk-y4bjsyt4.js.map} +1 -1
- package/dist/{chunk-4670xxae.js → chunk-yc2pnb1w.js} +2 -2
- package/dist/{chunk-4670xxae.js.map → chunk-yc2pnb1w.js.map} +1 -1
- package/dist/{chunk-v0gjdknx.js → chunk-yvpgy1p1.js} +2 -2
- package/dist/{chunk-v0gjdknx.js.map → chunk-yvpgy1p1.js.map} +1 -1
- package/dist/{chunk-zz2n9pa5.js → chunk-z2btwd27.js} +3 -3
- package/dist/{chunk-zz2n9pa5.js.map → chunk-z2btwd27.js.map} +1 -1
- package/dist/{chunk-day21sfa.js → chunk-z94ms1jv.js} +3 -3
- package/dist/{chunk-day21sfa.js.map → chunk-z94ms1jv.js.map} +1 -1
- package/dist/{chunk-m73mjzeh.js → chunk-zh0knwen.js} +2 -2
- package/dist/{chunk-m73mjzeh.js.map → chunk-zh0knwen.js.map} +1 -1
- package/dist/{chunk-9983zmhx.js → chunk-zzgzz4hb.js} +3 -3
- package/dist/{chunk-9983zmhx.js.map → chunk-zzgzz4hb.js.map} +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/http/Metadata.d.ts +29 -1
- package/dist/http/Metadata.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/probe/index.js +2 -2
- package/dist/probe/index.js.map +1 -1
- package/dist/server/devFetch.d.ts.map +1 -1
- package/dist/server/httpProd.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/requiredViews.d.ts +7 -0
- package/dist/server/requiredViews.d.ts.map +1 -0
- package/dist/services/index.js +2 -2
- package/dist/services/index.js.map +1 -1
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/router/DomainRouter.d.ts +3 -0
- package/dist/services/router/DomainRouter.d.ts.map +1 -1
- package/dist/services/router/RouteServiceProvider.d.ts.map +1 -1
- package/dist/services/router/ViewRouteDispatcher.d.ts +14 -1
- package/dist/services/router/ViewRouteDispatcher.d.ts.map +1 -1
- package/dist/services/router/config.d.ts +15 -1
- package/dist/services/router/config.d.ts.map +1 -1
- package/dist/stats/route-table.js +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/dist/vitest/index.js +2 -2
- package/dist/vitest/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-0qrbspbe.js +0 -5
- package/dist/chunk-982x8jps.js +0 -4
- package/dist/chunk-982x8jps.js.map +0 -10
- package/dist/chunk-bzcfw8qd.js +0 -5
- package/dist/chunk-d3195ypx.js +0 -24
- package/dist/chunk-hxe06cgw.js +0 -58
- package/dist/chunk-jx1crzgg.js +0 -117
- /package/dist/{chunk-5qzxyj68.js.map → chunk-dwxgr189.js.map} +0 -0
- /package/dist/{chunk-rq3wrwfa.js.map → chunk-g3vasg0d.js.map} +0 -0
- /package/dist/{chunk-98byy5m4.js.map → chunk-mg5gq632.js.map} +0 -0
- /package/dist/{chunk-bqxt1she.js.map → chunk-xzbhy9n5.js.map} +0 -0
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"import { DEFAULT_TIME_ZONE } from \"./formatter\";\nimport type { Dictionary } from \"./Dictionary\";\nimport type { HttpRequest } from \"../http/HttpRequest\";\n\n// Config key: `translation`. Derived from `I18nServiceProvider`.\nexport interface TranslationConfig {\n supportedLocales?: string[];\n defaultLocale?: string;\n /**\n * @deprecated Only for `Dictionary.create` dictionaries. A `defineDictionary`\n * dictionary needs no entry here — the component that reads it pulls it in,\n * and the bundler ships only the active locale.\n */\n prefetch?: Record<string, Array<Dictionary<any>>>;\n /** @deprecated Only for `Dictionary.create` dictionaries. See `prefetch`. */\n components?: Record<string, Dictionary<any>>;\n\n // Returning `null` falls back to gemi's own locale detection.\n detectLocale?: (req: HttpRequest) => string | null;\n onLocaleChange?: (locale: string) => Promise<void> | void;\n\n /**\n * The IANA time zone dates are formatted in by `useFormatter`,\n * `useDictionary(...).format` and `Lang.formatter()`. Defaults to `UTC`.\n *\n * One zone for server and browser alike, so a server-rendered date and its\n * hydrated copy print the same text. Override per call with\n * `format.date(value, { timeZone })`.\n */\n timeZone?: string;\n /**\n * Resolve the zone for one request, e.g. from a cookie or the signed-in\n * user's profile. Returning `null` (or a zone `Intl` does not know) falls back\n * to `timeZone`. Runs on the server; the result ships with the page.\n */\n detectTimeZone?: (req: HttpRequest) => string | null;\n}\n\nexport function defineTranslationConfig(\n config: TranslationConfig,\n): TranslationConfig {\n return config;\n}\n\nexport function translationConfigDefaults(): Required<TranslationConfig> {\n return {\n supportedLocales: [],\n defaultLocale: \"en-US\",\n prefetch: {},\n components: {},\n detectLocale: () => null,\n onLocaleChange: (locale) => {\n console.log(`Locale changed to ${locale}`);\n },\n timeZone: DEFAULT_TIME_ZONE,\n detectTimeZone: () => null,\n };\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";yCAsCO,SAAS,CAAuB,CACrC,EACmB,CACnB,OAAO,EAGF,SAAS,CAAyB,EAAgC,CACvE,MAAO,CACL,iBAAkB,CAAC,EACnB,cAAe,QACf,SAAU,CAAC,EACX,WAAY,CAAC,EACb,aAAc,IAAM,KACpB,eAAgB,CAAC,IAAW,CAC1B,QAAQ,IAAI,qBAAqB,GAAQ,GAE3C,SAAU,EACV,eAAgB,IAAM,IACxB",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "DA287F95462084FB64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
function E(z){return z}function f(){return{url:process.env.DATABASE_URL,dialect:void 0,options:void 0,slowTransactionThreshold:b,connections:void 0}}var b=2000;class Q extends Error{constructor(z){super(`Could not infer a database dialect from "${z}". Expected a URL starting with postgres://, postgresql://, mysql://, mariadb://, `+"sqlite://, or file: \u2014 or a SQLite path such as ./dev.db or :memory:.");this.name="UnknownDatabaseUrlError"}}class j extends Error{constructor(z){super(z===void 0||z==="default"?"No database URL configured. Set the DATABASE_URL environment variable, or set `url` in app/config/database.ts.":`The "${z}" database connection has no \`url\`. Set one under \`connections.${z}\` in app/config/database.ts.`);this.name="MissingDatabaseUrlError"}}var L={"postgres:":"postgres","postgresql:":"postgres","mysql:":"mysql","mariadb:":"mariadb","sqlite:":"sqlite","file:":"sqlite"},D=[".db",".sqlite",".sqlite3"];function F(z){let B=z.trim();if(B==="")throw new Q(z);if(B===":memory:")return"sqlite";let G=B.indexOf(":");if(G!==-1){let J=B.slice(0,G+1).toLowerCase(),K=L[J];if(K)return K}if(S(B))return"sqlite";throw new Q(z)}function S(z){if(z.startsWith("./")||z.startsWith("../")||z.startsWith("/"))return!0;let B=z.toLowerCase();return D.some((G)=>B.endsWith(G))}function p(z){return z==="sqlite"}function m(z){return z==="mysql"||z==="mariadb"}import{existsSync as g,readFileSync as y,realpathSync as I,statSync as U}from"fs";import{isAbsolute as w,join as H,resolve as q}from"path";var O=H("prisma","schema.prisma");class R extends Error{constructor(z,B,G){super(`"${z}" now resolves to ${B}, which is where Prisma migrates it. gemi used to open ${G} instead, and that file holds data \u2014 so `+`opening the resolved one would quietly leave it behind. gemi will not choose. Move ${G} onto ${B} if it is the database you want, or point DATABASE_URL at an absolute path to say so explicitly.`);this.name="AmbiguousSqlitePathError"}}function C(z){let B=z.trim(),G="",J=B;for(let K of["file://","file:","sqlite://","sqlite:"])if(B.slice(0,K.length).toLowerCase()===K){G=B.slice(0,K.length),J=B.slice(K.length);break}if(J===":memory:"||J.startsWith(":memory:?"))return null;return{prefix:G,file:J}}function _(z,B,G=process.cwd()){if(B!=="sqlite")return{url:z};let J=C(z);if(!J||J.file==="")return{url:z};if(w(J.file))return{url:z};let K=J.file.indexOf("?"),Z=K===-1?J.file:J.file.slice(0,K),$=K===-1?"":J.file.slice(K),X=H(G,"prisma");if(!T(G,z))return{url:z};let W=q(G,Z),Y=q(X,Z);if(W===Y)return{url:z};return{url:`${J.prefix}${Y}${$}`,moved:{from:W,to:Y}}}function T(z,B){let G=H(z,O);if(!g(G))return!1;let J;try{J=y(G,"utf8")}catch{return!1}let Z=J.replace(/^\s*\/\/.*$/gm,"").match(/datasource\s+\w+\s*\{([\s\S]*?)\}/);if(!Z)return!1;let $=Z[1];if(!/provider\s*=\s*["']sqlite["']/.test($))return!1;let X=$.match(/url\s*=\s*env\(\s*["']([^"']+)["']\s*\)/);if(X){let Y=process.env[X[1]];return typeof Y==="string"&&Y.trim()===B.trim()}let W=$.match(/url\s*=\s*["']([^"']+)["']/);return W?W[1].trim()===B.trim():!1}function k(z){try{if(I(z.from)===I(z.to))return null}catch{}try{let B=U(z.from);return B.isFile()&&B.size>0?z.from:null}catch{return null}}var{SQL:A}=globalThis.Bun;var V="default";class P extends Error{constructor(z,B){super(`No database connection named "${z}". Configured: ${B.map((G)=>`"${G}"`).join(", ")}. Declare it under \`connections\` in app/config/database.ts.`);this.name="UnknownConnectionError"}}class x extends Error{constructor(z){super(`"${z}" is the name of the connection declared by the top-level \`url\` and \`options\`, so it cannot also appear under \`connections\`. Rename it, or move its settings up to the top level.`);this.name="ReservedConnectionNameError"}}class N extends Error{open;requested;constructor(z,B){super(`A transaction is open on the "${z}" connection, and this statement names "${B}". A transaction cannot span two connections: the statement would run outside it and stay committed when the transaction rolls back. Move this query outside the transaction, or run the whole unit on one connection.`);this.open=z;this.requested=B;this.name="CrossConnectionTransactionError"}}class M{name;config;sql;dialect;url;ready;constructor(z,B={}){this.name=z;this.config=B;let G=B.url;if(!G)throw new j(z);this.dialect=B.dialect??F(G);let J=_(G,this.dialect);if(J.moved){let K=k(J.moved);if(K)throw new R(G,J.moved.to,K)}this.url=J.url,this.sql=B.options?new A(this.url,B.options):new A(this.url),this.ready=this.configure()}async configure(){if(this.dialect!=="sqlite")return;await this.sql.unsafe("pragma foreign_keys = ON")}get query(){return this.sql}async close(){this.ready.catch(()=>{}),await this.sql.close()}}class h{config;static token="database";name=V;pools=new Map;ready;constructor(z={}){this.config=z;let{connections:B={},...G}=z;this.pools.set(V,new M(V,G));try{this.build(B,G.slowTransactionThreshold)}catch(J){for(let K of this.pools.values())K.ready.catch(()=>{}),K.close().catch(()=>{});throw J}this.ready=Promise.all([...this.pools.values()].map((J)=>J.ready)).then(()=>{return})}build(z,B){for(let[G,J]of Object.entries(z)){if(G===V)throw new x(G);this.pools.set(G,new M(G,{slowTransactionThreshold:B,...J}))}}connection(z=V){if(z===V)return this;let B=this.pools.get(z);if(!B)throw new P(z,this.connectionNames);return B}get connectionNames(){return[...this.pools.keys()]}get sql(){return this.default.sql}get dialect(){return this.default.dialect}get url(){return this.default.url}get query(){return this.sql}async close(){this.ready.catch(()=>{}),await Promise.all([...this.pools.values()].map((z)=>z.close()))}get default(){return this.pools.get(V)}}
|
|
3
|
-
export{E as
|
|
3
|
+
export{E as qk,f as rk,b as sk,Q as tk,j as uk,F as vk,p as wk,m as xk,R as yk,V as zk,P as Ak,x as Bk,N as Ck,M as Dk,h as Ek};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=585C1E0352D0E60764756E2164756E21
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
"import type { SQL } from \"bun\";\nimport type { ConnectionConfig, DatabaseConfig } from \"./config\";\nimport {\n Connection,\n DEFAULT_CONNECTION,\n ReservedConnectionNameError,\n UnknownConnectionError,\n type DatabaseConnection,\n} from \"./Connection\";\nimport type { Dialect } from \"./dialect\";\n\n// Wraps Bun's `SQL` client. Bun ships one client that speaks SQLite, Postgres,\n// MySQL and MariaDB, so gemi does not need a driver per database — it needs to\n// know *which* one is in use, which is what `dialect` carries.\n//\n// Safe to build eagerly: Bun's client connects on the first query, not at\n// construction. (`RedisManager` used to be cited here as the parallel case. As\n// of #403 it builds its client in a memoizing getter instead — not because\n// eager construction was unsafe, but because naming Bun's `RedisClient` at\n// module scope is what made `gemi/services` unloadable off Bun. `Connection`\n// still imports `SQL` as a value for the same reason, which is the remaining\n// half of #396.) It is still bound as a lazy singleton,\n// so an app that never touches the database never resolves it and never has to\n// have DATABASE_URL set.\n//\n// Since #327 it holds *connections*, plural: the top-level `url` and `options`\n// build the one called `\"default\"`, and each key under `connections` builds\n// another. What it does not do is decide which one a query uses — that is the\n// ORM's ambient scope and the `DB` facade, because the choice is per query\n// rather than per application. See `connection` below.\nexport class DatabaseManager implements DatabaseConnection {\n static token = \"database\";\n\n /**\n * This object *is* the default connection, so it answers to the name.\n *\n * Not a formality: `connection(\"default\")` returns `this` rather than the\n * `Connection` in the map, which is what keeps every existing reader —\n * `DB.sql`, `db.dialect`, and the test harnesses that wrap the manager in a\n * Proxy to count statements — looking at the same object the ORM executes\n * through. A second object for the default pool would have quietly bypassed\n * all of them while every test still passed.\n */\n public readonly name = DEFAULT_CONNECTION;\n\n /**\n * Every pool this manager owns, keyed by name and including the default one.\n *\n * Private because the map is the manager's bookkeeping — `connection()` is\n * the way in, and it is the only path that knows the default is `this`.\n */\n private readonly pools = new Map<string, Connection>();\n\n /**\n * Resolves once **every** connection has been configured, or rejects if one\n * could not be. Only SQLite has anything to do; elsewhere it is already\n * resolved.\n *\n * All of them rather than the default alone, because the thing a caller waits\n * on this for — SQLite's `pragma foreign_keys` — is per client, so a second\n * SQLite connection has its own and a caller awaiting one manager-level\n * promise means all of them.\n */\n public readonly ready: Promise<void>;\n\n constructor(public config: DatabaseConfig = {}) {\n const { connections = {}, ...primary } = config;\n\n // The default first, so a `MissingDatabaseUrlError` from a missing\n // `DATABASE_URL` still comes out of construction the way it always has,\n // rather than after a named connection has already opened a client.\n this.pools.set(\n DEFAULT_CONNECTION,\n new Connection(DEFAULT_CONNECTION, primary),\n );\n\n // A connection that is built before the one whose config is wrong is still\n // a live client with an open handle, and on the throwing path nothing else\n // will ever hold it: the manager never becomes a value, so nobody can call\n // `close`. Left alone, the pragma this constructor issues for a SQLite\n // connection settles against a client being torn down and surfaces as an\n // unhandled rejection with no configuration error anywhere near it.\n try {\n this.build(connections, primary.slowTransactionThreshold);\n } catch (error) {\n for (const pool of this.pools.values()) {\n // The in-flight configuration first: it is what rejects when the client\n // under it goes away, and this is the only place that can say the\n // rejection was expected.\n pool.ready.catch(() => {});\n pool.close().catch(() => {});\n }\n throw error;\n }\n\n // Built once here rather than derived per read, so that a connection whose\n // configuration rejects produces one unhandled rejection at most instead of\n // a fresh one per access.\n this.ready = Promise.all(\n [...this.pools.values()].map((pool) => pool.ready),\n ).then(() => undefined);\n }\n\n private build(\n connections: Record<string, ConnectionConfig>,\n slowTransactionThreshold: number | false | undefined,\n ): void {\n for (const [name, connection] of Object.entries(connections)) {\n if (name === DEFAULT_CONNECTION)\n throw new ReservedConnectionNameError(name);\n\n this.pools.set(\n name,\n new Connection(name, {\n // The threshold is the one setting a named connection is likely to\n // want *unchanged*: it is a development diagnostic about holding a\n // pooled connection, and that concern does not stop applying because\n // the pool has a name. `url`, `options` and `dialect` are deliberately\n // not inherited — a connection that borrowed the default's URL by\n // omission would be a second pool onto the same database created by a\n // typo in a key.\n slowTransactionThreshold,\n ...connection,\n }),\n );\n }\n }\n\n /**\n * The connection called `name`, or the default one when called with nothing.\n *\n * Throws rather than falling back to the default for an unknown name, and\n * that is the important half. A fallback would make `Model.on(\"analitycs\")`\n * run on the hot path — the exact pool the caller was trying to stay off —\n * and the only symptom would be the incident it was meant to prevent,\n * arriving weeks later with nothing pointing back at the typo.\n */\n connection(name: string = DEFAULT_CONNECTION): DatabaseConnection {\n // `this`, not `pools.get(DEFAULT_CONNECTION)` — see `name` above.\n if (name === DEFAULT_CONNECTION) return this;\n\n const found = this.pools.get(name);\n if (!found) throw new UnknownConnectionError(name, this.connectionNames);\n return found;\n }\n\n /** Every configured name, default first. For error messages and diagnostics. */\n get connectionNames(): string[] {\n return [...this.pools.keys()];\n }\n\n /**\n * The default connection's client. Unchanged in meaning: an application that\n * never names a connection sees exactly what it saw before #327.\n */\n get sql(): SQL {\n return this.default.sql;\n }\n\n get dialect(): Dialect {\n return this.default.dialect;\n }\n\n get url(): string {\n return this.default.url;\n }\n\n // Escape hatch matching Bun's own API, so `db.query` reads like `sql` does in\n // Bun's docs: db.query`select * from users where id = ${id}`\n get query(): SQL {\n return this.sql;\n }\n\n /** Closes every connection, not only the default one. */\n async close(): Promise<void> {\n // The aggregate promise needs the same treatment each connection's own\n // `ready` gets in `Connection.close` — it is derived from them, so a\n // rejection there arrives here as a second, separately unhandled one.\n this.ready.catch(() => {});\n await Promise.all([...this.pools.values()].map((pool) => pool.close()));\n }\n\n private get default(): Connection {\n return this.pools.get(DEFAULT_CONNECTION)!;\n }\n}\n"
|
|
10
10
|
],
|
|
11
11
|
"mappings": "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",
|
|
12
|
-
"debugId": "
|
|
12
|
+
"debugId": "585C1E0352D0E60764756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{fl as I,gl as N,hl as A,il as x,jl as k}from"./chunk-22jm6sn1.js";import{realpathSync as r}from"fs";import{relative as t,sep as n}from"path";var g=44,p=59,T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b=new Uint8Array(64),l=new Uint8Array(128);for(let z=0;z<T.length;z++){let J=T.charCodeAt(z);b[z]=J,l[J]=z}function q(z,J,K){let X=J-K;X=X<0?-X<<1|1:X<<1;do{let Z=X&31;if(X>>>=5,X>0)Z|=32;z.write(b[Z])}while(X>0);return J}var v=16384,R=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(z){return Buffer.from(z.buffer,z.byteOffset,z.byteLength).toString()}}:{decode(z){let J="";for(let K=0;K<z.length;K++)J+=String.fromCharCode(z[K]);return J}},h=class{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(v)}write(z){let{buffer:J}=this;if(J[this.pos++]=z,this.pos===v)this.out+=R.decode(J),this.pos=0}flush(){let{buffer:z,out:J,pos:K}=this;return K>0?J+R.decode(z.subarray(0,K)):J}};function L(z){let J=new h,K=0,X=0,Z=0,$=0;for(let W=0;W<z.length;W++){let F=z[W];if(W>0)J.write(p);if(F.length===0)continue;let G=0;for(let H=0;H<F.length;H++){let Q=F[H];if(H>0)J.write(g);if(G=q(J,Q[0],G),Q.length===1)continue;if(K=q(J,Q[1],K),X=q(J,Q[2],X),Z=q(J,Q[3],Z),Q.length===4)continue;$=q(J,Q[4],$)}}return J.flush()}class P{constructor(z){this.bits=z instanceof P?z.bits.slice():[]}add(z){this.bits[z>>5]|=1<<(z&31)}has(z){return!!(this.bits[z>>5]&1<<(z&31))}}class j{constructor(z,J,K){this.start=z,this.end=J,this.original=K,this.intro="",this.outro="",this.content=K,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(z){this.outro+=z}appendRight(z){this.intro=this.intro+z}clone(){let z=new j(this.start,this.end,this.original);return z.intro=this.intro,z.outro=this.outro,z.content=this.content,z.storeName=this.storeName,z.edited=this.edited,z}contains(z){return this.start<z&&z<this.end}eachNext(z){let J=this;while(J)z(J),J=J.next}eachPrevious(z){let J=this;while(J)z(J),J=J.previous}edit(z,J,K){if(this.content=z,!K)this.intro="",this.outro="";return this.storeName=J,this.edited=!0,this}prependLeft(z){this.outro=z+this.outro}prependRight(z){this.intro=z+this.intro}reset(){if(this.intro="",this.outro="",this.edited)this.content=this.original,this.storeName=!1,this.edited=!1}split(z){let J=z-this.start,K=this.original.slice(0,J),X=this.original.slice(J);this.original=K;let Z=new j(z,this.end,X);if(Z.outro=this.outro,this.outro="",this.end=z,this.edited)Z.edit("",!1),this.content="";else this.content=K;if(Z.next=this.next,Z.next)Z.next.previous=Z;return Z.previous=this,this.next=Z,Z}toString(){return this.intro+this.content+this.outro}trimEnd(z){if(this.outro=this.outro.replace(z,""),this.outro.length)return!0;let J=this.content.replace(z,"");if(J.length){if(J!==this.content){if(this.split(this.start+J.length).edit("",void 0,!0),this.edited)this.edit(J,this.storeName,!0)}return!0}else if(this.edit("",void 0,!0),this.intro=this.intro.replace(z,""),this.intro.length)return!0}trimStart(z){if(this.intro=this.intro.replace(z,""),this.intro.length)return!0;let J=this.content.replace(z,"");if(J.length){if(J!==this.content){let K=this.split(this.end-J.length);if(this.edited)K.edit(J,this.storeName,!0);this.edit("",void 0,!0)}return!0}else if(this.edit("",void 0,!0),this.outro=this.outro.replace(z,""),this.outro.length)return!0}}function u(){if(typeof globalThis<"u"&&typeof globalThis.btoa==="function")return(z)=>globalThis.btoa(unescape(encodeURIComponent(z)));else if(typeof Buffer==="function")return(z)=>Buffer.from(z,"utf-8").toString("base64");else return()=>{throw Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")}}var d=u();class w{constructor(z){if(this.version=3,this.file=z.file,this.sources=z.sources,this.sourcesContent=z.sourcesContent,this.names=z.names,this.mappings=L(z.mappings),typeof z.x_google_ignoreList<"u")this.x_google_ignoreList=z.x_google_ignoreList;if(typeof z.debugId<"u")this.debugId=z.debugId}toString(){return JSON.stringify(this)}toUrl(){return"data:application/json;charset=utf-8;base64,"+d(this.toString())}}function a(z){let J=z.split(`
|
|
3
3
|
`),K=J.filter(($)=>/^\t+/.test($)),X=J.filter(($)=>/^ {2,}/.test($));if(K.length===0&&X.length===0)return null;if(K.length>=X.length)return"\t";let Z=X.reduce(($,W)=>{let F=/^ +/.exec(W)[0].length;return Math.min(F,$)},1/0);return Array(Z+1).join(" ")}function o(z,J){let K=z.split(/[/\\]/),X=J.split(/[/\\]/);K.pop();while(K[0]===X[0])K.shift(),X.shift();if(K.length){let Z=K.length;while(Z--)K[Z]=".."}return K.concat(X).join("/")}var s=Object.prototype.toString;function c(z){return s.call(z)==="[object Object]"}function f(z){let J=z.split(`
|
|
4
4
|
`),K=[];for(let X=0,Z=0;X<J.length;X++)K.push(Z),Z+=J[X].length+1;return function(Z){let $=0,W=K.length;while($<W){let H=$+W>>1;if(Z<K[H])W=H;else $=H+1}let F=$-1,G=Z-K[F];return{line:F,column:G}}}var i=/\w/;class C{constructor(z){this.hires=z,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null}addEdit(z,J,K,X){if(J.length){let Z=J.length-1,$=J.indexOf(`
|
|
5
5
|
`,0),W=-1;while($>=0&&Z>$){let G=[this.generatedCodeColumn,z,K.line,K.column];if(X>=0)G.push(X);this.rawSegments.push(G),this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,W=$,$=J.indexOf(`
|
|
@@ -11,6 +11,6 @@ import{el as I,fl as N,gl as A,hl as x,il as k}from"./chunk-9f2ps5v2.js";import{
|
|
|
11
11
|
`)Z=!0;else if(H!=="\r"&&Z)if(Z=!1,W===F.start)F.prependRight(z);else this._splitChunk(F,W),F=F.next,F.prependRight(z)}W+=1}}W=F.end,F=F.next}return this.outro=this.outro.replace(K,$),this}insert(){throw Error("magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)")}insertLeft(z,J){if(!Y.insertLeft)console.warn("magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead"),Y.insertLeft=!0;return this.appendLeft(z,J)}insertRight(z,J){if(!Y.insertRight)console.warn("magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead"),Y.insertRight=!0;return this.prependRight(z,J)}move(z,J,K){if(z=z+this.offset,J=J+this.offset,K=K+this.offset,K>=z&&K<=J)throw Error("Cannot move a selection inside itself");this._split(z),this._split(J),this._split(K);let X=this.byStart[z],Z=this.byEnd[J],$=X.previous,W=Z.next,F=this.byStart[K];if(!F&&Z===this.lastChunk)return this;let G=F?F.previous:this.lastChunk;if($)$.next=W;if(W)W.previous=$;if(G)G.next=X;if(F)F.previous=Z;if(!X.previous)this.firstChunk=Z.next;if(!Z.next)this.lastChunk=X.previous,this.lastChunk.next=null;if(X.previous=G,Z.next=F||null,!G)this.firstChunk=X;if(!F)this.lastChunk=Z;return this}overwrite(z,J,K,X){return X=X||{},this.update(z,J,K,{...X,overwrite:!X.contentOnly})}update(z,J,K,X){if(z=z+this.offset,J=J+this.offset,typeof K!=="string")throw TypeError("replacement content must be a string");if(this.original.length!==0){while(z<0)z+=this.original.length;while(J<0)J+=this.original.length}if(J>this.original.length)throw Error("end is out of bounds");if(z===J)throw Error("Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead");if(this._split(z),this._split(J),X===!0){if(!Y.storeName)console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string"),Y.storeName=!0;X={storeName:!0}}let Z=X!==void 0?X.storeName:!1,$=X!==void 0?X.overwrite:!1;if(Z){let G=this.original.slice(z,J);Object.defineProperty(this.storedNames,G,{writable:!0,value:!0,enumerable:!0})}let W=this.byStart[z],F=this.byEnd[J];if(W){let G=W;while(G!==F){if(G.next!==this.byStart[G.end])throw Error("Cannot overwrite across a split point");G=G.next,G.edit("",!1)}W.edit(K,Z,!$)}else{let G=new j(z,J,"").edit(K,Z);F.next=G,G.previous=F}return this}prepend(z){if(typeof z!=="string")throw TypeError("outro content must be a string");return this.intro=z+this.intro,this}prependLeft(z,J){if(z=z+this.offset,typeof J!=="string")throw TypeError("inserted content must be a string");this._split(z);let K=this.byEnd[z];if(K)K.prependLeft(J);else this.intro=J+this.intro;return this}prependRight(z,J){if(z=z+this.offset,typeof J!=="string")throw TypeError("inserted content must be a string");this._split(z);let K=this.byStart[z];if(K)K.prependRight(J);else this.outro=J+this.outro;return this}remove(z,J){if(z=z+this.offset,J=J+this.offset,this.original.length!==0){while(z<0)z+=this.original.length;while(J<0)J+=this.original.length}if(z===J)return this;if(z<0||J>this.original.length)throw Error("Character is out of bounds");if(z>J)throw Error("end must be greater than start");this._split(z),this._split(J);let K=this.byStart[z];while(K)K.intro="",K.outro="",K.edit(""),K=J>K.end?this.byStart[K.end]:null;return this}reset(z,J){if(z=z+this.offset,J=J+this.offset,this.original.length!==0){while(z<0)z+=this.original.length;while(J<0)J+=this.original.length}if(z===J)return this;if(z<0||J>this.original.length)throw Error("Character is out of bounds");if(z>J)throw Error("end must be greater than start");this._split(z),this._split(J);let K=this.byStart[z];while(K)K.reset(),K=J>K.end?this.byStart[K.end]:null;return this}lastChar(){if(this.outro.length)return this.outro[this.outro.length-1];let z=this.lastChunk;do{if(z.outro.length)return z.outro[z.outro.length-1];if(z.content.length)return z.content[z.content.length-1];if(z.intro.length)return z.intro[z.intro.length-1]}while(z=z.previous);if(this.intro.length)return this.intro[this.intro.length-1];return""}lastLine(){let z=this.outro.lastIndexOf(U);if(z!==-1)return this.outro.substr(z+1);let J=this.outro,K=this.lastChunk;do{if(K.outro.length>0){if(z=K.outro.lastIndexOf(U),z!==-1)return K.outro.substr(z+1)+J;J=K.outro+J}if(K.content.length>0){if(z=K.content.lastIndexOf(U),z!==-1)return K.content.substr(z+1)+J;J=K.content+J}if(K.intro.length>0){if(z=K.intro.lastIndexOf(U),z!==-1)return K.intro.substr(z+1)+J;J=K.intro+J}}while(K=K.previous);if(z=this.intro.lastIndexOf(U),z!==-1)return this.intro.substr(z+1)+J;return this.intro+J}slice(z=0,J=this.original.length-this.offset){if(z=z+this.offset,J=J+this.offset,this.original.length!==0){while(z<0)z+=this.original.length;while(J<0)J+=this.original.length}let K="",X=this.firstChunk;while(X&&(X.start>z||X.end<=z)){if(X.start<J&&X.end>=J)return K;X=X.next}if(X&&X.edited&&X.start!==z)throw Error(`Cannot use replaced character ${z} as slice start anchor.`);let Z=X;while(X){if(X.intro&&(Z!==X||X.start===z))K+=X.intro;let $=X.start<J&&X.end>=J;if($&&X.edited&&X.end!==J)throw Error(`Cannot use replaced character ${J} as slice end anchor.`);let W=Z===X?z-X.start:0,F=$?X.content.length+J-X.end:X.content.length;if(K+=X.content.slice(W,F),X.outro&&(!$||X.end===J))K+=X.outro;if($)break;X=X.next}return K}snip(z,J){let K=this.clone();return K.remove(0,z),K.remove(J,K.original.length),K}_split(z){if(this.byStart[z]||this.byEnd[z])return;let J=this.lastSearchedChunk,K=J,X=z>J.end;while(J){if(J.contains(z))return this._splitChunk(J,z);if(J=X?this.byStart[J.end]:this.byEnd[J.start],J===K)return;K=J}}_splitChunk(z,J){if(z.edited&&z.content.length){let X=f(this.original)(J);throw Error(`Cannot split a chunk that has already been edited (${X.line}:${X.column} \u2013 "${z.original}")`)}let K=z.split(J);if(this.byEnd[J]=z,this.byStart[J]=K,this.byEnd[K.end]=K,z===this.lastChunk)this.lastChunk=K;return this.lastSearchedChunk=z,!0}toString(){let z=this.intro,J=this.firstChunk;while(J)z+=J.toString(),J=J.next;return z+this.outro}isEmpty(){let z=this.firstChunk;do if(z.intro.length&&z.intro.trim()||z.content.length&&z.content.trim()||z.outro.length&&z.outro.trim())return!1;while(z=z.next);return!0}length(){let z=this.firstChunk,J=0;do J+=z.intro.length+z.content.length+z.outro.length;while(z=z.next);return J}trimLines(){return this.trim("[\\r\\n]")}trim(z){return this.trimStart(z).trimEnd(z)}trimEndAborted(z){let J=new RegExp((z||"\\s")+"+$");if(this.outro=this.outro.replace(J,""),this.outro.length)return!0;let K=this.lastChunk;do{let X=K.end,Z=K.trimEnd(J);if(K.end!==X){if(this.lastChunk===K)this.lastChunk=K.next;this.byEnd[K.end]=K,this.byStart[K.next.start]=K.next,this.byEnd[K.next.end]=K.next}if(Z)return!0;K=K.previous}while(K);return!1}trimEnd(z){return this.trimEndAborted(z),this}trimStartAborted(z){let J=new RegExp("^"+(z||"\\s")+"+");if(this.intro=this.intro.replace(J,""),this.intro.length)return!0;let K=this.firstChunk;do{let X=K.end,Z=K.trimStart(J);if(K.end!==X){if(K===this.lastChunk)this.lastChunk=K.next;this.byEnd[K.end]=K,this.byStart[K.next.start]=K.next,this.byEnd[K.next.end]=K.next}if(Z)return!0;K=K.next}while(K);return!1}trimStart(z){return this.trimStartAborted(z),this}hasChanged(){return this.original!==this.toString()}_replaceRegexp(z,J){function K(Z,$){if(typeof J==="string")return J.replace(/\$(\$|&|\d+)/g,(W,F)=>{if(F==="$")return"$";if(F==="&")return Z[0];if(+F<Z.length)return Z[+F];return`$${F}`});else return J(...Z,Z.index,$,Z.groups)}function X(Z,$){let W,F=[];while(W=Z.exec($))F.push(W);return F}if(z.global)X(z,this.original).forEach(($)=>{if($.index!=null){let W=K($,this.original);if(W!==$[0])this.overwrite($.index,$.index+$[0].length,W)}});else{let Z=this.original.match(z);if(Z&&Z.index!=null){let $=K(Z,this.original);if($!==Z[0])this.overwrite(Z.index,Z.index+Z[0].length,$)}}return this}_replaceString(z,J){let{original:K}=this,X=K.indexOf(z);if(X!==-1){if(typeof J==="function")J=J(z,X,K);if(z!==J)this.overwrite(X,X+z.length,J)}return this}replace(z,J){if(typeof z==="string")return this._replaceString(z,J);return this._replaceRegexp(z,J)}_replaceAllString(z,J){let{original:K}=this,X=z.length;for(let Z=K.indexOf(z);Z!==-1;Z=K.indexOf(z,Z+X)){let $=K.slice(Z,Z+X),W=J;if(typeof J==="function")W=J($,Z,K);if($!==W)this.overwrite(Z,Z+X,W)}return this}replaceAll(z,J){if(typeof z==="string")return this._replaceAllString(z,J);if(!z.global)throw TypeError("MagicString.prototype.replaceAll called with a non-global RegExp argument");return this._replaceRegexp(z,J)}}var e=/\bisland\s*\(\s*(\(\s*\)\s*=>\s*import\(\s*(["'])([^"'\n]+)\2\s*\))/g;function S(z){try{return r(z)}catch{return z}}function Gz(){let z=process.cwd(),J=!1,K=new Set;return{name:"gemi-plugin-islands",enforce:"pre",configResolved(X){z=S(X.root),J=X.command==="build"&&!X.build.ssr},buildStart(){K.clear()},resolveId(X){return X===I?N:null},load(X){if(X===N)return k;if(X.endsWith(A))return x(X.slice(0,-A.length));return null},async transform(X,Z){if(Z.includes("/node_modules/")||Z.startsWith("\x00")||Z.endsWith(A))return null;if(!/\.[cm]?[jt]sx?$/.test(Z.split("?")[0]))return null;if(!X.includes("island"))return null;let $=this.environment?.config?.consumer,W=J&&($===void 0||$==="client"),F=new B(X),G=[];for(let H of X.matchAll(e)){let[,Q,_,E]=H,D=await this.resolve(E,Z);if(!D||D.external)continue;let m=S(D.id.split("?")[0]),M=t(z,m).split(n).join("/");if(M.startsWith(".."))continue;let O=`__gemi_island_${G.length}`;G.push(`import * as ${O} from ${_}${E}${_};`);let y=H.index+H[0].length-Q.length;F.overwrite(y,y+Q.length,`Object.assign(() => Promise.resolve(${O}), { gemiIsland: ${JSON.stringify(M)}, gemiModule: ${O} })`);let V=D.id.split("?")[0];if(W&&!K.has(V))K.add(V),this.emitFile({type:"chunk",id:`${V}${A}`,preserveSignature:"strict"})}if(G.length===0)return null;return F.prepend(`${G.join(`
|
|
12
12
|
`)}
|
|
13
13
|
`),{code:F.toString(),map:F.generateMap({hires:!0})}}}}
|
|
14
|
-
export{B as
|
|
14
|
+
export{B as Aa,Gz as Ba};
|
|
15
15
|
|
|
16
|
-
//# debugId=
|
|
16
|
+
//# debugId=6C2DD71F9723154664756E2164756E21
|
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
"import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\tif (this.outro) {\n\t\t\tmappings.advance(this.outro);\n\t\t}\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tlet previousChunk = chunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\n\t\t\t// Prevent infinite loop (e.g. via empty chunks, where start === end)\n\t\t\tif (chunk === previousChunk) return;\n\n\t\t\tpreviousChunk = chunk;\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\treplacement = replacement(string, index, original);\n\t\t\t}\n\t\t\tif (string !== replacement) {\n\t\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tlet _replacement = replacement;\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\t_replacement = replacement(previous, index, original);\n\t\t\t}\n\t\t\tif (previous !== _replacement) this.overwrite(index, index + stringLength, _replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n"
|
|
8
8
|
],
|
|
9
9
|
"mappings": ";yEAAA,uBAAS,WACT,mBAAS,SAAU,aCAnB,IAAI,EAAQ,GACR,EAAY,GACZ,EAAQ,mEACR,EAAY,IAAI,WAAW,EAAE,EAC7B,EAAY,IAAI,WAAW,GAAG,EAClC,QAAS,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACrC,IAAM,EAAI,EAAM,WAAW,CAAC,EAC5B,EAAU,GAAK,EACf,EAAU,GAAK,EAmBjB,SAAS,CAAa,CAAC,EAAS,EAAK,EAAU,CAC7C,IAAI,EAAQ,EAAM,EAClB,EAAQ,EAAQ,EAAI,CAAC,GAAS,EAAI,EAAI,GAAS,EAC/C,EAAG,CACD,IAAI,EAAU,EAAQ,GAEtB,GADA,KAAW,EACP,EAAQ,EAAG,GAAW,GAC1B,EAAQ,MAAM,EAAU,EAAQ,QACzB,EAAQ,GACjB,OAAO,EAQT,IAAI,EAAY,MACZ,EAAK,OAAO,YAAgB,IAA8B,IAAI,YAAgB,OAAO,OAAW,IAAc,CAChH,MAAM,CAAC,EAAK,CAEV,OADY,OAAO,KAAK,EAAI,OAAQ,EAAI,WAAY,EAAI,UAAU,EACvD,SAAS,EAExB,EAAI,CACF,MAAM,CAAC,EAAK,CACV,IAAI,EAAM,GACV,QAAS,EAAI,EAAG,EAAI,EAAI,OAAQ,IAC9B,GAAO,OAAO,aAAa,EAAI,EAAE,EAEnC,OAAO,EAEX,EACI,EAAe,KAAM,CACvB,WAAW,EAAG,CACZ,KAAK,IAAM,EACX,KAAK,IAAM,GACX,KAAK,OAAS,IAAI,WAAW,CAAS,EAExC,KAAK,CAAC,EAAG,CACP,IAAQ,UAAW,KAEnB,GADA,EAAO,KAAK,OAAS,EACjB,KAAK,MAAQ,EACf,KAAK,KAAO,EAAG,OAAO,CAAM,EAC5B,KAAK,IAAM,EAGf,KAAK,EAAG,CACN,IAAQ,SAAQ,MAAK,OAAQ,KAC7B,OAAO,EAAM,EAAI,EAAM,EAAG,OAAO,EAAO,SAAS,EAAG,CAAG,CAAC,EAAI,EAEhE,EAuTA,SAAS,CAAM,CAAC,EAAS,CACvB,IAAM,EAAS,IAAI,EACf,EAAe,EACf,EAAa,EACb,EAAe,EACf,EAAa,EACjB,QAAS,EAAI,EAAG,EAAI,EAAQ,OAAQ,IAAK,CACvC,IAAM,EAAO,EAAQ,GACrB,GAAI,EAAI,EAAG,EAAO,MAAM,CAAS,EACjC,GAAI,EAAK,SAAW,EAAG,SACvB,IAAI,EAAY,EAChB,QAAS,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,IAAM,EAAU,EAAK,GACrB,GAAI,EAAI,EAAG,EAAO,MAAM,CAAK,EAE7B,GADA,EAAY,EAAc,EAAQ,EAAQ,GAAI,CAAS,EACnD,EAAQ,SAAW,EAAG,SAI1B,GAHA,EAAe,EAAc,EAAQ,EAAQ,GAAI,CAAY,EAC7D,EAAa,EAAc,EAAQ,EAAQ,GAAI,CAAU,EACzD,EAAe,EAAc,EAAQ,EAAQ,GAAI,CAAY,EACzD,EAAQ,SAAW,EAAG,SAC1B,EAAa,EAAc,EAAQ,EAAQ,GAAI,CAAU,GAG7D,OAAO,EAAO,MAAM,EC1ZtB,MAAM,CAAO,CACZ,WAAW,CAAC,EAAK,CAChB,KAAK,KAAO,aAAe,EAAS,EAAI,KAAK,MAAM,EAAI,CAAC,EAGzD,GAAG,CAAC,EAAG,CACN,KAAK,KAAK,GAAK,IAAM,IAAM,EAAI,IAGhC,GAAG,CAAC,EAAG,CACN,MAAO,CAAC,EAAE,KAAK,KAAK,GAAK,GAAM,IAAM,EAAI,KAE3C,CAEA,MAAM,CAAM,CACX,WAAW,CAAC,EAAO,EAAK,EAAS,CAChC,KAAK,MAAQ,EACb,KAAK,IAAM,EACX,KAAK,SAAW,EAEhB,KAAK,MAAQ,GACb,KAAK,MAAQ,GAEb,KAAK,QAAU,EACf,KAAK,UAAY,GACjB,KAAK,OAAS,GAGb,KAAK,SAAW,KAChB,KAAK,KAAO,KAId,UAAU,CAAC,EAAS,CACnB,KAAK,OAAS,EAGf,WAAW,CAAC,EAAS,CACpB,KAAK,MAAQ,KAAK,MAAQ,EAG3B,KAAK,EAAG,CACP,IAAM,EAAQ,IAAI,EAAM,KAAK,MAAO,KAAK,IAAK,KAAK,QAAQ,EAQ3D,OANA,EAAM,MAAQ,KAAK,MACnB,EAAM,MAAQ,KAAK,MACnB,EAAM,QAAU,KAAK,QACrB,EAAM,UAAY,KAAK,UACvB,EAAM,OAAS,KAAK,OAEb,EAGR,QAAQ,CAAC,EAAO,CACf,OAAO,KAAK,MAAQ,GAAS,EAAQ,KAAK,IAG3C,QAAQ,CAAC,EAAI,CACZ,IAAI,EAAQ,KACZ,MAAO,EACN,EAAG,CAAK,EACR,EAAQ,EAAM,KAIhB,YAAY,CAAC,EAAI,CAChB,IAAI,EAAQ,KACZ,MAAO,EACN,EAAG,CAAK,EACR,EAAQ,EAAM,SAIhB,IAAI,CAAC,EAAS,EAAW,EAAa,CAErC,GADA,KAAK,QAAU,EACX,CAAC,EACJ,KAAK,MAAQ,GACb,KAAK,MAAQ,GAMd,OAJA,KAAK,UAAY,EAEjB,KAAK,OAAS,GAEP,KAGR,WAAW,CAAC,EAAS,CACpB,KAAK,MAAQ,EAAU,KAAK,MAG7B,YAAY,CAAC,EAAS,CACrB,KAAK,MAAQ,EAAU,KAAK,MAG7B,KAAK,EAAG,CAGP,GAFA,KAAK,MAAQ,GACb,KAAK,MAAQ,GACT,KAAK,OACR,KAAK,QAAU,KAAK,SACpB,KAAK,UAAY,GACjB,KAAK,OAAS,GAIhB,KAAK,CAAC,EAAO,CACZ,IAAM,EAAa,EAAQ,KAAK,MAE1B,EAAiB,KAAK,SAAS,MAAM,EAAG,CAAU,EAClD,EAAgB,KAAK,SAAS,MAAM,CAAU,EAEpD,KAAK,SAAW,EAEhB,IAAM,EAAW,IAAI,EAAM,EAAO,KAAK,IAAK,CAAa,EAMzD,GALA,EAAS,MAAQ,KAAK,MACtB,KAAK,MAAQ,GAEb,KAAK,IAAM,EAEP,KAAK,OASR,EAAS,KAAK,GAAI,EAAK,EACvB,KAAK,QAAU,GAEf,UAAK,QAAU,EAIhB,GADA,EAAS,KAAO,KAAK,KACjB,EAAS,KAAM,EAAS,KAAK,SAAW,EAI5C,OAHA,EAAS,SAAW,KACpB,KAAK,KAAO,EAEL,EAGR,QAAQ,EAAG,CACV,OAAO,KAAK,MAAQ,KAAK,QAAU,KAAK,MAGzC,OAAO,CAAC,EAAI,CAEX,GADA,KAAK,MAAQ,KAAK,MAAM,QAAQ,EAAI,EAAE,EAClC,KAAK,MAAM,OAAQ,MAAO,GAE9B,IAAM,EAAU,KAAK,QAAQ,QAAQ,EAAI,EAAE,EAE3C,GAAI,EAAQ,OAAQ,CACnB,GAAI,IAAY,KAAK,SAEpB,GADA,KAAK,MAAM,KAAK,MAAQ,EAAQ,MAAM,EAAE,KAAK,GAAI,OAAW,EAAI,EAC5D,KAAK,OAER,KAAK,KAAK,EAAS,KAAK,UAAW,EAAI,EAGzC,MAAO,GAKP,QAHA,KAAK,KAAK,GAAI,OAAW,EAAI,EAE7B,KAAK,MAAQ,KAAK,MAAM,QAAQ,EAAI,EAAE,EAClC,KAAK,MAAM,OAAQ,MAAO,GAIhC,SAAS,CAAC,EAAI,CAEb,GADA,KAAK,MAAQ,KAAK,MAAM,QAAQ,EAAI,EAAE,EAClC,KAAK,MAAM,OAAQ,MAAO,GAE9B,IAAM,EAAU,KAAK,QAAQ,QAAQ,EAAI,EAAE,EAE3C,GAAI,EAAQ,OAAQ,CACnB,GAAI,IAAY,KAAK,QAAS,CAC7B,IAAM,EAAW,KAAK,MAAM,KAAK,IAAM,EAAQ,MAAM,EACrD,GAAI,KAAK,OAER,EAAS,KAAK,EAAS,KAAK,UAAW,EAAI,EAE5C,KAAK,KAAK,GAAI,OAAW,EAAI,EAE9B,MAAO,GAKP,QAHA,KAAK,KAAK,GAAI,OAAW,EAAI,EAE7B,KAAK,MAAQ,KAAK,MAAM,QAAQ,EAAI,EAAE,EAClC,KAAK,MAAM,OAAQ,MAAO,GAGjC,CAEA,SAAS,CAAO,EAAG,CAClB,GAAI,OAAO,WAAe,KAAe,OAAO,WAAW,OAAS,WACnE,MAAO,CAAC,IAAQ,WAAW,KAAK,SAAS,mBAAmB,CAAG,CAAC,CAAC,EAC3D,QAAI,OAAO,SAAW,WAC5B,MAAO,CAAC,IAAQ,OAAO,KAAK,EAAK,OAAO,EAAE,SAAS,QAAQ,EAE3D,WAAO,IAAM,CACZ,MAAU,MAAM,yEAAyE,GAK5F,IAAM,EAAqB,EAAQ,EAEnC,MAAM,CAAU,CACf,WAAW,CAAC,EAAY,CAOvB,GANA,KAAK,QAAU,EACf,KAAK,KAAO,EAAW,KACvB,KAAK,QAAU,EAAW,QAC1B,KAAK,eAAiB,EAAW,eACjC,KAAK,MAAQ,EAAW,MACxB,KAAK,SAAW,EAAO,EAAW,QAAQ,EACtC,OAAO,EAAW,oBAAwB,IAC7C,KAAK,oBAAsB,EAAW,oBAEvC,GAAI,OAAO,EAAW,QAAY,IACjC,KAAK,QAAU,EAAW,QAI5B,QAAQ,EAAG,CACV,OAAO,KAAK,UAAU,IAAI,EAG3B,KAAK,EAAG,CACP,MAAO,8CAAgD,EAAK,KAAK,SAAS,CAAC,EAE7E,CAEA,SAAS,CAAW,CAAC,EAAM,CAC1B,IAAM,EAAQ,EAAK,MAAM;AAAA,CAAI,EAEvB,EAAS,EAAM,OAAO,CAAC,IAAS,OAAO,KAAK,CAAI,CAAC,EACjD,EAAS,EAAM,OAAO,CAAC,IAAS,SAAS,KAAK,CAAI,CAAC,EAEzD,GAAI,EAAO,SAAW,GAAK,EAAO,SAAW,EAC5C,OAAO,KAMR,GAAI,EAAO,QAAU,EAAO,OAC3B,MAAO,KAIR,IAAM,EAAM,EAAO,OAAO,CAAC,EAAU,IAAY,CAChD,IAAM,EAAY,MAAM,KAAK,CAAO,EAAE,GAAG,OACzC,OAAO,KAAK,IAAI,EAAW,CAAQ,GACjC,GAAQ,EAEX,OAAW,MAAM,EAAM,CAAC,EAAE,KAAK,GAAG,EAGnC,SAAS,CAAe,CAAC,EAAM,EAAI,CAClC,IAAM,EAAY,EAAK,MAAM,OAAO,EAC9B,EAAU,EAAG,MAAM,OAAO,EAEhC,EAAU,IAAI,EAEd,MAAO,EAAU,KAAO,EAAQ,GAC/B,EAAU,MAAM,EAChB,EAAQ,MAAM,EAGf,GAAI,EAAU,OAAQ,CACrB,IAAI,EAAI,EAAU,OAClB,MAAO,IAAK,EAAU,GAAK,KAG5B,OAAO,EAAU,OAAO,CAAO,EAAE,KAAK,GAAG,EAG1C,IAAM,EAAW,OAAO,UAAU,SAElC,SAAS,CAAQ,CAAC,EAAO,CACxB,OAAO,EAAS,KAAK,CAAK,IAAM,kBAGjC,SAAS,CAAU,CAAC,EAAQ,CAC3B,IAAM,EAAgB,EAAO,MAAM;AAAA,CAAI,EACjC,EAAc,CAAC,EAErB,QAAS,EAAI,EAAG,EAAM,EAAG,EAAI,EAAc,OAAQ,IAClD,EAAY,KAAK,CAAG,EACpB,GAAO,EAAc,GAAG,OAAS,EAGlC,OAAO,QAAe,CAAC,EAAO,CAC7B,IAAI,EAAI,EACJ,EAAI,EAAY,OACpB,MAAO,EAAI,EAAG,CACb,IAAM,EAAK,EAAI,GAAM,EACrB,GAAI,EAAQ,EAAY,GACvB,EAAI,EAEJ,OAAI,EAAI,EAGV,IAAM,EAAO,EAAI,EACX,EAAS,EAAQ,EAAY,GACnC,MAAO,CAAE,OAAM,QAAO,GAIxB,IAAM,EAAY,KAElB,MAAM,CAAS,CACd,WAAW,CAAC,EAAO,CAClB,KAAK,MAAQ,EACb,KAAK,kBAAoB,EACzB,KAAK,oBAAsB,EAC3B,KAAK,IAAM,CAAC,EACZ,KAAK,YAAc,KAAK,IAAI,KAAK,mBAAqB,CAAC,EACvD,KAAK,QAAU,KAGhB,OAAO,CAAC,EAAa,EAAS,EAAK,EAAW,CAC7C,GAAI,EAAQ,OAAQ,CACnB,IAAM,EAAwB,EAAQ,OAAS,EAC3C,EAAiB,EAAQ,QAAQ;AAAA,EAAM,CAAC,EACxC,EAAyB,GAG7B,MAAO,GAAkB,GAAK,EAAwB,EAAgB,CACrE,IAAM,EAAU,CAAC,KAAK,oBAAqB,EAAa,EAAI,KAAM,EAAI,MAAM,EAC5E,GAAI,GAAa,EAChB,EAAQ,KAAK,CAAS,EAEvB,KAAK,YAAY,KAAK,CAAO,EAE7B,KAAK,mBAAqB,EAC1B,KAAK,IAAI,KAAK,mBAAqB,KAAK,YAAc,CAAC,EACvD,KAAK,oBAAsB,EAE3B,EAAyB,EACzB,EAAiB,EAAQ,QAAQ;AAAA,EAAM,EAAiB,CAAC,EAG1D,IAAM,EAAU,CAAC,KAAK,oBAAqB,EAAa,EAAI,KAAM,EAAI,MAAM,EAC5E,GAAI,GAAa,EAChB,EAAQ,KAAK,CAAS,EAEvB,KAAK,YAAY,KAAK,CAAO,EAE7B,KAAK,QAAQ,EAAQ,MAAM,EAAyB,CAAC,CAAC,EAChD,QAAI,KAAK,QACf,KAAK,YAAY,KAAK,KAAK,OAAO,EAClC,KAAK,QAAQ,CAAO,EAGrB,KAAK,QAAU,KAGhB,gBAAgB,CAAC,EAAa,EAAO,EAAU,EAAK,EAAoB,CACvE,IAAI,EAAoB,EAAM,MAC1B,EAAQ,GAER,EAAsB,GAE1B,MAAO,EAAoB,EAAM,IAAK,CACrC,GAAI,EAAS,KAAuB;AAAA,EACnC,EAAI,MAAQ,EACZ,EAAI,OAAS,EACb,KAAK,mBAAqB,EAC1B,KAAK,IAAI,KAAK,mBAAqB,KAAK,YAAc,CAAC,EACvD,KAAK,oBAAsB,EAC3B,EAAQ,GACR,EAAsB,GAChB,KACN,GAAI,KAAK,OAAS,GAAS,EAAmB,IAAI,CAAiB,EAAG,CACrE,IAAM,EAAU,CAAC,KAAK,oBAAqB,EAAa,EAAI,KAAM,EAAI,MAAM,EAE5E,GAAI,KAAK,QAAU,WAElB,GAAI,EAAU,KAAK,EAAS,EAAkB,GAE7C,GAAI,CAAC,EACJ,KAAK,YAAY,KAAK,CAAO,EAC7B,EAAsB,GAIvB,UAAK,YAAY,KAAK,CAAO,EAC7B,EAAsB,GAGvB,UAAK,YAAY,KAAK,CAAO,EAI/B,EAAI,QAAU,EACd,KAAK,qBAAuB,EAC5B,EAAQ,GAGT,GAAqB,EAGtB,KAAK,QAAU,KAGhB,OAAO,CAAC,EAAK,CACZ,GAAI,CAAC,EAAK,OAEV,IAAM,EAAQ,EAAI,MAAM;AAAA,CAAI,EAE5B,GAAI,EAAM,OAAS,EAAG,CACrB,QAAS,EAAI,EAAG,EAAI,EAAM,OAAS,EAAG,IACrC,KAAK,oBACL,KAAK,IAAI,KAAK,mBAAqB,KAAK,YAAc,CAAC,EAExD,KAAK,oBAAsB,EAG5B,KAAK,qBAAuB,EAAM,EAAM,OAAS,GAAG,OAEtD,CAEA,IAAM,EAAI;AAAA,EAEJ,EAAS,CACd,WAAY,GACZ,YAAa,GACb,UAAW,EACZ,EAEA,MAAM,CAAY,CACjB,WAAW,CAAC,EAAQ,EAAU,CAAC,EAAG,CACjC,IAAM,EAAQ,IAAI,EAAM,EAAG,EAAO,OAAQ,CAAM,EAEhD,OAAO,iBAAiB,KAAM,CAC7B,SAAU,CAAE,SAAU,GAAM,MAAO,CAAO,EAC1C,MAAO,CAAE,SAAU,GAAM,MAAO,EAAG,EACnC,MAAO,CAAE,SAAU,GAAM,MAAO,EAAG,EACnC,WAAY,CAAE,SAAU,GAAM,MAAO,CAAM,EAC3C,UAAW,CAAE,SAAU,GAAM,MAAO,CAAM,EAC1C,kBAAmB,CAAE,SAAU,GAAM,MAAO,CAAM,EAClD,QAAS,CAAE,SAAU,GAAM,MAAO,CAAC,CAAE,EACrC,MAAO,CAAE,SAAU,GAAM,MAAO,CAAC,CAAE,EACnC,SAAU,CAAE,SAAU,GAAM,MAAO,EAAQ,QAAS,EACpD,sBAAuB,CAAE,SAAU,GAAM,MAAO,EAAQ,qBAAsB,EAC9E,mBAAoB,CAAE,SAAU,GAAM,MAAO,IAAI,CAAS,EAC1D,YAAa,CAAE,SAAU,GAAM,MAAO,CAAC,CAAE,EACzC,UAAW,CAAE,SAAU,GAAM,MAAO,MAAU,EAC9C,WAAY,CAAE,SAAU,GAAM,MAAO,EAAQ,UAAW,EACxD,OAAQ,CAAE,SAAU,GAAM,MAAO,EAAQ,QAAU,CAAE,CACtD,CAAC,EAED,KAAK,QAAQ,GAAK,EAClB,KAAK,MAAM,EAAO,QAAU,EAG7B,oBAAoB,CAAC,EAAM,CAC1B,KAAK,mBAAmB,IAAI,CAAI,EAGjC,MAAM,CAAC,EAAS,CACf,GAAI,OAAO,IAAY,SAAU,MAAU,UAAU,gCAAgC,EAGrF,OADA,KAAK,OAAS,EACP,KAGR,UAAU,CAAC,EAAO,EAAS,CAG1B,GAFA,EAAQ,EAAQ,KAAK,OAEjB,OAAO,IAAY,SAAU,MAAU,UAAU,mCAAmC,EAExF,KAAK,OAAO,CAAK,EAEjB,IAAM,EAAQ,KAAK,MAAM,GAEzB,GAAI,EACH,EAAM,WAAW,CAAO,EAExB,UAAK,OAAS,EAEf,OAAO,KAGR,WAAW,CAAC,EAAO,EAAS,CAG3B,GAFA,EAAQ,EAAQ,KAAK,OAEjB,OAAO,IAAY,SAAU,MAAU,UAAU,mCAAmC,EAExF,KAAK,OAAO,CAAK,EAEjB,IAAM,EAAQ,KAAK,QAAQ,GAE3B,GAAI,EACH,EAAM,YAAY,CAAO,EAEzB,UAAK,OAAS,EAEf,OAAO,KAGR,KAAK,EAAG,CACP,IAAM,EAAS,IAAI,EAAY,KAAK,SAAU,CAAE,SAAU,KAAK,SAAU,OAAQ,KAAK,MAAO,CAAC,EAE1F,EAAgB,KAAK,WACrB,EAAe,EAAO,WAAa,EAAO,kBAAoB,EAAc,MAAM,EAEtF,MAAO,EAAe,CACrB,EAAO,QAAQ,EAAY,OAAS,EACpC,EAAO,MAAM,EAAY,KAAO,EAEhC,IAAM,EAAoB,EAAc,KAClC,EAAkB,GAAqB,EAAkB,MAAM,EAErE,GAAI,EACH,EAAY,KAAO,EACnB,EAAgB,SAAW,EAE3B,EAAc,EAGf,EAAgB,EAKjB,GAFA,EAAO,UAAY,EAEf,KAAK,sBACR,EAAO,sBAAwB,KAAK,sBAAsB,MAAM,EAQjE,OALA,EAAO,mBAAqB,IAAI,EAAO,KAAK,kBAAkB,EAE9D,EAAO,MAAQ,KAAK,MACpB,EAAO,MAAQ,KAAK,MAEb,EAGR,kBAAkB,CAAC,EAAS,CAC3B,EAAU,GAAW,CAAC,EAEtB,IAAM,EAAc,EACd,EAAQ,OAAO,KAAK,KAAK,WAAW,EACpC,EAAW,IAAI,EAAS,EAAQ,KAAK,EAErC,EAAS,EAAW,KAAK,QAAQ,EAEvC,GAAI,KAAK,MACR,EAAS,QAAQ,KAAK,KAAK,EAsB5B,GAnBA,KAAK,WAAW,SAAS,CAAC,IAAU,CACnC,IAAM,EAAM,EAAO,EAAM,KAAK,EAE9B,GAAI,EAAM,MAAM,OAAQ,EAAS,QAAQ,EAAM,KAAK,EAEpD,GAAI,EAAM,OACT,EAAS,QACR,EACA,EAAM,QACN,EACA,EAAM,UAAY,EAAM,QAAQ,EAAM,QAAQ,EAAI,EACnD,EAEA,OAAS,iBAAiB,EAAa,EAAO,KAAK,SAAU,EAAK,KAAK,kBAAkB,EAG1F,GAAI,EAAM,MAAM,OAAQ,EAAS,QAAQ,EAAM,KAAK,EACpD,EAEG,KAAK,MACR,EAAS,QAAQ,KAAK,KAAK,EAG5B,MAAO,CACN,KAAM,EAAQ,KAAO,EAAQ,KAAK,MAAM,OAAO,EAAE,IAAI,EAAI,OACzD,QAAS,CACR,EAAQ,OAAS,EAAgB,EAAQ,MAAQ,GAAI,EAAQ,MAAM,EAAI,EAAQ,MAAQ,EACxF,EACA,eAAgB,EAAQ,eAAiB,CAAC,KAAK,QAAQ,EAAI,OAC3D,QACA,SAAU,EAAS,IACnB,oBAAqB,KAAK,WAAa,CAAC,CAAW,EAAI,MACxD,EAGD,WAAW,CAAC,EAAS,CACpB,OAAO,IAAI,EAAU,KAAK,mBAAmB,CAAO,CAAC,EAGtD,gBAAgB,EAAG,CAClB,GAAI,KAAK,YAAc,OACtB,KAAK,UAAY,EAAY,KAAK,QAAQ,EAI5C,mBAAmB,EAAG,CAErB,OADA,KAAK,iBAAiB,EACf,KAAK,UAGb,eAAe,EAAG,CAEjB,OADA,KAAK,iBAAiB,EACf,KAAK,YAAc,KAAO,KAAO,KAAK,UAG9C,MAAM,CAAC,EAAW,EAAS,CAC1B,IAAM,EAAU,aAEhB,GAAI,EAAS,CAAS,EACrB,EAAU,EACV,EAAY,OAGb,GAAI,IAAc,OACjB,KAAK,iBAAiB,EACtB,EAAY,KAAK,WAAa,KAG/B,GAAI,IAAc,GAAI,OAAO,KAE7B,EAAU,GAAW,CAAC,EAGtB,IAAM,EAAa,CAAC,EAEpB,GAAI,EAAQ,SAEV,OAAO,EAAQ,QAAQ,KAAO,SAAW,CAAC,EAAQ,OAAO,EAAI,EAAQ,SAC3D,QAAQ,CAAC,IAAc,CACjC,QAAS,EAAI,EAAU,GAAI,EAAI,EAAU,GAAI,GAAK,EACjD,EAAW,GAAK,GAEjB,EAGF,IAAI,EAA4B,EAAQ,cAAgB,GAClD,EAAW,CAAC,IAAU,CAC3B,GAAI,EAA2B,MAAO,GAAG,IAAY,IAErD,OADA,EAA4B,GACrB,GAGR,KAAK,MAAQ,KAAK,MAAM,QAAQ,EAAS,CAAQ,EAEjD,IAAI,EAAY,EACZ,EAAQ,KAAK,WAEjB,MAAO,EAAO,CACb,IAAM,EAAM,EAAM,IAElB,GAAI,EAAM,QACT,GAAI,CAAC,EAAW,IAGf,GAFA,EAAM,QAAU,EAAM,QAAQ,QAAQ,EAAS,CAAQ,EAEnD,EAAM,QAAQ,OACjB,EAA4B,EAAM,QAAQ,EAAM,QAAQ,OAAS,KAAO;AAAA,GAGpE,KACN,EAAY,EAAM,MAElB,MAAO,EAAY,EAAK,CACvB,GAAI,CAAC,EAAW,GAAY,CAC3B,IAAM,EAAO,KAAK,SAAS,GAE3B,GAAI,IAAS;AAAA,EACZ,EAA4B,GACtB,QAAI,IAAS,MAAQ,EAG3B,GAFA,EAA4B,GAExB,IAAc,EAAM,MACvB,EAAM,aAAa,CAAS,EAE5B,UAAK,YAAY,EAAO,CAAS,EACjC,EAAQ,EAAM,KACd,EAAM,aAAa,CAAS,EAK/B,GAAa,GAIf,EAAY,EAAM,IAClB,EAAQ,EAAM,KAKf,OAFA,KAAK,MAAQ,KAAK,MAAM,QAAQ,EAAS,CAAQ,EAE1C,KAGR,MAAM,EAAG,CACR,MAAU,MACT,iFACD,EAGD,UAAU,CAAC,EAAO,EAAS,CAC1B,GAAI,CAAC,EAAO,WACX,QAAQ,KACP,oFACD,EACA,EAAO,WAAa,GAGrB,OAAO,KAAK,WAAW,EAAO,CAAO,EAGtC,WAAW,CAAC,EAAO,EAAS,CAC3B,GAAI,CAAC,EAAO,YACX,QAAQ,KACP,uFACD,EACA,EAAO,YAAc,GAGtB,OAAO,KAAK,aAAa,EAAO,CAAO,EAGxC,IAAI,CAAC,EAAO,EAAK,EAAO,CAKvB,GAJA,EAAQ,EAAQ,KAAK,OACrB,EAAM,EAAM,KAAK,OACjB,EAAQ,EAAQ,KAAK,OAEjB,GAAS,GAAS,GAAS,EAAK,MAAU,MAAM,uCAAuC,EAE3F,KAAK,OAAO,CAAK,EACjB,KAAK,OAAO,CAAG,EACf,KAAK,OAAO,CAAK,EAEjB,IAAM,EAAQ,KAAK,QAAQ,GACrB,EAAO,KAAK,MAAM,GAElB,EAAU,EAAM,SAChB,EAAW,EAAK,KAEhB,EAAW,KAAK,QAAQ,GAC9B,GAAI,CAAC,GAAY,IAAS,KAAK,UAAW,OAAO,KACjD,IAAM,EAAU,EAAW,EAAS,SAAW,KAAK,UAEpD,GAAI,EAAS,EAAQ,KAAO,EAC5B,GAAI,EAAU,EAAS,SAAW,EAElC,GAAI,EAAS,EAAQ,KAAO,EAC5B,GAAI,EAAU,EAAS,SAAW,EAElC,GAAI,CAAC,EAAM,SAAU,KAAK,WAAa,EAAK,KAC5C,GAAI,CAAC,EAAK,KACT,KAAK,UAAY,EAAM,SACvB,KAAK,UAAU,KAAO,KAMvB,GAHA,EAAM,SAAW,EACjB,EAAK,KAAO,GAAY,KAEpB,CAAC,EAAS,KAAK,WAAa,EAChC,GAAI,CAAC,EAAU,KAAK,UAAY,EAChC,OAAO,KAGR,SAAS,CAAC,EAAO,EAAK,EAAS,EAAS,CAEvC,OADA,EAAU,GAAW,CAAC,EACf,KAAK,OAAO,EAAO,EAAK,EAAS,IAAK,EAAS,UAAW,CAAC,EAAQ,WAAY,CAAC,EAGxF,MAAM,CAAC,EAAO,EAAK,EAAS,EAAS,CAIpC,GAHA,EAAQ,EAAQ,KAAK,OACrB,EAAM,EAAM,KAAK,OAEb,OAAO,IAAY,SAAU,MAAU,UAAU,sCAAsC,EAE3F,GAAI,KAAK,SAAS,SAAW,EAAG,CAC/B,MAAO,EAAQ,EAAG,GAAS,KAAK,SAAS,OACzC,MAAO,EAAM,EAAG,GAAO,KAAK,SAAS,OAGtC,GAAI,EAAM,KAAK,SAAS,OAAQ,MAAU,MAAM,sBAAsB,EACtE,GAAI,IAAU,EACb,MAAU,MACT,oFACD,EAKD,GAHA,KAAK,OAAO,CAAK,EACjB,KAAK,OAAO,CAAG,EAEX,IAAY,GAAM,CACrB,GAAI,CAAC,EAAO,UACX,QAAQ,KACP,+HACD,EACA,EAAO,UAAY,GAGpB,EAAU,CAAE,UAAW,EAAK,EAE7B,IAAM,EAAY,IAAY,OAAY,EAAQ,UAAY,GACxD,EAAY,IAAY,OAAY,EAAQ,UAAY,GAE9D,GAAI,EAAW,CACd,IAAM,EAAW,KAAK,SAAS,MAAM,EAAO,CAAG,EAC/C,OAAO,eAAe,KAAK,YAAa,EAAU,CACjD,SAAU,GACV,MAAO,GACP,WAAY,EACb,CAAC,EAGF,IAAM,EAAQ,KAAK,QAAQ,GACrB,EAAO,KAAK,MAAM,GAExB,GAAI,EAAO,CACV,IAAI,EAAQ,EACZ,MAAO,IAAU,EAAM,CACtB,GAAI,EAAM,OAAS,KAAK,QAAQ,EAAM,KACrC,MAAU,MAAM,uCAAuC,EAExD,EAAQ,EAAM,KACd,EAAM,KAAK,GAAI,EAAK,EAGrB,EAAM,KAAK,EAAS,EAAW,CAAC,CAAS,EACnC,KAEN,IAAM,EAAW,IAAI,EAAM,EAAO,EAAK,EAAE,EAAE,KAAK,EAAS,CAAS,EAGlE,EAAK,KAAO,EACZ,EAAS,SAAW,EAErB,OAAO,KAGR,OAAO,CAAC,EAAS,CAChB,GAAI,OAAO,IAAY,SAAU,MAAU,UAAU,gCAAgC,EAGrF,OADA,KAAK,MAAQ,EAAU,KAAK,MACrB,KAGR,WAAW,CAAC,EAAO,EAAS,CAG3B,GAFA,EAAQ,EAAQ,KAAK,OAEjB,OAAO,IAAY,SAAU,MAAU,UAAU,mCAAmC,EAExF,KAAK,OAAO,CAAK,EAEjB,IAAM,EAAQ,KAAK,MAAM,GAEzB,GAAI,EACH,EAAM,YAAY,CAAO,EAEzB,UAAK,MAAQ,EAAU,KAAK,MAE7B,OAAO,KAGR,YAAY,CAAC,EAAO,EAAS,CAG5B,GAFA,EAAQ,EAAQ,KAAK,OAEjB,OAAO,IAAY,SAAU,MAAU,UAAU,mCAAmC,EAExF,KAAK,OAAO,CAAK,EAEjB,IAAM,EAAQ,KAAK,QAAQ,GAE3B,GAAI,EACH,EAAM,aAAa,CAAO,EAE1B,UAAK,MAAQ,EAAU,KAAK,MAE7B,OAAO,KAGR,MAAM,CAAC,EAAO,EAAK,CAIlB,GAHA,EAAQ,EAAQ,KAAK,OACrB,EAAM,EAAM,KAAK,OAEb,KAAK,SAAS,SAAW,EAAG,CAC/B,MAAO,EAAQ,EAAG,GAAS,KAAK,SAAS,OACzC,MAAO,EAAM,EAAG,GAAO,KAAK,SAAS,OAGtC,GAAI,IAAU,EAAK,OAAO,KAE1B,GAAI,EAAQ,GAAK,EAAM,KAAK,SAAS,OAAQ,MAAU,MAAM,4BAA4B,EACzF,GAAI,EAAQ,EAAK,MAAU,MAAM,gCAAgC,EAEjE,KAAK,OAAO,CAAK,EACjB,KAAK,OAAO,CAAG,EAEf,IAAI,EAAQ,KAAK,QAAQ,GAEzB,MAAO,EACN,EAAM,MAAQ,GACd,EAAM,MAAQ,GACd,EAAM,KAAK,EAAE,EAEb,EAAQ,EAAM,EAAM,IAAM,KAAK,QAAQ,EAAM,KAAO,KAErD,OAAO,KAGR,KAAK,CAAC,EAAO,EAAK,CAIjB,GAHA,EAAQ,EAAQ,KAAK,OACrB,EAAM,EAAM,KAAK,OAEb,KAAK,SAAS,SAAW,EAAG,CAC/B,MAAO,EAAQ,EAAG,GAAS,KAAK,SAAS,OACzC,MAAO,EAAM,EAAG,GAAO,KAAK,SAAS,OAGtC,GAAI,IAAU,EAAK,OAAO,KAE1B,GAAI,EAAQ,GAAK,EAAM,KAAK,SAAS,OAAQ,MAAU,MAAM,4BAA4B,EACzF,GAAI,EAAQ,EAAK,MAAU,MAAM,gCAAgC,EAEjE,KAAK,OAAO,CAAK,EACjB,KAAK,OAAO,CAAG,EAEf,IAAI,EAAQ,KAAK,QAAQ,GAEzB,MAAO,EACN,EAAM,MAAM,EAEZ,EAAQ,EAAM,EAAM,IAAM,KAAK,QAAQ,EAAM,KAAO,KAErD,OAAO,KAGR,QAAQ,EAAG,CACV,GAAI,KAAK,MAAM,OAAQ,OAAO,KAAK,MAAM,KAAK,MAAM,OAAS,GAC7D,IAAI,EAAQ,KAAK,UACjB,EAAG,CACF,GAAI,EAAM,MAAM,OAAQ,OAAO,EAAM,MAAM,EAAM,MAAM,OAAS,GAChE,GAAI,EAAM,QAAQ,OAAQ,OAAO,EAAM,QAAQ,EAAM,QAAQ,OAAS,GACtE,GAAI,EAAM,MAAM,OAAQ,OAAO,EAAM,MAAM,EAAM,MAAM,OAAS,SACvD,EAAQ,EAAM,UACxB,GAAI,KAAK,MAAM,OAAQ,OAAO,KAAK,MAAM,KAAK,MAAM,OAAS,GAC7D,MAAO,GAGR,QAAQ,EAAG,CACV,IAAI,EAAY,KAAK,MAAM,YAAY,CAAC,EACxC,GAAI,IAAc,GAAI,OAAO,KAAK,MAAM,OAAO,EAAY,CAAC,EAC5D,IAAI,EAAU,KAAK,MACf,EAAQ,KAAK,UACjB,EAAG,CACF,GAAI,EAAM,MAAM,OAAS,EAAG,CAE3B,GADA,EAAY,EAAM,MAAM,YAAY,CAAC,EACjC,IAAc,GAAI,OAAO,EAAM,MAAM,OAAO,EAAY,CAAC,EAAI,EACjE,EAAU,EAAM,MAAQ,EAGzB,GAAI,EAAM,QAAQ,OAAS,EAAG,CAE7B,GADA,EAAY,EAAM,QAAQ,YAAY,CAAC,EACnC,IAAc,GAAI,OAAO,EAAM,QAAQ,OAAO,EAAY,CAAC,EAAI,EACnE,EAAU,EAAM,QAAU,EAG3B,GAAI,EAAM,MAAM,OAAS,EAAG,CAE3B,GADA,EAAY,EAAM,MAAM,YAAY,CAAC,EACjC,IAAc,GAAI,OAAO,EAAM,MAAM,OAAO,EAAY,CAAC,EAAI,EACjE,EAAU,EAAM,MAAQ,SAEhB,EAAQ,EAAM,UAExB,GADA,EAAY,KAAK,MAAM,YAAY,CAAC,EAChC,IAAc,GAAI,OAAO,KAAK,MAAM,OAAO,EAAY,CAAC,EAAI,EAChE,OAAO,KAAK,MAAQ,EAGrB,KAAK,CAAC,EAAQ,EAAG,EAAM,KAAK,SAAS,OAAS,KAAK,OAAQ,CAI1D,GAHA,EAAQ,EAAQ,KAAK,OACrB,EAAM,EAAM,KAAK,OAEb,KAAK,SAAS,SAAW,EAAG,CAC/B,MAAO,EAAQ,EAAG,GAAS,KAAK,SAAS,OACzC,MAAO,EAAM,EAAG,GAAO,KAAK,SAAS,OAGtC,IAAI,EAAS,GAGT,EAAQ,KAAK,WACjB,MAAO,IAAU,EAAM,MAAQ,GAAS,EAAM,KAAO,GAAQ,CAE5D,GAAI,EAAM,MAAQ,GAAO,EAAM,KAAO,EACrC,OAAO,EAGR,EAAQ,EAAM,KAGf,GAAI,GAAS,EAAM,QAAU,EAAM,QAAU,EAC5C,MAAU,MAAM,iCAAiC,0BAA8B,EAEhF,IAAM,EAAa,EACnB,MAAO,EAAO,CACb,GAAI,EAAM,QAAU,IAAe,GAAS,EAAM,QAAU,GAC3D,GAAU,EAAM,MAGjB,IAAM,EAAc,EAAM,MAAQ,GAAO,EAAM,KAAO,EACtD,GAAI,GAAe,EAAM,QAAU,EAAM,MAAQ,EAChD,MAAU,MAAM,iCAAiC,wBAA0B,EAE5E,IAAM,EAAa,IAAe,EAAQ,EAAQ,EAAM,MAAQ,EAC1D,EAAW,EAAc,EAAM,QAAQ,OAAS,EAAM,EAAM,IAAM,EAAM,QAAQ,OAItF,GAFA,GAAU,EAAM,QAAQ,MAAM,EAAY,CAAQ,EAE9C,EAAM,QAAU,CAAC,GAAe,EAAM,MAAQ,GACjD,GAAU,EAAM,MAGjB,GAAI,EACH,MAGD,EAAQ,EAAM,KAGf,OAAO,EAIR,IAAI,CAAC,EAAO,EAAK,CAChB,IAAM,EAAQ,KAAK,MAAM,EAIzB,OAHA,EAAM,OAAO,EAAG,CAAK,EACrB,EAAM,OAAO,EAAK,EAAM,SAAS,MAAM,EAEhC,EAGR,MAAM,CAAC,EAAO,CACb,GAAI,KAAK,QAAQ,IAAU,KAAK,MAAM,GAAQ,OAE9C,IAAI,EAAQ,KAAK,kBACb,EAAgB,EACd,EAAgB,EAAQ,EAAM,IAEpC,MAAO,EAAO,CACb,GAAI,EAAM,SAAS,CAAK,EAAG,OAAO,KAAK,YAAY,EAAO,CAAK,EAK/D,GAHA,EAAQ,EAAgB,KAAK,QAAQ,EAAM,KAAO,KAAK,MAAM,EAAM,OAG/D,IAAU,EAAe,OAE7B,EAAgB,GAIlB,WAAW,CAAC,EAAO,EAAO,CACzB,GAAI,EAAM,QAAU,EAAM,QAAQ,OAAQ,CAEzC,IAAM,EAAM,EAAW,KAAK,QAAQ,EAAE,CAAK,EAC3C,MAAU,MACT,sDAAsD,EAAI,QAAQ,EAAI,kBAAY,EAAM,YACzF,EAGD,IAAM,EAAW,EAAM,MAAM,CAAK,EAMlC,GAJA,KAAK,MAAM,GAAS,EACpB,KAAK,QAAQ,GAAS,EACtB,KAAK,MAAM,EAAS,KAAO,EAEvB,IAAU,KAAK,UAAW,KAAK,UAAY,EAG/C,OADA,KAAK,kBAAoB,EAClB,GAGR,QAAQ,EAAG,CACV,IAAI,EAAM,KAAK,MAEX,EAAQ,KAAK,WACjB,MAAO,EACN,GAAO,EAAM,SAAS,EACtB,EAAQ,EAAM,KAGf,OAAO,EAAM,KAAK,MAGnB,OAAO,EAAG,CACT,IAAI,EAAQ,KAAK,WACjB,GACC,GACE,EAAM,MAAM,QAAU,EAAM,MAAM,KAAK,GACvC,EAAM,QAAQ,QAAU,EAAM,QAAQ,KAAK,GAC3C,EAAM,MAAM,QAAU,EAAM,MAAM,KAAK,EAExC,MAAO,SACC,EAAQ,EAAM,MACxB,MAAO,GAGR,MAAM,EAAG,CACR,IAAI,EAAQ,KAAK,WACb,EAAS,EACb,GACC,GAAU,EAAM,MAAM,OAAS,EAAM,QAAQ,OAAS,EAAM,MAAM,aACzD,EAAQ,EAAM,MACxB,OAAO,EAGR,SAAS,EAAG,CACX,OAAO,KAAK,KAAK,UAAU,EAG5B,IAAI,CAAC,EAAU,CACd,OAAO,KAAK,UAAU,CAAQ,EAAE,QAAQ,CAAQ,EAGjD,cAAc,CAAC,EAAU,CACxB,IAAM,EAAK,IAAI,QAAQ,GAAY,OAAS,IAAI,EAGhD,GADA,KAAK,MAAQ,KAAK,MAAM,QAAQ,EAAI,EAAE,EAClC,KAAK,MAAM,OAAQ,MAAO,GAE9B,IAAI,EAAQ,KAAK,UAEjB,EAAG,CACF,IAAM,EAAM,EAAM,IACZ,EAAU,EAAM,QAAQ,CAAE,EAGhC,GAAI,EAAM,MAAQ,EAAK,CACtB,GAAI,KAAK,YAAc,EACtB,KAAK,UAAY,EAAM,KAGxB,KAAK,MAAM,EAAM,KAAO,EACxB,KAAK,QAAQ,EAAM,KAAK,OAAS,EAAM,KACvC,KAAK,MAAM,EAAM,KAAK,KAAO,EAAM,KAGpC,GAAI,EAAS,MAAO,GACpB,EAAQ,EAAM,eACN,GAET,MAAO,GAGR,OAAO,CAAC,EAAU,CAEjB,OADA,KAAK,eAAe,CAAQ,EACrB,KAER,gBAAgB,CAAC,EAAU,CAC1B,IAAM,EAAK,IAAI,OAAO,KAAO,GAAY,OAAS,GAAG,EAGrD,GADA,KAAK,MAAQ,KAAK,MAAM,QAAQ,EAAI,EAAE,EAClC,KAAK,MAAM,OAAQ,MAAO,GAE9B,IAAI,EAAQ,KAAK,WAEjB,EAAG,CACF,IAAM,EAAM,EAAM,IACZ,EAAU,EAAM,UAAU,CAAE,EAElC,GAAI,EAAM,MAAQ,EAAK,CAEtB,GAAI,IAAU,KAAK,UAAW,KAAK,UAAY,EAAM,KAErD,KAAK,MAAM,EAAM,KAAO,EACxB,KAAK,QAAQ,EAAM,KAAK,OAAS,EAAM,KACvC,KAAK,MAAM,EAAM,KAAK,KAAO,EAAM,KAGpC,GAAI,EAAS,MAAO,GACpB,EAAQ,EAAM,WACN,GAET,MAAO,GAGR,SAAS,CAAC,EAAU,CAEnB,OADA,KAAK,iBAAiB,CAAQ,EACvB,KAGR,UAAU,EAAG,CACZ,OAAO,KAAK,WAAa,KAAK,SAAS,EAGxC,cAAc,CAAC,EAAa,EAAa,CACxC,SAAS,CAAc,CAAC,EAAO,EAAK,CACnC,GAAI,OAAO,IAAgB,SAC1B,OAAO,EAAY,QAAQ,gBAAiB,CAAC,EAAG,IAAM,CAErD,GAAI,IAAM,IAAK,MAAO,IACtB,GAAI,IAAM,IAAK,OAAO,EAAM,GAE5B,GADY,CAAC,EACH,EAAM,OAAQ,OAAO,EAAM,CAAC,GACtC,MAAO,IAAI,IACX,EAED,YAAO,EAAY,GAAG,EAAO,EAAM,MAAO,EAAK,EAAM,MAAM,EAG7D,SAAS,CAAQ,CAAC,EAAI,EAAK,CAC1B,IAAI,EACE,EAAU,CAAC,EACjB,MAAQ,EAAQ,EAAG,KAAK,CAAG,EAC1B,EAAQ,KAAK,CAAK,EAEnB,OAAO,EAER,GAAI,EAAY,OACC,EAAS,EAAa,KAAK,QAAQ,EAC3C,QAAQ,CAAC,IAAU,CAC1B,GAAI,EAAM,OAAS,KAAM,CACxB,IAAM,EAAc,EAAe,EAAO,KAAK,QAAQ,EACvD,GAAI,IAAgB,EAAM,GACzB,KAAK,UAAU,EAAM,MAAO,EAAM,MAAQ,EAAM,GAAG,OAAQ,CAAW,GAGxE,EACK,KACN,IAAM,EAAQ,KAAK,SAAS,MAAM,CAAW,EAC7C,GAAI,GAAS,EAAM,OAAS,KAAM,CACjC,IAAM,EAAc,EAAe,EAAO,KAAK,QAAQ,EACvD,GAAI,IAAgB,EAAM,GACzB,KAAK,UAAU,EAAM,MAAO,EAAM,MAAQ,EAAM,GAAG,OAAQ,CAAW,GAIzE,OAAO,KAGR,cAAc,CAAC,EAAQ,EAAa,CACnC,IAAQ,YAAa,KACf,EAAQ,EAAS,QAAQ,CAAM,EAErC,GAAI,IAAU,GAAI,CACjB,GAAI,OAAO,IAAgB,WAC1B,EAAc,EAAY,EAAQ,EAAO,CAAQ,EAElD,GAAI,IAAW,EACd,KAAK,UAAU,EAAO,EAAQ,EAAO,OAAQ,CAAW,EAI1D,OAAO,KAGR,OAAO,CAAC,EAAa,EAAa,CACjC,GAAI,OAAO,IAAgB,SAC1B,OAAO,KAAK,eAAe,EAAa,CAAW,EAGpD,OAAO,KAAK,eAAe,EAAa,CAAW,EAGpD,iBAAiB,CAAC,EAAQ,EAAa,CACtC,IAAQ,YAAa,KACf,EAAe,EAAO,OAC5B,QACK,EAAQ,EAAS,QAAQ,CAAM,EACnC,IAAU,GACV,EAAQ,EAAS,QAAQ,EAAQ,EAAQ,CAAY,EACpD,CACD,IAAM,EAAW,EAAS,MAAM,EAAO,EAAQ,CAAY,EACvD,EAAe,EACnB,GAAI,OAAO,IAAgB,WAC1B,EAAe,EAAY,EAAU,EAAO,CAAQ,EAErD,GAAI,IAAa,EAAc,KAAK,UAAU,EAAO,EAAQ,EAAc,CAAY,EAGxF,OAAO,KAGR,UAAU,CAAC,EAAa,EAAa,CACpC,GAAI,OAAO,IAAgB,SAC1B,OAAO,KAAK,kBAAkB,EAAa,CAAW,EAGvD,GAAI,CAAC,EAAY,OAChB,MAAU,UACT,2EACD,EAGD,OAAO,KAAK,eAAe,EAAa,CAAW,EAErD,CF5vCA,IAAM,EAAc,uEAOpB,SAAS,CAAQ,CAAC,EAAc,CAC9B,GAAI,CACF,OAAO,EAAa,CAAI,EACxB,KAAM,CACN,OAAO,GAiCJ,SAAS,EAAgB,EAAW,CACzC,IAAI,EAAO,QAAQ,IAAI,EACnB,EAAc,GACZ,EAAU,IAAI,IAEpB,MAAO,CACL,KAAM,sBACN,QAAS,MACT,cAAc,CAAC,EAAQ,CACrB,EAAO,EAAS,EAAO,IAAI,EAC3B,EAAc,EAAO,UAAY,SAAW,CAAC,EAAO,MAAM,KAE5D,UAAU,EAAG,CACX,EAAQ,MAAM,GAEhB,SAAS,CAAC,EAAI,CACZ,OAAO,IAAO,EAAoB,EAA6B,MAEjE,IAAI,CAAC,EAAI,CACP,GAAI,IAAO,EAA4B,OAAO,EAC9C,GAAI,EAAG,SAAS,CAAkB,EAChC,OAAO,EAAkB,EAAG,MAAM,EAAG,CAAC,EAAmB,MAAM,CAAC,EAElE,OAAO,WAEH,UAAS,CAAC,EAAM,EAAI,CACxB,GAAI,EAAG,SAAS,gBAAgB,GAAK,EAAG,WAAW,MAAI,GAAK,EAAG,SAAS,CAAkB,EACxF,OAAO,KAET,GAAI,CAAC,kBAAkB,KAAK,EAAG,MAAM,GAAG,EAAE,EAAE,EAAG,OAAO,KACtD,GAAI,CAAC,EAAK,SAAS,QAAQ,EAAG,OAAO,KAErC,IAAM,EAAsB,KAAK,aAAa,QAAQ,SAChD,EACJ,IAAgB,IAAwB,QAAa,IAAwB,UACzE,EAAI,IAAI,EAAY,CAAI,EACxB,EAAoB,CAAC,EAE3B,QAAW,KAAS,EAAK,SAAS,CAAW,EAAG,CAC9C,KAAS,EAAQ,EAAO,GAAa,EAC/B,EAAW,MAAM,KAAK,QAAQ,EAAW,CAAE,EACjD,GAAI,CAAC,GAAY,EAAS,SAAU,SACpC,IAAM,EAAO,EAAS,EAAS,GAAG,MAAM,GAAG,EAAE,EAAE,EACzC,EAAM,EAAS,EAAM,CAAI,EAAE,MAAM,CAAG,EAAE,KAAK,GAAG,EACpD,GAAI,EAAI,WAAW,IAAI,EAAG,SAE1B,IAAM,EAAO,iBAAiB,EAAQ,SACtC,EAAQ,KAAK,eAAe,UAAa,IAAQ,IAAY,IAAQ,EACrE,IAAM,EAAQ,EAAM,MAAS,EAAM,GAAG,OAAS,EAAO,OACtD,EAAE,UACA,EACA,EAAQ,EAAO,OACf,uCAAuC,qBAAwB,KAAK,UAAU,CAAG,kBAAkB,MACrG,EAIA,IAAM,EAAW,EAAS,GAAG,MAAM,GAAG,EAAE,GACxC,GAAI,GAAe,CAAC,EAAQ,IAAI,CAAQ,EACtC,EAAQ,IAAI,CAAQ,EACpB,KAAK,SAAS,CACZ,KAAM,QACN,GAAI,GAAG,IAAW,IAClB,kBAAmB,QACrB,CAAC,EAIL,GAAI,EAAQ,SAAW,EAAG,OAAO,KAEjC,OADA,EAAE,QAAQ,GAAG,EAAQ,KAAK;AAAA,CAAI;AAAA,CAAK,EAC5B,CAAE,KAAM,EAAE,SAAS,EAAG,IAAK,EAAE,YAAY,CAAE,MAAO,EAAK,CAAC,CAAE,EAErE",
|
|
10
|
-
"debugId": "
|
|
10
|
+
"debugId": "6C2DD71F9723154664756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|
package/dist/client/index.js
CHANGED