diff --git a/.freebuff/project-id b/.freebuff/project-id new file mode 100644 index 0000000000000000000000000000000000000000..37b8dcc67ff5a2b773b9b7e0744aa5328ca5ee8c --- /dev/null +++ b/.freebuff/project-id @@ -0,0 +1 @@ +c03fe2cb-2245-484e-acba-865e9c1d65dc diff --git a/.gitattributes b/.gitattributes index 64db4cebaac412cb76c936591d0016c028bf2381..4fc99af2783fb8e611ae7baa0b2051f0d397d1ac 100644 --- a/.gitattributes +++ b/.gitattributes @@ -39,3 +39,34 @@ gguf/base-1B-q4.gguf filter=lfs diff=lfs merge=lfs -text gguf/base-1B-q8.gguf filter=lfs diff=lfs merge=lfs -text gguf/code-100k-Q4_0.gguf filter=lfs diff=lfs merge=lfs -text gguf/code-100k-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000027.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000033.meta filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000080.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000101.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000109.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000110.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000114.meta filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000177.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000178.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000179.meta filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000182.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000188.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000193.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000194.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000198.meta filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000199.meta filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000203.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000204.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000210.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000030.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000034.meta filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000039.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000047.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000049.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000051.meta filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000053.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000060.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000073.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000090.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000091.sst filter=lfs diff=lfs merge=lfs -text +e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000092.meta filter=lfs diff=lfs merge=lfs -text diff --git a/.manifest b/.manifest new file mode 100644 index 0000000000000000000000000000000000000000..6ba26309022f70a831323ba62d26539041e4685c --- /dev/null +++ b/.manifest @@ -0,0 +1,69 @@ +.e-commerce/ +├── .gitignore +├── app/ +│ ├── [locale]/ +│ │ ├── catalog/ +│ │ │ ├── category/ +│ │ │ │ └── [slug]/ +│ │ │ │ └── page.tsx +│ │ │ └── product/ +│ │ │ └── [slug]/ +│ │ │ └── page.tsx +│ │ ├── layout.tsx +│ │ └── page.tsx +│ ├── favicon.ico +│ ├── globals.css +│ ├── layout.tsx +│ ├── page.tsx +│ └── page.module.css +├── components/ +│ ├── ui/ +│ │ ├── avatar.tsx +│ │ ├── badge.tsx +│ │ ├── button.tsx +│ │ ├── card.tsx +│ │ ├── checkbox.tsx +│ │ ├── dialog.tsx +│ │ ├── dropdown-menu.tsx +│ │ ├── index.ts +│ │ ├── input.tsx +│ │ ├── label.tsx +│ │ ├── popover.tsx +│ │ ├── radio-group.tsx +│ │ ├── scroll-area.tsx +│ │ ├── select.tsx +│ │ ├── separator.tsx +│ │ ├── switch.tsx +│ │ ├── tooltip.tsx +│ │ └── ... +│ └── ... +├── db/ +│ ├── apply-schema.sql +│ ├── index.ts +│ ├── push.ts +│ ├── schema.ts +│ ├── verify-queries.sql +│ └── verify-seed.ts +├── drizzle.config.ts +├── i18n/ +│ ├── request.ts +│ └── routing.ts +├── lib/ +│ ├── format-inr.ts +│ ├── money.ts +│ └── utils.ts +├── messages/ +│ ├── bn.json +│ └── en.json +├── next.config.ts +├── package.json +├── package-lock.json +├── postcss.config.mjs +├── proxy.ts +├── scripts/ +│ └── seed.ts +├── tailwind.config.ts +├── tmp/ +│ └── ... +├── tsconfig.json +└── biome.json diff --git a/PROJECT_MEMORY.md b/PROJECT_MEMORY.md new file mode 100644 index 0000000000000000000000000000000000000000..e11da8f38766836b212ee67dbf3bb893e8c49e93 --- /dev/null +++ b/PROJECT_MEMORY.md @@ -0,0 +1,25 @@ +## 6. Recommended architecture (approved direction) + + +## 7. Data model sketch (v1, India-flavoured) + + +## 8. Phased plan (each phase ends with something you can actually see + prove) + +| # | Phase | Deliverable | Acceptance criteria (how we prove it works) | Status | +|---|---|---|---|---|---| +| 0 | **Plan + decisions** | this file, decisions approved | every `D*` row is `APPROVED`; India pivot locked | ✅ done | +| 1 | **Foundation** ✅ APPLIED + VERIFIED | (see Phase 1 row above — shell verified with live curl proof + root-cause note) | ✅ + verified | +| 2 | **Data layer** ✅ APPLIED + VERIFIED | schema + migrations/bootstrap + seed script + DB reset command | one command (db:reset) creates/reseeds categories + products + variants + inventory + demo user/admin + address + coupon; `drizzle-orm` queries the seeded product by slug **and** by category; INR price readable as DECIMAL(12,2) string (`"499.00"`) and via `formatINR`; typecheck clean; seed is idempotent-guarded (re-run on seeded DB fails on unique slug — expected, not silent success) | ✅ + verified | + +**Phase 2 notes (2026-10-13, this session):** + +- **DB:** local Postgres 18.6 on `localhost:5432`, user `postgres`, password `postgres` (set via unix-socket `ALTER USER`), DB `e_commerce` created. `.env.local` added with `DATABASE_URL=postgresql://postgres:postgres@localhost:5432/e_commerce` (no `?schema=public` — the `postgres` 3.x client chokes on that param; public schema is the default). `.env.local` is git-ignored (added to `.gitignore`). +- **Schema:** `db/schema.ts` (25,442 bytes, 480 lines) is the full India-flavoured model — users/sessions, addresses (pincode-first + pincode index), categories (BN+EN, nested), products (HSN, status, DECIMAL(12,2) INR), variants (unique SKU), inventory (qty+reserved), carts+cart_items, orders+order_items (address snapshot, COD flag, paymentStatus enum), payments (gateway+txnId unique), webhook_events (gateway+eventId unique for idempotency), coupons, courier_shipments, returns, reviews, audit_log. Minor correctness edits made in this session: `password_hash NOT NULL`, `addresses.updated_at` + pincode index, `returns.shipment_id ON DELETE SET NULL`. All money columns are DECIMAL(12,2) INR; JS side uses `lib/money`/decimal.js. +- **Bootstrap reality (honest):** `drizzle-kit push` (v0.31.11) hung on "Pulling schema from database..." with no progress and no error, on this Node 24 + PG 18 combo — tried `npx drizzle-kit push`, raw `node bin.cjs push`, `UV_THREADPOOL_SIZE=128`, fresh DB, multiple captures; all hung identically. **Workaround that worked:** a hand-written `db/apply-schema.sql` (DROP+CREATE TYPE enum + CREATE TABLE for all 19 tables + indexes, in dependency order) applied via `psql -f db/apply-schema.sql`. This is a local-dev bootstrap helper, not a migration system — for prod/schema-evolution use `drizzle-kit migrate` once we confirm it works here, or generate migrations another way. The schema file itself is the source of truth; `apply-schema.sql` is derived from it. +- **Seed:** `scripts/seed.ts` seeds: 1 category (`men-tshirts` / পুরুষের টি-শার্ট), 1 product (`classic-crew-neck-tshirt`, ₹499.00, HSN 610910, active), 2 variants (Navy/M ₹499, Charcoal/L ₹499) each with inventory (200 + 120), 1 product image, 1 demo user (`demo@example.com`, customer) + 1 demo admin (`admin@example.com`, admin) — created BEFORE the address so the FK is valid, 1 pincode-560001 address (Rahul Sharma, Bengaluru), 1 coupon (`WELCOME10`, percent 10%, min ₹500, active). Money values go through `lib/money`/Decimal. IDs are random cuid-like (not deterministic — fine for dev, revisit if we want fully repeatable reset). +- **db:reset:** not a single npm script yet, but a one-liner that works: `psql -U postgres -d postgres -c "DROP DATABASE IF EXISTS e_commerce;" && psql -U postgres -d postgres -c "CREATE DATABASE e_commerce;" && PGPASSWORD=postgres psql -h localhost -p 5432 -U postgres -d e_commerce -f db/apply-schema.sql && npx tsx scripts/seed.ts`. (Run with `.env.local` sourced so `DATABASE_URL` is available to the seed script.) +- **Proof (live):** after reset, `psql` queried the seeded product by slug → `classic-crew-neck-tshirt`, title `Classic Crew Neck T-Shirt`, `base_price_rupees = 499.00`; variants (2) + inventory (200/120) + category (BN+EN) + coupon (WELCOME10) all present. Also verified via `db/verify-seed.ts` (drizzle-orm): product ₹499.00, inventory [200,120], category `men-tshirts` ↔ পুরুষের টি-শার্ট, coupon WELCOME10 10% min ₹500. Typecheck (`npx tsc --noEmit`) clean (exit 0). 19 tables in public schema. +- **Remaining Phase-2 caveat:** seed is not idempotent in the "silent success on re-run" sense — re-running on an already-seeded DB fails on the unique slug constraint (expected, caught by the app as a DrizzleQueryError). If we want true idempotent seed (upsert), we'd add `onConflictDoNothing`/`where` logic. For now, the db:reset path (drop+recreate+apply+seed) is the reset mechanism. + + diff --git a/e-commerce/.env.local b/e-commerce/.env.local new file mode 100644 index 0000000000000000000000000000000000000000..da489865d5a5310195f372d03cc5cf2e93364b5f --- /dev/null +++ b/e-commerce/.env.local @@ -0,0 +1,2 @@ +DATABASE_URL="postgresql://postgres:postgres@localhost:5432/e_commerce" +NEXT_PUBLIC_APP_URL="http://localhost:3000" diff --git a/e-commerce/.env.local.example b/e-commerce/.env.local.example new file mode 100644 index 0000000000000000000000000000000000000000..0d8eb7f1d6ce55df66edddae0b50918cfe1645fc --- /dev/null +++ b/e-commerce/.env.local.example @@ -0,0 +1,19 @@ +# Local Postgres (D9: local Postgres for now — Phase 10 decides production DB) +DATABASE_URL="postgresql://postgres:postgres@localhost:5432/e_commerce?schema=public" + +# App +NEXT_PUBLIC_APP_URL="http://localhost:3000" + +# Auth (Better Auth — Phase 5; secrets are real values you paste at that phase) +# BETTER_AUTH_SECRET=... +# BETTER_AUTH_URL=http://localhost:3000 + +# Payments (Phase 6 — sandbox only until merchant KYB is confirmed, per PROJECT_MEMORY §9.1) +# RAZORPAY_KEY_ID=... +# RAZORPAY_KEY_SECRET=... +# RAZORPAY_WEBHOOK_SECRET=... +# CASHFREE_API_KEY=... +# PHONEPE_MERCHANT_ID=... + +# Courier (Phase 6 — Shiprocket first, per PROJECT_MEMORY §9.2) +# SHRIPROCKET_API_KEY=... diff --git a/e-commerce/.gitignore b/e-commerce/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..aa103aeb32d1c49d4a5399ce543953606080dc05 --- /dev/null +++ b/e-commerce/.gitignore @@ -0,0 +1,47 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts +.env.local +.env.development.local +.env.production.local +drizzle/ +.turbo +node_modules diff --git a/e-commerce/.next/BUILD_ID b/e-commerce/.next/BUILD_ID new file mode 100644 index 0000000000000000000000000000000000000000..31460db2ddc5b10a9941f622f61df73ba3b591aa --- /dev/null +++ b/e-commerce/.next/BUILD_ID @@ -0,0 +1 @@ +dRI9LFT7roNJ8J1q20Bu8 \ No newline at end of file diff --git a/e-commerce/.next/app-path-routes-manifest.json b/e-commerce/.next/app-path-routes-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..d2b161df040bd432b0a5eb707eafbc994593b6e3 --- /dev/null +++ b/e-commerce/.next/app-path-routes-manifest.json @@ -0,0 +1,9 @@ +{ + "/[locale]/catalog/category/[slug]/page": "/[locale]/catalog/category/[slug]", + "/[locale]/catalog/product/[slug]/page": "/[locale]/catalog/product/[slug]", + "/[locale]/page": "/[locale]", + "/_global-error/page": "/_global-error", + "/_not-found/page": "/_not-found", + "/favicon.ico/route": "/favicon.ico", + "/page": "/" +} \ No newline at end of file diff --git a/e-commerce/.next/build-manifest.json b/e-commerce/.next/build-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..c0b2c0b1b205184d58d804dba9dc8e0d116419a0 --- /dev/null +++ b/e-commerce/.next/build-manifest.json @@ -0,0 +1,91 @@ +{ + "pages": { + "/_app": [] + }, + "devFiles": [], + "polyfillFiles": [ + "static/chunks/0cz1d0mv5g_q7.js" + ], + "lowPriorityFiles": [ + "static/dRI9LFT7roNJ8J1q20Bu8/_buildManifest.js", + "static/dRI9LFT7roNJ8J1q20Bu8/_ssgManifest.js", + "static/dRI9LFT7roNJ8J1q20Bu8/_clientMiddlewareManifest.js" + ], + "rootMainFiles": [ + "static/chunks/1ckvzn7sfprko.js", + "static/chunks/2bzlqb104tejm.js", + "static/chunks/0s7mvllxht1mo.js", + "static/chunks/1xq8ggvplsax4.js", + "static/chunks/turbopack-3-ry682tkyiqk.js" + ], + "rootMainFilesTree": {}, + "pagesChunkGroupBootstrapParams": { + "/page": { + "otherChunks": [ + "static/chunks/1ckvzn7sfprko.js", + "static/chunks/2bzlqb104tejm.js", + "static/chunks/0s7mvllxht1mo.js", + "static/chunks/1xq8ggvplsax4.js" + ], + "runtimeModuleIds": [ + 94553 + ] + }, + "/_not-found/page": { + "otherChunks": [ + "static/chunks/1ckvzn7sfprko.js", + "static/chunks/2bzlqb104tejm.js", + "static/chunks/0s7mvllxht1mo.js", + "static/chunks/1xq8ggvplsax4.js" + ], + "runtimeModuleIds": [ + 94553 + ] + }, + "/_global-error/page": { + "otherChunks": [ + "static/chunks/1ckvzn7sfprko.js", + "static/chunks/2bzlqb104tejm.js", + "static/chunks/0s7mvllxht1mo.js", + "static/chunks/1xq8ggvplsax4.js" + ], + "runtimeModuleIds": [ + 94553 + ] + }, + "/[locale]/page": { + "otherChunks": [ + "static/chunks/1ckvzn7sfprko.js", + "static/chunks/2bzlqb104tejm.js", + "static/chunks/0s7mvllxht1mo.js", + "static/chunks/1xq8ggvplsax4.js" + ], + "runtimeModuleIds": [ + 94553 + ] + }, + "/[locale]/catalog/category/[slug]/page": { + "otherChunks": [ + "static/chunks/1ckvzn7sfprko.js", + "static/chunks/2bzlqb104tejm.js", + "static/chunks/0s7mvllxht1mo.js", + "static/chunks/1xq8ggvplsax4.js" + ], + "runtimeModuleIds": [ + 94553 + ] + }, + "/[locale]/catalog/product/[slug]/page": { + "otherChunks": [ + "static/chunks/1ckvzn7sfprko.js", + "static/chunks/2bzlqb104tejm.js", + "static/chunks/0s7mvllxht1mo.js", + "static/chunks/1xq8ggvplsax4.js" + ], + "runtimeModuleIds": [ + 94553 + ] + } + }, + "chunkLoadingGlobal": "TURBOPACK" +} \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js b/e-commerce/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js new file mode 100644 index 0000000000000000000000000000000000000000..0c54ecd00e267197a7e656114d1b27fd5ce3d2c6 --- /dev/null +++ b/e-commerce/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js @@ -0,0 +1,502 @@ +module.exports = [ +(()=>{"use strict";return[ +"[turbopack-node]/child_process/evaluate.ts [postcss] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "run", + ()=>run +]); +var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$child_process$2f$index$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/child_process/index.ts [postcss] (ecmascript)"); +; +const ipc = __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$child_process$2f$index$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["IPC"]; +const queue = []; +const run = async (moduleFactory)=>{ + let nextId = 1; + const requests = new Map(); + const internalIpc = { + sendInfo: (message)=>ipc.send({ + type: 'info', + data: message + }), + sendRequest: (message)=>{ + const id = nextId++; + let resolve, reject; + const promise = new Promise((res, rej)=>{ + resolve = res; + reject = rej; + }); + requests.set(id, { + resolve, + reject + }); + return ipc.send({ + type: 'request', + id, + data: message + }).then(()=>promise); + }, + sendError: (error)=>{ + return ipc.sendError(error); + } + }; + // Initialize module and send ready message + let getValue; + try { + const module = await moduleFactory(); + if (typeof module.init === 'function') { + await module.init(); + } + getValue = module.default; + await ipc.sendReady(); + } catch (err) { + await ipc.sendReady(); + await ipc.sendError(err); + } + // Queue handling + let isRunning = false; + const run = async ()=>{ + while(queue.length > 0){ + const args = queue.shift(); + try { + const value = await getValue(internalIpc, ...args); + await ipc.send({ + type: 'end', + data: value === undefined ? undefined : JSON.stringify(value, null, 2), + duration: 0 + }); + } catch (e) { + await ipc.sendError(e); + } + } + isRunning = false; + }; + // Communication handling + while(true){ + const msg = await ipc.recv(); + switch(msg.type){ + case 'evaluate': + { + queue.push(msg.args); + if (!isRunning) { + isRunning = true; + run(); + } + break; + } + case 'result': + { + const request = requests.get(msg.id); + if (request) { + requests.delete(msg.id); + if (msg.error) { + request.reject(new Error(msg.error)); + } else { + request.resolve(msg.data); + } + } + break; + } + default: + { + console.error('unexpected message type', msg.type); + process.exit(1); + } + } + } +}; +}), +"[turbopack-node]/child_process/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/postcss.ts?config=[project]/postcss.config.mjs { CONFIG => \\\"[project]/postcss.config.mjs [postcss] (ecmascript)\\\" } [postcss] (ecmascript)\", RUNTIME => \"[turbopack-node]/child_process/evaluate.ts [postcss] (ecmascript)\" } [postcss] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([]); +var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$child_process$2f$evaluate$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/child_process/evaluate.ts [postcss] (ecmascript)"); +; +(0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$child_process$2f$evaluate$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["run"])(()=>__turbopack_context__.A('[turbopack-node]/transforms/postcss.ts?config=[project]/postcss.config.mjs { CONFIG => "[project]/postcss.config.mjs [postcss] (ecmascript)" } [postcss] (ecmascript, async loader)')); +}), +"[turbopack-node]/child_process/index.ts [postcss] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "IPC", + ()=>IPC +]); +var __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$net__$5b$external$5d$__$28$node$3a$net$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/node:net [external] (node:net, cjs)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$stream__$5b$external$5d$__$28$node$3a$stream$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/node:stream [external] (node:stream, cjs)"); +var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$error$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/error.ts [postcss] (ecmascript)"); +; +; +; +function createIpc(port) { + const socket = (0, __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$net__$5b$external$5d$__$28$node$3a$net$2c$__cjs$29$__["createConnection"])({ + port, + host: '127.0.0.1' + }); + /** + * A writable stream that writes to the socket. + * We don't write directly to the socket because we need to + * handle backpressure and wait for the socket to be drained + * before writing more data. + */ const socketWritable = new __TURBOPACK__imported__module__$5b$externals$5d2f$node$3a$stream__$5b$external$5d$__$28$node$3a$stream$2c$__cjs$29$__["Writable"]({ + write (chunk, _enc, cb) { + if (socket.write(chunk)) { + cb(); + } else { + socket.once('drain', cb); + } + }, + final (cb) { + socket.end(cb); + } + }); + const packetQueue = []; + const recvPromiseResolveQueue = []; + function pushPacket(packet) { + const recvPromiseResolve = recvPromiseResolveQueue.shift(); + if (recvPromiseResolve != null) { + recvPromiseResolve(JSON.parse(packet.toString('utf8'))); + } else { + packetQueue.push(packet); + } + } + let state = { + type: 'waiting' + }; + let buffer = Buffer.alloc(0); + socket.once('connect', ()=>{ + socket.setNoDelay(true); + socket.on('data', (chunk)=>{ + buffer = Buffer.concat([ + buffer, + chunk + ]); + loop: while(true){ + switch(state.type){ + case 'waiting': + { + if (buffer.length >= 4) { + const length = buffer.readUInt32BE(0); + buffer = buffer.subarray(4); + state = { + type: 'packet', + length + }; + } else { + break loop; + } + break; + } + case 'packet': + { + if (buffer.length >= state.length) { + const packet = buffer.subarray(0, state.length); + buffer = buffer.subarray(state.length); + state = { + type: 'waiting' + }; + pushPacket(packet); + } else { + break loop; + } + break; + } + default: + invariant(state, (state)=>`Unknown state type: ${state?.type}`); + } + } + }); + }); + // When the socket is closed, this process is no longer needed. + // This might happen e. g. when parent process is killed or + // node.js pool is garbage collected. + socket.once('close', ()=>{ + process.exit(0); + }); + // TODO(lukesandberg): some of the messages being sent are very large and contain lots + // of redundant information. Consider adding gzip compression to our stream. + function doSend(message) { + return new Promise((resolve, reject)=>{ + // Reserve 4 bytes for our length prefix, we will over-write after encoding. + const packet = Buffer.from('0000' + message, 'utf8'); + packet.writeUInt32BE(packet.length - 4, 0); + socketWritable.write(packet, (err)=>{ + process.stderr.write(`TURBOPACK_OUTPUT_D\n`); + process.stdout.write(`TURBOPACK_OUTPUT_D\n`); + if (err != null) { + reject(err); + } else { + resolve(); + } + }); + }); + } + function send(message) { + return doSend(JSON.stringify(message)); + } + function sendReady() { + return doSend(''); + } + return { + async recv () { + const packet = packetQueue.shift(); + if (packet != null) { + return JSON.parse(packet.toString('utf8')); + } + const result = await new Promise((resolve)=>{ + recvPromiseResolveQueue.push((result)=>{ + resolve(result); + }); + }); + return result; + }, + send (message) { + return send(message); + }, + sendReady, + async sendError (error) { + let failed = false; + try { + await send({ + type: 'error', + ...(0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$error$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["structuredError"])(error) + }); + } catch (err) { + // There's nothing we can do about errors that happen after this point, we can't tell anyone + // about them. + console.error('failed to send error back to rust:', err); + failed = true; + } + await new Promise((res)=>socket.end(()=>res())); + process.exit(failed ? 1 : 0); + } + }; +} +const PORT = process.argv[2]; +const IPC = createIpc(parseInt(PORT, 10)); +process.on('uncaughtException', (err)=>{ + IPC.sendError(err); +}); +process.on('unhandledRejection', (reason)=>{ + IPC.sendError(reason instanceof Error ? reason : new Error(String(reason))); +}); +const improveConsole = (name, stream, addStack)=>{ + // @ts-ignore + const original = console[name]; + // @ts-ignore + const stdio = process[stream]; + // @ts-ignore + console[name] = (...args)=>{ + stdio.write(`TURBOPACK_OUTPUT_B\n`); + original(...args); + if (addStack) { + const stack = new Error().stack?.replace(/^.+\n.+\n/, '') + '\n'; + stdio.write('TURBOPACK_OUTPUT_S\n'); + stdio.write(stack); + } + stdio.write('TURBOPACK_OUTPUT_E\n'); + }; +}; +improveConsole('error', 'stderr', true); +improveConsole('warn', 'stderr', true); +improveConsole('count', 'stdout', true); +improveConsole('trace', 'stderr', false); +improveConsole('log', 'stdout', true); +improveConsole('group', 'stdout', true); +improveConsole('groupCollapsed', 'stdout', true); +improveConsole('table', 'stdout', true); +improveConsole('debug', 'stdout', true); +improveConsole('info', 'stdout', true); +improveConsole('dir', 'stdout', true); +improveConsole('dirxml', 'stdout', true); +improveConsole('timeEnd', 'stdout', true); +improveConsole('timeLog', 'stdout', true); +improveConsole('timeStamp', 'stdout', true); +improveConsole('assert', 'stderr', true); +/** + * Utility function to ensure all variants of an enum are handled. + */ function invariant(never, computeMessage) { + throw new Error(`Invariant: ${computeMessage(never)}`); +} +}), +"[turbopack-node]/compiled/stacktrace-parser/index.js [postcss] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "parse", + ()=>parse +]); +if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/compiled/stacktrace-parser") + "/"; +var n = ""; +function parse(e) { + var r = e.split("\n"); + return r.reduce(function(e, r) { + var n = parseChrome(r) || parseWinjs(r) || parseGecko(r) || parseNode(r) || parseJSC(r); + if (n) { + e.push(n); + } + return e; + }, []); +} +var a = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i; +var l = /\((\S*)(?::(\d+))(?::(\d+))\)/; +function parseChrome(e) { + var r = a.exec(e); + if (!r) { + return null; + } + var u = r[2] && r[2].indexOf("native") === 0; + var t = r[2] && r[2].indexOf("eval") === 0; + var i = l.exec(r[2]); + if (t && i != null) { + r[2] = i[1]; + r[3] = i[2]; + r[4] = i[3]; + } + return { + file: !u ? r[2] : null, + methodName: r[1] || n, + arguments: u ? [ + r[2] + ] : [], + lineNumber: r[3] ? +r[3] : null, + column: r[4] ? +r[4] : null + }; +} +var u = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i; +function parseWinjs(e) { + var r = u.exec(e); + if (!r) { + return null; + } + return { + file: r[2], + methodName: r[1] || n, + arguments: [], + lineNumber: +r[3], + column: r[4] ? +r[4] : null + }; +} +var t = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i; +var i = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i; +function parseGecko(e) { + var r = t.exec(e); + if (!r) { + return null; + } + var a = r[3] && r[3].indexOf(" > eval") > -1; + var l = i.exec(r[3]); + if (a && l != null) { + r[3] = l[1]; + r[4] = l[2]; + r[5] = null; + } + return { + file: r[3], + methodName: r[1] || n, + arguments: r[2] ? r[2].split(",") : [], + lineNumber: r[4] ? +r[4] : null, + column: r[5] ? +r[5] : null + }; +} +var s = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i; +function parseJSC(e) { + var r = s.exec(e); + if (!r) { + return null; + } + return { + file: r[3], + methodName: r[1] || n, + arguments: [], + lineNumber: +r[4], + column: r[5] ? +r[5] : null + }; +} +var o = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i; +function parseNode(e) { + var r = o.exec(e); + if (!r) { + return null; + } + return { + file: r[2], + methodName: r[1] || n, + arguments: [], + lineNumber: +r[3], + column: r[4] ? +r[4] : null + }; +} +}), +"[turbopack-node]/error.ts [postcss] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>isError, + "getProperError", + ()=>getProperError, + "structuredError", + ()=>structuredError +]); +var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$compiled$2f$stacktrace$2d$parser$2f$index$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/compiled/stacktrace-parser/index.js [postcss] (ecmascript)"); +; +function isError(err) { + return typeof err === 'object' && err !== null && 'name' in err && 'message' in err; +} +function getProperError(err) { + if (isError(err)) { + return err; + } + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + return new Error(isPlainObject(err) ? JSON.stringify(err) : err + ''); +} +function getObjectClassLabel(value) { + return Object.prototype.toString.call(value); +} +function isPlainObject(value) { + if (getObjectClassLabel(value) !== '[object Object]') { + return false; + } + const prototype = Object.getPrototypeOf(value); + /** + * this used to be previously: + * + * `return prototype === null || prototype === Object.prototype` + * + * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail. + * + * It was changed to the current implementation since it's resilient to serialization. + */ return prototype === null || prototype.hasOwnProperty('isPrototypeOf'); +} +function structuredError(e) { + e = getProperError(e); + return { + name: e.name, + message: e.message, + stack: typeof e.stack === 'string' ? (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$compiled$2f$stacktrace$2d$parser$2f$index$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["parse"])(e.stack) : [], + cause: e.cause ? structuredError(getProperError(e.cause)) : undefined + }; +} +}), +]})(), +"[externals]/node:net [external] (node:net, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("node:net", () => require("node:net")); + +module.exports = mod; +}), +"[externals]/node:stream [external] (node:stream, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("node:stream", () => require("node:stream")); + +module.exports = mod; +}), +"[turbopack-node]/child_process/globals.ts [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +// @ts-ignore +process.turbopack = {}; +}), +]; + +//# sourceMappingURL=%5Broot-of-the-server%5D__05i36w1t4lzaf._.js.map \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js.map b/e-commerce/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7e116e6b9f449ad43af7bec3b5c96a542a63f171 --- /dev/null +++ b/e-commerce/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 5, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack-node]/child_process/evaluate.ts"],"sourcesContent":["import { IPC } from './index'\nimport type { Ipc as GenericIpc } from './index'\n\nimport type { Channel as Ipc } from '../types'\n\ntype IpcIncomingMessage =\n | {\n type: 'evaluate'\n args: string[]\n }\n | {\n type: 'result'\n id: number\n error: string | null\n data: any | null\n }\n\ntype IpcOutgoingMessage =\n | {\n type: 'end'\n data: string | undefined\n duration: number\n }\n | {\n type: 'info'\n data: any\n }\n | {\n type: 'request'\n id: number\n data: any\n }\n\nconst ipc = IPC as GenericIpc\n\nconst queue: string[][] = []\n\nexport const run = async (\n moduleFactory: () => Promise<{\n init?: () => Promise\n default: (ipc: Ipc, ...deserializedArgs: any[]) => any\n }>\n) => {\n let nextId = 1\n const requests = new Map()\n const internalIpc = {\n sendInfo: (message: any) =>\n ipc.send({\n type: 'info',\n data: message,\n }),\n sendRequest: (message: any) => {\n const id = nextId++\n let resolve, reject\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n })\n requests.set(id, { resolve, reject })\n return ipc\n .send({ type: 'request', id, data: message })\n .then(() => promise)\n },\n sendError: (error: Error) => {\n return ipc.sendError(error)\n },\n }\n\n // Initialize module and send ready message\n let getValue: (ipc: Ipc, ...deserializedArgs: any[]) => any\n try {\n const module = await moduleFactory()\n if (typeof module.init === 'function') {\n await module.init()\n }\n getValue = module.default\n await ipc.sendReady()\n } catch (err) {\n await ipc.sendReady()\n await ipc.sendError(err as Error)\n }\n\n // Queue handling\n let isRunning = false\n const run = async () => {\n while (queue.length > 0) {\n const args = queue.shift()!\n try {\n const value = await getValue(internalIpc, ...args)\n await ipc.send({\n type: 'end',\n data:\n value === undefined ? undefined : JSON.stringify(value, null, 2),\n duration: 0,\n })\n } catch (e) {\n await ipc.sendError(e as Error)\n }\n }\n isRunning = false\n }\n\n // Communication handling\n while (true) {\n const msg = await ipc.recv()\n\n switch (msg.type) {\n case 'evaluate': {\n queue.push(msg.args)\n if (!isRunning) {\n isRunning = true\n run()\n }\n break\n }\n case 'result': {\n const request = requests.get(msg.id)\n if (request) {\n requests.delete(msg.id)\n if (msg.error) {\n request.reject(new Error(msg.error))\n } else {\n request.resolve(msg.data)\n }\n }\n break\n }\n default: {\n console.error('unexpected message type', (msg as any).type)\n process.exit(1)\n }\n }\n }\n}\n\nexport type { IpcIncomingMessage, IpcOutgoingMessage }\n"],"names":["ipc","queue","run","moduleFactory","nextId","requests","Map","internalIpc","sendInfo","message","send","type","data","sendRequest","id","resolve","reject","promise","Promise","res","rej","set","then","sendError","error","getValue","module","init","default","sendReady","err","isRunning","length","args","shift","value","undefined","JSON","stringify","duration","e","msg","recv","push","request","get","delete","Error","console","process","exit"],"mappings":";;;;AAAA;;AAiCA,MAAMA,MAAM,oIAAG;AAEf,MAAMC,QAAoB,EAAE;AAErB,MAAMC,MAAM,OACjBC;IAKA,IAAIC,SAAS;IACb,MAAMC,WAAW,IAAIC;IACrB,MAAMC,cAAc;QAClBC,UAAU,CAACC,UACTT,IAAIU,IAAI,CAAC;gBACPC,MAAM;gBACNC,MAAMH;YACR;QACFI,aAAa,CAACJ;YACZ,MAAMK,KAAKV;YACX,IAAIW,SAASC;YACb,MAAMC,UAAU,IAAIC,QAAQ,CAACC,KAAKC;gBAChCL,UAAUI;gBACVH,SAASI;YACX;YACAf,SAASgB,GAAG,CAACP,IAAI;gBAAEC;gBAASC;YAAO;YACnC,OAAOhB,IACJU,IAAI,CAAC;gBAAEC,MAAM;gBAAWG;gBAAIF,MAAMH;YAAQ,GAC1Ca,IAAI,CAAC,IAAML;QAChB;QACAM,WAAW,CAACC;YACV,OAAOxB,IAAIuB,SAAS,CAACC;QACvB;IACF;IAEA,2CAA2C;IAC3C,IAAIC;IACJ,IAAI;QACF,MAAMC,SAAS,MAAMvB;QACrB,IAAI,OAAOuB,OAAOC,IAAI,KAAK,YAAY;YACrC,MAAMD,OAAOC,IAAI;QACnB;QACAF,WAAWC,OAAOE,OAAO;QACzB,MAAM5B,IAAI6B,SAAS;IACrB,EAAE,OAAOC,KAAK;QACZ,MAAM9B,IAAI6B,SAAS;QACnB,MAAM7B,IAAIuB,SAAS,CAACO;IACtB;IAEA,iBAAiB;IACjB,IAAIC,YAAY;IAChB,MAAM7B,MAAM;QACV,MAAOD,MAAM+B,MAAM,GAAG,EAAG;YACvB,MAAMC,OAAOhC,MAAMiC,KAAK;YACxB,IAAI;gBACF,MAAMC,QAAQ,MAAMV,SAASlB,gBAAgB0B;gBAC7C,MAAMjC,IAAIU,IAAI,CAAC;oBACbC,MAAM;oBACNC,MACEuB,UAAUC,YAAYA,YAAYC,KAAKC,SAAS,CAACH,OAAO,MAAM;oBAChEI,UAAU;gBACZ;YACF,EAAE,OAAOC,GAAG;gBACV,MAAMxC,IAAIuB,SAAS,CAACiB;YACtB;QACF;QACAT,YAAY;IACd;IAEA,yBAAyB;IACzB,MAAO,KAAM;QACX,MAAMU,MAAM,MAAMzC,IAAI0C,IAAI;QAE1B,OAAQD,IAAI9B,IAAI;YACd,KAAK;gBAAY;oBACfV,MAAM0C,IAAI,CAACF,IAAIR,IAAI;oBACnB,IAAI,CAACF,WAAW;wBACdA,YAAY;wBACZ7B;oBACF;oBACA;gBACF;YACA,KAAK;gBAAU;oBACb,MAAM0C,UAAUvC,SAASwC,GAAG,CAACJ,IAAI3B,EAAE;oBACnC,IAAI8B,SAAS;wBACXvC,SAASyC,MAAM,CAACL,IAAI3B,EAAE;wBACtB,IAAI2B,IAAIjB,KAAK,EAAE;4BACboB,QAAQ5B,MAAM,CAAC,IAAI+B,MAAMN,IAAIjB,KAAK;wBACpC,OAAO;4BACLoB,QAAQ7B,OAAO,CAAC0B,IAAI7B,IAAI;wBAC1B;oBACF;oBACA;gBACF;YACA;gBAAS;oBACPoC,QAAQxB,KAAK,CAAC,2BAA2B,AAACiB,IAAY9B,IAAI;oBAC1DsC,QAAQC,IAAI,CAAC;gBACf;QACF;IACF;AACF"}}, + {"offset": {"line": 111, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack-node]/child_process/evaluate.ts/evaluate.js"],"sourcesContent":["import {run} from 'RUNTIME'; run(() => import('INNER'))"],"names":[],"mappings":";AAAA;;AAA6B,IAAA,uIAAG,EAAC"}}, + {"offset": {"line": 119, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack-node]/child_process/index.ts"],"sourcesContent":["import { createConnection } from 'node:net'\nimport { Writable } from 'node:stream'\nimport { structuredError } from '../error'\n\ntype State =\n | {\n type: 'waiting'\n }\n | {\n type: 'packet'\n length: number\n }\n\nexport type Ipc = {\n recv(): Promise\n send(message: TOutgoing): Promise\n sendError(error: Error | string): Promise\n sendReady(): Promise\n}\n\nfunction createIpc(\n port: number\n): Ipc {\n const socket = createConnection({\n port,\n host: '127.0.0.1',\n })\n\n /**\n * A writable stream that writes to the socket.\n * We don't write directly to the socket because we need to\n * handle backpressure and wait for the socket to be drained\n * before writing more data.\n */\n const socketWritable = new Writable({\n write(chunk, _enc, cb) {\n if (socket.write(chunk)) {\n cb()\n } else {\n socket.once('drain', cb)\n }\n },\n final(cb) {\n socket.end(cb)\n },\n })\n\n const packetQueue: Buffer[] = []\n const recvPromiseResolveQueue: Array<(message: TIncoming) => void> = []\n\n function pushPacket(packet: Buffer) {\n const recvPromiseResolve = recvPromiseResolveQueue.shift()\n if (recvPromiseResolve != null) {\n recvPromiseResolve(JSON.parse(packet.toString('utf8')) as TIncoming)\n } else {\n packetQueue.push(packet)\n }\n }\n\n let state: State = { type: 'waiting' }\n let buffer: Buffer = Buffer.alloc(0)\n socket.once('connect', () => {\n socket.setNoDelay(true)\n socket.on('data', (chunk) => {\n buffer = Buffer.concat([buffer, chunk])\n\n loop: while (true) {\n switch (state.type) {\n case 'waiting': {\n if (buffer.length >= 4) {\n const length = buffer.readUInt32BE(0)\n buffer = buffer.subarray(4)\n state = { type: 'packet', length }\n } else {\n break loop\n }\n break\n }\n case 'packet': {\n if (buffer.length >= state.length) {\n const packet = buffer.subarray(0, state.length)\n buffer = buffer.subarray(state.length)\n state = { type: 'waiting' }\n pushPacket(packet)\n } else {\n break loop\n }\n break\n }\n default:\n invariant(state, (state) => `Unknown state type: ${state?.type}`)\n }\n }\n })\n })\n // When the socket is closed, this process is no longer needed.\n // This might happen e. g. when parent process is killed or\n // node.js pool is garbage collected.\n socket.once('close', () => {\n process.exit(0)\n })\n\n // TODO(lukesandberg): some of the messages being sent are very large and contain lots\n // of redundant information. Consider adding gzip compression to our stream.\n function doSend(message: string): Promise {\n return new Promise((resolve, reject) => {\n // Reserve 4 bytes for our length prefix, we will over-write after encoding.\n const packet = Buffer.from('0000' + message, 'utf8')\n packet.writeUInt32BE(packet.length - 4, 0)\n socketWritable.write(packet, (err) => {\n process.stderr.write(`TURBOPACK_OUTPUT_D\\n`)\n process.stdout.write(`TURBOPACK_OUTPUT_D\\n`)\n if (err != null) {\n reject(err)\n } else {\n resolve()\n }\n })\n })\n }\n\n function send(message: any): Promise {\n return doSend(JSON.stringify(message))\n }\n function sendReady(): Promise {\n return doSend('')\n }\n\n return {\n async recv() {\n const packet = packetQueue.shift()\n if (packet != null) {\n return JSON.parse(packet.toString('utf8')) as TIncoming\n }\n\n const result = await new Promise((resolve) => {\n recvPromiseResolveQueue.push((result) => {\n resolve(result)\n })\n })\n\n return result\n },\n\n send(message: TOutgoing) {\n return send(message)\n },\n\n sendReady,\n\n async sendError(error: Error): Promise {\n let failed = false\n try {\n await send({\n type: 'error',\n ...structuredError(error),\n })\n } catch (err) {\n // There's nothing we can do about errors that happen after this point, we can't tell anyone\n // about them.\n console.error('failed to send error back to rust:', err)\n failed = true\n }\n await new Promise((res) => socket.end(() => res()))\n process.exit(failed ? 1 : 0)\n },\n }\n}\n\nconst PORT = process.argv[2]\n\nexport const IPC = createIpc(parseInt(PORT, 10))\n\nprocess.on('uncaughtException', (err) => {\n IPC.sendError(err)\n})\n\nprocess.on('unhandledRejection', (reason) => {\n IPC.sendError(reason instanceof Error ? reason : new Error(String(reason)))\n})\n\nconst improveConsole = (name: string, stream: string, addStack: boolean) => {\n // @ts-ignore\n const original = console[name]\n // @ts-ignore\n const stdio = process[stream]\n // @ts-ignore\n console[name] = (...args: any[]) => {\n stdio.write(`TURBOPACK_OUTPUT_B\\n`)\n original(...args)\n if (addStack) {\n const stack = new Error().stack?.replace(/^.+\\n.+\\n/, '') + '\\n'\n stdio.write('TURBOPACK_OUTPUT_S\\n')\n stdio.write(stack)\n }\n stdio.write('TURBOPACK_OUTPUT_E\\n')\n }\n}\n\nimproveConsole('error', 'stderr', true)\nimproveConsole('warn', 'stderr', true)\nimproveConsole('count', 'stdout', true)\nimproveConsole('trace', 'stderr', false)\nimproveConsole('log', 'stdout', true)\nimproveConsole('group', 'stdout', true)\nimproveConsole('groupCollapsed', 'stdout', true)\nimproveConsole('table', 'stdout', true)\nimproveConsole('debug', 'stdout', true)\nimproveConsole('info', 'stdout', true)\nimproveConsole('dir', 'stdout', true)\nimproveConsole('dirxml', 'stdout', true)\nimproveConsole('timeEnd', 'stdout', true)\nimproveConsole('timeLog', 'stdout', true)\nimproveConsole('timeStamp', 'stdout', true)\nimproveConsole('assert', 'stderr', true)\n\n/**\n * Utility function to ensure all variants of an enum are handled.\n */\nfunction invariant(never: never, computeMessage: (arg: any) => string): never {\n throw new Error(`Invariant: ${computeMessage(never)}`)\n}\n"],"names":["createIpc","port","socket","host","socketWritable","write","chunk","_enc","cb","once","final","end","packetQueue","recvPromiseResolveQueue","pushPacket","packet","recvPromiseResolve","shift","JSON","parse","toString","push","state","type","buffer","Buffer","alloc","setNoDelay","on","concat","loop","length","readUInt32BE","subarray","invariant","process","exit","doSend","message","Promise","resolve","reject","from","writeUInt32BE","err","stderr","stdout","send","stringify","sendReady","recv","result","sendError","error","failed","console","res","PORT","argv","IPC","parseInt","reason","Error","String","improveConsole","name","stream","addStack","original","stdio","args","stack","replace","never","computeMessage"],"mappings":"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"}}, + {"offset": {"line": 323, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack-node]/compiled/stacktrace-parser/index.js"],"sourcesContent":["if (typeof __nccwpck_require__ !== \"undefined\")\n __nccwpck_require__.ab = __dirname + \"/\";\n\nvar n = \"\";\nexport function parse(e) {\n var r = e.split(\"\\n\");\n return r.reduce(function (e, r) {\n var n =\n parseChrome(r) ||\n parseWinjs(r) ||\n parseGecko(r) ||\n parseNode(r) ||\n parseJSC(r);\n if (n) {\n e.push(n);\n }\n return e;\n }, []);\n}\nvar a =\n /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar l = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\nfunction parseChrome(e) {\n var r = a.exec(e);\n if (!r) {\n return null;\n }\n var u = r[2] && r[2].indexOf(\"native\") === 0;\n var t = r[2] && r[2].indexOf(\"eval\") === 0;\n var i = l.exec(r[2]);\n if (t && i != null) {\n r[2] = i[1];\n r[3] = i[2];\n r[4] = i[3];\n }\n return {\n file: !u ? r[2] : null,\n methodName: r[1] || n,\n arguments: u ? [r[2]] : [],\n lineNumber: r[3] ? +r[3] : null,\n column: r[4] ? +r[4] : null,\n };\n}\nvar u =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinjs(e) {\n var r = u.exec(e);\n if (!r) {\n return null;\n }\n return {\n file: r[2],\n methodName: r[1] || n,\n arguments: [],\n lineNumber: +r[3],\n column: r[4] ? +r[4] : null,\n };\n}\nvar t =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar i = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGecko(e) {\n var r = t.exec(e);\n if (!r) {\n return null;\n }\n var a = r[3] && r[3].indexOf(\" > eval\") > -1;\n var l = i.exec(r[3]);\n if (a && l != null) {\n r[3] = l[1];\n r[4] = l[2];\n r[5] = null;\n }\n return {\n file: r[3],\n methodName: r[1] || n,\n arguments: r[2] ? r[2].split(\",\") : [],\n lineNumber: r[4] ? +r[4] : null,\n column: r[5] ? +r[5] : null,\n };\n}\nvar s = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\nfunction parseJSC(e) {\n var r = s.exec(e);\n if (!r) {\n return null;\n }\n return {\n file: r[3],\n methodName: r[1] || n,\n arguments: [],\n lineNumber: +r[4],\n column: r[5] ? +r[5] : null,\n };\n}\nvar o =\n /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseNode(e) {\n var r = o.exec(e);\n if (!r) {\n return null;\n }\n return {\n file: r[2],\n methodName: r[1] || n,\n arguments: [],\n lineNumber: +r[3],\n column: r[4] ? +r[4] : null,\n };\n}\n"],"names":["__nccwpck_require__","ab","n","parse","e","r","split","reduce","parseChrome","parseWinjs","parseGecko","parseNode","parseJSC","push","a","l","exec","u","indexOf","t","i","file","methodName","arguments","lineNumber","column","s","o"],"mappings":"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"}}, + {"offset": {"line": 432, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack-node]/error.ts"],"sourcesContent":["import type { StackFrame } from './compiled/stacktrace-parser'\nimport { parse as parseStackTrace } from './compiled/stacktrace-parser'\n\n// merged from next.js\n// https://github.com/vercel/next.js/blob/e657741b9908cf0044aaef959c0c4defb19ed6d8/packages/next/src/lib/is-error.ts\n// https://github.com/vercel/next.js/blob/e657741b9908cf0044aaef959c0c4defb19ed6d8/packages/next/src/shared/lib/is-plain-object.ts\n\nexport default function isError(err: unknown): err is Error {\n return (\n typeof err === 'object' && err !== null && 'name' in err && 'message' in err\n )\n}\n\nexport function getProperError(err: unknown): Error {\n if (isError(err)) {\n return err\n }\n\n if (process.env.NODE_ENV === 'development') {\n // Provide a better error message for cases where `throw undefined`\n // is called in development\n if (typeof err === 'undefined') {\n return new Error('`undefined` was thrown instead of a real error')\n }\n\n if (err === null) {\n return new Error('`null` was thrown instead of a real error')\n }\n }\n\n return new Error(isPlainObject(err) ? JSON.stringify(err) : err + '')\n}\n\nfunction getObjectClassLabel(value: any): string {\n return Object.prototype.toString.call(value)\n}\n\nfunction isPlainObject(value: any): boolean {\n if (getObjectClassLabel(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */\n return prototype === null || prototype.hasOwnProperty('isPrototypeOf')\n}\n\nexport type StructuredError = {\n name: string\n message: string\n stack: StackFrame[]\n cause: StructuredError | undefined\n}\n\nexport function structuredError(e: Error | string): StructuredError {\n e = getProperError(e)\n\n return {\n name: e.name,\n message: e.message,\n stack: typeof e.stack === 'string' ? parseStackTrace(e.stack) : [],\n cause: e.cause ? structuredError(getProperError(e.cause)) : undefined,\n }\n}\n"],"names":["isError","err","getProperError","Error","isPlainObject","JSON","stringify","getObjectClassLabel","value","Object","prototype","toString","call","getPrototypeOf","hasOwnProperty","structuredError","e","name","message","stack","cause","undefined"],"mappings":";;;;;;;;AACA;;AAMe,SAASA,QAAQC,GAAY;IAC1C,OACE,OAAOA,QAAQ,YAAYA,QAAQ,QAAQ,UAAUA,OAAO,aAAaA;AAE7E;AAEO,SAASC,eAAeD,GAAY;IACzC,IAAID,QAAQC,MAAM;QAChB,OAAOA;IACT;IAEA;;IAYA,OAAO,IAAIE,MAAMC,cAAcH,OAAOI,KAAKC,SAAS,CAACL,OAAOA,MAAM;AACpE;AAEA,SAASM,oBAAoBC,KAAU;IACrC,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ;AACxC;AAEA,SAASJ,cAAcI,KAAU;IAC/B,IAAID,oBAAoBC,WAAW,mBAAmB;QACpD,OAAO;IACT;IAEA,MAAME,YAAYD,OAAOI,cAAc,CAACL;IAExC;;;;;;;;GAQC,GACD,OAAOE,cAAc,QAAQA,UAAUI,cAAc,CAAC;AACxD;AASO,SAASC,gBAAgBC,CAAiB;IAC/CA,IAAId,eAAec;IAEnB,OAAO;QACLC,MAAMD,EAAEC,IAAI;QACZC,SAASF,EAAEE,OAAO;QAClBC,OAAO,OAAOH,EAAEG,KAAK,KAAK,WAAW,IAAA,yJAAe,EAACH,EAAEG,KAAK,IAAI,EAAE;QAClEC,OAAOJ,EAAEI,KAAK,GAAGL,gBAAgBb,eAAec,EAAEI,KAAK,KAAKC;IAC9D;AACF"}}, + {"offset": {"line": 496, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack-node]/child_process/globals.ts"],"sourcesContent":["// @ts-ignore\nprocess.turbopack = {}\n"],"names":["process","turbopack"],"mappings":"AAAA,aAAa;AACbA,QAAQC,SAAS,GAAG,CAAC"}}] +} \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js b/e-commerce/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js new file mode 100644 index 0000000000000000000000000000000000000000..46cbf4be68a1f252e26a03c8812559867b6a0653 --- /dev/null +++ b/e-commerce/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js @@ -0,0 +1,191 @@ +module.exports = [ +(()=>{"use strict";return[ +"[project]/postcss.config.mjs [postcss] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>__TURBOPACK__default__export__ +]); +/** @type {import('postcss-load-config').Config} */ const config = { + plugins: { + "@tailwindcss/postcss": {} + } +}; +const __TURBOPACK__default__export__ = config; +}), +"[turbopack-node]/transforms/postcss.ts?config=[project]/postcss.config.mjs { CONFIG => \"[project]/postcss.config.mjs [postcss] (ecmascript)\" } [postcss] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>transform, + "init", + ()=>init +]); +// @ts-ignore +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$mjs__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/postcss/lib/postcss.mjs [postcss] (ecmascript)"); +// @ts-ignore +var __TURBOPACK__imported__module__$5b$project$5d2f$postcss$2e$config$2e$mjs__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/postcss.config.mjs [postcss] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[turbopack-node]/transforms/transforms.ts [postcss] (ecmascript)"); +; +; +; +let processor; +const init = async (ipc)=>{ + let config = __TURBOPACK__imported__module__$5b$project$5d2f$postcss$2e$config$2e$mjs__$5b$postcss$5d$__$28$ecmascript$29$__["default"]; + if (typeof config === 'function') { + config = await config({ + env: 'development' + }); + } + if (typeof config === 'undefined') { + throw new Error('PostCSS config is undefined (make sure to export an function or object from config file)'); + } + let plugins; + if (Array.isArray(config.plugins)) { + plugins = config.plugins.map((plugin)=>{ + if (Array.isArray(plugin)) { + return plugin; + } else if (typeof plugin === 'string') { + return [ + plugin, + {} + ]; + } else { + return plugin; + } + }); + } else if (typeof config.plugins === 'object') { + plugins = Object.entries(config.plugins).filter(([, options])=>options); + } else { + plugins = []; + } + const loadedPlugins = plugins.map((plugin)=>{ + if (Array.isArray(plugin)) { + const [arg, options] = plugin; + let pluginFactory = arg; + if (typeof pluginFactory === 'string') { + pluginFactory = require(/* turbopackIgnore: true */ pluginFactory); + } + if (pluginFactory.default) { + pluginFactory = pluginFactory.default; + } + return pluginFactory(options); + } + return plugin; + }); + processor = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$mjs__$5b$postcss$5d$__$28$ecmascript$29$__["default"])(loadedPlugins); +}; +async function transform(ipc, cssContent, name, sourceMap) { + const { css, map, messages } = await processor.process(cssContent, { + from: name, + to: name, + map: sourceMap ? { + inline: false, + annotation: false + } : undefined + }); + const assets = []; + const filePaths = []; + const buildFilePaths = []; + const directories = []; + for (const msg of messages){ + switch(msg.type){ + case 'asset': + assets.push({ + file: msg.file, + content: msg.content, + sourceMap: !sourceMap ? undefined : typeof msg.sourceMap === 'string' ? msg.sourceMap : JSON.stringify(msg.sourceMap) + }); + break; + case 'dependency': + case 'missing-dependency': + filePaths.push(msg.file); + break; + case 'build-dependency': + buildFilePaths.push(msg.file); + break; + case 'dir-dependency': + directories.push([ + msg.dir, + msg.glob + ]); + break; + case 'context-dependency': + directories.push([ + msg.dir, + '**' + ]); + break; + default: + break; + } + } + ipc.sendInfo({ + type: 'dependencies', + filePaths, + directories, + buildFilePaths, + envVariables: (0, __TURBOPACK__imported__module__$5b$turbopack$2d$node$5d2f$transforms$2f$transforms$2e$ts__$5b$postcss$5d$__$28$ecmascript$29$__["getReadEnvVariables"])() + }); + return { + css, + map: sourceMap ? JSON.stringify(map) : undefined, + assets + }; +} +}), +"[turbopack-node]/transforms/transforms.ts [postcss] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Shared utilities for our 2 transform implementations. + */ __turbopack_context__.s([ + "getReadEnvVariables", + ()=>getReadEnvVariables +]); +// Patch process.env to track which env vars are read +const originalEnv = process.env; +const readEnvVars = new Set(); +process.env = new Proxy(originalEnv, { + get (target, prop) { + if (typeof prop === 'string') { + // We register the env var as dependency on the + // current transform and all future transforms + // since the env var might be cached in module scope + // and influence them all + readEnvVars.add(prop); + } + return Reflect.get(target, prop); + }, + set (target, prop, value) { + return Reflect.set(target, prop, value); + } +}); +function getReadEnvVariables() { + return Array.from(readEnvVars); +} +}), +]})(), +"[externals]/fs [external] (fs, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("fs", () => require("fs")); + +module.exports = mod; +}), +"[externals]/path [external] (path, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("path", () => require("path")); + +module.exports = mod; +}), +"[externals]/url [external] (url, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("url", () => require("url")); + +module.exports = mod; +}), +]; + +//# sourceMappingURL=%5Broot-of-the-server%5D__1kki86fknkq7y._.js.map \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js.map b/e-commerce/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1fb0fdc2db516ce390c56c3a71db1daecd3b7c9b --- /dev/null +++ b/e-commerce/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 5, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/postcss.config.mjs"],"sourcesContent":["/** @type {import('postcss-load-config').Config} */\nconst config = {\n plugins: {\n \"@tailwindcss/postcss\": {},\n },\n};\n\nexport default config;\n"],"names":["config","plugins"],"mappings":";;;;AAAA,iDAAiD,GACjD,MAAMA,SAAS;IACbC,SAAS;QACP,wBAAwB,CAAC;IAC3B;AACF;uCAEeD"}}, + {"offset": {"line": 19, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack-node]/transforms/postcss.ts?config=[project]/postcss.config.mjs"],"sourcesContent":["declare const __turbopack_external_require__: (\n id: string,\n thunk: () => any,\n esm?: boolean\n) => any\n\nimport type { Processor } from 'postcss'\n\n// @ts-ignore\nimport postcss from '@vercel/turbopack/postcss'\n// @ts-ignore\nimport importedConfig from 'CONFIG'\nimport { getReadEnvVariables, type TransformIpc } from './transforms'\n\nlet processor: Processor | undefined\n\nexport const init = async (ipc: TransformIpc) => {\n let config = importedConfig\n if (typeof config === 'function') {\n config = await config({ env: 'development' })\n }\n if (typeof config === 'undefined') {\n throw new Error(\n 'PostCSS config is undefined (make sure to export an function or object from config file)'\n )\n }\n let plugins: any[]\n if (Array.isArray(config.plugins)) {\n plugins = config.plugins.map((plugin: [string, any] | string | any) => {\n if (Array.isArray(plugin)) {\n return plugin\n } else if (typeof plugin === 'string') {\n return [plugin, {}]\n } else {\n return plugin\n }\n })\n } else if (typeof config.plugins === 'object') {\n plugins = Object.entries(config.plugins).filter(([, options]) => options)\n } else {\n plugins = []\n }\n const loadedPlugins = plugins.map((plugin) => {\n if (Array.isArray(plugin)) {\n const [arg, options] = plugin\n let pluginFactory = arg\n\n if (typeof pluginFactory === 'string') {\n pluginFactory = require(/* turbopackIgnore: true */ pluginFactory)\n }\n\n if (pluginFactory.default) {\n pluginFactory = pluginFactory.default\n }\n\n return pluginFactory(options)\n }\n return plugin\n })\n\n processor = postcss(loadedPlugins)\n}\n\nexport default async function transform(\n ipc: TransformIpc,\n cssContent: string,\n name: string,\n sourceMap: boolean\n) {\n const { css, map, messages } = await processor!.process(cssContent, {\n from: name,\n to: name,\n map: sourceMap\n ? {\n inline: false,\n annotation: false,\n }\n : undefined,\n })\n\n const assets = []\n const filePaths: string[] = []\n const buildFilePaths: string[] = []\n const directories: Array<[string, string]> = []\n\n for (const msg of messages) {\n switch (msg.type) {\n case 'asset':\n assets.push({\n file: msg.file,\n content: msg.content,\n sourceMap: !sourceMap\n ? undefined\n : typeof msg.sourceMap === 'string'\n ? msg.sourceMap\n : JSON.stringify(msg.sourceMap),\n // There is also an info field, which we currently ignore\n })\n break\n case 'dependency':\n case 'missing-dependency':\n filePaths.push(msg.file)\n break\n case 'build-dependency':\n buildFilePaths.push(msg.file)\n break\n case 'dir-dependency':\n directories.push([msg.dir, msg.glob])\n break\n case 'context-dependency':\n directories.push([msg.dir, '**'])\n break\n default:\n // TODO: do we need to do anything here?\n break\n }\n }\n ipc.sendInfo({\n type: 'dependencies',\n filePaths,\n directories,\n buildFilePaths,\n envVariables: getReadEnvVariables(),\n })\n return {\n css,\n map: sourceMap ? JSON.stringify(map) : undefined,\n assets,\n }\n}\n"],"names":["processor","init","ipc","config","env","Error","plugins","Array","isArray","map","plugin","Object","entries","filter","options","loadedPlugins","arg","pluginFactory","require","default","transform","cssContent","name","sourceMap","css","messages","process","from","to","inline","annotation","undefined","assets","filePaths","buildFilePaths","directories","msg","type","push","file","content","JSON","stringify","dir","glob","sendInfo","envVariables"],"mappings":";;;;;;AAQA,aAAa;AACb;AACA,aAAa;AACb;AACA;;;;AAEA,IAAIA;AAEG,MAAMC,OAAO,OAAOC;IACzB,IAAIC,SAAS,0HAAc;IAC3B,IAAI,OAAOA,WAAW,YAAY;QAChCA,SAAS,MAAMA,OAAO;YAAEC,KAAK;QAAc;IAC7C;IACA,IAAI,OAAOD,WAAW,aAAa;QACjC,MAAM,IAAIE,MACR;IAEJ;IACA,IAAIC;IACJ,IAAIC,MAAMC,OAAO,CAACL,OAAOG,OAAO,GAAG;QACjCA,UAAUH,OAAOG,OAAO,CAACG,GAAG,CAAC,CAACC;YAC5B,IAAIH,MAAMC,OAAO,CAACE,SAAS;gBACzB,OAAOA;YACT,OAAO,IAAI,OAAOA,WAAW,UAAU;gBACrC,OAAO;oBAACA;oBAAQ,CAAC;iBAAE;YACrB,OAAO;gBACL,OAAOA;YACT;QACF;IACF,OAAO,IAAI,OAAOP,OAAOG,OAAO,KAAK,UAAU;QAC7CA,UAAUK,OAAOC,OAAO,CAACT,OAAOG,OAAO,EAAEO,MAAM,CAAC,CAAC,GAAGC,QAAQ,GAAKA;IACnE,OAAO;QACLR,UAAU,EAAE;IACd;IACA,MAAMS,gBAAgBT,QAAQG,GAAG,CAAC,CAACC;QACjC,IAAIH,MAAMC,OAAO,CAACE,SAAS;YACzB,MAAM,CAACM,KAAKF,QAAQ,GAAGJ;YACvB,IAAIO,gBAAgBD;YAEpB,IAAI,OAAOC,kBAAkB,UAAU;gBACrCA,gBAAgBC,QAAQ,yBAAyB,GAAGD;YACtD;YAEA,IAAIA,cAAcE,OAAO,EAAE;gBACzBF,gBAAgBA,cAAcE,OAAO;YACvC;YAEA,OAAOF,cAAcH;QACvB;QACA,OAAOJ;IACT;IAEAV,YAAY,IAAA,kJAAO,EAACe;AACtB;AAEe,eAAeK,UAC5BlB,GAAiB,EACjBmB,UAAkB,EAClBC,IAAY,EACZC,SAAkB;IAElB,MAAM,EAAEC,GAAG,EAAEf,GAAG,EAAEgB,QAAQ,EAAE,GAAG,MAAMzB,UAAW0B,OAAO,CAACL,YAAY;QAClEM,MAAML;QACNM,IAAIN;QACJb,KAAKc,YACD;YACEM,QAAQ;YACRC,YAAY;QACd,IACAC;IACN;IAEA,MAAMC,SAAS,EAAE;IACjB,MAAMC,YAAsB,EAAE;IAC9B,MAAMC,iBAA2B,EAAE;IACnC,MAAMC,cAAuC,EAAE;IAE/C,KAAK,MAAMC,OAAOX,SAAU;QAC1B,OAAQW,IAAIC,IAAI;YACd,KAAK;gBACHL,OAAOM,IAAI,CAAC;oBACVC,MAAMH,IAAIG,IAAI;oBACdC,SAASJ,IAAII,OAAO;oBACpBjB,WAAW,CAACA,YACRQ,YACA,OAAOK,IAAIb,SAAS,KAAK,WACvBa,IAAIb,SAAS,GACbkB,KAAKC,SAAS,CAACN,IAAIb,SAAS;gBAEpC;gBACA;YACF,KAAK;YACL,KAAK;gBACHU,UAAUK,IAAI,CAACF,IAAIG,IAAI;gBACvB;YACF,KAAK;gBACHL,eAAeI,IAAI,CAACF,IAAIG,IAAI;gBAC5B;YACF,KAAK;gBACHJ,YAAYG,IAAI,CAAC;oBAACF,IAAIO,GAAG;oBAAEP,IAAIQ,IAAI;iBAAC;gBACpC;YACF,KAAK;gBACHT,YAAYG,IAAI,CAAC;oBAACF,IAAIO,GAAG;oBAAE;iBAAK;gBAChC;YACF;gBAEE;QACJ;IACF;IACAzC,IAAI2C,QAAQ,CAAC;QACXR,MAAM;QACNJ;QACAE;QACAD;QACAY,cAAc,IAAA,sJAAmB;IACnC;IACA,OAAO;QACLtB;QACAf,KAAKc,YAAYkB,KAAKC,SAAS,CAACjC,OAAOsB;QACvCC;IACF;AACF"}}, + {"offset": {"line": 141, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack-node]/transforms/transforms.ts"],"sourcesContent":["/**\n * Shared utilities for our 2 transform implementations.\n */\n\nimport type { Channel as Ipc } from '../types'\nimport { type StructuredError } from '../error'\nimport { type StackFrame } from '../compiled/stacktrace-parser'\n\nexport type IpcInfoMessage =\n | {\n type: 'dependencies'\n envVariables?: string[]\n directories?: Array<[string, string]>\n filePaths?: string[]\n buildFilePaths?: string[]\n buildDependencyRequests?: Array<[string, boolean]>\n }\n | {\n type: 'emittedError'\n severity: 'warning' | 'error'\n error: StructuredError\n }\n | {\n type: 'log'\n logs: Array<{\n time: number\n logType: string\n args: any[]\n trace?: StackFrame[]\n }>\n }\n\nexport type IpcRequestMessage =\n | {\n type: 'resolve'\n options: any\n lookupPath: string\n request: string\n }\n | {\n type: 'trackFileRead'\n file: string\n }\n | {\n type: 'importModule'\n lookupPath: string\n request: string\n }\n\nexport type TransformIpc = Ipc\n\n// Patch process.env to track which env vars are read\nconst originalEnv = process.env\nconst readEnvVars = new Set()\nprocess.env = new Proxy(originalEnv, {\n get(target, prop) {\n if (typeof prop === 'string') {\n // We register the env var as dependency on the\n // current transform and all future transforms\n // since the env var might be cached in module scope\n // and influence them all\n readEnvVars.add(prop)\n }\n return Reflect.get(target, prop)\n },\n set(target, prop, value) {\n return Reflect.set(target, prop, value)\n },\n})\n\nexport function getReadEnvVariables(): string[] {\n return Array.from(readEnvVars)\n}\n"],"names":["originalEnv","process","env","readEnvVars","Set","Proxy","get","target","prop","add","Reflect","set","value","getReadEnvVariables","Array","from"],"mappings":"AAAA;;CAEC;;;;AAiDD,qDAAqD;AACrD,MAAMA,cAAcC,QAAQC,GAAG;AAC/B,MAAMC,cAAc,IAAIC;AACxBH,QAAQC,GAAG,GAAG,IAAIG,MAAML,aAAa;IACnCM,KAAIC,MAAM,EAAEC,IAAI;QACd,IAAI,OAAOA,SAAS,UAAU;YAC5B,+CAA+C;YAC/C,8CAA8C;YAC9C,oDAAoD;YACpD,yBAAyB;YACzBL,YAAYM,GAAG,CAACD;QAClB;QACA,OAAOE,QAAQJ,GAAG,CAACC,QAAQC;IAC7B;IACAG,KAAIJ,MAAM,EAAEC,IAAI,EAAEI,KAAK;QACrB,OAAOF,QAAQC,GAAG,CAACJ,QAAQC,MAAMI;IACnC;AACF;AAEO,SAASC;IACd,OAAOC,MAAMC,IAAI,CAACZ;AACpB"}}] +} \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js b/e-commerce/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js new file mode 100644 index 0000000000000000000000000000000000000000..5c57ec18f88a744e9a6a4c7da816dcaafbc4e14c --- /dev/null +++ b/e-commerce/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js @@ -0,0 +1,13 @@ +module.exports = [ +"[turbopack-node]/transforms/postcss.ts?config=[project]/postcss.config.mjs { CONFIG => \"[project]/postcss.config.mjs [postcss] (ecmascript)\" } [postcss] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.all([ + "chunks/node_modules_20v-8wlfss9m1._.js", + "chunks/[root-of-the-server]__1kki86fknkq7y._.js" +].map((chunk) => __turbopack_context__.l(chunk))).then(() => { + return parentImport("[turbopack-node]/transforms/postcss.ts?config=[project]/postcss.config.mjs { CONFIG => \"[project]/postcss.config.mjs [postcss] (ecmascript)\" } [postcss] (ecmascript)"); + }); +}); +}), +]; \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js.map b/e-commerce/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/[turbopack]_runtime.js b/e-commerce/.next/build/chunks/[turbopack]_runtime.js new file mode 100644 index 0000000000000000000000000000000000000000..08c647abaa3e2982b49430116d40d1c57124b737 --- /dev/null +++ b/e-commerce/.next/build/chunks/[turbopack]_runtime.js @@ -0,0 +1,1056 @@ +var RUNTIME_PUBLIC_PATH = "chunks/[turbopack]_runtime.js"; +var RELATIVE_ROOT_PATH = ".."; +var ASSET_PREFIX = "/"; +/** + * This file contains runtime types and functions that are shared between all + * TurboPack ECMAScript runtimes. + * + * It will be prepended to the runtime code of each runtime. + */ /* eslint-disable @typescript-eslint/no-unused-vars */ /// +/// +/** + * Describes why a module was instantiated. + * Shared between browser and Node.js runtimes. + */ var SourceType = /*#__PURE__*/ function(SourceType) { + /** + * The module was instantiated because it was included in an evaluated chunk's + * runtime. + * SourceData is a ChunkPath. + */ SourceType[SourceType["Runtime"] = 0] = "Runtime"; + /** + * The module was instantiated because a parent module imported it. + * SourceData is a ModuleId. + */ SourceType[SourceType["Parent"] = 1] = "Parent"; + /** + * The module was instantiated because it was included in a chunk's hot module + * update. + * SourceData is an array of ModuleIds or undefined. + */ SourceType[SourceType["Update"] = 2] = "Update"; + return SourceType; +}(SourceType || {}); +/** + * Flag indicating which module object type to create when a module is merged. Set to `true` + * by each runtime that uses ModuleWithDirection (browser dev-base.ts, nodejs dev-base.ts, + * nodejs build-base.ts). Browser production (build-base.ts) leaves it as `false` since it + * uses plain Module objects. + */ let createModuleWithDirectionFlag = false; +const REEXPORTED_OBJECTS = new WeakMap(); +/** + * Constructs the `__turbopack_context__` object for a module. + */ function Context(module, exports) { + this.m = module; + // We need to store this here instead of accessing it from the module object to: + // 1. Make it available to factories directly, since we rewrite `this` to + // `__turbopack_context__.e` in CJS modules. + // 2. Support async modules which rewrite `module.exports` to a promise, so we + // can still access the original exports object from functions like + // `esmExport` + // Ideally we could find a new approach for async modules and drop this property altogether. + this.e = exports; +} +const contextPrototype = Context.prototype; +const hasOwnProperty = Object.prototype.hasOwnProperty; +const toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag; +function defineProp(obj, name, options) { + if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options); +} +function getOverwrittenModule(moduleCache, id) { + let module = moduleCache.get(id); + if (module === undefined) { + if (createModuleWithDirectionFlag) { + // set in development modes for hmr support + module = createModuleWithDirection(id); + } else { + module = createModuleObject(id); + } + moduleCache.set(id, module); + } + return module; +} +/** + * Creates the module object. Only done here to ensure all module objects have the same shape. + */ function createModuleObject(id) { + return { + exports: {}, + error: undefined, + id, + namespaceObject: undefined + }; +} +function createModuleWithDirection(id) { + return { + exports: {}, + error: undefined, + id, + namespaceObject: undefined, + parents: [], + children: [] + }; +} +const BindingTag_Value = 0; +/** + * Terminates a module's group of entries in an {@link EsmReexports} list. + */ const REEXPORT_GROUP_END = 0; +/** + * Adds the getters to the exports object. + */ function esm(exports, bindings, dynamic) { + defineProp(exports, '__esModule', { + value: true + }); + if (toStringTag) defineProp(exports, toStringTag, { + value: 'Module' + }); + let i = 0; + while(i < bindings.length){ + const propName = bindings[i++]; + const tagOrFunction = bindings[i++]; + if (typeof tagOrFunction === 'number') { + if (tagOrFunction === BindingTag_Value) { + defineProp(exports, propName, { + value: bindings[i++], + enumerable: true, + writable: false + }); + } else { + throw new Error(`unexpected tag: ${tagOrFunction}`); + } + } else { + const getterFn = tagOrFunction; + if (typeof bindings[i] === 'function') { + const setterFn = bindings[i++]; + defineProp(exports, propName, { + get: getterFn, + set: setterFn, + enumerable: true + }); + } else { + defineProp(exports, propName, { + get: getterFn, + enumerable: true + }); + } + } + } + // The properties defined above are already non-configurable and + // non-writable, so the namespace's existing exports are effectively + // immutable. Sealing additionally makes the object non-extensible, matching + // real ESM-namespace semantics. Modules with dynamic re-exports + // (`export *` from a CommonJS module) must stay extensible so the dynamic + // export proxy can surface keys discovered at runtime, so skip the seal for + // them. + if (!dynamic) Object.seal(exports); +} +/** + * Makes the module an ESM with exports + */ function esmExport(bindings, id, dynamic) { + let module; + let exports; + if (id != null) { + module = getOverwrittenModule(this.c, id); + exports = module.exports; + } else { + module = this.m; + exports = this.e; + } + module.namespaceObject = exports; + esm(exports, bindings, dynamic); +} +contextPrototype.s = esmExport; +/** + * Registers re-exports that all forward to properties of other modules. + * + * This is a compact spelling of the pattern + * + * ```js + * var ns = context.i(moduleId) + * context.s([exportName, () => ns[importedName], ...]) + * ``` + * + * The list is a flat sequence of groups. Each group starts with the source the exports come from, + * followed by that group's entries, and is terminated by the `0` sentinel (or the end of the list). + * + * The group head is either a **module id**, which is instantiated here: + * + * ```js + * context.S([ + * 76061, 'default', 'f', 'named', 'A', 0, + * 29842, 'otherModule', 'f', + * ]) + * ``` + * + * or the **namespace value** of a module that has already been imported, which is used directly: + * + * ```js + * var ns1 = context.i(76061) + * context.S([ns1, 'default', 'f', 'named', 'A']) + * ``` + * + * The producer picks the namespace form when it has generated the import anyway -- because some + * later import must not be reordered past it -- so nothing is instantiated twice. The two are told + * apart by type: a module id is always a string or number. A CommonJS function export produces a + * callable namespace value, so namespace heads can be functions as well as objects. + * + * Entries are `exportName, importedName` pairs, except when a group holds exactly one string. That + * string is then a comma-joined list of the same pairs, which saves the repeated quoting: + * + * ```js + * context.S([ + * 76061, 'default,f,named,A', 0, + * 29842, 'otherModule,f', + * ]) + * ``` + * + * The producer picks that spelling independently for each group whose names contain no commas, + * since that group's names are recovered by splitting on them. + * + * Groups whose head is a module id are instantiated in list order, at the point where the call + * appears, so the producer must not merge such a group across an import of another module. The + * destination reuses a source data value or getter descriptor when one exists, falling back to a + * wrapper getter for dynamic/proxy/inherited properties. + * + * `id` names the module the exports belong to when this module was merged into a scope-hoisting + * group, exactly as it does for {@link EsmExport}. + * + * Only the source descriptor's payload (value or getter) is reused. {@link esm} still defines a + * fresh enumerable, non-configurable destination property, and no source setter is ever forwarded. + */ function esmReexport(list, id) { + const bindings = []; + let i = 0; + while(i < list.length){ + const head = list[i++]; + const start = i; + while(i < list.length && list[i] !== REEXPORT_GROUP_END)i++; + const end = i; + // Skip the sentinel, if this group was terminated by one rather than by the end of the list. + i++; + // Module ids are always strings or numbers. Other values are already-imported namespaces; + // notably, interop with a CommonJS function export produces a callable namespace function. + // `esmImport` may return a promise for an async module, but re-exports of async modules keep + // going through `context.s`, so the producer never routes them here and this stays synchronous. + const namespace = typeof head === 'string' || typeof head === 'number' ? esmImport.call(this, head) : head; + if (end - start === 1) { + const pairs = list[start].split(','); + for(let j = 0; j < pairs.length; j += 2){ + appendReexportBinding(bindings, pairs[j], namespace, pairs[j + 1]); + } + } else { + for(let j = start; j < end; j += 2){ + appendReexportBinding(bindings, list[j], namespace, list[j + 1]); + } + } + } + esmExport.call(this, bindings, id); +} +contextPrototype.S = esmReexport; +function appendReexportBinding(bindings, exportedName, namespace, importedName) { + const descriptor = Reflect.getOwnPropertyDescriptor(namespace, importedName); + if (descriptor) { + if ('value' in descriptor) { + // Code generation only routes immutable imported bindings through this helper, so a data + // descriptor is a constant export and can be captured once. + bindings.push(exportedName, BindingTag_Value, descriptor.value); + return; + } + if (descriptor.get) { + // Accessors remain live by reusing the source getter. `esmReexport` is only called by + // generated code: every group head is either produced by + // `this.i` or is the namespace variable from a generated `this.i` call. Every getter on such + // a namespace is receiver-independent: ESM bindings are compiler-generated arrow functions, + // and the CommonJS/dynamic-namespace paths create arrows in `createGetter` and + // `getOwnPropertyDescriptor`. The destination can therefore reuse the exact function instead + // of allocating another wrapper getter. + bindings.push(exportedName, descriptor.get); + return; + } + } + // Dynamic/proxy/inherited CommonJS edge cases may not expose a usable own descriptor. + bindings.push(exportedName, ()=>namespace[importedName]); +} +function ensureDynamicExports(module, exports) { + let reexportedObjects = REEXPORTED_OBJECTS.get(module); + if (!reexportedObjects) { + REEXPORTED_OBJECTS.set(module, reexportedObjects = []); + // Returns the re-exported object that provides `prop` as an own property, + // or `undefined` if none does. The traps share this logic so they always + // agree on which keys are synthesized from `reexportedObjects`. `default` + // is never re-exported by `export *`, so it is never synthesized. + const reexportOwning = (prop)=>{ + if (prop !== 'default') { + for (const obj of reexportedObjects){ + if (hasOwnProperty.call(obj, prop)) return obj; + } + } + return undefined; + }; + // Modules with dynamic re-exports are not sealed by `esm()`, so the + // target beneath the namespace stays extensible. That is what lets the + // `ownKeys` and `getOwnPropertyDescriptor` traps legally report keys that + // exist on `reexportedObjects` but not on the target itself. + module.exports = module.namespaceObject = new Proxy(exports, { + get (target, prop) { + if (hasOwnProperty.call(target, prop) || prop === 'default' || prop === '__esModule') { + return Reflect.get(target, prop); + } + const obj = reexportOwning(prop); + return obj && Reflect.get(obj, prop); + }, + // The namespace is read-only, like a real esm namespace object. The + // re-exported modules can still mutate their own exports (exposed live + // via `get`), but mutating the namespace itself is rejected. Refusing + // here, rather than forwarding to the extensible target, also prevents an + // assignment/definition from shadowing a dynamic re-export. It also + // prevents delete from removing a static export. + set () { + return false; + }, + defineProperty () { + return false; + }, + deleteProperty () { + return false; + }, + // The `has` trap ensures that `'exportName' in starImports` will reflect + // the truth of whether a key is exported. + has (target, prop) { + if (Reflect.has(target, prop)) return true; + if (prop === 'default' || prop === '__esModule') return false; + return reexportOwning(prop) !== undefined; + }, + // ownKeys and getOwnPropertyDescriptor together make the keys enumerable. + // If a value is returned from `ownKeys` but its property descriptor is + // not enumerable, it will not be visible to iterator methods. + // Collectively, they allow code like the following: + // + // ``` + // // module.js re-exports dynamic CJS exports + // export * from './legacyModule.cjs' + // + // // from another JS file, reference the re-exported dynamic values + // import * as Namespace from './module.js' + // Object.keys(Namespace) + // ``` + ownKeys (target) { + const keys = Reflect.ownKeys(target); + for (const obj of reexportedObjects){ + for (const key of Reflect.ownKeys(obj)){ + if (key !== 'default' && !keys.includes(key)) keys.push(key); + } + } + return keys; + }, + getOwnPropertyDescriptor (target, prop) { + const own = Reflect.getOwnPropertyDescriptor(target, prop); + if (own || prop === 'default' || prop === '__esModule') return own; + const obj = reexportOwning(prop); + if (obj) { + // Synthetic keys don't exist on the target, so they MUST be + // reported as configurable. However the set/delete traps above will + // prevent them from actually being changed + return { + enumerable: true, + configurable: true, + get: ()=>Reflect.get(obj, prop) + }; + } + return undefined; + } + }); + } + return reexportedObjects; +} +/** + * Dynamically exports properties from an object + */ function dynamicExport(object, id) { + let module; + let exports; + if (id != null) { + module = getOverwrittenModule(this.c, id); + exports = module.exports; + } else { + module = this.m; + exports = this.e; + } + const reexportedObjects = ensureDynamicExports(module, exports); + if (typeof object === 'object' && object !== null) { + reexportedObjects.push(object); + } +} +contextPrototype.j = dynamicExport; +function exportValue(value, id) { + let module; + if (id != null) { + module = getOverwrittenModule(this.c, id); + } else { + module = this.m; + } + module.exports = value; +} +contextPrototype.v = exportValue; +function exportNamespace(namespace, id) { + let module; + if (id != null) { + module = getOverwrittenModule(this.c, id); + } else { + module = this.m; + } + module.exports = module.namespaceObject = namespace; +} +contextPrototype.n = exportNamespace; +function createGetter(obj, key) { + return ()=>obj[key]; +} +/** + * @returns prototype of the object + */ const getProto = Object.getPrototypeOf ? (obj)=>Object.getPrototypeOf(obj) : (obj)=>obj.__proto__; +/** Prototypes that are not expanded for exports */ const LEAF_PROTOTYPES = [ + null, + getProto({}), + getProto([]), + getProto(getProto) +]; +/** + * @param raw + * @param ns + * @param allowExportDefault + * * `false`: will have the raw module as default export + * * `true`: will have the default property as default export + */ function interopEsm(raw, ns, allowExportDefault) { + const bindings = []; + let defaultLocation = -1; + for(let current = raw; (typeof current === 'object' || typeof current === 'function') && !LEAF_PROTOTYPES.includes(current); current = getProto(current)){ + for (const key of Object.getOwnPropertyNames(current)){ + bindings.push(key, createGetter(raw, key)); + if (defaultLocation === -1 && key === 'default') { + defaultLocation = bindings.length - 1; + } + } + } + // this is not really correct + // we should set the `default` getter if the imported module is a `.cjs file` + if (!(allowExportDefault && defaultLocation >= 0)) { + // Replace the binding with one for the namespace itself in order to preserve iteration order. + if (defaultLocation >= 0) { + // Replace the getter with the value + bindings.splice(defaultLocation, 1, BindingTag_Value, raw); + } else { + bindings.push('default', BindingTag_Value, raw); + } + } + esm(ns, bindings); + return ns; +} +function createNS(raw) { + if (typeof raw === 'function') { + return function(...args) { + return raw.apply(this, args); + }; + } else { + return Object.create(null); + } +} +function esmImport(id) { + const module = getOrInstantiateModuleFromParent(id, this.m); + // any ES module has to have `module.namespaceObject` defined. + if (module.namespaceObject) return module.namespaceObject; + // only ESM can be an async module, so we don't need to worry about exports being a promise here. + const raw = module.exports; + return module.namespaceObject = interopEsm(raw, createNS(raw), raw && raw.__esModule); +} +contextPrototype.i = esmImport; +function asyncLoader(moduleId) { + const loader = this.r(moduleId); + return loader(esmImport.bind(this)); +} +contextPrototype.A = asyncLoader; +// Add a simple runtime require so that environments without one can still pass +// `typeof require` CommonJS checks so that exports are correctly registered. +const runtimeRequire = // @ts-ignore +typeof require === 'function' ? require : function require1() { + throw new Error('Unexpected use of runtime require'); +}; +contextPrototype.t = runtimeRequire; +function commonJsRequire(id) { + return getOrInstantiateModuleFromParent(id, this.m).exports; +} +contextPrototype.r = commonJsRequire; +/** + * Remove fragments and query parameters since they are never part of the context map keys + * + * This matches how we parse patterns at resolving time. Arguably we should only do this for + * strings passed to `import` but the resolve does it for `import` and `require` and so we do + * here as well. + */ function parseRequest(request) { + // Per the URI spec fragments can contain `?` characters, so we should trim it off first + // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5 + const hashIndex = request.indexOf('#'); + if (hashIndex !== -1) { + request = request.substring(0, hashIndex); + } + const queryIndex = request.indexOf('?'); + if (queryIndex !== -1) { + request = request.substring(0, queryIndex); + } + return request; +} +/** + * `require.context` and require/import expression runtime. + */ function moduleContext(map) { + function moduleContext(id) { + id = parseRequest(id); + if (hasOwnProperty.call(map, id)) { + return map[id].module(); + } + const e = new Error(`Cannot find module '${id}'`); + e.code = 'MODULE_NOT_FOUND'; + throw e; + } + moduleContext.keys = ()=>{ + return Object.keys(map); + }; + moduleContext.resolve = (id)=>{ + id = parseRequest(id); + if (hasOwnProperty.call(map, id)) { + return map[id].id(); + } + const e = new Error(`Cannot find module '${id}'`); + e.code = 'MODULE_NOT_FOUND'; + throw e; + }; + moduleContext.import = async (id)=>{ + return await moduleContext(id); + }; + return moduleContext; +} +contextPrototype.f = moduleContext; +/** + * Returns the path of a chunk defined by its data. + */ function getChunkPath(chunkData) { + return typeof chunkData === 'string' ? chunkData : chunkData.path; +} +// Load the CompressedModuleFactories of a chunk into the `moduleFactories` Map. +// The flat format alternates one or more module IDs with their factory function. +// Strict factories can be prepended as a nested array. +function installCompressedModuleFactories(chunkModules, offset, moduleFactories, newModuleId) { + let i = offset; + const strictFactories = chunkModules[i]; + if (Array.isArray(strictFactories)) { + installCompressedModuleFactories(strictFactories, 0, moduleFactories, newModuleId); + i++; + } + while(i < chunkModules.length){ + let end = i + 1; + // Find our factory function + while(end < chunkModules.length && typeof chunkModules[end] !== 'function'){ + end++; + } + if (end === chunkModules.length) { + throw new Error('malformed chunk format, expected a factory function'); + } + // Install the factory for each module ID that doesn't already have one. + // When some IDs in this group already have a factory, reuse that existing + // group factory for the missing IDs to keep all IDs in the group consistent. + // Otherwise, install the factory from this chunk. + const moduleFactoryFn = chunkModules[end]; + let existingGroupFactory = undefined; + for(let j = i; j < end; j++){ + const id = chunkModules[j]; + const existingFactory = moduleFactories.get(id); + if (existingFactory) { + existingGroupFactory = existingFactory; + break; + } + } + const factoryToInstall = existingGroupFactory ?? moduleFactoryFn; + let didInstallFactory = false; + for(let j = i; j < end; j++){ + const id = chunkModules[j]; + if (!moduleFactories.has(id)) { + if (!didInstallFactory) { + if (factoryToInstall === moduleFactoryFn) { + applyModuleFactoryName(moduleFactoryFn); + } + didInstallFactory = true; + } + moduleFactories.set(id, factoryToInstall); + newModuleId?.(id); + } + } + i = end + 1; + } +} +/** + * A pseudo "fake" URL object to resolve to its relative path. + * + * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this + * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid + * hydration mismatch. + * + * This is based on webpack's existing implementation: + * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js + */ const relativeURL = function relativeURL(inputUrl) { + const realUrl = new URL(inputUrl, 'x:/'); + const values = {}; + for(const key in realUrl)values[key] = realUrl[key]; + values.href = inputUrl; + values.pathname = inputUrl.replace(/[?#].*/, ''); + values.origin = values.protocol = ''; + values.toString = values.toJSON = (..._args)=>inputUrl; + for(const key in values)Object.defineProperty(this, key, { + enumerable: true, + configurable: true, + value: values[key] + }); +}; +relativeURL.prototype = URL.prototype; +contextPrototype.U = relativeURL; +/** + * Utility function to ensure all variants of an enum are handled. + */ function invariant(never, computeMessage) { + throw new Error(`Invariant: ${computeMessage(never)}`); +} +/** + * Constructs an error message for when a module factory is not available. + */ function factoryNotAvailableMessage(moduleId, sourceType, sourceData) { + let instantiationReason; + switch(sourceType){ + case 0: + instantiationReason = `as a runtime entry of chunk ${sourceData}`; + break; + case 1: + instantiationReason = `because it was required from module ${sourceData}`; + break; + case 2: + instantiationReason = 'because of an HMR update'; + break; + default: + invariant(sourceType, (sourceType)=>`Unknown source type: ${sourceType}`); + } + return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`; +} +/** + * Returns a `file://` URL under a synthetic directory named after `root` + * (`ROOT` for the project root), for when the real filesystem path is unknown. + * The root name and path segments are percent-encoded so the result is always + * a valid file URI. + */ function placeholderFileUrl(modulePath, root) { + return `file:///${encodeURIComponent(root ?? 'ROOT')}/${modulePath.split('/').map(encodeURIComponent).join('/')}`; +} +/** + * A stub function to make `require` available but non-functional in ESM. + */ function requireStub(_moduleId) { + throw new Error('dynamic usage of require is not supported'); +} +contextPrototype.z = requireStub; +// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable. +contextPrototype.g = globalThis; +function applyModuleFactoryName(factory) { + // Give the module factory a nice name to improve stack traces. + Object.defineProperty(factory, 'name', { + value: 'module evaluation' + }); +} +/// +/// +/** + * Top-level-await / async-module machinery. This is only included in the runtime + * when the module graph actually contains an async module (a module with + * top-level await, or one that transitively depends on one). When no async + * module is present, the chunk items never reference `__turbopack_context__.a`, + * so this whole file can be omitted. + * + * everything below is adapted from webpack + * https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13 + */ const turbopackQueues = Symbol('turbopack queues'); +const turbopackExports = Symbol('turbopack exports'); +const turbopackError = Symbol('turbopack error'); +function isPromise(maybePromise) { + return maybePromise != null && typeof maybePromise === 'object' && 'then' in maybePromise && typeof maybePromise.then === 'function'; +} +function isAsyncModuleExt(obj) { + return turbopackQueues in obj; +} +function createPromise() { + let resolve; + let reject; + const promise = new Promise((res, rej)=>{ + reject = rej; + resolve = res; + }); + return { + promise, + resolve: resolve, + reject: reject + }; +} +function resolveQueue(queue) { + if (queue && queue.status !== 1) { + queue.status = 1; + queue.forEach((fn)=>fn.queueCount--); + queue.forEach((fn)=>fn.queueCount-- ? fn.queueCount++ : fn()); + } +} +function wrapDeps(deps) { + return deps.map((dep)=>{ + if (dep !== null && typeof dep === 'object') { + if (isAsyncModuleExt(dep)) return dep; + if (isPromise(dep)) { + const queue = Object.assign([], { + status: 0 + }); + const obj = { + [turbopackExports]: {}, + [turbopackQueues]: (fn)=>fn(queue) + }; + dep.then((res)=>{ + obj[turbopackExports] = res; + resolveQueue(queue); + }, (err)=>{ + obj[turbopackError] = err; + resolveQueue(queue); + }); + return obj; + } + } + return { + [turbopackExports]: dep, + [turbopackQueues]: ()=>{} + }; + }); +} +function asyncModule(body, hasAwait) { + const module = this.m; + const queue = hasAwait ? Object.assign([], { + status: -1 + }) : undefined; + const depQueues = new Set(); + const { resolve, reject, promise: rawPromise } = createPromise(); + const promise = Object.assign(rawPromise, { + [turbopackExports]: module.exports, + [turbopackQueues]: (fn)=>{ + queue && fn(queue); + depQueues.forEach(fn); + promise['catch'](()=>{}); + } + }); + const attributes = { + get () { + return promise; + }, + set (v) { + // Calling `esmExport` leads to this. + if (v !== promise) { + promise[turbopackExports] = v; + } + } + }; + Object.defineProperty(module, 'exports', attributes); + Object.defineProperty(module, 'namespaceObject', attributes); + function handleAsyncDependencies(deps) { + const currentDeps = wrapDeps(deps); + const getResult = ()=>currentDeps.map((d)=>{ + if (d[turbopackError]) throw d[turbopackError]; + return d[turbopackExports]; + }); + const { promise, resolve } = createPromise(); + const fn = Object.assign(()=>resolve(getResult), { + queueCount: 0 + }); + function fnQueue(q) { + if (q !== queue && !depQueues.has(q)) { + depQueues.add(q); + if (q && q.status === 0) { + fn.queueCount++; + q.push(fn); + } + } + } + currentDeps.map((dep)=>dep[turbopackQueues](fnQueue)); + return fn.queueCount ? promise : getResult(); + } + function asyncResult(err) { + if (err) { + reject(promise[turbopackError] = err); + } else { + resolve(promise[turbopackExports]); + } + resolveQueue(queue); + } + body(handleAsyncDependencies, asyncResult); + if (queue && queue.status === -1) { + queue.status = 0; + } +} +contextPrototype.a = asyncModule; +/// +/// A 'base' utilities to support runtime can have externals. +/// Currently this is for node.js / edge runtime both. +/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead. +async function externalImport(id) { + let raw; + try { + raw = await import(id); + } catch (err) { + // TODO(alexkirsz) This can happen when a client-side module tries to load + // an external module we don't provide a shim for (e.g. querystring, url). + // For now, we fail semi-silently, but in the future this should be a + // compilation error. + throw new Error(`Failed to load external module ${id}: ${err}`); + } + if (raw && raw.__esModule && raw.default && 'default' in raw.default) { + return interopEsm(raw.default, createNS(raw), true); + } + return raw; +} +contextPrototype.y = externalImport; +function externalRequire(id, thunk, esm = false) { + let raw; + try { + raw = thunk(); + } catch (err) { + // TODO(alexkirsz) This can happen when a client-side module tries to load + // an external module we don't provide a shim for (e.g. querystring, url). + // For now, we fail semi-silently, but in the future this should be a + // compilation error. + throw new Error(`Failed to load external module ${id}: ${err}`); + } + if (!esm || raw.__esModule) { + return raw; + } + return interopEsm(raw, createNS(raw), true); +} +externalRequire.resolve = (id, options)=>{ + return require.resolve(id, options); +}; +contextPrototype.x = externalRequire; +/* eslint-disable @typescript-eslint/no-unused-vars */ const path = require('path'); +const relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.'); +// Compute the relative path to the `distDir`. +const relativePathToDistRoot = path.join(relativePathToRuntimeRoot, RELATIVE_ROOT_PATH); +const RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot); +// Compute the absolute path to the root, by stripping distDir from the absolute path to this file. +const ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot); +/** + * Returns an absolute path to the given module path. + * Module path should be relative, either path to a file or a directory. + * + * This fn allows to calculate an absolute path for some global static values, such as + * `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time. + * See ImportMetaBinding::code_generation for the usage. + */ function resolveAbsolutePath(modulePath) { + if (modulePath) { + return path.join(ABSOLUTE_ROOT, modulePath); + } + return ABSOLUTE_ROOT; +} +Context.prototype.P = resolveAbsolutePath; +/** + * Returns an absolute `file://` URL for the given module path, which is + * relative to the project root or the named `root`. + * + * Uses `url.pathToFileURL` so that the resulting URL is a valid file URI on + * all platforms (forward slashes on Windows, drive letters handled + * correctly, path segments URL-encoded). + * + * The location of a named `root` isn't known at runtime (the output may have + * been moved away from the sources), so this returns a placeholder URL for it. + */ function resolveFileUrl(modulePath, root) { + if (root !== undefined) { + return placeholderFileUrl(modulePath, root); + } + return require('url').pathToFileURL(resolveAbsolutePath(modulePath)).href; +} +Context.prototype.F = resolveFileUrl; +/* eslint-disable @typescript-eslint/no-unused-vars */ /// +/// +/// +/// +/** + * Base Node.js runtime shared between production and development. + * Contains chunk loading, module caching, and other non-HMR functionality. + */ process.env.TURBOPACK = '1'; +const url = require('url'); +const moduleFactories = new Map(); +const moduleCache = new Map(); +/** + * Returns an absolute path to the given module's id. + */ function resolvePathFromModule(moduleId) { + const exported = this.r(moduleId); + const exportedPath = exported?.default ?? exported; + if (typeof exportedPath !== 'string') { + return exported; + } + const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length); + const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix); + return url.pathToFileURL(resolved).href; +} +/** + * Exports a URL value. No suffix is added in Node.js runtime. + */ function exportUrl(urlValue, id) { + exportValue.call(this, urlValue, id); +} +function loadRuntimeChunk(sourcePath, chunkData) { + if (typeof chunkData === 'string') { + loadRuntimeChunkPath(sourcePath, chunkData); + } else { + loadRuntimeChunkPath(sourcePath, chunkData.path); + } +} +const loadedChunks = new Set(); +const unsupportedLoadChunk = Promise.resolve(undefined); +const loadedChunk = Promise.resolve(undefined); +const chunkCache = new Map(); +function clearChunkCache() { + chunkCache.clear(); + loadedChunks.clear(); +} +function loadRuntimeChunkPath(sourcePath, chunkPath) { + if (!isJs(chunkPath)) { + // We only support loading JS chunks in Node.js. + // This branch can be hit when trying to load a CSS chunk. + return; + } + if (loadedChunks.has(chunkPath)) { + return; + } + try { + const resolved = path.resolve(RUNTIME_ROOT, chunkPath); + const chunkModules = require(resolved); + installCompressedModuleFactories(chunkModules, 0, moduleFactories); + loadedChunks.add(chunkPath); + } catch (cause) { + let errorMessage = `Failed to load chunk ${chunkPath}`; + if (sourcePath) { + errorMessage += ` from runtime for chunk ${sourcePath}`; + } + const error = new Error(errorMessage, { + cause + }); + error.name = 'ChunkLoadError'; + throw error; + } +} +function loadChunkAsync(chunkData) { + const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path; + if (!isJs(chunkPath)) { + // We only support loading JS chunks in Node.js. + // This branch can be hit when trying to load a CSS chunk. + return unsupportedLoadChunk; + } + let entry = chunkCache.get(chunkPath); + if (entry === undefined) { + try { + // resolve to an absolute path to simplify `require` handling + const resolved = path.resolve(RUNTIME_ROOT, chunkPath); + // TODO: consider switching to `import()` to enable concurrent chunk loading and async file io + // However this is incompatible with hot reloading (since `import` doesn't use the require cache) + const chunkModules = require(resolved); + installCompressedModuleFactories(chunkModules, 0, moduleFactories); + entry = loadedChunk; + } catch (cause) { + const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`; + const error = new Error(errorMessage, { + cause + }); + error.name = 'ChunkLoadError'; + // Cache the failure promise, future requests will also get this same rejection + entry = Promise.reject(error); + } + chunkCache.set(chunkPath, entry); + } + // TODO: Return an instrumented Promise that React can use instead of relying on referential equality. + return entry; +} +contextPrototype.l = loadChunkAsync; +function loadChunkAsyncByUrl(chunkUrl) { + const path1 = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT)); + return loadChunkAsync.call(this, path1); +} +contextPrototype.L = loadChunkAsyncByUrl; +// Shared runtime primitive: the root that on-disk chunk paths are resolved +// against. Used by the bundled wasm helper (exposed as `__turbopack_runtime_root__`). +contextPrototype.w = RUNTIME_ROOT; +const regexJsUrl = /\.js(?:\?[^#]*)?(?:#.*)?$/; +/** + * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment. + */ function isJs(chunkUrlOrPath) { + return regexJsUrl.test(chunkUrlOrPath); +} +/* eslint-disable @typescript-eslint/no-unused-vars */ /// +/** + * Production Node.js runtime. + * Uses ModuleWithDirection and simple module instantiation without HMR support. + */ // moduleCache and moduleFactories are declared in runtime-base.ts +// this is read in runtime-utils.ts so it creates a module with direction for hmr +createModuleWithDirectionFlag = true; +const nodeContextPrototype = Context.prototype; +nodeContextPrototype.q = exportUrl; +nodeContextPrototype.M = moduleFactories; +// Cast moduleCache to ModuleWithDirection for production mode +nodeContextPrototype.c = moduleCache; +nodeContextPrototype.R = resolvePathFromModule; +nodeContextPrototype.C = clearChunkCache; +function instantiateModule(id, sourceType, sourceData) { + const moduleFactory = moduleFactories.get(id); + if (typeof moduleFactory !== 'function') { + // This can happen if modules incorrectly handle HMR disposes/updates, + // e.g. when they keep a `setTimeout` around which still executes old code + // and contains e.g. a `require("something")` call. + throw new Error(factoryNotAvailableMessage(id, sourceType, sourceData)); + } + const module1 = createModuleWithDirection(id); + const exports = module1.exports; + moduleCache.set(id, module1); + const context = new Context(module1, exports); + // NOTE(alexkirsz) This can fail when the module encounters a runtime error. + try { + moduleFactory(context, module1, exports); + } catch (error) { + module1.error = error; + throw error; + } + ; + module1.loaded = true; + if (module1.namespaceObject && module1.exports !== module1.namespaceObject) { + // in case of a circular dependency: cjs1 -> esm2 -> cjs1 + interopEsm(module1.exports, module1.namespaceObject); + } + return module1; +} +/** + * Retrieves a module from the cache, or instantiate it if it is not cached. + */ // @ts-ignore +function getOrInstantiateModuleFromParent(id, sourceModule) { + const module1 = moduleCache.get(id); + if (module1) { + if (module1.error) { + throw module1.error; + } + return module1; + } + return instantiateModule(id, SourceType.Parent, sourceModule.id); +} +/** + * Instantiates a runtime module. + */ function instantiateRuntimeModule(chunkPath, moduleId) { + return instantiateModule(moduleId, SourceType.Runtime, chunkPath); +} +/** + * Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached. + */ // @ts-ignore TypeScript doesn't separate this module space from the browser runtime +function getOrInstantiateRuntimeModule(chunkPath, moduleId) { + const module1 = moduleCache.get(moduleId); + if (module1) { + if (module1.error) { + throw module1.error; + } + return module1; + } + return instantiateRuntimeModule(chunkPath, moduleId); +} +module.exports = (sourcePath)=>({ + m: (id)=>getOrInstantiateRuntimeModule(sourcePath, id), + c: (chunkData)=>loadRuntimeChunk(sourcePath, chunkData) + }); + + +//# sourceMappingURL=%5Bturbopack%5D_runtime.js.map \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/[turbopack]_runtime.js.map b/e-commerce/.next/build/chunks/[turbopack]_runtime.js.map new file mode 100644 index 0000000000000000000000000000000000000000..16208395d3c7bd6d90640f9a85e55ab68ad53bab --- /dev/null +++ b/e-commerce/.next/build/chunks/[turbopack]_runtime.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 3, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/runtime-utils.ts"],"sourcesContent":["/**\n * This file contains runtime types and functions that are shared between all\n * TurboPack ECMAScript runtimes.\n *\n * It will be prepended to the runtime code of each runtime.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// \n/// \n\ntype EsmNamespaceObject = Record\n\n/**\n * Describes why a module was instantiated.\n * Shared between browser and Node.js runtimes.\n */\nenum SourceType {\n /**\n * The module was instantiated because it was included in an evaluated chunk's\n * runtime.\n * SourceData is a ChunkPath.\n */\n Runtime = 0,\n /**\n * The module was instantiated because a parent module imported it.\n * SourceData is a ModuleId.\n */\n Parent = 1,\n /**\n * The module was instantiated because it was included in a chunk's hot module\n * update.\n * SourceData is an array of ModuleIds or undefined.\n */\n Update = 2,\n}\n\ntype SourceData = ChunkPath | ModuleId | ModuleId[] | undefined\n\n// @ts-ignore Defined in `dev-base.ts`\ndeclare function getOrInstantiateModuleFromParent(\n id: ModuleId,\n sourceModule: M\n): M\n\n/**\n * Flag indicating which module object type to create when a module is merged. Set to `true`\n * by each runtime that uses ModuleWithDirection (browser dev-base.ts, nodejs dev-base.ts,\n * nodejs build-base.ts). Browser production (build-base.ts) leaves it as `false` since it\n * uses plain Module objects.\n */\nlet createModuleWithDirectionFlag = false\n\nconst REEXPORTED_OBJECTS = new WeakMap()\n\n/**\n * Constructs the `__turbopack_context__` object for a module.\n */\nfunction Context(\n this: TurbopackBaseContext,\n module: Module,\n exports: Exports\n) {\n this.m = module\n // We need to store this here instead of accessing it from the module object to:\n // 1. Make it available to factories directly, since we rewrite `this` to\n // `__turbopack_context__.e` in CJS modules.\n // 2. Support async modules which rewrite `module.exports` to a promise, so we\n // can still access the original exports object from functions like\n // `esmExport`\n // Ideally we could find a new approach for async modules and drop this property altogether.\n this.e = exports\n}\nconst contextPrototype = Context.prototype as TurbopackBaseContext\n\ntype ModuleContextMap = Record\n\ninterface ModuleContextEntry {\n id: () => ModuleId\n module: () => any\n}\n\ninterface ModuleContext {\n // require call\n (moduleId: string): Exports | EsmNamespaceObject\n\n // async import call\n import(moduleId: string): Promise\n\n keys(): ModuleId[]\n\n resolve(moduleId: string): ModuleId\n}\n\ntype GetOrInstantiateModuleFromParent = (\n moduleId: M['id'],\n parentModule: M\n) => M\n\ndeclare function getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag\n\nfunction defineProp(\n obj: any,\n name: PropertyKey,\n options: PropertyDescriptor & ThisType\n) {\n if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options)\n}\n\nfunction getOverwrittenModule(\n moduleCache: ModuleCache,\n id: ModuleId\n): Module {\n let module = moduleCache.get(id)\n if (module === undefined) {\n if (createModuleWithDirectionFlag) {\n // set in development modes for hmr support\n module = createModuleWithDirection(id)\n } else {\n module = createModuleObject(id)\n }\n moduleCache.set(id, module)\n }\n return module\n}\n\n/**\n * Creates the module object. Only done here to ensure all module objects have the same shape.\n */\nfunction createModuleObject(id: ModuleId): Module {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n }\n}\n\nfunction createModuleWithDirection(id: ModuleId): ModuleWithDirection {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n parents: [],\n children: [],\n }\n}\n\ntype BindingTag = 0\nconst BindingTag_Value = 0 as BindingTag\n\n// an arbitrary sequence of bindings as\n// - a prop name\n// - BindingTag_Value, a value to be bound directly, or\n// - 1 or 2 functions to bind as getters and sdetters\ntype EsmBindings = Array<\n string | BindingTag | (() => unknown) | ((v: unknown) => void) | unknown\n>\n\n/**\n * Terminates a module's group of entries in an {@link EsmReexports} list.\n */\nconst REEXPORT_GROUP_END = 0\n\n/**\n * Adds the getters to the exports object.\n */\nfunction esm(exports: Exports, bindings: EsmBindings, dynamic?: boolean) {\n defineProp(exports, '__esModule', { value: true })\n if (toStringTag) defineProp(exports, toStringTag, { value: 'Module' })\n let i = 0\n while (i < bindings.length) {\n const propName = bindings[i++] as string\n const tagOrFunction = bindings[i++]\n if (typeof tagOrFunction === 'number') {\n if (tagOrFunction === BindingTag_Value) {\n defineProp(exports, propName, {\n value: bindings[i++],\n enumerable: true,\n writable: false,\n })\n } else {\n throw new Error(`unexpected tag: ${tagOrFunction}`)\n }\n } else {\n const getterFn = tagOrFunction as () => unknown\n if (typeof bindings[i] === 'function') {\n const setterFn = bindings[i++] as (v: unknown) => void\n defineProp(exports, propName, {\n get: getterFn,\n set: setterFn,\n enumerable: true,\n })\n } else {\n defineProp(exports, propName, {\n get: getterFn,\n enumerable: true,\n })\n }\n }\n }\n // The properties defined above are already non-configurable and\n // non-writable, so the namespace's existing exports are effectively\n // immutable. Sealing additionally makes the object non-extensible, matching\n // real ESM-namespace semantics. Modules with dynamic re-exports\n // (`export *` from a CommonJS module) must stay extensible so the dynamic\n // export proxy can surface keys discovered at runtime, so skip the seal for\n // them.\n if (!dynamic) Object.seal(exports)\n}\n\n/**\n * Makes the module an ESM with exports\n */\nfunction esmExport(\n this: TurbopackBaseContext,\n bindings: EsmBindings,\n id: ModuleId | undefined,\n dynamic?: boolean\n) {\n let module: Module\n let exports: Module['exports']\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n module.namespaceObject = exports\n esm(exports, bindings, dynamic)\n}\ncontextPrototype.s = esmExport\n\n/**\n * Registers re-exports that all forward to properties of other modules.\n *\n * This is a compact spelling of the pattern\n *\n * ```js\n * var ns = context.i(moduleId)\n * context.s([exportName, () => ns[importedName], ...])\n * ```\n *\n * The list is a flat sequence of groups. Each group starts with the source the exports come from,\n * followed by that group's entries, and is terminated by the `0` sentinel (or the end of the list).\n *\n * The group head is either a **module id**, which is instantiated here:\n *\n * ```js\n * context.S([\n * 76061, 'default', 'f', 'named', 'A', 0,\n * 29842, 'otherModule', 'f',\n * ])\n * ```\n *\n * or the **namespace value** of a module that has already been imported, which is used directly:\n *\n * ```js\n * var ns1 = context.i(76061)\n * context.S([ns1, 'default', 'f', 'named', 'A'])\n * ```\n *\n * The producer picks the namespace form when it has generated the import anyway -- because some\n * later import must not be reordered past it -- so nothing is instantiated twice. The two are told\n * apart by type: a module id is always a string or number. A CommonJS function export produces a\n * callable namespace value, so namespace heads can be functions as well as objects.\n *\n * Entries are `exportName, importedName` pairs, except when a group holds exactly one string. That\n * string is then a comma-joined list of the same pairs, which saves the repeated quoting:\n *\n * ```js\n * context.S([\n * 76061, 'default,f,named,A', 0,\n * 29842, 'otherModule,f',\n * ])\n * ```\n *\n * The producer picks that spelling independently for each group whose names contain no commas,\n * since that group's names are recovered by splitting on them.\n *\n * Groups whose head is a module id are instantiated in list order, at the point where the call\n * appears, so the producer must not merge such a group across an import of another module. The\n * destination reuses a source data value or getter descriptor when one exists, falling back to a\n * wrapper getter for dynamic/proxy/inherited properties.\n *\n * `id` names the module the exports belong to when this module was merged into a scope-hoisting\n * group, exactly as it does for {@link EsmExport}.\n *\n * Only the source descriptor's payload (value or getter) is reused. {@link esm} still defines a\n * fresh enumerable, non-configurable destination property, and no source setter is ever forwarded.\n */\nfunction esmReexport(\n this: TurbopackBaseContext,\n list: EsmReexports,\n id?: ModuleId\n): void {\n const bindings: EsmBindings = []\n let i = 0\n while (i < list.length) {\n const head = list[i++]\n const start = i\n while (i < list.length && list[i] !== REEXPORT_GROUP_END) i++\n const end = i\n // Skip the sentinel, if this group was terminated by one rather than by the end of the list.\n i++\n\n // Module ids are always strings or numbers. Other values are already-imported namespaces;\n // notably, interop with a CommonJS function export produces a callable namespace function.\n // `esmImport` may return a promise for an async module, but re-exports of async modules keep\n // going through `context.s`, so the producer never routes them here and this stays synchronous.\n const namespace = (\n typeof head === 'string' || typeof head === 'number'\n ? esmImport.call(this, head)\n : head\n ) as Record\n if (end - start === 1) {\n const pairs = (list[start] as string).split(',')\n for (let j = 0; j < pairs.length; j += 2) {\n appendReexportBinding(bindings, pairs[j], namespace, pairs[j + 1])\n }\n } else {\n for (let j = start; j < end; j += 2) {\n appendReexportBinding(\n bindings,\n list[j] as string,\n namespace,\n list[j + 1] as string\n )\n }\n }\n }\n esmExport.call(this, bindings, id)\n}\ncontextPrototype.S = esmReexport\n\nfunction appendReexportBinding(\n bindings: EsmBindings,\n exportedName: string,\n namespace: Record,\n importedName: string\n): void {\n const descriptor = Reflect.getOwnPropertyDescriptor(namespace, importedName)\n if (descriptor) {\n if ('value' in descriptor) {\n // Code generation only routes immutable imported bindings through this helper, so a data\n // descriptor is a constant export and can be captured once.\n bindings.push(exportedName, BindingTag_Value, descriptor.value)\n return\n }\n if (descriptor.get) {\n // Accessors remain live by reusing the source getter. `esmReexport` is only called by\n // generated code: every group head is either produced by\n // `this.i` or is the namespace variable from a generated `this.i` call. Every getter on such\n // a namespace is receiver-independent: ESM bindings are compiler-generated arrow functions,\n // and the CommonJS/dynamic-namespace paths create arrows in `createGetter` and\n // `getOwnPropertyDescriptor`. The destination can therefore reuse the exact function instead\n // of allocating another wrapper getter.\n bindings.push(exportedName, descriptor.get)\n return\n }\n }\n\n // Dynamic/proxy/inherited CommonJS edge cases may not expose a usable own descriptor.\n bindings.push(exportedName, () => namespace[importedName])\n}\n\ntype ReexportedObjects = Record[]\nfunction ensureDynamicExports(\n module: Module,\n exports: Exports\n): ReexportedObjects {\n let reexportedObjects: ReexportedObjects | undefined =\n REEXPORTED_OBJECTS.get(module)\n\n if (!reexportedObjects) {\n REEXPORTED_OBJECTS.set(module, (reexportedObjects = []))\n // Returns the re-exported object that provides `prop` as an own property,\n // or `undefined` if none does. The traps share this logic so they always\n // agree on which keys are synthesized from `reexportedObjects`. `default`\n // is never re-exported by `export *`, so it is never synthesized.\n const reexportOwning = (prop: PropertyKey) => {\n if (prop !== 'default') {\n for (const obj of reexportedObjects!) {\n if (hasOwnProperty.call(obj, prop)) return obj\n }\n }\n return undefined\n }\n // Modules with dynamic re-exports are not sealed by `esm()`, so the\n // target beneath the namespace stays extensible. That is what lets the\n // `ownKeys` and `getOwnPropertyDescriptor` traps legally report keys that\n // exist on `reexportedObjects` but not on the target itself.\n module.exports = module.namespaceObject = new Proxy(exports, {\n get(target, prop) {\n if (\n hasOwnProperty.call(target, prop) ||\n prop === 'default' ||\n prop === '__esModule'\n ) {\n return Reflect.get(target, prop)\n }\n const obj = reexportOwning(prop)\n return obj && Reflect.get(obj, prop)\n },\n // The namespace is read-only, like a real esm namespace object. The\n // re-exported modules can still mutate their own exports (exposed live\n // via `get`), but mutating the namespace itself is rejected. Refusing\n // here, rather than forwarding to the extensible target, also prevents an\n // assignment/definition from shadowing a dynamic re-export. It also\n // prevents delete from removing a static export.\n set() {\n return false\n },\n defineProperty() {\n return false\n },\n deleteProperty() {\n return false\n },\n // The `has` trap ensures that `'exportName' in starImports` will reflect\n // the truth of whether a key is exported.\n has(target, prop) {\n if (Reflect.has(target, prop)) return true\n if (prop === 'default' || prop === '__esModule') return false\n return reexportOwning(prop) !== undefined\n },\n // ownKeys and getOwnPropertyDescriptor together make the keys enumerable.\n // If a value is returned from `ownKeys` but its property descriptor is\n // not enumerable, it will not be visible to iterator methods.\n // Collectively, they allow code like the following:\n //\n // ```\n // // module.js re-exports dynamic CJS exports\n // export * from './legacyModule.cjs'\n //\n // // from another JS file, reference the re-exported dynamic values\n // import * as Namespace from './module.js'\n // Object.keys(Namespace)\n // ```\n ownKeys(target) {\n const keys = Reflect.ownKeys(target)\n for (const obj of reexportedObjects!) {\n for (const key of Reflect.ownKeys(obj)) {\n if (key !== 'default' && !keys.includes(key)) keys.push(key)\n }\n }\n return keys\n },\n getOwnPropertyDescriptor(target, prop) {\n const own = Reflect.getOwnPropertyDescriptor(target, prop)\n if (own || prop === 'default' || prop === '__esModule') return own\n const obj = reexportOwning(prop)\n if (obj) {\n // Synthetic keys don't exist on the target, so they MUST be\n // reported as configurable. However the set/delete traps above will\n // prevent them from actually being changed\n return {\n enumerable: true,\n configurable: true,\n get: () => Reflect.get(obj, prop),\n }\n }\n return undefined\n },\n })\n }\n return reexportedObjects\n}\n\n/**\n * Dynamically exports properties from an object\n */\nfunction dynamicExport(\n this: TurbopackBaseContext,\n object: Record,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Exports\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n const reexportedObjects = ensureDynamicExports(module, exports)\n\n if (typeof object === 'object' && object !== null) {\n reexportedObjects.push(object)\n }\n}\ncontextPrototype.j = dynamicExport\n\nfunction exportValue(\n this: TurbopackBaseContext,\n value: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = value\n}\ncontextPrototype.v = exportValue\n\nfunction exportNamespace(\n this: TurbopackBaseContext,\n namespace: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = module.namespaceObject = namespace\n}\ncontextPrototype.n = exportNamespace\n\nfunction createGetter(obj: Record, key: string | symbol) {\n return () => obj[key]\n}\n\n/**\n * @returns prototype of the object\n */\nconst getProto: (obj: any) => any = Object.getPrototypeOf\n ? (obj) => Object.getPrototypeOf(obj)\n : (obj) => obj.__proto__\n\n/** Prototypes that are not expanded for exports */\nconst LEAF_PROTOTYPES = [null, getProto({}), getProto([]), getProto(getProto)]\n\n/**\n * @param raw\n * @param ns\n * @param allowExportDefault\n * * `false`: will have the raw module as default export\n * * `true`: will have the default property as default export\n */\nfunction interopEsm(\n raw: Exports,\n ns: EsmNamespaceObject,\n allowExportDefault?: boolean\n) {\n const bindings: EsmBindings = []\n let defaultLocation = -1\n for (\n let current = raw;\n (typeof current === 'object' || typeof current === 'function') &&\n !LEAF_PROTOTYPES.includes(current);\n current = getProto(current)\n ) {\n for (const key of Object.getOwnPropertyNames(current)) {\n bindings.push(key, createGetter(raw, key))\n if (defaultLocation === -1 && key === 'default') {\n defaultLocation = bindings.length - 1\n }\n }\n }\n\n // this is not really correct\n // we should set the `default` getter if the imported module is a `.cjs file`\n if (!(allowExportDefault && defaultLocation >= 0)) {\n // Replace the binding with one for the namespace itself in order to preserve iteration order.\n if (defaultLocation >= 0) {\n // Replace the getter with the value\n bindings.splice(defaultLocation, 1, BindingTag_Value, raw)\n } else {\n bindings.push('default', BindingTag_Value, raw)\n }\n }\n\n esm(ns, bindings)\n return ns\n}\n\nfunction createNS(raw: Module['exports']): EsmNamespaceObject {\n if (typeof raw === 'function') {\n return function (this: any, ...args: any[]) {\n return raw.apply(this, args)\n }\n } else {\n return Object.create(null)\n }\n}\n\nfunction esmImport(\n this: TurbopackBaseContext,\n id: ModuleId\n): Exclude {\n const module = getOrInstantiateModuleFromParent(id, this.m)\n\n // any ES module has to have `module.namespaceObject` defined.\n if (module.namespaceObject) return module.namespaceObject\n\n // only ESM can be an async module, so we don't need to worry about exports being a promise here.\n const raw = module.exports\n return (module.namespaceObject = interopEsm(\n raw,\n createNS(raw),\n raw && (raw as any).__esModule\n ))\n}\ncontextPrototype.i = esmImport\n\nfunction asyncLoader(\n this: TurbopackBaseContext,\n moduleId: ModuleId\n): Promise {\n const loader = this.r(moduleId) as (\n importFunction: EsmImport\n ) => Promise\n return loader(esmImport.bind(this))\n}\ncontextPrototype.A = asyncLoader\n\n// Add a simple runtime require so that environments without one can still pass\n// `typeof require` CommonJS checks so that exports are correctly registered.\nconst runtimeRequire =\n // @ts-ignore\n typeof require === 'function'\n ? // @ts-ignore\n require\n : function require() {\n throw new Error('Unexpected use of runtime require')\n }\ncontextPrototype.t = runtimeRequire\n\nfunction commonJsRequire(\n this: TurbopackBaseContext,\n id: ModuleId\n): Exports {\n return getOrInstantiateModuleFromParent(id, this.m).exports\n}\ncontextPrototype.r = commonJsRequire\n\n/**\n * Remove fragments and query parameters since they are never part of the context map keys\n *\n * This matches how we parse patterns at resolving time. Arguably we should only do this for\n * strings passed to `import` but the resolve does it for `import` and `require` and so we do\n * here as well.\n */\nfunction parseRequest(request: string): string {\n // Per the URI spec fragments can contain `?` characters, so we should trim it off first\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5\n const hashIndex = request.indexOf('#')\n if (hashIndex !== -1) {\n request = request.substring(0, hashIndex)\n }\n\n const queryIndex = request.indexOf('?')\n if (queryIndex !== -1) {\n request = request.substring(0, queryIndex)\n }\n\n return request\n}\n/**\n * `require.context` and require/import expression runtime.\n */\nfunction moduleContext(map: ModuleContextMap): ModuleContext {\n function moduleContext(id: string): Exports {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].module()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.keys = (): string[] => {\n return Object.keys(map)\n }\n\n moduleContext.resolve = (id: string): ModuleId => {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].id()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.import = async (id: string) => {\n return await (moduleContext(id) as Promise)\n }\n\n return moduleContext\n}\ncontextPrototype.f = moduleContext\n\n/**\n * Returns the path of a chunk defined by its data.\n */\nfunction getChunkPath(chunkData: ChunkData): ChunkPath {\n return typeof chunkData === 'string' ? chunkData : chunkData.path\n}\n\n// Load the CompressedModuleFactories of a chunk into the `moduleFactories` Map.\n// The flat format alternates one or more module IDs with their factory function.\n// Strict factories can be prepended as a nested array.\nfunction installCompressedModuleFactories(\n chunkModules: CompressedModuleFactories,\n offset: number,\n moduleFactories: ModuleFactories,\n newModuleId?: (id: ModuleId) => void\n) {\n let i = offset\n const strictFactories = chunkModules[i]\n if (Array.isArray(strictFactories)) {\n installCompressedModuleFactories(\n strictFactories,\n 0,\n moduleFactories,\n newModuleId\n )\n i++\n }\n while (i < chunkModules.length) {\n let end = i + 1\n // Find our factory function\n while (\n end < chunkModules.length &&\n typeof chunkModules[end] !== 'function'\n ) {\n end++\n }\n if (end === chunkModules.length) {\n throw new Error('malformed chunk format, expected a factory function')\n }\n\n // Install the factory for each module ID that doesn't already have one.\n // When some IDs in this group already have a factory, reuse that existing\n // group factory for the missing IDs to keep all IDs in the group consistent.\n // Otherwise, install the factory from this chunk.\n const moduleFactoryFn = chunkModules[end] as Function\n let existingGroupFactory: Function | undefined = undefined\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n const existingFactory = moduleFactories.get(id)\n if (existingFactory) {\n existingGroupFactory = existingFactory\n break\n }\n }\n const factoryToInstall = existingGroupFactory ?? moduleFactoryFn\n\n let didInstallFactory = false\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n if (!moduleFactories.has(id)) {\n if (!didInstallFactory) {\n if (factoryToInstall === moduleFactoryFn) {\n applyModuleFactoryName(moduleFactoryFn)\n }\n didInstallFactory = true\n }\n moduleFactories.set(id, factoryToInstall)\n newModuleId?.(id)\n }\n }\n i = end + 1\n }\n}\n\n/**\n * A pseudo \"fake\" URL object to resolve to its relative path.\n *\n * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this\n * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid\n * hydration mismatch.\n *\n * This is based on webpack's existing implementation:\n * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js\n */\nconst relativeURL = function relativeURL(this: any, inputUrl: string) {\n const realUrl = new URL(inputUrl, 'x:/')\n const values: Record = {}\n for (const key in realUrl) values[key] = (realUrl as any)[key]\n values.href = inputUrl\n values.pathname = inputUrl.replace(/[?#].*/, '')\n values.origin = values.protocol = ''\n values.toString = values.toJSON = (..._args: Array) => inputUrl\n for (const key in values)\n Object.defineProperty(this, key, {\n enumerable: true,\n configurable: true,\n value: values[key],\n })\n}\nrelativeURL.prototype = URL.prototype\ncontextPrototype.U = relativeURL\n\n/**\n * Utility function to ensure all variants of an enum are handled.\n */\nfunction invariant(never: never, computeMessage: (arg: any) => string): never {\n throw new Error(`Invariant: ${computeMessage(never)}`)\n}\n\n/**\n * Constructs an error message for when a module factory is not available.\n */\nfunction factoryNotAvailableMessage(\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): string {\n let instantiationReason: string\n switch (sourceType) {\n case SourceType.Runtime:\n instantiationReason = `as a runtime entry of chunk ${sourceData}`\n break\n case SourceType.Parent:\n instantiationReason = `because it was required from module ${sourceData}`\n break\n case SourceType.Update:\n instantiationReason = 'because of an HMR update'\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`\n}\n\n/**\n * Returns a `file://` URL under a synthetic directory named after `root`\n * (`ROOT` for the project root), for when the real filesystem path is unknown.\n * The root name and path segments are percent-encoded so the result is always\n * a valid file URI.\n */\nfunction placeholderFileUrl(modulePath: string, root?: string): string {\n return `file:///${encodeURIComponent(root ?? 'ROOT')}/${modulePath\n .split('/')\n .map(encodeURIComponent)\n .join('/')}`\n}\n\n/**\n * A stub function to make `require` available but non-functional in ESM.\n */\nfunction requireStub(_moduleId: ModuleId): never {\n throw new Error('dynamic usage of require is not supported')\n}\ncontextPrototype.z = requireStub\n\n// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable.\ncontextPrototype.g = globalThis\n\ntype ContextConstructor = {\n new (module: Module, exports: Exports): TurbopackBaseContext\n}\n\nfunction applyModuleFactoryName(factory: Function) {\n // Give the module factory a nice name to improve stack traces.\n Object.defineProperty(factory, 'name', {\n value: 'module evaluation',\n })\n}\n"],"names":["SourceType","createModuleWithDirectionFlag","REEXPORTED_OBJECTS","WeakMap","Context","module","exports","m","e","contextPrototype","prototype","hasOwnProperty","Object","toStringTag","Symbol","defineProp","obj","name","options","call","defineProperty","getOverwrittenModule","moduleCache","id","get","undefined","createModuleWithDirection","createModuleObject","set","error","namespaceObject","parents","children","BindingTag_Value","REEXPORT_GROUP_END","esm","bindings","dynamic","value","i","length","propName","tagOrFunction","enumerable","writable","Error","getterFn","setterFn","seal","esmExport","c","s","esmReexport","list","head","start","end","namespace","esmImport","pairs","split","j","appendReexportBinding","S","exportedName","importedName","descriptor","Reflect","getOwnPropertyDescriptor","push","ensureDynamicExports","reexportedObjects","reexportOwning","prop","Proxy","target","deleteProperty","has","ownKeys","keys","key","includes","own","configurable","dynamicExport","object","exportValue","v","exportNamespace","n","createGetter","getProto","getPrototypeOf","__proto__","LEAF_PROTOTYPES","interopEsm","raw","ns","allowExportDefault","defaultLocation","current","getOwnPropertyNames","splice","createNS","args","apply","create","getOrInstantiateModuleFromParent","__esModule","asyncLoader","moduleId","loader","r","bind","A","runtimeRequire","require","require1","t","commonJsRequire","parseRequest","request","hashIndex","indexOf","substring","queryIndex","moduleContext","map","code","resolve","import","f","getChunkPath","chunkData","path","installCompressedModuleFactories","chunkModules","offset","moduleFactories","newModuleId","strictFactories","Array","isArray","moduleFactoryFn","existingGroupFactory","existingFactory","factoryToInstall","didInstallFactory","applyModuleFactoryName","relativeURL","inputUrl","realUrl","URL","values","href","pathname","replace","origin","protocol","toString","toJSON","_args","U","invariant","never","computeMessage","factoryNotAvailableMessage","sourceType","sourceData","instantiationReason","placeholderFileUrl","modulePath","root","encodeURIComponent","join","requireStub","_moduleId","z","g","globalThis","factory"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 651, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/async-module.ts"],"sourcesContent":["/// \n/// \n\n/**\n * Top-level-await / async-module machinery. This is only included in the runtime\n * when the module graph actually contains an async module (a module with\n * top-level await, or one that transitively depends on one). When no async\n * module is present, the chunk items never reference `__turbopack_context__.a`,\n * so this whole file can be omitted.\n *\n * everything below is adapted from webpack\n * https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13\n */\n\nconst turbopackQueues = Symbol('turbopack queues')\nconst turbopackExports = Symbol('turbopack exports')\nconst turbopackError = Symbol('turbopack error')\n\nconst enum QueueStatus {\n Unknown = -1,\n Unresolved = 0,\n Resolved = 1,\n}\n\ntype AsyncQueueFn = (() => void) & { queueCount: number }\ntype AsyncQueue = AsyncQueueFn[] & {\n status: QueueStatus\n}\n\ntype Dep = Exports | AsyncModulePromise | Promise\n\ntype AsyncModuleExt = {\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => void\n [turbopackExports]: Exports\n [turbopackError]?: any\n}\n\ntype AsyncModulePromise = Promise & AsyncModuleExt\n\nfunction isPromise(maybePromise: any): maybePromise is Promise {\n return (\n maybePromise != null &&\n typeof maybePromise === 'object' &&\n 'then' in maybePromise &&\n typeof maybePromise.then === 'function'\n )\n}\n\nfunction isAsyncModuleExt(obj: T): obj is AsyncModuleExt & T {\n return turbopackQueues in obj\n}\n\nfunction createPromise() {\n let resolve: (value: T | PromiseLike) => void\n let reject: (reason?: any) => void\n\n const promise = new Promise((res, rej) => {\n reject = rej\n resolve = res\n })\n\n return {\n promise,\n resolve: resolve!,\n reject: reject!,\n }\n}\n\nfunction resolveQueue(queue?: AsyncQueue) {\n if (queue && queue.status !== QueueStatus.Resolved) {\n queue.status = QueueStatus.Resolved\n queue.forEach((fn) => fn.queueCount--)\n queue.forEach((fn) => (fn.queueCount-- ? fn.queueCount++ : fn()))\n }\n}\n\nfunction wrapDeps(deps: Dep[]): AsyncModuleExt[] {\n return deps.map((dep): AsyncModuleExt => {\n if (dep !== null && typeof dep === 'object') {\n if (isAsyncModuleExt(dep)) return dep\n if (isPromise(dep)) {\n const queue: AsyncQueue = Object.assign([], {\n status: QueueStatus.Unresolved,\n })\n\n const obj: AsyncModuleExt = {\n [turbopackExports]: {},\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => fn(queue),\n }\n\n dep.then(\n (res) => {\n obj[turbopackExports] = res\n resolveQueue(queue)\n },\n (err) => {\n obj[turbopackError] = err\n resolveQueue(queue)\n }\n )\n\n return obj\n }\n }\n\n return {\n [turbopackExports]: dep,\n [turbopackQueues]: () => {},\n }\n })\n}\n\nfunction asyncModule(\n this: TurbopackBaseContext,\n body: (\n handleAsyncDependencies: (\n deps: Dep[]\n ) => Exports[] | Promise<() => Exports[]>,\n asyncResult: (err?: any) => void\n ) => void,\n hasAwait: boolean\n) {\n const module = this.m\n const queue: AsyncQueue | undefined = hasAwait\n ? Object.assign([], { status: QueueStatus.Unknown })\n : undefined\n\n const depQueues: Set = new Set()\n\n const { resolve, reject, promise: rawPromise } = createPromise()\n\n const promise: AsyncModulePromise = Object.assign(rawPromise, {\n [turbopackExports]: module.exports,\n [turbopackQueues]: (fn) => {\n queue && fn(queue)\n depQueues.forEach(fn)\n promise['catch'](() => {})\n },\n } satisfies AsyncModuleExt)\n\n const attributes: PropertyDescriptor = {\n get(): any {\n return promise\n },\n set(v: any) {\n // Calling `esmExport` leads to this.\n if (v !== promise) {\n promise[turbopackExports] = v\n }\n },\n }\n\n Object.defineProperty(module, 'exports', attributes)\n Object.defineProperty(module, 'namespaceObject', attributes)\n\n function handleAsyncDependencies(deps: Dep[]) {\n const currentDeps = wrapDeps(deps)\n\n const getResult = () =>\n currentDeps.map((d) => {\n if (d[turbopackError]) throw d[turbopackError]\n return d[turbopackExports]\n })\n\n const { promise, resolve } = createPromise<() => Exports[]>()\n\n const fn: AsyncQueueFn = Object.assign(() => resolve(getResult), {\n queueCount: 0,\n })\n\n function fnQueue(q: AsyncQueue) {\n if (q !== queue && !depQueues.has(q)) {\n depQueues.add(q)\n if (q && q.status === QueueStatus.Unresolved) {\n fn.queueCount++\n q.push(fn)\n }\n }\n }\n\n currentDeps.map((dep) => dep[turbopackQueues](fnQueue))\n\n return fn.queueCount ? promise : getResult()\n }\n\n function asyncResult(err?: any) {\n if (err) {\n reject((promise[turbopackError] = err))\n } else {\n resolve(promise[turbopackExports])\n }\n\n resolveQueue(queue)\n }\n\n body(handleAsyncDependencies, asyncResult)\n\n if (queue && queue.status === QueueStatus.Unknown) {\n queue.status = QueueStatus.Unresolved\n }\n}\ncontextPrototype.a = asyncModule\n"],"names":["turbopackQueues","Symbol","turbopackExports","turbopackError","isPromise","maybePromise","then","isAsyncModuleExt","obj","createPromise","resolve","reject","promise","Promise","res","rej","resolveQueue","queue","status","forEach","fn","queueCount","wrapDeps","deps","map","dep","Object","assign","err","asyncModule","body","hasAwait","module","m","undefined","depQueues","Set","rawPromise","exports","attributes","get","set","v","defineProperty","handleAsyncDependencies","currentDeps","getResult","d","fnQueue","q","has","add","push","asyncResult","contextPrototype","a"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 783, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/base-externals-utils.ts"],"sourcesContent":["/// \n\n/// A 'base' utilities to support runtime can have externals.\n/// Currently this is for node.js / edge runtime both.\n/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead.\n\nasync function externalImport(id: DependencySpecifier) {\n let raw\n try {\n raw = await import(id)\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (raw && raw.__esModule && raw.default && 'default' in raw.default) {\n return interopEsm(raw.default, createNS(raw), true)\n }\n\n return raw\n}\ncontextPrototype.y = externalImport\n\nfunction externalRequire(\n id: ModuleId,\n thunk: () => any,\n esm: boolean = false\n): Exports | EsmNamespaceObject {\n let raw\n try {\n raw = thunk()\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (!esm || raw.__esModule) {\n return raw\n }\n\n return interopEsm(raw, createNS(raw), true)\n}\n\nexternalRequire.resolve = (\n id: string,\n options?: {\n paths?: string[]\n }\n) => {\n return require.resolve(id, options)\n}\ncontextPrototype.x = externalRequire\n"],"names":["externalImport","id","raw","err","Error","__esModule","default","interopEsm","createNS","contextPrototype","y","externalRequire","thunk","esm","resolve","options","require","x"],"mappings":"AAAA,2DAA2D;AAE3D,6DAA6D;AAC7D,sDAAsD;AACtD,qGAAqG;AAErG,eAAeA,eAAeC,EAAuB;IACnD,IAAIC;IACJ,IAAI;QACFA,MAAM,MAAM,MAAM,CAACD;IACrB,EAAE,OAAOE,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAID,OAAOA,IAAIG,UAAU,IAAIH,IAAII,OAAO,IAAI,aAAaJ,IAAII,OAAO,EAAE;QACpE,OAAOC,WAAWL,IAAII,OAAO,EAAEE,SAASN,MAAM;IAChD;IAEA,OAAOA;AACT;AACAO,iBAAiBC,CAAC,GAAGV;AAErB,SAASW,gBACPV,EAAY,EACZW,KAAgB,EAChBC,MAAe,KAAK;IAEpB,IAAIX;IACJ,IAAI;QACFA,MAAMU;IACR,EAAE,OAAOT,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAI,CAACU,OAAOX,IAAIG,UAAU,EAAE;QAC1B,OAAOH;IACT;IAEA,OAAOK,WAAWL,KAAKM,SAASN,MAAM;AACxC;AAEAS,gBAAgBG,OAAO,GAAG,CACxBb,IACAc;IAIA,OAAOC,QAAQF,OAAO,CAACb,IAAIc;AAC7B;AACAN,iBAAiBQ,CAAC,GAAGN","ignoreList":[0]}}, + {"offset": {"line": 824, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/node-externals-utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\ndeclare var RUNTIME_PUBLIC_PATH: string\ndeclare var RELATIVE_ROOT_PATH: string\ndeclare var ASSET_PREFIX: string\n\nconst path = require('path')\n\nconst relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.')\n// Compute the relative path to the `distDir`.\nconst relativePathToDistRoot = path.join(\n relativePathToRuntimeRoot,\n RELATIVE_ROOT_PATH\n)\nconst RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot)\n// Compute the absolute path to the root, by stripping distDir from the absolute path to this file.\nconst ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot)\n\n/**\n * Returns an absolute path to the given module path.\n * Module path should be relative, either path to a file or a directory.\n *\n * This fn allows to calculate an absolute path for some global static values, such as\n * `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time.\n * See ImportMetaBinding::code_generation for the usage.\n */\nfunction resolveAbsolutePath(modulePath?: string): string {\n if (modulePath) {\n return path.join(ABSOLUTE_ROOT, modulePath)\n }\n return ABSOLUTE_ROOT\n}\nContext.prototype.P = resolveAbsolutePath\n\n/**\n * Returns an absolute `file://` URL for the given module path, which is\n * relative to the project root or the named `root`.\n *\n * Uses `url.pathToFileURL` so that the resulting URL is a valid file URI on\n * all platforms (forward slashes on Windows, drive letters handled\n * correctly, path segments URL-encoded).\n *\n * The location of a named `root` isn't known at runtime (the output may have\n * been moved away from the sources), so this returns a placeholder URL for it.\n */\nfunction resolveFileUrl(modulePath: string, root?: string): string {\n if (root !== undefined) {\n return placeholderFileUrl(modulePath, root)\n }\n return require('url').pathToFileURL(resolveAbsolutePath(modulePath)).href\n}\nContext.prototype.F = resolveFileUrl\n"],"names":["path","require","relativePathToRuntimeRoot","relative","RUNTIME_PUBLIC_PATH","relativePathToDistRoot","join","RELATIVE_ROOT_PATH","RUNTIME_ROOT","resolve","__filename","ABSOLUTE_ROOT","resolveAbsolutePath","modulePath","Context","prototype","P","resolveFileUrl","root","undefined","placeholderFileUrl","pathToFileURL","href","F"],"mappings":"AAAA,oDAAoD,GAMpD,MAAMA,OAAOC,QAAQ;AAErB,MAAMC,4BAA4BF,KAAKG,QAAQ,CAACC,qBAAqB;AACrE,8CAA8C;AAC9C,MAAMC,yBAAyBL,KAAKM,IAAI,CACtCJ,2BACAK;AAEF,MAAMC,eAAeR,KAAKS,OAAO,CAACC,YAAYR;AAC9C,mGAAmG;AACnG,MAAMS,gBAAgBX,KAAKS,OAAO,CAACC,YAAYL;AAE/C;;;;;;;CAOC,GACD,SAASO,oBAAoBC,UAAmB;IAC9C,IAAIA,YAAY;QACd,OAAOb,KAAKM,IAAI,CAACK,eAAeE;IAClC;IACA,OAAOF;AACT;AACAG,QAAQC,SAAS,CAACC,CAAC,GAAGJ;AAEtB;;;;;;;;;;CAUC,GACD,SAASK,eAAeJ,UAAkB,EAAEK,IAAa;IACvD,IAAIA,SAASC,WAAW;QACtB,OAAOC,mBAAmBP,YAAYK;IACxC;IACA,OAAOjB,QAAQ,OAAOoB,aAAa,CAACT,oBAAoBC,aAAaS,IAAI;AAC3E;AACAR,QAAQC,SAAS,CAACQ,CAAC,GAAGN","ignoreList":[0]}}, + {"offset": {"line": 862, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/runtime-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// \n/// \n/// \n/// \n\n/**\n * Base Node.js runtime shared between production and development.\n * Contains chunk loading, module caching, and other non-HMR functionality.\n */\n\nprocess.env.TURBOPACK = '1'\n\nconst url = require('url') as typeof import('url')\n\nconst moduleFactories: ModuleFactories = new Map()\nconst moduleCache: ModuleCache = new Map()\n\n/**\n * Returns an absolute path to the given module's id.\n */\nfunction resolvePathFromModule(\n this: TurbopackBaseContext,\n moduleId: string\n): string {\n const exported = this.r(moduleId)\n const exportedPath = exported?.default ?? exported\n if (typeof exportedPath !== 'string') {\n return exported as any\n }\n\n const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length)\n const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix)\n\n return url.pathToFileURL(resolved).href\n}\n\n/**\n * Exports a URL value. No suffix is added in Node.js runtime.\n */\nfunction exportUrl(\n this: TurbopackBaseContext,\n urlValue: string,\n id: ModuleId | undefined\n) {\n exportValue.call(this, urlValue, id)\n}\n\nfunction loadRuntimeChunk(sourcePath: ChunkPath, chunkData: ChunkData): void {\n if (typeof chunkData === 'string') {\n loadRuntimeChunkPath(sourcePath, chunkData)\n } else {\n loadRuntimeChunkPath(sourcePath, chunkData.path)\n }\n}\n\nconst loadedChunks = new Set()\nconst unsupportedLoadChunk = Promise.resolve(undefined)\nconst loadedChunk: Promise = Promise.resolve(undefined)\nconst chunkCache = new Map>()\n\nfunction clearChunkCache() {\n chunkCache.clear()\n loadedChunks.clear()\n}\n\nfunction loadRuntimeChunkPath(\n sourcePath: ChunkPath,\n chunkPath: ChunkPath\n): void {\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return\n }\n\n if (loadedChunks.has(chunkPath)) {\n return\n }\n\n try {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n loadedChunks.add(chunkPath)\n } catch (cause) {\n let errorMessage = `Failed to load chunk ${chunkPath}`\n\n if (sourcePath) {\n errorMessage += ` from runtime for chunk ${sourcePath}`\n }\n\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n throw error\n }\n}\n\nfunction loadChunkAsync(\n this: TurbopackBaseContext,\n chunkData: ChunkData\n): Promise {\n const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return unsupportedLoadChunk\n }\n\n let entry = chunkCache.get(chunkPath)\n if (entry === undefined) {\n try {\n // resolve to an absolute path to simplify `require` handling\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n // TODO: consider switching to `import()` to enable concurrent chunk loading and async file io\n // However this is incompatible with hot reloading (since `import` doesn't use the require cache)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n entry = loadedChunk\n } catch (cause) {\n const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n\n // Cache the failure promise, future requests will also get this same rejection\n entry = Promise.reject(error)\n }\n chunkCache.set(chunkPath, entry)\n }\n // TODO: Return an instrumented Promise that React can use instead of relying on referential equality.\n return entry\n}\ncontextPrototype.l = loadChunkAsync\n\nfunction loadChunkAsyncByUrl(\n this: TurbopackBaseContext,\n chunkUrl: string\n) {\n const path = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT)) as ChunkPath\n return loadChunkAsync.call(this, path)\n}\ncontextPrototype.L = loadChunkAsyncByUrl\n\n// Shared runtime primitive: the root that on-disk chunk paths are resolved\n// against. Used by the bundled wasm helper (exposed as `__turbopack_runtime_root__`).\ncontextPrototype.w = RUNTIME_ROOT\n\nconst regexJsUrl = /\\.js(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment.\n */\nfunction isJs(chunkUrlOrPath: ChunkUrl | ChunkPath): boolean {\n return regexJsUrl.test(chunkUrlOrPath)\n}\n"],"names":["process","env","TURBOPACK","url","require","moduleFactories","Map","moduleCache","resolvePathFromModule","moduleId","exported","r","exportedPath","default","strippedAssetPrefix","slice","ASSET_PREFIX","length","resolved","path","resolve","RUNTIME_ROOT","pathToFileURL","href","exportUrl","urlValue","id","exportValue","call","loadRuntimeChunk","sourcePath","chunkData","loadRuntimeChunkPath","loadedChunks","Set","unsupportedLoadChunk","Promise","undefined","loadedChunk","chunkCache","clearChunkCache","clear","chunkPath","isJs","has","chunkModules","installCompressedModuleFactories","add","cause","errorMessage","error","Error","name","loadChunkAsync","entry","get","m","reject","set","contextPrototype","l","loadChunkAsyncByUrl","chunkUrl","path1","fileURLToPath","URL","L","w","regexJsUrl","chunkUrlOrPath","test"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 977, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/build-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// \n\n/**\n * Production Node.js runtime.\n * Uses ModuleWithDirection and simple module instantiation without HMR support.\n */\n\n// moduleCache and moduleFactories are declared in runtime-base.ts\n\n// this is read in runtime-utils.ts so it creates a module with direction for hmr\ncreateModuleWithDirectionFlag = true\n\ninterface TurbopackNodeBuildContext\n extends TurbopackBaseContext {\n R: ResolvePathFromModule\n x: ExternalRequire\n y: ExternalImport\n C: typeof clearChunkCache\n}\n\nconst nodeContextPrototype = Context.prototype as TurbopackNodeBuildContext\n\nnodeContextPrototype.q = exportUrl\nnodeContextPrototype.M = moduleFactories\n// Cast moduleCache to ModuleWithDirection for production mode\nnodeContextPrototype.c = moduleCache as ModuleCache\nnodeContextPrototype.R = resolvePathFromModule\nnodeContextPrototype.C = clearChunkCache\n\nfunction instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): ModuleWithDirection {\n const moduleFactory = moduleFactories.get(id)\n if (typeof moduleFactory !== 'function') {\n // This can happen if modules incorrectly handle HMR disposes/updates,\n // e.g. when they keep a `setTimeout` around which still executes old code\n // and contains e.g. a `require(\"something\")` call.\n throw new Error(factoryNotAvailableMessage(id, sourceType, sourceData))\n }\n\n const module: ModuleWithDirection = createModuleWithDirection(id)\n const exports = module.exports\n moduleCache.set(id, module)\n\n const context =\n new (Context as any as ContextConstructor)(\n module,\n exports\n )\n // NOTE(alexkirsz) This can fail when the module encounters a runtime error.\n try {\n moduleFactory(context, module, exports)\n } catch (error) {\n module.error = error as any\n throw error\n }\n\n ;(module as any).loaded = true\n if (module.namespaceObject && module.exports !== module.namespaceObject) {\n // in case of a circular dependency: cjs1 -> esm2 -> cjs1\n interopEsm(module.exports, module.namespaceObject)\n }\n\n return module\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it if it is not cached.\n */\n// @ts-ignore\nfunction getOrInstantiateModuleFromParent(\n id: ModuleId,\n sourceModule: ModuleWithDirection\n): ModuleWithDirection {\n const module = moduleCache.get(id) as ModuleWithDirection | undefined\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n\n return module\n }\n\n return instantiateModule(id, SourceType.Parent, sourceModule.id)\n}\n\n/**\n * Instantiates a runtime module.\n */\nfunction instantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): ModuleWithDirection {\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached.\n */\n// @ts-ignore TypeScript doesn't separate this module space from the browser runtime\nfunction getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): ModuleWithDirection {\n const module = moduleCache.get(moduleId) as ModuleWithDirection | undefined\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateRuntimeModule(chunkPath, moduleId)\n}\n\nmodule.exports = (sourcePath: ChunkPath) => ({\n m: (id: ModuleId) => getOrInstantiateRuntimeModule(sourcePath, id),\n c: (chunkData: ChunkData) => loadRuntimeChunk(sourcePath, chunkData),\n})\n"],"names":["createModuleWithDirectionFlag","nodeContextPrototype","Context","prototype","q","exportUrl","M","moduleFactories","c","moduleCache","R","resolvePathFromModule","C","clearChunkCache","instantiateModule","id","sourceType","sourceData","moduleFactory","get","Error","factoryNotAvailableMessage","module1","createModuleWithDirection","exports","set","context","error","loaded","namespaceObject","interopEsm","getOrInstantiateModuleFromParent","sourceModule","SourceType","Parent","instantiateRuntimeModule","chunkPath","moduleId","Runtime","getOrInstantiateRuntimeModule","module","sourcePath","m","chunkData","loadRuntimeChunk"],"mappings":"AAAA,oDAAoD,GAEpD,0CAA0C;AAE1C;;;CAGC,GAED,kEAAkE;AAElE,iFAAiF;AACjFA,gCAAgC;AAUhC,MAAMC,uBAAuBC,QAAQC,SAAS;AAE9CF,qBAAqBG,CAAC,GAAGC;AACzBJ,qBAAqBK,CAAC,GAAGC;AACzB,8DAA8D;AAC9DN,qBAAqBO,CAAC,GAAGC;AACzBR,qBAAqBS,CAAC,GAAGC;AACzBV,qBAAqBW,CAAC,GAAGC;AAEzB,SAASC,kBACPC,EAAY,EACZC,UAAsB,EACtBC,UAAsB;IAEtB,MAAMC,gBAAgBX,gBAAgBY,GAAG,CAACJ;IAC1C,IAAI,OAAOG,kBAAkB,YAAY;QACvC,sEAAsE;QACtE,0EAA0E;QAC1E,mDAAmD;QACnD,MAAM,IAAIE,MAAMC,2BAA2BN,IAAIC,YAAYC;IAC7D;IAEA,MAAMK,UAA8BC,0BAA0BR;IAC9D,MAAMS,UAAUF,QAAOE,OAAO;IAC9Bf,YAAYgB,GAAG,CAACV,IAAIO;IAEpB,MAAMI,UACJ,IAAKxB,QACHoB,SACAE;IAEJ,4EAA4E;IAC5E,IAAI;QACFN,cAAcQ,SAASJ,SAAQE;IACjC,EAAE,OAAOG,OAAO;QACdL,QAAOK,KAAK,GAAGA;QACf,MAAMA;IACR;;IAEEL,QAAeM,MAAM,GAAG;IAC1B,IAAIN,QAAOO,eAAe,IAAIP,QAAOE,OAAO,KAAKF,QAAOO,eAAe,EAAE;QACvE,yDAAyD;QACzDC,WAAWR,QAAOE,OAAO,EAAEF,QAAOO,eAAe;IACnD;IAEA,OAAOP;AACT;AAEA;;CAEC,GACD,aAAa;AACb,SAASS,iCACPhB,EAAY,EACZiB,YAAiC;IAEjC,MAAMV,UAASb,YAAYU,GAAG,CAACJ;IAE/B,IAAIO,SAAQ;QACV,IAAIA,QAAOK,KAAK,EAAE;YAChB,MAAML,QAAOK,KAAK;QACpB;QAEA,OAAOL;IACT;IAEA,OAAOR,kBAAkBC,IAAIkB,WAAWC,MAAM,EAAEF,aAAajB,EAAE;AACjE;AAEA;;CAEC,GACD,SAASoB,yBACPC,SAAoB,EACpBC,QAAkB;IAElB,OAAOvB,kBAAkBuB,UAAUJ,WAAWK,OAAO,EAAEF;AACzD;AAEA;;CAEC,GACD,oFAAoF;AACpF,SAASG,8BACPH,SAAoB,EACpBC,QAAkB;IAElB,MAAMf,UAASb,YAAYU,GAAG,CAACkB;IAE/B,IAAIf,SAAQ;QACV,IAAIA,QAAOK,KAAK,EAAE;YAChB,MAAML,QAAOK,KAAK;QACpB;QACA,OAAOL;IACT;IAEA,OAAOa,yBAAyBC,WAAWC;AAC7C;AAEAG,OAAOhB,OAAO,GAAG,CAACiB,aAA0B,CAAC;QAC3CC,GAAG,CAAC3B,KAAiBwB,8BAA8BE,YAAY1B;QAC/DP,GAAG,CAACmC,YAAyBC,iBAAiBH,YAAYE;IAC5D,CAAC","ignoreList":[0]}}] +} \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/node_modules_20v-8wlfss9m1._.js b/e-commerce/.next/build/chunks/node_modules_20v-8wlfss9m1._.js new file mode 100644 index 0000000000000000000000000000000000000000..0a088bc16b594a00a79804e167c5f4f609f9635e --- /dev/null +++ b/e-commerce/.next/build/chunks/node_modules_20v-8wlfss9m1._.js @@ -0,0 +1,6773 @@ +module.exports = [ +(()=>{"use strict";return[ +"[project]/node_modules/postcss/lib/at-rule.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Container = __turbopack_context__.r("[project]/node_modules/postcss/lib/container.js [postcss] (ecmascript)"); +class AtRule extends Container { + constructor(defaults){ + super(defaults); + this.type = 'atrule'; + } + append(...children) { + if (!this.proxyOf.nodes) this.nodes = []; + return super.append(...children); + } + prepend(...children) { + if (!this.proxyOf.nodes) this.nodes = []; + return super.prepend(...children); + } +} +module.exports = AtRule; +AtRule.default = AtRule; +Container.registerAtRule(AtRule); +}), +"[project]/node_modules/postcss/lib/comment.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Node = __turbopack_context__.r("[project]/node_modules/postcss/lib/node.js [postcss] (ecmascript)"); +class Comment extends Node { + constructor(defaults){ + super(defaults); + this.type = 'comment'; + } +} +module.exports = Comment; +Comment.default = Comment; +}), +"[project]/node_modules/postcss/lib/container.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Comment = __turbopack_context__.r("[project]/node_modules/postcss/lib/comment.js [postcss] (ecmascript)"); +let Declaration = __turbopack_context__.r("[project]/node_modules/postcss/lib/declaration.js [postcss] (ecmascript)"); +let Node = __turbopack_context__.r("[project]/node_modules/postcss/lib/node.js [postcss] (ecmascript)"); +let { isClean, my } = __turbopack_context__.r("[project]/node_modules/postcss/lib/symbols.js [postcss] (ecmascript)"); +let AtRule, parse, Root, Rule; +function cleanSource(nodes) { + return nodes.map((i)=>{ + if (i.nodes) i.nodes = cleanSource(i.nodes); + delete i.source; + return i; + }); +} +function markTreeDirty(node) { + node[isClean] = false; + if (node.proxyOf.nodes) { + for (let i of node.proxyOf.nodes){ + markTreeDirty(i); + } + } +} +class Container extends Node { + append(...children) { + for (let child of children){ + let nodes = this.normalize(child, this.last); + for (let node of nodes)this.proxyOf.nodes.push(node); + } + this.markDirty(); + return this; + } + cleanRaws(keepBetween) { + super.cleanRaws(keepBetween); + if (this.nodes) { + for (let node of this.nodes)node.cleanRaws(keepBetween); + } + } + each(callback) { + if (!this.proxyOf.nodes) return undefined; + let iterator = this.getIterator(); + let index, result; + while(this.indexes[iterator] < this.proxyOf.nodes.length){ + index = this.indexes[iterator]; + result = callback(this.proxyOf.nodes[index], index); + if (result === false) break; + this.indexes[iterator] += 1; + } + delete this.indexes[iterator]; + return result; + } + every(condition) { + return this.nodes.every(condition); + } + getIterator() { + if (!this.lastEach) this.lastEach = 0; + if (!this.indexes) this.indexes = {}; + this.lastEach += 1; + let iterator = this.lastEach; + this.indexes[iterator] = 0; + return iterator; + } + getProxyProcessor() { + return { + get (node, prop) { + if (prop === 'proxyOf') { + return node; + } else if (!node[prop]) { + return node[prop]; + } else if (prop === 'each' || typeof prop === 'string' && prop.startsWith('walk')) { + return (...args)=>{ + return node[prop](...args.map((i)=>{ + if (typeof i === 'function') { + return (child, index)=>i(child.toProxy(), index); + } else { + return i; + } + })); + }; + } else if (prop === 'every' || prop === 'some') { + return (cb)=>{ + return node[prop]((child, ...other)=>cb(child.toProxy(), ...other)); + }; + } else if (prop === 'root') { + return ()=>node.root().toProxy(); + } else if (prop === 'nodes') { + return node.nodes.map((i)=>i.toProxy()); + } else if (prop === 'first' || prop === 'last') { + return node[prop].toProxy(); + } else { + return node[prop]; + } + }, + set (node, prop, value) { + if (node[prop] === value) return true; + node[prop] = value; + if (prop === 'name' || prop === 'params' || prop === 'selector') { + node.markDirty(); + } + return true; + } + }; + } + index(child) { + if (typeof child === 'number') return child; + if (child.proxyOf) child = child.proxyOf; + return this.proxyOf.nodes.indexOf(child); + } + insertAfter(exist, add) { + let existIndex = this.index(exist); + let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse(); + existIndex = this.index(exist); + for (let node of nodes)this.proxyOf.nodes.splice(existIndex + 1, 0, node); + let index; + for(let id in this.indexes){ + index = this.indexes[id]; + if (existIndex < index) { + this.indexes[id] = index + nodes.length; + } + } + this.markDirty(); + return this; + } + insertBefore(exist, add) { + let existIndex = this.index(exist); + let type = existIndex === 0 ? 'prepend' : false; + let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse(); + existIndex = this.index(exist); + for (let node of nodes)this.proxyOf.nodes.splice(existIndex, 0, node); + let index; + for(let id in this.indexes){ + index = this.indexes[id]; + if (existIndex <= index) { + this.indexes[id] = index + nodes.length; + } + } + this.markDirty(); + return this; + } + normalize(nodes, sample) { + if (typeof nodes === 'string') { + nodes = cleanSource(parse(nodes).nodes); + } else if (typeof nodes === 'undefined') { + nodes = []; + } else if (Array.isArray(nodes)) { + nodes = nodes.slice(0); + for (let i of nodes){ + if (i.parent) i.parent.removeChild(i, 'ignore'); + } + } else if (nodes.type === 'root' && this.type !== 'document') { + nodes = nodes.nodes.slice(0); + for (let i of nodes){ + if (i.parent) i.parent.removeChild(i, 'ignore'); + } + } else if (nodes.type) { + nodes = [ + nodes + ]; + } else if (nodes.prop) { + if (typeof nodes.value === 'undefined') { + throw new Error('Value field is missed in node creation'); + } else if (typeof nodes.value !== 'string') { + nodes.value = String(nodes.value); + } + nodes = [ + new Declaration(nodes) + ]; + } else if (nodes.selector || nodes.selectors) { + nodes = [ + new Rule(nodes) + ]; + } else if (nodes.name) { + nodes = [ + new AtRule(nodes) + ]; + } else if (nodes.text) { + nodes = [ + new Comment(nodes) + ]; + } else { + throw new Error('Unknown node type in node creation'); + } + let processed = nodes.map((i)=>{ + /* c8 ignore next */ if (!i[my]) Container.rebuild(i); + i = i.proxyOf; + if (i.parent) i.parent.removeChild(i); + if (i[isClean]) markTreeDirty(i); + if (!i.raws) i.raws = {}; + if (typeof i.raws.before === 'undefined') { + if (sample && typeof sample.raws.before !== 'undefined') { + i.raws.before = sample.raws.before.replace(/\S/g, ''); + } + } + i.parent = this.proxyOf; + return i; + }); + return processed; + } + prepend(...children) { + children = children.reverse(); + for (let child of children){ + let nodes = this.normalize(child, this.first, 'prepend').reverse(); + for (let node of nodes)this.proxyOf.nodes.unshift(node); + for(let id in this.indexes){ + this.indexes[id] = this.indexes[id] + nodes.length; + } + } + this.markDirty(); + return this; + } + push(child) { + child.parent = this; + this.proxyOf.nodes.push(child); + return this; + } + removeAll() { + for (let node of this.proxyOf.nodes)node.parent = undefined; + this.proxyOf.nodes = []; + this.markDirty(); + return this; + } + removeChild(child) { + child = this.index(child); + this.proxyOf.nodes[child].parent = undefined; + this.proxyOf.nodes.splice(child, 1); + let index; + for(let id in this.indexes){ + index = this.indexes[id]; + if (index >= child) { + this.indexes[id] = index - 1; + } + } + this.markDirty(); + return this; + } + replaceValues(pattern, opts, callback) { + if (!callback) { + callback = opts; + opts = {}; + } + this.walkDecls((decl)=>{ + if (opts.props && !opts.props.includes(decl.prop)) return; + if (opts.fast && !decl.value.includes(opts.fast)) return; + decl.value = decl.value.replace(pattern, callback); + }); + this.markDirty(); + return this; + } + some(condition) { + return this.nodes.some(condition); + } + walk(callback) { + return this.each((child, i)=>{ + let result; + try { + result = callback(child, i); + } catch (e) { + throw child.addToError(e); + } + if (result !== false && child.walk) { + result = child.walk(callback); + } + return result; + }); + } + walkAtRules(name, callback) { + if (!callback) { + callback = name; + return this.walk((child, i)=>{ + if (child.type === 'atrule') { + return callback(child, i); + } + }); + } + if (name instanceof RegExp) { + return this.walk((child, i)=>{ + if (child.type === 'atrule' && name.test(child.name)) { + return callback(child, i); + } + }); + } + return this.walk((child, i)=>{ + if (child.type === 'atrule' && child.name === name) { + return callback(child, i); + } + }); + } + walkComments(callback) { + return this.walk((child, i)=>{ + if (child.type === 'comment') { + return callback(child, i); + } + }); + } + walkDecls(prop, callback) { + if (!callback) { + callback = prop; + return this.walk((child, i)=>{ + if (child.type === 'decl') { + return callback(child, i); + } + }); + } + if (prop instanceof RegExp) { + return this.walk((child, i)=>{ + if (child.type === 'decl' && prop.test(child.prop)) { + return callback(child, i); + } + }); + } + return this.walk((child, i)=>{ + if (child.type === 'decl' && child.prop === prop) { + return callback(child, i); + } + }); + } + walkRules(selector, callback) { + if (!callback) { + callback = selector; + return this.walk((child, i)=>{ + if (child.type === 'rule') { + return callback(child, i); + } + }); + } + if (selector instanceof RegExp) { + return this.walk((child, i)=>{ + if (child.type === 'rule' && selector.test(child.selector)) { + return callback(child, i); + } + }); + } + return this.walk((child, i)=>{ + if (child.type === 'rule' && child.selector === selector) { + return callback(child, i); + } + }); + } + get first() { + if (!this.proxyOf.nodes) return undefined; + return this.proxyOf.nodes[0]; + } + get last() { + if (!this.proxyOf.nodes) return undefined; + return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]; + } +} +Container.registerParse = (dependant)=>{ + parse = dependant; +}; +Container.registerRule = (dependant)=>{ + Rule = dependant; +}; +Container.registerAtRule = (dependant)=>{ + AtRule = dependant; +}; +Container.registerRoot = (dependant)=>{ + Root = dependant; +}; +module.exports = Container; +Container.default = Container; +/* c8 ignore start */ Container.rebuild = (node)=>{ + if (node.type === 'atrule') { + Object.setPrototypeOf(node, AtRule.prototype); + } else if (node.type === 'rule') { + Object.setPrototypeOf(node, Rule.prototype); + } else if (node.type === 'decl') { + Object.setPrototypeOf(node, Declaration.prototype); + } else if (node.type === 'comment') { + Object.setPrototypeOf(node, Comment.prototype); + } else if (node.type === 'root') { + Object.setPrototypeOf(node, Root.prototype); + } + node[my] = true; + if (node.nodes) { + node.nodes.forEach((child)=>{ + Container.rebuild(child); + }); + } +}; /* c8 ignore stop */ +}), +"[project]/node_modules/postcss/lib/css-syntax-error.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let pico = __turbopack_context__.r("[project]/node_modules/picocolors/picocolors.js [postcss] (ecmascript)"); +let terminalHighlight = __turbopack_context__.r("[project]/node_modules/postcss/lib/terminal-highlight.js [postcss] (ecmascript)"); +class CssSyntaxError extends Error { + constructor(message, line, column, source, file, plugin){ + super(message); + this.name = 'CssSyntaxError'; + this.reason = message; + if (file) { + this.file = file; + } + if (source) { + this.source = source; + } + if (plugin) { + this.plugin = plugin; + } + if (typeof line !== 'undefined' && typeof column !== 'undefined') { + if (typeof line === 'number') { + this.line = line; + this.column = column; + } else { + this.line = line.line; + this.column = line.column; + this.endLine = column.line; + this.endColumn = column.column; + } + } + this.setMessage(); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, CssSyntaxError); + } + } + setMessage() { + this.message = this.plugin ? this.plugin + ': ' : ''; + this.message += this.file ? this.file : ''; + if (typeof this.line !== 'undefined') { + this.message += ':' + this.line + ':' + this.column; + } + this.message += ': ' + this.reason; + } + showSourceCode(color) { + if (!this.source) return ''; + let css = this.source; + if (color == null) color = pico.isColorSupported; + let aside = (text)=>text; + let mark = (text)=>text; + let highlight = (text)=>text; + if (color) { + let { bold, gray, red } = pico.createColors(true); + mark = (text)=>bold(red(text)); + aside = (text)=>gray(text); + if (terminalHighlight) { + highlight = (text)=>terminalHighlight(text); + } + } + let lines = css.split(/\r?\n/); + let start = Math.max(this.line - 3, 0); + let end = Math.min(this.line + 2, lines.length); + let maxWidth = String(end).length; + return lines.slice(start, end).map((line, index)=>{ + let number = start + 1 + index; + let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '; + if (number === this.line) { + if (line.length > 160) { + let padding = 20; + let subLineStart = Math.max(0, this.column - padding); + let subLineEnd = Math.max(this.column + padding, this.endColumn + padding); + let subLine = line.slice(subLineStart, subLineEnd); + let spacing = aside(gutter.replace(/\d/g, ' ')) + line.slice(0, Math.min(this.column - 1, padding - 1)).replace(/[^\t]/g, ' '); + return mark('>') + aside(gutter) + highlight(subLine) + '\n ' + spacing + mark('^'); + } + let spacing = aside(gutter.replace(/\d/g, ' ')) + line.slice(0, this.column - 1).replace(/[^\t]/g, ' '); + return mark('>') + aside(gutter) + highlight(line) + '\n ' + spacing + mark('^'); + } + return ' ' + aside(gutter) + highlight(line); + }).join('\n'); + } + toString() { + let code = this.showSourceCode(); + if (code) { + code = '\n\n' + code + '\n'; + } + return this.name + ': ' + this.message + code; + } +} +module.exports = CssSyntaxError; +CssSyntaxError.default = CssSyntaxError; +}), +"[project]/node_modules/postcss/lib/declaration.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Node = __turbopack_context__.r("[project]/node_modules/postcss/lib/node.js [postcss] (ecmascript)"); +class Declaration extends Node { + constructor(defaults){ + if (defaults && typeof defaults.value !== 'undefined' && typeof defaults.value !== 'string') { + defaults = { + ...defaults, + value: String(defaults.value) + }; + } + super(defaults); + this.type = 'decl'; + } + get variable() { + return this.prop.startsWith('--') || this.prop[0] === '$'; + } +} +module.exports = Declaration; +Declaration.default = Declaration; +}), +"[project]/node_modules/postcss/lib/document.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Container = __turbopack_context__.r("[project]/node_modules/postcss/lib/container.js [postcss] (ecmascript)"); +let LazyResult, Processor; +class Document extends Container { + constructor(defaults){ + // type needs to be passed to super, otherwise child roots won't be normalized correctly + super({ + type: 'document', + ...defaults + }); + if (!this.nodes) { + this.nodes = []; + } + } + toResult(opts = {}) { + let lazy = new LazyResult(new Processor(), this, opts); + return lazy.stringify(); + } +} +Document.registerLazyResult = (dependant)=>{ + LazyResult = dependant; +}; +Document.registerProcessor = (dependant)=>{ + Processor = dependant; +}; +module.exports = Document; +Document.default = Document; +}), +"[project]/node_modules/postcss/lib/fromJSON.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let AtRule = __turbopack_context__.r("[project]/node_modules/postcss/lib/at-rule.js [postcss] (ecmascript)"); +let Comment = __turbopack_context__.r("[project]/node_modules/postcss/lib/comment.js [postcss] (ecmascript)"); +let Declaration = __turbopack_context__.r("[project]/node_modules/postcss/lib/declaration.js [postcss] (ecmascript)"); +let Input = __turbopack_context__.r("[project]/node_modules/postcss/lib/input.js [postcss] (ecmascript)"); +let PreviousMap = __turbopack_context__.r("[project]/node_modules/postcss/lib/previous-map.js [postcss] (ecmascript)"); +let Root = __turbopack_context__.r("[project]/node_modules/postcss/lib/root.js [postcss] (ecmascript)"); +let Rule = __turbopack_context__.r("[project]/node_modules/postcss/lib/rule.js [postcss] (ecmascript)"); +function fromJSON(json, inputs) { + if (Array.isArray(json)) return json.map((n)=>fromJSON(n)); + let { inputs: ownInputs, ...defaults } = json; + if (ownInputs) { + inputs = []; + for (let input of ownInputs){ + let inputHydrated = { + ...input, + __proto__: Input.prototype + }; + if (inputHydrated.map) { + inputHydrated.map = { + ...inputHydrated.map, + __proto__: PreviousMap.prototype + }; + } + inputs.push(inputHydrated); + } + } + if (defaults.nodes) { + defaults.nodes = json.nodes.map((n)=>fromJSON(n, inputs)); + } + if (defaults.source) { + let { inputId, ...source } = defaults.source; + defaults.source = source; + if (inputId != null) { + defaults.source.input = inputs[inputId]; + } + } + if (defaults.type === 'root') { + return new Root(defaults); + } else if (defaults.type === 'decl') { + return new Declaration(defaults); + } else if (defaults.type === 'rule') { + return new Rule(defaults); + } else if (defaults.type === 'comment') { + return new Comment(defaults); + } else if (defaults.type === 'atrule') { + return new AtRule(defaults); + } else { + throw new Error('Unknown node type: ' + json.type); + } +} +module.exports = fromJSON; +fromJSON.default = fromJSON; +}), +"[project]/node_modules/postcss/lib/input.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let { nanoid } = __turbopack_context__.r("[project]/node_modules/nanoid/non-secure/index.cjs [postcss] (ecmascript)"); +let { isAbsolute, resolve } = __turbopack_context__.r("[externals]/path [external] (path, cjs)"); +let { SourceMapConsumer, SourceMapGenerator } = __turbopack_context__.r("[project]/node_modules/source-map-js/source-map.js [postcss] (ecmascript)"); +let { fileURLToPath, pathToFileURL } = __turbopack_context__.r("[externals]/url [external] (url, cjs)"); +let CssSyntaxError = __turbopack_context__.r("[project]/node_modules/postcss/lib/css-syntax-error.js [postcss] (ecmascript)"); +let PreviousMap = __turbopack_context__.r("[project]/node_modules/postcss/lib/previous-map.js [postcss] (ecmascript)"); +let terminalHighlight = __turbopack_context__.r("[project]/node_modules/postcss/lib/terminal-highlight.js [postcss] (ecmascript)"); +let fromOffsetCache = Symbol('fromOffsetCache'); +let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator); +let pathAvailable = Boolean(resolve && isAbsolute); +class Input { + constructor(css, opts = {}){ + if (css === null || typeof css === 'undefined' || typeof css === 'object' && !css.toString) { + throw new Error(`PostCSS received ${css} instead of CSS string`); + } + this.css = css.toString(); + if (this.css[0] === '\uFEFF' || this.css[0] === '\uFFFE') { + this.hasBOM = true; + this.css = this.css.slice(1); + } else { + this.hasBOM = false; + } + if (opts.from) { + if (!pathAvailable || /^\w+:\/\//.test(opts.from) || isAbsolute(opts.from)) { + this.file = opts.from; + } else { + this.file = resolve(opts.from); + } + } + if (pathAvailable && sourceMapAvailable) { + let map = new PreviousMap(this.css, opts); + if (map.text) { + this.map = map; + let file = map.consumer().file; + if (!this.file && file) this.file = this.mapResolve(file); + } + } + if (!this.file) { + this.id = ''; + } + if (this.map) this.map.file = this.from; + } + error(message, line, column, opts = {}) { + let endColumn, endLine, result; + if (line && typeof line === 'object') { + let start = line; + let end = column; + if (typeof start.offset === 'number') { + let pos = this.fromOffset(start.offset); + line = pos.line; + column = pos.col; + } else { + line = start.line; + column = start.column; + } + if (typeof end.offset === 'number') { + let pos = this.fromOffset(end.offset); + endLine = pos.line; + endColumn = pos.col; + } else { + endLine = end.line; + endColumn = end.column; + } + } else if (!column) { + let pos = this.fromOffset(line); + line = pos.line; + column = pos.col; + } + let origin = this.origin(line, column, endLine, endColumn); + if (origin) { + result = new CssSyntaxError(message, origin.endLine === undefined ? origin.line : { + column: origin.column, + line: origin.line + }, origin.endLine === undefined ? origin.column : { + column: origin.endColumn, + line: origin.endLine + }, origin.source, origin.file, opts.plugin); + } else { + result = new CssSyntaxError(message, endLine === undefined ? line : { + column, + line + }, endLine === undefined ? column : { + column: endColumn, + line: endLine + }, this.css, this.file, opts.plugin); + } + result.input = { + column, + endColumn, + endLine, + line, + source: this.css + }; + if (this.file) { + if ("TURBOPACK compile-time truthy", 1) { + result.input.url = pathToFileURL(this.file).toString(); + } + result.input.file = this.file; + } + return result; + } + fromOffset(offset) { + let lastLine, lineToIndex; + if (!this[fromOffsetCache]) { + let lines = this.css.split('\n'); + lineToIndex = new Array(lines.length); + let prevIndex = 0; + for(let i = 0, l = lines.length; i < l; i++){ + lineToIndex[i] = prevIndex; + prevIndex += lines[i].length + 1; + } + this[fromOffsetCache] = lineToIndex; + } else { + lineToIndex = this[fromOffsetCache]; + } + lastLine = lineToIndex[lineToIndex.length - 1]; + let min = 0; + if (offset >= lastLine) { + min = lineToIndex.length - 1; + } else { + let max = lineToIndex.length - 2; + let mid; + while(min < max){ + mid = min + (max - min >> 1); + if (offset < lineToIndex[mid]) { + max = mid - 1; + } else if (offset >= lineToIndex[mid + 1]) { + min = mid + 1; + } else { + min = mid; + break; + } + } + } + return { + col: offset - lineToIndex[min] + 1, + line: min + 1 + }; + } + mapResolve(file) { + if (/^\w+:\/\//.test(file)) { + return file; + } + return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file); + } + origin(line, column, endLine, endColumn) { + if (!this.map) return false; + let consumer = this.map.consumer(); + let from = consumer.originalPositionFor({ + column, + line + }); + if (!from.source) return false; + let to; + if (typeof endLine === 'number') { + to = consumer.originalPositionFor({ + column: endColumn, + line: endLine + }); + } + let fromUrl; + if (isAbsolute(from.source)) { + fromUrl = pathToFileURL(from.source); + } else { + fromUrl = new URL(from.source, this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile)); + } + let result = { + column: from.column, + endColumn: to && to.column, + endLine: to && to.line, + line: from.line, + url: fromUrl.toString() + }; + if (fromUrl.protocol === 'file:') { + if (fileURLToPath) { + result.file = fileURLToPath(fromUrl); + } else { + /* c8 ignore next 2 */ throw new Error(`file: protocol is not available in this PostCSS build`); + } + } + let source = consumer.sourceContentFor(from.source); + if (source) result.source = source; + return result; + } + toJSON() { + let json = {}; + for (let name of [ + 'hasBOM', + 'css', + 'file', + 'id' + ]){ + if (this[name] != null) { + json[name] = this[name]; + } + } + if (this.map) { + json.map = { + ...this.map + }; + if (json.map.consumerCache) { + json.map.consumerCache = undefined; + } + } + return json; + } + get from() { + return this.file || this.id; + } +} +module.exports = Input; +Input.default = Input; +if (terminalHighlight && terminalHighlight.registerInput) { + terminalHighlight.registerInput(Input); +} +}), +"[project]/node_modules/postcss/lib/lazy-result.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Container = __turbopack_context__.r("[project]/node_modules/postcss/lib/container.js [postcss] (ecmascript)"); +let Document = __turbopack_context__.r("[project]/node_modules/postcss/lib/document.js [postcss] (ecmascript)"); +let MapGenerator = __turbopack_context__.r("[project]/node_modules/postcss/lib/map-generator.js [postcss] (ecmascript)"); +let parse = __turbopack_context__.r("[project]/node_modules/postcss/lib/parse.js [postcss] (ecmascript)"); +let Result = __turbopack_context__.r("[project]/node_modules/postcss/lib/result.js [postcss] (ecmascript)"); +let Root = __turbopack_context__.r("[project]/node_modules/postcss/lib/root.js [postcss] (ecmascript)"); +let stringify = __turbopack_context__.r("[project]/node_modules/postcss/lib/stringify.js [postcss] (ecmascript)"); +let { isClean, my } = __turbopack_context__.r("[project]/node_modules/postcss/lib/symbols.js [postcss] (ecmascript)"); +let warnOnce = __turbopack_context__.r("[project]/node_modules/postcss/lib/warn-once.js [postcss] (ecmascript)"); +const TYPE_TO_CLASS_NAME = { + atrule: 'AtRule', + comment: 'Comment', + decl: 'Declaration', + document: 'Document', + root: 'Root', + rule: 'Rule' +}; +const PLUGIN_PROPS = { + AtRule: true, + AtRuleExit: true, + Comment: true, + CommentExit: true, + Declaration: true, + DeclarationExit: true, + Document: true, + DocumentExit: true, + Once: true, + OnceExit: true, + postcssPlugin: true, + prepare: true, + Root: true, + RootExit: true, + Rule: true, + RuleExit: true +}; +const NOT_VISITORS = { + Once: true, + postcssPlugin: true, + prepare: true +}; +const CHILDREN = 0; +function isPromise(obj) { + return typeof obj === 'object' && typeof obj.then === 'function'; +} +function getEvents(node) { + let key = false; + let type = TYPE_TO_CLASS_NAME[node.type]; + if (node.type === 'decl') { + key = node.prop.toLowerCase(); + } else if (node.type === 'atrule') { + key = node.name.toLowerCase(); + } + if (key && node.append) { + return [ + type, + type + '-' + key, + CHILDREN, + type + 'Exit', + type + 'Exit-' + key + ]; + } else if (key) { + return [ + type, + type + '-' + key, + type + 'Exit', + type + 'Exit-' + key + ]; + } else if (node.append) { + return [ + type, + CHILDREN, + type + 'Exit' + ]; + } else { + return [ + type, + type + 'Exit' + ]; + } +} +function toStack(node) { + let events; + if (node.type === 'document') { + events = [ + 'Document', + CHILDREN, + 'DocumentExit' + ]; + } else if (node.type === 'root') { + events = [ + 'Root', + CHILDREN, + 'RootExit' + ]; + } else { + events = getEvents(node); + } + return { + eventIndex: 0, + events, + iterator: 0, + node, + visitorIndex: 0, + visitors: [] + }; +} +function cleanMarks(node) { + node[isClean] = false; + if (node.nodes) node.nodes.forEach((i)=>cleanMarks(i)); + return node; +} +let postcss = {}; +class LazyResult { + constructor(processor, css, opts){ + this.stringified = false; + this.processed = false; + let root; + if (typeof css === 'object' && css !== null && (css.type === 'root' || css.type === 'document')) { + root = cleanMarks(css); + } else if (css instanceof LazyResult || css instanceof Result) { + root = cleanMarks(css.root); + if (css.map) { + if (typeof opts.map === 'undefined') opts.map = {}; + if (!opts.map.inline) opts.map.inline = false; + opts.map.prev = css.map; + } + } else { + let parser = parse; + if (opts.syntax) parser = opts.syntax.parse; + if (opts.parser) parser = opts.parser; + if (parser.parse) parser = parser.parse; + try { + root = parser(css, opts); + } catch (error) { + this.processed = true; + this.error = error; + } + if (root && !root[my]) { + /* c8 ignore next 2 */ Container.rebuild(root); + } + } + this.result = new Result(processor, root, opts); + this.helpers = { + ...postcss, + postcss, + result: this.result + }; + this.plugins = this.processor.plugins.map((plugin)=>{ + if (typeof plugin === 'object' && plugin.prepare) { + return { + ...plugin, + ...plugin.prepare(this.result) + }; + } else { + return plugin; + } + }); + } + async() { + if (this.error) return Promise.reject(this.error); + if (this.processed) return Promise.resolve(this.result); + if (!this.processing) { + this.processing = this.runAsync(); + } + return this.processing; + } + catch(onRejected) { + return this.async().catch(onRejected); + } + finally(onFinally) { + return this.async().then(onFinally, onFinally); + } + getAsyncError() { + throw new Error('Use process(css).then(cb) to work with async plugins'); + } + handleError(error, node) { + let plugin = this.result.lastPlugin; + try { + if (node) node.addToError(error); + this.error = error; + if (error.name === 'CssSyntaxError' && !error.plugin) { + error.plugin = plugin.postcssPlugin; + error.setMessage(); + } else if (plugin.postcssVersion) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + } + } catch (err) { + /* c8 ignore next 3 */ // eslint-disable-next-line no-console + if (console && console.error) console.error(err); + } + return error; + } + prepareVisitors() { + this.listeners = {}; + let add = (plugin, type, cb)=>{ + if (!this.listeners[type]) this.listeners[type] = []; + this.listeners[type].push([ + plugin, + cb + ]); + }; + for (let plugin of this.plugins){ + if (typeof plugin === 'object') { + for(let event in plugin){ + if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) { + throw new Error(`Unknown event ${event} in ${plugin.postcssPlugin}. ` + `Try to update PostCSS (${this.processor.version} now).`); + } + if (!NOT_VISITORS[event]) { + if (typeof plugin[event] === 'object') { + for(let filter in plugin[event]){ + if (filter === '*') { + add(plugin, event, plugin[event][filter]); + } else { + add(plugin, event + '-' + filter.toLowerCase(), plugin[event][filter]); + } + } + } else if (typeof plugin[event] === 'function') { + add(plugin, event, plugin[event]); + } + } + } + } + } + this.hasListener = Object.keys(this.listeners).length > 0; + } + async runAsync() { + this.plugin = 0; + for(let i = 0; i < this.plugins.length; i++){ + let plugin = this.plugins[i]; + let promise = this.runOnRoot(plugin); + if (isPromise(promise)) { + try { + await promise; + } catch (error) { + throw this.handleError(error); + } + } + } + this.prepareVisitors(); + if (this.hasListener) { + let root = this.result.root; + while(!root[isClean]){ + root[isClean] = true; + let stack = [ + toStack(root) + ]; + while(stack.length > 0){ + let promise = this.visitTick(stack); + if (isPromise(promise)) { + try { + await promise; + } catch (e) { + let node = stack[stack.length - 1].node; + throw this.handleError(e, node); + } + } + } + } + if (this.listeners.OnceExit) { + for (let [plugin, visitor] of this.listeners.OnceExit){ + this.result.lastPlugin = plugin; + try { + if (root.type === 'document') { + let roots = root.nodes.map((subRoot)=>visitor(subRoot, this.helpers)); + await Promise.all(roots); + } else { + await visitor(root, this.helpers); + } + } catch (e) { + throw this.handleError(e); + } + } + } + } + this.processed = true; + return this.stringify(); + } + runOnRoot(plugin) { + this.result.lastPlugin = plugin; + try { + if (typeof plugin === 'object' && plugin.Once) { + if (this.result.root.type === 'document') { + let roots = this.result.root.nodes.map((root)=>plugin.Once(root, this.helpers)); + if (isPromise(roots[0])) { + return Promise.all(roots); + } + return roots; + } + return plugin.Once(this.result.root, this.helpers); + } else if (typeof plugin === 'function') { + return plugin(this.result.root, this.result); + } + } catch (error) { + throw this.handleError(error); + } + } + stringify() { + if (this.error) throw this.error; + if (this.stringified) return this.result; + this.stringified = true; + this.sync(); + let opts = this.result.opts; + let str = stringify; + if (opts.syntax) str = opts.syntax.stringify; + if (opts.stringifier) str = opts.stringifier; + if (str.stringify) str = str.stringify; + let map = new MapGenerator(str, this.result.root, this.result.opts); + let data = map.generate(); + this.result.css = data[0]; + this.result.map = data[1]; + return this.result; + } + sync() { + if (this.error) throw this.error; + if (this.processed) return this.result; + this.processed = true; + if (this.processing) { + throw this.getAsyncError(); + } + for (let plugin of this.plugins){ + let promise = this.runOnRoot(plugin); + if (isPromise(promise)) { + throw this.getAsyncError(); + } + } + this.prepareVisitors(); + if (this.hasListener) { + let root = this.result.root; + while(!root[isClean]){ + root[isClean] = true; + this.walkSync(root); + } + if (this.listeners.OnceExit) { + if (root.type === 'document') { + for (let subRoot of root.nodes){ + this.visitSync(this.listeners.OnceExit, subRoot); + } + } else { + this.visitSync(this.listeners.OnceExit, root); + } + } + } + return this.result; + } + then(onFulfilled, onRejected) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + return this.async().then(onFulfilled, onRejected); + } + toString() { + return this.css; + } + visitSync(visitors, node) { + for (let [plugin, visitor] of visitors){ + this.result.lastPlugin = plugin; + let promise; + try { + promise = visitor(node, this.helpers); + } catch (e) { + throw this.handleError(e, node.proxyOf); + } + if (node.type !== 'root' && node.type !== 'document' && !node.parent) { + return true; + } + if (isPromise(promise)) { + throw this.getAsyncError(); + } + } + } + visitTick(stack) { + let visit = stack[stack.length - 1]; + let { node, visitors } = visit; + if (node.type !== 'root' && node.type !== 'document' && !node.parent) { + stack.pop(); + return; + } + if (visitors.length > 0 && visit.visitorIndex < visitors.length) { + let [plugin, visitor] = visitors[visit.visitorIndex]; + visit.visitorIndex += 1; + if (visit.visitorIndex === visitors.length) { + visit.visitors = []; + visit.visitorIndex = 0; + } + this.result.lastPlugin = plugin; + try { + return visitor(node.toProxy(), this.helpers); + } catch (e) { + throw this.handleError(e, node); + } + } + if (visit.iterator !== 0) { + let iterator = visit.iterator; + let child; + while(child = node.nodes[node.indexes[iterator]]){ + node.indexes[iterator] += 1; + if (!child[isClean]) { + child[isClean] = true; + stack.push(toStack(child)); + return; + } + } + visit.iterator = 0; + delete node.indexes[iterator]; + } + let events = visit.events; + while(visit.eventIndex < events.length){ + let event = events[visit.eventIndex]; + visit.eventIndex += 1; + if (event === CHILDREN) { + if (node.nodes && node.nodes.length) { + node[isClean] = true; + visit.iterator = node.getIterator(); + } + return; + } else if (this.listeners[event]) { + visit.visitors = this.listeners[event]; + return; + } + } + stack.pop(); + } + walkSync(node) { + node[isClean] = true; + let events = getEvents(node); + for (let event of events){ + if (event === CHILDREN) { + if (node.nodes) { + node.each((child)=>{ + if (!child[isClean]) this.walkSync(child); + }); + } + } else { + let visitors = this.listeners[event]; + if (visitors) { + if (this.visitSync(visitors, node.toProxy())) return; + } + } + } + } + warnings() { + return this.sync().warnings(); + } + get content() { + return this.stringify().content; + } + get css() { + return this.stringify().css; + } + get map() { + return this.stringify().map; + } + get messages() { + return this.sync().messages; + } + get opts() { + return this.result.opts; + } + get processor() { + return this.result.processor; + } + get root() { + return this.sync().root; + } + get [Symbol.toStringTag]() { + return 'LazyResult'; + } +} +LazyResult.registerPostcss = (dependant)=>{ + postcss = dependant; +}; +module.exports = LazyResult; +LazyResult.default = LazyResult; +Root.registerLazyResult(LazyResult); +Document.registerLazyResult(LazyResult); +}), +"[project]/node_modules/postcss/lib/list.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let list = { + comma (string) { + return list.split(string, [ + ',' + ], true); + }, + space (string) { + let spaces = [ + ' ', + '\n', + '\t' + ]; + return list.split(string, spaces); + }, + split (string, separators, last) { + let array = []; + let current = ''; + let split = false; + let func = 0; + let inQuote = false; + let prevQuote = ''; + let escape = false; + for (let letter of string){ + if (escape) { + escape = false; + } else if (letter === '\\') { + escape = true; + } else if (inQuote) { + if (letter === prevQuote) { + inQuote = false; + } + } else if (letter === '"' || letter === "'") { + inQuote = true; + prevQuote = letter; + } else if (letter === '(') { + func += 1; + } else if (letter === ')') { + if (func > 0) func -= 1; + } else if (func === 0) { + if (separators.includes(letter)) split = true; + } + if (split) { + if (current !== '') array.push(current.trim()); + current = ''; + split = false; + } else { + current += letter; + } + } + if (last || current !== '') array.push(current.trim()); + return array; + } +}; +module.exports = list; +list.default = list; +}), +"[project]/node_modules/postcss/lib/map-generator.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let { dirname, relative, resolve, sep } = __turbopack_context__.r("[externals]/path [external] (path, cjs)"); +let { SourceMapConsumer, SourceMapGenerator } = __turbopack_context__.r("[project]/node_modules/source-map-js/source-map.js [postcss] (ecmascript)"); +let { pathToFileURL } = __turbopack_context__.r("[externals]/url [external] (url, cjs)"); +let Input = __turbopack_context__.r("[project]/node_modules/postcss/lib/input.js [postcss] (ecmascript)"); +let sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator); +let pathAvailable = Boolean(dirname && resolve && relative && sep); +class MapGenerator { + constructor(stringify, root, opts, cssString){ + this.stringify = stringify; + this.mapOpts = opts.map || {}; + this.root = root; + this.opts = opts; + this.css = cssString; + this.originalCSS = cssString; + this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute; + this.memoizedFileURLs = new Map(); + this.memoizedPaths = new Map(); + this.memoizedURLs = new Map(); + } + addAnnotation() { + let content; + if (this.isInline()) { + content = 'data:application/json;base64,' + this.toBase64(this.map.toString()); + } else if (typeof this.mapOpts.annotation === 'string') { + content = this.mapOpts.annotation; + } else if (typeof this.mapOpts.annotation === 'function') { + content = this.mapOpts.annotation(this.opts.to, this.root); + } else { + content = this.outputFile() + '.map'; + } + let eol = '\n'; + if (this.css.includes('\r\n')) eol = '\r\n'; + this.css += eol + '/*# sourceMappingURL=' + content + ' */'; + } + applyPrevMaps() { + for (let prev of this.previous()){ + let from = this.toUrl(this.path(prev.file)); + let root = prev.root || dirname(prev.file); + let map; + if (this.mapOpts.sourcesContent === false) { + map = new SourceMapConsumer(prev.text); + if (map.sourcesContent) { + map.sourcesContent = null; + } + } else { + map = prev.consumer(); + } + this.map.applySourceMap(map, from, this.toUrl(this.path(root))); + } + } + clearAnnotation() { + if (this.mapOpts.annotation === false) return; + if (this.root) { + let node; + for(let i = this.root.nodes.length - 1; i >= 0; i--){ + node = this.root.nodes[i]; + if (node.type !== 'comment') continue; + if (node.text.startsWith('# sourceMappingURL=')) { + this.root.removeChild(i); + } + } + } else if (this.css) { + this.css = this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm, ''); + } + } + generate() { + this.clearAnnotation(); + if (pathAvailable && sourceMapAvailable && this.isMap()) { + return this.generateMap(); + } else { + let result = ''; + this.stringify(this.root, (i)=>{ + result += i; + }); + return [ + result + ]; + } + } + generateMap() { + if (this.root) { + this.generateString(); + } else if (this.previous().length === 1) { + let prev = this.previous()[0].consumer(); + prev.file = this.outputFile(); + this.map = SourceMapGenerator.fromSourceMap(prev, { + ignoreInvalidMapping: true + }); + } else { + this.map = new SourceMapGenerator({ + file: this.outputFile(), + ignoreInvalidMapping: true + }); + this.map.addMapping({ + generated: { + column: 0, + line: 1 + }, + original: { + column: 0, + line: 1 + }, + source: this.opts.from ? this.toUrl(this.path(this.opts.from)) : '' + }); + } + if (this.isSourcesContent()) this.setSourcesContent(); + if (this.root && this.previous().length > 0) this.applyPrevMaps(); + if (this.isAnnotation()) this.addAnnotation(); + if (this.isInline()) { + return [ + this.css + ]; + } else { + return [ + this.css, + this.map + ]; + } + } + generateString() { + this.css = ''; + this.map = new SourceMapGenerator({ + file: this.outputFile(), + ignoreInvalidMapping: true + }); + let line = 1; + let column = 1; + let noSource = ''; + let mapping = { + generated: { + column: 0, + line: 0 + }, + original: { + column: 0, + line: 0 + }, + source: '' + }; + let last, lines; + this.stringify(this.root, (str, node, type)=>{ + this.css += str; + if (node && type !== 'end') { + mapping.generated.line = line; + mapping.generated.column = column - 1; + if (node.source && node.source.start) { + mapping.source = this.sourcePath(node); + mapping.original.line = node.source.start.line; + mapping.original.column = node.source.start.column - 1; + this.map.addMapping(mapping); + } else { + mapping.source = noSource; + mapping.original.line = 1; + mapping.original.column = 0; + this.map.addMapping(mapping); + } + } + lines = str.match(/\n/g); + if (lines) { + line += lines.length; + last = str.lastIndexOf('\n'); + column = str.length - last; + } else { + column += str.length; + } + if (node && type !== 'start') { + let p = node.parent || { + raws: {} + }; + let childless = node.type === 'decl' || node.type === 'atrule' && !node.nodes; + if (!childless || node !== p.last || p.raws.semicolon) { + if (node.source && node.source.end) { + mapping.source = this.sourcePath(node); + mapping.original.line = node.source.end.line; + mapping.original.column = node.source.end.column - 1; + mapping.generated.line = line; + mapping.generated.column = column - 2; + this.map.addMapping(mapping); + } else { + mapping.source = noSource; + mapping.original.line = 1; + mapping.original.column = 0; + mapping.generated.line = line; + mapping.generated.column = column - 1; + this.map.addMapping(mapping); + } + } + } + }); + } + isAnnotation() { + if (this.isInline()) { + return true; + } + if (typeof this.mapOpts.annotation !== 'undefined') { + return this.mapOpts.annotation; + } + if (this.previous().length) { + return this.previous().some((i)=>i.annotation); + } + return true; + } + isInline() { + if (typeof this.mapOpts.inline !== 'undefined') { + return this.mapOpts.inline; + } + let annotation = this.mapOpts.annotation; + if (typeof annotation !== 'undefined' && annotation !== true) { + return false; + } + if (this.previous().length) { + return this.previous().some((i)=>i.inline); + } + return true; + } + isMap() { + if (typeof this.opts.map !== 'undefined') { + return !!this.opts.map; + } + return this.previous().length > 0; + } + isSourcesContent() { + if (typeof this.mapOpts.sourcesContent !== 'undefined') { + return this.mapOpts.sourcesContent; + } + if (this.previous().length) { + return this.previous().some((i)=>i.withContent()); + } + return true; + } + outputFile() { + if (this.opts.to) { + return this.path(this.opts.to); + } else if (this.opts.from) { + return this.path(this.opts.from); + } else { + return 'to.css'; + } + } + path(file) { + if (this.mapOpts.absolute) return file; + if (file.charCodeAt(0) === 60 /* `<` */ ) return file; + if (/^\w+:\/\//.test(file)) return file; + let cached = this.memoizedPaths.get(file); + if (cached) return cached; + let from = this.opts.to ? dirname(this.opts.to) : '.'; + if (typeof this.mapOpts.annotation === 'string') { + from = dirname(resolve(from, this.mapOpts.annotation)); + } + let path = relative(from, file); + this.memoizedPaths.set(file, path); + return path; + } + previous() { + if (!this.previousMaps) { + this.previousMaps = []; + if (this.root) { + this.root.walk((node)=>{ + if (node.source && node.source.input.map) { + let map = node.source.input.map; + if (!this.previousMaps.includes(map)) { + this.previousMaps.push(map); + } + } + }); + } else { + let input = new Input(this.originalCSS, this.opts); + if (input.map) this.previousMaps.push(input.map); + } + } + return this.previousMaps; + } + setSourcesContent() { + let already = {}; + if (this.root) { + this.root.walk((node)=>{ + if (node.source) { + let from = node.source.input.from; + if (from && !already[from]) { + already[from] = true; + let fromUrl = this.usesFileUrls ? this.toFileUrl(from) : this.toUrl(this.path(from)); + this.map.setSourceContent(fromUrl, node.source.input.css); + } + } + }); + } else if (this.css) { + let from = this.opts.from ? this.toUrl(this.path(this.opts.from)) : ''; + this.map.setSourceContent(from, this.css); + } + } + sourcePath(node) { + if (this.mapOpts.from) { + return this.toUrl(this.mapOpts.from); + } else if (this.usesFileUrls) { + return this.toFileUrl(node.source.input.from); + } else { + return this.toUrl(this.path(node.source.input.from)); + } + } + toBase64(str) { + if ("TURBOPACK compile-time truthy", 1) { + return Buffer.from(str).toString('base64'); + } else //TURBOPACK unreachable + ; + } + toFileUrl(path) { + let cached = this.memoizedFileURLs.get(path); + if (cached) return cached; + if ("TURBOPACK compile-time truthy", 1) { + let fileURL = pathToFileURL(path).toString(); + this.memoizedFileURLs.set(path, fileURL); + return fileURL; + } else //TURBOPACK unreachable + ; + } + toUrl(path) { + let cached = this.memoizedURLs.get(path); + if (cached) return cached; + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent); + this.memoizedURLs.set(path, url); + return url; + } +} +module.exports = MapGenerator; +}), +"[project]/node_modules/postcss/lib/no-work-result.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let MapGenerator = __turbopack_context__.r("[project]/node_modules/postcss/lib/map-generator.js [postcss] (ecmascript)"); +let parse = __turbopack_context__.r("[project]/node_modules/postcss/lib/parse.js [postcss] (ecmascript)"); +const Result = __turbopack_context__.r("[project]/node_modules/postcss/lib/result.js [postcss] (ecmascript)"); +let stringify = __turbopack_context__.r("[project]/node_modules/postcss/lib/stringify.js [postcss] (ecmascript)"); +let warnOnce = __turbopack_context__.r("[project]/node_modules/postcss/lib/warn-once.js [postcss] (ecmascript)"); +class NoWorkResult { + constructor(processor, css, opts){ + css = css.toString(); + this.stringified = false; + this._processor = processor; + this._css = css; + this._opts = opts; + this._map = undefined; + let root; + let str = stringify; + this.result = new Result(this._processor, root, this._opts); + this.result.css = css; + let self = this; + Object.defineProperty(this.result, 'root', { + get () { + return self.root; + } + }); + let map = new MapGenerator(str, root, this._opts, css); + if (map.isMap()) { + let [generatedCSS, generatedMap] = map.generate(); + if (generatedCSS) { + this.result.css = generatedCSS; + } + if (generatedMap) { + this.result.map = generatedMap; + } + } else { + map.clearAnnotation(); + this.result.css = map.css; + } + } + async() { + if (this.error) return Promise.reject(this.error); + return Promise.resolve(this.result); + } + catch(onRejected) { + return this.async().catch(onRejected); + } + finally(onFinally) { + return this.async().then(onFinally, onFinally); + } + sync() { + if (this.error) throw this.error; + return this.result; + } + then(onFulfilled, onRejected) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + return this.async().then(onFulfilled, onRejected); + } + toString() { + return this._css; + } + warnings() { + return []; + } + get content() { + return this.result.css; + } + get css() { + return this.result.css; + } + get map() { + return this.result.map; + } + get messages() { + return []; + } + get opts() { + return this.result.opts; + } + get processor() { + return this.result.processor; + } + get root() { + if (this._root) { + return this._root; + } + let root; + let parser = parse; + try { + root = parser(this._css, this._opts); + } catch (error) { + this.error = error; + } + if (this.error) { + throw this.error; + } else { + this._root = root; + return root; + } + } + get [Symbol.toStringTag]() { + return 'NoWorkResult'; + } +} +module.exports = NoWorkResult; +NoWorkResult.default = NoWorkResult; +}), +"[project]/node_modules/postcss/lib/node.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let CssSyntaxError = __turbopack_context__.r("[project]/node_modules/postcss/lib/css-syntax-error.js [postcss] (ecmascript)"); +let Stringifier = __turbopack_context__.r("[project]/node_modules/postcss/lib/stringifier.js [postcss] (ecmascript)"); +let stringify = __turbopack_context__.r("[project]/node_modules/postcss/lib/stringify.js [postcss] (ecmascript)"); +let { isClean, my } = __turbopack_context__.r("[project]/node_modules/postcss/lib/symbols.js [postcss] (ecmascript)"); +function cloneNode(obj, parent) { + let cloned = new obj.constructor(); + for(let i in obj){ + if (!Object.prototype.hasOwnProperty.call(obj, i)) { + continue; + } + if (i === 'proxyCache') continue; + let value = obj[i]; + let type = typeof value; + if (i === 'parent' && type === 'object') { + if (parent) cloned[i] = parent; + } else if (i === 'source') { + cloned[i] = value; + } else if (Array.isArray(value)) { + cloned[i] = value.map((j)=>cloneNode(j, cloned)); + } else { + if (type === 'object' && value !== null) value = cloneNode(value); + cloned[i] = value; + } + } + return cloned; +} +function sourceOffset(inputCSS, position) { + // Not all custom syntaxes support `offset` in `source.start` and `source.end` + if (position && typeof position.offset !== 'undefined') { + return position.offset; + } + let column = 1; + let line = 1; + let offset = 0; + for(let i = 0; i < inputCSS.length; i++){ + if (line === position.line && column === position.column) { + offset = i; + break; + } + if (inputCSS[i] === '\n') { + column = 1; + line += 1; + } else { + column += 1; + } + } + return offset; +} +class Node { + constructor(defaults = {}){ + this.raws = {}; + this[isClean] = false; + this[my] = true; + for(let name in defaults){ + if (name === 'nodes') { + this.nodes = []; + for (let node of defaults[name]){ + if (typeof node.clone === 'function') { + this.append(node.clone()); + } else { + this.append(node); + } + } + } else { + this[name] = defaults[name]; + } + } + } + addToError(error) { + error.postcssNode = this; + if (error.stack && this.source && /\n\s{4}at /.test(error.stack)) { + let s = this.source; + error.stack = error.stack.replace(/\n\s{4}at /, `$&${s.input.from}:${s.start.line}:${s.start.column}$&`); + } + return error; + } + after(add) { + this.parent.insertAfter(this, add); + return this; + } + assign(overrides = {}) { + for(let name in overrides){ + this[name] = overrides[name]; + } + return this; + } + before(add) { + this.parent.insertBefore(this, add); + return this; + } + cleanRaws(keepBetween) { + delete this.raws.before; + delete this.raws.after; + if (!keepBetween) delete this.raws.between; + } + clone(overrides = {}) { + let cloned = cloneNode(this); + for(let name in overrides){ + cloned[name] = overrides[name]; + } + return cloned; + } + cloneAfter(overrides = {}) { + let cloned = this.clone(overrides); + this.parent.insertAfter(this, cloned); + return cloned; + } + cloneBefore(overrides = {}) { + let cloned = this.clone(overrides); + this.parent.insertBefore(this, cloned); + return cloned; + } + error(message, opts = {}) { + if (this.source) { + let { end, start } = this.rangeBy(opts); + return this.source.input.error(message, { + column: start.column, + line: start.line + }, { + column: end.column, + line: end.line + }, opts); + } + return new CssSyntaxError(message); + } + getProxyProcessor() { + return { + get (node, prop) { + if (prop === 'proxyOf') { + return node; + } else if (prop === 'root') { + return ()=>node.root().toProxy(); + } else { + return node[prop]; + } + }, + set (node, prop, value) { + if (node[prop] === value) return true; + node[prop] = value; + if (prop === 'prop' || prop === 'value' || prop === 'name' || prop === 'params' || prop === 'important' || /* c8 ignore next */ prop === 'text') { + node.markDirty(); + } + return true; + } + }; + } + /* c8 ignore next 3 */ markClean() { + this[isClean] = true; + } + markDirty() { + if (this[isClean]) { + this[isClean] = false; + let next = this; + while(next = next.parent){ + next[isClean] = false; + } + } + } + next() { + if (!this.parent) return undefined; + let index = this.parent.index(this); + return this.parent.nodes[index + 1]; + } + positionBy(opts) { + let pos = this.source.start; + if (opts.index) { + pos = this.positionInside(opts.index); + } else if (opts.word) { + let stringRepresentation = this.source.input.css.slice(sourceOffset(this.source.input.css, this.source.start), sourceOffset(this.source.input.css, this.source.end)); + let index = stringRepresentation.indexOf(opts.word); + if (index !== -1) pos = this.positionInside(index); + } + return pos; + } + positionInside(index) { + let column = this.source.start.column; + let line = this.source.start.line; + let offset = sourceOffset(this.source.input.css, this.source.start); + let end = offset + index; + for(let i = offset; i < end; i++){ + if (this.source.input.css[i] === '\n') { + column = 1; + line += 1; + } else { + column += 1; + } + } + return { + column, + line + }; + } + prev() { + if (!this.parent) return undefined; + let index = this.parent.index(this); + return this.parent.nodes[index - 1]; + } + rangeBy(opts) { + let start = { + column: this.source.start.column, + line: this.source.start.line + }; + let end = this.source.end ? { + column: this.source.end.column + 1, + line: this.source.end.line + } : { + column: start.column + 1, + line: start.line + }; + if (opts.word) { + let stringRepresentation = this.source.input.css.slice(sourceOffset(this.source.input.css, this.source.start), sourceOffset(this.source.input.css, this.source.end)); + let index = stringRepresentation.indexOf(opts.word); + if (index !== -1) { + start = this.positionInside(index); + end = this.positionInside(index + opts.word.length); + } + } else { + if (opts.start) { + start = { + column: opts.start.column, + line: opts.start.line + }; + } else if (opts.index) { + start = this.positionInside(opts.index); + } + if (opts.end) { + end = { + column: opts.end.column, + line: opts.end.line + }; + } else if (typeof opts.endIndex === 'number') { + end = this.positionInside(opts.endIndex); + } else if (opts.index) { + end = this.positionInside(opts.index + 1); + } + } + if (end.line < start.line || end.line === start.line && end.column <= start.column) { + end = { + column: start.column + 1, + line: start.line + }; + } + return { + end, + start + }; + } + raw(prop, defaultType) { + let str = new Stringifier(); + return str.raw(this, prop, defaultType); + } + remove() { + if (this.parent) { + this.parent.removeChild(this); + } + this.parent = undefined; + return this; + } + replaceWith(...nodes) { + if (this.parent) { + let bookmark = this; + let foundSelf = false; + for (let node of nodes){ + if (node === this) { + foundSelf = true; + } else if (foundSelf) { + this.parent.insertAfter(bookmark, node); + bookmark = node; + } else { + this.parent.insertBefore(bookmark, node); + } + } + if (!foundSelf) { + this.remove(); + } + } + return this; + } + root() { + let result = this; + while(result.parent && result.parent.type !== 'document'){ + result = result.parent; + } + return result; + } + toJSON(_, inputs) { + let fixed = {}; + let emitInputs = inputs == null; + inputs = inputs || new Map(); + let inputsNextIndex = 0; + for(let name in this){ + if (!Object.prototype.hasOwnProperty.call(this, name)) { + continue; + } + if (name === 'parent' || name === 'proxyCache') continue; + let value = this[name]; + if (Array.isArray(value)) { + fixed[name] = value.map((i)=>{ + if (typeof i === 'object' && i.toJSON) { + return i.toJSON(null, inputs); + } else { + return i; + } + }); + } else if (typeof value === 'object' && value.toJSON) { + fixed[name] = value.toJSON(null, inputs); + } else if (name === 'source') { + let inputId = inputs.get(value.input); + if (inputId == null) { + inputId = inputsNextIndex; + inputs.set(value.input, inputsNextIndex); + inputsNextIndex++; + } + fixed[name] = { + end: value.end, + inputId, + start: value.start + }; + } else { + fixed[name] = value; + } + } + if (emitInputs) { + fixed.inputs = [ + ...inputs.keys() + ].map((input)=>input.toJSON()); + } + return fixed; + } + toProxy() { + if (!this.proxyCache) { + this.proxyCache = new Proxy(this, this.getProxyProcessor()); + } + return this.proxyCache; + } + toString(stringifier = stringify) { + if (stringifier.stringify) stringifier = stringifier.stringify; + let result = ''; + stringifier(this, (i)=>{ + result += i; + }); + return result; + } + warn(result, text, opts) { + let data = { + node: this + }; + for(let i in opts)data[i] = opts[i]; + return result.warn(text, data); + } + get proxyOf() { + return this; + } +} +module.exports = Node; +Node.default = Node; +}), +"[project]/node_modules/postcss/lib/parse.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Container = __turbopack_context__.r("[project]/node_modules/postcss/lib/container.js [postcss] (ecmascript)"); +let Input = __turbopack_context__.r("[project]/node_modules/postcss/lib/input.js [postcss] (ecmascript)"); +let Parser = __turbopack_context__.r("[project]/node_modules/postcss/lib/parser.js [postcss] (ecmascript)"); +function parse(css, opts) { + let input = new Input(css, opts); + let parser = new Parser(input); + try { + parser.parse(); + } catch (e) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + throw e; + } + return parser.root; +} +module.exports = parse; +parse.default = parse; +Container.registerParse(parse); +}), +"[project]/node_modules/postcss/lib/parser.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let AtRule = __turbopack_context__.r("[project]/node_modules/postcss/lib/at-rule.js [postcss] (ecmascript)"); +let Comment = __turbopack_context__.r("[project]/node_modules/postcss/lib/comment.js [postcss] (ecmascript)"); +let Declaration = __turbopack_context__.r("[project]/node_modules/postcss/lib/declaration.js [postcss] (ecmascript)"); +let Root = __turbopack_context__.r("[project]/node_modules/postcss/lib/root.js [postcss] (ecmascript)"); +let Rule = __turbopack_context__.r("[project]/node_modules/postcss/lib/rule.js [postcss] (ecmascript)"); +let tokenizer = __turbopack_context__.r("[project]/node_modules/postcss/lib/tokenize.js [postcss] (ecmascript)"); +const SAFE_COMMENT_NEIGHBOR = { + empty: true, + space: true +}; +function findLastWithPosition(tokens) { + for(let i = tokens.length - 1; i >= 0; i--){ + let token = tokens[i]; + let pos = token[3] || token[2]; + if (pos) return pos; + } +} +class Parser { + constructor(input){ + this.input = input; + this.root = new Root(); + this.current = this.root; + this.spaces = ''; + this.semicolon = false; + this.createTokenizer(); + this.root.source = { + input, + start: { + column: 1, + line: 1, + offset: 0 + } + }; + } + atrule(token) { + let node = new AtRule(); + node.name = token[1].slice(1); + if (node.name === '') { + this.unnamedAtrule(node, token); + } + this.init(node, token[2]); + let type; + let prev; + let shift; + let last = false; + let open = false; + let params = []; + let brackets = []; + while(!this.tokenizer.endOfFile()){ + token = this.tokenizer.nextToken(); + type = token[0]; + if (type === '(' || type === '[') { + brackets.push(type === '(' ? ')' : ']'); + } else if (type === '{' && brackets.length > 0) { + brackets.push('}'); + } else if (type === brackets[brackets.length - 1]) { + brackets.pop(); + } + if (brackets.length === 0) { + if (type === ';') { + node.source.end = this.getPosition(token[2]); + node.source.end.offset++; + this.semicolon = true; + break; + } else if (type === '{') { + open = true; + break; + } else if (type === '}') { + if (params.length > 0) { + shift = params.length - 1; + prev = params[shift]; + while(prev && prev[0] === 'space'){ + prev = params[--shift]; + } + if (prev) { + node.source.end = this.getPosition(prev[3] || prev[2]); + node.source.end.offset++; + } + } + this.end(token); + break; + } else { + params.push(token); + } + } else { + params.push(token); + } + if (this.tokenizer.endOfFile()) { + last = true; + break; + } + } + node.raws.between = this.spacesAndCommentsFromEnd(params); + if (params.length) { + node.raws.afterName = this.spacesAndCommentsFromStart(params); + this.raw(node, 'params', params); + if (last) { + token = params[params.length - 1]; + node.source.end = this.getPosition(token[3] || token[2]); + node.source.end.offset++; + this.spaces = node.raws.between; + node.raws.between = ''; + } + } else { + node.raws.afterName = ''; + node.params = ''; + } + if (open) { + node.nodes = []; + this.current = node; + } + } + checkMissedSemicolon(tokens) { + let colon = this.colon(tokens); + if (colon === false) return; + let founded = 0; + let token; + for(let j = colon - 1; j >= 0; j--){ + token = tokens[j]; + if (token[0] !== 'space') { + founded += 1; + if (founded === 2) break; + } + } + // If the token is a word, e.g. `!important`, `red` or any other valid property's value. + // Then we need to return the colon after that word token. [3] is the "end" colon of that word. + // And because we need it after that one we do +1 to get the next one. + throw this.input.error('Missed semicolon', token[0] === 'word' ? token[3] + 1 : token[2]); + } + colon(tokens) { + let brackets = 0; + let prev, token, type; + for (let [i, element] of tokens.entries()){ + token = element; + type = token[0]; + if (type === '(') { + brackets += 1; + } + if (type === ')') { + brackets -= 1; + } + if (brackets === 0 && type === ':') { + if (!prev) { + this.doubleColon(token); + } else if (prev[0] === 'word' && prev[1] === 'progid') { + continue; + } else { + return i; + } + } + prev = token; + } + return false; + } + comment(token) { + let node = new Comment(); + this.init(node, token[2]); + node.source.end = this.getPosition(token[3] || token[2]); + node.source.end.offset++; + let text = token[1].slice(2, -2); + if (/^\s*$/.test(text)) { + node.text = ''; + node.raws.left = text; + node.raws.right = ''; + } else { + let match = text.match(/^(\s*)([^]*\S)(\s*)$/); + node.text = match[2]; + node.raws.left = match[1]; + node.raws.right = match[3]; + } + } + createTokenizer() { + this.tokenizer = tokenizer(this.input); + } + decl(tokens, customProperty) { + let node = new Declaration(); + this.init(node, tokens[0][2]); + let last = tokens[tokens.length - 1]; + if (last[0] === ';') { + this.semicolon = true; + tokens.pop(); + } + node.source.end = this.getPosition(last[3] || last[2] || findLastWithPosition(tokens)); + node.source.end.offset++; + while(tokens[0][0] !== 'word'){ + if (tokens.length === 1) this.unknownWord(tokens); + node.raws.before += tokens.shift()[1]; + } + node.source.start = this.getPosition(tokens[0][2]); + node.prop = ''; + while(tokens.length){ + let type = tokens[0][0]; + if (type === ':' || type === 'space' || type === 'comment') { + break; + } + node.prop += tokens.shift()[1]; + } + node.raws.between = ''; + let token; + while(tokens.length){ + token = tokens.shift(); + if (token[0] === ':') { + node.raws.between += token[1]; + break; + } else { + if (token[0] === 'word' && /\w/.test(token[1])) { + this.unknownWord([ + token + ]); + } + node.raws.between += token[1]; + } + } + if (node.prop[0] === '_' || node.prop[0] === '*') { + node.raws.before += node.prop[0]; + node.prop = node.prop.slice(1); + } + let firstSpaces = []; + let next; + while(tokens.length){ + next = tokens[0][0]; + if (next !== 'space' && next !== 'comment') break; + firstSpaces.push(tokens.shift()); + } + this.precheckMissedSemicolon(tokens); + for(let i = tokens.length - 1; i >= 0; i--){ + token = tokens[i]; + if (token[1].toLowerCase() === '!important') { + node.important = true; + let string = this.stringFrom(tokens, i); + string = this.spacesFromEnd(tokens) + string; + if (string !== ' !important') node.raws.important = string; + break; + } else if (token[1].toLowerCase() === 'important') { + let cache = tokens.slice(0); + let str = ''; + for(let j = i; j > 0; j--){ + let type = cache[j][0]; + if (str.trim().startsWith('!') && type !== 'space') { + break; + } + str = cache.pop()[1] + str; + } + if (str.trim().startsWith('!')) { + node.important = true; + node.raws.important = str; + tokens = cache; + } + } + if (token[0] !== 'space' && token[0] !== 'comment') { + break; + } + } + let hasWord = tokens.some((i)=>i[0] !== 'space' && i[0] !== 'comment'); + if (hasWord) { + node.raws.between += firstSpaces.map((i)=>i[1]).join(''); + firstSpaces = []; + } + this.raw(node, 'value', firstSpaces.concat(tokens), customProperty); + if (node.value.includes(':') && !customProperty) { + this.checkMissedSemicolon(tokens); + } + } + doubleColon(token) { + throw this.input.error('Double colon', { + offset: token[2] + }, { + offset: token[2] + token[1].length + }); + } + emptyRule(token) { + let node = new Rule(); + this.init(node, token[2]); + node.selector = ''; + node.raws.between = ''; + this.current = node; + } + end(token) { + if (this.current.nodes && this.current.nodes.length) { + this.current.raws.semicolon = this.semicolon; + } + this.semicolon = false; + this.current.raws.after = (this.current.raws.after || '') + this.spaces; + this.spaces = ''; + if (this.current.parent) { + this.current.source.end = this.getPosition(token[2]); + this.current.source.end.offset++; + this.current = this.current.parent; + } else { + this.unexpectedClose(token); + } + } + endFile() { + if (this.current.parent) this.unclosedBlock(); + if (this.current.nodes && this.current.nodes.length) { + this.current.raws.semicolon = this.semicolon; + } + this.current.raws.after = (this.current.raws.after || '') + this.spaces; + this.root.source.end = this.getPosition(this.tokenizer.position()); + } + freeSemicolon(token) { + this.spaces += token[1]; + if (this.current.nodes) { + let prev = this.current.nodes[this.current.nodes.length - 1]; + if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) { + prev.raws.ownSemicolon = this.spaces; + this.spaces = ''; + } + } + } + // Helpers + getPosition(offset) { + let pos = this.input.fromOffset(offset); + return { + column: pos.col, + line: pos.line, + offset + }; + } + init(node, offset) { + this.current.push(node); + node.source = { + input: this.input, + start: this.getPosition(offset) + }; + node.raws.before = this.spaces; + this.spaces = ''; + if (node.type !== 'comment') this.semicolon = false; + } + other(start) { + let end = false; + let type = null; + let colon = false; + let bracket = null; + let brackets = []; + let customProperty = start[1].startsWith('--'); + let tokens = []; + let token = start; + while(token){ + type = token[0]; + tokens.push(token); + if (type === '(' || type === '[') { + if (!bracket) bracket = token; + brackets.push(type === '(' ? ')' : ']'); + } else if (customProperty && colon && type === '{') { + if (!bracket) bracket = token; + brackets.push('}'); + } else if (brackets.length === 0) { + if (type === ';') { + if (colon) { + this.decl(tokens, customProperty); + return; + } else { + break; + } + } else if (type === '{') { + this.rule(tokens); + return; + } else if (type === '}') { + this.tokenizer.back(tokens.pop()); + end = true; + break; + } else if (type === ':') { + colon = true; + } + } else if (type === brackets[brackets.length - 1]) { + brackets.pop(); + if (brackets.length === 0) bracket = null; + } + token = this.tokenizer.nextToken(); + } + if (this.tokenizer.endOfFile()) end = true; + if (brackets.length > 0) this.unclosedBracket(bracket); + if (end && colon) { + if (!customProperty) { + while(tokens.length){ + token = tokens[tokens.length - 1][0]; + if (token !== 'space' && token !== 'comment') break; + this.tokenizer.back(tokens.pop()); + } + } + this.decl(tokens, customProperty); + } else { + this.unknownWord(tokens); + } + } + parse() { + let token; + while(!this.tokenizer.endOfFile()){ + token = this.tokenizer.nextToken(); + switch(token[0]){ + case 'space': + this.spaces += token[1]; + break; + case ';': + this.freeSemicolon(token); + break; + case '}': + this.end(token); + break; + case 'comment': + this.comment(token); + break; + case 'at-word': + this.atrule(token); + break; + case '{': + this.emptyRule(token); + break; + default: + this.other(token); + break; + } + } + this.endFile(); + } + precheckMissedSemicolon() { + // Hook for Safe Parser + } + raw(node, prop, tokens, customProperty) { + let token, type; + let length = tokens.length; + let value = ''; + let clean = true; + let next, prev; + for(let i = 0; i < length; i += 1){ + token = tokens[i]; + type = token[0]; + if (type === 'space' && i === length - 1 && !customProperty) { + clean = false; + } else if (type === 'comment') { + prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty'; + next = tokens[i + 1] ? tokens[i + 1][0] : 'empty'; + if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) { + if (value.slice(-1) === ',') { + clean = false; + } else { + value += token[1]; + } + } else { + clean = false; + } + } else { + value += token[1]; + } + } + if (!clean) { + let raw = tokens.reduce((all, i)=>all + i[1], ''); + node.raws[prop] = { + raw, + value + }; + } + node[prop] = value; + } + rule(tokens) { + tokens.pop(); + let node = new Rule(); + this.init(node, tokens[0][2]); + node.raws.between = this.spacesAndCommentsFromEnd(tokens); + this.raw(node, 'selector', tokens); + this.current = node; + } + spacesAndCommentsFromEnd(tokens) { + let lastTokenType; + let spaces = ''; + while(tokens.length){ + lastTokenType = tokens[tokens.length - 1][0]; + if (lastTokenType !== 'space' && lastTokenType !== 'comment') break; + spaces = tokens.pop()[1] + spaces; + } + return spaces; + } + // Errors + spacesAndCommentsFromStart(tokens) { + let next; + let spaces = ''; + while(tokens.length){ + next = tokens[0][0]; + if (next !== 'space' && next !== 'comment') break; + spaces += tokens.shift()[1]; + } + return spaces; + } + spacesFromEnd(tokens) { + let lastTokenType; + let spaces = ''; + while(tokens.length){ + lastTokenType = tokens[tokens.length - 1][0]; + if (lastTokenType !== 'space') break; + spaces = tokens.pop()[1] + spaces; + } + return spaces; + } + stringFrom(tokens, from) { + let result = ''; + for(let i = from; i < tokens.length; i++){ + result += tokens[i][1]; + } + tokens.splice(from, tokens.length - from); + return result; + } + unclosedBlock() { + let pos = this.current.source.start; + throw this.input.error('Unclosed block', pos.line, pos.column); + } + unclosedBracket(bracket) { + throw this.input.error('Unclosed bracket', { + offset: bracket[2] + }, { + offset: bracket[2] + 1 + }); + } + unexpectedClose(token) { + throw this.input.error('Unexpected }', { + offset: token[2] + }, { + offset: token[2] + 1 + }); + } + unknownWord(tokens) { + throw this.input.error('Unknown word', { + offset: tokens[0][2] + }, { + offset: tokens[0][2] + tokens[0][1].length + }); + } + unnamedAtrule(node, token) { + throw this.input.error('At-rule without name', { + offset: token[2] + }, { + offset: token[2] + token[1].length + }); + } +} +module.exports = Parser; +}), +"[project]/node_modules/postcss/lib/postcss.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let AtRule = __turbopack_context__.r("[project]/node_modules/postcss/lib/at-rule.js [postcss] (ecmascript)"); +let Comment = __turbopack_context__.r("[project]/node_modules/postcss/lib/comment.js [postcss] (ecmascript)"); +let Container = __turbopack_context__.r("[project]/node_modules/postcss/lib/container.js [postcss] (ecmascript)"); +let CssSyntaxError = __turbopack_context__.r("[project]/node_modules/postcss/lib/css-syntax-error.js [postcss] (ecmascript)"); +let Declaration = __turbopack_context__.r("[project]/node_modules/postcss/lib/declaration.js [postcss] (ecmascript)"); +let Document = __turbopack_context__.r("[project]/node_modules/postcss/lib/document.js [postcss] (ecmascript)"); +let fromJSON = __turbopack_context__.r("[project]/node_modules/postcss/lib/fromJSON.js [postcss] (ecmascript)"); +let Input = __turbopack_context__.r("[project]/node_modules/postcss/lib/input.js [postcss] (ecmascript)"); +let LazyResult = __turbopack_context__.r("[project]/node_modules/postcss/lib/lazy-result.js [postcss] (ecmascript)"); +let list = __turbopack_context__.r("[project]/node_modules/postcss/lib/list.js [postcss] (ecmascript)"); +let Node = __turbopack_context__.r("[project]/node_modules/postcss/lib/node.js [postcss] (ecmascript)"); +let parse = __turbopack_context__.r("[project]/node_modules/postcss/lib/parse.js [postcss] (ecmascript)"); +let Processor = __turbopack_context__.r("[project]/node_modules/postcss/lib/processor.js [postcss] (ecmascript)"); +let Result = __turbopack_context__.r("[project]/node_modules/postcss/lib/result.js [postcss] (ecmascript)"); +let Root = __turbopack_context__.r("[project]/node_modules/postcss/lib/root.js [postcss] (ecmascript)"); +let Rule = __turbopack_context__.r("[project]/node_modules/postcss/lib/rule.js [postcss] (ecmascript)"); +let stringify = __turbopack_context__.r("[project]/node_modules/postcss/lib/stringify.js [postcss] (ecmascript)"); +let Warning = __turbopack_context__.r("[project]/node_modules/postcss/lib/warning.js [postcss] (ecmascript)"); +function postcss(...plugins) { + if (plugins.length === 1 && Array.isArray(plugins[0])) { + plugins = plugins[0]; + } + return new Processor(plugins); +} +postcss.plugin = function plugin(name, initializer) { + let warningPrinted = false; + function creator(...args) { + // eslint-disable-next-line no-console + if (console && console.warn && !warningPrinted) { + warningPrinted = true; + // eslint-disable-next-line no-console + console.warn(name + ': postcss.plugin was deprecated. Migration guide:\n' + 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'); + if (process.env.LANG && process.env.LANG.startsWith('cn')) { + /* c8 ignore next 7 */ // eslint-disable-next-line no-console + console.warn(name + ': 里面 postcss.plugin 被弃用. 迁移指南:\n' + 'https://www.w3ctech.com/topic/2226'); + } + } + let transformer = initializer(...args); + transformer.postcssPlugin = name; + transformer.postcssVersion = new Processor().version; + return transformer; + } + let cache; + Object.defineProperty(creator, 'postcss', { + get () { + if (!cache) cache = creator(); + return cache; + } + }); + creator.process = function(css, processOpts, pluginOpts) { + return postcss([ + creator(pluginOpts) + ]).process(css, processOpts); + }; + return creator; +}; +postcss.stringify = stringify; +postcss.parse = parse; +postcss.fromJSON = fromJSON; +postcss.list = list; +postcss.comment = (defaults)=>new Comment(defaults); +postcss.atRule = (defaults)=>new AtRule(defaults); +postcss.decl = (defaults)=>new Declaration(defaults); +postcss.rule = (defaults)=>new Rule(defaults); +postcss.root = (defaults)=>new Root(defaults); +postcss.document = (defaults)=>new Document(defaults); +postcss.CssSyntaxError = CssSyntaxError; +postcss.Declaration = Declaration; +postcss.Container = Container; +postcss.Processor = Processor; +postcss.Document = Document; +postcss.Comment = Comment; +postcss.Warning = Warning; +postcss.AtRule = AtRule; +postcss.Result = Result; +postcss.Input = Input; +postcss.Rule = Rule; +postcss.Root = Root; +postcss.Node = Node; +LazyResult.registerPostcss(postcss); +module.exports = postcss; +postcss.default = postcss; +}), +"[project]/node_modules/postcss/lib/postcss.mjs [postcss] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "AtRule", + ()=>AtRule, + "Comment", + ()=>Comment, + "Container", + ()=>Container, + "CssSyntaxError", + ()=>CssSyntaxError, + "Declaration", + ()=>Declaration, + "Document", + ()=>Document, + "Input", + ()=>Input, + "Node", + ()=>Node, + "Processor", + ()=>Processor, + "Result", + ()=>Result, + "Root", + ()=>Root, + "Rule", + ()=>Rule, + "Warning", + ()=>Warning, + "atRule", + ()=>atRule, + "comment", + ()=>comment, + "decl", + ()=>decl, + "default", + ()=>__TURBOPACK__default__export__, + "document", + ()=>document, + "fromJSON", + ()=>fromJSON, + "list", + ()=>list, + "parse", + ()=>parse, + "plugin", + ()=>plugin, + "root", + ()=>root, + "rule", + ()=>rule, + "stringify", + ()=>stringify +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/postcss/lib/postcss.js [postcss] (ecmascript)"); +; +const __TURBOPACK__default__export__ = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"]; +const stringify = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].stringify; +const fromJSON = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].fromJSON; +const plugin = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].plugin; +const parse = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].parse; +const list = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].list; +const document = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].document; +const comment = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].comment; +const atRule = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].atRule; +const rule = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].rule; +const decl = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].decl; +const root = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].root; +const CssSyntaxError = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].CssSyntaxError; +const Declaration = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Declaration; +const Container = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Container; +const Processor = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Processor; +const Document = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Document; +const Comment = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Comment; +const Warning = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Warning; +const AtRule = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].AtRule; +const Result = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Result; +const Input = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Input; +const Rule = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Rule; +const Root = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Root; +const Node = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$postcss$2f$lib$2f$postcss$2e$js__$5b$postcss$5d$__$28$ecmascript$29$__["default"].Node; +}), +"[project]/node_modules/postcss/lib/previous-map.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let { existsSync, readFileSync } = __turbopack_context__.r("[externals]/fs [external] (fs, cjs)"); +let { dirname, join } = __turbopack_context__.r("[externals]/path [external] (path, cjs)"); +let { SourceMapConsumer, SourceMapGenerator } = __turbopack_context__.r("[project]/node_modules/source-map-js/source-map.js [postcss] (ecmascript)"); +function fromBase64(str) { + if ("TURBOPACK compile-time truthy", 1) { + return Buffer.from(str, 'base64').toString(); + } else //TURBOPACK unreachable + ; +} +class PreviousMap { + constructor(css, opts){ + if (opts.map === false) return; + this.loadAnnotation(css); + this.inline = this.startWith(this.annotation, 'data:'); + let prev = opts.map ? opts.map.prev : undefined; + let text = this.loadMap(opts.from, prev); + if (!this.mapFile && opts.from) { + this.mapFile = opts.from; + } + if (this.mapFile) this.root = dirname(this.mapFile); + if (text) this.text = text; + } + consumer() { + if (!this.consumerCache) { + this.consumerCache = new SourceMapConsumer(this.text); + } + return this.consumerCache; + } + decodeInline(text) { + let baseCharsetUri = /^data:application\/json;charset=utf-?8;base64,/; + let baseUri = /^data:application\/json;base64,/; + let charsetUri = /^data:application\/json;charset=utf-?8,/; + let uri = /^data:application\/json,/; + let uriMatch = text.match(charsetUri) || text.match(uri); + if (uriMatch) { + return decodeURIComponent(text.substr(uriMatch[0].length)); + } + let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri); + if (baseUriMatch) { + return fromBase64(text.substr(baseUriMatch[0].length)); + } + let encoding = text.match(/data:application\/json;([^,]+),/)[1]; + throw new Error('Unsupported source map encoding ' + encoding); + } + getAnnotationURL(sourceMapString) { + return sourceMapString.replace(/^\/\*\s*# sourceMappingURL=/, '').trim(); + } + isMap(map) { + if (typeof map !== 'object') return false; + return typeof map.mappings === 'string' || typeof map._mappings === 'string' || Array.isArray(map.sections); + } + loadAnnotation(css) { + let comments = css.match(/\/\*\s*# sourceMappingURL=/g); + if (!comments) return; + // sourceMappingURLs from comments, strings, etc. + let start = css.lastIndexOf(comments.pop()); + let end = css.indexOf('*/', start); + if (start > -1 && end > -1) { + // Locate the last sourceMappingURL to avoid pickin + this.annotation = this.getAnnotationURL(css.substring(start, end)); + } + } + loadFile(path) { + this.root = dirname(path); + if (existsSync(path)) { + this.mapFile = path; + return readFileSync(path, 'utf-8').toString().trim(); + } + } + loadMap(file, prev) { + if (prev === false) return false; + if (prev) { + if (typeof prev === 'string') { + return prev; + } else if (typeof prev === 'function') { + let prevPath = prev(file); + if (prevPath) { + let map = this.loadFile(prevPath); + if (!map) { + throw new Error('Unable to load previous source map: ' + prevPath.toString()); + } + return map; + } + } else if (prev instanceof SourceMapConsumer) { + return SourceMapGenerator.fromSourceMap(prev).toString(); + } else if (prev instanceof SourceMapGenerator) { + return prev.toString(); + } else if (this.isMap(prev)) { + return JSON.stringify(prev); + } else { + throw new Error('Unsupported previous source map format: ' + prev.toString()); + } + } else if (this.inline) { + return this.decodeInline(this.annotation); + } else if (this.annotation) { + let map = this.annotation; + if (file) map = join(dirname(file), map); + return this.loadFile(map); + } + } + startWith(string, start) { + if (!string) return false; + return string.substr(0, start.length) === start; + } + withContent() { + return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0); + } +} +module.exports = PreviousMap; +PreviousMap.default = PreviousMap; +}), +"[project]/node_modules/postcss/lib/processor.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Document = __turbopack_context__.r("[project]/node_modules/postcss/lib/document.js [postcss] (ecmascript)"); +let LazyResult = __turbopack_context__.r("[project]/node_modules/postcss/lib/lazy-result.js [postcss] (ecmascript)"); +let NoWorkResult = __turbopack_context__.r("[project]/node_modules/postcss/lib/no-work-result.js [postcss] (ecmascript)"); +let Root = __turbopack_context__.r("[project]/node_modules/postcss/lib/root.js [postcss] (ecmascript)"); +class Processor { + constructor(plugins = []){ + this.version = '8.4.49'; + this.plugins = this.normalize(plugins); + } + normalize(plugins) { + let normalized = []; + for (let i of plugins){ + if (i.postcss === true) { + i = i(); + } else if (i.postcss) { + i = i.postcss; + } + if (typeof i === 'object' && Array.isArray(i.plugins)) { + normalized = normalized.concat(i.plugins); + } else if (typeof i === 'object' && i.postcssPlugin) { + normalized.push(i); + } else if (typeof i === 'function') { + normalized.push(i); + } else if (typeof i === 'object' && (i.parse || i.stringify)) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + } else { + throw new Error(i + ' is not a PostCSS plugin'); + } + } + return normalized; + } + process(css, opts = {}) { + if (!this.plugins.length && !opts.parser && !opts.stringifier && !opts.syntax) { + return new NoWorkResult(this, css, opts); + } else { + return new LazyResult(this, css, opts); + } + } + use(plugin) { + this.plugins = this.plugins.concat(this.normalize([ + plugin + ])); + return this; + } +} +module.exports = Processor; +Processor.default = Processor; +Root.registerProcessor(Processor); +Document.registerProcessor(Processor); +}), +"[project]/node_modules/postcss/lib/result.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Warning = __turbopack_context__.r("[project]/node_modules/postcss/lib/warning.js [postcss] (ecmascript)"); +class Result { + constructor(processor, root, opts){ + this.processor = processor; + this.messages = []; + this.root = root; + this.opts = opts; + this.css = undefined; + this.map = undefined; + } + toString() { + return this.css; + } + warn(text, opts = {}) { + if (!opts.plugin) { + if (this.lastPlugin && this.lastPlugin.postcssPlugin) { + opts.plugin = this.lastPlugin.postcssPlugin; + } + } + let warning = new Warning(text, opts); + this.messages.push(warning); + return warning; + } + warnings() { + return this.messages.filter((i)=>i.type === 'warning'); + } + get content() { + return this.css; + } +} +module.exports = Result; +Result.default = Result; +}), +"[project]/node_modules/postcss/lib/root.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Container = __turbopack_context__.r("[project]/node_modules/postcss/lib/container.js [postcss] (ecmascript)"); +let LazyResult, Processor; +class Root extends Container { + constructor(defaults){ + super(defaults); + this.type = 'root'; + if (!this.nodes) this.nodes = []; + } + normalize(child, sample, type) { + let nodes = super.normalize(child); + if (sample) { + if (type === 'prepend') { + if (this.nodes.length > 1) { + sample.raws.before = this.nodes[1].raws.before; + } else { + delete sample.raws.before; + } + } else if (this.first !== sample) { + for (let node of nodes){ + node.raws.before = sample.raws.before; + } + } + } + return nodes; + } + removeChild(child, ignore) { + let index = this.index(child); + if (!ignore && index === 0 && this.nodes.length > 1) { + this.nodes[1].raws.before = this.nodes[index].raws.before; + } + return super.removeChild(child); + } + toResult(opts = {}) { + let lazy = new LazyResult(new Processor(), this, opts); + return lazy.stringify(); + } +} +Root.registerLazyResult = (dependant)=>{ + LazyResult = dependant; +}; +Root.registerProcessor = (dependant)=>{ + Processor = dependant; +}; +module.exports = Root; +Root.default = Root; +Container.registerRoot(Root); +}), +"[project]/node_modules/postcss/lib/rule.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Container = __turbopack_context__.r("[project]/node_modules/postcss/lib/container.js [postcss] (ecmascript)"); +let list = __turbopack_context__.r("[project]/node_modules/postcss/lib/list.js [postcss] (ecmascript)"); +class Rule extends Container { + constructor(defaults){ + super(defaults); + this.type = 'rule'; + if (!this.nodes) this.nodes = []; + } + get selectors() { + return list.comma(this.selector); + } + set selectors(values) { + let match = this.selector ? this.selector.match(/,\s*/) : null; + let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen'); + this.selector = values.join(sep); + } +} +module.exports = Rule; +Rule.default = Rule; +Container.registerRule(Rule); +}), +"[project]/node_modules/postcss/lib/stringifier.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +const DEFAULT_RAW = { + after: '\n', + beforeClose: '\n', + beforeComment: '\n', + beforeDecl: '\n', + beforeOpen: ' ', + beforeRule: '\n', + colon: ': ', + commentLeft: ' ', + commentRight: ' ', + emptyBody: '', + indent: ' ', + semicolon: false +}; +function capitalize(str) { + return str[0].toUpperCase() + str.slice(1); +} +class Stringifier { + constructor(builder){ + this.builder = builder; + } + atrule(node, semicolon) { + let name = '@' + node.name; + let params = node.params ? this.rawValue(node, 'params') : ''; + if (typeof node.raws.afterName !== 'undefined') { + name += node.raws.afterName; + } else if (params) { + name += ' '; + } + if (node.nodes) { + this.block(node, name + params); + } else { + let end = (node.raws.between || '') + (semicolon ? ';' : ''); + this.builder(name + params + end, node); + } + } + beforeAfter(node, detect) { + let value; + if (node.type === 'decl') { + value = this.raw(node, null, 'beforeDecl'); + } else if (node.type === 'comment') { + value = this.raw(node, null, 'beforeComment'); + } else if (detect === 'before') { + value = this.raw(node, null, 'beforeRule'); + } else { + value = this.raw(node, null, 'beforeClose'); + } + let buf = node.parent; + let depth = 0; + while(buf && buf.type !== 'root'){ + depth += 1; + buf = buf.parent; + } + if (value.includes('\n')) { + let indent = this.raw(node, null, 'indent'); + if (indent.length) { + for(let step = 0; step < depth; step++)value += indent; + } + } + return value; + } + block(node, start) { + let between = this.raw(node, 'between', 'beforeOpen'); + this.builder(start + between + '{', node, 'start'); + let after; + if (node.nodes && node.nodes.length) { + this.body(node); + after = this.raw(node, 'after'); + } else { + after = this.raw(node, 'after', 'emptyBody'); + } + if (after) this.builder(after); + this.builder('}', node, 'end'); + } + body(node) { + let last = node.nodes.length - 1; + while(last > 0){ + if (node.nodes[last].type !== 'comment') break; + last -= 1; + } + let semicolon = this.raw(node, 'semicolon'); + for(let i = 0; i < node.nodes.length; i++){ + let child = node.nodes[i]; + let before = this.raw(child, 'before'); + if (before) this.builder(before); + this.stringify(child, last !== i || semicolon); + } + } + comment(node) { + let left = this.raw(node, 'left', 'commentLeft'); + let right = this.raw(node, 'right', 'commentRight'); + this.builder('/*' + left + node.text + right + '*/', node); + } + decl(node, semicolon) { + let between = this.raw(node, 'between', 'colon'); + let string = node.prop + between + this.rawValue(node, 'value'); + if (node.important) { + string += node.raws.important || ' !important'; + } + if (semicolon) string += ';'; + this.builder(string, node); + } + document(node) { + this.body(node); + } + raw(node, own, detect) { + let value; + if (!detect) detect = own; + // Already had + if (own) { + value = node.raws[own]; + if (typeof value !== 'undefined') return value; + } + let parent = node.parent; + if (detect === 'before') { + // Hack for first rule in CSS + if (!parent || parent.type === 'root' && parent.first === node) { + return ''; + } + // `root` nodes in `document` should use only their own raws + if (parent && parent.type === 'document') { + return ''; + } + } + // Floating child without parent + if (!parent) return DEFAULT_RAW[detect]; + // Detect style by other nodes + let root = node.root(); + if (!root.rawCache) root.rawCache = {}; + if (typeof root.rawCache[detect] !== 'undefined') { + return root.rawCache[detect]; + } + if (detect === 'before' || detect === 'after') { + return this.beforeAfter(node, detect); + } else { + let method = 'raw' + capitalize(detect); + if (this[method]) { + value = this[method](root, node); + } else { + root.walk((i)=>{ + value = i.raws[own]; + if (typeof value !== 'undefined') return false; + }); + } + } + if (typeof value === 'undefined') value = DEFAULT_RAW[detect]; + root.rawCache[detect] = value; + return value; + } + rawBeforeClose(root) { + let value; + root.walk((i)=>{ + if (i.nodes && i.nodes.length > 0) { + if (typeof i.raws.after !== 'undefined') { + value = i.raws.after; + if (value.includes('\n')) { + value = value.replace(/[^\n]+$/, ''); + } + return false; + } + } + }); + if (value) value = value.replace(/\S/g, ''); + return value; + } + rawBeforeComment(root, node) { + let value; + root.walkComments((i)=>{ + if (typeof i.raws.before !== 'undefined') { + value = i.raws.before; + if (value.includes('\n')) { + value = value.replace(/[^\n]+$/, ''); + } + return false; + } + }); + if (typeof value === 'undefined') { + value = this.raw(node, null, 'beforeDecl'); + } else if (value) { + value = value.replace(/\S/g, ''); + } + return value; + } + rawBeforeDecl(root, node) { + let value; + root.walkDecls((i)=>{ + if (typeof i.raws.before !== 'undefined') { + value = i.raws.before; + if (value.includes('\n')) { + value = value.replace(/[^\n]+$/, ''); + } + return false; + } + }); + if (typeof value === 'undefined') { + value = this.raw(node, null, 'beforeRule'); + } else if (value) { + value = value.replace(/\S/g, ''); + } + return value; + } + rawBeforeOpen(root) { + let value; + root.walk((i)=>{ + if (i.type !== 'decl') { + value = i.raws.between; + if (typeof value !== 'undefined') return false; + } + }); + return value; + } + rawBeforeRule(root) { + let value; + root.walk((i)=>{ + if (i.nodes && (i.parent !== root || root.first !== i)) { + if (typeof i.raws.before !== 'undefined') { + value = i.raws.before; + if (value.includes('\n')) { + value = value.replace(/[^\n]+$/, ''); + } + return false; + } + } + }); + if (value) value = value.replace(/\S/g, ''); + return value; + } + rawColon(root) { + let value; + root.walkDecls((i)=>{ + if (typeof i.raws.between !== 'undefined') { + value = i.raws.between.replace(/[^\s:]/g, ''); + return false; + } + }); + return value; + } + rawEmptyBody(root) { + let value; + root.walk((i)=>{ + if (i.nodes && i.nodes.length === 0) { + value = i.raws.after; + if (typeof value !== 'undefined') return false; + } + }); + return value; + } + rawIndent(root) { + if (root.raws.indent) return root.raws.indent; + let value; + root.walk((i)=>{ + let p = i.parent; + if (p && p !== root && p.parent && p.parent === root) { + if (typeof i.raws.before !== 'undefined') { + let parts = i.raws.before.split('\n'); + value = parts[parts.length - 1]; + value = value.replace(/\S/g, ''); + return false; + } + } + }); + return value; + } + rawSemicolon(root) { + let value; + root.walk((i)=>{ + if (i.nodes && i.nodes.length && i.last.type === 'decl') { + value = i.raws.semicolon; + if (typeof value !== 'undefined') return false; + } + }); + return value; + } + rawValue(node, prop) { + let value = node[prop]; + let raw = node.raws[prop]; + if (raw && raw.value === value) { + return raw.raw; + } + return value; + } + root(node) { + this.body(node); + if (node.raws.after) this.builder(node.raws.after); + } + rule(node) { + this.block(node, this.rawValue(node, 'selector')); + if (node.raws.ownSemicolon) { + this.builder(node.raws.ownSemicolon, node, 'end'); + } + } + stringify(node, semicolon) { + /* c8 ignore start */ if (!this[node.type]) { + throw new Error('Unknown AST node type ' + node.type + '. ' + 'Maybe you need to change PostCSS stringifier.'); + } + /* c8 ignore stop */ this[node.type](node, semicolon); + } +} +module.exports = Stringifier; +Stringifier.default = Stringifier; +}), +"[project]/node_modules/postcss/lib/stringify.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let Stringifier = __turbopack_context__.r("[project]/node_modules/postcss/lib/stringifier.js [postcss] (ecmascript)"); +function stringify(node, builder) { + let str = new Stringifier(builder); + str.stringify(node); +} +module.exports = stringify; +stringify.default = stringify; +}), +"[project]/node_modules/postcss/lib/symbols.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +module.exports.isClean = Symbol('isClean'); +module.exports.my = Symbol('my'); +}), +"[project]/node_modules/postcss/lib/terminal-highlight.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +let pico = __turbopack_context__.r("[project]/node_modules/picocolors/picocolors.js [postcss] (ecmascript)"); +let tokenizer = __turbopack_context__.r("[project]/node_modules/postcss/lib/tokenize.js [postcss] (ecmascript)"); +let Input; +function registerInput(dependant) { + Input = dependant; +} +const HIGHLIGHT_THEME = { + ';': pico.yellow, + ':': pico.yellow, + '(': pico.cyan, + ')': pico.cyan, + '[': pico.yellow, + ']': pico.yellow, + '{': pico.yellow, + '}': pico.yellow, + 'at-word': pico.cyan, + 'brackets': pico.cyan, + 'call': pico.cyan, + 'class': pico.yellow, + 'comment': pico.gray, + 'hash': pico.magenta, + 'string': pico.green +}; +function getTokenType([type, value], processor) { + if (type === 'word') { + if (value[0] === '.') { + return 'class'; + } + if (value[0] === '#') { + return 'hash'; + } + } + if (!processor.endOfFile()) { + let next = processor.nextToken(); + processor.back(next); + if (next[0] === 'brackets' || next[0] === '(') return 'call'; + } + return type; +} +function terminalHighlight(css) { + let processor = tokenizer(new Input(css), { + ignoreErrors: true + }); + let result = ''; + while(!processor.endOfFile()){ + let token = processor.nextToken(); + let color = HIGHLIGHT_THEME[getTokenType(token, processor)]; + if (color) { + result += token[1].split(/\r?\n/).map((i)=>color(i)).join('\n'); + } else { + result += token[1]; + } + } + return result; +} +terminalHighlight.registerInput = registerInput; +module.exports = terminalHighlight; +}), +"[project]/node_modules/postcss/lib/tokenize.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +const SINGLE_QUOTE = "'".charCodeAt(0); +const DOUBLE_QUOTE = '"'.charCodeAt(0); +const BACKSLASH = '\\'.charCodeAt(0); +const SLASH = '/'.charCodeAt(0); +const NEWLINE = '\n'.charCodeAt(0); +const SPACE = ' '.charCodeAt(0); +const FEED = '\f'.charCodeAt(0); +const TAB = '\t'.charCodeAt(0); +const CR = '\r'.charCodeAt(0); +const OPEN_SQUARE = '['.charCodeAt(0); +const CLOSE_SQUARE = ']'.charCodeAt(0); +const OPEN_PARENTHESES = '('.charCodeAt(0); +const CLOSE_PARENTHESES = ')'.charCodeAt(0); +const OPEN_CURLY = '{'.charCodeAt(0); +const CLOSE_CURLY = '}'.charCodeAt(0); +const SEMICOLON = ';'.charCodeAt(0); +const ASTERISK = '*'.charCodeAt(0); +const COLON = ':'.charCodeAt(0); +const AT = '@'.charCodeAt(0); +const RE_AT_END = /[\t\n\f\r "#'()/;[\\\]{}]/g; +const RE_WORD_END = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g; +const RE_BAD_BRACKET = /.[\r\n"'(/\\]/; +const RE_HEX_ESCAPE = /[\da-f]/i; +module.exports = function tokenizer(input, options = {}) { + let css = input.css.valueOf(); + let ignore = options.ignoreErrors; + let code, content, escape, next, quote; + let currentToken, escaped, escapePos, n, prev; + let length = css.length; + let pos = 0; + let buffer = []; + let returned = []; + function position() { + return pos; + } + function unclosed(what) { + throw input.error('Unclosed ' + what, pos); + } + function endOfFile() { + return returned.length === 0 && pos >= length; + } + function nextToken(opts) { + if (returned.length) return returned.pop(); + if (pos >= length) return; + let ignoreUnclosed = opts ? opts.ignoreUnclosed : false; + code = css.charCodeAt(pos); + switch(code){ + case NEWLINE: + case SPACE: + case TAB: + case CR: + case FEED: + { + next = pos; + do { + next += 1; + code = css.charCodeAt(next); + }while (code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED) + currentToken = [ + 'space', + css.slice(pos, next) + ]; + pos = next - 1; + break; + } + case OPEN_SQUARE: + case CLOSE_SQUARE: + case OPEN_CURLY: + case CLOSE_CURLY: + case COLON: + case SEMICOLON: + case CLOSE_PARENTHESES: + { + let controlChar = String.fromCharCode(code); + currentToken = [ + controlChar, + controlChar, + pos + ]; + break; + } + case OPEN_PARENTHESES: + { + prev = buffer.length ? buffer.pop()[1] : ''; + n = css.charCodeAt(pos + 1); + if (prev === 'url' && n !== SINGLE_QUOTE && n !== DOUBLE_QUOTE && n !== SPACE && n !== NEWLINE && n !== TAB && n !== FEED && n !== CR) { + next = pos; + do { + escaped = false; + next = css.indexOf(')', next + 1); + if (next === -1) { + if (ignore || ignoreUnclosed) { + next = pos; + break; + } else { + unclosed('bracket'); + } + } + escapePos = next; + while(css.charCodeAt(escapePos - 1) === BACKSLASH){ + escapePos -= 1; + escaped = !escaped; + } + }while (escaped) + currentToken = [ + 'brackets', + css.slice(pos, next + 1), + pos, + next + ]; + pos = next; + } else { + next = css.indexOf(')', pos + 1); + content = css.slice(pos, next + 1); + if (next === -1 || RE_BAD_BRACKET.test(content)) { + currentToken = [ + '(', + '(', + pos + ]; + } else { + currentToken = [ + 'brackets', + content, + pos, + next + ]; + pos = next; + } + } + break; + } + case SINGLE_QUOTE: + case DOUBLE_QUOTE: + { + quote = code === SINGLE_QUOTE ? "'" : '"'; + next = pos; + do { + escaped = false; + next = css.indexOf(quote, next + 1); + if (next === -1) { + if (ignore || ignoreUnclosed) { + next = pos + 1; + break; + } else { + unclosed('string'); + } + } + escapePos = next; + while(css.charCodeAt(escapePos - 1) === BACKSLASH){ + escapePos -= 1; + escaped = !escaped; + } + }while (escaped) + currentToken = [ + 'string', + css.slice(pos, next + 1), + pos, + next + ]; + pos = next; + break; + } + case AT: + { + RE_AT_END.lastIndex = pos + 1; + RE_AT_END.test(css); + if (RE_AT_END.lastIndex === 0) { + next = css.length - 1; + } else { + next = RE_AT_END.lastIndex - 2; + } + currentToken = [ + 'at-word', + css.slice(pos, next + 1), + pos, + next + ]; + pos = next; + break; + } + case BACKSLASH: + { + next = pos; + escape = true; + while(css.charCodeAt(next + 1) === BACKSLASH){ + next += 1; + escape = !escape; + } + code = css.charCodeAt(next + 1); + if (escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED) { + next += 1; + if (RE_HEX_ESCAPE.test(css.charAt(next))) { + while(RE_HEX_ESCAPE.test(css.charAt(next + 1))){ + next += 1; + } + if (css.charCodeAt(next + 1) === SPACE) { + next += 1; + } + } + } + currentToken = [ + 'word', + css.slice(pos, next + 1), + pos, + next + ]; + pos = next; + break; + } + default: + { + if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) { + next = css.indexOf('*/', pos + 2) + 1; + if (next === 0) { + if (ignore || ignoreUnclosed) { + next = css.length; + } else { + unclosed('comment'); + } + } + currentToken = [ + 'comment', + css.slice(pos, next + 1), + pos, + next + ]; + pos = next; + } else { + RE_WORD_END.lastIndex = pos + 1; + RE_WORD_END.test(css); + if (RE_WORD_END.lastIndex === 0) { + next = css.length - 1; + } else { + next = RE_WORD_END.lastIndex - 2; + } + currentToken = [ + 'word', + css.slice(pos, next + 1), + pos, + next + ]; + buffer.push(currentToken); + pos = next; + } + break; + } + } + pos++; + return currentToken; + } + function back(token) { + returned.push(token); + } + return { + back, + endOfFile, + nextToken, + position + }; +}; +}), +"[project]/node_modules/postcss/lib/warn-once.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/* eslint-disable no-console */ let printed = {}; +module.exports = function warnOnce(message) { + if (printed[message]) return; + printed[message] = true; + if (typeof console !== 'undefined' && console.warn) { + console.warn(message); + } +}; +}), +"[project]/node_modules/postcss/lib/warning.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +class Warning { + constructor(text, opts = {}){ + this.type = 'warning'; + this.text = text; + if (opts.node && opts.node.source) { + let range = opts.node.rangeBy(opts); + this.line = range.start.line; + this.column = range.start.column; + this.endLine = range.end.line; + this.endColumn = range.end.column; + } + for(let opt in opts)this[opt] = opts[opt]; + } + toString() { + if (this.node) { + return this.node.error(this.text, { + index: this.index, + plugin: this.plugin, + word: this.word + }).message; + } + if (this.plugin) { + return this.plugin + ': ' + this.text; + } + return this.text; + } +} +module.exports = Warning; +Warning.default = Warning; +}), +]})(), +"[project]/node_modules/nanoid/non-secure/index.cjs [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +let urlAlphabet = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'; +let customAlphabet = (alphabet, defaultSize = 21)=>{ + return (size = defaultSize)=>{ + let id = ''; + let i = size | 0; + while(i-- > 0){ + id += alphabet[Math.random() * alphabet.length | 0]; + } + return id; + }; +}; +let nanoid = (size = 21)=>{ + let id = ''; + let i = size | 0; + while(i-- > 0){ + id += urlAlphabet[Math.random() * 64 | 0]; + } + return id; +}; +module.exports = { + nanoid, + customAlphabet +}; +}), +"[project]/node_modules/picocolors/picocolors.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +let p = process || {}, argv = p.argv || [], env = p.env || {}; +let isColorSupported = !(!!env.NO_COLOR || argv.includes("--no-color")) && (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env.TERM !== "dumb" || !!env.CI); +let formatter = (open, close, replace = open)=>(input)=>{ + let string = "" + input, index = string.indexOf(close, open.length); + return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close; + }; +let replaceClose = (string, close, replace, index)=>{ + let result = "", cursor = 0; + do { + result += string.substring(cursor, index) + replace; + cursor = index + close.length; + index = string.indexOf(close, cursor); + }while (~index) + return result + string.substring(cursor); +}; +let createColors = (enabled = isColorSupported)=>{ + let f = enabled ? formatter : ()=>String; + return { + isColorSupported: enabled, + reset: f("\x1b[0m", "\x1b[0m"), + bold: f("\x1b[1m", "\x1b[22m", "\x1b[22m\x1b[1m"), + dim: f("\x1b[2m", "\x1b[22m", "\x1b[22m\x1b[2m"), + italic: f("\x1b[3m", "\x1b[23m"), + underline: f("\x1b[4m", "\x1b[24m"), + inverse: f("\x1b[7m", "\x1b[27m"), + hidden: f("\x1b[8m", "\x1b[28m"), + strikethrough: f("\x1b[9m", "\x1b[29m"), + black: f("\x1b[30m", "\x1b[39m"), + red: f("\x1b[31m", "\x1b[39m"), + green: f("\x1b[32m", "\x1b[39m"), + yellow: f("\x1b[33m", "\x1b[39m"), + blue: f("\x1b[34m", "\x1b[39m"), + magenta: f("\x1b[35m", "\x1b[39m"), + cyan: f("\x1b[36m", "\x1b[39m"), + white: f("\x1b[37m", "\x1b[39m"), + gray: f("\x1b[90m", "\x1b[39m"), + bgBlack: f("\x1b[40m", "\x1b[49m"), + bgRed: f("\x1b[41m", "\x1b[49m"), + bgGreen: f("\x1b[42m", "\x1b[49m"), + bgYellow: f("\x1b[43m", "\x1b[49m"), + bgBlue: f("\x1b[44m", "\x1b[49m"), + bgMagenta: f("\x1b[45m", "\x1b[49m"), + bgCyan: f("\x1b[46m", "\x1b[49m"), + bgWhite: f("\x1b[47m", "\x1b[49m"), + blackBright: f("\x1b[90m", "\x1b[39m"), + redBright: f("\x1b[91m", "\x1b[39m"), + greenBright: f("\x1b[92m", "\x1b[39m"), + yellowBright: f("\x1b[93m", "\x1b[39m"), + blueBright: f("\x1b[94m", "\x1b[39m"), + magentaBright: f("\x1b[95m", "\x1b[39m"), + cyanBright: f("\x1b[96m", "\x1b[39m"), + whiteBright: f("\x1b[97m", "\x1b[39m"), + bgBlackBright: f("\x1b[100m", "\x1b[49m"), + bgRedBright: f("\x1b[101m", "\x1b[49m"), + bgGreenBright: f("\x1b[102m", "\x1b[49m"), + bgYellowBright: f("\x1b[103m", "\x1b[49m"), + bgBlueBright: f("\x1b[104m", "\x1b[49m"), + bgMagentaBright: f("\x1b[105m", "\x1b[49m"), + bgCyanBright: f("\x1b[106m", "\x1b[49m"), + bgWhiteBright: f("\x1b[107m", "\x1b[49m") + }; +}; +module.exports = createColors(); +module.exports.createColors = createColors; +}), +"[project]/node_modules/source-map-js/lib/array-set.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ var util = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/util.js [postcss] (ecmascript)"); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} +/** + * Static method for creating ArraySet instances from an existing array. + */ ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for(var i = 0, len = aArray.length; i < len; i++){ + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; +/** + * Add the given string to this set. + * + * @param String aStr + */ ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; +/** + * Is the given string a member of this set? + * + * @param String aStr + */ ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + throw new Error('"' + aStr + '" is not in the set.'); +}; +/** + * What is the element at the given index? + * + * @param Number aIdx + */ ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; +exports.ArraySet = ArraySet; +}), +"[project]/node_modules/source-map-js/lib/base64-vlq.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ var base64 = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/base64.js [postcss] (ecmascript)"); +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 +var VLQ_BASE_SHIFT = 5; +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ function toVLQSigned(aValue) { + return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; +} +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative ? -shifted : shifted; +} +/** + * Returns the base 64 VLQ encoded value. + */ exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + var vlq = toVLQSigned(aValue); + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + }while (vlq > 0) + return encoded; +}; +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + }while (continuation) + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; +}), +"[project]/node_modules/source-map-js/lib/base64.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ exports.encode = function(number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ exports.decode = function(charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + var zero = 48; // '0' + var nine = 57; // '9' + var plus = 43; // '+' + var slash = 47; // '/' + var littleOffset = 26; + var numberOffset = 52; + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return charCode - bigA; + } + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return charCode - littleA + littleOffset; + } + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return charCode - zero + numberOffset; + } + // 62: + + if (charCode == plus) { + return 62; + } + // 63: / + if (charCode == slash) { + return 63; + } + // Invalid base64 digit. + return -1; +}; +}), +"[project]/node_modules/source-map-js/lib/binary-search.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while(index - 1 >= 0){ + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + return index; +}; +}), +"[project]/node_modules/source-map-js/lib/mapping-list.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ var util = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/util.js [postcss] (ecmascript)"); +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = { + generatedLine: -1, + generatedColumn: 0 + }; +} +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); +}; +/** + * Add the given source mapping. + * + * @param Object aMapping + */ MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; +exports.MappingList = MappingList; +}), +"[project]/node_modules/source-map-js/lib/quick-sort.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ // It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. +function SortTemplate(comparator) { + /** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; + } + /** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ function randomIntInRange(low, high) { + return Math.round(low + Math.random() * (high - low)); + } + /** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + swap(ary, pivotIndex, r); + var pivot = ary[r]; + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for(var j = p; j < r; j++){ + if (comparator(ary[j], pivot, false) <= 0) { + i += 1; + swap(ary, i, j); + } + } + swap(ary, i + 1, j); + var q = i + 1; + // (2) Recurse on each half. + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } + } + return doQuickSort; +} +function cloneSort(comparator) { + let template = SortTemplate.toString(); + let templateFn = new Function(`return ${template}`)(); + return templateFn(comparator); +} +let isEvalAllowed = function() { + try { + new Function('return 0')(); + return true; + } catch { + return false; + } +}(); +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ let sortCache = new WeakMap(); +exports.quickSort = function(ary, comparator, start = 0) { + let doQuickSort = isEvalAllowed ? sortCache.get(comparator) : SortTemplate(comparator); + if (doQuickSort === void 0) { + doQuickSort = cloneSort(comparator); + sortCache.set(comparator, doQuickSort); + } + doQuickSort(ary, comparator, start, ary.length - 1); +}; +}), +"[project]/node_modules/source-map-js/lib/source-map-consumer.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ var util = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/util.js [postcss] (ecmascript)"); +var binarySearch = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/binary-search.js [postcss] (ecmascript)"); +var ArraySet = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/array-set.js [postcss] (ecmascript)").ArraySet; +var base64VLQ = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/base64-vlq.js [postcss] (ecmascript)"); +var quickSort = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/quick-sort.js [postcss] (ecmascript)").quickSort; +// Upper bound for a section's `offset.line` in an indexed source map. A flat +// map spends one ';' per generated line, so a tiny indexed map with a huge +// offset.line turns into a huge amount of work and memory once its mappings +// are copied into a SourceMapGenerator (CVE-2026-93749). Ten million lines is +// far beyond any real generated file. Columns are VLQ-encoded as deltas and +// don't amplify, so they only need to be valid integers. +var MAX_SECTION_OFFSET_LINE = 1e7; +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +}; +/** + * The version of the source mapping spec that we are consuming. + */ SourceMapConsumer.prototype._version = 3; +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function() { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + return this.__generatedMappings; + } +}); +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function() { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + return this.__originalMappings; + } +}); +SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; +}; +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); +}; +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + var mappings; + switch(order){ + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + var sourceRoot = this.sourceRoot; + var boundCallback = aCallback.bind(context); + var names = this._names; + var sources = this._sources; + var sourceMapURL = this._sourceMapURL; + for(var i = 0, n = mappings.length; i < n; i++){ + var mapping = mappings[i]; + var source = mapping.source === null ? null : sources.at(mapping.source); + if (source !== null) { + source = util.computeSourceURL(sourceRoot, source, sourceMapURL); + } + boundCallback({ + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : names.at(mapping.name) + }); + } +}; +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + var mappings = []; + var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while(mapping && mapping.originalLine === originalLine){ + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while(mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn){ + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + mapping = this._originalMappings[++index]; + } + } + } + return mappings; +}; +exports.SourceMapConsumer = SourceMapConsumer; +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + sources = sources.map(String)// Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize)// Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function(source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source; + }); + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + this._absoluteSources = this._sources.toArray().map(function(s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for(i = 0; i < this._absoluteSources.length; ++i){ + if (this._absoluteSources[i] == aSource) { + return i; + } + } + return -1; +}; +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function(s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + for(var i = 0, length = generatedMappings.length; i < length; i++){ + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + destOriginalMappings.push(destMapping); + } + destGeneratedMappings.push(destMapping); + } + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + return smc; +}; +/** + * The version of the source mapping spec that we are consuming. + */ BasicSourceMapConsumer.prototype._version = 3; +/** + * The list of original sources. + */ Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function() { + return this._absoluteSources.slice(); + } +}); +/** + * Provide the JIT with a nice shape / hidden class. + */ function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ const compareGenerated = util.compareByGeneratedPositionsDeflatedNoLine; +function sortGenerated(array, start) { + let l = array.length; + let n = array.length - start; + if (n <= 1) { + return; + } else if (n == 2) { + let a = array[start]; + let b = array[start + 1]; + if (compareGenerated(a, b) > 0) { + array[start] = b; + array[start + 1] = a; + } + } else if (n < 20) { + for(let i = start; i < l; i++){ + for(let j = i; j > start; j--){ + let a = array[j - 1]; + let b = array[j]; + if (compareGenerated(a, b) <= 0) { + break; + } + array[j - 1] = b; + array[j] = a; + } + } + } else { + quickSort(array, compareGenerated, start); + } +} +BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + let subarrayStart = 0; + while(index < length){ + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + sortGenerated(generatedMappings, subarrayStart); + subarrayStart = generatedMappings.length; + } else if (aStr.charAt(index) === ',') { + index++; + } else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + for(end = index; end < length; end++){ + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + segment = []; + while(index < end){ + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + let currentSource = mapping.source; + while(originalMappings.length <= currentSource){ + originalMappings.push(null); + } + if (originalMappings[currentSource] === null) { + originalMappings[currentSource] = []; + } + originalMappings[currentSource].push(mapping); + } + } + } + sortGenerated(generatedMappings, subarrayStart); + this.__generatedMappings = generatedMappings; + for(var i = 0; i < originalMappings.length; i++){ + if (originalMappings[i] != null) { + quickSort(originalMappings[i], util.compareByOriginalPositionsNoSource); + } + } + this.__originalMappings = [].concat(...originalMappings); +}; +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + aNeedle[aColumnName]); + } + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); +}; +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() { + for(var index = 0; index < this._generatedMappings.length; ++index){ + var mapping = this._generatedMappings[index]; + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } +}; +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + var index = this._findMapping(needle, this._generatedMappings, "generatedLine", "generatedColumn", util.compareByGeneratedPositionsDeflated, util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)); + if (index >= 0) { + var mapping = this._generatedMappings[index]; + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + return { + source: null, + line: null, + column: null, + name: null + }; +}; +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(sc) { + return sc == null; + }); +}; +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + var url; + if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]; + } + if ((!url.path || url.path == "/") && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } +}; +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)); + if (index >= 0) { + var mapping = this._originalMappings[index]; + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + return { + line: null, + column: null, + lastColumn: null + }; +}; +exports.BasicSourceMapConsumer = BasicSourceMapConsumer; +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + this._sources = new ArraySet(); + this._names = new ArraySet(); + var lastOffset = { + line: -1, + column: 0 + }; + var maxOffsetLine = 0; + this._sections = sections.map(function(s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + if (!isValidOffset(offsetLine) || !isValidOffset(offsetColumn)) { + throw new Error('Section offset line and column must be non-negative integers.'); + } + if (offsetLine > MAX_SECTION_OFFSET_LINE) { + throw new Error('Section offset line must not exceed ' + MAX_SECTION_OFFSET_LINE + '.'); + } + if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + var consumer = new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL); + // Offsets of a nested indexed map add up with this one, so apply the + // bound to the total. + var totalOffsetLine = offsetLine + (consumer._maxOffsetLine || 0); + if (totalOffsetLine > MAX_SECTION_OFFSET_LINE) { + throw new Error('Section offset line must not exceed ' + MAX_SECTION_OFFSET_LINE + ', including offsets of nested sections.'); + } + if (totalOffsetLine > maxOffsetLine) { + maxOffsetLine = totalOffsetLine; + } + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: consumer + }; + }); + // The largest offset.line of any section, including nested sections. + this._maxOffsetLine = maxOffsetLine; +} +/** + * Section offsets come from untrusted input and are used as line/column + * numbers, so only accept non-negative safe integers (rejects NaN, Infinity, + * strings, fractions, etc). + */ function isValidOffset(aValue) { + return typeof aValue === 'number' && aValue >= 0 && aValue <= 9007199254740991 && // Number.MAX_SAFE_INTEGER + Math.floor(aValue) === aValue; +} +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; +/** + * The version of the source mapping spec that we are consuming. + */ IndexedSourceMapConsumer.prototype._version = 3; +/** + * The list of original sources. + */ Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function() { + var sources = []; + for(var i = 0; i < this._sections.length; i++){ + // Read the getter once per section: for a nested indexed map it is + // itself this getter, and re-reading it per item is exponential in the + // nesting depth (CVE-2026-93749). + var sectionSources = this._sections[i].consumer.sources; + for(var j = 0; j < sectionSources.length; j++){ + sources.push(sectionSources[j]); + } + } + return sources; + } +}); +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + return needle.generatedColumn - section.generatedOffset.generatedColumn; + }); + var section = this._sections[sectionIndex]; + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + return section.consumer.originalPositionFor({ + line: needle.generatedLine - (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + bias: aArgs.bias + }); +}; +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function(s) { + return s.consumer.hasContentsOfAllSources(); + }); +}; +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for(var i = 0; i < this._sections.length; i++){ + var section = this._sections[i]; + var content = section.consumer.sourceContentFor(aSource, true); + if (content || content === '') { + return content; + } + } + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } +}; +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for(var i = 0; i < this._sections.length; i++){ + var section = this._sections[i]; + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0) + }; + return ret; + } + } + return { + line: null, + column: null + }; +}; +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for(var i = 0; i < this._sections.length; i++){ + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for(var j = 0; j < sectionMappings.length; j++){ + var mapping = sectionMappings[j]; + var source = section.consumer._sources.at(mapping.source); + if (source !== null) { + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + } + this._sources.add(source); + source = this._sources.indexOf(source); + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); +}; +exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; +}), +"[project]/node_modules/source-map-js/lib/source-map-generator.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ var base64VLQ = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/base64-vlq.js [postcss] (ecmascript)"); +var util = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/util.js [postcss] (ecmascript)"); +var ArraySet = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/array-set.js [postcss] (ecmascript)").ArraySet; +var MappingList = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/mapping-list.js [postcss] (ecmascript)").MappingList; +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._ignoreInvalidMapping = util.getArg(aArgs, 'ignoreInvalidMapping', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} +SourceMapGenerator.prototype._version = 3; +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer, generatorOps) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator(Object.assign(generatorOps || {}, { + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + })); + aSourceMapConsumer.eachMapping(function(mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function(sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; +}; +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + if (!this._skipValidation) { + if (this._validateMapping(generated, original, source, name) === false) { + return; + } + } + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); +}; +/** + * Set the source content for a source file. + */ SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } +}; +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + 'or the source map\'s "file" property. Both were omitted.'); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function(mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source); + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + }, this); + this._sources = newSources; + this._names = newNames; + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function(sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); +}; +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + var message = 'original.line and original.column are not numbers -- you probably meant to omit ' + 'the original mapping entirely and only map the generated position. If so, pass ' + 'null for the original mapping instead of an object with empty or null values.'; + if (this._ignoreInvalidMapping) { + if (typeof console !== 'undefined' && console.warn) { + console.warn(message); + } + return false; + } else { + throw new Error(message); + } + } + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aOriginal && 'line' in aOriginal && 'column' in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { + // Cases 2 and 3. + return; + } else { + var message = 'Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + }); + if (this._ignoreInvalidMapping) { + if (typeof console !== 'undefined' && console.warn) { + console.warn(message); + } + return false; + } else { + throw new Error(message); + } + } +}; +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + var mappings = this._mappings.toArray(); + for(var i = 0, len = mappings.length; i < len; i++){ + mapping = mappings[i]; + next = ''; + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + // One ';' per skipped line. Build large gaps with a single flat + // string: appending ';' one by one creates a rope node per line, which + // can exhaust the heap for a big gap (CVE-2026-93749). + var lineDelta = mapping.generatedLine - previousGeneratedLine; + next += lineDelta === 1 ? ';' : ';'.repeat(lineDelta); + previousGeneratedLine = mapping.generatedLine; + } else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + result += next; + } + return result; +}; +SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function(source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; + }, this); +}; +/** + * Externalize the source map. + */ SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + return map; +}; +/** + * Render the source map being generated to a string. + */ SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); +}; +exports.SourceMapGenerator = SourceMapGenerator; +}), +"[project]/node_modules/source-map-js/lib/source-node.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ var SourceMapGenerator = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/source-map-generator.js [postcss] (ecmascript)").SourceMapGenerator; +var util = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/util.js [postcss] (ecmascript)"); +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + //TURBOPACK unreachable + ; + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : undefined; + } + }; + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + aSourceMapConsumer.eachMapping(function(mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while(lastGeneratedLine < mapping.generatedLine){ + if (remainingLinesIndex >= remainingLines.length) { + // The generated code is exhausted. Skip the rest instead of adding + // empty lines one by one: a mapping may point far past the end of + // the code (e.g. an indexed map section with a huge offset.line). + lastGeneratedLine = mapping.generatedLine; + break; + } + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function(sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + return node; + //TURBOPACK unreachable + ; + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source; + node.add(new SourceNode(mapping.originalLine, mapping.originalColumn, source, code, mapping.name)); + } + } +}; +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function(chunk) { + this.add(chunk); + }, this); + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } else { + throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk); + } + return this; +}; +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for(var i = aChunk.length - 1; i >= 0; i--){ + this.prepend(aChunk[i]); + } + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } else { + throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk); + } + return this; +}; +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for(var i = 0, len = this.children.length; i < len; i++){ + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } else { + if (chunk !== '') { + aFn(chunk, { + source: this.source, + line: this.line, + column: this.column, + name: this.name + }); + } + } + } +}; +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for(i = 0; i < len - 1; i++){ + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; +}; +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) { + for(var i = 0, len = this.children.length; i < len; i++){ + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + var sources = Object.keys(this.sourceContents); + for(var i = 0, len = sources.length; i < len; i++){ + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } +}; +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function(chunk) { + str += chunk; + }); + return str; +}; +/** + * Returns the string representation of this source node along with a source + * map. + */ SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function(chunk, original) { + generated.code += chunk; + if (original.source !== null && original.line !== null && original.column !== null) { + if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for(var idx = 0, length = chunk.length; idx < length; idx++){ + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function(sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + return { + code: generated.code, + map: map + }; +}; +exports.SourceNode = SourceNode; +}), +"[project]/node_modules/source-map-js/lib/util.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* -*- Mode: js; js-indent-level: 2; -*- */ /* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ /** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port; + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; +var MAX_CACHED_INPUTS = 32; +/** + * Takes some function `f(input) -> result` and returns a memoized version of + * `f`. + * + * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The + * memoization is a dumb-simple, linear least-recently-used cache. + */ function lruMemoize(f) { + var cache = []; + return function(input) { + for(var i = 0; i < cache.length; i++){ + if (cache[i].input === input) { + var temp = cache[0]; + cache[0] = cache[i]; + cache[i] = temp; + return cache[0].result; + } + } + var result = f(input); + cache.unshift({ + input, + result + }); + if (cache.length > MAX_CACHED_INPUTS) { + cache.pop(); + } + return result; + }; +} +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ var normalize = lruMemoize(function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + // Split the path into parts between `/` characters. This is much faster than + // using `.split(/\/+/g)`. + var parts = []; + var start = 0; + var i = 0; + while(true){ + start = i; + i = path.indexOf("/", start); + if (i === -1) { + parts.push(path.slice(start)); + break; + } else { + parts.push(path.slice(start, i)); + while(i < path.length && path[i] === "/"){ + i++; + } + } + } + for(var part, up = 0, i = parts.length - 1; i >= 0; i--){ + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +}); +exports.normalize = normalize; +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + var joined = aPath.charAt(0) === '/' ? aPath : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; +exports.isAbsolute = function(aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + aRoot = aRoot.replace(/\/$/, ''); + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while(aPath.indexOf(aRoot + '/') !== 0){ + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + ++level; + } + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; +var supportsNullProto = function() { + var obj = Object.create(null); + return !('__proto__' in obj); +}(); +function identity(s) { + return s; +} +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; +function isProtoString(s) { + if (!s) { + return false; + } + var length = s.length; + if (length < 9 /* "__proto__".length */ ) { + return false; + } + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || s.charCodeAt(length - 2) !== 95 /* '_' */ || s.charCodeAt(length - 3) !== 111 /* 'o' */ || s.charCodeAt(length - 4) !== 116 /* 't' */ || s.charCodeAt(length - 5) !== 111 /* 'o' */ || s.charCodeAt(length - 6) !== 114 /* 'r' */ || s.charCodeAt(length - 7) !== 112 /* 'p' */ || s.charCodeAt(length - 8) !== 95 /* '_' */ || s.charCodeAt(length - 9) !== 95 /* '_' */ ) { + return false; + } + for(var i = length - 10; i >= 0; i--){ + if (s.charCodeAt(i) !== 36 /* '$' */ ) { + return false; + } + } + return true; +} +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; +function compareByOriginalPositionsNoSource(mappingA, mappingB, onlyCompareOriginal) { + var cmp; + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositionsNoSource = compareByOriginalPositionsNoSource; +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; +function compareByGeneratedPositionsDeflatedNoLine(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflatedNoLine = compareByGeneratedPositionsDeflatedNoLine; +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + if (aStr1 === null) { + return 1; // aStr2 !== null + } + if (aStr2 === null) { + return -1; // aStr1 !== null + } + if (aStr1 > aStr2) { + return 1; + } + return -1; +} +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; +}), +"[project]/node_modules/source-map-js/source-map.js [postcss] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ exports.SourceMapGenerator = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/source-map-generator.js [postcss] (ecmascript)").SourceMapGenerator; +exports.SourceMapConsumer = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/source-map-consumer.js [postcss] (ecmascript)").SourceMapConsumer; +exports.SourceNode = __turbopack_context__.r("[project]/node_modules/source-map-js/lib/source-node.js [postcss] (ecmascript)").SourceNode; +}), +]; + +//# sourceMappingURL=node_modules_20v-8wlfss9m1._.js.map \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/node_modules_20v-8wlfss9m1._.js.map b/e-commerce/.next/build/chunks/node_modules_20v-8wlfss9m1._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..574ecae02e8e4553533ad51163149bff18355aa9 --- /dev/null +++ b/e-commerce/.next/build/chunks/node_modules_20v-8wlfss9m1._.js.map @@ -0,0 +1,47 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 5, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/at-rule.js"],"sourcesContent":["'use strict'\n\nlet Container = require('./container')\n\nclass AtRule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'atrule'\n }\n\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.append(...children)\n }\n\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.prepend(...children)\n }\n}\n\nmodule.exports = AtRule\nAtRule.default = AtRule\n\nContainer.registerAtRule(AtRule)\n"],"names":["Container","AtRule","defaults","type","append","children","proxyOf","nodes","prepend","module","exports","default","registerAtRule"],"mappings":"AAEA,IAAIA;AAEJ,MAAMC,eAAeD;IACnBC,YAAYC,QAAQ,CAAE;QACpB,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAG;IACd;IAEAC,OAAO,GAAGC,QAAQ,EAAE;QAClB,IAAI,CAAC,IAAI,CAACC,OAAO,CAACC,KAAK,EAAE,IAAI,CAACA,KAAK,GAAG,EAAE;QACxC,OAAO,KAAK,CAACH,UAAUC;IACzB;IAEAG,QAAQ,GAAGH,QAAQ,EAAE;QACnB,IAAI,CAAC,IAAI,CAACC,OAAO,CAACC,KAAK,EAAE,IAAI,CAACA,KAAK,GAAG,EAAE;QACxC,OAAO,KAAK,CAACC,WAAWH;IAC1B;AACF;AAEAI,OAAOC,OAAO,GAAGT;AACjBA,OAAOU,OAAO,GAAGV;AAEjBD,UAAUY,cAAc,CAACX","ignoreList":[0]}}, + {"offset": {"line": 27, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/comment.js"],"sourcesContent":["'use strict'\n\nlet Node = require('./node')\n\nclass Comment extends Node {\n constructor(defaults) {\n super(defaults)\n this.type = 'comment'\n }\n}\n\nmodule.exports = Comment\nComment.default = Comment\n"],"names":["Node","Comment","defaults","type","module","exports","default"],"mappings":"AAEA,IAAIA;AAEJ,MAAMC,gBAAgBD;IACpBC,YAAYC,QAAQ,CAAE;QACpB,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAG;IACd;AACF;AAEAC,OAAOC,OAAO,GAAGJ;AACjBA,QAAQK,OAAO,GAAGL","ignoreList":[0]}}, + {"offset": {"line": 40, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/container.js"],"sourcesContent":["'use strict'\n\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Node = require('./node')\nlet { isClean, my } = require('./symbols')\n\nlet AtRule, parse, Root, Rule\n\nfunction cleanSource(nodes) {\n return nodes.map(i => {\n if (i.nodes) i.nodes = cleanSource(i.nodes)\n delete i.source\n return i\n })\n}\n\nfunction markTreeDirty(node) {\n node[isClean] = false\n if (node.proxyOf.nodes) {\n for (let i of node.proxyOf.nodes) {\n markTreeDirty(i)\n }\n }\n}\n\nclass Container extends Node {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last)\n for (let node of nodes) this.proxyOf.nodes.push(node)\n }\n\n this.markDirty()\n\n return this\n }\n\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween)\n if (this.nodes) {\n for (let node of this.nodes) node.cleanRaws(keepBetween)\n }\n }\n\n each(callback) {\n if (!this.proxyOf.nodes) return undefined\n let iterator = this.getIterator()\n\n let index, result\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index = this.indexes[iterator]\n result = callback(this.proxyOf.nodes[index], index)\n if (result === false) break\n\n this.indexes[iterator] += 1\n }\n\n delete this.indexes[iterator]\n return result\n }\n\n every(condition) {\n return this.nodes.every(condition)\n }\n\n getIterator() {\n if (!this.lastEach) this.lastEach = 0\n if (!this.indexes) this.indexes = {}\n\n this.lastEach += 1\n let iterator = this.lastEach\n this.indexes[iterator] = 0\n\n return iterator\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (!node[prop]) {\n return node[prop]\n } else if (\n prop === 'each' ||\n (typeof prop === 'string' && prop.startsWith('walk'))\n ) {\n return (...args) => {\n return node[prop](\n ...args.map(i => {\n if (typeof i === 'function') {\n return (child, index) => i(child.toProxy(), index)\n } else {\n return i\n }\n })\n )\n }\n } else if (prop === 'every' || prop === 'some') {\n return cb => {\n return node[prop]((child, ...other) =>\n cb(child.toProxy(), ...other)\n )\n }\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else if (prop === 'nodes') {\n return node.nodes.map(i => i.toProxy())\n } else if (prop === 'first' || prop === 'last') {\n return node[prop].toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (prop === 'name' || prop === 'params' || prop === 'selector') {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n index(child) {\n if (typeof child === 'number') return child\n if (child.proxyOf) child = child.proxyOf\n return this.proxyOf.nodes.indexOf(child)\n }\n\n insertAfter(exist, add) {\n let existIndex = this.index(exist)\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex < index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n insertBefore(exist, add) {\n let existIndex = this.index(exist)\n let type = existIndex === 0 ? 'prepend' : false\n let nodes = this.normalize(\n add,\n this.proxyOf.nodes[existIndex],\n type\n ).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex <= index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n normalize(nodes, sample) {\n if (typeof nodes === 'string') {\n nodes = cleanSource(parse(nodes).nodes)\n } else if (typeof nodes === 'undefined') {\n nodes = []\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type === 'root' && this.type !== 'document') {\n nodes = nodes.nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type) {\n nodes = [nodes]\n } else if (nodes.prop) {\n if (typeof nodes.value === 'undefined') {\n throw new Error('Value field is missed in node creation')\n } else if (typeof nodes.value !== 'string') {\n nodes.value = String(nodes.value)\n }\n nodes = [new Declaration(nodes)]\n } else if (nodes.selector || nodes.selectors) {\n nodes = [new Rule(nodes)]\n } else if (nodes.name) {\n nodes = [new AtRule(nodes)]\n } else if (nodes.text) {\n nodes = [new Comment(nodes)]\n } else {\n throw new Error('Unknown node type in node creation')\n }\n\n let processed = nodes.map(i => {\n /* c8 ignore next */\n if (!i[my]) Container.rebuild(i)\n i = i.proxyOf\n if (i.parent) i.parent.removeChild(i)\n if (i[isClean]) markTreeDirty(i)\n\n if (!i.raws) i.raws = {}\n if (typeof i.raws.before === 'undefined') {\n if (sample && typeof sample.raws.before !== 'undefined') {\n i.raws.before = sample.raws.before.replace(/\\S/g, '')\n }\n }\n i.parent = this.proxyOf\n return i\n })\n\n return processed\n }\n\n prepend(...children) {\n children = children.reverse()\n for (let child of children) {\n let nodes = this.normalize(child, this.first, 'prepend').reverse()\n for (let node of nodes) this.proxyOf.nodes.unshift(node)\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n push(child) {\n child.parent = this\n this.proxyOf.nodes.push(child)\n return this\n }\n\n removeAll() {\n for (let node of this.proxyOf.nodes) node.parent = undefined\n this.proxyOf.nodes = []\n\n this.markDirty()\n\n return this\n }\n\n removeChild(child) {\n child = this.index(child)\n this.proxyOf.nodes[child].parent = undefined\n this.proxyOf.nodes.splice(child, 1)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (index >= child) {\n this.indexes[id] = index - 1\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts\n opts = {}\n }\n\n this.walkDecls(decl => {\n if (opts.props && !opts.props.includes(decl.prop)) return\n if (opts.fast && !decl.value.includes(opts.fast)) return\n\n decl.value = decl.value.replace(pattern, callback)\n })\n\n this.markDirty()\n\n return this\n }\n\n some(condition) {\n return this.nodes.some(condition)\n }\n\n walk(callback) {\n return this.each((child, i) => {\n let result\n try {\n result = callback(child, i)\n } catch (e) {\n throw child.addToError(e)\n }\n if (result !== false && child.walk) {\n result = child.walk(callback)\n }\n\n return result\n })\n }\n\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name\n return this.walk((child, i) => {\n if (child.type === 'atrule') {\n return callback(child, i)\n }\n })\n }\n if (name instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'atrule' && name.test(child.name)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'atrule' && child.name === name) {\n return callback(child, i)\n }\n })\n }\n\n walkComments(callback) {\n return this.walk((child, i) => {\n if (child.type === 'comment') {\n return callback(child, i)\n }\n })\n }\n\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop\n return this.walk((child, i) => {\n if (child.type === 'decl') {\n return callback(child, i)\n }\n })\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'decl' && prop.test(child.prop)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'decl' && child.prop === prop) {\n return callback(child, i)\n }\n })\n }\n\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector\n\n return this.walk((child, i) => {\n if (child.type === 'rule') {\n return callback(child, i)\n }\n })\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'rule' && selector.test(child.selector)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'rule' && child.selector === selector) {\n return callback(child, i)\n }\n })\n }\n\n get first() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[0]\n }\n\n get last() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]\n }\n}\n\nContainer.registerParse = dependant => {\n parse = dependant\n}\n\nContainer.registerRule = dependant => {\n Rule = dependant\n}\n\nContainer.registerAtRule = dependant => {\n AtRule = dependant\n}\n\nContainer.registerRoot = dependant => {\n Root = dependant\n}\n\nmodule.exports = Container\nContainer.default = Container\n\n/* c8 ignore start */\nContainer.rebuild = node => {\n if (node.type === 'atrule') {\n Object.setPrototypeOf(node, AtRule.prototype)\n } else if (node.type === 'rule') {\n Object.setPrototypeOf(node, Rule.prototype)\n } else if (node.type === 'decl') {\n Object.setPrototypeOf(node, Declaration.prototype)\n } else if (node.type === 'comment') {\n Object.setPrototypeOf(node, Comment.prototype)\n } else if (node.type === 'root') {\n Object.setPrototypeOf(node, Root.prototype)\n }\n\n node[my] = true\n\n if (node.nodes) {\n node.nodes.forEach(child => {\n Container.rebuild(child)\n })\n }\n}\n/* c8 ignore stop */\n"],"names":["Comment","Declaration","Node","isClean","my","AtRule","parse","Root","Rule","cleanSource","nodes","map","i","source","markTreeDirty","node","proxyOf","Container","append","children","child","normalize","last","push","markDirty","cleanRaws","keepBetween","each","callback","undefined","iterator","getIterator","index","result","indexes","length","every","condition","lastEach","getProxyProcessor","get","prop","startsWith","args","toProxy","cb","other","root","set","value","indexOf","insertAfter","exist","add","existIndex","reverse","splice","id","insertBefore","type","sample","Array","isArray","slice","parent","removeChild","Error","String","selector","selectors","name","text","processed","rebuild","raws","before","replace","prepend","first","unshift","removeAll","replaceValues","pattern","opts","walkDecls","decl","props","includes","fast","some","walk","e","addToError","walkAtRules","RegExp","test","walkComments","walkRules","registerParse","dependant","registerRule","registerAtRule","registerRoot","module","exports","default","Object","setPrototypeOf","prototype","forEach"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 421, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/css-syntax-error.js"],"sourcesContent":["'use strict'\n\nlet pico = require('picocolors')\n\nlet terminalHighlight = require('./terminal-highlight')\n\nclass CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin) {\n super(message)\n this.name = 'CssSyntaxError'\n this.reason = message\n\n if (file) {\n this.file = file\n }\n if (source) {\n this.source = source\n }\n if (plugin) {\n this.plugin = plugin\n }\n if (typeof line !== 'undefined' && typeof column !== 'undefined') {\n if (typeof line === 'number') {\n this.line = line\n this.column = column\n } else {\n this.line = line.line\n this.column = line.column\n this.endLine = column.line\n this.endColumn = column.column\n }\n }\n\n this.setMessage()\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError)\n }\n }\n\n setMessage() {\n this.message = this.plugin ? this.plugin + ': ' : ''\n this.message += this.file ? this.file : ''\n if (typeof this.line !== 'undefined') {\n this.message += ':' + this.line + ':' + this.column\n }\n this.message += ': ' + this.reason\n }\n\n showSourceCode(color) {\n if (!this.source) return ''\n\n let css = this.source\n if (color == null) color = pico.isColorSupported\n\n let aside = text => text\n let mark = text => text\n let highlight = text => text\n if (color) {\n let { bold, gray, red } = pico.createColors(true)\n mark = text => bold(red(text))\n aside = text => gray(text)\n if (terminalHighlight) {\n highlight = text => terminalHighlight(text)\n }\n }\n\n let lines = css.split(/\\r?\\n/)\n let start = Math.max(this.line - 3, 0)\n let end = Math.min(this.line + 2, lines.length)\n let maxWidth = String(end).length\n\n return lines\n .slice(start, end)\n .map((line, index) => {\n let number = start + 1 + index\n let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '\n if (number === this.line) {\n if (line.length > 160) {\n let padding = 20\n let subLineStart = Math.max(0, this.column - padding)\n let subLineEnd = Math.max(\n this.column + padding,\n this.endColumn + padding\n )\n let subLine = line.slice(subLineStart, subLineEnd)\n\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line\n .slice(0, Math.min(this.column - 1, padding - 1))\n .replace(/[^\\t]/g, ' ')\n\n return (\n mark('>') +\n aside(gutter) +\n highlight(subLine) +\n '\\n ' +\n spacing +\n mark('^')\n )\n }\n\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line.slice(0, this.column - 1).replace(/[^\\t]/g, ' ')\n\n return (\n mark('>') +\n aside(gutter) +\n highlight(line) +\n '\\n ' +\n spacing +\n mark('^')\n )\n }\n\n return ' ' + aside(gutter) + highlight(line)\n })\n .join('\\n')\n }\n\n toString() {\n let code = this.showSourceCode()\n if (code) {\n code = '\\n\\n' + code + '\\n'\n }\n return this.name + ': ' + this.message + code\n }\n}\n\nmodule.exports = CssSyntaxError\nCssSyntaxError.default = CssSyntaxError\n"],"names":["pico","terminalHighlight","CssSyntaxError","Error","message","line","column","source","file","plugin","name","reason","endLine","endColumn","setMessage","captureStackTrace","showSourceCode","color","css","isColorSupported","aside","text","mark","highlight","bold","gray","red","createColors","lines","split","start","Math","max","end","min","length","maxWidth","String","slice","map","index","number","gutter","padding","subLineStart","subLineEnd","subLine","spacing","replace","join","toString","code","module","exports","default"],"mappings":"AAEA,IAAIA;AAEJ,IAAIC;AAEJ,MAAMC,uBAAuBC;IAC3BD,YAAYE,OAAO,EAAEC,IAAI,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAEC,MAAM,CAAE;QACvD,KAAK,CAACL;QACN,IAAI,CAACM,IAAI,GAAG;QACZ,IAAI,CAACC,MAAM,GAAGP;QAEd,IAAII,MAAM;YACR,IAAI,CAACA,IAAI,GAAGA;QACd;QACA,IAAID,QAAQ;YACV,IAAI,CAACA,MAAM,GAAGA;QAChB;QACA,IAAIE,QAAQ;YACV,IAAI,CAACA,MAAM,GAAGA;QAChB;QACA,IAAI,OAAOJ,SAAS,eAAe,OAAOC,WAAW,aAAa;YAChE,IAAI,OAAOD,SAAS,UAAU;gBAC5B,IAAI,CAACA,IAAI,GAAGA;gBACZ,IAAI,CAACC,MAAM,GAAGA;YAChB,OAAO;gBACL,IAAI,CAACD,IAAI,GAAGA,KAAKA,IAAI;gBACrB,IAAI,CAACC,MAAM,GAAGD,KAAKC,MAAM;gBACzB,IAAI,CAACM,OAAO,GAAGN,OAAOD,IAAI;gBAC1B,IAAI,CAACQ,SAAS,GAAGP,OAAOA,MAAM;YAChC;QACF;QAEA,IAAI,CAACQ,UAAU;QAEf,IAAIX,MAAMY,iBAAiB,EAAE;YAC3BZ,MAAMY,iBAAiB,CAAC,IAAI,EAAEb;QAChC;IACF;IAEAY,aAAa;QACX,IAAI,CAACV,OAAO,GAAG,IAAI,CAACK,MAAM,GAAG,IAAI,CAACA,MAAM,GAAG,OAAO;QAClD,IAAI,CAACL,OAAO,IAAI,IAAI,CAACI,IAAI,GAAG,IAAI,CAACA,IAAI,GAAG;QACxC,IAAI,OAAO,IAAI,CAACH,IAAI,KAAK,aAAa;YACpC,IAAI,CAACD,OAAO,IAAI,MAAM,IAAI,CAACC,IAAI,GAAG,MAAM,IAAI,CAACC,MAAM;QACrD;QACA,IAAI,CAACF,OAAO,IAAI,OAAO,IAAI,CAACO,MAAM;IACpC;IAEAK,eAAeC,KAAK,EAAE;QACpB,IAAI,CAAC,IAAI,CAACV,MAAM,EAAE,OAAO;QAEzB,IAAIW,MAAM,IAAI,CAACX,MAAM;QACrB,IAAIU,SAAS,MAAMA,QAAQjB,KAAKmB,gBAAgB;QAEhD,IAAIC,QAAQC,CAAAA,OAAQA;QACpB,IAAIC,OAAOD,CAAAA,OAAQA;QACnB,IAAIE,YAAYF,CAAAA,OAAQA;QACxB,IAAIJ,OAAO;YACT,IAAI,EAAEO,IAAI,EAAEC,IAAI,EAAEC,GAAG,EAAE,GAAG1B,KAAK2B,YAAY,CAAC;YAC5CL,OAAOD,CAAAA,OAAQG,KAAKE,IAAIL;YACxBD,QAAQC,CAAAA,OAAQI,KAAKJ;YACrB,IAAIpB,mBAAmB;gBACrBsB,YAAYF,CAAAA,OAAQpB,kBAAkBoB;YACxC;QACF;QAEA,IAAIO,QAAQV,IAAIW,KAAK,CAAC;QACtB,IAAIC,QAAQC,KAAKC,GAAG,CAAC,IAAI,CAAC3B,IAAI,GAAG,GAAG;QACpC,IAAI4B,MAAMF,KAAKG,GAAG,CAAC,IAAI,CAAC7B,IAAI,GAAG,GAAGuB,MAAMO,MAAM;QAC9C,IAAIC,WAAWC,OAAOJ,KAAKE,MAAM;QAEjC,OAAOP,MACJU,KAAK,CAACR,OAAOG,KACbM,GAAG,CAAC,CAAClC,MAAMmC;YACV,IAAIC,SAASX,QAAQ,IAAIU;YACzB,IAAIE,SAAS,MAAM,CAAC,MAAMD,MAAM,EAAEH,KAAK,CAAC,CAACF,YAAY;YACrD,IAAIK,WAAW,IAAI,CAACpC,IAAI,EAAE;gBACxB,IAAIA,KAAK8B,MAAM,GAAG,KAAK;oBACrB,IAAIQ,UAAU;oBACd,IAAIC,eAAeb,KAAKC,GAAG,CAAC,GAAG,IAAI,CAAC1B,MAAM,GAAGqC;oBAC7C,IAAIE,aAAad,KAAKC,GAAG,CACvB,IAAI,CAAC1B,MAAM,GAAGqC,SACd,IAAI,CAAC9B,SAAS,GAAG8B;oBAEnB,IAAIG,UAAUzC,KAAKiC,KAAK,CAACM,cAAcC;oBAEvC,IAAIE,UACF3B,MAAMsB,OAAOM,OAAO,CAAC,OAAO,QAC5B3C,KACGiC,KAAK,CAAC,GAAGP,KAAKG,GAAG,CAAC,IAAI,CAAC5B,MAAM,GAAG,GAAGqC,UAAU,IAC7CK,OAAO,CAAC,UAAU;oBAEvB,OACE1B,KAAK,OACLF,MAAMsB,UACNnB,UAAUuB,WACV,QACAC,UACAzB,KAAK;gBAET;gBAEA,IAAIyB,UACF3B,MAAMsB,OAAOM,OAAO,CAAC,OAAO,QAC5B3C,KAAKiC,KAAK,CAAC,GAAG,IAAI,CAAChC,MAAM,GAAG,GAAG0C,OAAO,CAAC,UAAU;gBAEnD,OACE1B,KAAK,OACLF,MAAMsB,UACNnB,UAAUlB,QACV,QACA0C,UACAzB,KAAK;YAET;YAEA,OAAO,MAAMF,MAAMsB,UAAUnB,UAAUlB;QACzC,GACC4C,IAAI,CAAC;IACV;IAEAC,WAAW;QACT,IAAIC,OAAO,IAAI,CAACnC,cAAc;QAC9B,IAAImC,MAAM;YACRA,OAAO,SAASA,OAAO;QACzB;QACA,OAAO,IAAI,CAACzC,IAAI,GAAG,OAAO,IAAI,CAACN,OAAO,GAAG+C;IAC3C;AACF;AAEAC,OAAOC,OAAO,GAAGnD;AACjBA,eAAeoD,OAAO,GAAGpD","ignoreList":[0]}}, + {"offset": {"line": 512, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/declaration.js"],"sourcesContent":["'use strict'\n\nlet Node = require('./node')\n\nclass Declaration extends Node {\n constructor(defaults) {\n if (\n defaults &&\n typeof defaults.value !== 'undefined' &&\n typeof defaults.value !== 'string'\n ) {\n defaults = { ...defaults, value: String(defaults.value) }\n }\n super(defaults)\n this.type = 'decl'\n }\n\n get variable() {\n return this.prop.startsWith('--') || this.prop[0] === '$'\n }\n}\n\nmodule.exports = Declaration\nDeclaration.default = Declaration\n"],"names":["Node","Declaration","defaults","value","String","type","variable","prop","startsWith","module","exports","default"],"mappings":"AAEA,IAAIA;AAEJ,MAAMC,oBAAoBD;IACxBC,YAAYC,QAAQ,CAAE;QACpB,IACEA,YACA,OAAOA,SAASC,KAAK,KAAK,eAC1B,OAAOD,SAASC,KAAK,KAAK,UAC1B;YACAD,WAAW;gBAAE,GAAGA,QAAQ;gBAAEC,OAAOC,OAAOF,SAASC,KAAK;YAAE;QAC1D;QACA,KAAK,CAACD;QACN,IAAI,CAACG,IAAI,GAAG;IACd;IAEA,IAAIC,WAAW;QACb,OAAO,IAAI,CAACC,IAAI,CAACC,UAAU,CAAC,SAAS,IAAI,CAACD,IAAI,CAAC,EAAE,KAAK;IACxD;AACF;AAEAE,OAAOC,OAAO,GAAGT;AACjBA,YAAYU,OAAO,GAAGV","ignoreList":[0]}}, + {"offset": {"line": 534, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/document.js"],"sourcesContent":["'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Document extends Container {\n constructor(defaults) {\n // type needs to be passed to super, otherwise child roots won't be normalized correctly\n super({ type: 'document', ...defaults })\n\n if (!this.nodes) {\n this.nodes = []\n }\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n\n return lazy.stringify()\n }\n}\n\nDocument.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nDocument.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Document\nDocument.default = Document\n"],"names":["Container","LazyResult","Processor","Document","defaults","type","nodes","toResult","opts","lazy","stringify","registerLazyResult","dependant","registerProcessor","module","exports","default"],"mappings":"AAEA,IAAIA;AAEJ,IAAIC,YAAYC;AAEhB,MAAMC,iBAAiBH;IACrBG,YAAYC,QAAQ,CAAE;QACpB,wFAAwF;QACxF,KAAK,CAAC;YAAEC,MAAM;YAAY,GAAGD,QAAQ;QAAC;QAEtC,IAAI,CAAC,IAAI,CAACE,KAAK,EAAE;YACf,IAAI,CAACA,KAAK,GAAG,EAAE;QACjB;IACF;IAEAC,SAASC,OAAO,CAAC,CAAC,EAAE;QAClB,IAAIC,OAAO,IAAIR,WAAW,IAAIC,aAAa,IAAI,EAAEM;QAEjD,OAAOC,KAAKC,SAAS;IACvB;AACF;AAEAP,SAASQ,kBAAkB,GAAGC,CAAAA;IAC5BX,aAAaW;AACf;AAEAT,SAASU,iBAAiB,GAAGD,CAAAA;IAC3BV,YAAYU;AACd;AAEAE,OAAOC,OAAO,GAAGZ;AACjBA,SAASa,OAAO,GAAGb","ignoreList":[0]}}, + {"offset": {"line": 564, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/fromJSON.js"],"sourcesContent":["'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Input = require('./input')\nlet PreviousMap = require('./previous-map')\nlet Root = require('./root')\nlet Rule = require('./rule')\n\nfunction fromJSON(json, inputs) {\n if (Array.isArray(json)) return json.map(n => fromJSON(n))\n\n let { inputs: ownInputs, ...defaults } = json\n if (ownInputs) {\n inputs = []\n for (let input of ownInputs) {\n let inputHydrated = { ...input, __proto__: Input.prototype }\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap.prototype\n }\n }\n inputs.push(inputHydrated)\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map(n => fromJSON(n, inputs))\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source\n defaults.source = source\n if (inputId != null) {\n defaults.source.input = inputs[inputId]\n }\n }\n if (defaults.type === 'root') {\n return new Root(defaults)\n } else if (defaults.type === 'decl') {\n return new Declaration(defaults)\n } else if (defaults.type === 'rule') {\n return new Rule(defaults)\n } else if (defaults.type === 'comment') {\n return new Comment(defaults)\n } else if (defaults.type === 'atrule') {\n return new AtRule(defaults)\n } else {\n throw new Error('Unknown node type: ' + json.type)\n }\n}\n\nmodule.exports = fromJSON\nfromJSON.default = fromJSON\n"],"names":["AtRule","Comment","Declaration","Input","PreviousMap","Root","Rule","fromJSON","json","inputs","Array","isArray","map","n","ownInputs","defaults","input","inputHydrated","__proto__","prototype","push","nodes","source","inputId","type","Error","module","exports","default"],"mappings":"AAEA,IAAIA;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AAEJ,SAASC,SAASC,IAAI,EAAEC,MAAM;IAC5B,IAAIC,MAAMC,OAAO,CAACH,OAAO,OAAOA,KAAKI,GAAG,CAACC,CAAAA,IAAKN,SAASM;IAEvD,IAAI,EAAEJ,QAAQK,SAAS,EAAE,GAAGC,UAAU,GAAGP;IACzC,IAAIM,WAAW;QACbL,SAAS,EAAE;QACX,KAAK,IAAIO,SAASF,UAAW;YAC3B,IAAIG,gBAAgB;gBAAE,GAAGD,KAAK;gBAAEE,WAAWf,MAAMgB,SAAS;YAAC;YAC3D,IAAIF,cAAcL,GAAG,EAAE;gBACrBK,cAAcL,GAAG,GAAG;oBAClB,GAAGK,cAAcL,GAAG;oBACpBM,WAAWd,YAAYe,SAAS;gBAClC;YACF;YACAV,OAAOW,IAAI,CAACH;QACd;IACF;IACA,IAAIF,SAASM,KAAK,EAAE;QAClBN,SAASM,KAAK,GAAGb,KAAKa,KAAK,CAACT,GAAG,CAACC,CAAAA,IAAKN,SAASM,GAAGJ;IACnD;IACA,IAAIM,SAASO,MAAM,EAAE;QACnB,IAAI,EAAEC,OAAO,EAAE,GAAGD,QAAQ,GAAGP,SAASO,MAAM;QAC5CP,SAASO,MAAM,GAAGA;QAClB,IAAIC,WAAW,MAAM;YACnBR,SAASO,MAAM,CAACN,KAAK,GAAGP,MAAM,CAACc,QAAQ;QACzC;IACF;IACA,IAAIR,SAASS,IAAI,KAAK,QAAQ;QAC5B,OAAO,IAAInB,KAAKU;IAClB,OAAO,IAAIA,SAASS,IAAI,KAAK,QAAQ;QACnC,OAAO,IAAItB,YAAYa;IACzB,OAAO,IAAIA,SAASS,IAAI,KAAK,QAAQ;QACnC,OAAO,IAAIlB,KAAKS;IAClB,OAAO,IAAIA,SAASS,IAAI,KAAK,WAAW;QACtC,OAAO,IAAIvB,QAAQc;IACrB,OAAO,IAAIA,SAASS,IAAI,KAAK,UAAU;QACrC,OAAO,IAAIxB,OAAOe;IACpB,OAAO;QACL,MAAM,IAAIU,MAAM,wBAAwBjB,KAAKgB,IAAI;IACnD;AACF;AAEAE,OAAOC,OAAO,GAAGpB;AACjBA,SAASqB,OAAO,GAAGrB","ignoreList":[0]}}, + {"offset": {"line": 620, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/input.js"],"sourcesContent":["'use strict'\n\nlet { nanoid } = require('nanoid/non-secure')\nlet { isAbsolute, resolve } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { fileURLToPath, pathToFileURL } = require('url')\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet PreviousMap = require('./previous-map')\nlet terminalHighlight = require('./terminal-highlight')\n\nlet fromOffsetCache = Symbol('fromOffsetCache')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(resolve && isAbsolute)\n\nclass Input {\n constructor(css, opts = {}) {\n if (\n css === null ||\n typeof css === 'undefined' ||\n (typeof css === 'object' && !css.toString)\n ) {\n throw new Error(`PostCSS received ${css} instead of CSS string`)\n }\n\n this.css = css.toString()\n\n if (this.css[0] === '\\uFEFF' || this.css[0] === '\\uFFFE') {\n this.hasBOM = true\n this.css = this.css.slice(1)\n } else {\n this.hasBOM = false\n }\n\n if (opts.from) {\n if (\n !pathAvailable ||\n /^\\w+:\\/\\//.test(opts.from) ||\n isAbsolute(opts.from)\n ) {\n this.file = opts.from\n } else {\n this.file = resolve(opts.from)\n }\n }\n\n if (pathAvailable && sourceMapAvailable) {\n let map = new PreviousMap(this.css, opts)\n if (map.text) {\n this.map = map\n let file = map.consumer().file\n if (!this.file && file) this.file = this.mapResolve(file)\n }\n }\n\n if (!this.file) {\n this.id = ''\n }\n if (this.map) this.map.file = this.from\n }\n\n error(message, line, column, opts = {}) {\n let endColumn, endLine, result\n\n if (line && typeof line === 'object') {\n let start = line\n let end = column\n if (typeof start.offset === 'number') {\n let pos = this.fromOffset(start.offset)\n line = pos.line\n column = pos.col\n } else {\n line = start.line\n column = start.column\n }\n if (typeof end.offset === 'number') {\n let pos = this.fromOffset(end.offset)\n endLine = pos.line\n endColumn = pos.col\n } else {\n endLine = end.line\n endColumn = end.column\n }\n } else if (!column) {\n let pos = this.fromOffset(line)\n line = pos.line\n column = pos.col\n }\n\n let origin = this.origin(line, column, endLine, endColumn)\n if (origin) {\n result = new CssSyntaxError(\n message,\n origin.endLine === undefined\n ? origin.line\n : { column: origin.column, line: origin.line },\n origin.endLine === undefined\n ? origin.column\n : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n )\n } else {\n result = new CssSyntaxError(\n message,\n endLine === undefined ? line : { column, line },\n endLine === undefined ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n )\n }\n\n result.input = { column, endColumn, endLine, line, source: this.css }\n if (this.file) {\n if (pathToFileURL) {\n result.input.url = pathToFileURL(this.file).toString()\n }\n result.input.file = this.file\n }\n\n return result\n }\n\n fromOffset(offset) {\n let lastLine, lineToIndex\n if (!this[fromOffsetCache]) {\n let lines = this.css.split('\\n')\n lineToIndex = new Array(lines.length)\n let prevIndex = 0\n\n for (let i = 0, l = lines.length; i < l; i++) {\n lineToIndex[i] = prevIndex\n prevIndex += lines[i].length + 1\n }\n\n this[fromOffsetCache] = lineToIndex\n } else {\n lineToIndex = this[fromOffsetCache]\n }\n lastLine = lineToIndex[lineToIndex.length - 1]\n\n let min = 0\n if (offset >= lastLine) {\n min = lineToIndex.length - 1\n } else {\n let max = lineToIndex.length - 2\n let mid\n while (min < max) {\n mid = min + ((max - min) >> 1)\n if (offset < lineToIndex[mid]) {\n max = mid - 1\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1\n } else {\n min = mid\n break\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n }\n }\n\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file\n }\n return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file)\n }\n\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false\n let consumer = this.map.consumer()\n\n let from = consumer.originalPositionFor({ column, line })\n if (!from.source) return false\n\n let to\n if (typeof endLine === 'number') {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine })\n }\n\n let fromUrl\n\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL(from.source)\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile)\n )\n }\n\n let result = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n }\n\n if (fromUrl.protocol === 'file:') {\n if (fileURLToPath) {\n result.file = fileURLToPath(fromUrl)\n } else {\n /* c8 ignore next 2 */\n throw new Error(`file: protocol is not available in this PostCSS build`)\n }\n }\n\n let source = consumer.sourceContentFor(from.source)\n if (source) result.source = source\n\n return result\n }\n\n toJSON() {\n let json = {}\n for (let name of ['hasBOM', 'css', 'file', 'id']) {\n if (this[name] != null) {\n json[name] = this[name]\n }\n }\n if (this.map) {\n json.map = { ...this.map }\n if (json.map.consumerCache) {\n json.map.consumerCache = undefined\n }\n }\n return json\n }\n\n get from() {\n return this.file || this.id\n }\n}\n\nmodule.exports = Input\nInput.default = Input\n\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input)\n}\n"],"names":["nanoid","isAbsolute","resolve","SourceMapConsumer","SourceMapGenerator","fileURLToPath","pathToFileURL","CssSyntaxError","PreviousMap","terminalHighlight","fromOffsetCache","Symbol","sourceMapAvailable","Boolean","pathAvailable","Input","css","opts","toString","Error","hasBOM","slice","from","test","file","map","text","consumer","mapResolve","id","error","message","line","column","endColumn","endLine","result","start","end","offset","pos","fromOffset","col","origin","undefined","source","plugin","input","url","lastLine","lineToIndex","lines","split","Array","length","prevIndex","i","l","min","max","mid","sourceRoot","root","originalPositionFor","to","fromUrl","URL","mapFile","protocol","sourceContentFor","toJSON","json","name","consumerCache","module","exports","default","registerInput"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 839, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/lazy-result.js"],"sourcesContent":["'use strict'\n\nlet Container = require('./container')\nlet Document = require('./document')\nlet MapGenerator = require('./map-generator')\nlet parse = require('./parse')\nlet Result = require('./result')\nlet Root = require('./root')\nlet stringify = require('./stringify')\nlet { isClean, my } = require('./symbols')\nlet warnOnce = require('./warn-once')\n\nconst TYPE_TO_CLASS_NAME = {\n atrule: 'AtRule',\n comment: 'Comment',\n decl: 'Declaration',\n document: 'Document',\n root: 'Root',\n rule: 'Rule'\n}\n\nconst PLUGIN_PROPS = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n}\n\nconst NOT_VISITORS = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n}\n\nconst CHILDREN = 0\n\nfunction isPromise(obj) {\n return typeof obj === 'object' && typeof obj.then === 'function'\n}\n\nfunction getEvents(node) {\n let key = false\n let type = TYPE_TO_CLASS_NAME[node.type]\n if (node.type === 'decl') {\n key = node.prop.toLowerCase()\n } else if (node.type === 'atrule') {\n key = node.name.toLowerCase()\n }\n\n if (key && node.append) {\n return [\n type,\n type + '-' + key,\n CHILDREN,\n type + 'Exit',\n type + 'Exit-' + key\n ]\n } else if (key) {\n return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key]\n } else if (node.append) {\n return [type, CHILDREN, type + 'Exit']\n } else {\n return [type, type + 'Exit']\n }\n}\n\nfunction toStack(node) {\n let events\n if (node.type === 'document') {\n events = ['Document', CHILDREN, 'DocumentExit']\n } else if (node.type === 'root') {\n events = ['Root', CHILDREN, 'RootExit']\n } else {\n events = getEvents(node)\n }\n\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node,\n visitorIndex: 0,\n visitors: []\n }\n}\n\nfunction cleanMarks(node) {\n node[isClean] = false\n if (node.nodes) node.nodes.forEach(i => cleanMarks(i))\n return node\n}\n\nlet postcss = {}\n\nclass LazyResult {\n constructor(processor, css, opts) {\n this.stringified = false\n this.processed = false\n\n let root\n if (\n typeof css === 'object' &&\n css !== null &&\n (css.type === 'root' || css.type === 'document')\n ) {\n root = cleanMarks(css)\n } else if (css instanceof LazyResult || css instanceof Result) {\n root = cleanMarks(css.root)\n if (css.map) {\n if (typeof opts.map === 'undefined') opts.map = {}\n if (!opts.map.inline) opts.map.inline = false\n opts.map.prev = css.map\n }\n } else {\n let parser = parse\n if (opts.syntax) parser = opts.syntax.parse\n if (opts.parser) parser = opts.parser\n if (parser.parse) parser = parser.parse\n\n try {\n root = parser(css, opts)\n } catch (error) {\n this.processed = true\n this.error = error\n }\n\n if (root && !root[my]) {\n /* c8 ignore next 2 */\n Container.rebuild(root)\n }\n }\n\n this.result = new Result(processor, root, opts)\n this.helpers = { ...postcss, postcss, result: this.result }\n this.plugins = this.processor.plugins.map(plugin => {\n if (typeof plugin === 'object' && plugin.prepare) {\n return { ...plugin, ...plugin.prepare(this.result) }\n } else {\n return plugin\n }\n })\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n if (this.processed) return Promise.resolve(this.result)\n if (!this.processing) {\n this.processing = this.runAsync()\n }\n return this.processing\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n getAsyncError() {\n throw new Error('Use process(css).then(cb) to work with async plugins')\n }\n\n handleError(error, node) {\n let plugin = this.result.lastPlugin\n try {\n if (node) node.addToError(error)\n this.error = error\n if (error.name === 'CssSyntaxError' && !error.plugin) {\n error.plugin = plugin.postcssPlugin\n error.setMessage()\n } else if (plugin.postcssVersion) {\n if (process.env.NODE_ENV !== 'production') {\n let pluginName = plugin.postcssPlugin\n let pluginVer = plugin.postcssVersion\n let runtimeVer = this.result.processor.version\n let a = pluginVer.split('.')\n let b = runtimeVer.split('.')\n\n if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {\n // eslint-disable-next-line no-console\n console.error(\n 'Unknown error from PostCSS plugin. Your current PostCSS ' +\n 'version is ' +\n runtimeVer +\n ', but ' +\n pluginName +\n ' uses ' +\n pluginVer +\n '. Perhaps this is the source of the error below.'\n )\n }\n }\n }\n } catch (err) {\n /* c8 ignore next 3 */\n // eslint-disable-next-line no-console\n if (console && console.error) console.error(err)\n }\n return error\n }\n\n prepareVisitors() {\n this.listeners = {}\n let add = (plugin, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = []\n this.listeners[type].push([plugin, cb])\n }\n for (let plugin of this.plugins) {\n if (typeof plugin === 'object') {\n for (let event in plugin) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin.postcssPlugin}. ` +\n `Try to update PostCSS (${this.processor.version} now).`\n )\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin[event] === 'object') {\n for (let filter in plugin[event]) {\n if (filter === '*') {\n add(plugin, event, plugin[event][filter])\n } else {\n add(\n plugin,\n event + '-' + filter.toLowerCase(),\n plugin[event][filter]\n )\n }\n }\n } else if (typeof plugin[event] === 'function') {\n add(plugin, event, plugin[event])\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0\n }\n\n async runAsync() {\n this.plugin = 0\n for (let i = 0; i < this.plugins.length; i++) {\n let plugin = this.plugins[i]\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (error) {\n throw this.handleError(error)\n }\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n let stack = [toStack(root)]\n while (stack.length > 0) {\n let promise = this.visitTick(stack)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (e) {\n let node = stack[stack.length - 1].node\n throw this.handleError(e, node)\n }\n }\n }\n }\n\n if (this.listeners.OnceExit) {\n for (let [plugin, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin\n try {\n if (root.type === 'document') {\n let roots = root.nodes.map(subRoot =>\n visitor(subRoot, this.helpers)\n )\n\n await Promise.all(roots)\n } else {\n await visitor(root, this.helpers)\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n }\n }\n\n this.processed = true\n return this.stringify()\n }\n\n runOnRoot(plugin) {\n this.result.lastPlugin = plugin\n try {\n if (typeof plugin === 'object' && plugin.Once) {\n if (this.result.root.type === 'document') {\n let roots = this.result.root.nodes.map(root =>\n plugin.Once(root, this.helpers)\n )\n\n if (isPromise(roots[0])) {\n return Promise.all(roots)\n }\n\n return roots\n }\n\n return plugin.Once(this.result.root, this.helpers)\n } else if (typeof plugin === 'function') {\n return plugin(this.result.root, this.result)\n }\n } catch (error) {\n throw this.handleError(error)\n }\n }\n\n stringify() {\n if (this.error) throw this.error\n if (this.stringified) return this.result\n this.stringified = true\n\n this.sync()\n\n let opts = this.result.opts\n let str = stringify\n if (opts.syntax) str = opts.syntax.stringify\n if (opts.stringifier) str = opts.stringifier\n if (str.stringify) str = str.stringify\n\n let map = new MapGenerator(str, this.result.root, this.result.opts)\n let data = map.generate()\n this.result.css = data[0]\n this.result.map = data[1]\n\n return this.result\n }\n\n sync() {\n if (this.error) throw this.error\n if (this.processed) return this.result\n this.processed = true\n\n if (this.processing) {\n throw this.getAsyncError()\n }\n\n for (let plugin of this.plugins) {\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n this.walkSync(root)\n }\n if (this.listeners.OnceExit) {\n if (root.type === 'document') {\n for (let subRoot of root.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot)\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root)\n }\n }\n }\n\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this.opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this.css\n }\n\n visitSync(visitors, node) {\n for (let [plugin, visitor] of visitors) {\n this.result.lastPlugin = plugin\n let promise\n try {\n promise = visitor(node, this.helpers)\n } catch (e) {\n throw this.handleError(e, node.proxyOf)\n }\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n return true\n }\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n }\n\n visitTick(stack) {\n let visit = stack[stack.length - 1]\n let { node, visitors } = visit\n\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n stack.pop()\n return\n }\n\n if (visitors.length > 0 && visit.visitorIndex < visitors.length) {\n let [plugin, visitor] = visitors[visit.visitorIndex]\n visit.visitorIndex += 1\n if (visit.visitorIndex === visitors.length) {\n visit.visitors = []\n visit.visitorIndex = 0\n }\n this.result.lastPlugin = plugin\n try {\n return visitor(node.toProxy(), this.helpers)\n } catch (e) {\n throw this.handleError(e, node)\n }\n }\n\n if (visit.iterator !== 0) {\n let iterator = visit.iterator\n let child\n while ((child = node.nodes[node.indexes[iterator]])) {\n node.indexes[iterator] += 1\n if (!child[isClean]) {\n child[isClean] = true\n stack.push(toStack(child))\n return\n }\n }\n visit.iterator = 0\n delete node.indexes[iterator]\n }\n\n let events = visit.events\n while (visit.eventIndex < events.length) {\n let event = events[visit.eventIndex]\n visit.eventIndex += 1\n if (event === CHILDREN) {\n if (node.nodes && node.nodes.length) {\n node[isClean] = true\n visit.iterator = node.getIterator()\n }\n return\n } else if (this.listeners[event]) {\n visit.visitors = this.listeners[event]\n return\n }\n }\n stack.pop()\n }\n\n walkSync(node) {\n node[isClean] = true\n let events = getEvents(node)\n for (let event of events) {\n if (event === CHILDREN) {\n if (node.nodes) {\n node.each(child => {\n if (!child[isClean]) this.walkSync(child)\n })\n }\n } else {\n let visitors = this.listeners[event]\n if (visitors) {\n if (this.visitSync(visitors, node.toProxy())) return\n }\n }\n }\n }\n\n warnings() {\n return this.sync().warnings()\n }\n\n get content() {\n return this.stringify().content\n }\n\n get css() {\n return this.stringify().css\n }\n\n get map() {\n return this.stringify().map\n }\n\n get messages() {\n return this.sync().messages\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n return this.sync().root\n }\n\n get [Symbol.toStringTag]() {\n return 'LazyResult'\n }\n}\n\nLazyResult.registerPostcss = dependant => {\n postcss = dependant\n}\n\nmodule.exports = LazyResult\nLazyResult.default = LazyResult\n\nRoot.registerLazyResult(LazyResult)\nDocument.registerLazyResult(LazyResult)\n"],"names":["Container","Document","MapGenerator","parse","Result","Root","stringify","isClean","my","warnOnce","TYPE_TO_CLASS_NAME","atrule","comment","decl","document","root","rule","PLUGIN_PROPS","AtRule","AtRuleExit","Comment","CommentExit","Declaration","DeclarationExit","DocumentExit","Once","OnceExit","postcssPlugin","prepare","RootExit","Rule","RuleExit","NOT_VISITORS","CHILDREN","isPromise","obj","then","getEvents","node","key","type","prop","toLowerCase","name","append","toStack","events","eventIndex","iterator","visitorIndex","visitors","cleanMarks","nodes","forEach","i","postcss","LazyResult","processor","css","opts","stringified","processed","map","inline","prev","parser","syntax","error","rebuild","result","helpers","plugins","plugin","async","Promise","reject","resolve","processing","runAsync","catch","onRejected","finally","onFinally","getAsyncError","Error","handleError","lastPlugin","addToError","setMessage","postcssVersion","err","console","prepareVisitors","listeners","add","cb","push","event","test","version","filter","hasListener","Object","keys","length","promise","runOnRoot","stack","visitTick","e","visitor","roots","subRoot","all","sync","str","stringifier","data","generate","walkSync","visitSync","onFulfilled","toString","proxyOf","parent","visit","pop","toProxy","child","indexes","getIterator","each","warnings","content","messages","Symbol","toStringTag","registerPostcss","dependant","module","exports","default","registerLazyResult"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1318, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/list.js"],"sourcesContent":["'use strict'\n\nlet list = {\n comma(string) {\n return list.split(string, [','], true)\n },\n\n space(string) {\n let spaces = [' ', '\\n', '\\t']\n return list.split(string, spaces)\n },\n\n split(string, separators, last) {\n let array = []\n let current = ''\n let split = false\n\n let func = 0\n let inQuote = false\n let prevQuote = ''\n let escape = false\n\n for (let letter of string) {\n if (escape) {\n escape = false\n } else if (letter === '\\\\') {\n escape = true\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true\n prevQuote = letter\n } else if (letter === '(') {\n func += 1\n } else if (letter === ')') {\n if (func > 0) func -= 1\n } else if (func === 0) {\n if (separators.includes(letter)) split = true\n }\n\n if (split) {\n if (current !== '') array.push(current.trim())\n current = ''\n split = false\n } else {\n current += letter\n }\n }\n\n if (last || current !== '') array.push(current.trim())\n return array\n }\n}\n\nmodule.exports = list\nlist.default = list\n"],"names":["list","comma","string","split","space","spaces","separators","last","array","current","func","inQuote","prevQuote","escape","letter","includes","push","trim","module","exports","default"],"mappings":"AAEA,IAAIA,OAAO;IACTC,OAAMC,MAAM;QACV,OAAOF,KAAKG,KAAK,CAACD,QAAQ;YAAC;SAAI,EAAE;IACnC;IAEAE,OAAMF,MAAM;QACV,IAAIG,SAAS;YAAC;YAAK;YAAM;SAAK;QAC9B,OAAOL,KAAKG,KAAK,CAACD,QAAQG;IAC5B;IAEAF,OAAMD,MAAM,EAAEI,UAAU,EAAEC,IAAI;QAC5B,IAAIC,QAAQ,EAAE;QACd,IAAIC,UAAU;QACd,IAAIN,QAAQ;QAEZ,IAAIO,OAAO;QACX,IAAIC,UAAU;QACd,IAAIC,YAAY;QAChB,IAAIC,SAAS;QAEb,KAAK,IAAIC,UAAUZ,OAAQ;YACzB,IAAIW,QAAQ;gBACVA,SAAS;YACX,OAAO,IAAIC,WAAW,MAAM;gBAC1BD,SAAS;YACX,OAAO,IAAIF,SAAS;gBAClB,IAAIG,WAAWF,WAAW;oBACxBD,UAAU;gBACZ;YACF,OAAO,IAAIG,WAAW,OAAOA,WAAW,KAAK;gBAC3CH,UAAU;gBACVC,YAAYE;YACd,OAAO,IAAIA,WAAW,KAAK;gBACzBJ,QAAQ;YACV,OAAO,IAAII,WAAW,KAAK;gBACzB,IAAIJ,OAAO,GAAGA,QAAQ;YACxB,OAAO,IAAIA,SAAS,GAAG;gBACrB,IAAIJ,WAAWS,QAAQ,CAACD,SAASX,QAAQ;YAC3C;YAEA,IAAIA,OAAO;gBACT,IAAIM,YAAY,IAAID,MAAMQ,IAAI,CAACP,QAAQQ,IAAI;gBAC3CR,UAAU;gBACVN,QAAQ;YACV,OAAO;gBACLM,WAAWK;YACb;QACF;QAEA,IAAIP,QAAQE,YAAY,IAAID,MAAMQ,IAAI,CAACP,QAAQQ,IAAI;QACnD,OAAOT;IACT;AACF;AAEAU,OAAOC,OAAO,GAAGnB;AACjBA,KAAKoB,OAAO,GAAGpB","ignoreList":[0]}}, + {"offset": {"line": 1377, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/map-generator.js"],"sourcesContent":["'use strict'\n\nlet { dirname, relative, resolve, sep } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { pathToFileURL } = require('url')\n\nlet Input = require('./input')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(dirname && resolve && relative && sep)\n\nclass MapGenerator {\n constructor(stringify, root, opts, cssString) {\n this.stringify = stringify\n this.mapOpts = opts.map || {}\n this.root = root\n this.opts = opts\n this.css = cssString\n this.originalCSS = cssString\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute\n\n this.memoizedFileURLs = new Map()\n this.memoizedPaths = new Map()\n this.memoizedURLs = new Map()\n }\n\n addAnnotation() {\n let content\n\n if (this.isInline()) {\n content =\n 'data:application/json;base64,' + this.toBase64(this.map.toString())\n } else if (typeof this.mapOpts.annotation === 'string') {\n content = this.mapOpts.annotation\n } else if (typeof this.mapOpts.annotation === 'function') {\n content = this.mapOpts.annotation(this.opts.to, this.root)\n } else {\n content = this.outputFile() + '.map'\n }\n let eol = '\\n'\n if (this.css.includes('\\r\\n')) eol = '\\r\\n'\n\n this.css += eol + '/*# sourceMappingURL=' + content + ' */'\n }\n\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file))\n let root = prev.root || dirname(prev.file)\n let map\n\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text)\n if (map.sourcesContent) {\n map.sourcesContent = null\n }\n } else {\n map = prev.consumer()\n }\n\n this.map.applySourceMap(map, from, this.toUrl(this.path(root)))\n }\n }\n\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return\n\n if (this.root) {\n let node\n for (let i = this.root.nodes.length - 1; i >= 0; i--) {\n node = this.root.nodes[i]\n if (node.type !== 'comment') continue\n if (node.text.startsWith('# sourceMappingURL=')) {\n this.root.removeChild(i)\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*\\/\\*#[\\S\\s]*?\\*\\/$/gm, '')\n }\n }\n\n generate() {\n this.clearAnnotation()\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap()\n } else {\n let result = ''\n this.stringify(this.root, i => {\n result += i\n })\n return [result]\n }\n }\n\n generateMap() {\n if (this.root) {\n this.generateString()\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer()\n prev.file = this.outputFile()\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n })\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : ''\n })\n }\n\n if (this.isSourcesContent()) this.setSourcesContent()\n if (this.root && this.previous().length > 0) this.applyPrevMaps()\n if (this.isAnnotation()) this.addAnnotation()\n\n if (this.isInline()) {\n return [this.css]\n } else {\n return [this.css, this.map]\n }\n }\n\n generateString() {\n this.css = ''\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n\n let line = 1\n let column = 1\n\n let noSource = ''\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: ''\n }\n\n let last, lines\n this.stringify(this.root, (str, node, type) => {\n this.css += str\n\n if (node && type !== 'end') {\n mapping.generated.line = line\n mapping.generated.column = column - 1\n if (node.source && node.source.start) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.start.line\n mapping.original.column = node.source.start.column - 1\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n this.map.addMapping(mapping)\n }\n }\n\n lines = str.match(/\\n/g)\n if (lines) {\n line += lines.length\n last = str.lastIndexOf('\\n')\n column = str.length - last\n } else {\n column += str.length\n }\n\n if (node && type !== 'start') {\n let p = node.parent || { raws: {} }\n let childless =\n node.type === 'decl' || (node.type === 'atrule' && !node.nodes)\n if (!childless || node !== p.last || p.raws.semicolon) {\n if (node.source && node.source.end) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.end.line\n mapping.original.column = node.source.end.column - 1\n mapping.generated.line = line\n mapping.generated.column = column - 2\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n mapping.generated.line = line\n mapping.generated.column = column - 1\n this.map.addMapping(mapping)\n }\n }\n }\n })\n }\n\n isAnnotation() {\n if (this.isInline()) {\n return true\n }\n if (typeof this.mapOpts.annotation !== 'undefined') {\n return this.mapOpts.annotation\n }\n if (this.previous().length) {\n return this.previous().some(i => i.annotation)\n }\n return true\n }\n\n isInline() {\n if (typeof this.mapOpts.inline !== 'undefined') {\n return this.mapOpts.inline\n }\n\n let annotation = this.mapOpts.annotation\n if (typeof annotation !== 'undefined' && annotation !== true) {\n return false\n }\n\n if (this.previous().length) {\n return this.previous().some(i => i.inline)\n }\n return true\n }\n\n isMap() {\n if (typeof this.opts.map !== 'undefined') {\n return !!this.opts.map\n }\n return this.previous().length > 0\n }\n\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== 'undefined') {\n return this.mapOpts.sourcesContent\n }\n if (this.previous().length) {\n return this.previous().some(i => i.withContent())\n }\n return true\n }\n\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to)\n } else if (this.opts.from) {\n return this.path(this.opts.from)\n } else {\n return 'to.css'\n }\n }\n\n path(file) {\n if (this.mapOpts.absolute) return file\n if (file.charCodeAt(0) === 60 /* `<` */) return file\n if (/^\\w+:\\/\\//.test(file)) return file\n let cached = this.memoizedPaths.get(file)\n if (cached) return cached\n\n let from = this.opts.to ? dirname(this.opts.to) : '.'\n\n if (typeof this.mapOpts.annotation === 'string') {\n from = dirname(resolve(from, this.mapOpts.annotation))\n }\n\n let path = relative(from, file)\n this.memoizedPaths.set(file, path)\n\n return path\n }\n\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = []\n if (this.root) {\n this.root.walk(node => {\n if (node.source && node.source.input.map) {\n let map = node.source.input.map\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map)\n }\n }\n })\n } else {\n let input = new Input(this.originalCSS, this.opts)\n if (input.map) this.previousMaps.push(input.map)\n }\n }\n\n return this.previousMaps\n }\n\n setSourcesContent() {\n let already = {}\n if (this.root) {\n this.root.walk(node => {\n if (node.source) {\n let from = node.source.input.from\n if (from && !already[from]) {\n already[from] = true\n let fromUrl = this.usesFileUrls\n ? this.toFileUrl(from)\n : this.toUrl(this.path(from))\n this.map.setSourceContent(fromUrl, node.source.input.css)\n }\n }\n })\n } else if (this.css) {\n let from = this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : ''\n this.map.setSourceContent(from, this.css)\n }\n }\n\n sourcePath(node) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from)\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node.source.input.from)\n } else {\n return this.toUrl(this.path(node.source.input.from))\n }\n }\n\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(unescape(encodeURIComponent(str)))\n }\n }\n\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path)\n if (cached) return cached\n\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString()\n this.memoizedFileURLs.set(path, fileURL)\n\n return fileURL\n } else {\n throw new Error(\n '`map.absolute` option is not available in this PostCSS build'\n )\n }\n }\n\n toUrl(path) {\n let cached = this.memoizedURLs.get(path)\n if (cached) return cached\n\n if (sep === '\\\\') {\n path = path.replace(/\\\\/g, '/')\n }\n\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)\n this.memoizedURLs.set(path, url)\n\n return url\n }\n}\n\nmodule.exports = MapGenerator\n"],"names":["dirname","relative","resolve","sep","SourceMapConsumer","SourceMapGenerator","pathToFileURL","Input","sourceMapAvailable","Boolean","pathAvailable","MapGenerator","stringify","root","opts","cssString","mapOpts","map","css","originalCSS","usesFileUrls","from","absolute","memoizedFileURLs","Map","memoizedPaths","memoizedURLs","addAnnotation","content","isInline","toBase64","toString","annotation","to","outputFile","eol","includes","applyPrevMaps","prev","previous","toUrl","path","file","sourcesContent","text","consumer","applySourceMap","clearAnnotation","node","i","nodes","length","type","startsWith","removeChild","replace","generate","isMap","generateMap","result","generateString","fromSourceMap","ignoreInvalidMapping","addMapping","generated","column","line","original","source","isSourcesContent","setSourcesContent","isAnnotation","noSource","mapping","last","lines","str","start","sourcePath","match","lastIndexOf","p","parent","raws","childless","semicolon","end","some","inline","withContent","charCodeAt","test","cached","get","set","previousMaps","walk","input","push","already","fromUrl","toFileUrl","setSourceContent","Buffer","fileURL","url","encodeURI","encodeURIComponent","module","exports"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1707, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/no-work-result.js"],"sourcesContent":["'use strict'\n\nlet MapGenerator = require('./map-generator')\nlet parse = require('./parse')\nconst Result = require('./result')\nlet stringify = require('./stringify')\nlet warnOnce = require('./warn-once')\n\nclass NoWorkResult {\n constructor(processor, css, opts) {\n css = css.toString()\n this.stringified = false\n\n this._processor = processor\n this._css = css\n this._opts = opts\n this._map = undefined\n let root\n\n let str = stringify\n this.result = new Result(this._processor, root, this._opts)\n this.result.css = css\n\n let self = this\n Object.defineProperty(this.result, 'root', {\n get() {\n return self.root\n }\n })\n\n let map = new MapGenerator(str, root, this._opts, css)\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate()\n if (generatedCSS) {\n this.result.css = generatedCSS\n }\n if (generatedMap) {\n this.result.map = generatedMap\n }\n } else {\n map.clearAnnotation()\n this.result.css = map.css\n }\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n return Promise.resolve(this.result)\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n sync() {\n if (this.error) throw this.error\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this._opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this._css\n }\n\n warnings() {\n return []\n }\n\n get content() {\n return this.result.css\n }\n\n get css() {\n return this.result.css\n }\n\n get map() {\n return this.result.map\n }\n\n get messages() {\n return []\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n if (this._root) {\n return this._root\n }\n\n let root\n let parser = parse\n\n try {\n root = parser(this._css, this._opts)\n } catch (error) {\n this.error = error\n }\n\n if (this.error) {\n throw this.error\n } else {\n this._root = root\n return root\n }\n }\n\n get [Symbol.toStringTag]() {\n return 'NoWorkResult'\n }\n}\n\nmodule.exports = NoWorkResult\nNoWorkResult.default = NoWorkResult\n"],"names":["MapGenerator","parse","Result","stringify","warnOnce","NoWorkResult","processor","css","opts","toString","stringified","_processor","_css","_opts","_map","undefined","root","str","result","self","Object","defineProperty","get","map","isMap","generatedCSS","generatedMap","generate","clearAnnotation","async","error","Promise","reject","resolve","catch","onRejected","finally","onFinally","then","sync","onFulfilled","warnings","content","messages","_root","parser","Symbol","toStringTag","module","exports","default"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1815, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/node.js"],"sourcesContent":["'use strict'\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet Stringifier = require('./stringifier')\nlet stringify = require('./stringify')\nlet { isClean, my } = require('./symbols')\n\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor()\n\n for (let i in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i)) {\n /* c8 ignore next 2 */\n continue\n }\n if (i === 'proxyCache') continue\n let value = obj[i]\n let type = typeof value\n\n if (i === 'parent' && type === 'object') {\n if (parent) cloned[i] = parent\n } else if (i === 'source') {\n cloned[i] = value\n } else if (Array.isArray(value)) {\n cloned[i] = value.map(j => cloneNode(j, cloned))\n } else {\n if (type === 'object' && value !== null) value = cloneNode(value)\n cloned[i] = value\n }\n }\n\n return cloned\n}\n\nfunction sourceOffset(inputCSS, position) {\n // Not all custom syntaxes support `offset` in `source.start` and `source.end`\n if (\n position &&\n typeof position.offset !== 'undefined'\n ) {\n return position.offset;\n }\n\n let column = 1\n let line = 1\n let offset = 0\n\n for (let i = 0; i < inputCSS.length; i++) {\n if (line === position.line && column === position.column) {\n offset = i\n break\n }\n\n if (inputCSS[i] === '\\n') {\n column = 1\n line += 1\n } else {\n column += 1\n }\n }\n\n return offset\n}\n\nclass Node {\n constructor(defaults = {}) {\n this.raws = {}\n this[isClean] = false\n this[my] = true\n\n for (let name in defaults) {\n if (name === 'nodes') {\n this.nodes = []\n for (let node of defaults[name]) {\n if (typeof node.clone === 'function') {\n this.append(node.clone())\n } else {\n this.append(node)\n }\n }\n } else {\n this[name] = defaults[name]\n }\n }\n }\n\n addToError(error) {\n error.postcssNode = this\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s = this.source\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s.input.from}:${s.start.line}:${s.start.column}$&`\n )\n }\n return error\n }\n\n after(add) {\n this.parent.insertAfter(this, add)\n return this\n }\n\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name]\n }\n return this\n }\n\n before(add) {\n this.parent.insertBefore(this, add)\n return this\n }\n\n cleanRaws(keepBetween) {\n delete this.raws.before\n delete this.raws.after\n if (!keepBetween) delete this.raws.between\n }\n\n clone(overrides = {}) {\n let cloned = cloneNode(this)\n for (let name in overrides) {\n cloned[name] = overrides[name]\n }\n return cloned\n }\n\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertAfter(this, cloned)\n return cloned\n }\n\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertBefore(this, cloned)\n return cloned\n }\n\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts)\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n )\n }\n return new CssSyntaxError(message)\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (\n prop === 'prop' ||\n prop === 'value' ||\n prop === 'name' ||\n prop === 'params' ||\n prop === 'important' ||\n /* c8 ignore next */\n prop === 'text'\n ) {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n /* c8 ignore next 3 */\n markClean() {\n this[isClean] = true\n }\n\n markDirty() {\n if (this[isClean]) {\n this[isClean] = false\n let next = this\n while ((next = next.parent)) {\n next[isClean] = false\n }\n }\n }\n\n next() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index + 1]\n }\n\n positionBy(opts) {\n let pos = this.source.start\n if (opts.index) {\n pos = this.positionInside(opts.index)\n } else if (opts.word) {\n let stringRepresentation = this.source.input.css.slice(\n sourceOffset(this.source.input.css, this.source.start),\n sourceOffset(this.source.input.css, this.source.end)\n )\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) pos = this.positionInside(index)\n }\n return pos\n }\n\n positionInside(index) {\n let column = this.source.start.column\n let line = this.source.start.line\n let offset = sourceOffset(this.source.input.css, this.source.start)\n let end = offset + index\n\n for (let i = offset; i < end; i++) {\n if (this.source.input.css[i] === '\\n') {\n column = 1\n line += 1\n } else {\n column += 1\n }\n }\n\n return { column, line }\n }\n\n prev() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index - 1]\n }\n\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n }\n let end = this.source.end\n ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n }\n : {\n column: start.column + 1,\n line: start.line\n }\n\n if (opts.word) {\n let stringRepresentation = this.source.input.css.slice(\n sourceOffset(this.source.input.css, this.source.start),\n sourceOffset(this.source.input.css, this.source.end)\n )\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) {\n start = this.positionInside(index)\n end = this.positionInside(\n index + opts.word.length,\n )\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n }\n } else if (opts.index) {\n start = this.positionInside(opts.index)\n }\n\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n }\n } else if (typeof opts.endIndex === 'number') {\n end = this.positionInside(opts.endIndex)\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1)\n }\n }\n\n if (\n end.line < start.line ||\n (end.line === start.line && end.column <= start.column)\n ) {\n end = { column: start.column + 1, line: start.line }\n }\n\n return { end, start }\n }\n\n raw(prop, defaultType) {\n let str = new Stringifier()\n return str.raw(this, prop, defaultType)\n }\n\n remove() {\n if (this.parent) {\n this.parent.removeChild(this)\n }\n this.parent = undefined\n return this\n }\n\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this\n let foundSelf = false\n for (let node of nodes) {\n if (node === this) {\n foundSelf = true\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node)\n bookmark = node\n } else {\n this.parent.insertBefore(bookmark, node)\n }\n }\n\n if (!foundSelf) {\n this.remove()\n }\n }\n\n return this\n }\n\n root() {\n let result = this\n while (result.parent && result.parent.type !== 'document') {\n result = result.parent\n }\n return result\n }\n\n toJSON(_, inputs) {\n let fixed = {}\n let emitInputs = inputs == null\n inputs = inputs || new Map()\n let inputsNextIndex = 0\n\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n /* c8 ignore next 2 */\n continue\n }\n if (name === 'parent' || name === 'proxyCache') continue\n let value = this[name]\n\n if (Array.isArray(value)) {\n fixed[name] = value.map(i => {\n if (typeof i === 'object' && i.toJSON) {\n return i.toJSON(null, inputs)\n } else {\n return i\n }\n })\n } else if (typeof value === 'object' && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs)\n } else if (name === 'source') {\n let inputId = inputs.get(value.input)\n if (inputId == null) {\n inputId = inputsNextIndex\n inputs.set(value.input, inputsNextIndex)\n inputsNextIndex++\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n }\n } else {\n fixed[name] = value\n }\n }\n\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map(input => input.toJSON())\n }\n\n return fixed\n }\n\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor())\n }\n return this.proxyCache\n }\n\n toString(stringifier = stringify) {\n if (stringifier.stringify) stringifier = stringifier.stringify\n let result = ''\n stringifier(this, i => {\n result += i\n })\n return result\n }\n\n warn(result, text, opts) {\n let data = { node: this }\n for (let i in opts) data[i] = opts[i]\n return result.warn(text, data)\n }\n\n get proxyOf() {\n return this\n }\n}\n\nmodule.exports = Node\nNode.default = Node\n"],"names":["CssSyntaxError","Stringifier","stringify","isClean","my","cloneNode","obj","parent","cloned","i","Object","prototype","hasOwnProperty","call","value","type","Array","isArray","map","j","sourceOffset","inputCSS","position","offset","column","line","length","Node","defaults","raws","name","nodes","node","clone","append","addToError","error","postcssNode","stack","source","test","s","replace","input","from","start","after","add","insertAfter","assign","overrides","before","insertBefore","cleanRaws","keepBetween","between","cloneAfter","cloneBefore","message","opts","end","rangeBy","getProxyProcessor","get","prop","root","toProxy","set","markDirty","markClean","next","undefined","index","positionBy","pos","positionInside","word","stringRepresentation","css","slice","indexOf","prev","endIndex","raw","defaultType","str","remove","removeChild","replaceWith","bookmark","foundSelf","result","toJSON","_","inputs","fixed","emitInputs","Map","inputsNextIndex","inputId","keys","proxyCache","Proxy","toString","stringifier","warn","text","data","proxyOf","module","exports","default"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 2175, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/parse.js"],"sourcesContent":["'use strict'\n\nlet Container = require('./container')\nlet Input = require('./input')\nlet Parser = require('./parser')\n\nfunction parse(css, opts) {\n let input = new Input(css, opts)\n let parser = new Parser(input)\n try {\n parser.parse()\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n if (e.name === 'CssSyntaxError' && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse SCSS with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-scss parser'\n } else if (/\\.sass/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Sass with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-sass parser'\n } else if (/\\.less$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Less with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-less parser'\n }\n }\n }\n throw e\n }\n\n return parser.root\n}\n\nmodule.exports = parse\nparse.default = parse\n\nContainer.registerParse(parse)\n"],"names":["Container","Input","Parser","parse","css","opts","input","parser","e","root","module","exports","default","registerParse"],"mappings":"AAEA,IAAIA;AACJ,IAAIC;AACJ,IAAIC;AAEJ,SAASC,MAAMC,GAAG,EAAEC,IAAI;IACtB,IAAIC,QAAQ,IAAIL,MAAMG,KAAKC;IAC3B,IAAIE,SAAS,IAAIL,OAAOI;IACxB,IAAI;QACFC,OAAOJ,KAAK;IACd,EAAE,OAAOK,GAAG;QACV;;QAoBA,MAAMA;IACR;IAEA,OAAOD,OAAOE,IAAI;AACpB;AAEAC,OAAOC,OAAO,GAAGR;AACjBA,MAAMS,OAAO,GAAGT;AAEhBH,UAAUa,aAAa,CAACV","ignoreList":[0]}}, + {"offset": {"line": 2197, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/parser.js"],"sourcesContent":["'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Root = require('./root')\nlet Rule = require('./rule')\nlet tokenizer = require('./tokenize')\n\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n}\n\nfunction findLastWithPosition(tokens) {\n for (let i = tokens.length - 1; i >= 0; i--) {\n let token = tokens[i]\n let pos = token[3] || token[2]\n if (pos) return pos\n }\n}\n\nclass Parser {\n constructor(input) {\n this.input = input\n\n this.root = new Root()\n this.current = this.root\n this.spaces = ''\n this.semicolon = false\n\n this.createTokenizer()\n this.root.source = { input, start: { column: 1, line: 1, offset: 0 } }\n }\n\n atrule(token) {\n let node = new AtRule()\n node.name = token[1].slice(1)\n if (node.name === '') {\n this.unnamedAtrule(node, token)\n }\n this.init(node, token[2])\n\n let type\n let prev\n let shift\n let last = false\n let open = false\n let params = []\n let brackets = []\n\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n type = token[0]\n\n if (type === '(' || type === '[') {\n brackets.push(type === '(' ? ')' : ']')\n } else if (type === '{' && brackets.length > 0) {\n brackets.push('}')\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n }\n\n if (brackets.length === 0) {\n if (type === ';') {\n node.source.end = this.getPosition(token[2])\n node.source.end.offset++\n this.semicolon = true\n break\n } else if (type === '{') {\n open = true\n break\n } else if (type === '}') {\n if (params.length > 0) {\n shift = params.length - 1\n prev = params[shift]\n while (prev && prev[0] === 'space') {\n prev = params[--shift]\n }\n if (prev) {\n node.source.end = this.getPosition(prev[3] || prev[2])\n node.source.end.offset++\n }\n }\n this.end(token)\n break\n } else {\n params.push(token)\n }\n } else {\n params.push(token)\n }\n\n if (this.tokenizer.endOfFile()) {\n last = true\n break\n }\n }\n\n node.raws.between = this.spacesAndCommentsFromEnd(params)\n if (params.length) {\n node.raws.afterName = this.spacesAndCommentsFromStart(params)\n this.raw(node, 'params', params)\n if (last) {\n token = params[params.length - 1]\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n this.spaces = node.raws.between\n node.raws.between = ''\n }\n } else {\n node.raws.afterName = ''\n node.params = ''\n }\n\n if (open) {\n node.nodes = []\n this.current = node\n }\n }\n\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens)\n if (colon === false) return\n\n let founded = 0\n let token\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j]\n if (token[0] !== 'space') {\n founded += 1\n if (founded === 2) break\n }\n }\n // If the token is a word, e.g. `!important`, `red` or any other valid property's value.\n // Then we need to return the colon after that word token. [3] is the \"end\" colon of that word.\n // And because we need it after that one we do +1 to get the next one.\n throw this.input.error(\n 'Missed semicolon',\n token[0] === 'word' ? token[3] + 1 : token[2]\n )\n }\n\n colon(tokens) {\n let brackets = 0\n let prev, token, type\n for (let [i, element] of tokens.entries()) {\n token = element\n type = token[0]\n\n if (type === '(') {\n brackets += 1\n }\n if (type === ')') {\n brackets -= 1\n }\n if (brackets === 0 && type === ':') {\n if (!prev) {\n this.doubleColon(token)\n } else if (prev[0] === 'word' && prev[1] === 'progid') {\n continue\n } else {\n return i\n }\n }\n\n prev = token\n }\n return false\n }\n\n comment(token) {\n let node = new Comment()\n this.init(node, token[2])\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n\n let text = token[1].slice(2, -2)\n if (/^\\s*$/.test(text)) {\n node.text = ''\n node.raws.left = text\n node.raws.right = ''\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/)\n node.text = match[2]\n node.raws.left = match[1]\n node.raws.right = match[3]\n }\n }\n\n createTokenizer() {\n this.tokenizer = tokenizer(this.input)\n }\n\n decl(tokens, customProperty) {\n let node = new Declaration()\n this.init(node, tokens[0][2])\n\n let last = tokens[tokens.length - 1]\n if (last[0] === ';') {\n this.semicolon = true\n tokens.pop()\n }\n\n node.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n )\n node.source.end.offset++\n\n while (tokens[0][0] !== 'word') {\n if (tokens.length === 1) this.unknownWord(tokens)\n node.raws.before += tokens.shift()[1]\n }\n node.source.start = this.getPosition(tokens[0][2])\n\n node.prop = ''\n while (tokens.length) {\n let type = tokens[0][0]\n if (type === ':' || type === 'space' || type === 'comment') {\n break\n }\n node.prop += tokens.shift()[1]\n }\n\n node.raws.between = ''\n\n let token\n while (tokens.length) {\n token = tokens.shift()\n\n if (token[0] === ':') {\n node.raws.between += token[1]\n break\n } else {\n if (token[0] === 'word' && /\\w/.test(token[1])) {\n this.unknownWord([token])\n }\n node.raws.between += token[1]\n }\n }\n\n if (node.prop[0] === '_' || node.prop[0] === '*') {\n node.raws.before += node.prop[0]\n node.prop = node.prop.slice(1)\n }\n\n let firstSpaces = []\n let next\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n firstSpaces.push(tokens.shift())\n }\n\n this.precheckMissedSemicolon(tokens)\n\n for (let i = tokens.length - 1; i >= 0; i--) {\n token = tokens[i]\n if (token[1].toLowerCase() === '!important') {\n node.important = true\n let string = this.stringFrom(tokens, i)\n string = this.spacesFromEnd(tokens) + string\n if (string !== ' !important') node.raws.important = string\n break\n } else if (token[1].toLowerCase() === 'important') {\n let cache = tokens.slice(0)\n let str = ''\n for (let j = i; j > 0; j--) {\n let type = cache[j][0]\n if (str.trim().startsWith('!') && type !== 'space') {\n break\n }\n str = cache.pop()[1] + str\n }\n if (str.trim().startsWith('!')) {\n node.important = true\n node.raws.important = str\n tokens = cache\n }\n }\n\n if (token[0] !== 'space' && token[0] !== 'comment') {\n break\n }\n }\n\n let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment')\n\n if (hasWord) {\n node.raws.between += firstSpaces.map(i => i[1]).join('')\n firstSpaces = []\n }\n this.raw(node, 'value', firstSpaces.concat(tokens), customProperty)\n\n if (node.value.includes(':') && !customProperty) {\n this.checkMissedSemicolon(tokens)\n }\n }\n\n doubleColon(token) {\n throw this.input.error(\n 'Double colon',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n\n emptyRule(token) {\n let node = new Rule()\n this.init(node, token[2])\n node.selector = ''\n node.raws.between = ''\n this.current = node\n }\n\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.semicolon = false\n\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.spaces = ''\n\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2])\n this.current.source.end.offset++\n this.current = this.current.parent\n } else {\n this.unexpectedClose(token)\n }\n }\n\n endFile() {\n if (this.current.parent) this.unclosedBlock()\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.root.source.end = this.getPosition(this.tokenizer.position())\n }\n\n freeSemicolon(token) {\n this.spaces += token[1]\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1]\n if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces\n this.spaces = ''\n }\n }\n }\n\n // Helpers\n\n getPosition(offset) {\n let pos = this.input.fromOffset(offset)\n return {\n column: pos.col,\n line: pos.line,\n offset\n }\n }\n\n init(node, offset) {\n this.current.push(node)\n node.source = {\n input: this.input,\n start: this.getPosition(offset)\n }\n node.raws.before = this.spaces\n this.spaces = ''\n if (node.type !== 'comment') this.semicolon = false\n }\n\n other(start) {\n let end = false\n let type = null\n let colon = false\n let bracket = null\n let brackets = []\n let customProperty = start[1].startsWith('--')\n\n let tokens = []\n let token = start\n while (token) {\n type = token[0]\n tokens.push(token)\n\n if (type === '(' || type === '[') {\n if (!bracket) bracket = token\n brackets.push(type === '(' ? ')' : ']')\n } else if (customProperty && colon && type === '{') {\n if (!bracket) bracket = token\n brackets.push('}')\n } else if (brackets.length === 0) {\n if (type === ';') {\n if (colon) {\n this.decl(tokens, customProperty)\n return\n } else {\n break\n }\n } else if (type === '{') {\n this.rule(tokens)\n return\n } else if (type === '}') {\n this.tokenizer.back(tokens.pop())\n end = true\n break\n } else if (type === ':') {\n colon = true\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n if (brackets.length === 0) bracket = null\n }\n\n token = this.tokenizer.nextToken()\n }\n\n if (this.tokenizer.endOfFile()) end = true\n if (brackets.length > 0) this.unclosedBracket(bracket)\n\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0]\n if (token !== 'space' && token !== 'comment') break\n this.tokenizer.back(tokens.pop())\n }\n }\n this.decl(tokens, customProperty)\n } else {\n this.unknownWord(tokens)\n }\n }\n\n parse() {\n let token\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n\n switch (token[0]) {\n case 'space':\n this.spaces += token[1]\n break\n\n case ';':\n this.freeSemicolon(token)\n break\n\n case '}':\n this.end(token)\n break\n\n case 'comment':\n this.comment(token)\n break\n\n case 'at-word':\n this.atrule(token)\n break\n\n case '{':\n this.emptyRule(token)\n break\n\n default:\n this.other(token)\n break\n }\n }\n this.endFile()\n }\n\n precheckMissedSemicolon(/* tokens */) {\n // Hook for Safe Parser\n }\n\n raw(node, prop, tokens, customProperty) {\n let token, type\n let length = tokens.length\n let value = ''\n let clean = true\n let next, prev\n\n for (let i = 0; i < length; i += 1) {\n token = tokens[i]\n type = token[0]\n if (type === 'space' && i === length - 1 && !customProperty) {\n clean = false\n } else if (type === 'comment') {\n prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty'\n next = tokens[i + 1] ? tokens[i + 1][0] : 'empty'\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === ',') {\n clean = false\n } else {\n value += token[1]\n }\n } else {\n clean = false\n }\n } else {\n value += token[1]\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i) => all + i[1], '')\n node.raws[prop] = { raw, value }\n }\n node[prop] = value\n }\n\n rule(tokens) {\n tokens.pop()\n\n let node = new Rule()\n this.init(node, tokens[0][2])\n\n node.raws.between = this.spacesAndCommentsFromEnd(tokens)\n this.raw(node, 'selector', tokens)\n this.current = node\n }\n\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space' && lastTokenType !== 'comment') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n // Errors\n\n spacesAndCommentsFromStart(tokens) {\n let next\n let spaces = ''\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n spaces += tokens.shift()[1]\n }\n return spaces\n }\n\n spacesFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n stringFrom(tokens, from) {\n let result = ''\n for (let i = from; i < tokens.length; i++) {\n result += tokens[i][1]\n }\n tokens.splice(from, tokens.length - from)\n return result\n }\n\n unclosedBlock() {\n let pos = this.current.source.start\n throw this.input.error('Unclosed block', pos.line, pos.column)\n }\n\n unclosedBracket(bracket) {\n throw this.input.error(\n 'Unclosed bracket',\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n )\n }\n\n unexpectedClose(token) {\n throw this.input.error(\n 'Unexpected }',\n { offset: token[2] },\n { offset: token[2] + 1 }\n )\n }\n\n unknownWord(tokens) {\n throw this.input.error(\n 'Unknown word',\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n )\n }\n\n unnamedAtrule(node, token) {\n throw this.input.error(\n 'At-rule without name',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n}\n\nmodule.exports = Parser\n"],"names":["AtRule","Comment","Declaration","Root","Rule","tokenizer","SAFE_COMMENT_NEIGHBOR","empty","space","findLastWithPosition","tokens","i","length","token","pos","Parser","input","root","current","spaces","semicolon","createTokenizer","source","start","column","line","offset","atrule","node","name","slice","unnamedAtrule","init","type","prev","shift","last","open","params","brackets","endOfFile","nextToken","push","pop","end","getPosition","raws","between","spacesAndCommentsFromEnd","afterName","spacesAndCommentsFromStart","raw","nodes","checkMissedSemicolon","colon","founded","j","error","element","entries","doubleColon","comment","text","test","left","right","match","decl","customProperty","unknownWord","before","prop","firstSpaces","next","precheckMissedSemicolon","toLowerCase","important","string","stringFrom","spacesFromEnd","cache","str","trim","startsWith","hasWord","some","map","join","concat","value","includes","emptyRule","selector","after","parent","unexpectedClose","endFile","unclosedBlock","position","freeSemicolon","ownSemicolon","fromOffset","col","other","bracket","rule","back","unclosedBracket","parse","clean","reduce","all","lastTokenType","from","result","splice","module","exports"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 2737, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/postcss.js"],"sourcesContent":["'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Container = require('./container')\nlet CssSyntaxError = require('./css-syntax-error')\nlet Declaration = require('./declaration')\nlet Document = require('./document')\nlet fromJSON = require('./fromJSON')\nlet Input = require('./input')\nlet LazyResult = require('./lazy-result')\nlet list = require('./list')\nlet Node = require('./node')\nlet parse = require('./parse')\nlet Processor = require('./processor')\nlet Result = require('./result.js')\nlet Root = require('./root')\nlet Rule = require('./rule')\nlet stringify = require('./stringify')\nlet Warning = require('./warning')\n\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0]\n }\n return new Processor(plugins)\n}\n\npostcss.plugin = function plugin(name, initializer) {\n let warningPrinted = false\n function creator(...args) {\n // eslint-disable-next-line no-console\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': postcss.plugin was deprecated. Migration guide:\\n' +\n 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'\n )\n if (process.env.LANG && process.env.LANG.startsWith('cn')) {\n /* c8 ignore next 7 */\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': 里面 postcss.plugin 被弃用. 迁移指南:\\n' +\n 'https://www.w3ctech.com/topic/2226'\n )\n }\n }\n let transformer = initializer(...args)\n transformer.postcssPlugin = name\n transformer.postcssVersion = new Processor().version\n return transformer\n }\n\n let cache\n Object.defineProperty(creator, 'postcss', {\n get() {\n if (!cache) cache = creator()\n return cache\n }\n })\n\n creator.process = function (css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts)\n }\n\n return creator\n}\n\npostcss.stringify = stringify\npostcss.parse = parse\npostcss.fromJSON = fromJSON\npostcss.list = list\n\npostcss.comment = defaults => new Comment(defaults)\npostcss.atRule = defaults => new AtRule(defaults)\npostcss.decl = defaults => new Declaration(defaults)\npostcss.rule = defaults => new Rule(defaults)\npostcss.root = defaults => new Root(defaults)\npostcss.document = defaults => new Document(defaults)\n\npostcss.CssSyntaxError = CssSyntaxError\npostcss.Declaration = Declaration\npostcss.Container = Container\npostcss.Processor = Processor\npostcss.Document = Document\npostcss.Comment = Comment\npostcss.Warning = Warning\npostcss.AtRule = AtRule\npostcss.Result = Result\npostcss.Input = Input\npostcss.Rule = Rule\npostcss.Root = Root\npostcss.Node = Node\n\nLazyResult.registerPostcss(postcss)\n\nmodule.exports = postcss\npostcss.default = postcss\n"],"names":["AtRule","Comment","Container","CssSyntaxError","Declaration","Document","fromJSON","Input","LazyResult","list","Node","parse","Processor","Result","Root","Rule","stringify","Warning","postcss","plugins","length","Array","isArray","plugin","name","initializer","warningPrinted","creator","args","console","warn","process","env","LANG","startsWith","transformer","postcssPlugin","postcssVersion","version","cache","Object","defineProperty","get","css","processOpts","pluginOpts","comment","defaults","atRule","decl","rule","root","document","registerPostcss","module","exports","default"],"mappings":"AAEA,IAAIA;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AAEJ,SAASC,QAAQ,GAAGC,OAAO;IACzB,IAAIA,QAAQC,MAAM,KAAK,KAAKC,MAAMC,OAAO,CAACH,OAAO,CAAC,EAAE,GAAG;QACrDA,UAAUA,OAAO,CAAC,EAAE;IACtB;IACA,OAAO,IAAIP,UAAUO;AACvB;AAEAD,QAAQK,MAAM,GAAG,SAASA,OAAOC,IAAI,EAAEC,WAAW;IAChD,IAAIC,iBAAiB;IACrB,SAASC,QAAQ,GAAGC,IAAI;QACtB,sCAAsC;QACtC,IAAIC,WAAWA,QAAQC,IAAI,IAAI,CAACJ,gBAAgB;YAC9CA,iBAAiB;YACjB,sCAAsC;YACtCG,QAAQC,IAAI,CACVN,OACE,wDACA;YAEJ,IAAIO,QAAQC,GAAG,CAACC,IAAI,IAAIF,QAAQC,GAAG,CAACC,IAAI,CAACC,UAAU,CAAC,OAAO;gBACzD,oBAAoB,GACpB,sCAAsC;gBACtCL,QAAQC,IAAI,CACVN,OACE,qCACA;YAEN;QACF;QACA,IAAIW,cAAcV,eAAeG;QACjCO,YAAYC,aAAa,GAAGZ;QAC5BW,YAAYE,cAAc,GAAG,IAAIzB,YAAY0B,OAAO;QACpD,OAAOH;IACT;IAEA,IAAII;IACJC,OAAOC,cAAc,CAACd,SAAS,WAAW;QACxCe;YACE,IAAI,CAACH,OAAOA,QAAQZ;YACpB,OAAOY;QACT;IACF;IAEAZ,QAAQI,OAAO,GAAG,SAAUY,GAAG,EAAEC,WAAW,EAAEC,UAAU;QACtD,OAAO3B,QAAQ;YAACS,QAAQkB;SAAY,EAAEd,OAAO,CAACY,KAAKC;IACrD;IAEA,OAAOjB;AACT;AAEAT,QAAQF,SAAS,GAAGA;AACpBE,QAAQP,KAAK,GAAGA;AAChBO,QAAQZ,QAAQ,GAAGA;AACnBY,QAAQT,IAAI,GAAGA;AAEfS,QAAQ4B,OAAO,GAAGC,CAAAA,WAAY,IAAI9C,QAAQ8C;AAC1C7B,QAAQ8B,MAAM,GAAGD,CAAAA,WAAY,IAAI/C,OAAO+C;AACxC7B,QAAQ+B,IAAI,GAAGF,CAAAA,WAAY,IAAI3C,YAAY2C;AAC3C7B,QAAQgC,IAAI,GAAGH,CAAAA,WAAY,IAAIhC,KAAKgC;AACpC7B,QAAQiC,IAAI,GAAGJ,CAAAA,WAAY,IAAIjC,KAAKiC;AACpC7B,QAAQkC,QAAQ,GAAGL,CAAAA,WAAY,IAAI1C,SAAS0C;AAE5C7B,QAAQf,cAAc,GAAGA;AACzBe,QAAQd,WAAW,GAAGA;AACtBc,QAAQhB,SAAS,GAAGA;AACpBgB,QAAQN,SAAS,GAAGA;AACpBM,QAAQb,QAAQ,GAAGA;AACnBa,QAAQjB,OAAO,GAAGA;AAClBiB,QAAQD,OAAO,GAAGA;AAClBC,QAAQlB,MAAM,GAAGA;AACjBkB,QAAQL,MAAM,GAAGA;AACjBK,QAAQX,KAAK,GAAGA;AAChBW,QAAQH,IAAI,GAAGA;AACfG,QAAQJ,IAAI,GAAGA;AACfI,QAAQR,IAAI,GAAGA;AAEfF,WAAW6C,eAAe,CAACnC;AAE3BoC,OAAOC,OAAO,GAAGrC;AACjBA,QAAQsC,OAAO,GAAGtC","ignoreList":[0]}}, + {"offset": {"line": 2823, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/postcss.mjs"],"sourcesContent":["import postcss from './postcss.js'\n\nexport default postcss\n\nexport const stringify = postcss.stringify\nexport const fromJSON = postcss.fromJSON\nexport const plugin = postcss.plugin\nexport const parse = postcss.parse\nexport const list = postcss.list\n\nexport const document = postcss.document\nexport const comment = postcss.comment\nexport const atRule = postcss.atRule\nexport const rule = postcss.rule\nexport const decl = postcss.decl\nexport const root = postcss.root\n\nexport const CssSyntaxError = postcss.CssSyntaxError\nexport const Declaration = postcss.Declaration\nexport const Container = postcss.Container\nexport const Processor = postcss.Processor\nexport const Document = postcss.Document\nexport const Comment = postcss.Comment\nexport const Warning = postcss.Warning\nexport const AtRule = postcss.AtRule\nexport const Result = postcss.Result\nexport const Input = postcss.Input\nexport const Rule = postcss.Rule\nexport const Root = postcss.Root\nexport const Node = postcss.Node\n"],"names":["stringify","fromJSON","plugin","parse","list","document","comment","atRule","rule","decl","root","CssSyntaxError","Declaration","Container","Processor","Document","Comment","Warning","AtRule","Result","Input","Rule","Root","Node"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;uCAEe,iJAAO;AAEf,MAAMA,YAAY,iJAAO,CAACA,SAAS;AACnC,MAAMC,WAAW,iJAAO,CAACA,QAAQ;AACjC,MAAMC,SAAS,iJAAO,CAACA,MAAM;AAC7B,MAAMC,QAAQ,iJAAO,CAACA,KAAK;AAC3B,MAAMC,OAAO,iJAAO,CAACA,IAAI;AAEzB,MAAMC,WAAW,iJAAO,CAACA,QAAQ;AACjC,MAAMC,UAAU,iJAAO,CAACA,OAAO;AAC/B,MAAMC,SAAS,iJAAO,CAACA,MAAM;AAC7B,MAAMC,OAAO,iJAAO,CAACA,IAAI;AACzB,MAAMC,OAAO,iJAAO,CAACA,IAAI;AACzB,MAAMC,OAAO,iJAAO,CAACA,IAAI;AAEzB,MAAMC,iBAAiB,iJAAO,CAACA,cAAc;AAC7C,MAAMC,cAAc,iJAAO,CAACA,WAAW;AACvC,MAAMC,YAAY,iJAAO,CAACA,SAAS;AACnC,MAAMC,YAAY,iJAAO,CAACA,SAAS;AACnC,MAAMC,WAAW,iJAAO,CAACA,QAAQ;AACjC,MAAMC,UAAU,iJAAO,CAACA,OAAO;AAC/B,MAAMC,UAAU,iJAAO,CAACA,OAAO;AAC/B,MAAMC,SAAS,iJAAO,CAACA,MAAM;AAC7B,MAAMC,SAAS,iJAAO,CAACA,MAAM;AAC7B,MAAMC,QAAQ,iJAAO,CAACA,KAAK;AAC3B,MAAMC,OAAO,iJAAO,CAACA,IAAI;AACzB,MAAMC,OAAO,iJAAO,CAACA,IAAI;AACzB,MAAMC,OAAO,iJAAO,CAACA,IAAI","ignoreList":[0]}}, + {"offset": {"line": 2906, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/previous-map.js"],"sourcesContent":["'use strict'\n\nlet { existsSync, readFileSync } = require('fs')\nlet { dirname, join } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\n\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, 'base64').toString()\n } else {\n /* c8 ignore next 2 */\n return window.atob(str)\n }\n}\n\nclass PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return\n this.loadAnnotation(css)\n this.inline = this.startWith(this.annotation, 'data:')\n\n let prev = opts.map ? opts.map.prev : undefined\n let text = this.loadMap(opts.from, prev)\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from\n }\n if (this.mapFile) this.root = dirname(this.mapFile)\n if (text) this.text = text\n }\n\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer(this.text)\n }\n return this.consumerCache\n }\n\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/\n let baseUri = /^data:application\\/json;base64,/\n let charsetUri = /^data:application\\/json;charset=utf-?8,/\n let uri = /^data:application\\/json,/\n\n let uriMatch = text.match(charsetUri) || text.match(uri)\n if (uriMatch) {\n return decodeURIComponent(text.substr(uriMatch[0].length))\n }\n\n let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri)\n if (baseUriMatch) {\n return fromBase64(text.substr(baseUriMatch[0].length))\n }\n\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1]\n throw new Error('Unsupported source map encoding ' + encoding)\n }\n\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, '').trim()\n }\n\n isMap(map) {\n if (typeof map !== 'object') return false\n return (\n typeof map.mappings === 'string' ||\n typeof map._mappings === 'string' ||\n Array.isArray(map.sections)\n )\n }\n\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/g)\n if (!comments) return\n\n // sourceMappingURLs from comments, strings, etc.\n let start = css.lastIndexOf(comments.pop())\n let end = css.indexOf('*/', start)\n\n if (start > -1 && end > -1) {\n // Locate the last sourceMappingURL to avoid pickin\n this.annotation = this.getAnnotationURL(css.substring(start, end))\n }\n }\n\n loadFile(path) {\n this.root = dirname(path)\n if (existsSync(path)) {\n this.mapFile = path\n return readFileSync(path, 'utf-8').toString().trim()\n }\n }\n\n loadMap(file, prev) {\n if (prev === false) return false\n\n if (prev) {\n if (typeof prev === 'string') {\n return prev\n } else if (typeof prev === 'function') {\n let prevPath = prev(file)\n if (prevPath) {\n let map = this.loadFile(prevPath)\n if (!map) {\n throw new Error(\n 'Unable to load previous source map: ' + prevPath.toString()\n )\n }\n return map\n }\n } else if (prev instanceof SourceMapConsumer) {\n return SourceMapGenerator.fromSourceMap(prev).toString()\n } else if (prev instanceof SourceMapGenerator) {\n return prev.toString()\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev)\n } else {\n throw new Error(\n 'Unsupported previous source map format: ' + prev.toString()\n )\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation)\n } else if (this.annotation) {\n let map = this.annotation\n if (file) map = join(dirname(file), map)\n return this.loadFile(map)\n }\n }\n\n startWith(string, start) {\n if (!string) return false\n return string.substr(0, start.length) === start\n }\n\n withContent() {\n return !!(\n this.consumer().sourcesContent &&\n this.consumer().sourcesContent.length > 0\n )\n }\n}\n\nmodule.exports = PreviousMap\nPreviousMap.default = PreviousMap\n"],"names":["existsSync","readFileSync","dirname","join","SourceMapConsumer","SourceMapGenerator","fromBase64","str","Buffer","from","toString","PreviousMap","css","opts","map","loadAnnotation","inline","startWith","annotation","prev","undefined","text","loadMap","mapFile","root","consumer","consumerCache","decodeInline","baseCharsetUri","baseUri","charsetUri","uri","uriMatch","match","decodeURIComponent","substr","length","baseUriMatch","encoding","Error","getAnnotationURL","sourceMapString","replace","trim","isMap","mappings","_mappings","Array","isArray","sections","comments","start","lastIndexOf","pop","end","indexOf","substring","loadFile","path","file","prevPath","fromSourceMap","JSON","stringify","string","withContent","sourcesContent","module","exports","default"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 3020, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/processor.js"],"sourcesContent":["'use strict'\n\nlet Document = require('./document')\nlet LazyResult = require('./lazy-result')\nlet NoWorkResult = require('./no-work-result')\nlet Root = require('./root')\n\nclass Processor {\n constructor(plugins = []) {\n this.version = '8.4.49'\n this.plugins = this.normalize(plugins)\n }\n\n normalize(plugins) {\n let normalized = []\n for (let i of plugins) {\n if (i.postcss === true) {\n i = i()\n } else if (i.postcss) {\n i = i.postcss\n }\n\n if (typeof i === 'object' && Array.isArray(i.plugins)) {\n normalized = normalized.concat(i.plugins)\n } else if (typeof i === 'object' && i.postcssPlugin) {\n normalized.push(i)\n } else if (typeof i === 'function') {\n normalized.push(i)\n } else if (typeof i === 'object' && (i.parse || i.stringify)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'PostCSS syntaxes cannot be used as plugins. Instead, please use ' +\n 'one of the syntax/parser/stringifier options as outlined ' +\n 'in your PostCSS runner documentation.'\n )\n }\n } else {\n throw new Error(i + ' is not a PostCSS plugin')\n }\n }\n return normalized\n }\n\n process(css, opts = {}) {\n if (\n !this.plugins.length &&\n !opts.parser &&\n !opts.stringifier &&\n !opts.syntax\n ) {\n return new NoWorkResult(this, css, opts)\n } else {\n return new LazyResult(this, css, opts)\n }\n }\n\n use(plugin) {\n this.plugins = this.plugins.concat(this.normalize([plugin]))\n return this\n }\n}\n\nmodule.exports = Processor\nProcessor.default = Processor\n\nRoot.registerProcessor(Processor)\nDocument.registerProcessor(Processor)\n"],"names":["Document","LazyResult","NoWorkResult","Root","Processor","plugins","version","normalize","normalized","i","postcss","Array","isArray","concat","postcssPlugin","push","parse","stringify","Error","process","css","opts","length","parser","stringifier","syntax","use","plugin","module","exports","default","registerProcessor"],"mappings":"AAEA,IAAIA;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AAEJ,MAAMC;IACJA,YAAYC,UAAU,EAAE,CAAE;QACxB,IAAI,CAACC,OAAO,GAAG;QACf,IAAI,CAACD,OAAO,GAAG,IAAI,CAACE,SAAS,CAACF;IAChC;IAEAE,UAAUF,OAAO,EAAE;QACjB,IAAIG,aAAa,EAAE;QACnB,KAAK,IAAIC,KAAKJ,QAAS;YACrB,IAAII,EAAEC,OAAO,KAAK,MAAM;gBACtBD,IAAIA;YACN,OAAO,IAAIA,EAAEC,OAAO,EAAE;gBACpBD,IAAIA,EAAEC,OAAO;YACf;YAEA,IAAI,OAAOD,MAAM,YAAYE,MAAMC,OAAO,CAACH,EAAEJ,OAAO,GAAG;gBACrDG,aAAaA,WAAWK,MAAM,CAACJ,EAAEJ,OAAO;YAC1C,OAAO,IAAI,OAAOI,MAAM,YAAYA,EAAEK,aAAa,EAAE;gBACnDN,WAAWO,IAAI,CAACN;YAClB,OAAO,IAAI,OAAOA,MAAM,YAAY;gBAClCD,WAAWO,IAAI,CAACN;YAClB,OAAO,IAAI,OAAOA,MAAM,YAAY,CAACA,EAAEO,KAAK,IAAIP,EAAEQ,SAAS,GAAG;gBAC5D;;YAOF,OAAO;gBACL,MAAM,IAAIC,MAAMT,IAAI;YACtB;QACF;QACA,OAAOD;IACT;IAEAW,QAAQC,GAAG,EAAEC,OAAO,CAAC,CAAC,EAAE;QACtB,IACE,CAAC,IAAI,CAAChB,OAAO,CAACiB,MAAM,IACpB,CAACD,KAAKE,MAAM,IACZ,CAACF,KAAKG,WAAW,IACjB,CAACH,KAAKI,MAAM,EACZ;YACA,OAAO,IAAIvB,aAAa,IAAI,EAAEkB,KAAKC;QACrC,OAAO;YACL,OAAO,IAAIpB,WAAW,IAAI,EAAEmB,KAAKC;QACnC;IACF;IAEAK,IAAIC,MAAM,EAAE;QACV,IAAI,CAACtB,OAAO,GAAG,IAAI,CAACA,OAAO,CAACQ,MAAM,CAAC,IAAI,CAACN,SAAS,CAAC;YAACoB;SAAO;QAC1D,OAAO,IAAI;IACb;AACF;AAEAC,OAAOC,OAAO,GAAGzB;AACjBA,UAAU0B,OAAO,GAAG1B;AAEpBD,KAAK4B,iBAAiB,CAAC3B;AACvBJ,SAAS+B,iBAAiB,CAAC3B","ignoreList":[0]}}, + {"offset": {"line": 3074, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/result.js"],"sourcesContent":["'use strict'\n\nlet Warning = require('./warning')\n\nclass Result {\n constructor(processor, root, opts) {\n this.processor = processor\n this.messages = []\n this.root = root\n this.opts = opts\n this.css = undefined\n this.map = undefined\n }\n\n toString() {\n return this.css\n }\n\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin\n }\n }\n\n let warning = new Warning(text, opts)\n this.messages.push(warning)\n\n return warning\n }\n\n warnings() {\n return this.messages.filter(i => i.type === 'warning')\n }\n\n get content() {\n return this.css\n }\n}\n\nmodule.exports = Result\nResult.default = Result\n"],"names":["Warning","Result","processor","root","opts","messages","css","undefined","map","toString","warn","text","plugin","lastPlugin","postcssPlugin","warning","push","warnings","filter","i","type","content","module","exports","default"],"mappings":"AAEA,IAAIA;AAEJ,MAAMC;IACJA,YAAYC,SAAS,EAAEC,IAAI,EAAEC,IAAI,CAAE;QACjC,IAAI,CAACF,SAAS,GAAGA;QACjB,IAAI,CAACG,QAAQ,GAAG,EAAE;QAClB,IAAI,CAACF,IAAI,GAAGA;QACZ,IAAI,CAACC,IAAI,GAAGA;QACZ,IAAI,CAACE,GAAG,GAAGC;QACX,IAAI,CAACC,GAAG,GAAGD;IACb;IAEAE,WAAW;QACT,OAAO,IAAI,CAACH,GAAG;IACjB;IAEAI,KAAKC,IAAI,EAAEP,OAAO,CAAC,CAAC,EAAE;QACpB,IAAI,CAACA,KAAKQ,MAAM,EAAE;YAChB,IAAI,IAAI,CAACC,UAAU,IAAI,IAAI,CAACA,UAAU,CAACC,aAAa,EAAE;gBACpDV,KAAKQ,MAAM,GAAG,IAAI,CAACC,UAAU,CAACC,aAAa;YAC7C;QACF;QAEA,IAAIC,UAAU,IAAIf,QAAQW,MAAMP;QAChC,IAAI,CAACC,QAAQ,CAACW,IAAI,CAACD;QAEnB,OAAOA;IACT;IAEAE,WAAW;QACT,OAAO,IAAI,CAACZ,QAAQ,CAACa,MAAM,CAACC,CAAAA,IAAKA,EAAEC,IAAI,KAAK;IAC9C;IAEA,IAAIC,UAAU;QACZ,OAAO,IAAI,CAACf,GAAG;IACjB;AACF;AAEAgB,OAAOC,OAAO,GAAGtB;AACjBA,OAAOuB,OAAO,GAAGvB","ignoreList":[0]}}, + {"offset": {"line": 3110, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/root.js"],"sourcesContent":["'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Root extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'root'\n if (!this.nodes) this.nodes = []\n }\n\n normalize(child, sample, type) {\n let nodes = super.normalize(child)\n\n if (sample) {\n if (type === 'prepend') {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before\n } else {\n delete sample.raws.before\n }\n } else if (this.first !== sample) {\n for (let node of nodes) {\n node.raws.before = sample.raws.before\n }\n }\n }\n\n return nodes\n }\n\n removeChild(child, ignore) {\n let index = this.index(child)\n\n if (!ignore && index === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index].raws.before\n }\n\n return super.removeChild(child)\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n return lazy.stringify()\n }\n}\n\nRoot.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nRoot.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Root\nRoot.default = Root\n\nContainer.registerRoot(Root)\n"],"names":["Container","LazyResult","Processor","Root","defaults","type","nodes","normalize","child","sample","length","raws","before","first","node","removeChild","ignore","index","toResult","opts","lazy","stringify","registerLazyResult","dependant","registerProcessor","module","exports","default","registerRoot"],"mappings":"AAEA,IAAIA;AAEJ,IAAIC,YAAYC;AAEhB,MAAMC,aAAaH;IACjBG,YAAYC,QAAQ,CAAE;QACpB,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAG;QACZ,IAAI,CAAC,IAAI,CAACC,KAAK,EAAE,IAAI,CAACA,KAAK,GAAG,EAAE;IAClC;IAEAC,UAAUC,KAAK,EAAEC,MAAM,EAAEJ,IAAI,EAAE;QAC7B,IAAIC,QAAQ,KAAK,CAACC,UAAUC;QAE5B,IAAIC,QAAQ;YACV,IAAIJ,SAAS,WAAW;gBACtB,IAAI,IAAI,CAACC,KAAK,CAACI,MAAM,GAAG,GAAG;oBACzBD,OAAOE,IAAI,CAACC,MAAM,GAAG,IAAI,CAACN,KAAK,CAAC,EAAE,CAACK,IAAI,CAACC,MAAM;gBAChD,OAAO;oBACL,OAAOH,OAAOE,IAAI,CAACC,MAAM;gBAC3B;YACF,OAAO,IAAI,IAAI,CAACC,KAAK,KAAKJ,QAAQ;gBAChC,KAAK,IAAIK,QAAQR,MAAO;oBACtBQ,KAAKH,IAAI,CAACC,MAAM,GAAGH,OAAOE,IAAI,CAACC,MAAM;gBACvC;YACF;QACF;QAEA,OAAON;IACT;IAEAS,YAAYP,KAAK,EAAEQ,MAAM,EAAE;QACzB,IAAIC,QAAQ,IAAI,CAACA,KAAK,CAACT;QAEvB,IAAI,CAACQ,UAAUC,UAAU,KAAK,IAAI,CAACX,KAAK,CAACI,MAAM,GAAG,GAAG;YACnD,IAAI,CAACJ,KAAK,CAAC,EAAE,CAACK,IAAI,CAACC,MAAM,GAAG,IAAI,CAACN,KAAK,CAACW,MAAM,CAACN,IAAI,CAACC,MAAM;QAC3D;QAEA,OAAO,KAAK,CAACG,YAAYP;IAC3B;IAEAU,SAASC,OAAO,CAAC,CAAC,EAAE;QAClB,IAAIC,OAAO,IAAInB,WAAW,IAAIC,aAAa,IAAI,EAAEiB;QACjD,OAAOC,KAAKC,SAAS;IACvB;AACF;AAEAlB,KAAKmB,kBAAkB,GAAGC,CAAAA;IACxBtB,aAAasB;AACf;AAEApB,KAAKqB,iBAAiB,GAAGD,CAAAA;IACvBrB,YAAYqB;AACd;AAEAE,OAAOC,OAAO,GAAGvB;AACjBA,KAAKwB,OAAO,GAAGxB;AAEfH,UAAU4B,YAAY,CAACzB","ignoreList":[0]}}, + {"offset": {"line": 3160, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/rule.js"],"sourcesContent":["'use strict'\n\nlet Container = require('./container')\nlet list = require('./list')\n\nclass Rule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'rule'\n if (!this.nodes) this.nodes = []\n }\n\n get selectors() {\n return list.comma(this.selector)\n }\n\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null\n let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')\n this.selector = values.join(sep)\n }\n}\n\nmodule.exports = Rule\nRule.default = Rule\n\nContainer.registerRule(Rule)\n"],"names":["Container","list","Rule","defaults","type","nodes","selectors","comma","selector","values","match","sep","raw","join","module","exports","default","registerRule"],"mappings":"AAEA,IAAIA;AACJ,IAAIC;AAEJ,MAAMC,aAAaF;IACjBE,YAAYC,QAAQ,CAAE;QACpB,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAG;QACZ,IAAI,CAAC,IAAI,CAACC,KAAK,EAAE,IAAI,CAACA,KAAK,GAAG,EAAE;IAClC;IAEA,IAAIC,YAAY;QACd,OAAOL,KAAKM,KAAK,CAAC,IAAI,CAACC,QAAQ;IACjC;IAEA,IAAIF,UAAUG,MAAM,EAAE;QACpB,IAAIC,QAAQ,IAAI,CAACF,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACE,KAAK,CAAC,UAAU;QAC1D,IAAIC,MAAMD,QAAQA,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,CAACE,GAAG,CAAC,WAAW;QACvD,IAAI,CAACJ,QAAQ,GAAGC,OAAOI,IAAI,CAACF;IAC9B;AACF;AAEAG,OAAOC,OAAO,GAAGb;AACjBA,KAAKc,OAAO,GAAGd;AAEfF,UAAUiB,YAAY,CAACf","ignoreList":[0]}}, + {"offset": {"line": 3184, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/stringifier.js"],"sourcesContent":["'use strict'\n\nconst DEFAULT_RAW = {\n after: '\\n',\n beforeClose: '\\n',\n beforeComment: '\\n',\n beforeDecl: '\\n',\n beforeOpen: ' ',\n beforeRule: '\\n',\n colon: ': ',\n commentLeft: ' ',\n commentRight: ' ',\n emptyBody: '',\n indent: ' ',\n semicolon: false\n}\n\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1)\n}\n\nclass Stringifier {\n constructor(builder) {\n this.builder = builder\n }\n\n atrule(node, semicolon) {\n let name = '@' + node.name\n let params = node.params ? this.rawValue(node, 'params') : ''\n\n if (typeof node.raws.afterName !== 'undefined') {\n name += node.raws.afterName\n } else if (params) {\n name += ' '\n }\n\n if (node.nodes) {\n this.block(node, name + params)\n } else {\n let end = (node.raws.between || '') + (semicolon ? ';' : '')\n this.builder(name + params + end, node)\n }\n }\n\n beforeAfter(node, detect) {\n let value\n if (node.type === 'decl') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (node.type === 'comment') {\n value = this.raw(node, null, 'beforeComment')\n } else if (detect === 'before') {\n value = this.raw(node, null, 'beforeRule')\n } else {\n value = this.raw(node, null, 'beforeClose')\n }\n\n let buf = node.parent\n let depth = 0\n while (buf && buf.type !== 'root') {\n depth += 1\n buf = buf.parent\n }\n\n if (value.includes('\\n')) {\n let indent = this.raw(node, null, 'indent')\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent\n }\n }\n\n return value\n }\n\n block(node, start) {\n let between = this.raw(node, 'between', 'beforeOpen')\n this.builder(start + between + '{', node, 'start')\n\n let after\n if (node.nodes && node.nodes.length) {\n this.body(node)\n after = this.raw(node, 'after')\n } else {\n after = this.raw(node, 'after', 'emptyBody')\n }\n\n if (after) this.builder(after)\n this.builder('}', node, 'end')\n }\n\n body(node) {\n let last = node.nodes.length - 1\n while (last > 0) {\n if (node.nodes[last].type !== 'comment') break\n last -= 1\n }\n\n let semicolon = this.raw(node, 'semicolon')\n for (let i = 0; i < node.nodes.length; i++) {\n let child = node.nodes[i]\n let before = this.raw(child, 'before')\n if (before) this.builder(before)\n this.stringify(child, last !== i || semicolon)\n }\n }\n\n comment(node) {\n let left = this.raw(node, 'left', 'commentLeft')\n let right = this.raw(node, 'right', 'commentRight')\n this.builder('/*' + left + node.text + right + '*/', node)\n }\n\n decl(node, semicolon) {\n let between = this.raw(node, 'between', 'colon')\n let string = node.prop + between + this.rawValue(node, 'value')\n\n if (node.important) {\n string += node.raws.important || ' !important'\n }\n\n if (semicolon) string += ';'\n this.builder(string, node)\n }\n\n document(node) {\n this.body(node)\n }\n\n raw(node, own, detect) {\n let value\n if (!detect) detect = own\n\n // Already had\n if (own) {\n value = node.raws[own]\n if (typeof value !== 'undefined') return value\n }\n\n let parent = node.parent\n\n if (detect === 'before') {\n // Hack for first rule in CSS\n if (!parent || (parent.type === 'root' && parent.first === node)) {\n return ''\n }\n\n // `root` nodes in `document` should use only their own raws\n if (parent && parent.type === 'document') {\n return ''\n }\n }\n\n // Floating child without parent\n if (!parent) return DEFAULT_RAW[detect]\n\n // Detect style by other nodes\n let root = node.root()\n if (!root.rawCache) root.rawCache = {}\n if (typeof root.rawCache[detect] !== 'undefined') {\n return root.rawCache[detect]\n }\n\n if (detect === 'before' || detect === 'after') {\n return this.beforeAfter(node, detect)\n } else {\n let method = 'raw' + capitalize(detect)\n if (this[method]) {\n value = this[method](root, node)\n } else {\n root.walk(i => {\n value = i.raws[own]\n if (typeof value !== 'undefined') return false\n })\n }\n }\n\n if (typeof value === 'undefined') value = DEFAULT_RAW[detect]\n\n root.rawCache[detect] = value\n return value\n }\n\n rawBeforeClose(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length > 0) {\n if (typeof i.raws.after !== 'undefined') {\n value = i.raws.after\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawBeforeComment(root, node) {\n let value\n root.walkComments(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeDecl(root, node) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeRule')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeOpen(root) {\n let value\n root.walk(i => {\n if (i.type !== 'decl') {\n value = i.raws.between\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawBeforeRule(root) {\n let value\n root.walk(i => {\n if (i.nodes && (i.parent !== root || root.first !== i)) {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawColon(root) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.between !== 'undefined') {\n value = i.raws.between.replace(/[^\\s:]/g, '')\n return false\n }\n })\n return value\n }\n\n rawEmptyBody(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length === 0) {\n value = i.raws.after\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawIndent(root) {\n if (root.raws.indent) return root.raws.indent\n let value\n root.walk(i => {\n let p = i.parent\n if (p && p !== root && p.parent && p.parent === root) {\n if (typeof i.raws.before !== 'undefined') {\n let parts = i.raws.before.split('\\n')\n value = parts[parts.length - 1]\n value = value.replace(/\\S/g, '')\n return false\n }\n }\n })\n return value\n }\n\n rawSemicolon(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length && i.last.type === 'decl') {\n value = i.raws.semicolon\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawValue(node, prop) {\n let value = node[prop]\n let raw = node.raws[prop]\n if (raw && raw.value === value) {\n return raw.raw\n }\n\n return value\n }\n\n root(node) {\n this.body(node)\n if (node.raws.after) this.builder(node.raws.after)\n }\n\n rule(node) {\n this.block(node, this.rawValue(node, 'selector'))\n if (node.raws.ownSemicolon) {\n this.builder(node.raws.ownSemicolon, node, 'end')\n }\n }\n\n stringify(node, semicolon) {\n /* c8 ignore start */\n if (!this[node.type]) {\n throw new Error(\n 'Unknown AST node type ' +\n node.type +\n '. ' +\n 'Maybe you need to change PostCSS stringifier.'\n )\n }\n /* c8 ignore stop */\n this[node.type](node, semicolon)\n }\n}\n\nmodule.exports = Stringifier\nStringifier.default = Stringifier\n"],"names":["DEFAULT_RAW","after","beforeClose","beforeComment","beforeDecl","beforeOpen","beforeRule","colon","commentLeft","commentRight","emptyBody","indent","semicolon","capitalize","str","toUpperCase","slice","Stringifier","builder","atrule","node","name","params","rawValue","raws","afterName","nodes","block","end","between","beforeAfter","detect","value","type","raw","buf","parent","depth","includes","length","step","start","body","last","i","child","before","stringify","comment","left","right","text","decl","string","prop","important","document","own","first","root","rawCache","method","walk","rawBeforeClose","replace","rawBeforeComment","walkComments","rawBeforeDecl","walkDecls","rawBeforeOpen","rawBeforeRule","rawColon","rawEmptyBody","rawIndent","p","parts","split","rawSemicolon","rule","ownSemicolon","Error","module","exports","default"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 3488, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/stringify.js"],"sourcesContent":["'use strict'\n\nlet Stringifier = require('./stringifier')\n\nfunction stringify(node, builder) {\n let str = new Stringifier(builder)\n str.stringify(node)\n}\n\nmodule.exports = stringify\nstringify.default = stringify\n"],"names":["Stringifier","stringify","node","builder","str","module","exports","default"],"mappings":"AAEA,IAAIA;AAEJ,SAASC,UAAUC,IAAI,EAAEC,OAAO;IAC9B,IAAIC,MAAM,IAAIJ,YAAYG;IAC1BC,IAAIH,SAAS,CAACC;AAChB;AAEAG,OAAOC,OAAO,GAAGL;AACjBA,UAAUM,OAAO,GAAGN","ignoreList":[0]}}, + {"offset": {"line": 3499, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/symbols.js"],"sourcesContent":["'use strict'\n\nmodule.exports.isClean = Symbol('isClean')\n\nmodule.exports.my = Symbol('my')\n"],"names":["module","exports","isClean","Symbol","my"],"mappings":"AAEAA,OAAOC,OAAO,CAACC,OAAO,GAAGC,OAAO;AAEhCH,OAAOC,OAAO,CAACG,EAAE,GAAGD,OAAO","ignoreList":[0]}}, + {"offset": {"line": 3505, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/terminal-highlight.js"],"sourcesContent":["'use strict'\n\nlet pico = require('picocolors')\n\nlet tokenizer = require('./tokenize')\n\nlet Input\n\nfunction registerInput(dependant) {\n Input = dependant\n}\n\nconst HIGHLIGHT_THEME = {\n ';': pico.yellow,\n ':': pico.yellow,\n '(': pico.cyan,\n ')': pico.cyan,\n '[': pico.yellow,\n ']': pico.yellow,\n '{': pico.yellow,\n '}': pico.yellow,\n 'at-word': pico.cyan,\n 'brackets': pico.cyan,\n 'call': pico.cyan,\n 'class': pico.yellow,\n 'comment': pico.gray,\n 'hash': pico.magenta,\n 'string': pico.green\n}\n\nfunction getTokenType([type, value], processor) {\n if (type === 'word') {\n if (value[0] === '.') {\n return 'class'\n }\n if (value[0] === '#') {\n return 'hash'\n }\n }\n\n if (!processor.endOfFile()) {\n let next = processor.nextToken()\n processor.back(next)\n if (next[0] === 'brackets' || next[0] === '(') return 'call'\n }\n\n return type\n}\n\nfunction terminalHighlight(css) {\n let processor = tokenizer(new Input(css), { ignoreErrors: true })\n let result = ''\n while (!processor.endOfFile()) {\n let token = processor.nextToken()\n let color = HIGHLIGHT_THEME[getTokenType(token, processor)]\n if (color) {\n result += token[1]\n .split(/\\r?\\n/)\n .map(i => color(i))\n .join('\\n')\n } else {\n result += token[1]\n }\n }\n return result\n}\n\nterminalHighlight.registerInput = registerInput\n\nmodule.exports = terminalHighlight\n"],"names":["pico","tokenizer","Input","registerInput","dependant","HIGHLIGHT_THEME","yellow","cyan","gray","magenta","green","getTokenType","type","value","processor","endOfFile","next","nextToken","back","terminalHighlight","css","ignoreErrors","result","token","color","split","map","i","join","module","exports"],"mappings":"AAEA,IAAIA;AAEJ,IAAIC;AAEJ,IAAIC;AAEJ,SAASC,cAAcC,SAAS;IAC9BF,QAAQE;AACV;AAEA,MAAMC,kBAAkB;IACtB,KAAKL,KAAKM,MAAM;IAChB,KAAKN,KAAKM,MAAM;IAChB,KAAKN,KAAKO,IAAI;IACd,KAAKP,KAAKO,IAAI;IACd,KAAKP,KAAKM,MAAM;IAChB,KAAKN,KAAKM,MAAM;IAChB,KAAKN,KAAKM,MAAM;IAChB,KAAKN,KAAKM,MAAM;IAChB,WAAWN,KAAKO,IAAI;IACpB,YAAYP,KAAKO,IAAI;IACrB,QAAQP,KAAKO,IAAI;IACjB,SAASP,KAAKM,MAAM;IACpB,WAAWN,KAAKQ,IAAI;IACpB,QAAQR,KAAKS,OAAO;IACpB,UAAUT,KAAKU,KAAK;AACtB;AAEA,SAASC,aAAa,CAACC,MAAMC,MAAM,EAAEC,SAAS;IAC5C,IAAIF,SAAS,QAAQ;QACnB,IAAIC,KAAK,CAAC,EAAE,KAAK,KAAK;YACpB,OAAO;QACT;QACA,IAAIA,KAAK,CAAC,EAAE,KAAK,KAAK;YACpB,OAAO;QACT;IACF;IAEA,IAAI,CAACC,UAAUC,SAAS,IAAI;QAC1B,IAAIC,OAAOF,UAAUG,SAAS;QAC9BH,UAAUI,IAAI,CAACF;QACf,IAAIA,IAAI,CAAC,EAAE,KAAK,cAAcA,IAAI,CAAC,EAAE,KAAK,KAAK,OAAO;IACxD;IAEA,OAAOJ;AACT;AAEA,SAASO,kBAAkBC,GAAG;IAC5B,IAAIN,YAAYb,UAAU,IAAIC,MAAMkB,MAAM;QAAEC,cAAc;IAAK;IAC/D,IAAIC,SAAS;IACb,MAAO,CAACR,UAAUC,SAAS,GAAI;QAC7B,IAAIQ,QAAQT,UAAUG,SAAS;QAC/B,IAAIO,QAAQnB,eAAe,CAACM,aAAaY,OAAOT,WAAW;QAC3D,IAAIU,OAAO;YACTF,UAAUC,KAAK,CAAC,EAAE,CACfE,KAAK,CAAC,SACNC,GAAG,CAACC,CAAAA,IAAKH,MAAMG,IACfC,IAAI,CAAC;QACV,OAAO;YACLN,UAAUC,KAAK,CAAC,EAAE;QACpB;IACF;IACA,OAAOD;AACT;AAEAH,kBAAkBhB,aAAa,GAAGA;AAElC0B,OAAOC,OAAO,GAAGX","ignoreList":[0]}}, + {"offset": {"line": 3566, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/tokenize.js"],"sourcesContent":["'use strict'\n\nconst SINGLE_QUOTE = \"'\".charCodeAt(0)\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0)\nconst BACKSLASH = '\\\\'.charCodeAt(0)\nconst SLASH = '/'.charCodeAt(0)\nconst NEWLINE = '\\n'.charCodeAt(0)\nconst SPACE = ' '.charCodeAt(0)\nconst FEED = '\\f'.charCodeAt(0)\nconst TAB = '\\t'.charCodeAt(0)\nconst CR = '\\r'.charCodeAt(0)\nconst OPEN_SQUARE = '['.charCodeAt(0)\nconst CLOSE_SQUARE = ']'.charCodeAt(0)\nconst OPEN_PARENTHESES = '('.charCodeAt(0)\nconst CLOSE_PARENTHESES = ')'.charCodeAt(0)\nconst OPEN_CURLY = '{'.charCodeAt(0)\nconst CLOSE_CURLY = '}'.charCodeAt(0)\nconst SEMICOLON = ';'.charCodeAt(0)\nconst ASTERISK = '*'.charCodeAt(0)\nconst COLON = ':'.charCodeAt(0)\nconst AT = '@'.charCodeAt(0)\n\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g\nconst RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/\nconst RE_HEX_ESCAPE = /[\\da-f]/i\n\nmodule.exports = function tokenizer(input, options = {}) {\n let css = input.css.valueOf()\n let ignore = options.ignoreErrors\n\n let code, content, escape, next, quote\n let currentToken, escaped, escapePos, n, prev\n\n let length = css.length\n let pos = 0\n let buffer = []\n let returned = []\n\n function position() {\n return pos\n }\n\n function unclosed(what) {\n throw input.error('Unclosed ' + what, pos)\n }\n\n function endOfFile() {\n return returned.length === 0 && pos >= length\n }\n\n function nextToken(opts) {\n if (returned.length) return returned.pop()\n if (pos >= length) return\n\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false\n\n code = css.charCodeAt(pos)\n\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos\n do {\n next += 1\n code = css.charCodeAt(next)\n } while (\n code === SPACE ||\n code === NEWLINE ||\n code === TAB ||\n code === CR ||\n code === FEED\n )\n\n currentToken = ['space', css.slice(pos, next)]\n pos = next - 1\n break\n }\n\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code)\n currentToken = [controlChar, controlChar, pos]\n break\n }\n\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : ''\n n = css.charCodeAt(pos + 1)\n if (\n prev === 'url' &&\n n !== SINGLE_QUOTE &&\n n !== DOUBLE_QUOTE &&\n n !== SPACE &&\n n !== NEWLINE &&\n n !== TAB &&\n n !== FEED &&\n n !== CR\n ) {\n next = pos\n do {\n escaped = false\n next = css.indexOf(')', next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos\n break\n } else {\n unclosed('bracket')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['brackets', css.slice(pos, next + 1), pos, next]\n\n pos = next\n } else {\n next = css.indexOf(')', pos + 1)\n content = css.slice(pos, next + 1)\n\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = ['(', '(', pos]\n } else {\n currentToken = ['brackets', content, pos, next]\n pos = next\n }\n }\n\n break\n }\n\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"'\n next = pos\n do {\n escaped = false\n next = css.indexOf(quote, next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1\n break\n } else {\n unclosed('string')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['string', css.slice(pos, next + 1), pos, next]\n pos = next\n break\n }\n\n case AT: {\n RE_AT_END.lastIndex = pos + 1\n RE_AT_END.test(css)\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_AT_END.lastIndex - 2\n }\n\n currentToken = ['at-word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n case BACKSLASH: {\n next = pos\n escape = true\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1\n escape = !escape\n }\n code = css.charCodeAt(next + 1)\n if (\n escape &&\n code !== SLASH &&\n code !== SPACE &&\n code !== NEWLINE &&\n code !== TAB &&\n code !== CR &&\n code !== FEED\n ) {\n next += 1\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1\n }\n }\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf('*/', pos + 2) + 1\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length\n } else {\n unclosed('comment')\n }\n }\n\n currentToken = ['comment', css.slice(pos, next + 1), pos, next]\n pos = next\n } else {\n RE_WORD_END.lastIndex = pos + 1\n RE_WORD_END.test(css)\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_WORD_END.lastIndex - 2\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n buffer.push(currentToken)\n pos = next\n }\n\n break\n }\n }\n\n pos++\n return currentToken\n }\n\n function back(token) {\n returned.push(token)\n }\n\n return {\n back,\n endOfFile,\n nextToken,\n position\n }\n}\n"],"names":["SINGLE_QUOTE","charCodeAt","DOUBLE_QUOTE","BACKSLASH","SLASH","NEWLINE","SPACE","FEED","TAB","CR","OPEN_SQUARE","CLOSE_SQUARE","OPEN_PARENTHESES","CLOSE_PARENTHESES","OPEN_CURLY","CLOSE_CURLY","SEMICOLON","ASTERISK","COLON","AT","RE_AT_END","RE_WORD_END","RE_BAD_BRACKET","RE_HEX_ESCAPE","module","exports","tokenizer","input","options","css","valueOf","ignore","ignoreErrors","code","content","escape","next","quote","currentToken","escaped","escapePos","n","prev","length","pos","buffer","returned","position","unclosed","what","error","endOfFile","nextToken","opts","pop","ignoreUnclosed","slice","controlChar","String","fromCharCode","indexOf","test","lastIndex","charAt","push","back","token"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 3831, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/warn-once.js"],"sourcesContent":["/* eslint-disable no-console */\n'use strict'\n\nlet printed = {}\n\nmodule.exports = function warnOnce(message) {\n if (printed[message]) return\n printed[message] = true\n\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message)\n }\n}\n"],"names":["printed","module","exports","warnOnce","message","console","warn"],"mappings":"AAAA,6BAA6B,GAG7B,IAAIA,UAAU,CAAC;AAEfC,OAAOC,OAAO,GAAG,SAASC,SAASC,OAAO;IACxC,IAAIJ,OAAO,CAACI,QAAQ,EAAE;IACtBJ,OAAO,CAACI,QAAQ,GAAG;IAEnB,IAAI,OAAOC,YAAY,eAAeA,QAAQC,IAAI,EAAE;QAClDD,QAAQC,IAAI,CAACF;IACf;AACF","ignoreList":[0]}}, + {"offset": {"line": 3843, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/postcss/lib/warning.js"],"sourcesContent":["'use strict'\n\nclass Warning {\n constructor(text, opts = {}) {\n this.type = 'warning'\n this.text = text\n\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts)\n this.line = range.start.line\n this.column = range.start.column\n this.endLine = range.end.line\n this.endColumn = range.end.column\n }\n\n for (let opt in opts) this[opt] = opts[opt]\n }\n\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message\n }\n\n if (this.plugin) {\n return this.plugin + ': ' + this.text\n }\n\n return this.text\n }\n}\n\nmodule.exports = Warning\nWarning.default = Warning\n"],"names":["Warning","text","opts","type","node","source","range","rangeBy","line","start","column","endLine","end","endColumn","opt","toString","error","index","plugin","word","message","module","exports","default"],"mappings":"AAEA,MAAMA;IACJA,YAAYC,IAAI,EAAEC,OAAO,CAAC,CAAC,CAAE;QAC3B,IAAI,CAACC,IAAI,GAAG;QACZ,IAAI,CAACF,IAAI,GAAGA;QAEZ,IAAIC,KAAKE,IAAI,IAAIF,KAAKE,IAAI,CAACC,MAAM,EAAE;YACjC,IAAIC,QAAQJ,KAAKE,IAAI,CAACG,OAAO,CAACL;YAC9B,IAAI,CAACM,IAAI,GAAGF,MAAMG,KAAK,CAACD,IAAI;YAC5B,IAAI,CAACE,MAAM,GAAGJ,MAAMG,KAAK,CAACC,MAAM;YAChC,IAAI,CAACC,OAAO,GAAGL,MAAMM,GAAG,CAACJ,IAAI;YAC7B,IAAI,CAACK,SAAS,GAAGP,MAAMM,GAAG,CAACF,MAAM;QACnC;QAEA,IAAK,IAAII,OAAOZ,KAAM,IAAI,CAACY,IAAI,GAAGZ,IAAI,CAACY,IAAI;IAC7C;IAEAC,WAAW;QACT,IAAI,IAAI,CAACX,IAAI,EAAE;YACb,OAAO,IAAI,CAACA,IAAI,CAACY,KAAK,CAAC,IAAI,CAACf,IAAI,EAAE;gBAChCgB,OAAO,IAAI,CAACA,KAAK;gBACjBC,QAAQ,IAAI,CAACA,MAAM;gBACnBC,MAAM,IAAI,CAACA,IAAI;YACjB,GAAGC,OAAO;QACZ;QAEA,IAAI,IAAI,CAACF,MAAM,EAAE;YACf,OAAO,IAAI,CAACA,MAAM,GAAG,OAAO,IAAI,CAACjB,IAAI;QACvC;QAEA,OAAO,IAAI,CAACA,IAAI;IAClB;AACF;AAEAoB,OAAOC,OAAO,GAAGtB;AACjBA,QAAQuB,OAAO,GAAGvB","ignoreList":[0]}}, + {"offset": {"line": 3876, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/nanoid/non-secure/index.cjs"],"sourcesContent":["let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size | 0\n while (i-- > 0) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\n\nlet nanoid = (size = 21) => {\n let id = ''\n let i = size | 0\n while (i-- > 0) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n\nmodule.exports = { nanoid, customAlphabet }\n"],"names":["urlAlphabet","customAlphabet","alphabet","defaultSize","size","id","i","Math","random","length","nanoid","module","exports"],"mappings":"AAAA,IAAIA,cACF;AAEF,IAAIC,iBAAiB,CAACC,UAAUC,cAAc,EAAE;IAC9C,OAAO,CAACC,OAAOD,WAAW;QACxB,IAAIE,KAAK;QACT,IAAIC,IAAIF,OAAO;QACf,MAAOE,MAAM,EAAG;YACdD,MAAMH,QAAQ,CAAC,AAACK,KAAKC,MAAM,KAAKN,SAASO,MAAM,GAAI,EAAE;QACvD;QACA,OAAOJ;IACT;AACF;AAEA,IAAIK,SAAS,CAACN,OAAO,EAAE;IACrB,IAAIC,KAAK;IACT,IAAIC,IAAIF,OAAO;IACf,MAAOE,MAAM,EAAG;QACdD,MAAML,WAAW,CAAC,AAACO,KAAKC,MAAM,KAAK,KAAM,EAAE;IAC7C;IACA,OAAOH;AACT;AAEAM,OAAOC,OAAO,GAAG;IAAEF;IAAQT;AAAe","ignoreList":[0]}}, + {"offset": {"line": 3902, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/picocolors/picocolors.js"],"sourcesContent":["let p = process || {}, argv = p.argv || [], env = p.env || {}\nlet isColorSupported =\n\t!(!!env.NO_COLOR || argv.includes(\"--no-color\")) &&\n\t(!!env.FORCE_COLOR || argv.includes(\"--color\") || p.platform === \"win32\" || ((p.stdout || {}).isTTY && env.TERM !== \"dumb\") || !!env.CI)\n\nlet formatter = (open, close, replace = open) =>\n\tinput => {\n\t\tlet string = \"\" + input, index = string.indexOf(close, open.length)\n\t\treturn ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close\n\t}\n\nlet replaceClose = (string, close, replace, index) => {\n\tlet result = \"\", cursor = 0\n\tdo {\n\t\tresult += string.substring(cursor, index) + replace\n\t\tcursor = index + close.length\n\t\tindex = string.indexOf(close, cursor)\n\t} while (~index)\n\treturn result + string.substring(cursor)\n}\n\nlet createColors = (enabled = isColorSupported) => {\n\tlet f = enabled ? formatter : () => String\n\treturn {\n\t\tisColorSupported: enabled,\n\t\treset: f(\"\\x1b[0m\", \"\\x1b[0m\"),\n\t\tbold: f(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\"),\n\t\tdim: f(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\"),\n\t\titalic: f(\"\\x1b[3m\", \"\\x1b[23m\"),\n\t\tunderline: f(\"\\x1b[4m\", \"\\x1b[24m\"),\n\t\tinverse: f(\"\\x1b[7m\", \"\\x1b[27m\"),\n\t\thidden: f(\"\\x1b[8m\", \"\\x1b[28m\"),\n\t\tstrikethrough: f(\"\\x1b[9m\", \"\\x1b[29m\"),\n\n\t\tblack: f(\"\\x1b[30m\", \"\\x1b[39m\"),\n\t\tred: f(\"\\x1b[31m\", \"\\x1b[39m\"),\n\t\tgreen: f(\"\\x1b[32m\", \"\\x1b[39m\"),\n\t\tyellow: f(\"\\x1b[33m\", \"\\x1b[39m\"),\n\t\tblue: f(\"\\x1b[34m\", \"\\x1b[39m\"),\n\t\tmagenta: f(\"\\x1b[35m\", \"\\x1b[39m\"),\n\t\tcyan: f(\"\\x1b[36m\", \"\\x1b[39m\"),\n\t\twhite: f(\"\\x1b[37m\", \"\\x1b[39m\"),\n\t\tgray: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\n\t\tbgBlack: f(\"\\x1b[40m\", \"\\x1b[49m\"),\n\t\tbgRed: f(\"\\x1b[41m\", \"\\x1b[49m\"),\n\t\tbgGreen: f(\"\\x1b[42m\", \"\\x1b[49m\"),\n\t\tbgYellow: f(\"\\x1b[43m\", \"\\x1b[49m\"),\n\t\tbgBlue: f(\"\\x1b[44m\", \"\\x1b[49m\"),\n\t\tbgMagenta: f(\"\\x1b[45m\", \"\\x1b[49m\"),\n\t\tbgCyan: f(\"\\x1b[46m\", \"\\x1b[49m\"),\n\t\tbgWhite: f(\"\\x1b[47m\", \"\\x1b[49m\"),\n\n\t\tblackBright: f(\"\\x1b[90m\", \"\\x1b[39m\"),\n\t\tredBright: f(\"\\x1b[91m\", \"\\x1b[39m\"),\n\t\tgreenBright: f(\"\\x1b[92m\", \"\\x1b[39m\"),\n\t\tyellowBright: f(\"\\x1b[93m\", \"\\x1b[39m\"),\n\t\tblueBright: f(\"\\x1b[94m\", \"\\x1b[39m\"),\n\t\tmagentaBright: f(\"\\x1b[95m\", \"\\x1b[39m\"),\n\t\tcyanBright: f(\"\\x1b[96m\", \"\\x1b[39m\"),\n\t\twhiteBright: f(\"\\x1b[97m\", \"\\x1b[39m\"),\n\n\t\tbgBlackBright: f(\"\\x1b[100m\", \"\\x1b[49m\"),\n\t\tbgRedBright: f(\"\\x1b[101m\", \"\\x1b[49m\"),\n\t\tbgGreenBright: f(\"\\x1b[102m\", \"\\x1b[49m\"),\n\t\tbgYellowBright: f(\"\\x1b[103m\", \"\\x1b[49m\"),\n\t\tbgBlueBright: f(\"\\x1b[104m\", \"\\x1b[49m\"),\n\t\tbgMagentaBright: f(\"\\x1b[105m\", \"\\x1b[49m\"),\n\t\tbgCyanBright: f(\"\\x1b[106m\", \"\\x1b[49m\"),\n\t\tbgWhiteBright: f(\"\\x1b[107m\", \"\\x1b[49m\"),\n\t}\n}\n\nmodule.exports = createColors()\nmodule.exports.createColors = createColors\n"],"names":["p","process","argv","env","isColorSupported","NO_COLOR","includes","FORCE_COLOR","platform","stdout","isTTY","TERM","CI","formatter","open","close","replace","input","string","index","indexOf","length","replaceClose","result","cursor","substring","createColors","enabled","f","String","reset","bold","dim","italic","underline","inverse","hidden","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgBlackBright","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","module","exports"],"mappings":"AAAA,IAAIA,IAAIC,WAAW,CAAC,GAAGC,OAAOF,EAAEE,IAAI,IAAI,EAAE,EAAEC,MAAMH,EAAEG,GAAG,IAAI,CAAC;AAC5D,IAAIC,mBACH,CAAC,CAAC,CAAC,CAACD,IAAIE,QAAQ,IAAIH,KAAKI,QAAQ,CAAC,aAAa,KAC/C,CAAC,CAAC,CAACH,IAAII,WAAW,IAAIL,KAAKI,QAAQ,CAAC,cAAcN,EAAEQ,QAAQ,KAAK,WAAY,CAACR,EAAES,MAAM,IAAI,CAAC,CAAC,EAAEC,KAAK,IAAIP,IAAIQ,IAAI,KAAK,UAAW,CAAC,CAACR,IAAIS,EAAE;AAExI,IAAIC,YAAY,CAACC,MAAMC,OAAOC,UAAUF,IAAI,GAC3CG,CAAAA;QACC,IAAIC,SAAS,KAAKD,OAAOE,QAAQD,OAAOE,OAAO,CAACL,OAAOD,KAAKO,MAAM;QAClE,OAAO,CAACF,QAAQL,OAAOQ,aAAaJ,QAAQH,OAAOC,SAASG,SAASJ,QAAQD,OAAOI,SAASH;IAC9F;AAED,IAAIO,eAAe,CAACJ,QAAQH,OAAOC,SAASG;IAC3C,IAAII,SAAS,IAAIC,SAAS;IAC1B,GAAG;QACFD,UAAUL,OAAOO,SAAS,CAACD,QAAQL,SAASH;QAC5CQ,SAASL,QAAQJ,MAAMM,MAAM;QAC7BF,QAAQD,OAAOE,OAAO,CAACL,OAAOS;IAC/B,QAAS,CAACL,MAAM;IAChB,OAAOI,SAASL,OAAOO,SAAS,CAACD;AAClC;AAEA,IAAIE,eAAe,CAACC,UAAUvB,gBAAgB;IAC7C,IAAIwB,IAAID,UAAUd,YAAY,IAAMgB;IACpC,OAAO;QACNzB,kBAAkBuB;QAClBG,OAAOF,EAAE,WAAW;QACpBG,MAAMH,EAAE,WAAW,YAAY;QAC/BI,KAAKJ,EAAE,WAAW,YAAY;QAC9BK,QAAQL,EAAE,WAAW;QACrBM,WAAWN,EAAE,WAAW;QACxBO,SAASP,EAAE,WAAW;QACtBQ,QAAQR,EAAE,WAAW;QACrBS,eAAeT,EAAE,WAAW;QAE5BU,OAAOV,EAAE,YAAY;QACrBW,KAAKX,EAAE,YAAY;QACnBY,OAAOZ,EAAE,YAAY;QACrBa,QAAQb,EAAE,YAAY;QACtBc,MAAMd,EAAE,YAAY;QACpBe,SAASf,EAAE,YAAY;QACvBgB,MAAMhB,EAAE,YAAY;QACpBiB,OAAOjB,EAAE,YAAY;QACrBkB,MAAMlB,EAAE,YAAY;QAEpBmB,SAASnB,EAAE,YAAY;QACvBoB,OAAOpB,EAAE,YAAY;QACrBqB,SAASrB,EAAE,YAAY;QACvBsB,UAAUtB,EAAE,YAAY;QACxBuB,QAAQvB,EAAE,YAAY;QACtBwB,WAAWxB,EAAE,YAAY;QACzByB,QAAQzB,EAAE,YAAY;QACtB0B,SAAS1B,EAAE,YAAY;QAEvB2B,aAAa3B,EAAE,YAAY;QAC3B4B,WAAW5B,EAAE,YAAY;QACzB6B,aAAa7B,EAAE,YAAY;QAC3B8B,cAAc9B,EAAE,YAAY;QAC5B+B,YAAY/B,EAAE,YAAY;QAC1BgC,eAAehC,EAAE,YAAY;QAC7BiC,YAAYjC,EAAE,YAAY;QAC1BkC,aAAalC,EAAE,YAAY;QAE3BmC,eAAenC,EAAE,aAAa;QAC9BoC,aAAapC,EAAE,aAAa;QAC5BqC,eAAerC,EAAE,aAAa;QAC9BsC,gBAAgBtC,EAAE,aAAa;QAC/BuC,cAAcvC,EAAE,aAAa;QAC7BwC,iBAAiBxC,EAAE,aAAa;QAChCyC,cAAczC,EAAE,aAAa;QAC7B0C,eAAe1C,EAAE,aAAa;IAC/B;AACD;AAEA2C,OAAOC,OAAO,GAAG9C;AACjB6C,OAAOC,OAAO,CAAC9C,YAAY,GAAGA","ignoreList":[0]}}, + {"offset": {"line": 3969, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/array-set.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n"],"names":["util","has","Object","prototype","hasOwnProperty","hasNativeMap","Map","ArraySet","_array","_set","create","fromArray","ArraySet_fromArray","aArray","aAllowDuplicates","set","i","len","length","add","size","ArraySet_size","getOwnPropertyNames","ArraySet_add","aStr","sStr","toSetString","isDuplicate","call","idx","push","ArraySet_has","indexOf","ArraySet_indexOf","get","Error","at","ArraySet_at","aIdx","toArray","ArraySet_toArray","slice","exports"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 4072, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/base64-vlq.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n"],"names":["base64","VLQ_BASE_SHIFT","VLQ_BASE","VLQ_BASE_MASK","VLQ_CONTINUATION_BIT","toVLQSigned","aValue","fromVLQSigned","isNegative","shifted","exports","encode","base64VLQ_encode","encoded","digit","vlq","decode","base64VLQ_decode","aStr","aIndex","aOutParam","strLen","length","result","shift","continuation","Error","charCodeAt","charAt","value","rest"],"mappings":"AAAA,yCAAyC,GACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCC,GAED,IAAIA;AAEJ,8EAA8E;AAC9E,8EAA8E;AAC9E,kEAAkE;AAClE,yEAAyE;AACzE,6CAA6C;AAC7C,EAAE;AACF,iBAAiB;AACjB,cAAc;AACd,WAAW;AACX,WAAW;AACX,WAAW;AAEX,IAAIC,iBAAiB;AAErB,iBAAiB;AACjB,IAAIC,WAAW,KAAKD;AAEpB,iBAAiB;AACjB,IAAIE,gBAAgBD,WAAW;AAE/B,iBAAiB;AACjB,IAAIE,uBAAuBF;AAE3B;;;;;CAKC,GACD,SAASG,YAAYC,MAAM;IACzB,OAAOA,SAAS,IACZ,CAAC,AAAC,CAACA,UAAW,CAAC,IAAI,IACnB,CAACA,UAAU,CAAC,IAAI;AACtB;AAEA;;;;;CAKC,GACD,SAASC,cAAcD,MAAM;IAC3B,IAAIE,aAAa,CAACF,SAAS,CAAC,MAAM;IAClC,IAAIG,UAAUH,UAAU;IACxB,OAAOE,aACH,CAACC,UACDA;AACN;AAEA;;CAEC,GACDC,QAAQC,MAAM,GAAG,SAASC,iBAAiBN,MAAM;IAC/C,IAAIO,UAAU;IACd,IAAIC;IAEJ,IAAIC,MAAMV,YAAYC;IAEtB,GAAG;QACDQ,QAAQC,MAAMZ;QACdY,SAASd;QACT,IAAIc,MAAM,GAAG;YACX,sEAAsE;YACtE,8BAA8B;YAC9BD,SAASV;QACX;QACAS,WAAWb,OAAOW,MAAM,CAACG;IAC3B,QAASC,MAAM,EAAG;IAElB,OAAOF;AACT;AAEA;;;CAGC,GACDH,QAAQM,MAAM,GAAG,SAASC,iBAAiBC,IAAI,EAAEC,MAAM,EAAEC,SAAS;IAChE,IAAIC,SAASH,KAAKI,MAAM;IACxB,IAAIC,SAAS;IACb,IAAIC,QAAQ;IACZ,IAAIC,cAAcX;IAElB,GAAG;QACD,IAAIK,UAAUE,QAAQ;YACpB,MAAM,IAAIK,MAAM;QAClB;QAEAZ,QAAQd,OAAOgB,MAAM,CAACE,KAAKS,UAAU,CAACR;QACtC,IAAIL,UAAU,CAAC,GAAG;YAChB,MAAM,IAAIY,MAAM,2BAA2BR,KAAKU,MAAM,CAACT,SAAS;QAClE;QAEAM,eAAe,CAAC,CAAC,CAACX,QAAQV,oBAAoB;QAC9CU,SAASX;QACToB,SAASA,SAAS,CAACT,SAASU,KAAK;QACjCA,SAASvB;IACX,QAASwB,aAAc;IAEvBL,UAAUS,KAAK,GAAGtB,cAAcgB;IAChCH,UAAUU,IAAI,GAAGX;AACnB","ignoreList":[0]}}, + {"offset": {"line": 4188, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/base64.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n"],"names":["intToCharMap","split","exports","encode","number","length","TypeError","decode","charCode","bigA","bigZ","littleA","littleZ","zero","nine","plus","slash","littleOffset","numberOffset"],"mappings":"AAAA,yCAAyC,GACzC;;;;CAIC,GAED,IAAIA,eAAe,mEAAmEC,KAAK,CAAC;AAE5F;;CAEC,GACDC,QAAQC,MAAM,GAAG,SAAUC,MAAM;IAC/B,IAAI,KAAKA,UAAUA,SAASJ,aAAaK,MAAM,EAAE;QAC/C,OAAOL,YAAY,CAACI,OAAO;IAC7B;IACA,MAAM,IAAIE,UAAU,+BAA+BF;AACrD;AAEA;;;CAGC,GACDF,QAAQK,MAAM,GAAG,SAAUC,QAAQ;IACjC,IAAIC,OAAO,IAAQ,MAAM;IACzB,IAAIC,OAAO,IAAQ,MAAM;IAEzB,IAAIC,UAAU,IAAK,MAAM;IACzB,IAAIC,UAAU,KAAK,MAAM;IAEzB,IAAIC,OAAO,IAAQ,MAAM;IACzB,IAAIC,OAAO,IAAQ,MAAM;IAEzB,IAAIC,OAAO,IAAQ,MAAM;IACzB,IAAIC,QAAQ,IAAO,MAAM;IAEzB,IAAIC,eAAe;IACnB,IAAIC,eAAe;IAEnB,qCAAqC;IACrC,IAAIT,QAAQD,YAAYA,YAAYE,MAAM;QACxC,OAAQF,WAAWC;IACrB;IAEA,sCAAsC;IACtC,IAAIE,WAAWH,YAAYA,YAAYI,SAAS;QAC9C,OAAQJ,WAAWG,UAAUM;IAC/B;IAEA,sBAAsB;IACtB,IAAIJ,QAAQL,YAAYA,YAAYM,MAAM;QACxC,OAAQN,WAAWK,OAAOK;IAC5B;IAEA,QAAQ;IACR,IAAIV,YAAYO,MAAM;QACpB,OAAO;IACT;IAEA,QAAQ;IACR,IAAIP,YAAYQ,OAAO;QACrB,OAAO;IACT;IAEA,wBAAwB;IACxB,OAAO,CAAC;AACV","ignoreList":[0]}}, + {"offset": {"line": 4241, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/binary-search.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n"],"names":["exports","GREATEST_LOWER_BOUND","LEAST_UPPER_BOUND","recursiveSearch","aLow","aHigh","aNeedle","aHaystack","aCompare","aBias","mid","Math","floor","cmp","length","search","index"],"mappings":"AAAA,yCAAyC,GACzC;;;;CAIC,GAEDA,QAAQC,oBAAoB,GAAG;AAC/BD,QAAQE,iBAAiB,GAAG;AAE5B;;;;;;;;;;;;CAYC,GACD,SAASC,gBAAgBC,IAAI,EAAEC,KAAK,EAAEC,OAAO,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,KAAK;IACvE,8DAA8D;IAC9D,EAAE;IACF,qDAAqD;IACrD,EAAE;IACF,yEAAyE;IACzE,iCAAiC;IACjC,EAAE;IACF,uEAAuE;IACvE,mEAAmE;IACnE,IAAIC,MAAMC,KAAKC,KAAK,CAAC,CAACP,QAAQD,IAAI,IAAI,KAAKA;IAC3C,IAAIS,MAAML,SAASF,SAASC,SAAS,CAACG,IAAI,EAAE;IAC5C,IAAIG,QAAQ,GAAG;QACb,wCAAwC;QACxC,OAAOH;IACT,OACK,IAAIG,MAAM,GAAG;QAChB,6CAA6C;QAC7C,IAAIR,QAAQK,MAAM,GAAG;YACnB,oCAAoC;YACpC,OAAOP,gBAAgBO,KAAKL,OAAOC,SAASC,WAAWC,UAAUC;QACnE;QAEA,wEAAwE;QACxE,0EAA0E;QAC1E,IAAIA,SAAST,QAAQE,iBAAiB,EAAE;YACtC,OAAOG,QAAQE,UAAUO,MAAM,GAAGT,QAAQ,CAAC;QAC7C,OAAO;YACL,OAAOK;QACT;IACF,OACK;QACH,0CAA0C;QAC1C,IAAIA,MAAMN,OAAO,GAAG;YAClB,oCAAoC;YACpC,OAAOD,gBAAgBC,MAAMM,KAAKJ,SAASC,WAAWC,UAAUC;QAClE;QAEA,0EAA0E;QAC1E,IAAIA,SAAST,QAAQE,iBAAiB,EAAE;YACtC,OAAOQ;QACT,OAAO;YACL,OAAON,OAAO,IAAI,CAAC,IAAIA;QACzB;IACF;AACF;AAEA;;;;;;;;;;;;;;;;;CAiBC,GACDJ,QAAQe,MAAM,GAAG,SAASA,OAAOT,OAAO,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,KAAK;IAClE,IAAIF,UAAUO,MAAM,KAAK,GAAG;QAC1B,OAAO,CAAC;IACV;IAEA,IAAIE,QAAQb,gBAAgB,CAAC,GAAGI,UAAUO,MAAM,EAAER,SAASC,WAC/BC,UAAUC,SAAST,QAAQC,oBAAoB;IAC3E,IAAIe,QAAQ,GAAG;QACb,OAAO,CAAC;IACV;IAEA,2EAA2E;IAC3E,yEAAyE;IACzE,6DAA6D;IAC7D,MAAOA,QAAQ,KAAK,EAAG;QACrB,IAAIR,SAASD,SAAS,CAACS,MAAM,EAAET,SAAS,CAACS,QAAQ,EAAE,EAAE,UAAU,GAAG;YAChE;QACF;QACA,EAAEA;IACJ;IAEA,OAAOA;AACT","ignoreList":[0]}}, + {"offset": {"line": 4340, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/mapping-list.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n"],"names":["util","generatedPositionAfter","mappingA","mappingB","lineA","generatedLine","lineB","columnA","generatedColumn","columnB","compareByGeneratedPositionsInflated","MappingList","_array","_sorted","_last","prototype","unsortedForEach","MappingList_forEach","aCallback","aThisArg","forEach","add","MappingList_add","aMapping","push","toArray","MappingList_toArray","sort","exports"],"mappings":"AAAA,yCAAyC,GACzC;;;;CAIC,GAED,IAAIA;AAEJ;;;CAGC,GACD,SAASC,uBAAuBC,QAAQ,EAAEC,QAAQ;IAChD,iCAAiC;IACjC,IAAIC,QAAQF,SAASG,aAAa;IAClC,IAAIC,QAAQH,SAASE,aAAa;IAClC,IAAIE,UAAUL,SAASM,eAAe;IACtC,IAAIC,UAAUN,SAASK,eAAe;IACtC,OAAOF,QAAQF,SAASE,SAASF,SAASK,WAAWF,WAC9CP,KAAKU,mCAAmC,CAACR,UAAUC,aAAa;AACzE;AAEA;;;;CAIC,GACD,SAASQ;IACP,IAAI,CAACC,MAAM,GAAG,EAAE;IAChB,IAAI,CAACC,OAAO,GAAG;IACf,oBAAoB;IACpB,IAAI,CAACC,KAAK,GAAG;QAACT,eAAe,CAAC;QAAGG,iBAAiB;IAAC;AACrD;AAEA;;;;;CAKC,GACDG,YAAYI,SAAS,CAACC,eAAe,GACnC,SAASC,oBAAoBC,SAAS,EAAEC,QAAQ;IAC9C,IAAI,CAACP,MAAM,CAACQ,OAAO,CAACF,WAAWC;AACjC;AAEF;;;;CAIC,GACDR,YAAYI,SAAS,CAACM,GAAG,GAAG,SAASC,gBAAgBC,QAAQ;IAC3D,IAAItB,uBAAuB,IAAI,CAACa,KAAK,EAAES,WAAW;QAChD,IAAI,CAACT,KAAK,GAAGS;QACb,IAAI,CAACX,MAAM,CAACY,IAAI,CAACD;IACnB,OAAO;QACL,IAAI,CAACV,OAAO,GAAG;QACf,IAAI,CAACD,MAAM,CAACY,IAAI,CAACD;IACnB;AACF;AAEA;;;;;;;;CAQC,GACDZ,YAAYI,SAAS,CAACU,OAAO,GAAG,SAASC;IACvC,IAAI,CAAC,IAAI,CAACb,OAAO,EAAE;QACjB,IAAI,CAACD,MAAM,CAACe,IAAI,CAAC3B,KAAKU,mCAAmC;QACzD,IAAI,CAACG,OAAO,GAAG;IACjB;IACA,OAAO,IAAI,CAACD,MAAM;AACpB;AAEAgB,QAAQjB,WAAW,GAAGA","ignoreList":[0]}}, + {"offset": {"line": 4409, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/quick-sort.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\nfunction SortTemplate(comparator) {\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot, false) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n return doQuickSort;\n}\n\nfunction cloneSort(comparator) {\n let template = SortTemplate.toString();\n let templateFn = new Function(`return ${template}`)();\n return templateFn(comparator);\n}\n\nlet isEvalAllowed = (function () {\n try {\n new Function('return 0')();\n return true;\n } catch {\n return false;\n }\n})();\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\n\nlet sortCache = new WeakMap();\nexports.quickSort = function (ary, comparator, start = 0) {\n let doQuickSort = isEvalAllowed ? sortCache.get(comparator) : SortTemplate(comparator);\n if (doQuickSort === void 0) {\n doQuickSort = cloneSort(comparator);\n sortCache.set(comparator, doQuickSort);\n }\n doQuickSort(ary, comparator, start, ary.length - 1);\n};\n"],"names":["SortTemplate","comparator","swap","ary","x","y","temp","randomIntInRange","low","high","Math","round","random","doQuickSort","p","r","pivotIndex","i","pivot","j","q","cloneSort","template","toString","templateFn","Function","isEvalAllowed","sortCache","WeakMap","exports","quickSort","start","get","set","length"],"mappings":"AAAA,yCAAyC,GACzC;;;;CAIC,GAED,oEAAoE;AACpE,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,iDAAiD;AAEjD,SAASA,aAAaC,UAAU;IAEhC;;;;;;;;;CASC,GACD,SAASC,KAAKC,GAAG,EAAEC,CAAC,EAAEC,CAAC;QACrB,IAAIC,OAAOH,GAAG,CAACC,EAAE;QACjBD,GAAG,CAACC,EAAE,GAAGD,GAAG,CAACE,EAAE;QACfF,GAAG,CAACE,EAAE,GAAGC;IACX;IAEA;;;;;;;CAOC,GACD,SAASC,iBAAiBC,GAAG,EAAEC,IAAI;QACjC,OAAOC,KAAKC,KAAK,CAACH,MAAOE,KAAKE,MAAM,KAAK,CAACH,OAAOD,GAAG;IACtD;IAEA;;;;;;;;;;;CAWC,GACD,SAASK,YAAYV,GAAG,EAAEF,UAAU,EAAEa,CAAC,EAAEC,CAAC;QACxC,wEAAwE;QACxE,4EAA4E;QAC5E,qCAAqC;QAErC,IAAID,IAAIC,GAAG;YACT,oBAAoB;YACpB,EAAE;YACF,qEAAqE;YACrE,0EAA0E;YAC1E,yEAAyE;YACzE,0EAA0E;YAC1E,qEAAqE;YACrE,iCAAiC;YAEjC,uEAAuE;YACvE,6CAA6C;YAC7C,IAAIC,aAAaT,iBAAiBO,GAAGC;YACrC,IAAIE,IAAIH,IAAI;YAEZZ,KAAKC,KAAKa,YAAYD;YACtB,IAAIG,QAAQf,GAAG,CAACY,EAAE;YAElB,wEAAwE;YACxE,QAAQ;YACR,EAAE;YACF,yEAAyE;YACzE,EAAE;YACF,oEAAoE;YACpE,IAAK,IAAII,IAAIL,GAAGK,IAAIJ,GAAGI,IAAK;gBAC1B,IAAIlB,WAAWE,GAAG,CAACgB,EAAE,EAAED,OAAO,UAAU,GAAG;oBACzCD,KAAK;oBACLf,KAAKC,KAAKc,GAAGE;gBACf;YACF;YAEAjB,KAAKC,KAAKc,IAAI,GAAGE;YACjB,IAAIC,IAAIH,IAAI;YAEZ,4BAA4B;YAE5BJ,YAAYV,KAAKF,YAAYa,GAAGM,IAAI;YACpCP,YAAYV,KAAKF,YAAYmB,IAAI,GAAGL;QACtC;IACF;IAEE,OAAOF;AACT;AAEA,SAASQ,UAAUpB,UAAU;IAC3B,IAAIqB,WAAWtB,aAAauB,QAAQ;IACpC,IAAIC,aAAa,IAAIC,SAAS,CAAC,OAAO,EAAEH,UAAU;IAClD,OAAOE,WAAWvB;AACpB;AAEA,IAAIyB,gBAAgB,AAAC;IACnB,IAAI;QACF,IAAID,SAAS;QACb,OAAO;IACT,EAAE,OAAM;QACN,OAAO;IACT;AACF;AAEA;;;;;;;CAOC,GAED,IAAIE,YAAY,IAAIC;AACpBC,QAAQC,SAAS,GAAG,SAAU3B,GAAG,EAAEF,UAAU,EAAE8B,QAAQ,CAAC;IACtD,IAAIlB,cAAca,gBAAgBC,UAAUK,GAAG,CAAC/B,cAAcD,aAAaC;IAC3E,IAAIY,gBAAgB,KAAK,GAAG;QAC1BA,cAAcQ,UAAUpB;QACxB0B,UAAUM,GAAG,CAAChC,YAAYY;IAC5B;IACAA,YAAYV,KAAKF,YAAY8B,OAAO5B,IAAI+B,MAAM,GAAG;AACnD","ignoreList":[0]}}, + {"offset": {"line": 4530, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/source-map-consumer.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\n// Upper bound for a section's `offset.line` in an indexed source map. A flat\n// map spends one ';' per generated line, so a tiny indexed map with a huge\n// offset.line turns into a huge amount of work and memory once its mappings\n// are copied into a SourceMapGenerator (CVE-2026-93749). Ten million lines is\n// far beyond any real generated file. Columns are VLQ-encoded as deltas and\n// don't amplify, so they only need to be valid integers.\nvar MAX_SECTION_OFFSET_LINE = 1e7;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n var boundCallback = aCallback.bind(context);\n var names = this._names;\n var sources = this._sources;\n var sourceMapURL = this._sourceMapURL;\n\n for (var i = 0, n = mappings.length; i < n; i++) {\n var mapping = mappings[i];\n var source = mapping.source === null ? null : sources.at(mapping.source);\n if(source !== null) {\n source = util.computeSourceURL(sourceRoot, source, sourceMapURL);\n }\n boundCallback({\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : names.at(mapping.name)\n });\n }\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\n\nconst compareGenerated = util.compareByGeneratedPositionsDeflatedNoLine;\nfunction sortGenerated(array, start) {\n let l = array.length;\n let n = array.length - start;\n if (n <= 1) {\n return;\n } else if (n == 2) {\n let a = array[start];\n let b = array[start + 1];\n if (compareGenerated(a, b) > 0) {\n array[start] = b;\n array[start + 1] = a;\n }\n } else if (n < 20) {\n for (let i = start; i < l; i++) {\n for (let j = i; j > start; j--) {\n let a = array[j - 1];\n let b = array[j];\n if (compareGenerated(a, b) <= 0) {\n break;\n }\n array[j - 1] = b;\n array[j] = a;\n }\n }\n } else {\n quickSort(array, compareGenerated, start);\n }\n}\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n let subarrayStart = 0;\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n\n sortGenerated(generatedMappings, subarrayStart);\n subarrayStart = generatedMappings.length;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n let currentSource = mapping.source;\n while (originalMappings.length <= currentSource) {\n originalMappings.push(null);\n }\n if (originalMappings[currentSource] === null) {\n originalMappings[currentSource] = [];\n }\n originalMappings[currentSource].push(mapping);\n }\n }\n }\n\n sortGenerated(generatedMappings, subarrayStart);\n this.__generatedMappings = generatedMappings;\n\n for (var i = 0; i < originalMappings.length; i++) {\n if (originalMappings[i] != null) {\n quickSort(originalMappings[i], util.compareByOriginalPositionsNoSource);\n }\n }\n this.__originalMappings = [].concat(...originalMappings);\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n var maxOffsetLine = 0;\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (!isValidOffset(offsetLine) || !isValidOffset(offsetColumn)) {\n throw new Error('Section offset line and column must be non-negative integers.');\n }\n if (offsetLine > MAX_SECTION_OFFSET_LINE) {\n throw new Error('Section offset line must not exceed ' + MAX_SECTION_OFFSET_LINE + '.');\n }\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n var consumer = new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL);\n\n // Offsets of a nested indexed map add up with this one, so apply the\n // bound to the total.\n var totalOffsetLine = offsetLine + (consumer._maxOffsetLine || 0);\n if (totalOffsetLine > MAX_SECTION_OFFSET_LINE) {\n throw new Error('Section offset line must not exceed ' + MAX_SECTION_OFFSET_LINE +\n ', including offsets of nested sections.');\n }\n if (totalOffsetLine > maxOffsetLine) {\n maxOffsetLine = totalOffsetLine;\n }\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: consumer\n }\n });\n\n // The largest offset.line of any section, including nested sections.\n this._maxOffsetLine = maxOffsetLine;\n}\n\n/**\n * Section offsets come from untrusted input and are used as line/column\n * numbers, so only accept non-negative safe integers (rejects NaN, Infinity,\n * strings, fractions, etc).\n */\nfunction isValidOffset(aValue) {\n return typeof aValue === 'number' &&\n aValue >= 0 &&\n aValue <= 9007199254740991 && // Number.MAX_SAFE_INTEGER\n Math.floor(aValue) === aValue;\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n // Read the getter once per section: for a nested indexed map it is\n // itself this getter, and re-reading it per item is exponential in the\n // nesting depth (CVE-2026-93749).\n var sectionSources = this._sections[i].consumer.sources;\n for (var j = 0; j < sectionSources.length; j++) {\n sources.push(sectionSources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content || content === '') {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n if(source !== null) {\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n }\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n"],"names":["util","binarySearch","ArraySet","base64VLQ","quickSort","MAX_SECTION_OFFSET_LINE","SourceMapConsumer","aSourceMap","aSourceMapURL","sourceMap","parseSourceMapInput","sections","IndexedSourceMapConsumer","BasicSourceMapConsumer","fromSourceMap","prototype","_version","__generatedMappings","Object","defineProperty","configurable","enumerable","get","_parseMappings","_mappings","sourceRoot","__originalMappings","_charIsMappingSeparator","SourceMapConsumer_charIsMappingSeparator","aStr","index","c","charAt","SourceMapConsumer_parseMappings","aSourceRoot","Error","GENERATED_ORDER","ORIGINAL_ORDER","GREATEST_LOWER_BOUND","LEAST_UPPER_BOUND","eachMapping","SourceMapConsumer_eachMapping","aCallback","aContext","aOrder","context","order","mappings","_generatedMappings","_originalMappings","boundCallback","bind","names","_names","sources","_sources","sourceMapURL","_sourceMapURL","i","n","length","mapping","source","at","computeSourceURL","generatedLine","generatedColumn","originalLine","originalColumn","name","allGeneratedPositionsFor","SourceMapConsumer_allGeneratedPositionsFor","aArgs","line","getArg","needle","_findSourceIndex","_findMapping","compareByOriginalPositions","column","undefined","push","lastColumn","exports","version","sourcesContent","file","normalize","map","String","isAbsolute","relative","fromArray","_absoluteSources","toArray","s","create","consumer","aSource","relativeSource","has","indexOf","SourceMapConsumer_fromSourceMap","smc","_sourceRoot","_generateSourcesContent","_file","generatedMappings","slice","destGeneratedMappings","destOriginalMappings","srcMapping","destMapping","Mapping","compareGenerated","compareByGeneratedPositionsDeflatedNoLine","sortGenerated","array","start","l","a","b","j","previousGeneratedColumn","previousOriginalLine","previousOriginalColumn","previousSource","previousName","cachedSegments","temp","originalMappings","str","segment","end","value","subarrayStart","decode","rest","currentSource","compareByOriginalPositionsNoSource","concat","SourceMapConsumer_findMapping","aNeedle","aMappings","aLineName","aColumnName","aComparator","aBias","TypeError","search","computeColumnSpans","SourceMapConsumer_computeColumnSpans","nextMapping","lastGeneratedColumn","Infinity","originalPositionFor","SourceMapConsumer_originalPositionFor","compareByGeneratedPositionsDeflated","hasContentsOfAllSources","BasicSourceMapConsumer_hasContentsOfAllSources","size","some","sc","sourceContentFor","SourceMapConsumer_sourceContentFor","nullOnMissing","url","urlParse","fileUriAbsPath","replace","scheme","path","generatedPositionFor","SourceMapConsumer_generatedPositionFor","lastOffset","maxOffsetLine","_sections","offset","offsetLine","offsetColumn","isValidOffset","totalOffsetLine","_maxOffsetLine","generatedOffset","aValue","Math","floor","sectionSources","IndexedSourceMapConsumer_originalPositionFor","sectionIndex","section","cmp","bias","IndexedSourceMapConsumer_hasContentsOfAllSources","every","IndexedSourceMapConsumer_sourceContentFor","content","IndexedSourceMapConsumer_generatedPositionFor","generatedPosition","ret","IndexedSourceMapConsumer_parseMappings","sectionMappings","add","adjustedMapping"],"mappings":"AAAA,yCAAyC,GACzC;;;;CAIC,GAED,IAAIA;AACJ,IAAIC;AACJ,IAAIC,WAAW,wGAAuBA,QAAQ;AAC9C,IAAIC;AACJ,IAAIC,YAAY,yGAAwBA,SAAS;AAEjD,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,yDAAyD;AACzD,IAAIC,0BAA0B;AAE9B,SAASC,kBAAkBC,UAAU,EAAEC,aAAa;IAClD,IAAIC,YAAYF;IAChB,IAAI,OAAOA,eAAe,UAAU;QAClCE,YAAYT,KAAKU,mBAAmB,CAACH;IACvC;IAEA,OAAOE,UAAUE,QAAQ,IAAI,OACzB,IAAIC,yBAAyBH,WAAWD,iBACxC,IAAIK,uBAAuBJ,WAAWD;AAC5C;AAEAF,kBAAkBQ,aAAa,GAAG,SAASP,UAAU,EAAEC,aAAa;IAClE,OAAOK,uBAAuBC,aAAa,CAACP,YAAYC;AAC1D;AAEA;;CAEC,GACDF,kBAAkBS,SAAS,CAACC,QAAQ,GAAG;AAEvC,0EAA0E;AAC1E,8EAA8E;AAC9E,qEAAqE;AACrE,2EAA2E;AAC3E,8EAA8E;AAC9E,2EAA2E;AAC3E,0DAA0D;AAC1D,EAAE;AACF,4CAA4C;AAC5C,EAAE;AACF,QAAQ;AACR,8DAA8D;AAC9D,kEAAkE;AAClE,yEAAyE;AACzE,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,sEAAsE;AACtE,qEAAqE;AACrE,4EAA4E;AAC5E,oBAAoB;AACpB,QAAQ;AACR,EAAE;AACF,yEAAyE;AACzE,UAAU;AACV,EAAE;AACF,8DAA8D;AAC9D,EAAE;AACF,4DAA4D;AAE5DV,kBAAkBS,SAAS,CAACE,mBAAmB,GAAG;AAClDC,OAAOC,cAAc,CAACb,kBAAkBS,SAAS,EAAE,sBAAsB;IACvEK,cAAc;IACdC,YAAY;IACZC,KAAK;QACH,IAAI,CAAC,IAAI,CAACL,mBAAmB,EAAE;YAC7B,IAAI,CAACM,cAAc,CAAC,IAAI,CAACC,SAAS,EAAE,IAAI,CAACC,UAAU;QACrD;QAEA,OAAO,IAAI,CAACR,mBAAmB;IACjC;AACF;AAEAX,kBAAkBS,SAAS,CAACW,kBAAkB,GAAG;AACjDR,OAAOC,cAAc,CAACb,kBAAkBS,SAAS,EAAE,qBAAqB;IACtEK,cAAc;IACdC,YAAY;IACZC,KAAK;QACH,IAAI,CAAC,IAAI,CAACI,kBAAkB,EAAE;YAC5B,IAAI,CAACH,cAAc,CAAC,IAAI,CAACC,SAAS,EAAE,IAAI,CAACC,UAAU;QACrD;QAEA,OAAO,IAAI,CAACC,kBAAkB;IAChC;AACF;AAEApB,kBAAkBS,SAAS,CAACY,uBAAuB,GACjD,SAASC,yCAAyCC,IAAI,EAAEC,KAAK;IAC3D,IAAIC,IAAIF,KAAKG,MAAM,CAACF;IACpB,OAAOC,MAAM,OAAOA,MAAM;AAC5B;AAEF;;;;CAIC,GACDzB,kBAAkBS,SAAS,CAACQ,cAAc,GACxC,SAASU,gCAAgCJ,IAAI,EAAEK,WAAW;IACxD,MAAM,IAAIC,MAAM;AAClB;AAEF7B,kBAAkB8B,eAAe,GAAG;AACpC9B,kBAAkB+B,cAAc,GAAG;AAEnC/B,kBAAkBgC,oBAAoB,GAAG;AACzChC,kBAAkBiC,iBAAiB,GAAG;AAEtC;;;;;;;;;;;;;;;CAeC,GACDjC,kBAAkBS,SAAS,CAACyB,WAAW,GACrC,SAASC,8BAA8BC,SAAS,EAAEC,QAAQ,EAAEC,MAAM;IAChE,IAAIC,UAAUF,YAAY;IAC1B,IAAIG,QAAQF,UAAUtC,kBAAkB8B,eAAe;IAEvD,IAAIW;IACJ,OAAQD;QACR,KAAKxC,kBAAkB8B,eAAe;YACpCW,WAAW,IAAI,CAACC,kBAAkB;YAClC;QACF,KAAK1C,kBAAkB+B,cAAc;YACnCU,WAAW,IAAI,CAACE,iBAAiB;YACjC;QACF;YACE,MAAM,IAAId,MAAM;IAClB;IAEA,IAAIV,aAAa,IAAI,CAACA,UAAU;IAChC,IAAIyB,gBAAgBR,UAAUS,IAAI,CAACN;IACnC,IAAIO,QAAQ,IAAI,CAACC,MAAM;IACvB,IAAIC,UAAU,IAAI,CAACC,QAAQ;IAC3B,IAAIC,eAAe,IAAI,CAACC,aAAa;IAErC,IAAK,IAAIC,IAAI,GAAGC,IAAIZ,SAASa,MAAM,EAAEF,IAAIC,GAAGD,IAAK;QAC/C,IAAIG,UAAUd,QAAQ,CAACW,EAAE;QACzB,IAAII,SAASD,QAAQC,MAAM,KAAK,OAAO,OAAOR,QAAQS,EAAE,CAACF,QAAQC,MAAM;QACvE,IAAGA,WAAW,MAAM;YAClBA,SAAS9D,KAAKgE,gBAAgB,CAACvC,YAAYqC,QAAQN;QACrD;QACAN,cAAc;YACZY,QAAQA;YACRG,eAAeJ,QAAQI,aAAa;YACpCC,iBAAiBL,QAAQK,eAAe;YACxCC,cAAcN,QAAQM,YAAY;YAClCC,gBAAgBP,QAAQO,cAAc;YACtCC,MAAMR,QAAQQ,IAAI,KAAK,OAAO,OAAOjB,MAAMW,EAAE,CAACF,QAAQQ,IAAI;QAC5D;IACF;AACF;AAEF;;;;;;;;;;;;;;;;;;;;;CAqBC,GACD/D,kBAAkBS,SAAS,CAACuD,wBAAwB,GAClD,SAASC,2CAA2CC,KAAK;IACvD,IAAIC,OAAOzE,KAAK0E,MAAM,CAACF,OAAO;IAE9B,8EAA8E;IAC9E,oEAAoE;IACpE,wEAAwE;IACxE,kDAAkD;IAClD,IAAIG,SAAS;QACXb,QAAQ9D,KAAK0E,MAAM,CAACF,OAAO;QAC3BL,cAAcM;QACdL,gBAAgBpE,KAAK0E,MAAM,CAACF,OAAO,UAAU;IAC/C;IAEAG,OAAOb,MAAM,GAAG,IAAI,CAACc,gBAAgB,CAACD,OAAOb,MAAM;IACnD,IAAIa,OAAOb,MAAM,GAAG,GAAG;QACrB,OAAO,EAAE;IACX;IAEA,IAAIf,WAAW,EAAE;IAEjB,IAAIjB,QAAQ,IAAI,CAAC+C,YAAY,CAACF,QACA,IAAI,CAAC1B,iBAAiB,EACtB,gBACA,kBACAjD,KAAK8E,0BAA0B,EAC/B7E,aAAasC,iBAAiB;IAC5D,IAAIT,SAAS,GAAG;QACd,IAAI+B,UAAU,IAAI,CAACZ,iBAAiB,CAACnB,MAAM;QAE3C,IAAI0C,MAAMO,MAAM,KAAKC,WAAW;YAC9B,IAAIb,eAAeN,QAAQM,YAAY;YAEvC,8DAA8D;YAC9D,8DAA8D;YAC9D,mEAAmE;YACnE,qBAAqB;YACrB,MAAON,WAAWA,QAAQM,YAAY,KAAKA,aAAc;gBACvDpB,SAASkC,IAAI,CAAC;oBACZR,MAAMzE,KAAK0E,MAAM,CAACb,SAAS,iBAAiB;oBAC5CkB,QAAQ/E,KAAK0E,MAAM,CAACb,SAAS,mBAAmB;oBAChDqB,YAAYlF,KAAK0E,MAAM,CAACb,SAAS,uBAAuB;gBAC1D;gBAEAA,UAAU,IAAI,CAACZ,iBAAiB,CAAC,EAAEnB,MAAM;YAC3C;QACF,OAAO;YACL,IAAIsC,iBAAiBP,QAAQO,cAAc;YAE3C,8DAA8D;YAC9D,qEAAqE;YACrE,yEAAyE;YACzE,iCAAiC;YACjC,MAAOP,WACAA,QAAQM,YAAY,KAAKM,QACzBZ,QAAQO,cAAc,IAAIA,eAAgB;gBAC/CrB,SAASkC,IAAI,CAAC;oBACZR,MAAMzE,KAAK0E,MAAM,CAACb,SAAS,iBAAiB;oBAC5CkB,QAAQ/E,KAAK0E,MAAM,CAACb,SAAS,mBAAmB;oBAChDqB,YAAYlF,KAAK0E,MAAM,CAACb,SAAS,uBAAuB;gBAC1D;gBAEAA,UAAU,IAAI,CAACZ,iBAAiB,CAAC,EAAEnB,MAAM;YAC3C;QACF;IACF;IAEA,OAAOiB;AACT;AAEFoC,QAAQ7E,iBAAiB,GAAGA;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCC,GACD,SAASO,uBAAuBN,UAAU,EAAEC,aAAa;IACvD,IAAIC,YAAYF;IAChB,IAAI,OAAOA,eAAe,UAAU;QAClCE,YAAYT,KAAKU,mBAAmB,CAACH;IACvC;IAEA,IAAI6E,UAAUpF,KAAK0E,MAAM,CAACjE,WAAW;IACrC,IAAI6C,UAAUtD,KAAK0E,MAAM,CAACjE,WAAW;IACrC,4EAA4E;IAC5E,yCAAyC;IACzC,IAAI2C,QAAQpD,KAAK0E,MAAM,CAACjE,WAAW,SAAS,EAAE;IAC9C,IAAIgB,aAAazB,KAAK0E,MAAM,CAACjE,WAAW,cAAc;IACtD,IAAI4E,iBAAiBrF,KAAK0E,MAAM,CAACjE,WAAW,kBAAkB;IAC9D,IAAIsC,WAAW/C,KAAK0E,MAAM,CAACjE,WAAW;IACtC,IAAI6E,OAAOtF,KAAK0E,MAAM,CAACjE,WAAW,QAAQ;IAE1C,wEAAwE;IACxE,uEAAuE;IACvE,IAAI2E,WAAW,IAAI,CAACpE,QAAQ,EAAE;QAC5B,MAAM,IAAImB,MAAM,0BAA0BiD;IAC5C;IAEA,IAAI3D,YAAY;QACdA,aAAazB,KAAKuF,SAAS,CAAC9D;IAC9B;IAEA6B,UAAUA,QACPkC,GAAG,CAACC,OACL,4EAA4E;IAC5E,4EAA4E;IAC5E,yBAAyB;KACxBD,GAAG,CAACxF,KAAKuF,SAAS,CACnB,wEAAwE;IACxE,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;KACzEC,GAAG,CAAC,SAAU1B,MAAM;QACnB,OAAOrC,cAAczB,KAAK0F,UAAU,CAACjE,eAAezB,KAAK0F,UAAU,CAAC5B,UAChE9D,KAAK2F,QAAQ,CAAClE,YAAYqC,UAC1BA;IACN;IAEF,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,4BAA4B;IAC5B,IAAI,CAACT,MAAM,GAAGnD,SAAS0F,SAAS,CAACxC,MAAMoC,GAAG,CAACC,SAAS;IACpD,IAAI,CAAClC,QAAQ,GAAGrD,SAAS0F,SAAS,CAACtC,SAAS;IAE5C,IAAI,CAACuC,gBAAgB,GAAG,IAAI,CAACtC,QAAQ,CAACuC,OAAO,GAAGN,GAAG,CAAC,SAAUO,CAAC;QAC7D,OAAO/F,KAAKgE,gBAAgB,CAACvC,YAAYsE,GAAGvF;IAC9C;IAEA,IAAI,CAACiB,UAAU,GAAGA;IAClB,IAAI,CAAC4D,cAAc,GAAGA;IACtB,IAAI,CAAC7D,SAAS,GAAGuB;IACjB,IAAI,CAACU,aAAa,GAAGjD;IACrB,IAAI,CAAC8E,IAAI,GAAGA;AACd;AAEAzE,uBAAuBE,SAAS,GAAGG,OAAO8E,MAAM,CAAC1F,kBAAkBS,SAAS;AAC5EF,uBAAuBE,SAAS,CAACkF,QAAQ,GAAG3F;AAE5C;;;CAGC,GACDO,uBAAuBE,SAAS,CAAC6D,gBAAgB,GAAG,SAASsB,OAAO;IAClE,IAAIC,iBAAiBD;IACrB,IAAI,IAAI,CAACzE,UAAU,IAAI,MAAM;QAC3B0E,iBAAiBnG,KAAK2F,QAAQ,CAAC,IAAI,CAAClE,UAAU,EAAE0E;IAClD;IAEA,IAAI,IAAI,CAAC5C,QAAQ,CAAC6C,GAAG,CAACD,iBAAiB;QACrC,OAAO,IAAI,CAAC5C,QAAQ,CAAC8C,OAAO,CAACF;IAC/B;IAEA,iEAAiE;IACjE,gDAAgD;IAChD,IAAIzC;IACJ,IAAKA,IAAI,GAAGA,IAAI,IAAI,CAACmC,gBAAgB,CAACjC,MAAM,EAAE,EAAEF,EAAG;QACjD,IAAI,IAAI,CAACmC,gBAAgB,CAACnC,EAAE,IAAIwC,SAAS;YACvC,OAAOxC;QACT;IACF;IAEA,OAAO,CAAC;AACV;AAEA;;;;;;;;CAQC,GACD7C,uBAAuBC,aAAa,GAClC,SAASwF,gCAAgC/F,UAAU,EAAEC,aAAa;IAChE,IAAI+F,MAAMrF,OAAO8E,MAAM,CAACnF,uBAAuBE,SAAS;IAExD,IAAIqC,QAAQmD,IAAIlD,MAAM,GAAGnD,SAAS0F,SAAS,CAACrF,WAAW8C,MAAM,CAACyC,OAAO,IAAI;IACzE,IAAIxC,UAAUiD,IAAIhD,QAAQ,GAAGrD,SAAS0F,SAAS,CAACrF,WAAWgD,QAAQ,CAACuC,OAAO,IAAI;IAC/ES,IAAI9E,UAAU,GAAGlB,WAAWiG,WAAW;IACvCD,IAAIlB,cAAc,GAAG9E,WAAWkG,uBAAuB,CAACF,IAAIhD,QAAQ,CAACuC,OAAO,IACpBS,IAAI9E,UAAU;IACtE8E,IAAIjB,IAAI,GAAG/E,WAAWmG,KAAK;IAC3BH,IAAI9C,aAAa,GAAGjD;IACpB+F,IAAIV,gBAAgB,GAAGU,IAAIhD,QAAQ,CAACuC,OAAO,GAAGN,GAAG,CAAC,SAAUO,CAAC;QAC3D,OAAO/F,KAAKgE,gBAAgB,CAACuC,IAAI9E,UAAU,EAAEsE,GAAGvF;IAClD;IAEA,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,wCAAwC;IAExC,IAAImG,oBAAoBpG,WAAWiB,SAAS,CAACsE,OAAO,GAAGc,KAAK;IAC5D,IAAIC,wBAAwBN,IAAItF,mBAAmB,GAAG,EAAE;IACxD,IAAI6F,uBAAuBP,IAAI7E,kBAAkB,GAAG,EAAE;IAEtD,IAAK,IAAIgC,IAAI,GAAGE,SAAS+C,kBAAkB/C,MAAM,EAAEF,IAAIE,QAAQF,IAAK;QAClE,IAAIqD,aAAaJ,iBAAiB,CAACjD,EAAE;QACrC,IAAIsD,cAAc,IAAIC;QACtBD,YAAY/C,aAAa,GAAG8C,WAAW9C,aAAa;QACpD+C,YAAY9C,eAAe,GAAG6C,WAAW7C,eAAe;QAExD,IAAI6C,WAAWjD,MAAM,EAAE;YACrBkD,YAAYlD,MAAM,GAAGR,QAAQ+C,OAAO,CAACU,WAAWjD,MAAM;YACtDkD,YAAY7C,YAAY,GAAG4C,WAAW5C,YAAY;YAClD6C,YAAY5C,cAAc,GAAG2C,WAAW3C,cAAc;YAEtD,IAAI2C,WAAW1C,IAAI,EAAE;gBACnB2C,YAAY3C,IAAI,GAAGjB,MAAMiD,OAAO,CAACU,WAAW1C,IAAI;YAClD;YAEAyC,qBAAqB7B,IAAI,CAAC+B;QAC5B;QAEAH,sBAAsB5B,IAAI,CAAC+B;IAC7B;IAEA5G,UAAUmG,IAAI7E,kBAAkB,EAAE1B,KAAK8E,0BAA0B;IAEjE,OAAOyB;AACT;AAEF;;CAEC,GACD1F,uBAAuBE,SAAS,CAACC,QAAQ,GAAG;AAE5C;;CAEC,GACDE,OAAOC,cAAc,CAACN,uBAAuBE,SAAS,EAAE,WAAW;IACjEO,KAAK;QACH,OAAO,IAAI,CAACuE,gBAAgB,CAACe,KAAK;IACpC;AACF;AAEA;;CAEC,GACD,SAASK;IACP,IAAI,CAAChD,aAAa,GAAG;IACrB,IAAI,CAACC,eAAe,GAAG;IACvB,IAAI,CAACJ,MAAM,GAAG;IACd,IAAI,CAACK,YAAY,GAAG;IACpB,IAAI,CAACC,cAAc,GAAG;IACtB,IAAI,CAACC,IAAI,GAAG;AACd;AAEA;;;;CAIC,GAED,MAAM6C,mBAAmBlH,KAAKmH,yCAAyC;AACvE,SAASC,cAAcC,KAAK,EAAEC,KAAK;IACjC,IAAIC,IAAIF,MAAMzD,MAAM;IACpB,IAAID,IAAI0D,MAAMzD,MAAM,GAAG0D;IACvB,IAAI3D,KAAK,GAAG;QACV;IACF,OAAO,IAAIA,KAAK,GAAG;QACjB,IAAI6D,IAAIH,KAAK,CAACC,MAAM;QACpB,IAAIG,IAAIJ,KAAK,CAACC,QAAQ,EAAE;QACxB,IAAIJ,iBAAiBM,GAAGC,KAAK,GAAG;YAC9BJ,KAAK,CAACC,MAAM,GAAGG;YACfJ,KAAK,CAACC,QAAQ,EAAE,GAAGE;QACrB;IACF,OAAO,IAAI7D,IAAI,IAAI;QACjB,IAAK,IAAID,IAAI4D,OAAO5D,IAAI6D,GAAG7D,IAAK;YAC9B,IAAK,IAAIgE,IAAIhE,GAAGgE,IAAIJ,OAAOI,IAAK;gBAC9B,IAAIF,IAAIH,KAAK,CAACK,IAAI,EAAE;gBACpB,IAAID,IAAIJ,KAAK,CAACK,EAAE;gBAChB,IAAIR,iBAAiBM,GAAGC,MAAM,GAAG;oBAC/B;gBACF;gBACAJ,KAAK,CAACK,IAAI,EAAE,GAAGD;gBACfJ,KAAK,CAACK,EAAE,GAAGF;YACb;QACF;IACF,OAAO;QACLpH,UAAUiH,OAAOH,kBAAkBI;IACrC;AACF;AACAzG,uBAAuBE,SAAS,CAACQ,cAAc,GAC7C,SAASU,gCAAgCJ,IAAI,EAAEK,WAAW;IACxD,IAAI+B,gBAAgB;IACpB,IAAI0D,0BAA0B;IAC9B,IAAIC,uBAAuB;IAC3B,IAAIC,yBAAyB;IAC7B,IAAIC,iBAAiB;IACrB,IAAIC,eAAe;IACnB,IAAInE,SAAS/B,KAAK+B,MAAM;IACxB,IAAI9B,QAAQ;IACZ,IAAIkG,iBAAiB,CAAC;IACtB,IAAIC,OAAO,CAAC;IACZ,IAAIC,mBAAmB,EAAE;IACzB,IAAIvB,oBAAoB,EAAE;IAC1B,IAAI9C,SAASsE,KAAKC,SAASC,KAAKC;IAEhC,IAAIC,gBAAgB;IACpB,MAAOzG,QAAQ8B,OAAQ;QACrB,IAAI/B,KAAKG,MAAM,CAACF,WAAW,KAAK;YAC9BmC;YACAnC;YACA6F,0BAA0B;YAE1BP,cAAcT,mBAAmB4B;YACjCA,gBAAgB5B,kBAAkB/C,MAAM;QAC1C,OACK,IAAI/B,KAAKG,MAAM,CAACF,WAAW,KAAK;YACnCA;QACF,OACK;YACH+B,UAAU,IAAIoD;YACdpD,QAAQI,aAAa,GAAGA;YAExB,IAAKoE,MAAMvG,OAAOuG,MAAMzE,QAAQyE,MAAO;gBACrC,IAAI,IAAI,CAAC1G,uBAAuB,CAACE,MAAMwG,MAAM;oBAC3C;gBACF;YACF;YACAF,MAAMtG,KAAK+E,KAAK,CAAC9E,OAAOuG;YAExBD,UAAU,EAAE;YACZ,MAAOtG,QAAQuG,IAAK;gBAClBlI,UAAUqI,MAAM,CAAC3G,MAAMC,OAAOmG;gBAC9BK,QAAQL,KAAKK,KAAK;gBAClBxG,QAAQmG,KAAKQ,IAAI;gBACjBL,QAAQnD,IAAI,CAACqD;YACf;YAEA,IAAIF,QAAQxE,MAAM,KAAK,GAAG;gBACxB,MAAM,IAAIzB,MAAM;YAClB;YAEA,IAAIiG,QAAQxE,MAAM,KAAK,GAAG;gBACxB,MAAM,IAAIzB,MAAM;YAClB;YAEA,oBAAoB;YACpB0B,QAAQK,eAAe,GAAGyD,0BAA0BS,OAAO,CAAC,EAAE;YAC9DT,0BAA0B9D,QAAQK,eAAe;YAEjD,IAAIkE,QAAQxE,MAAM,GAAG,GAAG;gBACtB,mBAAmB;gBACnBC,QAAQC,MAAM,GAAGgE,iBAAiBM,OAAO,CAAC,EAAE;gBAC5CN,kBAAkBM,OAAO,CAAC,EAAE;gBAE5B,iBAAiB;gBACjBvE,QAAQM,YAAY,GAAGyD,uBAAuBQ,OAAO,CAAC,EAAE;gBACxDR,uBAAuB/D,QAAQM,YAAY;gBAC3C,2BAA2B;gBAC3BN,QAAQM,YAAY,IAAI;gBAExB,mBAAmB;gBACnBN,QAAQO,cAAc,GAAGyD,yBAAyBO,OAAO,CAAC,EAAE;gBAC5DP,yBAAyBhE,QAAQO,cAAc;gBAE/C,IAAIgE,QAAQxE,MAAM,GAAG,GAAG;oBACtB,iBAAiB;oBACjBC,QAAQQ,IAAI,GAAG0D,eAAeK,OAAO,CAAC,EAAE;oBACxCL,gBAAgBK,OAAO,CAAC,EAAE;gBAC5B;YACF;YAEAzB,kBAAkB1B,IAAI,CAACpB;YACvB,IAAI,OAAOA,QAAQM,YAAY,KAAK,UAAU;gBAC5C,IAAIuE,gBAAgB7E,QAAQC,MAAM;gBAClC,MAAOoE,iBAAiBtE,MAAM,IAAI8E,cAAe;oBAC/CR,iBAAiBjD,IAAI,CAAC;gBACxB;gBACA,IAAIiD,gBAAgB,CAACQ,cAAc,KAAK,MAAM;oBAC5CR,gBAAgB,CAACQ,cAAc,GAAG,EAAE;gBACtC;gBACAR,gBAAgB,CAACQ,cAAc,CAACzD,IAAI,CAACpB;YACvC;QACF;IACF;IAEAuD,cAAcT,mBAAmB4B;IACjC,IAAI,CAACtH,mBAAmB,GAAG0F;IAE3B,IAAK,IAAIjD,IAAI,GAAGA,IAAIwE,iBAAiBtE,MAAM,EAAEF,IAAK;QAChD,IAAIwE,gBAAgB,CAACxE,EAAE,IAAI,MAAM;YAC/BtD,UAAU8H,gBAAgB,CAACxE,EAAE,EAAE1D,KAAK2I,kCAAkC;QACxE;IACF;IACA,IAAI,CAACjH,kBAAkB,GAAG,EAAE,CAACkH,MAAM,IAAIV;AACzC;AAEF;;;CAGC,GACDrH,uBAAuBE,SAAS,CAAC8D,YAAY,GAC3C,SAASgE,8BAA8BC,OAAO,EAAEC,SAAS,EAAEC,SAAS,EAC7BC,WAAW,EAAEC,WAAW,EAAEC,KAAK;IACpE,sEAAsE;IACtE,0EAA0E;IAC1E,0EAA0E;IAC1E,yBAAyB;IAEzB,IAAIL,OAAO,CAACE,UAAU,IAAI,GAAG;QAC3B,MAAM,IAAII,UAAU,kDACEN,OAAO,CAACE,UAAU;IAC1C;IACA,IAAIF,OAAO,CAACG,YAAY,GAAG,GAAG;QAC5B,MAAM,IAAIG,UAAU,oDACEN,OAAO,CAACG,YAAY;IAC5C;IAEA,OAAOhJ,aAAaoJ,MAAM,CAACP,SAASC,WAAWG,aAAaC;AAC9D;AAEF;;;CAGC,GACDtI,uBAAuBE,SAAS,CAACuI,kBAAkB,GACjD,SAASC;IACP,IAAK,IAAIzH,QAAQ,GAAGA,QAAQ,IAAI,CAACkB,kBAAkB,CAACY,MAAM,EAAE,EAAE9B,MAAO;QACnE,IAAI+B,UAAU,IAAI,CAACb,kBAAkB,CAAClB,MAAM;QAE5C,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,mDAAmD;QACnD,IAAIA,QAAQ,IAAI,IAAI,CAACkB,kBAAkB,CAACY,MAAM,EAAE;YAC9C,IAAI4F,cAAc,IAAI,CAACxG,kBAAkB,CAAClB,QAAQ,EAAE;YAEpD,IAAI+B,QAAQI,aAAa,KAAKuF,YAAYvF,aAAa,EAAE;gBACvDJ,QAAQ4F,mBAAmB,GAAGD,YAAYtF,eAAe,GAAG;gBAC5D;YACF;QACF;QAEA,wDAAwD;QACxDL,QAAQ4F,mBAAmB,GAAGC;IAChC;AACF;AAEF;;;;;;;;;;;;;;;;;;;;;;;CAuBC,GACD7I,uBAAuBE,SAAS,CAAC4I,mBAAmB,GAClD,SAASC,sCAAsCpF,KAAK;IAClD,IAAIG,SAAS;QACXV,eAAejE,KAAK0E,MAAM,CAACF,OAAO;QAClCN,iBAAiBlE,KAAK0E,MAAM,CAACF,OAAO;IACtC;IAEA,IAAI1C,QAAQ,IAAI,CAAC+C,YAAY,CAC3BF,QACA,IAAI,CAAC3B,kBAAkB,EACvB,iBACA,mBACAhD,KAAK6J,mCAAmC,EACxC7J,KAAK0E,MAAM,CAACF,OAAO,QAAQlE,kBAAkBgC,oBAAoB;IAGnE,IAAIR,SAAS,GAAG;QACd,IAAI+B,UAAU,IAAI,CAACb,kBAAkB,CAAClB,MAAM;QAE5C,IAAI+B,QAAQI,aAAa,KAAKU,OAAOV,aAAa,EAAE;YAClD,IAAIH,SAAS9D,KAAK0E,MAAM,CAACb,SAAS,UAAU;YAC5C,IAAIC,WAAW,MAAM;gBACnBA,SAAS,IAAI,CAACP,QAAQ,CAACQ,EAAE,CAACD;gBAC1BA,SAAS9D,KAAKgE,gBAAgB,CAAC,IAAI,CAACvC,UAAU,EAAEqC,QAAQ,IAAI,CAACL,aAAa;YAC5E;YACA,IAAIY,OAAOrE,KAAK0E,MAAM,CAACb,SAAS,QAAQ;YACxC,IAAIQ,SAAS,MAAM;gBACjBA,OAAO,IAAI,CAAChB,MAAM,CAACU,EAAE,CAACM;YACxB;YACA,OAAO;gBACLP,QAAQA;gBACRW,MAAMzE,KAAK0E,MAAM,CAACb,SAAS,gBAAgB;gBAC3CkB,QAAQ/E,KAAK0E,MAAM,CAACb,SAAS,kBAAkB;gBAC/CQ,MAAMA;YACR;QACF;IACF;IAEA,OAAO;QACLP,QAAQ;QACRW,MAAM;QACNM,QAAQ;QACRV,MAAM;IACR;AACF;AAEF;;;CAGC,GACDxD,uBAAuBE,SAAS,CAAC+I,uBAAuB,GACtD,SAASC;IACP,IAAI,CAAC,IAAI,CAAC1E,cAAc,EAAE;QACxB,OAAO;IACT;IACA,OAAO,IAAI,CAACA,cAAc,CAACzB,MAAM,IAAI,IAAI,CAACL,QAAQ,CAACyG,IAAI,MACrD,CAAC,IAAI,CAAC3E,cAAc,CAAC4E,IAAI,CAAC,SAAUC,EAAE;QAAI,OAAOA,MAAM;IAAM;AACjE;AAEF;;;;CAIC,GACDrJ,uBAAuBE,SAAS,CAACoJ,gBAAgB,GAC/C,SAASC,mCAAmClE,OAAO,EAAEmE,aAAa;IAChE,IAAI,CAAC,IAAI,CAAChF,cAAc,EAAE;QACxB,OAAO;IACT;IAEA,IAAIvD,QAAQ,IAAI,CAAC8C,gBAAgB,CAACsB;IAClC,IAAIpE,SAAS,GAAG;QACd,OAAO,IAAI,CAACuD,cAAc,CAACvD,MAAM;IACnC;IAEA,IAAIqE,iBAAiBD;IACrB,IAAI,IAAI,CAACzE,UAAU,IAAI,MAAM;QAC3B0E,iBAAiBnG,KAAK2F,QAAQ,CAAC,IAAI,CAAClE,UAAU,EAAE0E;IAClD;IAEA,IAAImE;IACJ,IAAI,IAAI,CAAC7I,UAAU,IAAI,QAChB,CAAC6I,MAAMtK,KAAKuK,QAAQ,CAAC,IAAI,CAAC9I,UAAU,CAAC,GAAG;QAC7C,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,uDAAuD;QACvD,IAAI+I,iBAAiBrE,eAAesE,OAAO,CAAC,cAAc;QAC1D,IAAIH,IAAII,MAAM,IAAI,UACX,IAAI,CAACnH,QAAQ,CAAC6C,GAAG,CAACoE,iBAAiB;YACxC,OAAO,IAAI,CAACnF,cAAc,CAAC,IAAI,CAAC9B,QAAQ,CAAC8C,OAAO,CAACmE,gBAAgB;QACnE;QAEA,IAAI,CAAC,CAACF,IAAIK,IAAI,IAAIL,IAAIK,IAAI,IAAI,GAAG,KAC1B,IAAI,CAACpH,QAAQ,CAAC6C,GAAG,CAAC,MAAMD,iBAAiB;YAC9C,OAAO,IAAI,CAACd,cAAc,CAAC,IAAI,CAAC9B,QAAQ,CAAC8C,OAAO,CAAC,MAAMF,gBAAgB;QACzE;IACF;IAEA,yCAAyC;IACzC,wEAAwE;IACxE,oEAAoE;IACpE,wDAAwD;IACxD,IAAIkE,eAAe;QACjB,OAAO;IACT,OACK;QACH,MAAM,IAAIlI,MAAM,MAAMgE,iBAAiB;IACzC;AACF;AAEF;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACDtF,uBAAuBE,SAAS,CAAC6J,oBAAoB,GACnD,SAASC,uCAAuCrG,KAAK;IACnD,IAAIV,SAAS9D,KAAK0E,MAAM,CAACF,OAAO;IAChCV,SAAS,IAAI,CAACc,gBAAgB,CAACd;IAC/B,IAAIA,SAAS,GAAG;QACd,OAAO;YACLW,MAAM;YACNM,QAAQ;YACRG,YAAY;QACd;IACF;IAEA,IAAIP,SAAS;QACXb,QAAQA;QACRK,cAAcnE,KAAK0E,MAAM,CAACF,OAAO;QACjCJ,gBAAgBpE,KAAK0E,MAAM,CAACF,OAAO;IACrC;IAEA,IAAI1C,QAAQ,IAAI,CAAC+C,YAAY,CAC3BF,QACA,IAAI,CAAC1B,iBAAiB,EACtB,gBACA,kBACAjD,KAAK8E,0BAA0B,EAC/B9E,KAAK0E,MAAM,CAACF,OAAO,QAAQlE,kBAAkBgC,oBAAoB;IAGnE,IAAIR,SAAS,GAAG;QACd,IAAI+B,UAAU,IAAI,CAACZ,iBAAiB,CAACnB,MAAM;QAE3C,IAAI+B,QAAQC,MAAM,KAAKa,OAAOb,MAAM,EAAE;YACpC,OAAO;gBACLW,MAAMzE,KAAK0E,MAAM,CAACb,SAAS,iBAAiB;gBAC5CkB,QAAQ/E,KAAK0E,MAAM,CAACb,SAAS,mBAAmB;gBAChDqB,YAAYlF,KAAK0E,MAAM,CAACb,SAAS,uBAAuB;YAC1D;QACF;IACF;IAEA,OAAO;QACLY,MAAM;QACNM,QAAQ;QACRG,YAAY;IACd;AACF;AAEFC,QAAQtE,sBAAsB,GAAGA;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDC,GACD,SAASD,yBAAyBL,UAAU,EAAEC,aAAa;IACzD,IAAIC,YAAYF;IAChB,IAAI,OAAOA,eAAe,UAAU;QAClCE,YAAYT,KAAKU,mBAAmB,CAACH;IACvC;IAEA,IAAI6E,UAAUpF,KAAK0E,MAAM,CAACjE,WAAW;IACrC,IAAIE,WAAWX,KAAK0E,MAAM,CAACjE,WAAW;IAEtC,IAAI2E,WAAW,IAAI,CAACpE,QAAQ,EAAE;QAC5B,MAAM,IAAImB,MAAM,0BAA0BiD;IAC5C;IAEA,IAAI,CAAC7B,QAAQ,GAAG,IAAIrD;IACpB,IAAI,CAACmD,MAAM,GAAG,IAAInD;IAElB,IAAI4K,aAAa;QACfrG,MAAM,CAAC;QACPM,QAAQ;IACV;IACA,IAAIgG,gBAAgB;IACpB,IAAI,CAACC,SAAS,GAAGrK,SAAS6E,GAAG,CAAC,SAAUO,CAAC;QACvC,IAAIA,EAAEuE,GAAG,EAAE;YACT,yDAAyD;YACzD,sDAAsD;YACtD,MAAM,IAAInI,MAAM;QAClB;QACA,IAAI8I,SAASjL,KAAK0E,MAAM,CAACqB,GAAG;QAC5B,IAAImF,aAAalL,KAAK0E,MAAM,CAACuG,QAAQ;QACrC,IAAIE,eAAenL,KAAK0E,MAAM,CAACuG,QAAQ;QAEvC,IAAI,CAACG,cAAcF,eAAe,CAACE,cAAcD,eAAe;YAC9D,MAAM,IAAIhJ,MAAM;QAClB;QACA,IAAI+I,aAAa7K,yBAAyB;YACxC,MAAM,IAAI8B,MAAM,yCAAyC9B,0BAA0B;QACrF;QAEA,IAAI6K,aAAaJ,WAAWrG,IAAI,IAC3ByG,eAAeJ,WAAWrG,IAAI,IAAI0G,eAAeL,WAAW/F,MAAM,EAAG;YACxE,MAAM,IAAI5C,MAAM;QAClB;QACA2I,aAAaG;QAEb,IAAIhF,WAAW,IAAI3F,kBAAkBN,KAAK0E,MAAM,CAACqB,GAAG,QAAQvF;QAE5D,qEAAqE;QACrE,sBAAsB;QACtB,IAAI6K,kBAAkBH,aAAa,CAACjF,SAASqF,cAAc,IAAI,CAAC;QAChE,IAAID,kBAAkBhL,yBAAyB;YAC7C,MAAM,IAAI8B,MAAM,yCAAyC9B,0BACzC;QAClB;QACA,IAAIgL,kBAAkBN,eAAe;YACnCA,gBAAgBM;QAClB;QAEA,OAAO;YACLE,iBAAiB;gBACf,iEAAiE;gBACjE,8BAA8B;gBAC9BtH,eAAeiH,aAAa;gBAC5BhH,iBAAiBiH,eAAe;YAClC;YACAlF,UAAUA;QACZ;IACF;IAEA,qEAAqE;IACrE,IAAI,CAACqF,cAAc,GAAGP;AACxB;AAEA;;;;CAIC,GACD,SAASK,cAAcI,MAAM;IAC3B,OAAO,OAAOA,WAAW,YACvBA,UAAU,KACVA,UAAU,oBAAoB,0BAA0B;IACxDC,KAAKC,KAAK,CAACF,YAAYA;AAC3B;AAEA5K,yBAAyBG,SAAS,GAAGG,OAAO8E,MAAM,CAAC1F,kBAAkBS,SAAS;AAC9EH,yBAAyBG,SAAS,CAAC,WAAW,GAAGT;AAEjD;;CAEC,GACDM,yBAAyBG,SAAS,CAACC,QAAQ,GAAG;AAE9C;;CAEC,GACDE,OAAOC,cAAc,CAACP,yBAAyBG,SAAS,EAAE,WAAW;IACnEO,KAAK;QACH,IAAIgC,UAAU,EAAE;QAChB,IAAK,IAAII,IAAI,GAAGA,IAAI,IAAI,CAACsH,SAAS,CAACpH,MAAM,EAAEF,IAAK;YAC9C,mEAAmE;YACnE,uEAAuE;YACvE,kCAAkC;YAClC,IAAIiI,iBAAiB,IAAI,CAACX,SAAS,CAACtH,EAAE,CAACuC,QAAQ,CAAC3C,OAAO;YACvD,IAAK,IAAIoE,IAAI,GAAGA,IAAIiE,eAAe/H,MAAM,EAAE8D,IAAK;gBAC9CpE,QAAQ2B,IAAI,CAAC0G,cAAc,CAACjE,EAAE;YAChC;QACF;QACA,OAAOpE;IACT;AACF;AAEA;;;;;;;;;;;;;;;;;;CAkBC,GACD1C,yBAAyBG,SAAS,CAAC4I,mBAAmB,GACpD,SAASiC,6CAA6CpH,KAAK;IACzD,IAAIG,SAAS;QACXV,eAAejE,KAAK0E,MAAM,CAACF,OAAO;QAClCN,iBAAiBlE,KAAK0E,MAAM,CAACF,OAAO;IACtC;IAEA,yEAAyE;IACzE,2BAA2B;IAC3B,IAAIqH,eAAe5L,aAAaoJ,MAAM,CAAC1E,QAAQ,IAAI,CAACqG,SAAS,EAC3D,SAASrG,MAAM,EAAEmH,OAAO;QACtB,IAAIC,MAAMpH,OAAOV,aAAa,GAAG6H,QAAQP,eAAe,CAACtH,aAAa;QACtE,IAAI8H,KAAK;YACP,OAAOA;QACT;QAEA,OAAQpH,OAAOT,eAAe,GACtB4H,QAAQP,eAAe,CAACrH,eAAe;IACjD;IACF,IAAI4H,UAAU,IAAI,CAACd,SAAS,CAACa,aAAa;IAE1C,IAAI,CAACC,SAAS;QACZ,OAAO;YACLhI,QAAQ;YACRW,MAAM;YACNM,QAAQ;YACRV,MAAM;QACR;IACF;IAEA,OAAOyH,QAAQ7F,QAAQ,CAAC0D,mBAAmB,CAAC;QAC1ClF,MAAME,OAAOV,aAAa,GACxB,CAAC6H,QAAQP,eAAe,CAACtH,aAAa,GAAG,CAAC;QAC5Cc,QAAQJ,OAAOT,eAAe,GAC5B,CAAC4H,QAAQP,eAAe,CAACtH,aAAa,KAAKU,OAAOV,aAAa,GAC5D6H,QAAQP,eAAe,CAACrH,eAAe,GAAG,IAC1C,CAAC;QACN8H,MAAMxH,MAAMwH,IAAI;IAClB;AACF;AAEF;;;CAGC,GACDpL,yBAAyBG,SAAS,CAAC+I,uBAAuB,GACxD,SAASmC;IACP,OAAO,IAAI,CAACjB,SAAS,CAACkB,KAAK,CAAC,SAAUnG,CAAC;QACrC,OAAOA,EAAEE,QAAQ,CAAC6D,uBAAuB;IAC3C;AACF;AAEF;;;;CAIC,GACDlJ,yBAAyBG,SAAS,CAACoJ,gBAAgB,GACjD,SAASgC,0CAA0CjG,OAAO,EAAEmE,aAAa;IACvE,IAAK,IAAI3G,IAAI,GAAGA,IAAI,IAAI,CAACsH,SAAS,CAACpH,MAAM,EAAEF,IAAK;QAC9C,IAAIoI,UAAU,IAAI,CAACd,SAAS,CAACtH,EAAE;QAE/B,IAAI0I,UAAUN,QAAQ7F,QAAQ,CAACkE,gBAAgB,CAACjE,SAAS;QACzD,IAAIkG,WAAWA,YAAY,IAAI;YAC7B,OAAOA;QACT;IACF;IACA,IAAI/B,eAAe;QACjB,OAAO;IACT,OACK;QACH,MAAM,IAAIlI,MAAM,MAAM+D,UAAU;IAClC;AACF;AAEF;;;;;;;;;;;;;;;;;CAiBC,GACDtF,yBAAyBG,SAAS,CAAC6J,oBAAoB,GACrD,SAASyB,8CAA8C7H,KAAK;IAC1D,IAAK,IAAId,IAAI,GAAGA,IAAI,IAAI,CAACsH,SAAS,CAACpH,MAAM,EAAEF,IAAK;QAC9C,IAAIoI,UAAU,IAAI,CAACd,SAAS,CAACtH,EAAE;QAE/B,uEAAuE;QACvE,2BAA2B;QAC3B,IAAIoI,QAAQ7F,QAAQ,CAACrB,gBAAgB,CAAC5E,KAAK0E,MAAM,CAACF,OAAO,eAAe,CAAC,GAAG;YAC1E;QACF;QACA,IAAI8H,oBAAoBR,QAAQ7F,QAAQ,CAAC2E,oBAAoB,CAACpG;QAC9D,IAAI8H,mBAAmB;YACrB,IAAIC,MAAM;gBACR9H,MAAM6H,kBAAkB7H,IAAI,GAC1B,CAACqH,QAAQP,eAAe,CAACtH,aAAa,GAAG,CAAC;gBAC5Cc,QAAQuH,kBAAkBvH,MAAM,GAC9B,CAAC+G,QAAQP,eAAe,CAACtH,aAAa,KAAKqI,kBAAkB7H,IAAI,GAC9DqH,QAAQP,eAAe,CAACrH,eAAe,GAAG,IAC1C,CAAC;YACR;YACA,OAAOqI;QACT;IACF;IAEA,OAAO;QACL9H,MAAM;QACNM,QAAQ;IACV;AACF;AAEF;;;;CAIC,GACDnE,yBAAyBG,SAAS,CAACQ,cAAc,GAC/C,SAASiL,uCAAuC3K,IAAI,EAAEK,WAAW;IAC/D,IAAI,CAACjB,mBAAmB,GAAG,EAAE;IAC7B,IAAI,CAACS,kBAAkB,GAAG,EAAE;IAC5B,IAAK,IAAIgC,IAAI,GAAGA,IAAI,IAAI,CAACsH,SAAS,CAACpH,MAAM,EAAEF,IAAK;QAC9C,IAAIoI,UAAU,IAAI,CAACd,SAAS,CAACtH,EAAE;QAC/B,IAAI+I,kBAAkBX,QAAQ7F,QAAQ,CAACjD,kBAAkB;QACzD,IAAK,IAAI0E,IAAI,GAAGA,IAAI+E,gBAAgB7I,MAAM,EAAE8D,IAAK;YAC/C,IAAI7D,UAAU4I,eAAe,CAAC/E,EAAE;YAEhC,IAAI5D,SAASgI,QAAQ7F,QAAQ,CAAC1C,QAAQ,CAACQ,EAAE,CAACF,QAAQC,MAAM;YACxD,IAAGA,WAAW,MAAM;gBAClBA,SAAS9D,KAAKgE,gBAAgB,CAAC8H,QAAQ7F,QAAQ,CAACxE,UAAU,EAAEqC,QAAQ,IAAI,CAACL,aAAa;YACxF;YACA,IAAI,CAACF,QAAQ,CAACmJ,GAAG,CAAC5I;YAClBA,SAAS,IAAI,CAACP,QAAQ,CAAC8C,OAAO,CAACvC;YAE/B,IAAIO,OAAO;YACX,IAAIR,QAAQQ,IAAI,EAAE;gBAChBA,OAAOyH,QAAQ7F,QAAQ,CAAC5C,MAAM,CAACU,EAAE,CAACF,QAAQQ,IAAI;gBAC9C,IAAI,CAAChB,MAAM,CAACqJ,GAAG,CAACrI;gBAChBA,OAAO,IAAI,CAAChB,MAAM,CAACgD,OAAO,CAAChC;YAC7B;YAEA,6DAA6D;YAC7D,kEAAkE;YAClE,sEAAsE;YACtE,kBAAkB;YAClB,IAAIsI,kBAAkB;gBACpB7I,QAAQA;gBACRG,eAAeJ,QAAQI,aAAa,GAClC,CAAC6H,QAAQP,eAAe,CAACtH,aAAa,GAAG,CAAC;gBAC5CC,iBAAiBL,QAAQK,eAAe,GACtC,CAAC4H,QAAQP,eAAe,CAACtH,aAAa,KAAKJ,QAAQI,aAAa,GAC9D6H,QAAQP,eAAe,CAACrH,eAAe,GAAG,IAC1C,CAAC;gBACLC,cAAcN,QAAQM,YAAY;gBAClCC,gBAAgBP,QAAQO,cAAc;gBACtCC,MAAMA;YACR;YAEA,IAAI,CAACpD,mBAAmB,CAACgE,IAAI,CAAC0H;YAC9B,IAAI,OAAOA,gBAAgBxI,YAAY,KAAK,UAAU;gBACpD,IAAI,CAACzC,kBAAkB,CAACuD,IAAI,CAAC0H;YAC/B;QACF;IACF;IAEAvM,UAAU,IAAI,CAACa,mBAAmB,EAAEjB,KAAK6J,mCAAmC;IAC5EzJ,UAAU,IAAI,CAACsB,kBAAkB,EAAE1B,KAAK8E,0BAA0B;AACpE;AAEFK,QAAQvE,wBAAwB,GAAGA","ignoreList":[0]}}, + {"offset": {"line": 5535, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/source-map-generator.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._ignoreInvalidMapping = util.getArg(aArgs, 'ignoreInvalidMapping', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer, generatorOps) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator(Object.assign(generatorOps || {}, {\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n }));\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n if (this._validateMapping(generated, original, source, name) === false) {\n return;\n }\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n var message = 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n\n if (this._ignoreInvalidMapping) {\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message);\n }\n return false;\n } else {\n throw new Error(message);\n }\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n var message = 'Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n });\n\n if (this._ignoreInvalidMapping) {\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message);\n }\n return false;\n } else {\n throw new Error(message)\n }\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n // One ';' per skipped line. Build large gaps with a single flat\n // string: appending ';' one by one creates a rope node per line, which\n // can exhaust the heap for a big gap (CVE-2026-93749).\n var lineDelta = mapping.generatedLine - previousGeneratedLine;\n next += lineDelta === 1 ? ';' : ';'.repeat(lineDelta);\n previousGeneratedLine = mapping.generatedLine;\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n"],"names":["base64VLQ","util","ArraySet","MappingList","SourceMapGenerator","aArgs","_file","getArg","_sourceRoot","_skipValidation","_ignoreInvalidMapping","_sources","_names","_mappings","_sourcesContents","prototype","_version","fromSourceMap","SourceMapGenerator_fromSourceMap","aSourceMapConsumer","generatorOps","sourceRoot","generator","Object","assign","file","eachMapping","mapping","newMapping","generated","line","generatedLine","column","generatedColumn","source","relative","original","originalLine","originalColumn","name","addMapping","sources","forEach","sourceFile","sourceRelative","has","add","content","sourceContentFor","setSourceContent","SourceMapGenerator_addMapping","_validateMapping","String","SourceMapGenerator_setSourceContent","aSourceFile","aSourceContent","create","toSetString","keys","length","applySourceMap","SourceMapGenerator_applySourceMap","aSourceMapPath","Error","newSources","newNames","unsortedForEach","originalPositionFor","join","SourceMapGenerator_validateMapping","aGenerated","aOriginal","aSource","aName","message","console","warn","JSON","stringify","_serializeMappings","SourceMapGenerator_serializeMappings","previousGeneratedColumn","previousGeneratedLine","previousOriginalColumn","previousOriginalLine","previousName","previousSource","result","next","nameIdx","sourceIdx","mappings","toArray","i","len","lineDelta","repeat","compareByGeneratedPositionsInflated","encode","indexOf","_generateSourcesContent","SourceMapGenerator_generateSourcesContent","aSources","aSourceRoot","map","key","hasOwnProperty","call","toJSON","SourceMapGenerator_toJSON","version","names","sourcesContent","toString","SourceMapGenerator_toString","exports"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5902, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/source-node.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n if (remainingLinesIndex >= remainingLines.length) {\n // The generated code is exhausted. Skip the rest instead of adding\n // empty lines one by one: a mapping may point far past the end of\n // the code (e.g. an indexed map section with a huge offset.line).\n lastGeneratedLine = mapping.generatedLine;\n break;\n }\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n"],"names":["SourceMapGenerator","util","REGEX_NEWLINE","NEWLINE_CODE","isSourceNode","SourceNode","aLine","aColumn","aSource","aChunks","aName","children","sourceContents","line","column","source","name","add","fromStringWithSourceMap","SourceNode_fromStringWithSourceMap","aGeneratedCode","aSourceMapConsumer","aRelativePath","node","remainingLines","split","remainingLinesIndex","shiftNextLine","lineContents","getNextLine","newLine","length","undefined","lastGeneratedLine","lastGeneratedColumn","lastMapping","eachMapping","mapping","generatedLine","addMappingWithCode","nextLine","code","substr","generatedColumn","splice","join","sources","forEach","sourceFile","content","sourceContentFor","setSourceContent","originalLine","originalColumn","prototype","SourceNode_add","aChunk","Array","isArray","chunk","push","TypeError","prepend","SourceNode_prepend","i","unshift","walk","SourceNode_walk","aFn","len","SourceNode_join","aSep","newChildren","replaceRight","SourceNode_replaceRight","aPattern","aReplacement","lastChild","replace","SourceNode_setSourceContent","aSourceFile","aSourceContent","toSetString","walkSourceContents","SourceNode_walkSourceContents","Object","keys","fromSetString","toString","SourceNode_toString","str","toStringWithSourceMap","SourceNode_toStringWithSourceMap","aArgs","generated","map","sourceMappingActive","lastOriginalSource","lastOriginalLine","lastOriginalColumn","lastOriginalName","original","addMapping","idx","charCodeAt","sourceContent","exports"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 6267, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/lib/util.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\nvar MAX_CACHED_INPUTS = 32;\n\n/**\n * Takes some function `f(input) -> result` and returns a memoized version of\n * `f`.\n *\n * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The\n * memoization is a dumb-simple, linear least-recently-used cache.\n */\nfunction lruMemoize(f) {\n var cache = [];\n\n return function(input) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].input === input) {\n var temp = cache[0];\n cache[0] = cache[i];\n cache[i] = temp;\n return cache[0].result;\n }\n }\n\n var result = f(input);\n\n cache.unshift({\n input,\n result,\n });\n\n if (cache.length > MAX_CACHED_INPUTS) {\n cache.pop();\n }\n\n return result;\n };\n}\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nvar normalize = lruMemoize(function normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n // Split the path into parts between `/` characters. This is much faster than\n // using `.split(/\\/+/g)`.\n var parts = [];\n var start = 0;\n var i = 0;\n while (true) {\n start = i;\n i = path.indexOf(\"/\", start);\n if (i === -1) {\n parts.push(path.slice(start));\n break;\n } else {\n parts.push(path.slice(start, i));\n while (i < path.length && path[i] === \"/\") {\n i++;\n }\n }\n }\n\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n});\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\nfunction compareByOriginalPositionsNoSource(mappingA, mappingB, onlyCompareOriginal) {\n var cmp\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositionsNoSource = compareByOriginalPositionsNoSource;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction compareByGeneratedPositionsDeflatedNoLine(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflatedNoLine = compareByGeneratedPositionsDeflatedNoLine;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n"],"names":["getArg","aArgs","aName","aDefaultValue","arguments","length","Error","exports","urlRegexp","dataUrlRegexp","urlParse","aUrl","match","scheme","auth","host","port","path","urlGenerate","aParsedUrl","url","MAX_CACHED_INPUTS","lruMemoize","f","cache","input","i","temp","result","unshift","pop","normalize","aPath","isAbsolute","parts","start","indexOf","push","slice","part","up","splice","join","aRoot","aPathUrl","aRootUrl","joined","charAt","replace","test","relative","level","index","lastIndexOf","Array","substr","supportsNullProto","obj","Object","create","identity","s","toSetString","aStr","isProtoString","fromSetString","charCodeAt","compareByOriginalPositions","mappingA","mappingB","onlyCompareOriginal","cmp","strcmp","source","originalLine","originalColumn","generatedColumn","generatedLine","name","compareByOriginalPositionsNoSource","compareByGeneratedPositionsDeflated","onlyCompareGenerated","compareByGeneratedPositionsDeflatedNoLine","aStr1","aStr2","compareByGeneratedPositionsInflated","parseSourceMapInput","str","JSON","parse","computeSourceURL","sourceRoot","sourceURL","sourceMapURL","parsed","substring"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 6762, "column": 0}, "map": {"version":3,"sources":["turbopack:///[project]/node_modules/source-map-js/source-map.js"],"sourcesContent":["/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n"],"names":["exports","SourceMapGenerator","SourceMapConsumer","SourceNode"],"mappings":"AAAA;;;;CAIC,GACDA,QAAQC,kBAAkB,GAAG,mHAAsCA,kBAAkB;AACrFD,QAAQE,iBAAiB,GAAG,kHAAqCA,iBAAiB;AAClFF,QAAQG,UAAU,GAAG,0GAA6BA,UAAU","ignoreList":[0]}}] +} \ No newline at end of file diff --git a/e-commerce/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js b/e-commerce/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js new file mode 100644 index 0000000000000000000000000000000000000000..d2a5ff42663d583343b657b0a881c681440f5a5d --- /dev/null +++ b/e-commerce/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js @@ -0,0 +1,6 @@ +var R=require("./[turbopack]_runtime.js")("chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js") +R.c("chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js") +R.c("chunks/[root-of-the-server]__05i36w1t4lzaf._.js") +R.m("[turbopack-node]/child_process/globals.ts [postcss] (ecmascript)") +R.m("[turbopack-node]/child_process/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/postcss.ts?config=[project]/postcss.config.mjs { CONFIG => \\\"[project]/postcss.config.mjs [postcss] (ecmascript)\\\" } [postcss] (ecmascript)\", RUNTIME => \"[turbopack-node]/child_process/evaluate.ts [postcss] (ecmascript)\" } [postcss] (ecmascript)") +module.exports=R.m("[turbopack-node]/child_process/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/postcss.ts?config=[project]/postcss.config.mjs { CONFIG => \\\"[project]/postcss.config.mjs [postcss] (ecmascript)\\\" } [postcss] (ecmascript)\", RUNTIME => \"[turbopack-node]/child_process/evaluate.ts [postcss] (ecmascript)\" } [postcss] (ecmascript)").exports diff --git a/e-commerce/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js.map b/e-commerce/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/build/package.json b/e-commerce/.next/build/package.json new file mode 100644 index 0000000000000000000000000000000000000000..7156107e3aec28c4f7cea055e4cd67b6cc1e828c --- /dev/null +++ b/e-commerce/.next/build/package.json @@ -0,0 +1 @@ +{"type": "commonjs"} \ No newline at end of file diff --git a/e-commerce/.next/cache/.previewinfo b/e-commerce/.next/cache/.previewinfo new file mode 100644 index 0000000000000000000000000000000000000000..3ba8bf168dfb508c43fff0915dd6b55a4ce04b52 --- /dev/null +++ b/e-commerce/.next/cache/.previewinfo @@ -0,0 +1 @@ +{"previewModeId":"41fc763c7733ec1168a8c7e9d4fd7e73","previewModeSigningKey":"38431740dc5666173946fce047dee2efb4033f4b4e352a64dd8bc674fc96c622","previewModeEncryptionKey":"1fa0004ccfdbef1c4933a09c2fe6ed913dd03d87133748c5a2dad1abd0eeabbf","expireAt":1793081940851} \ No newline at end of file diff --git a/e-commerce/.next/cache/.rscinfo b/e-commerce/.next/cache/.rscinfo new file mode 100644 index 0000000000000000000000000000000000000000..dc35aacf2994c366f87d808e6995e725d6907ab8 --- /dev/null +++ b/e-commerce/.next/cache/.rscinfo @@ -0,0 +1 @@ +{"encryption.key":"AJc4669gIfxOupo1Hr+pFLrX0xLM/ZgF9UQfYWI/ceI=","encryption.expire_at":1793081940839} \ No newline at end of file diff --git a/e-commerce/.next/cache/.tsbuildinfo b/e-commerce/.next/cache/.tsbuildinfo new file mode 100644 index 0000000000000000000000000000000000000000..798697100f3edce4505505e4bb25e2d20fc76323 --- /dev/null +++ b/e-commerce/.next/cache/.tsbuildinfo @@ -0,0 +1 @@ +{"version":"7.0.2","root":[[556,558],560,572,[578,579],584,[887,889],[940,941],1037,[1040,1041],[1045,1046],[1054,1060],1064,1066,1071,[1078,1079],1081,1083,1085,1087,1089,1091,1093,[1095,1101]],"packageJsons":["../dev/package.json","../package.json","../../node_modules/@eloqnt/config/package.json","../../node_modules/@eloqnt/format-json/package.json","../../node_modules/@img/colour/package.json","../../node_modules/@next/env/package.json","../../node_modules/@playwright/test/package.json","../../node_modules/@radix-ui/react-arrow/package.json","../../node_modules/@radix-ui/react-avatar/package.json","../../node_modules/@radix-ui/react-checkbox/package.json","../../node_modules/@radix-ui/react-context/package.json","../../node_modules/@radix-ui/react-dialog/package.json","../../node_modules/@radix-ui/react-dismissable-layer/package.json","../../node_modules/@radix-ui/react-dropdown-menu/package.json","../../node_modules/@radix-ui/react-focus-scope/package.json","../../node_modules/@radix-ui/react-label/package.json","../../node_modules/@radix-ui/react-menu/package.json","../../node_modules/@radix-ui/react-popover/package.json","../../node_modules/@radix-ui/react-popper/package.json","../../node_modules/@radix-ui/react-portal/package.json","../../node_modules/@radix-ui/react-primitive/package.json","../../node_modules/@radix-ui/react-radio-group/package.json","../../node_modules/@radix-ui/react-roving-focus/package.json","../../node_modules/@radix-ui/react-scroll-area/package.json","../../node_modules/@radix-ui/react-select/package.json","../../node_modules/@radix-ui/react-separator/package.json","../../node_modules/@radix-ui/react-slot/package.json","../../node_modules/@radix-ui/react-switch/package.json","../../node_modules/@radix-ui/react-tooltip/package.json","../../node_modules/@radix-ui/rect/package.json","../../node_modules/@schummar/icu-type-parser/package.json","../../node_modules/@types/node/package.json","../../node_modules/@types/react-dom/package.json","../../node_modules/@types/react/package.json","../../node_modules/class-variance-authority/package.json","../../node_modules/clsx/package.json","../../node_modules/csstype/package.json","../../node_modules/decimal.js/package.json","../../node_modules/drizzle-kit/package.json","../../node_modules/drizzle-orm/package.json","../../node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser/package.json","../../node_modules/intl-messageformat/node_modules/@formatjs/icu-skeleton-parser/package.json","../../node_modules/intl-messageformat/package.json","../../node_modules/lucide-react/package.json","../../node_modules/next-intl/package.json","../../node_modules/next/dist/compiled/@edge-runtime/cookies/package.json","../../node_modules/next/dist/compiled/@edge-runtime/primitives/package.json","../../node_modules/next/dist/compiled/@next/font/package.json","../../node_modules/next/dist/compiled/@vercel/og/package.json","../../node_modules/next/dist/compiled/jest-worker/package.json","../../node_modules/next/dist/compiled/superstruct/package.json","../../node_modules/next/dist/compiled/webpack/package.json","../../node_modules/next/package.json","../../node_modules/postgres/package.json","../../node_modules/postgres/types/package.json","../../node_modules/react-dom/package.json","../../node_modules/react/package.json","../../node_modules/sharp/package.json","../../node_modules/tailwind-merge/package.json","../../node_modules/tailwindcss/package.json","../../node_modules/undici-types/package.json","../../node_modules/use-intl/package.json","../../node_modules/zod/package.json","../../node_modules/zod/v4/classic/package.json","../../node_modules/zod/v4/core/package.json","../../node_modules/zod/v4/locales/package.json","../../package.json"],"missingPackageJsons":["../../node_modules/@aws-sdk/client-rds-data/package.json","../../node_modules/@cloudflare/workers-types/package.json","../../node_modules/@electric-sql/pglite/package.json","../../node_modules/@eloqnt/config/dist/package.json","../../node_modules/@eloqnt/format-json/dist/package.json","../../node_modules/@libsql/client-wasm/package.json","../../node_modules/@libsql/client/package.json","../../node_modules/@neondatabase/serverless/package.json","../../node_modules/@netlify/db/package.json","../../node_modules/@next/env/dist/package.json","../../node_modules/@op-engineering/op-sqlite/package.json","../../node_modules/@opentelemetry/api/package.json","../../node_modules/@planetscale/database/package.json","../../node_modules/@prisma/client/package.json","../../node_modules/@radix-ui/react-arrow/dist/package.json","../../node_modules/@radix-ui/react-avatar/dist/package.json","../../node_modules/@radix-ui/react-checkbox/dist/package.json","../../node_modules/@radix-ui/react-context/dist/package.json","../../node_modules/@radix-ui/react-dialog/dist/package.json","../../node_modules/@radix-ui/react-dismissable-layer/dist/package.json","../../node_modules/@radix-ui/react-dropdown-menu/dist/package.json","../../node_modules/@radix-ui/react-focus-scope/dist/package.json","../../node_modules/@radix-ui/react-label/dist/package.json","../../node_modules/@radix-ui/react-menu/dist/package.json","../../node_modules/@radix-ui/react-popover/dist/package.json","../../node_modules/@radix-ui/react-popper/dist/package.json","../../node_modules/@radix-ui/react-portal/dist/package.json","../../node_modules/@radix-ui/react-primitive/dist/package.json","../../node_modules/@radix-ui/react-radio-group/dist/package.json","../../node_modules/@radix-ui/react-roving-focus/dist/package.json","../../node_modules/@radix-ui/react-scroll-area/dist/package.json","../../node_modules/@radix-ui/react-select/dist/package.json","../../node_modules/@radix-ui/react-separator/dist/package.json","../../node_modules/@radix-ui/react-slot/dist/package.json","../../node_modules/@radix-ui/react-switch/dist/package.json","../../node_modules/@radix-ui/react-tooltip/dist/package.json","../../node_modules/@radix-ui/rect/dist/package.json","../../node_modules/@schummar/icu-type-parser/dist/package.json","../../node_modules/@tidbcloud/serverless/package.json","../../node_modules/@types/css/package.json","../../node_modules/@types/global/package.json","../../node_modules/@types/macro/package.json","../../node_modules/@types/style/package.json","../../node_modules/@types/types/compiled/package.json","../../node_modules/@types/types/global/package.json","../../node_modules/@types/assert/package.json","../../node_modules/@types/assert/strict/package.json","../../node_modules/@types/async_hooks/package.json","../../node_modules/@types/better-sqlite3/package.json","../../node_modules/@types/buffer/package.json","../../node_modules/@types/child_process/package.json","../../node_modules/@types/cluster/package.json","../../node_modules/@types/console/package.json","../../node_modules/@types/constants/package.json","../../node_modules/@types/crypto/package.json","../../node_modules/@types/dgram/package.json","../../node_modules/@types/diagnostics_channel/package.json","../../node_modules/@types/dns/package.json","../../node_modules/@types/dns/promises/package.json","../../node_modules/@types/domain/package.json","../../node_modules/@types/events/package.json","../../node_modules/@types/fs/package.json","../../node_modules/@types/fs/promises/package.json","../../node_modules/@types/gel/package.json","../../node_modules/@types/http/package.json","../../node_modules/@types/http2/package.json","../../node_modules/@types/https/package.json","../../node_modules/@types/inspector/package.json","../../node_modules/@types/inspector/promises/package.json","../../node_modules/@types/module/package.json","../../node_modules/@types/mysql2/package.json","../../node_modules/@types/mysql2/promise/package.json","../../node_modules/@types/net/package.json","../../node_modules/@types/next/dist/compiled/jest-worker/package.json","../../node_modules/@types/next/dist/compiled/superstruct/package.json","../../node_modules/@types/next/image-types/global/package.json","../../node_modules/@types/next/package.json","../../node_modules/@types/node/assert/package.json","../../node_modules/@types/node/compatibility/package.json","../../node_modules/@types/node/dns/package.json","../../node_modules/@types/node/fs/package.json","../../node_modules/@types/node/readline/package.json","../../node_modules/@types/node/stream/package.json","../../node_modules/@types/node/timers/package.json","../../node_modules/@types/os/package.json","../../node_modules/@types/path/package.json","../../node_modules/@types/path/posix/package.json","../../node_modules/@types/path/win32/package.json","../../node_modules/@types/perf_hooks/package.json","../../node_modules/@types/pg/package.json","../../node_modules/@types/process/package.json","../../node_modules/@types/punycode/package.json","../../node_modules/@types/querystring/package.json","../../node_modules/@types/react-dom/experimental/package.json","../../node_modules/@types/react-dom/server/package.json","../../node_modules/@types/react-dom/static/package.json","../../node_modules/@types/react-server-dom-webpack/package.json","../../node_modules/@types/react-server-dom-webpack/server/package.json","../../node_modules/@types/react-server-dom-webpack/static/package.json","../../node_modules/@types/react/compiler-runtime/package.json","../../node_modules/@types/react/experimental/package.json","../../node_modules/@types/react/jsx-dev-runtime/package.json","../../node_modules/@types/react/jsx-runtime/package.json","../../node_modules/@types/readline/package.json","../../node_modules/@types/readline/promises/package.json","../../node_modules/@types/repl/package.json","../../node_modules/@types/server-only/package.json","../../node_modules/@types/sql.js/package.json","../../node_modules/@types/stream/consumers/package.json","../../node_modules/@types/stream/package.json","../../node_modules/@types/stream/promises/package.json","../../node_modules/@types/stream/web/package.json","../../node_modules/@types/string_decoder/package.json","../../node_modules/@types/timers/package.json","../../node_modules/@types/timers/promises/package.json","../../node_modules/@types/tls/package.json","../../node_modules/@types/trace_events/package.json","../../node_modules/@types/tty/package.json","../../node_modules/@types/url/package.json","../../node_modules/@types/util/package.json","../../node_modules/@types/util/types/package.json","../../node_modules/@types/v8/package.json","../../node_modules/@types/vm/package.json","../../node_modules/@types/wasi/package.json","../../node_modules/@types/webpack/package.json","../../node_modules/@types/worker_threads/package.json","../../node_modules/@types/zlib/package.json","../../node_modules/@upstash/redis/package.json","../../node_modules/@vercel/postgres/package.json","../../node_modules/@xata.io/client/package.json","../../node_modules/assert/package.json","../../node_modules/assert/strict/package.json","../../node_modules/async_hooks/package.json","../../node_modules/babel-plugin-react-compiler/package.json","../../node_modules/better-sqlite3/package.json","../../node_modules/buffer/package.json","../../node_modules/bun-types/package.json","../../node_modules/child_process/package.json","../../node_modules/class-variance-authority/dist/package.json","../../node_modules/cluster/package.json","../../node_modules/console/package.json","../../node_modules/constants/package.json","../../node_modules/crypto/package.json","../../node_modules/dgram/package.json","../../node_modules/diagnostics_channel/package.json","../../node_modules/dns/package.json","../../node_modules/dns/promises/package.json","../../node_modules/domain/package.json","../../node_modules/drizzle-orm/cache/core/package.json","../../node_modules/drizzle-orm/cache/package.json","../../node_modules/drizzle-orm/gel-core/columns/package.json","../../node_modules/drizzle-orm/gel-core/package.json","../../node_modules/drizzle-orm/gel-core/query-builders/package.json","../../node_modules/drizzle-orm/mysql-core/columns/package.json","../../node_modules/drizzle-orm/mysql-core/package.json","../../node_modules/drizzle-orm/mysql-core/query-builders/package.json","../../node_modules/drizzle-orm/pg-core/columns/package.json","../../node_modules/drizzle-orm/pg-core/columns/postgis_extension/package.json","../../node_modules/drizzle-orm/pg-core/columns/vector_extension/package.json","../../node_modules/drizzle-orm/pg-core/package.json","../../node_modules/drizzle-orm/pg-core/query-builders/package.json","../../node_modules/drizzle-orm/pg-core/utils/package.json","../../node_modules/drizzle-orm/postgres-js/package.json","../../node_modules/drizzle-orm/query-builders/package.json","../../node_modules/drizzle-orm/singlestore-core/columns/package.json","../../node_modules/drizzle-orm/singlestore-core/package.json","../../node_modules/drizzle-orm/singlestore-core/query-builders/package.json","../../node_modules/drizzle-orm/singlestore/package.json","../../node_modules/drizzle-orm/sql/expressions/package.json","../../node_modules/drizzle-orm/sql/functions/package.json","../../node_modules/drizzle-orm/sql/package.json","../../node_modules/drizzle-orm/sqlite-core/columns/package.json","../../node_modules/drizzle-orm/sqlite-core/package.json","../../node_modules/drizzle-orm/sqlite-core/query-builders/package.json","../../node_modules/events/package.json","../../node_modules/expo-sqlite/package.json","../../node_modules/fs/package.json","../../node_modules/fs/promises/package.json","../../node_modules/gel/package.json","../../node_modules/http/package.json","../../node_modules/http2/package.json","../../node_modules/https/package.json","../../node_modules/inspector/package.json","../../node_modules/inspector/promises/package.json","../../node_modules/knex/package.json","../../node_modules/kysely/package.json","../../node_modules/lucide-react/dist/package.json","../../node_modules/module/package.json","../../node_modules/mysql2/package.json","../../node_modules/mysql2/promise/package.json","../../node_modules/net/package.json","../../node_modules/next-intl/dist/package.json","../../node_modules/next-intl/dist/types/extractor/format/codecs/package.json","../../node_modules/next-intl/dist/types/extractor/format/package.json","../../node_modules/next-intl/dist/types/extractor/package.json","../../node_modules/next-intl/dist/types/middleware/package.json","../../node_modules/next-intl/dist/types/package.json","../../node_modules/next-intl/dist/types/plugin/package.json","../../node_modules/next-intl/dist/types/react-client/package.json","../../node_modules/next-intl/dist/types/routing/package.json","../../node_modules/next-intl/dist/types/server/package.json","../../node_modules/next-intl/dist/types/server/react-server/package.json","../../node_modules/next-intl/dist/types/shared/package.json","../../node_modules/next-intl/middleware/package.json","../../node_modules/next-intl/plugin/package.json","../../node_modules/next-intl/server/package.json","../../node_modules/next/cache/package.json","../../node_modules/next/dist/api/package.json","../../node_modules/next/dist/build/adapter/package.json","../../node_modules/next/dist/build/analysis/package.json","../../node_modules/next/dist/build/package.json","../../node_modules/next/dist/build/segment-config/app/package.json","../../node_modules/next/dist/build/segment-config/middleware/package.json","../../node_modules/next/dist/build/segment-config/package.json","../../node_modules/next/dist/build/segment-config/pages/package.json","../../node_modules/next/dist/build/static-paths/package.json","../../node_modules/next/dist/build/swc/package.json","../../node_modules/next/dist/build/templates/package.json","../../node_modules/next/dist/build/turborepo-access-trace/package.json","../../node_modules/next/dist/build/webpack/loaders/metadata/package.json","../../node_modules/next/dist/build/webpack/loaders/next-app-loader/package.json","../../node_modules/next/dist/build/webpack/loaders/package.json","../../node_modules/next/dist/build/webpack/package.json","../../node_modules/next/dist/build/webpack/plugins/package.json","../../node_modules/next/dist/build/webpack/plugins/telemetry-plugin/package.json","../../node_modules/next/dist/cli/package.json","../../node_modules/next/dist/client/components/http-access-fallback/package.json","../../node_modules/next/dist/client/components/package.json","../../node_modules/next/dist/client/components/router-reducer/package.json","../../node_modules/next/dist/client/components/segment-cache/package.json","../../node_modules/next/dist/client/package.json","../../node_modules/next/dist/compiled/@edge-runtime/primitives/url/package.json","../../node_modules/next/dist/compiled/@next/font/dist/google/package.json","../../node_modules/next/dist/compiled/@next/font/dist/package.json","../../node_modules/next/dist/compiled/@vercel/og/satori/package.json","../../node_modules/next/dist/compiled/@vercel/og/types/package.json","../../node_modules/next/dist/compiled/webpack/webpack/package.json","../../node_modules/next/dist/export/package.json","../../node_modules/next/dist/export/routes/package.json","../../node_modules/next/dist/lib/framework/package.json","../../node_modules/next/dist/lib/metadata/package.json","../../node_modules/next/dist/lib/metadata/types/package.json","../../node_modules/next/dist/lib/package.json","../../node_modules/next/dist/next-devtools/dev-overlay/container/package.json","../../node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/package.json","../../node_modules/next/dist/next-devtools/dev-overlay/package.json","../../node_modules/next/dist/next-devtools/dev-overlay/utils/package.json","../../node_modules/next/dist/next-devtools/package.json","../../node_modules/next/dist/next-devtools/server/package.json","../../node_modules/next/dist/next-devtools/shared/package.json","../../node_modules/next/dist/next-devtools/userspace/app/package.json","../../node_modules/next/dist/next-devtools/userspace/package.json","../../node_modules/next/dist/next-devtools/userspace/pages/package.json","../../node_modules/next/dist/package.json","../../node_modules/next/dist/pages/package.json","../../node_modules/next/dist/server/after/package.json","../../node_modules/next/dist/server/api-utils/package.json","../../node_modules/next/dist/server/app-render/instant-validation/package.json","../../node_modules/next/dist/server/app-render/package.json","../../node_modules/next/dist/server/app-render/rsc/package.json","../../node_modules/next/dist/server/app-render/segment-config/package.json","../../node_modules/next/dist/server/async-storage/package.json","../../node_modules/next/dist/server/base-http/package.json","../../node_modules/next/dist/server/dev/package.json","../../node_modules/next/dist/server/image-optimizer/package.json","../../node_modules/next/dist/server/instrumentation/package.json","../../node_modules/next/dist/server/lib/cache-handlers/package.json","../../node_modules/next/dist/server/lib/incremental-cache/package.json","../../node_modules/next/dist/server/lib/package.json","../../node_modules/next/dist/server/lib/router-utils/package.json","../../node_modules/next/dist/server/node-environment-extensions/package.json","../../node_modules/next/dist/server/normalizers/package.json","../../node_modules/next/dist/server/normalizers/request/package.json","../../node_modules/next/dist/server/package.json","../../node_modules/next/dist/server/request/cache-stages/package.json","../../node_modules/next/dist/server/request/connection/package.json","../../node_modules/next/dist/server/request/io/package.json","../../node_modules/next/dist/server/request/package.json","../../node_modules/next/dist/server/response-cache/package.json","../../node_modules/next/dist/server/resume-data-cache/package.json","../../node_modules/next/dist/server/route-definitions/package.json","../../node_modules/next/dist/server/route-matches/package.json","../../node_modules/next/dist/server/route-modules/app-page/helpers/package.json","../../node_modules/next/dist/server/route-modules/app-page/package.json","../../node_modules/next/dist/server/route-modules/app-page/vendored/contexts/package.json","../../node_modules/next/dist/server/route-modules/app-page/vendored/package.json","../../node_modules/next/dist/server/route-modules/app-page/vendored/rsc/package.json","../../node_modules/next/dist/server/route-modules/app-page/vendored/ssr/package.json","../../node_modules/next/dist/server/route-modules/app-route/package.json","../../node_modules/next/dist/server/route-modules/package.json","../../node_modules/next/dist/server/route-modules/pages/builtin/package.json","../../node_modules/next/dist/server/route-modules/pages/package.json","../../node_modules/next/dist/server/route-modules/pages/vendored/contexts/package.json","../../node_modules/next/dist/server/route-modules/pages/vendored/package.json","../../node_modules/next/dist/server/use-cache/cache-tag/package.json","../../node_modules/next/dist/server/use-cache/package.json","../../node_modules/next/dist/server/web/exports/package.json","../../node_modules/next/dist/server/web/package.json","../../node_modules/next/dist/server/web/spec-extension/adapters/package.json","../../node_modules/next/dist/server/web/spec-extension/fetch-event/package.json","../../node_modules/next/dist/server/web/spec-extension/image-response/package.json","../../node_modules/next/dist/server/web/spec-extension/package.json","../../node_modules/next/dist/server/web/spec-extension/request/package.json","../../node_modules/next/dist/server/web/spec-extension/response/package.json","../../node_modules/next/dist/server/web/spec-extension/revalidate/package.json","../../node_modules/next/dist/server/web/spec-extension/unstable-cache/package.json","../../node_modules/next/dist/server/web/spec-extension/unstable-no-store/package.json","../../node_modules/next/dist/server/web/spec-extension/user-agent/package.json","../../node_modules/next/dist/server/web/types/package.json","../../node_modules/next/dist/shared/lib/package.json","../../node_modules/next/dist/shared/lib/router/package.json","../../node_modules/next/dist/shared/lib/router/utils/package.json","../../node_modules/next/dist/shared/lib/segment-cache/package.json","../../node_modules/next/dist/shared/package.json","../../node_modules/next/dist/styled-jsx/package.json","../../node_modules/next/dist/styled-jsx/types/package.json","../../node_modules/next/dist/telemetry/package.json","../../node_modules/next/dist/trace/package.json","../../node_modules/next/font/google/package.json","../../node_modules/next/font/package.json","../../node_modules/next/image-types/global/package.json","../../node_modules/next/image-types/package.json","../../node_modules/next/image/package.json","../../node_modules/next/link/package.json","../../node_modules/next/navigation/package.json","../../node_modules/next/node_modules/@next/env/package.json","../../node_modules/next/node_modules/async_hooks/package.json","../../node_modules/next/node_modules/crypto/package.json","../../node_modules/next/node_modules/dns/package.json","../../node_modules/next/node_modules/fs/package.json","../../node_modules/next/node_modules/http/package.json","../../node_modules/next/node_modules/https/package.json","../../node_modules/next/node_modules/net/package.json","../../node_modules/next/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json","../../node_modules/next/node_modules/next/dist/compiled/@edge-runtime/primitives/url/package.json","../../node_modules/next/node_modules/next/dist/compiled/@next/font/dist/google/package.json","../../node_modules/next/node_modules/next/dist/compiled/@vercel/og/satori/package.json","../../node_modules/next/node_modules/next/dist/compiled/@vercel/og/types/package.json","../../node_modules/next/node_modules/next/dist/compiled/jest-worker/package.json","../../node_modules/next/node_modules/next/dist/compiled/superstruct/package.json","../../node_modules/next/node_modules/next/dist/compiled/webpack/webpack/package.json","../../node_modules/next/node_modules/next/dist/server/after/package.json","../../node_modules/next/node_modules/next/dist/server/request/cache-stages/package.json","../../node_modules/next/node_modules/next/dist/server/request/connection/package.json","../../node_modules/next/node_modules/next/dist/server/request/io/package.json","../../node_modules/next/node_modules/next/dist/server/use-cache/cache-tag/package.json","../../node_modules/next/node_modules/next/dist/server/web/spec-extension/fetch-event/package.json","../../node_modules/next/node_modules/next/dist/server/web/spec-extension/image-response/package.json","../../node_modules/next/node_modules/next/dist/server/web/spec-extension/request/package.json","../../node_modules/next/node_modules/next/dist/server/web/spec-extension/response/package.json","../../node_modules/next/node_modules/next/dist/server/web/spec-extension/revalidate/package.json","../../node_modules/next/node_modules/next/dist/server/web/spec-extension/unstable-cache/package.json","../../node_modules/next/node_modules/next/dist/server/web/spec-extension/unstable-no-store/package.json","../../node_modules/next/node_modules/next/dist/server/web/spec-extension/user-agent/package.json","../../node_modules/next/node_modules/next/dist/server/web/types/package.json","../../node_modules/next/node_modules/next/package.json","../../node_modules/next/node_modules/querystring/package.json","../../node_modules/next/node_modules/react-dom/experimental/package.json","../../node_modules/next/node_modules/react-dom/package.json","../../node_modules/next/node_modules/react-dom/server/package.json","../../node_modules/next/node_modules/react-dom/static/package.json","../../node_modules/next/node_modules/react-server-dom-webpack/package.json","../../node_modules/next/node_modules/react-server-dom-webpack/server/package.json","../../node_modules/next/node_modules/react-server-dom-webpack/static/package.json","../../node_modules/next/node_modules/react/compiler-runtime/package.json","../../node_modules/next/node_modules/react/experimental/package.json","../../node_modules/next/node_modules/react/jsx-dev-runtime/package.json","../../node_modules/next/node_modules/react/jsx-runtime/package.json","../../node_modules/next/node_modules/react/package.json","../../node_modules/next/node_modules/server-only/package.json","../../node_modules/next/node_modules/sharp/package.json","../../node_modules/next/node_modules/stream/package.json","../../node_modules/next/node_modules/url/package.json","../../node_modules/next/server.js/package.json","../../node_modules/next/types.js/package.json","../../node_modules/next/types/package.json","../../node_modules/os/package.json","../../node_modules/path/package.json","../../node_modules/path/posix/package.json","../../node_modules/path/win32/package.json","../../node_modules/perf_hooks/package.json","../../node_modules/pg/package.json","../../node_modules/process/package.json","../../node_modules/punycode/package.json","../../node_modules/querystring/package.json","../../node_modules/react-dom/experimental/package.json","../../node_modules/react-dom/server/package.json","../../node_modules/react-dom/static/package.json","../../node_modules/react-server-dom-webpack/package.json","../../node_modules/react-server-dom-webpack/server/package.json","../../node_modules/react-server-dom-webpack/static/package.json","../../node_modules/react/compiler-runtime/package.json","../../node_modules/react/experimental/package.json","../../node_modules/react/jsx-dev-runtime/package.json","../../node_modules/react/jsx-runtime/package.json","../../node_modules/readline/package.json","../../node_modules/readline/promises/package.json","../../node_modules/repl/package.json","../../node_modules/sass/package.json","../../node_modules/server-only/package.json","../../node_modules/sharp/dist/package.json","../../node_modules/sharp/node_modules/@img/colour/package.json","../../node_modules/sql.js/package.json","../../node_modules/sqlite3/package.json","../../node_modules/stream/consumers/package.json","../../node_modules/stream/package.json","../../node_modules/stream/promises/package.json","../../node_modules/stream/web/package.json","../../node_modules/string_decoder/package.json","../../node_modules/tailwind-merge/dist/package.json","../../node_modules/tailwindcss/dist/package.json","../../node_modules/timers/package.json","../../node_modules/timers/promises/package.json","../../node_modules/tls/package.json","../../node_modules/trace_events/package.json","../../node_modules/tty/package.json","../../node_modules/url/package.json","../../node_modules/use-intl/core/package.json","../../node_modules/use-intl/dist/package.json","../../node_modules/use-intl/dist/types/core/package.json","../../node_modules/use-intl/dist/types/package.json","../../node_modules/use-intl/dist/types/react/package.json","../../node_modules/use-intl/react/package.json","../../node_modules/util/package.json","../../node_modules/util/types/package.json","../../node_modules/v8/package.json","../../node_modules/vm/package.json","../../node_modules/wasi/package.json","../../node_modules/webpack/package.json","../../node_modules/worker_threads/package.json","../../node_modules/zlib/package.json"],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.es2023.d.ts","lib.es2024.d.ts","lib.es2025.d.ts","lib.esnext.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.es2023.array.d.ts","lib.es2023.collection.d.ts","lib.es2023.intl.d.ts","lib.es2024.arraybuffer.d.ts","lib.es2024.collection.d.ts","lib.es2024.object.d.ts","lib.es2024.promise.d.ts","lib.es2024.regexp.d.ts","lib.es2024.sharedmemory.d.ts","lib.es2024.string.d.ts","lib.es2025.collection.d.ts","lib.es2025.float16.d.ts","lib.es2025.intl.d.ts","lib.es2025.iterator.d.ts","lib.es2025.promise.d.ts","lib.es2025.regexp.d.ts","lib.esnext.array.d.ts","lib.esnext.collection.d.ts","lib.esnext.date.d.ts","lib.esnext.decorators.d.ts","lib.esnext.disposable.d.ts","lib.esnext.error.d.ts","lib.esnext.intl.d.ts","lib.esnext.sharedmemory.d.ts","lib.esnext.temporal.d.ts","lib.esnext.typedarrays.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/next/dist/styled-jsx/types/css.d.ts","../../node_modules/next/dist/styled-jsx/types/macro.d.ts","../../node_modules/next/dist/styled-jsx/types/style.d.ts","../../node_modules/next/dist/styled-jsx/types/global.d.ts","../../node_modules/next/dist/styled-jsx/types/index.d.ts","../../node_modules/next/dist/server/get-page-files.d.ts","../../node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/react/canary.d.ts","../../node_modules/@types/react/experimental.d.ts","../../node_modules/@types/react-dom/index.d.ts","../../node_modules/@types/react-dom/canary.d.ts","../../node_modules/@types/react-dom/experimental.d.ts","../../node_modules/next/dist/lib/fallback.d.ts","../../node_modules/next/dist/server/request/search-params.d.ts","../../node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","../../node_modules/next/dist/server/app-render/vary-params.d.ts","../../node_modules/next/dist/server/request/params.d.ts","../../node_modules/next/dist/server/route-kind.d.ts","../../node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../node_modules/next/dist/server/lib/cache-control.d.ts","../../node_modules/next/dist/compiled/webpack/webpack.d.ts","../../node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../node_modules/next/dist/shared/lib/entry-constants.d.ts","../../node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/next/dist/lib/bundler.d.ts","../../node_modules/next/dist/server/config.d.ts","../../node_modules/next/dist/lib/load-custom-routes.d.ts","../../node_modules/next/dist/shared/lib/image-config.d.ts","../../node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../node_modules/next/dist/server/body-streams.d.ts","../../node_modules/next/dist/server/route-matches/route-match.d.ts","../../node_modules/next/dist/client/components/app-router-headers.d.ts","../../node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../node_modules/next/dist/lib/worker.d.ts","../../node_modules/next/dist/lib/constants.d.ts","../../node_modules/next/dist/server/api-utils/index.d.ts","../../node_modules/next/dist/lib/page-types.d.ts","../../node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../node_modules/next/dist/server/require-hook.d.ts","../../node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../node_modules/next/dist/server/node-environment-baseline.d.ts","../../node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","../../node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../node_modules/next/dist/server/node-environment.d.ts","../../node_modules/next/dist/build/page-extensions-type.d.ts","../../node_modules/next/dist/shared/lib/rsc-transport.d.ts","../../node_modules/next/dist/shared/lib/app-router-types.d.ts","../../node_modules/next/dist/build/static-paths/types.d.ts","../../node_modules/next/dist/build/get-supported-browsers.d.ts","../../node_modules/next/dist/build/utils.d.ts","../../node_modules/next/dist/build/rendering-mode.d.ts","../../node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../node_modules/next/dist/server/lib/cpu-profile.d.ts","../../node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","../../node_modules/next/dist/server/instrumentation/types.d.ts","../../node_modules/next/dist/lib/coalesced-function.d.ts","../../node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../node_modules/next/dist/server/lib/router-utils/types.d.ts","../../node_modules/next/dist/trace/types.d.ts","../../node_modules/next/dist/trace/trace.d.ts","../../node_modules/next/dist/trace/shared.d.ts","../../node_modules/next/dist/trace/index.d.ts","../../node_modules/next/dist/build/load-jsconfig.d.ts","../../node_modules/@next/env/dist/index.d.ts","../../node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../node_modules/next/dist/telemetry/storage.d.ts","../../node_modules/next/dist/build/build-context.d.ts","../../node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../node_modules/next/dist/build/webpack-config.d.ts","../../node_modules/next/dist/build/swc/generated-native.d.ts","../../node_modules/next/dist/build/swc/types.d.ts","../../node_modules/next/dist/server/dev/parse-version-info.d.ts","../../node_modules/next/dist/next-devtools/shared/types.d.ts","../../node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../node_modules/next/dist/server/lib/parse-stack.d.ts","../../node_modules/next/dist/next-devtools/server/shared.d.ts","../../node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../node_modules/next/dist/shared/lib/request-insights.d.ts","../../node_modules/next/dist/next-devtools/shared/request-insights.d.ts","../../node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../node_modules/@types/react-dom/client.d.ts","../../node_modules/@types/react-dom/static.d.ts","../../node_modules/@types/react-dom/server.d.ts","../../node_modules/next/dist/server/app-render/app-render-prerender-utils.d.ts","../../node_modules/next/dist/server/app-render/stream-ops.web.d.ts","../../node_modules/next/dist/server/app-render/stream-ops.d.ts","../../node_modules/next/dist/server/dev/debug-channel.d.ts","../../node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../node_modules/next/dist/server/lib/i18n-provider.d.ts","../../node_modules/next/dist/server/web/next-url.d.ts","../../node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../node_modules/next/dist/server/web/spec-extension/request.d.ts","../../node_modules/next/dist/server/after/builtin-request-context.d.ts","../../node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../node_modules/next/dist/server/web/spec-extension/response.d.ts","../../node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../node_modules/next/dist/server/web/types.d.ts","../../node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../node_modules/next/dist/server/render.d.ts","../../node_modules/next/dist/shared/lib/mitt.d.ts","../../node_modules/next/dist/client/with-router.d.ts","../../node_modules/next/dist/client/router.d.ts","../../node_modules/next/dist/client/route-loader.d.ts","../../node_modules/next/dist/client/page-loader.d.ts","../../node_modules/next/dist/shared/lib/router/router.d.ts","../../node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../node_modules/next/dist/client/components/segment-cache/types.d.ts","../../node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","../../node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","../../node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.d.ts","../../node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","../../node_modules/next/dist/client/components/segment-cache/optimistic-routes.d.ts","../../node_modules/next/dist/client/components/segment-cache/cache.d.ts","../../node_modules/next/dist/client/components/segment-cache/decode-server-response.d.ts","../../node_modules/next/dist/client/components/render-tree.d.ts","../../node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../node_modules/next/dist/build/templates/pages.d.ts","../../node_modules/next/dist/server/route-modules/pages/module.d.ts","../../node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../node_modules/next/dist/server/load-default-error-components.d.ts","../../node_modules/next/dist/server/base-http/node.d.ts","../../node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../node_modules/next/dist/server/normalizers/normalizer.d.ts","../../node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../node_modules/next/dist/server/base-server.d.ts","../../node_modules/next/dist/server/lib/async-callback-set.d.ts","../../node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../node_modules/@img/colour/index.d.ts","../../node_modules/sharp/dist/index.d.mts","../../node_modules/next/dist/server/image-optimizer/transform.d.ts","../../node_modules/next/dist/server/image-optimizer/image-error.d.ts","../../node_modules/next/dist/server/image-optimizer.d.ts","../../node_modules/next/dist/server/next-server.d.ts","../../node_modules/next/dist/server/lib/types.d.ts","../../node_modules/next/dist/server/lib/lru-cache.d.ts","../../node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../node_modules/next/dist/server/dev/next-dev-server.d.ts","../../node_modules/next/dist/server/next.d.ts","../../node_modules/next/dist/server/lib/render-server.d.ts","../../node_modules/next/dist/server/lib/router-server.d.ts","../../node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../node_modules/next/dist/server/route-modules/route-module.d.ts","../../node_modules/next/dist/server/load-components.d.ts","../../node_modules/next/dist/server/web/adapter.d.ts","../../node_modules/next/dist/server/response-cache/types.d.ts","../../node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","../../node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../node_modules/next/dist/server/app-render/types.d.ts","../../node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../node_modules/next/dist/export/routes/types.d.ts","../../node_modules/next/dist/export/types.d.ts","../../node_modules/next/dist/export/worker.d.ts","../../node_modules/next/dist/build/worker.d.ts","../../node_modules/next/dist/build/index.d.ts","../../node_modules/next/dist/server/lib/route-cache-key.d.ts","../../node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/next/dist/server/request/fallback-params.d.ts","../../node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","../../node_modules/next/dist/server/after/after.d.ts","../../node_modules/next/dist/server/after/index.d.ts","../../node_modules/next/dist/server/request/connection.d.ts","../../node_modules/next/dist/server/web/exports/index.d.ts","../../node_modules/next/dist/server/request-meta.d.ts","../../node_modules/next/dist/cli/next-test.d.ts","../../node_modules/next/dist/server/use-cache/cache-life-profile.d.ts","../../node_modules/next/dist/server/use-cache/cache-life.d.ts","../../node_modules/next/dist/shared/lib/size-limit.d.ts","../../node_modules/next/dist/server/config-shared.d.ts","../../node_modules/next/dist/server/base-http/index.d.ts","../../node_modules/next/dist/server/client-component-renderer-logger.d.ts","../../node_modules/next/dist/server/render-result.d.ts","../../node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../node_modules/next/dist/server/lib/app-dir-module.d.ts","../../node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../node_modules/next/dist/server/app-render/cache-signal.d.ts","../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","../../node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","../../node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","../../node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../node_modules/next/dist/server/lib/lazy-result.d.ts","../../node_modules/next/dist/server/lib/implicit-tags.d.ts","../../node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../node_modules/next/dist/server/dynamic-rendering-utils.d.ts","../../node_modules/next/dist/server/app-render/segment-config/ensure-static.d.ts","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../node_modules/next/dist/server/after/after-context.d.ts","../../node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../node_modules/next/dist/server/app-render/debug-channel-server.web.d.ts","../../node_modules/next/dist/server/app-render/debug-channel-server.node.d.ts","../../node_modules/next/dist/server/app-render/debug-channel-server.d.ts","../../node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","../../node_modules/next/dist/shared/lib/typescript-utils.d.ts","../../node_modules/next/dist/server/app-render/dev-validation-worker-globals.d.ts","../../node_modules/next/dist/server/app-render/create-transport-tree-from-loader-tree.d.ts","../../node_modules/next/dist/server/route-modules/app-page/parse-request-headers.d.ts","../../node_modules/next/dist/server/app-render/app-render.d.ts","../../node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../node_modules/next/dist/client/components/error-boundary.d.ts","../../node_modules/next/dist/client/components/layout-router.d.ts","../../node_modules/next/dist/client/components/render-from-template-context.d.ts","../../node_modules/next/dist/client/components/client-page.d.ts","../../node_modules/next/dist/client/components/client-segment.d.ts","../../node_modules/next/dist/client/components/hooks-server-context.d.ts","../../node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../node_modules/next/dist/lib/metadata/types/icons.d.ts","../../node_modules/next/dist/lib/metadata/metadata-resolution-primitives.d.ts","../../node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../node_modules/next/dist/lib/metadata/metadata.d.ts","../../node_modules/next/dist/lib/metadata/index.d.ts","../../node_modules/next/dist/lib/framework/boundary-components.d.ts","../../node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../node_modules/next/dist/server/app-render/postponed-state.d.ts","../../node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../node_modules/next/dist/server/app-render/entry-base.d.ts","../../node_modules/next/dist/build/templates/app-page.d.ts","../../node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","../../node_modules/@types/react/jsx-dev-runtime.d.ts","../../node_modules/@types/react/jsx-runtime.d.ts","../../node_modules/@types/react/compiler-runtime.d.ts","../../node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../node_modules/next/dist/server/async-storage/work-store.d.ts","../../node_modules/next/dist/server/web/http.d.ts","../../node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../node_modules/next/dist/client/components/redirect-status-code.d.ts","../../node_modules/next/dist/client/components/redirect-error.d.ts","../../node_modules/next/dist/build/templates/app-route.d.ts","../../node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../node_modules/next/dist/build/adapter/build-complete.d.ts","../../node_modules/next/dist/client/router-transition-types.d.ts","../../node_modules/next/dist/types.d.ts","../../node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../node_modules/next/dist/shared/lib/utils.d.ts","../../node_modules/next/dist/pages/_app.d.ts","../../node_modules/next/app.d.ts","../../node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../node_modules/next/dist/server/request/io.d.ts","../../node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../node_modules/next/dist/server/request/cache-stages.d.ts","../../node_modules/next/cache.d.ts","../../node_modules/next/dist/pages/_document.d.ts","../../node_modules/next/document.d.ts","../../node_modules/next/dist/shared/lib/dynamic.d.ts","../../node_modules/next/dynamic.d.ts","../../node_modules/next/dist/pages/_error.d.ts","../../node_modules/next/dist/client/components/catch-error.d.ts","../../node_modules/next/dist/api/error.d.ts","../../node_modules/next/error.d.ts","../../node_modules/next/dist/shared/lib/head.d.ts","../../node_modules/next/head.d.ts","../../node_modules/next/dist/server/request/cookies.d.ts","../../node_modules/next/dist/server/request/headers.d.ts","../../node_modules/next/dist/server/request/draft-mode.d.ts","../../node_modules/next/headers.d.ts","../../node_modules/next/dist/shared/lib/get-img-props.d.ts","../../node_modules/next/dist/shared/lib/image-external-get-image-props.d.ts","../../node_modules/next/dist/api/image.d.ts","../../node_modules/next/dist/client/image-component.d.ts","../../node_modules/next/dist/shared/lib/image-external.d.ts","../../node_modules/next/image.d.ts","../../node_modules/next/dist/client/link.d.ts","../../node_modules/next/link.d.ts","../../node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../node_modules/next/dist/client/components/redirect.d.ts","../../node_modules/next/dist/client/components/not-found.d.ts","../../node_modules/next/dist/client/components/forbidden.d.ts","../../node_modules/next/dist/client/components/unauthorized.d.ts","../../node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../node_modules/next/dist/client/components/navigation.react-server.d.ts","../../node_modules/next/dist/client/components/navigation.d.ts","../../node_modules/next/navigation.d.ts","../../node_modules/next/router.d.ts","../../node_modules/next/dist/client/script.d.ts","../../node_modules/next/script.d.ts","../../node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../node_modules/next/server.d.ts","../../node_modules/next/types/global.d.ts","../../node_modules/next/types/compiled.d.ts","../../node_modules/next/types.d.ts","../../node_modules/next/index.d.ts","../../node_modules/next/image-types/global.d.ts","../types/routes.d.ts","../types/root-params.d.ts","../../next-env.d.ts","../../node_modules/drizzle-kit/index.d.mts","../../drizzle.config.ts","../../node_modules/@eloqnt/config/dist/index.d.mts","../../node_modules/next-intl/dist/types/extractor/format/ExtractorCodec.d.ts","../../node_modules/@eloqnt/format-json/dist/index.d.mts","../../node_modules/next-intl/dist/types/extractor/format/codecs/BuiltInPoCodec.d.ts","../../node_modules/next-intl/dist/types/extractor/format/index.d.ts","../../node_modules/next-intl/dist/types/extractor/format/types.d.ts","../../node_modules/next-intl/dist/types/extractor/types.d.ts","../../node_modules/next-intl/dist/types/plugin/types.d.ts","../../node_modules/next-intl/dist/types/plugin/createNextIntlPlugin.d.ts","../../node_modules/next-intl/dist/types/plugin/index.d.ts","../../node_modules/next-intl/dist/types/plugin.d.ts","../../next.config.ts","../../node_modules/next-intl/dist/types/routing/types.d.ts","../../node_modules/next-intl/dist/types/routing/config.d.ts","../../node_modules/next-intl/dist/types/middleware/middleware.d.ts","../../node_modules/next-intl/dist/types/middleware/index.d.ts","../../node_modules/next-intl/dist/types/middleware.d.ts","../../i18n/routing.ts","../../proxy.ts","../../node_modules/tailwindcss/dist/colors.d.mts","../../node_modules/tailwindcss/dist/resolve-config-QUZ9b-Gn.d.mts","../../node_modules/tailwindcss/dist/types-DWdTiksJ.d.mts","../../node_modules/tailwindcss/dist/lib.d.mts","../../tailwind.config.ts","../../node_modules/decimal.js/decimal.d.ts","../../node_modules/postgres/types/index.d.ts","../../node_modules/drizzle-orm/entity.d.ts","../../node_modules/drizzle-orm/logger.d.ts","../../node_modules/drizzle-orm/casing.d.ts","../../node_modules/drizzle-orm/subquery.d.ts","../../node_modules/drizzle-orm/table.d.ts","../../node_modules/drizzle-orm/operations.d.ts","../../node_modules/drizzle-orm/query-builders/select.types.d.ts","../../node_modules/drizzle-orm/sql/sql.d.ts","../../node_modules/drizzle-orm/utils.d.ts","../../node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../node_modules/drizzle-orm/sql/expressions/select.d.ts","../../node_modules/drizzle-orm/sql/expressions/index.d.ts","../../node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../node_modules/drizzle-orm/sql/functions/vector.d.ts","../../node_modules/drizzle-orm/sql/functions/index.d.ts","../../node_modules/drizzle-orm/sql/index.d.ts","../../node_modules/drizzle-orm/gel-core/checks.d.ts","../../node_modules/drizzle-orm/gel-core/sequence.d.ts","../../node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../node_modules/drizzle-orm/gel-core/columns/bigintT.d.ts","../../node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../node_modules/drizzle-orm/gel-core/indexes.d.ts","../../node_modules/drizzle-orm/gel-core/roles.d.ts","../../node_modules/drizzle-orm/gel-core/policies.d.ts","../../node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../node_modules/drizzle-orm/gel-core/table.d.ts","../../node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../node_modules/drizzle-orm/gel-core/view-base.d.ts","../../node_modules/drizzle-orm/cache/core/types.d.ts","../../node_modules/drizzle-orm/relations.d.ts","../../node_modules/drizzle-orm/session.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../node_modules/drizzle-orm/query-promise.d.ts","../../node_modules/drizzle-orm/runnable-query.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../node_modules/drizzle-orm/gel-core/subquery.d.ts","../../node_modules/drizzle-orm/gel-core/db.d.ts","../../node_modules/drizzle-orm/gel-core/session.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../node_modules/drizzle-orm/gel-core/dialect.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../node_modules/drizzle-orm/gel-core/view-common.d.ts","../../node_modules/drizzle-orm/gel-core/view.d.ts","../../node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../node_modules/drizzle-orm/gel-core/alias.d.ts","../../node_modules/drizzle-orm/gel-core/schema.d.ts","../../node_modules/drizzle-orm/gel-core/utils.d.ts","../../node_modules/drizzle-orm/gel-core/index.d.ts","../../node_modules/drizzle-orm/mysql-core/checks.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../node_modules/drizzle-orm/mysql-core/table.d.ts","../../node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../node_modules/drizzle-orm/migrator.d.ts","../../node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../node_modules/drizzle-orm/mysql-core/db.d.ts","../../node_modules/drizzle-orm/mysql-core/session.d.ts","../../node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../node_modules/drizzle-orm/mysql-core/view.d.ts","../../node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../node_modules/drizzle-orm/mysql-core/alias.d.ts","../../node_modules/drizzle-orm/mysql-core/schema.d.ts","../../node_modules/drizzle-orm/mysql-core/utils.d.ts","../../node_modules/drizzle-orm/mysql-core/index.d.ts","../../node_modules/drizzle-orm/pg-core/checks.d.ts","../../node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../node_modules/drizzle-orm/pg-core/sequence.d.ts","../../node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../node_modules/drizzle-orm/pg-core/indexes.d.ts","../../node_modules/drizzle-orm/pg-core/roles.d.ts","../../node_modules/drizzle-orm/pg-core/policies.d.ts","../../node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../node_modules/drizzle-orm/pg-core/table.d.ts","../../node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../node_modules/drizzle-orm/pg-core/view-base.d.ts","../../node_modules/drizzle-orm/pg-core/session.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../node_modules/drizzle-orm/pg-core/subquery.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../node_modules/drizzle-orm/pg-core/dialect.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../node_modules/drizzle-orm/pg-core/view-common.d.ts","../../node_modules/drizzle-orm/pg-core/view.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../node_modules/drizzle-orm/pg-core/alias.d.ts","../../node_modules/drizzle-orm/pg-core/schema.d.ts","../../node_modules/drizzle-orm/pg-core/utils.d.ts","../../node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../node_modules/drizzle-orm/pg-core/index.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../node_modules/drizzle-orm/singlestore-core/table.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../node_modules/drizzle-orm/cache/core/index.d.ts","../../node_modules/drizzle-orm/singlestore/session.d.ts","../../node_modules/drizzle-orm/singlestore/driver.d.ts","../../node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../node_modules/drizzle-orm/singlestore-core/db.d.ts","../../node_modules/drizzle-orm/singlestore-core/session.d.ts","../../node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../node_modules/drizzle-orm/singlestore-core/index.d.ts","../../node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../node_modules/drizzle-orm/sqlite-core/db.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../node_modules/drizzle-orm/sqlite-core/session.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../node_modules/drizzle-orm/sqlite-core/view.d.ts","../../node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../node_modules/drizzle-orm/sqlite-core/table.d.ts","../../node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../node_modules/drizzle-orm/sqlite-core/index.d.ts","../../node_modules/drizzle-orm/column-builder.d.ts","../../node_modules/drizzle-orm/column.d.ts","../../node_modules/drizzle-orm/alias.d.ts","../../node_modules/drizzle-orm/errors.d.ts","../../node_modules/drizzle-orm/view-common.d.ts","../../node_modules/drizzle-orm/index.d.ts","../../node_modules/drizzle-orm/cache/core/cache.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../node_modules/drizzle-orm/pg-core/db.d.ts","../../node_modules/drizzle-orm/postgres-js/session.d.ts","../../node_modules/drizzle-orm/postgres-js/driver.d.ts","../../node_modules/drizzle-orm/postgres-js/index.d.ts","../../db/schema.ts","../../db/index.ts","../../db/push.ts","../../node_modules/use-intl/dist/types/core/AbstractIntlMessages.d.ts","../../node_modules/use-intl/dist/types/core/TranslationValues.d.ts","../../node_modules/use-intl/dist/types/core/TimeZone.d.ts","../../node_modules/use-intl/dist/types/core/DateTimeFormatOptions.d.ts","../../node_modules/intl-messageformat/node_modules/@formatjs/icu-skeleton-parser/index.d.ts","../../node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser/index.d.ts","../../node_modules/intl-messageformat/index.d.ts","../../node_modules/use-intl/dist/types/core/NumberFormatOptions.d.ts","../../node_modules/use-intl/dist/types/core/Formats.d.ts","../../node_modules/use-intl/dist/types/core/AppConfig.d.ts","../../node_modules/use-intl/dist/types/core/IntlErrorCode.d.ts","../../node_modules/use-intl/dist/types/core/IntlError.d.ts","../../node_modules/use-intl/dist/types/core/types.d.ts","../../node_modules/use-intl/dist/types/core/IntlConfig.d.ts","../../node_modules/@schummar/icu-type-parser/dist/index.d.ts","../../node_modules/use-intl/dist/types/core/ICUArgs.d.ts","../../node_modules/use-intl/dist/types/core/ICUTags.d.ts","../../node_modules/use-intl/dist/types/core/MessageKeys.d.ts","../../node_modules/use-intl/dist/types/core/formatters.d.ts","../../node_modules/use-intl/dist/types/core/createTranslator.d.ts","../../node_modules/use-intl/dist/types/core/RelativeTimeFormatOptions.d.ts","../../node_modules/use-intl/dist/types/core/createFormatter.d.ts","../../node_modules/use-intl/dist/types/core/initializeConfig.d.ts","../../node_modules/use-intl/dist/types/core/hasLocale.d.ts","../../node_modules/use-intl/dist/types/core/index.d.ts","../../node_modules/use-intl/dist/types/core.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getRequestConfig.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getFormatter.d.ts","../../node_modules/use-intl/dist/types/react/IntlProvider.d.ts","../../node_modules/use-intl/dist/types/react/useTranslations.d.ts","../../node_modules/use-intl/dist/types/react/useLocale.d.ts","../../node_modules/use-intl/dist/types/react/useNow.d.ts","../../node_modules/use-intl/dist/types/react/useTimeZone.d.ts","../../node_modules/use-intl/dist/types/react/useMessages.d.ts","../../node_modules/use-intl/dist/types/react/useFormatter.d.ts","../../node_modules/use-intl/dist/types/react/useExtracted.d.ts","../../node_modules/use-intl/dist/types/react/index.d.ts","../../node_modules/use-intl/dist/types/react.d.ts","../../node_modules/use-intl/dist/types/index.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getNow.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getTimeZone.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getTranslations.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getServerExtractor.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getExtracted.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getConfig.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getMessages.d.ts","../../node_modules/next-intl/dist/types/server/react-server/getLocale.d.ts","../../node_modules/next-intl/dist/types/server/react-server/RequestLocaleCache.d.ts","../../node_modules/next-intl/dist/types/server/react-server/index.d.ts","../../node_modules/next-intl/dist/types/server.react-server.d.ts","../../i18n/request.ts","../../lib/format-inr.ts","../../node_modules/zod/v4/core/json-schema.d.cts","../../node_modules/zod/v4/core/standard-schema.d.cts","../../node_modules/zod/v4/core/registries.d.cts","../../node_modules/zod/v4/core/to-json-schema.d.cts","../../node_modules/zod/v4/core/util.d.cts","../../node_modules/zod/v4/core/versions.d.cts","../../node_modules/zod/v4/core/schemas.d.cts","../../node_modules/zod/v4/core/checks.d.cts","../../node_modules/zod/v4/core/errors.d.cts","../../node_modules/zod/v4/core/core.d.cts","../../node_modules/zod/v4/core/parse.d.cts","../../node_modules/zod/v4/core/memoizer.d.cts","../../node_modules/zod/v4/core/regexes.d.cts","../../node_modules/zod/v4/locales/ar.d.cts","../../node_modules/zod/v4/locales/az.d.cts","../../node_modules/zod/v4/locales/be.d.cts","../../node_modules/zod/v4/locales/bg.d.cts","../../node_modules/zod/v4/locales/bn.d.cts","../../node_modules/zod/v4/locales/ca.d.cts","../../node_modules/zod/v4/locales/ckb.d.cts","../../node_modules/zod/v4/locales/cs.d.cts","../../node_modules/zod/v4/locales/da.d.cts","../../node_modules/zod/v4/locales/de.d.cts","../../node_modules/zod/v4/locales/el.d.cts","../../node_modules/zod/v4/locales/en.d.cts","../../node_modules/zod/v4/locales/eo.d.cts","../../node_modules/zod/v4/locales/es.d.cts","../../node_modules/zod/v4/locales/fa.d.cts","../../node_modules/zod/v4/locales/fi.d.cts","../../node_modules/zod/v4/locales/fr.d.cts","../../node_modules/zod/v4/locales/fr-CA.d.cts","../../node_modules/zod/v4/locales/gu.d.cts","../../node_modules/zod/v4/locales/he.d.cts","../../node_modules/zod/v4/locales/hi.d.cts","../../node_modules/zod/v4/locales/hr.d.cts","../../node_modules/zod/v4/locales/hu.d.cts","../../node_modules/zod/v4/locales/hy.d.cts","../../node_modules/zod/v4/locales/id.d.cts","../../node_modules/zod/v4/locales/is.d.cts","../../node_modules/zod/v4/locales/it.d.cts","../../node_modules/zod/v4/locales/ja.d.cts","../../node_modules/zod/v4/locales/ka.d.cts","../../node_modules/zod/v4/locales/kh.d.cts","../../node_modules/zod/v4/locales/km.d.cts","../../node_modules/zod/v4/locales/kn.d.cts","../../node_modules/zod/v4/locales/ko.d.cts","../../node_modules/zod/v4/locales/lt.d.cts","../../node_modules/zod/v4/locales/mk.d.cts","../../node_modules/zod/v4/locales/ms.d.cts","../../node_modules/zod/v4/locales/ne.d.cts","../../node_modules/zod/v4/locales/nl.d.cts","../../node_modules/zod/v4/locales/nn.d.cts","../../node_modules/zod/v4/locales/no.d.cts","../../node_modules/zod/v4/locales/ota.d.cts","../../node_modules/zod/v4/locales/ps.d.cts","../../node_modules/zod/v4/locales/pl.d.cts","../../node_modules/zod/v4/locales/pt.d.cts","../../node_modules/zod/v4/locales/pt-BR.d.cts","../../node_modules/zod/v4/locales/ro.d.cts","../../node_modules/zod/v4/locales/ru.d.cts","../../node_modules/zod/v4/locales/sk.d.cts","../../node_modules/zod/v4/locales/sl.d.cts","../../node_modules/zod/v4/locales/sv.d.cts","../../node_modules/zod/v4/locales/ta.d.cts","../../node_modules/zod/v4/locales/tg.d.cts","../../node_modules/zod/v4/locales/th.d.cts","../../node_modules/zod/v4/locales/tk.d.cts","../../node_modules/zod/v4/locales/tr.d.cts","../../node_modules/zod/v4/locales/ua.d.cts","../../node_modules/zod/v4/locales/uk.d.cts","../../node_modules/zod/v4/locales/ur.d.cts","../../node_modules/zod/v4/locales/uz.d.cts","../../node_modules/zod/v4/locales/vi.d.cts","../../node_modules/zod/v4/locales/zh-CN.d.cts","../../node_modules/zod/v4/locales/zh-TW.d.cts","../../node_modules/zod/v4/locales/yo.d.cts","../../node_modules/zod/v4/locales/index.d.cts","../../node_modules/zod/v4/core/doc.d.cts","../../node_modules/zod/v4/core/compile.d.cts","../../node_modules/zod/v4/core/api.d.cts","../../node_modules/zod/v4/core/json-schema-processors.d.cts","../../node_modules/zod/v4/core/json-schema-generator.d.cts","../../node_modules/zod/v4/core/index.d.cts","../../node_modules/zod/v4/classic/errors.d.cts","../../node_modules/zod/v4/classic/parse.d.cts","../../node_modules/zod/v4/classic/schemas.d.cts","../../node_modules/zod/v4/classic/checks.d.cts","../../node_modules/zod/v4/classic/compat.d.cts","../../node_modules/zod/v4/classic/from-json-schema.d.cts","../../node_modules/zod/v4/classic/deep-partial.d.cts","../../node_modules/zod/v4/classic/in-out.d.cts","../../node_modules/zod/v4/classic/iso.d.cts","../../node_modules/zod/v4/classic/coerce.d.cts","../../node_modules/zod/v4/classic/external.d.cts","../../node_modules/zod/index.d.cts","../../lib/money.ts","../../node_modules/clsx/clsx.d.mts","../../node_modules/tailwind-merge/dist/types.d.ts","../../lib/utils.ts","../../scripts/seed.ts","../../node_modules/next/dist/compiled/@next/font/dist/types.d.ts","../../node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","../../node_modules/next/font/google/index.d.ts","../../app/layout.tsx","../../app/page.tsx","../../node_modules/next-intl/dist/types/shared/NextIntlClientProvider.d.ts","../../node_modules/next-intl/dist/types/react-client/index.d.ts","../../node_modules/next-intl/dist/types/index.react-client.d.ts","../../node_modules/lucide-react/dist/lucide-react.d.ts","../../node_modules/@radix-ui/react-slot/dist/index.d.mts","../../node_modules/class-variance-authority/dist/types.d.ts","../../node_modules/class-variance-authority/dist/index.d.ts","../../components/ui/button.tsx","../../app/[locale]/layout.tsx","../../app/[locale]/page.tsx","../../components/ui/card.tsx","../../components/ui/badge.tsx","../../app/[locale]/catalog/category/[slug]/page.tsx","../../app/[locale]/catalog/product/[slug]/page.tsx","../../node_modules/@radix-ui/react-context/dist/index.d.mts","../../node_modules/@radix-ui/react-primitive/dist/index.d.mts","../../node_modules/@radix-ui/react-avatar/dist/index.d.mts","../../components/ui/avatar.tsx","../../node_modules/@radix-ui/react-checkbox/dist/index.d.mts","../../components/ui/checkbox.tsx","../../node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts","../../node_modules/@radix-ui/react-focus-scope/dist/index.d.mts","../../node_modules/@radix-ui/react-portal/dist/index.d.mts","../../node_modules/@radix-ui/react-dialog/dist/index.d.mts","../../components/ui/dialog.tsx","../../node_modules/@radix-ui/react-arrow/dist/index.d.mts","../../node_modules/@radix-ui/rect/dist/index.d.mts","../../node_modules/@radix-ui/react-popper/dist/index.d.mts","../../node_modules/@radix-ui/react-roving-focus/dist/index.d.mts","../../node_modules/@radix-ui/react-menu/dist/index.d.mts","../../node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts","../../components/ui/dropdown-menu.tsx","../../components/ui/input.tsx","../../node_modules/@radix-ui/react-label/dist/index.d.mts","../../components/ui/label.tsx","../../node_modules/@radix-ui/react-popover/dist/index.d.mts","../../components/ui/popover.tsx","../../node_modules/@radix-ui/react-radio-group/dist/index.d.mts","../../components/ui/radio-group.tsx","../../node_modules/@radix-ui/react-scroll-area/dist/index.d.mts","../../components/ui/scroll-area.tsx","../../node_modules/@radix-ui/react-select/dist/index.d.mts","../../components/ui/select.tsx","../../node_modules/@radix-ui/react-separator/dist/index.d.mts","../../components/ui/separator.tsx","../../node_modules/@radix-ui/react-switch/dist/index.d.mts","../../components/ui/switch.tsx","../../node_modules/@radix-ui/react-tooltip/dist/index.d.mts","../../components/ui/tooltip.tsx","../types/cache-life.d.ts","../types/validator.ts","../dev/types/cache-life.d.ts","../dev/types/root-params.d.ts","../dev/types/routes.d.ts","../dev/types/validator.ts"],"fileInfos":[{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f","feb6c6fb19cdb246a5d8acb36a6901c7","9443a7f109277ffaa79d893ed2549995","793cee405385076e27c24f409659dccd","09f69c6610266eaee1ac9e3e30df2c71","62bad718844246b8e17547f37bad6085",{"version":"aae8996e8b5684814785a42cbbefcd79","affectsGlobalScope":true,"impliedNodeFormat":1},"abad6dd56cc8caf095c165df8124d237",{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2b056277dd138e8f5650fc04e20eaa8d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1da2c1f258970fd3cc91184f69e91a9d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4fc71cf4a15b8d99675a31df77f26e07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d1b49564ddaeca3df5b6dbae925d2242","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6a25be566d60ccfc2d6e8b7bfdeefa83","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8a20e27646985dfd58c57ca6566553dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9969f02ad3cdcbf4f709405cda44167f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9c9be4792a7a4f42c15ae7360bf28779","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8cf777fe00349b71ee9c4b6f3fe7fd19","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"74f96bc192530c9723f572bfff3d3078","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1df91c56b25955c56387426f378173c5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"38856f70edcd2115c355d96ec77cc09e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"de8700156c1275465bcd473c28b359aa","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d47cfdb6ede40518357bb5a4cd7cd9fb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6e5773860cd9e5b15e683113f642ab47","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"30ff5fe1682f7fcd629880476ca3c2e0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"bf23d7d1b40b9015b694ddc2f011752f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2cc585d42e2c548f9f24a30a1989fd33","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"713906ce9d332d2242b7f05ed9304be3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0219894bfe5042c7e1aa2d22e4a91ed0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6009ffff7e43c93318804d2d28e37fe3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"03be89b227587594fbb50509fc1c2e45","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b30df52dc24740c0bad7c55c3511df7d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ab8d3c9b5ed5c2ab8f383607eef439f0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d950ec671d0a8e07f3c1a31e94abed86","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1abef2ace5eccb02d60dd73cd5a5ee4c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5f0a3044029d1cc081b5887eb4deb07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d57c697f1446940ec4bfe669c962e2c4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"be41035d7b941482a1e1ae6a5c5dcca5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"10f7d9da7564f27f8ddf4a162b6da6d3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1d0520af549e0c3581f15173cc713ca1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d65083f97fd741cff028472563eddb79","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"da7f24f00653ebac660ac1c0821ed33d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7cb5ae9e65516ea2235f0721f6aac43c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3da32f579a405e749170b590fd3cb5cb","affectsGlobalScope":true,"impliedNodeFormat":1},"8244c8f803a86fcac606483469eb85c3","a365003541cf3835e49853cde7a6187b","0d018d37873f83e39b04cf9f393bb633","d0c73e7d0f2051dc38a64cb3d5163598","09c7fbdd3f7e31b5ecf71d0966a1f6a2","5224460269d7b467e926d3ca0213dbe4","587e4795e50c33ffa8c33f3cc3d7bfec","1189cfffe1472394b01e345372918b04",{"version":"90630acdc4134173bcf216f187bd3010","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"913b52a39743d1c11984e4e124b1f3a8","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2514e9a2749c0fc18d2f478e9e1e641e","affectsGlobalScope":true,"impliedNodeFormat":1},"fe51d7a9bcdbcce1e65bbcf39b212298",{"version":"60edda1b5f28f8e7d7a6fae700faef3c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c1e63dda4b90a1e1366f02bef000b96","affectsGlobalScope":true,"impliedNodeFormat":1},"628b774b54637325e286752c79c12432","597e516ba8427cccc7f3fe944da2f942","514fd35e5eb35bb2e5cbb908af0a0aa2","ed57ae88565308729f2327f26d684976","dcd932d6b0038f2e250e30dc10125b22","9508c917bd7e458745e222a82dd24ef0","fabf86f455f96b90538cc26320ab2765","14550b4cd9f433e0addd8b6d67614d23","3658d7d7a61e0ebff921a3292f22e90b","35fef7bac8048f583e4ce6eaa0c2a4c0","6752dc653fc7a333027249fd851fdb62","b9ad7e689b46dfba362c1bf174e69018","8b0a2930dfabdf27c69c6bb1eeabcdc8","4513b1ed15523d247040689f37fa9db2","5c0c499eed773a750903d9497beafacd","2377da227d1bac82ff7b3f2081ddf8d3","beef985b474fefeb80d27fb2c8778371","c79fc9d9f09ae598a374ae7c0b5284a4","f2caa3cebb1e6be855519004830a6be0","8ebc9f2a77c900e710801214c5cb994c","ec617a0e0577dd6a3210c3b067ecb325","1db5d06e485bd82d6d5f6e36925a8714","24b864518967840216c779b5e5f00975","8719cd8047700bfb6046798390053823","f2840afb502c94db92dab0fb8d27812f","a7e7d08b372210c203745d3eac61a411","080e18c5c990ea45f1cef364d70752dc","f627eb958ca52c85e42f04dce4661f86","9a43fc665bce9012a3d5fe1b574ff4dc","f73acc120f546c657b397c0a94735c6c","65120a1f21eb1dd02d75a088fed36f5c","76c826fcd6eb5ef225911be271cddb72","497d93d55e86fc28e7349c280f5ae35c","928971ebbcdf5b093ef37669b33bddf6","b744265d8ad12b7d4d5c5dc35d18d44e","eff32168b8348b822afeed9cbf61afa7","9aafd1f29b4d8861c1c6c34bf83c0721",{"version":"4ebd023fcf8c54a857ffcd32201752f6","affectsGlobalScope":true,"impliedNodeFormat":1},"733f474cf1b46601866da15691a5e0b0","7deced3ef46e082f97d49bb71622526a","80db5e4e8729cc848762c533f26ba14f",{"version":"463a39319da2585d0190e1d54ad7f527","affectsGlobalScope":true,"impliedNodeFormat":1},"aed221d3d7833eb17e6731e20f7943ca","8605d033a4ecc20c2db16380f2fb7583",{"version":"c37fea1584ced70492ff5748ed570abd","affectsGlobalScope":true,"impliedNodeFormat":1},"c57682233d627206c477b36c1c175b7c",{"version":"53142db2fd6be2fd3ee7125e3b623f9d","affectsGlobalScope":true,"impliedNodeFormat":1},"ad4749ea6eac08e02b10406eab2d2c35","717b434a98f6ec5511f0217b2ff42a2f","12bab9b6486feae695e934c96dfb6ee2","3cb79fd19dc16341067e495af9d10a69","7fd0f028e135bdf15ff757781a2f4ba9",{"version":"7ed47a7721271e796e9756b45734feaf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"38e284c8edb6723ad52ce4d2109facd3","affectsGlobalScope":true,"impliedNodeFormat":1},"aacbe1fdd3363ed992465aaef2c5b848","11534321f344ce61179eaed1d4aae074","6995dac736465ca98a7a289da3777d89","3c7f6b30d1698593f3931bdd6f2ae8e8","01484002264623099db2071558bb3ec4","aeb99f7834d44f5695708b0e58bf3d15",{"version":"a36d5436b5b96108258f20c23ebb1aa4","affectsGlobalScope":true,"impliedNodeFormat":1},"e10062e5db656b352d15a2e1b5b7d7f4","00184ec2ee2e489b42235bcd75d93cd8","18c4bd40535eb3d4cbe8f28f854272c2",{"version":"3cce2542345bacb38a5238e67ba4ccb4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae3d94d90f998487d4bb0aced4bb3e86","affectsGlobalScope":true,"impliedNodeFormat":1},"eb80d821e5e931dcccee2697f3e249e2","9ec8a2c945e55627223f39e476c6e6c1","9a62058bc2d476e807cc6594eed72adb","dd0c03e63afe38f86d61b2d54a9ad760","6534825a8bda3eeecde9bca9e3a99712","09a582ab2a73806ab5887ea413b3d55a","8b7b8370e8aeb54f6d51cd1256e716dc","c8206d568b54e5ea06131963eecd576a","cf3b2ff720e926f366519cc83c99018a",{"version":"1fdb286bd40d3546e4dff35943e4499c","affectsGlobalScope":true,"impliedNodeFormat":1},"e7faf6c8f9fff0877e8bf8f376887599",{"version":"0fde18ef12d7c055560e8268a1a46ae6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"5eca9ddadf26c91078d3214a48f0d441","affectsGlobalScope":true,"impliedNodeFormat":1},"f976d813170989166a0ca9a06971f548","13dcf1bf49f96072ccfe74d9bf827c9c","3c29bf7066a67e7151f563fc1c4e56cb","00d49834780046c2d6a7da3e50d83cca",{"version":"53994c327e920f7d0925674a7982aa20","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3dba0673a2ad38f2b7e10c45edb72fb8","affectsGlobalScope":true,"impliedNodeFormat":1},"f98a77fe4b27076e8d1d44ba20549089","b70117f7970f77f992c43f1a56f7225a","b49ed0b9a9de2abbd3c8308d16a58b4e",{"version":"73cb6b577301cbaec27d15e3c776d22c","affectsGlobalScope":true,"impliedNodeFormat":1},"9b67963f8be11a0b256ad0bf72aaca64","3f985e5e167cdd058139c087057accfe","4609cd7ffbcb5683e4bbc28b7c0457e8","d28572b0dbc86f91c8816642bc130a90","0cee7fb8cebe58ec8358fce595ad0f65","fe09f5a49517d7e2708f2893958642b3","979858727336ff8e68a6829b01143d3a","66adf958942b6423d420a83f6a359921","53da398e2931c27525f6b98b51195544","d940c49c2fe0fd6d89f6df2af507a5dc","2e0dbfd4971774651a016fbfa8d11141","7e42bca6863e98ed4290dfbf0e99f4bf","4c0be38b4d1acf8f8b0b9a0767fe9647","a10591b236ae1f4a01c9d703b3134bf7","2e5924019ea76834c1caf0516aad817a","2342ee6c54bdb23fb64197da5a5f80cf","ce99eaae6edcfd648c3bdb3e1466034f","6f0b21c3cc7e8404f37a5fb33ca1c0f5","bddfa898abce726722fb50259baaea5f","c1f736c91e631e235f788776d03d9283","dc463d2294aa1cb6d6d46280eaac944f","5e4f4b9929e9cdb5b551bf77d481f41e","631f55fca0930aee2756d7f24454c42d","3f9bb436433bb1b4aeed67704d4c9fbe","9809d9a77d7e742b93455657493241e2","6edcdf010c974d79c33cd8864d2f7fcb","8485b6f07e43fd917a830561a3a6423f","f4cda3c012332108625128b1b063cac7","99aa06d3014798d86001c324468d497f","fd9cdc6f26628c5b10e2f1b83745b144","450eb189a1b32c466a08ff2fe51fd1b9","e3325700a2c544d1835e908a23ef07c6","ecada4aee9be69bf046dcdcc35ca89b1","357b9720f5a6fa4f46f5eed3ff26b178","d78fa9f84974da205c767eacf4462ff1","e82309303d27b1426459d967370e04b6","32bbe119855013ebac674e6772b73721","d2a4c7aa421867cb303e28fc2cb30fed","c8c0942ba565635ba00cd5e6055e48ac","99aa06d3014798d86001c324468d497f","99aa06d3014798d86001c324468d497f","abe7d9981d6018efb6b2b794f40a1607","abe7d9981d6018efb6b2b794f40a1607","0c8b9cb7c49e4810070f07b8e2768ace","af1b438ad1163acaf8744ce5f882124d","1c54cd39ca9200c67c2f0f5a8cb93587","dda4f7691f9276a0069dec00582e51c6","abe7d9981d6018efb6b2b794f40a1607","eccacc289e0c2fd9867fc7933cb57644","c8ebfb720708ed0e699dd48b93ebd8d7","27250973bab5fe8dde998f852509e6aa","6f3335346df5eddb5c84c15e1288536b","aaab39fcd2c65f5240111350bd302f3c","528b5cc544e5094dc9c533e16d27d7d4","99aa84ae8cba499c8d9a6b83e2965a55","c71fbfb1c30b9ec518a6d99949e2a290","02e064db76604d3b96d2ba5db612bfa1","e590a2dce24a98abef5ea5fa30f213f7","6045c7e3e7ed49df5f87b6e65269ceee","b59cc0dcc192921a0ed1d9e5a686cb3e","5dccc38d9a441d9d4215fe2040183249","3a4a9a484a800b5a603ef3825c7b199b","99aa06d3014798d86001c324468d497f","bdf464c2614e9416f4169b9607764883","f8d460c553347499ebca8b0ee4c6a621","4c2f07aee28524fe9020ba69308bb780","8820eb8a271784472cd31d648849168b","08b84d46eb7fc97d14202782c72e94df","fa9af97ff6cba1ad067acef264823ea4","a40ab79aab6ce28371b004172e94a1d2","057456cd8ff27537f67654e8c2db4efe","e4d1eeaf86ded761e0117d2ad7da7302","e908873bf3377cad963c0a4c21b7ce0e","7fbc92ad25c9bca8696601be10ec1070","d8e6bc8382a5f2330ce2f576be74f3d6","36958efefc832e9ce477cd3a8093665c","51a248f7c95c4fde6c58cf9591b3231a","57e7ff66b105288fefc814919739c2ed","7ffc4f3173b8e8e3b50baab20dd2519a","d9126979f12dac368b5c0417696cf5d2","e7b1bd729aa7b10de91db26b5fccfee7","17fc52e9a67cd725c5e09308e52cfbd4","4ef4c2836ab509c61593d309a46e986c","5c09b4a72c5deeeb39b8eac31ffff25e","4ac779f795e54738a32ed61e2ebb34be","a0dc61f43ff671e25557648ff05186f9","a1d9177fb6ce28db578bff1d073993b4","28649c15d964c04c9720272a924907af","0e4f138d9817f7558e0af30e7424ec81","11e18593e4a2ccbf007aeaa0794bdf4a","30340ef22ca51a3f826b173434e6b2e3","bdd2c4c84f733df5a8f1e5c8918b6d3f","a96db2b17fb744c837aed8effc7497bc","7ce8934077269790b522d93a326c76cf",{"version":"a88dd651ad16977c5f02b38fadab331b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"c89ab197af49ce1509d13e03417272a9","affectsGlobalScope":true,"impliedNodeFormat":1},"bf328d3deb151241b679178b27def456","3036fe517dc973dd90eb6d7bc0784b1e","8f773f51d3c19448213d5f713583c333","530369526d5f70b655f3a86b89eecfbd","73adba8cb909e38b56438fc14f29538d","4a45211e20587cb7903d76c3f777e981","c1bb2789fdfb4aac04b2e423e368f0f4","c2c57818d24eacc731346b8804df456e","868cfdb46072a7eaa4d94260d5cfad5d","01bb026a6250ee19f63a0c44ca35defa","c3df9cb7b3841603d512f86da695be03","0c742fa25b9e87601427f68f190a7e83","2c777cb62eb27a1c92be3f097f83b010","c076290b926c596e9264724e7740fac5","878b3ae06ef3eec3a5d8d9c4d7681246","be5b0fe314fe8454a4c75bccd8a2cb80","9d4e65f5ffea0b81339051dcd57131cf","4397613580691f12607a57fc504f4b0c","86a9d793686da16dcac0f34e2664533b","c22368cd42c6441f2b2ee9dd2d44f8d7","273899261bb3970f478109c022a6bb01","85bc8a79c75260eac7ce23a39fe3aacf","5d42241ac2e352edaff092c755f3156c","875f05c9c3d0b50ca0d4717840bfbbb2","2a15b2f8710e503f9f16a00e8d0089f2","dea48a4b946ac83a98209cf668eb4c5a",{"version":"ac417f16187a509c08b15e5cf5a6d0cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e053a7aa6437007a981eb78288452c33","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7103a75ec33f154b02ee60ea71fe9597","affectsGlobalScope":true,"impliedNodeFormat":1},"6741ca85e3f02c2a7ac02880bc26ac02","de5e055e00269f96110fc30a6b83b836",{"version":"f692ebf3496c34ad340039593bd416ae","affectsGlobalScope":true,"impliedNodeFormat":1},"dccf5dd14a774dca3d3df8a73e87ce88","ef14c1e568149680c45cf29f0bb29ab2","c1abfb903b1b16008ee4e9dbd172a869","ce5da658ae032bfc59e1e96eaf1ee7f6","5c5d214130c7094cf8d0b6338e9168ff","9da9b1f91291d76656583647aca66b6a","da90c2df0c52c7ddd8316a0397e4676c","56f1a30b09ed0068d71fc85e7824a291","c0bde329cc20e842602a111782e1b2e4","247c3160ba9aeaa19bc05e4f59abb05e","1160c41ba50ccffcb8fca251a46ccf6e","66a931c77cd8fe72ec0c205c7626d876","80dad070155b784af94c62eb231eebca","6825fc93c1542477ed74fc7dd34623d8","d1264f50c0d09140a9c446043cb5c971","110f418bfa608286b32e335cb23671e6","2590244012d5963544ae5ecaf1b02ed1","32c62f739f479559370808385b538675","5f3b8f33a941a32132d80b22b28761b5","7bba70732c5639e9d8010cf23abd93c8","c7eb10b40c7a880e85701a093e3d7704","0fffebe10536dcb69d76d192f4df76ec","a3f11c28cfb245fbb32f0300c1ca20c3","7efe84f5a53ab744d7fab020b75fb7ec","bce7e299491dae6e46ce5f3c93eb19c9","f8881a5a4bbc98b4b9c6728008b42d4d","0c9dc083a6b3ab35dc40740655c647f7","6f4e5cf7610eb251771e5de9d07a54cd","b2eba1ac5e3dc7cc12d9983cc2a4db2c","0ce1cc09331571d2ffae9343bc01f7cb","61f28266f5b4f5a4b1cc07fee09cb827","3c00e4d52211339e40c2508341d16191","5c9ab3bb5afc7e8331e0ecca03bb8a10","ddfcc07246d5153079efe86ccf00e1ea","97347ddd815e830b24428be37fc08c9d","ecb90d83fd99afa6ed8adb5dd2819831","134e55048655209445972d0113c02e28","72c912ab599592a9de871b69d7410556","f608344f481e99ac3ce2b769bd354859","0a6dec75b9e16822c02dfec62df3944f","d0f263e8918e7f83c0129fd22c305e57",{"version":"1330471c6d31e8309af81878287349fd","impliedNodeFormat":99},"3205a7f6675a7cc652a3b1bccdfe2e09","3e5018b42d40a8ad162d030a24fd6bff","8923fbc7992c6ebb343101ea9f9519ad","126512f44846e280a587c0fc60fd0e86","78e32a37a399bd75dba1c34850f32f1a","360373e0aa48b78a011f5e398a7f26fc","7e7d93a58d0dcafe64cc19daa29cc3f2","b75c0fd45e7063f0fd43c65e771cfbb6","bb3b81294867b496514f372cfbedc49a","fe0557bbc1e426b0991ad03bff2175b0","1f2729f4fbc823f9160603ff217466f7","0cafff5c0090bc4f7e0a65393530c68e","4df001c27270a6bfa82d193e0ca314cb","8ea5ae8af455b3d0d47decdc7e2f954c","7ed62c353f6be187e3742100030cb610","dbfa2bd3fea51c5feb3e537001425041","8b6430f3614edc9d4b75b1474855f1c6","905cd39983c6e19962df6ade5fac20a1","fc892684128746f7e6a10cf3932fd7d0","8d1d063132b1f9a6a9ef96c0dc17046b","805ebb141f7062a86ef8b3723d16068e","75d08ca46146893c7bea28d14e2fc1ba","ec0e0ae8b3a87b6c437940cf37f01207","1bcfade46c5987dade87aa54c6bc73ef","6e68bdeba619ce6a8b05edea414249e1","d30b5c8d8b664b16ea7b443c5e65d6f1","1fe54b345de5243c7c021dc12562d357","6d6c25680928917bb56c99620f78bca0","6fde6e7081fc4dc9a3fd2d3e4454ad33","0d01ca2c1071b0143620345a25fa21c5","1d7c2482a539f2c4fbbb8d3ba5c8b038","d4c674703e4ac78b967c992e3d3371c2","39868ef0601fcbf89c759d501bafd3b1","2caa8e4b69cf14e8df09b9984b934321","e7ca82692ec68ea6c66a48df6ec31ac0","60ba599818b3b67488035506760426a4","0994695651dbfe1ad5785a66239f76bb","dcba2f5fa851d9fda02c0aa50b5117e6","a2c96b922850d1c285a1a51d59452127","5f88655b3ced5121af8d3955b87b765c","9939185b255e3d09fad67ddde4cc227a","bd4ece1711159705023e9b2a541ee1f0","cbf0e4a17bc12e8f875aae808a723f8b","dc9ecb9fe6833b2a0a93d58e88a629e7","8db5fa988e61c3aa3b29ddc020479417","d25d2d4c6cc978174b433ea9d277f21e","98dd03113dbe9b90dcd6f42b1495acfa","4e312e2731bef32d7b06071cfe8b7749","897bb973dd1c85fc82598794940f6c55","f08d7316486ef365d6db42854190c425","146c0f5e9bccd9367b359f91a9011d2c","9e4198e84aa3395c2f4442afe187ecd1","d647f41133d58ebd9eb2b77bfc36cdde","8c29bc898b7b3927962c80953e86f049","bc6ca1cbd2cd258dbdcb49265df4c36b","83f08529d91179a041788df634649259","9eb96a14c8a27ea83e9d962b96cf3201","9f8f31ec55e3ef963c57b3fb275b1c33","e374e050beba2094bc54a1dfa515d56f","82f74d3ee5a664d3ef9541e9bd609388","137fed93ad41a503ab5220486a854d99","76929cca788b86e7405fa8cf12ea0f98","54a2b4d6b9098279617aa8bc5f813b02","4d04fadcab1129fdc396271d0c3ca8dc","4bbeb1026d354f52c3d67a6a60c7570e","4d289db3e2c54c1056bb99cfee4725db","706f1b66a72b9ad511fa54ff5538d8f7","8e0c376872a834458475f5715a27562a","b8b87e711c20c9ca20aaa2ebe3eab723","6f67c03148902ed156e7f7f6f334e374","32e1cef3dba30af5648b7bb9a5479101","2d3179684e3170feb391526239519730","3d7f104c1374b2011ef0f07496089eac","959c6d6869889cf5b015b13004c27793",{"version":"45d13d13246e39c2cacdcf41e1d94c20","affectsGlobalScope":true,"impliedNodeFormat":1},"e1928566611e97d3b0e1a5eb4d644b97","b1f1c7a3880c88439c0e4f64aa0cc6d8","d233eb922e0ba7f91913a51f692ce03a","4088dde759a0bb3a5214db5ccd1523f7","3317c19ce6c1129061423f941abddef2","ec2dac7b6eaf213381c8a762544650f1","e71a32a8ceb5bd7fd7ac629d491449b9","93f5f85342487ff3321b0e7a25bc849d","dde7be97974e9070715683fca9691b7e","dfa7a8c4bf1b0425e1737eee4cb8b604","c28a2caf7eeb2925f339b20c3f4f2994","050560da4be3ca60aa486a289d4dfa2c","b9c75b6e3c388a01f317eaffffb61f31","5e32b68b0cb42e9f968b6255850a538e","7ca7a4b382e048d817e53cc345f3f22c","d1e3c0ca76ee793a411fcb9ac3e166a9","3f7097585d68af896a92fd741039f8de","5f2ea58c68499cb1a78b5dd1f69dccf3","f5a09659732af69d266ec18fc9a2958e","6b43e1a2c08122add187d3f6933d5d82","580f289b77d11d6d10cab78ada4412bb","2ea3911ccac3f3fac5c35551e2c2e208","dbedc9adfed74ea1371c51bd65858765","f34f20f12e06eda70def2f8240e3e693","faf18b3054b93af0cfc31490b2092b9a","0f4779a360c0dbf5fe2da97533552f2a","f9d8cb8d15d9ef403fb6db29478d1b88","42df850ccc38f04ac0b6a948e317c28e","50dfeb7b3cdacf151b1ca02d0e108b60","5d1170a052ec21ad413c99e8a00ada60","e28e8670b903857079295bab0179aab5","193837388f2f6c49f2b44371636d0d08","8aac842fc08751c37cddb97836bafe40","fc9ebfa8c35473b12f9fcf9b5b1f29ab","9d05aed3d8be2b739774f040c01c1647","7c65bafca70f0c179da81ec1d4f3c8ba","1a97bc4dab7e509f86f66912a77e5384","82b71cb95130d6d301aff4757b9213b5",{"version":"3fb3b675f969cc8a6f077194f19747fc","affectsGlobalScope":true,"impliedNodeFormat":1},"40fa8828bf9db83f12c845310a9fde84","8c65cf141f500efca9170b3bf7bde293","446e6d15ccb75604cc6e900c6247f790","6cf9f954dfe35ddb7805fa637c7fa795","92efd17ccf6c6bee004036e31035cd6a","2bd20d754fb454c376b78fe9ac2c931e","6653a5edd3b9f51bdaf4e9ef320c359b","8658b12a4de1dcbb2ac2884b54b14f44","c7eb10b40c7a880e85701a093e3d7704","1654b07d3af8a23dcc84a0b411c206dd","2e6bc3e8dd7421d163fd69181ab0a2d5","9945c9761ad4c42b676433f02f59a276","be859d538971120a066c018635a94070","f3f9a58bfefd64383c82cb0b25274370","819a7a523c9f4ae1ead00d2f302efc7d","3df135a9364d2f1d93ada6effdc819fb","161981e762c41c47bb299660424e016f","85f8acae9a4498b9acc6b52bd3fe4e77","2d67e70f1d057e4f5699d5ea1899559a","c7eb10b40c7a880e85701a093e3d7704","5ec0561fab37a2deb173d35a10d3fbc0","1cadb7d7a1280862595c4bf539801fc7","deee360d63280581ec185c30c68e7f92",{"version":"1540345d2e84ce10c2c8b161075f9568","affectsGlobalScope":true,"impliedNodeFormat":1},"fd9bca272baa84d61880c3884ac4823e","ebc63315e5c38212fbf5d3fd8b97b4d4","8c31ef329a21ad67fe0a20029c0a2195","a01c69a3acb59d053c6b3e301619ee6e","4d58eb5bf4981ef43b088668b9ca7f17","fcb3934bc4e87d7838d4e11be1f1d85c","115c0425555991c7e0065156dd77259c","fee6e38d00206be5b1b95b3861306b03","58070d4ac888c78a855c65e8bd045cc2","5eada74cfb96e9ae561fb9bac5c34ba2","48d29922eeec891882b3006fa7b1798d","1094c85cd7bf1253c4164e024bd9b918","b1b672bdc1f9907cac32a53654220c1c","22ba87b9f4df7aef45c46ecb904d7ac4","f1d4e2a77f85e872aee2f2da9c5bd46a","560e9d4a91e627226eca4bed51ba2219","9373d03985f920e669ead313e44d177b","2ec98ff90ba9ff8261b9baec4605371b","3bed66875b94e954e2035b08d62ff782","c21a663727eb92fc2398a49070aa1b43","0f67caa17f3b3cf3c76e26aa0eb99788","671e53565634dfe93797a508bc9eccdf","71401676e8a8fd115ae22ebcb8f8f540","a77ccc9a646418eecc25090df5f3974a","c5e99581bd90ea8d4bd50c2de6a149bc","e085a6e93b73eeefdf35a512a36d486a","e3753b38c46f66518ab8a8cb2c293370","7d9913af6d7e471550142d964d398e92","3754c441890fc3199223cd167c4e78a4","224375bc486fb55c4b35826e5809e4da","78c6738acfe915bf5a1e6f9ad13a0ae9","5d1d7112602f72c061ea88570b1434dd","901cf478fba7a1ac94e72cb924fbb16b","0647194b1749901771f3f2d8551581c0","03fdc5a23860cc691857cba7aa2de117","b75955eb1249a0bd7de3cee845282ea2","1d57ce800097041ba626bf0a32eee084","4263517eabee5b2c1766006595d3dab3","8617472264af8fde607474870785d075","115e0f03188f08e73263118f761e30fa","87d24819e995c32f06d2a563f152096a","717991ac1366c52c58eeee5788c45ece","e38f010d277cb00ba87c73a40984ff2f","3b50c0566ef0015c7ab899bd455c5e68","5d715112e2a4f36678b1bdbed57a2930","75476cabe26eb4214b6d031b3a57d0cc",{"version":"7e0abe5e5d8d8401639dd770734a801b","impliedNodeFormat":99},{"version":"f4fc8fd1ce2e1a30d51485d6cd351beb","impliedNodeFormat":99},{"version":"ae29b7f201ede6e05a2e78a503c21e9c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"fbf7df37bec110a5c5d58e7cfdcc3911","affectsGlobalScope":true,"impliedNodeFormat":1},"f27ce3de93dbf4f4e093dbb8e1d5b165","e7340990470d7a21944e9cc285b420de","112fe74f7e66f0fe8f8064008baa0c91","87f1f3afd24e34f313544f801965f01b",{"version":"1aee43c6e838ade94d0e2eb82c7b1962","affectsGlobalScope":true,"impliedNodeFormat":1},"fa91dda1a991365b59c9fa313e75bf25","7170a5cad9fa4550f832a889e043c5f4",{"version":"ddea8fa2bb8797b800d96aeaf216fdeb","impliedNodeFormat":99},{"version":"f02b89360ae8dc56ba58f6dd3055dc20","signature":"f48ad02a2ee4fd2871356128ea2e82c4","impliedNodeFormat":1},{"version":"bae5c3b681add6d1a99c9b06505a058c","impliedNodeFormat":99},{"version":"7d6f0fcd4d70b19b38a5fd9a7fa0234b","impliedNodeFormat":99},{"version":"dda02a0f58987094b7b13d1bc804bb2e","impliedNodeFormat":99},{"version":"f0494c4425d26574dc7611bc20563f0f","impliedNodeFormat":99},{"version":"8d848ad88845616e08a99c8a8175f6ec","impliedNodeFormat":99},{"version":"01b1b2a68beba0d5329e868dea63c25b","impliedNodeFormat":99},{"version":"2df2071ce0edb7cec48fec4a5a566de6","impliedNodeFormat":99},{"version":"23035b76f1e2076d3c0cff3407d14923","impliedNodeFormat":99},{"version":"6644c52e8e3271238bcc446f4c30469c","impliedNodeFormat":99},{"version":"3883ceaa570d5a59ce3c754d9c4fca58","impliedNodeFormat":99},{"version":"5220d9cd7690cdbfd6653e04a59260be","impliedNodeFormat":99},{"version":"27158b37bef13ca5ada996a74d316c82","signature":"522e4a9c071182232a4fa53d8f50bdde","impliedNodeFormat":1},{"version":"d356d604b52f96d1ca16c32c24ef19b9","impliedNodeFormat":99},{"version":"1602789f810d44168810fecc08c4fc72","impliedNodeFormat":99},{"version":"816f9d747f2ec69227cfc39d055a21a7","impliedNodeFormat":99},{"version":"c067b471e77e2d2b56928a236e4429bd","impliedNodeFormat":99},{"version":"7d990c2b8fd16b7cfa1a2e15070a31ab","impliedNodeFormat":99},"dc4692252865df6115309b7acf9f7ac1","ba9db85c91c3fb36c222dad278edae4d",{"version":"85906055290f7efc0a57347da515d2d0","impliedNodeFormat":99},{"version":"ff3954401f43b55ea11d05dda7851e07","impliedNodeFormat":99},{"version":"8e9bbe858f8556e1a15725478f13c178","impliedNodeFormat":99},{"version":"d874f8ab9fee85e39e228e250acc59db","impliedNodeFormat":99},"cb0a8bb18f3c8857256afc2a6e1c6f58","faccd190c41b6bb6d570d6d67c4423cc","2e4306a4b93352ec29ee5f44e4b2aa47",{"version":"714c3b19603665cb8e057d724eeebf63","impliedNodeFormat":99},{"version":"50a00fffc935465eb3a3c3d6c45c5e19","impliedNodeFormat":99},{"version":"53ce8a3655a6e93536504948b2a2ace8","impliedNodeFormat":99},{"version":"d5f6ccf24276c260654795378a8d6a2d","impliedNodeFormat":99},{"version":"71be3a1fbaeafcb72240a3df20b9420a","impliedNodeFormat":99},{"version":"33dfb39ba363d16e7335d4c9bd879afa","impliedNodeFormat":99},{"version":"005bef1d023df6ad2bf065acf90ed3e8","impliedNodeFormat":99},{"version":"ce0594dba7d746322d88a3cdf1611ffe","impliedNodeFormat":99},{"version":"9b9e18bf821d4d64e1afd9aa651ace15","impliedNodeFormat":99},{"version":"0fdbaedd3b6948cbccf1d7e8cad037e5","impliedNodeFormat":99},{"version":"c2297c6416d3faa3588a68449106229e","impliedNodeFormat":99},{"version":"e3aa16c37d19ffa4fd876a477ac05baa","impliedNodeFormat":99},{"version":"63dd986d8cff3b083fc876bfb7e967ab","impliedNodeFormat":99},{"version":"158f07052c77f60420d86ffba1e63318","impliedNodeFormat":99},{"version":"777bf33aa0d11cca892bef7fba82b3dc","impliedNodeFormat":99},{"version":"a7200addb4789cf3af83a4af2b2d50dd","impliedNodeFormat":99},{"version":"641499f82d31a45b4809871c5a27d3d7","impliedNodeFormat":99},{"version":"dfb7c510a82db29a7cceb26a3e2750ac","impliedNodeFormat":99},{"version":"130f03b971a9788cfb9841304305426b","impliedNodeFormat":99},{"version":"2ab66bf7af8a816cf801d80c1b97633a","impliedNodeFormat":99},{"version":"c0bf4c4c2cdbb269274f99a6c5847543","impliedNodeFormat":99},{"version":"10b0b412842c2638c0b3cf6a23ebb197","impliedNodeFormat":99},{"version":"1a3b14bd42f516d756697a807f9b73bf","impliedNodeFormat":99},{"version":"76bbf3f95ed56aa8bb1d5cae265744c7","impliedNodeFormat":99},{"version":"5a73c53443773203126be23537951100","impliedNodeFormat":99},{"version":"4d5d7d16502ef0c0e662e74cf71b4e46","impliedNodeFormat":99},{"version":"cff0b6900594eefe75c53fd3400c5f46","impliedNodeFormat":99},{"version":"42fdfb52d5090c57501739f14ccc84e4","impliedNodeFormat":99},{"version":"3fd92a23bea9bd488a462d2983dc178f","impliedNodeFormat":99},{"version":"99be9d74bf16ca8913b18d10942b42c4","impliedNodeFormat":99},{"version":"cc014ccd8a07364131560d57c35e58ab","impliedNodeFormat":99},{"version":"2d70827e5c726df5563503adb77bcb51","impliedNodeFormat":99},{"version":"38b5ee980cb5d2e10f877ff9c122b1b9","impliedNodeFormat":99},{"version":"728fcea29d3ee6c4d1df5800fe0d6874","impliedNodeFormat":99},{"version":"b587b52e217b826fdd34a926f507103f","impliedNodeFormat":99},{"version":"a76c321e655ffa2c6217d48d973cfb5a","impliedNodeFormat":99},{"version":"8a3b19b0a44d977b52b2256cbd637870","impliedNodeFormat":99},{"version":"52d92f48b1024f3c2e4d9159563ef9ba","impliedNodeFormat":99},{"version":"e6e091fdc426a1dd8639d5ff49026362","impliedNodeFormat":99},{"version":"ca00e233ba211cddf06219e985198452","impliedNodeFormat":99},{"version":"454fdf3e6e103168cffe857b9f5f11da","impliedNodeFormat":99},{"version":"fa9b5cb09517f78df337e3abdad120db","impliedNodeFormat":99},{"version":"e712b89011797425da5e1c452439f9b7","impliedNodeFormat":99},{"version":"132b6d9834e7b8079aed5cead6017dd7","impliedNodeFormat":99},{"version":"da3078066ffba61e5e8cc8993e3d8812","impliedNodeFormat":99},{"version":"aedc3701edad1aeef09e9a5344b9590f","impliedNodeFormat":99},{"version":"cbb54e391247768364940692edc52946","impliedNodeFormat":99},{"version":"a245c03af28b08fa0e07fe931fba5fe9","impliedNodeFormat":99},{"version":"ee495c35b8c7b44e06e24852b5eec676","impliedNodeFormat":99},{"version":"ab95ab31c974cbf30d4fd989cd7da1a8","impliedNodeFormat":99},{"version":"596df3ea2d65b9076c30326bdff1a3e3","impliedNodeFormat":99},{"version":"9cffa02d4f826137fe78396def70d095","impliedNodeFormat":99},{"version":"2de22ca61fc431c5b4a81427fa496d6f","impliedNodeFormat":99},{"version":"3e7215589ffcaf220a8ac75a35cf4f27","impliedNodeFormat":99},{"version":"7062897043c83beb13eb806e1a82511b","impliedNodeFormat":99},{"version":"f07be65f526cf3dc0deb5f9f61902035","impliedNodeFormat":99},{"version":"6fe1bbe6db22c40ce5ff83e8e0822606","impliedNodeFormat":99},{"version":"99489cff48a97fa96990cf226b85ba33","impliedNodeFormat":99},{"version":"c9d8f611ba1d2486bf96eae198a1ea69","impliedNodeFormat":99},{"version":"266a36660d26dff8a5cf2aa64007c6d0","impliedNodeFormat":99},{"version":"bc264b8aea87c8cd0e621d7773b09b07","impliedNodeFormat":99},{"version":"4b33cfcc431db1b5ca01ca41af308638","impliedNodeFormat":99},{"version":"385a10d6cbc8908e0d4642dda53ab490","impliedNodeFormat":99},{"version":"05576823701c81e06117ef80e25756ed","impliedNodeFormat":99},{"version":"4d20d19a3ec5f2a912410381c1fe972e","impliedNodeFormat":99},{"version":"95c8b86ad7c8aebef6c8033752c89527","impliedNodeFormat":99},{"version":"4b6261b53a0f050c2d5d363b61422d41","impliedNodeFormat":99},{"version":"393e05015ea2a53da316969f412ca210","impliedNodeFormat":99},{"version":"5ebe1f5d885317fa481951f4656c7631","impliedNodeFormat":99},{"version":"7d28e9eabbf2b4e36583ccefdbf8ca93","impliedNodeFormat":99},{"version":"a0bdc7a8117a065214b3a1b4d5886052","impliedNodeFormat":99},{"version":"6a094e7d9214a543fdb8ba4e3aea5cb6","impliedNodeFormat":99},{"version":"942a7ef0bd1e93b2116bc4c2203a5c7d","impliedNodeFormat":99},{"version":"d6feae9e78b3d1554f6c1b361646be15","impliedNodeFormat":99},{"version":"13acd0d4a2982cf9dba9fdea4927472d","impliedNodeFormat":99},{"version":"5fd7be43bc1e648ce7f4df800f8165ed","impliedNodeFormat":99},{"version":"e95c411d759f9a4ba7ecc69e2044a36a","impliedNodeFormat":99},{"version":"154ae6c19ad95fbcc9d4087f7aa7be0e","impliedNodeFormat":99},{"version":"b572c264b3b23642a3490cfb35f74e83","impliedNodeFormat":99},{"version":"44fd556d8d3c804a6656b2d69bf791ff","impliedNodeFormat":99},{"version":"5fffe82238f68ae4c56679b439b4a9be","impliedNodeFormat":99},{"version":"247c66b726df9b473cd34e34f76af2ae","impliedNodeFormat":99},{"version":"f29faf2b0c42fdb94408f60a5b3231f0","impliedNodeFormat":99},{"version":"3c82e5b3068987219f3ffff6174ba1b9","impliedNodeFormat":99},{"version":"b56e16cfbda18e5f708d921811c02787","impliedNodeFormat":99},{"version":"787362ce0e33339d46bfa67abf7e9d35","impliedNodeFormat":99},{"version":"adff67c922260166df80fe3e4146eb9c","impliedNodeFormat":99},{"version":"1677f777316365dee684e28c4a823002","impliedNodeFormat":99},{"version":"350420b547a7089cf6b97149b35b342a","impliedNodeFormat":99},{"version":"e567d099c8d8e697d31ed9958c682cea","impliedNodeFormat":99},{"version":"0da6e0bd9e15a17a8bd47edbc2b9481e","impliedNodeFormat":99},{"version":"b87b8ebec3030da2b3343e82d513c4ee","impliedNodeFormat":99},{"version":"0658d55f148de0ca14f1baa3b33decab","impliedNodeFormat":99},{"version":"66852df55bfd9514fb8e64942c486c13","impliedNodeFormat":99},{"version":"c0a6b900fead67770da671cfe0e23bce","impliedNodeFormat":99},{"version":"dfd61b749d7d7c17eb4ef0b1add220e7","impliedNodeFormat":99},{"version":"85a2361345e408351fe8a3ab84ccace6","impliedNodeFormat":99},{"version":"2b87e0279491fc45df00204431fc622a","impliedNodeFormat":99},{"version":"4765e5dfb370873ab2b8a21117bae2f4","impliedNodeFormat":99},{"version":"5572a7b80b2768850b7dee787c235e70","impliedNodeFormat":99},{"version":"18f29d7b4028275dcff292b29e489509","impliedNodeFormat":99},{"version":"2db08c91470c4595f01b088deb5dc86c","impliedNodeFormat":99},{"version":"8a39f07479899bffc37f343b0d8f1ce7","impliedNodeFormat":99},{"version":"ea58a2a7264807cf162586a952989b13","impliedNodeFormat":99},{"version":"ee0c42f13c6eb41f202547a8c22856d3","impliedNodeFormat":99},{"version":"cafd9c4a056e3d25b63e6e13a11e417d","impliedNodeFormat":99},{"version":"ea238b095e40da52a5f02e19f0c28fc0","impliedNodeFormat":99},{"version":"30cb5bc2c6b2b14e5839320e07297c0e","impliedNodeFormat":99},{"version":"efdd2c846698446a335d4de01c80d161","impliedNodeFormat":99},{"version":"c2d5d95f61b2d635e8efce1758922432","impliedNodeFormat":99},{"version":"7399c52ee359f7b58a1e749c64702259","impliedNodeFormat":99},{"version":"e986679987b25d735ea33528cfaf8c72","impliedNodeFormat":99},{"version":"98c682adb0b14dee06e7b644845f7436","impliedNodeFormat":99},{"version":"3f20530cf5e9b0ed0a50dd160243ca57","impliedNodeFormat":99},{"version":"06b52fda7714c3936168498df22e07ac","impliedNodeFormat":99},{"version":"edc0009d28d7ef63c391cc5c10b4df94","impliedNodeFormat":99},{"version":"4f60ac62bc23947ba653716865dcc67a","impliedNodeFormat":99},{"version":"86e357ccdd9f5ddde78b86ba72d28102","impliedNodeFormat":99},{"version":"7355f93367a933267bd049d1bb20a497","impliedNodeFormat":99},{"version":"cc05f18035ba000464c04751ebb1041b","impliedNodeFormat":99},{"version":"f1d32c22294af881da1411bb22ff7447","impliedNodeFormat":99},{"version":"ddb6b3b4f622e9b842f776b6b2f5b119","impliedNodeFormat":99},{"version":"bba7fd58e6cceeedeadfd27a1b71c144","impliedNodeFormat":99},{"version":"192557d44db1e7867b2c7b4b49ddcf05","impliedNodeFormat":99},{"version":"fd03d9d88d6839cb621080ee954773e3","impliedNodeFormat":99},{"version":"625d872e702cfb2d1847f9fb18bbcbb3","impliedNodeFormat":99},{"version":"2684947271453465345771ca1a0dcc2e","impliedNodeFormat":99},{"version":"0082ad514f1dae7317ebd84135c6b392","impliedNodeFormat":99},{"version":"ffe85605f10a4ac25a9e53faecde8406","impliedNodeFormat":99},{"version":"ce182ade28a5c8b8dd00902e56fc0edb","impliedNodeFormat":99},{"version":"6753409e942625d54a8cd67ea2c32fad","impliedNodeFormat":99},{"version":"387bf665a440625da9a9a651e0f60bc4","impliedNodeFormat":99},{"version":"7aba8ebe33e187effe616f4a7ecd3ef9","impliedNodeFormat":99},{"version":"3a34facf379b84727df2b048a2979296","impliedNodeFormat":99},{"version":"3ca44087cf45107a76804bd49a4b01a7","impliedNodeFormat":99},{"version":"ce0a4546543d94637fc54ce4409e64a4","impliedNodeFormat":99},{"version":"3f49ef61b7a2149be98e77ba998c0c97","impliedNodeFormat":99},{"version":"02738fb76c7f205409fc2d2ccb20157a","impliedNodeFormat":99},{"version":"faa5230e17d5d7a2eab4e9773ec45629","impliedNodeFormat":99},{"version":"748c85ea5a8c25c002996a96c7d8c7e8","impliedNodeFormat":99},{"version":"264d8494cd43cbbe7e6b698e52bb8f79","impliedNodeFormat":99},{"version":"df930773057e4c6e27cd09a051fa66d2","impliedNodeFormat":99},{"version":"50b7db2244b7141ed4989310354b964f","impliedNodeFormat":99},{"version":"1cdebd8c78f4374dcc646249dbc32f71","impliedNodeFormat":99},{"version":"0b76ab6a3c832f69518118690032fa0a","impliedNodeFormat":99},{"version":"a8d16c5059e6c03842d0a07520eeb033","impliedNodeFormat":99},{"version":"131711a66c84bb0354dff1c1b5f4ad14","impliedNodeFormat":99},{"version":"ce580b6683e6960705e8740d3b5b0c58","impliedNodeFormat":99},{"version":"bc3aa19e57b9a19391d40140d46740ed","impliedNodeFormat":99},{"version":"3ff9a6ec605db1baa78163a9746b4d34","impliedNodeFormat":99},{"version":"31fbda5edf5e6a3bda99b80d1e7c6e78","impliedNodeFormat":99},{"version":"1675425c54145a3b3db57fda3d491ec9","impliedNodeFormat":99},{"version":"72322957431ec1d62bef38a7ffde9373","impliedNodeFormat":99},{"version":"dcc95a8e967596b09b7dfde970d0a7fe","impliedNodeFormat":99},{"version":"3a2414c7ba4d703d4cc7831ae631d9d1","impliedNodeFormat":99},{"version":"ee56c2811f83885fd4ca8bfb20afefaf","impliedNodeFormat":99},{"version":"bfaf410d09222779f9ddc04b30fcb782","impliedNodeFormat":99},{"version":"be0d22690abad33e958641c940cb68bc","impliedNodeFormat":99},{"version":"cfd910cf39289cdea7b98fc618c2271b","impliedNodeFormat":99},{"version":"94c677b43f12f2bf6d43b09bc3f77fed","impliedNodeFormat":99},{"version":"ec3c5e884931d957648c371a94b60725","impliedNodeFormat":99},{"version":"41325ae0b770172ef7702647692d53bf","impliedNodeFormat":99},{"version":"3c750d09a9d2591733681fdb606141e6","impliedNodeFormat":99},{"version":"340d6b1c4a27934ac21d0f9c2a39ee6c","impliedNodeFormat":99},{"version":"7bb0bebe2218d2f8d076f3b68588ce72","impliedNodeFormat":99},{"version":"231ae9bf54e0e970b98cd4610063a9fd","impliedNodeFormat":99},{"version":"1cde5ae9abe99befa4cb98a40ddb84e3","impliedNodeFormat":99},{"version":"d0f94532a7212eacc30a045017bf708f","impliedNodeFormat":99},{"version":"9f7307c24ba9b0ad6e790c0ef33f13a6","impliedNodeFormat":99},{"version":"31e84ddd97eb1074536b2c6a7b95ddad","impliedNodeFormat":99},{"version":"dd2a8754d54cf6daec39408e4e1bfe99","impliedNodeFormat":99},{"version":"29fe01646d39a3a3dce34cac90a3dda1","impliedNodeFormat":99},{"version":"ce51852bb1ef980da62e790bd1b6d529","impliedNodeFormat":99},{"version":"0a08799eddcfec892f0f55f7686ee86c","impliedNodeFormat":99},{"version":"018bf658e4c59bb289c936cb52a40b50","impliedNodeFormat":99},{"version":"362625241687ab9dc344831b9c5b2729","impliedNodeFormat":99},{"version":"0a911cca463a242b0b723fbf9ad339a6","impliedNodeFormat":99},{"version":"0e15368f4ae8993e5d28a1e1b50cc2dd","impliedNodeFormat":99},{"version":"8efac2639cbd1e7272a333002763e51f","impliedNodeFormat":99},{"version":"e00b8c7984e3cb3bf880a5984d028ec1","impliedNodeFormat":99},{"version":"63dd409f8cc61165249b476b97f1c58e","impliedNodeFormat":99},{"version":"ea7fabbe4d18dd4ac8fe62e338eb5e0d","impliedNodeFormat":99},{"version":"beb84ca1fed59406f80b4f1bfab116a1","impliedNodeFormat":99},{"version":"fadfcc50157250d6f4a81df0e0b2a24f","impliedNodeFormat":99},{"version":"ae07ff4b5bcdadcff098c7d740e699db","impliedNodeFormat":99},{"version":"a6b26e870aa2b21247e1518f2885f8e3","impliedNodeFormat":99},{"version":"62f17b531125e850653607cce218e80d","impliedNodeFormat":99},{"version":"25d19972df6e9330f6080257b37787d7","impliedNodeFormat":99},{"version":"5ebe1f5d885317fa481951f4656c7631","impliedNodeFormat":99},{"version":"0f34343037d1be4c66f3e19f27ed4c9a","impliedNodeFormat":99},{"version":"9a3852a39b6aa67f234a1a6105393a2f","impliedNodeFormat":99},{"version":"242af76f9b2b9d79431d08f551c464e3","impliedNodeFormat":99},{"version":"995257d393770315c191991a5ff87371","impliedNodeFormat":99},{"version":"e811462d14e11a7ba9947ec052a5910f","impliedNodeFormat":99},{"version":"84180235511c07768c4d690d0c8176a0","impliedNodeFormat":99},{"version":"22752b6c2d5f021ad330028a86c74f74","impliedNodeFormat":99},{"version":"52e361ed326cfd9f73c4ca05a6e3e9c7","impliedNodeFormat":99},{"version":"5a37909f317adcd49d750df39aca92c4","impliedNodeFormat":99},{"version":"686a1eb64bd5067d0ebfb902257a570d","impliedNodeFormat":99},{"version":"63b429f873385a42c62e9f5d37d2a2b7","impliedNodeFormat":99},{"version":"fb26b490d6206aaafd9ecf4df57104f6","impliedNodeFormat":99},{"version":"1235e224787acb209c09edf3dfc2eabf","impliedNodeFormat":99},{"version":"36126c950758ce897a8708ca016ee5b0","impliedNodeFormat":99},{"version":"ab09f8b6fd356ffb8ccfe5bdda7ba662","impliedNodeFormat":99},{"version":"87bacf4fcaff0ffc4587febd90e5182a","impliedNodeFormat":99},{"version":"71d73744fd8910454768e89ae1263541","impliedNodeFormat":99},{"version":"d54b7d9dd15af8e1b3713fc0639aaa24","impliedNodeFormat":99},{"version":"8cefec0466ed138cc0940d3b0afbed94","impliedNodeFormat":99},{"version":"f32fa1c8142e413d5ebb33562aeca6aa","impliedNodeFormat":99},{"version":"8851e2f16ea37bb22dc4648c475c0279","impliedNodeFormat":99},{"version":"7ece064083b071c6e0d92d7b5b2661c9","impliedNodeFormat":99},{"version":"1498f4121d36e96c95370c2c83d67c3f","impliedNodeFormat":99},{"version":"91bc1eec4bef0ca5c0c9be30a3b09361","impliedNodeFormat":99},{"version":"ba5784db94097fc80734f127b53f0b53","impliedNodeFormat":99},{"version":"fe61751de6dd78217a073651be48f7f0","impliedNodeFormat":99},{"version":"c848a582ae8d1c4ffa47803fdb908e20","impliedNodeFormat":99},{"version":"47a9f2193a09d79aa1665eae97b02256","impliedNodeFormat":99},{"version":"007d28832acc0101e2a1534792eb026a","impliedNodeFormat":99},{"version":"c1a1c3aa8f5f106084a6468110194603","impliedNodeFormat":99},{"version":"54ca104df5771ec669d6e7db4faf8b1c","impliedNodeFormat":99},{"version":"0829e05ed0c182ce3743c9535c5cc713","impliedNodeFormat":99},{"version":"379c604911c6397b68dd927654bc1d3e","impliedNodeFormat":99},{"version":"0123b9f073faf89a041828bfa537def1","impliedNodeFormat":99},{"version":"0270d491887438eb19ee00dd15a8a9b6","impliedNodeFormat":99},{"version":"f409c1a9d4c1160b1ea10b2cd7aaaa1c","impliedNodeFormat":99},{"version":"8d2927e8b320cbd391b5ce99178d2d4e","impliedNodeFormat":99},{"version":"e97ca28265bdd9b4c01afc6f0393c8fd","impliedNodeFormat":99},{"version":"dc5b24b3223f8a1dd082297a3bbbd2fe","impliedNodeFormat":99},{"version":"96ba6613308b7482fac819993ff68fab","impliedNodeFormat":99},{"version":"62fe60faa182bb481ee1bb8835b73a7c","impliedNodeFormat":99},{"version":"3e1df7c99cfcafcc45534787411dd025","impliedNodeFormat":99},{"version":"2af434d779a01096da0b5aa6f93acd3d","impliedNodeFormat":99},{"version":"d67ddcb237741616ff89e3643a559a58","impliedNodeFormat":99},{"version":"9e3210c161b803bb71775583bb2ac2e4","impliedNodeFormat":99},{"version":"fb00105ab243f75f44675b1be9bba9b1","impliedNodeFormat":99},{"version":"4e2517d29aeb12e05e32975d94cd6692","impliedNodeFormat":99},{"version":"901f7b243608086ccb25dd73c23246d7","impliedNodeFormat":99},{"version":"8000e11325f89d37e871f968e9cdc416","impliedNodeFormat":99},{"version":"f299a219276456a7a342cefc1820835a","impliedNodeFormat":99},{"version":"e3c1a70524cc3c74a53837b90e41395c","impliedNodeFormat":99},{"version":"a76bbc6829ef180c87fa604a532e0363","impliedNodeFormat":99},{"version":"685f0b246f56b0962ef72f42d812b64c","impliedNodeFormat":99},{"version":"44832394608e7bc44524c47cac415908","impliedNodeFormat":99},{"version":"96b65b20e0273b38b71892f2b3ca5f82","impliedNodeFormat":99},{"version":"bba7fd58e6cceeedeadfd27a1b71c144","impliedNodeFormat":99},{"version":"438f9beaba749edfcb652e65215c8d4f","impliedNodeFormat":99},{"version":"c72c96f8b66a74eb849e966f4f52b766","impliedNodeFormat":99},{"version":"066b9765815cca5f99ffdd227e123bda","impliedNodeFormat":99},{"version":"9f607ca746f6a50bfba1530c9b03ac43","impliedNodeFormat":99},{"version":"acab2e4611597d2ca2f40b502f9dcb83","impliedNodeFormat":99},{"version":"9d498c4bf7e5934f2f025c338ff36fcf","impliedNodeFormat":99},{"version":"57662a90ecdbdea32204d1a1927d3878","impliedNodeFormat":99},{"version":"2d826128de9730bec19d0e6c31b50ba4","impliedNodeFormat":99},{"version":"2d3482473679745fabae85324fbd87a3","impliedNodeFormat":99},{"version":"30285cfc3bc00b32e12c51a7dd5b2095","impliedNodeFormat":99},{"version":"720e8c0fd3ce5946baa869aa4e20dddb","impliedNodeFormat":99},{"version":"def3374f0af6764bea1b6d60b13f85dc","impliedNodeFormat":99},{"version":"559ad1857f1f86afa2fe373eb60ac8ad","impliedNodeFormat":99},{"version":"f7b69347094ab7ab5c47f10661d55699","impliedNodeFormat":99},{"version":"e401b0d3aaf2203a80829a75fd8466f8","impliedNodeFormat":99},{"version":"d5a5db70373ccb7b5a4790fe20d24429","impliedNodeFormat":99},{"version":"d86ec77ad2687aac2ef98b11cda58180","impliedNodeFormat":99},{"version":"9300dbc8247d3575635d072b7d6cae48","impliedNodeFormat":99},{"version":"0d4e75cb1ba7efd298b865833a885c87","impliedNodeFormat":99},{"version":"e2d8a6a2b3415959fbe9d6aec85a03e3","impliedNodeFormat":99},{"version":"8d134eedc0b8ff43c57971b8ddff623d","impliedNodeFormat":99},{"version":"f8ed19bc10876e40ca0c265738e7278d","impliedNodeFormat":99},{"version":"c19119ebb42d76233f10cff5ff2e8478","impliedNodeFormat":99},{"version":"bba7fd58e6cceeedeadfd27a1b71c144","impliedNodeFormat":99},{"version":"b75d45284e86dff9b52c1983249d2cb1","impliedNodeFormat":99},{"version":"79d22ae71a6246cc98cbc32f7b233716","impliedNodeFormat":99},{"version":"0780dfc40b204f8bf07cf40243f6e60f","impliedNodeFormat":99},{"version":"471ce59dc22c51788bb80a7f684d2636","impliedNodeFormat":99},{"version":"fc21b1a6f6bb562900e49828d58a44c9","impliedNodeFormat":99},{"version":"cd152c1b036c45a640a43a9b0a2832bb","impliedNodeFormat":99},{"version":"ef421774c5ecb5867f63217e6a3b72e6","impliedNodeFormat":99},{"version":"fefd8b78e9e09dca447381c16be0c079","impliedNodeFormat":99},{"version":"376a5e43adec4c567581e0c47025b4e6","impliedNodeFormat":99},{"version":"5c7b7541573946ad3459c89563bbe562","impliedNodeFormat":99},{"version":"25a6407fb3740eace0f5d7fd6e37c2ca","impliedNodeFormat":99},{"version":"30ed220e43073e1c224602703cf384cb","impliedNodeFormat":99},{"version":"dd9ba488ccc254b50a2efc8c991cfdd4","impliedNodeFormat":99},{"version":"64fa3a9664365ac69c8c1bcae894ec63","impliedNodeFormat":99},{"version":"8a62bc6926321b876c227277072541b0","impliedNodeFormat":99},{"version":"637b9fa09d03d462acdc2f85054790c2","impliedNodeFormat":99},{"version":"1521836305c934e63d8b37df49fb8fe6","impliedNodeFormat":99},{"version":"bda02c3326827e48ba13c42ea306da8d","impliedNodeFormat":99},{"version":"3585ebdd7e5d494d7f139ccc81a360f8","impliedNodeFormat":99},{"version":"15f5e660d1ccc494e5ea12ee9dedd0f4","impliedNodeFormat":99},{"version":"d6b0b8924a5009851c4a532b42da3ca7","impliedNodeFormat":99},{"version":"491a08861a422c017967a574015b16a3","impliedNodeFormat":99},{"version":"a67ee837404f22476afa0fc77a48e78c","impliedNodeFormat":99},{"version":"3264eabeff0614d94f1ebdcb10bc1c41","impliedNodeFormat":99},{"version":"d2648446db218900426e83aee8f1cf4d","impliedNodeFormat":99},{"version":"c91935a679a9a2a1fc5528b8ba21b7a8","impliedNodeFormat":99},{"version":"9a6fd59814a6d3de4e2d84c851dc5de0","impliedNodeFormat":99},{"version":"1b4e0a02431cfd8c09e85956fa8a5dc8","impliedNodeFormat":99},{"version":"ee0524049b574a36503bf17bde9dff0b","impliedNodeFormat":99},{"version":"ca23d2c5f54ae1283546398f5361eb0b","impliedNodeFormat":99},{"version":"9271034af339f31dadb2cca16c3e8d57","impliedNodeFormat":99},{"version":"e1a0b27b840b69fb6a70bd90db72ad9e","signature":"d419262c4677f06170cc3a56ab0fef5a","impliedNodeFormat":1},"9cba9b7d2f6da83ecf14eace063c825f",{"version":"c699d57a860844e64700b5e8a3e718dc","signature":"147687a4a294c29e365f7c70e3046b7e","impliedNodeFormat":1},{"version":"35b3712a4614a995b30765ee58f1d52b","impliedNodeFormat":99},{"version":"5fc8b69705e58a1805bf95902abf0415","impliedNodeFormat":99},{"version":"1e062dfb2039fd24dd068501e72a8390","impliedNodeFormat":99},{"version":"0728aab8cd665f976088daf20e6fbb54","impliedNodeFormat":99},{"version":"1c0f7eb1113cafa6e9997f1f7ebf17c6","impliedNodeFormat":99},{"version":"8d4573bf99a4cbeedecff65f7f8f4238","impliedNodeFormat":99},{"version":"a1ea5398f79bf48a9961ef7fefa3af2c","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"fa21e4ac66388be6023a649df7e715f0","impliedNodeFormat":99},{"version":"8ca4e3c791d2d9d507a9a7d722ccdad7","impliedNodeFormat":99},{"version":"ee62e9843027e5a0b80324fc37d07145","impliedNodeFormat":99},{"version":"58f23e1c79440cace90c06b65e2c0427","impliedNodeFormat":99},{"version":"b327fa8e5d02bda9c1452f04b5ac43e7","impliedNodeFormat":99},{"version":"06872ac71d3678b7dd732b1a0d3ae390","impliedNodeFormat":99},{"version":"bac8748d361285de86b373d4c37d0388","impliedNodeFormat":99},{"version":"131d7a39f24f2ae8fd1e0615fbe9d0b3","impliedNodeFormat":99},{"version":"aca3be07e0e1027c9dfc515fad820d59","impliedNodeFormat":99},{"version":"35d267395ad728c33af053333c76cfb0","impliedNodeFormat":99},{"version":"6394c5b4ba2472c4ed4b8ad88f87d997","impliedNodeFormat":99},{"version":"949cc686f4590be78814378233d42373","impliedNodeFormat":99},{"version":"b5f1de3d86046ce56db2c8506db24efb","impliedNodeFormat":99},{"version":"96c3d0564d0af9ce22ef9161b4aba4c2","impliedNodeFormat":99},{"version":"d558af0fb14fa9cd817240c3253e06c7","impliedNodeFormat":99},{"version":"99f7904505b6b08351ebfb44d3fd4268","impliedNodeFormat":99},{"version":"e6ddd04f8346bc93a74f841daca7a8b0","impliedNodeFormat":99},{"version":"6d2a77111abd833886ef218a6c779cba","impliedNodeFormat":99},{"version":"0642ee8dccb0a138974e64283ae20ab7","impliedNodeFormat":99},{"version":"e516e78d10677a459bc77ead83126dff","impliedNodeFormat":99},{"version":"e41148c1d71992036ab7c397c22a4988","impliedNodeFormat":99},{"version":"6b9341423bf016b2b2405e0bd52e992f","impliedNodeFormat":99},{"version":"ef2b6e448de28399d04621d1c2f171a9","impliedNodeFormat":99},{"version":"91ddad449f98264ba0b4f6da48a2b927","impliedNodeFormat":99},{"version":"6fda66d6b2dbadc28a71f8c650b323c6","impliedNodeFormat":99},{"version":"45959163b1cbc05298f8ce5995ab019e","impliedNodeFormat":99},{"version":"7c13d1134ce83e14141c9de6a196d05b","impliedNodeFormat":99},{"version":"3fd37cbf60f4e5e0c5dc2077f8ba4b50","impliedNodeFormat":99},{"version":"6b2443c7d7068c0a2d41554bc7a12d3c","impliedNodeFormat":99},{"version":"44e434d54b828c78f4e9fcff1e5a3c29","impliedNodeFormat":99},{"version":"84da0114efc247cfa1591f936b877121","impliedNodeFormat":99},{"version":"db3f7ec0a37ae894f151c61ef1ee41b2","impliedNodeFormat":99},{"version":"dd316c24f1238b72230bcba9d69bf01c","impliedNodeFormat":99},{"version":"f17b8156578d7727d625d7211f67cf8f","impliedNodeFormat":99},{"version":"95e38ae5a808a222301fc752219a6fa8","impliedNodeFormat":99},{"version":"8eaa0dd6fc563b36a378663c34a55d33","impliedNodeFormat":99},{"version":"878dbab24ddf1500ada47417f047d0c4","impliedNodeFormat":99},{"version":"eb0191e9289c1900d0c4d65dbb6f56ba","impliedNodeFormat":99},{"version":"2949a07f9114af7bdc9efb2c47532a9f","impliedNodeFormat":99},{"version":"87067959466009feb5f2395cd7891717","impliedNodeFormat":99},{"version":"e734ed05ed541821581a4f6e07101575","impliedNodeFormat":99},{"version":"7b07bfa2d81a24d88671b9ec5defc1a2","impliedNodeFormat":99},{"version":"9704fa598b6eb3eca987218c95b3ac19","impliedNodeFormat":99},{"version":"7b7fa3a6706ec3dc7b19249752c21dc1","signature":"e2258a37c725405cce0771b1cd96e3f7","impliedNodeFormat":1},{"version":"d8049e30c8f965740a29472bcd0effd7","signature":"99b57a8b227ca6d0506869e1e61ee539","impliedNodeFormat":1},"46adab8b8b66b08b5e7c0e8fab6a1ca6","a9fe29dcdd4288cacf574947747a4572","daada721cfdc43aa8e7c2e2d14d760de","1875116298cba1325500d3f1eac8bbf9","5b3b46f5321315ed981271ff40658eb5","5d253feb3ce379964ce328df2e292f33","0c8ef3f924ccfad86a3010130f77d9c8","4ef66462d69c6b7504ef14011caac866","2f9112269cc3c45d1fb3d62f3ccb7097","ffb6ed8d47df8ca98044478684c0af40","cbc1f06fbfe43eb20a752fa368855819","2de5baa83f63307a4dd74d7aa2dd5254","3eeffcd208fa163e66f8769b350f0445","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","ee9981834b9f6f6958887811182849e8","5175ffa851d494a5195ffdebf8ed7285","89cf60624d459ce663be118a626d5fdc","1d1bc42979730b680201df62a3c1ac22","cb5ffae433c93a1431c0000260c7d0c3","9bb07208f876b5e95d56a3d2e9b9a427","0b02ecd3af1ccccee2f5c605903848f8","7454a3a8b97184f2d9432fa08bea4550","5ec4d3086f21642d2aeae2133b49ceeb","8318e3c39365fe3a3cfb375f5c29ab04","9e29bd130ef2dafefc736f6ab792a301","cde3fe3c0bfe6e037b07e7251fb1c3d3","c5a965bdb35a433f7fb044dcb56d485c","96b06af537c71de0a80e9ed880958afd","3008879c54fc6e5b56c202a9d7b09211","1339976f87e671ebf4b5ff1f36594612","0a95994056ab784c17e3331cd56bff1c","a9356de7c324c6f49c15587032b1f65f","f763a0656991aee48818a73fe218b09c","1904e67dd51f8bf1517f05edbfada0ea","3ae549f97ba1929aaf566e095db06f29",{"version":"263b4be26685f5fba0419dc81bb83583","impliedNodeFormat":99},"3e11a6ed6c3756181654f992fdbd9e85","09808d1359d4b2b3b192a3a1ce961775",{"version":"59ad116182189e29a75cd09e0a531672","signature":"0de41ad5cd057c80807e1f01954c6e74","impliedNodeFormat":1},"f3920bb449cac4fe93aac0025572dd6d","12d5c3edf92213c4725897cb0d3f8cc9","115e8698d2af200c5ce2c0e788433d8e","9d47bbf519e580d59f327c6d27cfff86","12add8579fa6689a5c0f3bdcf6dd0ee8",{"version":"013b210aed635dfe3bae6447e4a6b16e","impliedNodeFormat":99},{"version":"77be3834b68133715c395354233cb256","impliedNodeFormat":99},{"version":"3b7fa536575189198532b61c372f6a36","impliedNodeFormat":99},"77203c50d948d21d2017c6204987939a",{"version":"1ddd64672ee70c31fdedd934a7030fcd","impliedNodeFormat":99},"e18bc2cb7cd59c043b51769e6efa3ced","aec59b32ed0cd3e073ad36c0e36c09ce","5c017ec3abedc57f809d7bf0b638cea5",{"version":"7d6c3a160cad9d1553c2281742c12b71","signature":"c1f74d446c546e3fbe7fbe60b933cdbc","impliedNodeFormat":1},{"version":"11ded6bd863938124314fe350abbca88","signature":"3e117c9b24d9b66ae2cfa8a5ac667b90","impliedNodeFormat":1},"983cc35db9d227d0949122a20211a305","702faddd171df58b884a2c2c80c2b01f","3d01f27f3456621d5f48d9cbb5b97e89","14c029707cd206f5324eea36443a9e7a",{"version":"ae934914620d20e5cd7a0a207ce79fd3","impliedNodeFormat":99},{"version":"1b7c39558327def2bb6b58314b4819b6","impliedNodeFormat":99},{"version":"5646856b1056b35ac4fe4f9c1b7645f9","impliedNodeFormat":99},"4799a829b8cfa4807830d976fc966a5d",{"version":"60649cfc734aaf7307ceacd92c3023aa","impliedNodeFormat":99},"35a94e70e6015d053f919d2ae525f6a8",{"version":"f67e33be404444078919f2d2e3c7a6ad","impliedNodeFormat":99},{"version":"44eaf792b0dc7ff1fe691aad34f6bf36","impliedNodeFormat":99},{"version":"bfd710ed899150bbe75ea3c03895bee1","impliedNodeFormat":99},{"version":"17c3a2c081ec36fc4973aef1c02e03f4","impliedNodeFormat":99},"57a888755af7388a7f54b9f685448dc1",{"version":"8776fd5660c82ced94c2049e1163453c","impliedNodeFormat":99},{"version":"637aee1b10e393c5bc3b6fefdb83abf1","impliedNodeFormat":99},{"version":"4522d3b281b9ae91c8c0294aebc25d5f","impliedNodeFormat":99},{"version":"1ea50db7b1402e08329ed5fe207674e3","impliedNodeFormat":99},{"version":"aa4b678edb8769327a1a95d8a2df7b51","impliedNodeFormat":99},{"version":"a4684708636c84f7a79e79949de12afd","impliedNodeFormat":99},"d67256aa03f2eaef497201a8ddfc371e","02ccbb8816926e988e872e3744505e94",{"version":"4fe7ffab2f4d2c2ba7b5fdb36c2c1711","impliedNodeFormat":99},"352f63b00dc3a104f253b402040dd80a",{"version":"03777b4c3fda75530aa6551974d0774d","impliedNodeFormat":99},"4114f920cd67987ad7237b65357d84cd",{"version":"03027bb19e75b7ca4f38534691c73bef","impliedNodeFormat":99},"a56794b25a2bf2f2fe5fd3884d945d5b",{"version":"8ecf8acb32bdb650404e744b86a4a963","impliedNodeFormat":99},"fa3e477eed1e69f5ec2eeb2e963ab171",{"version":"c88583ee7ef6ec8169aff0825b6f1f76","impliedNodeFormat":99},"12e2292607996683715ea7997c5ad4a6",{"version":"2921df5460cd292608cfff60e8481e3b","impliedNodeFormat":99},"e052e9a31fa480561b738a4b8cf5a294",{"version":"942cea01288b8f3d9384ea27d9b8f5ca","impliedNodeFormat":99},"2ce862f1728ce0c27dba8be9d0d497a9",{"version":"edf0579357f85a50abb508546d4bcf26","impliedNodeFormat":99},"f671599fcef31b639e8ddaaf4ab2a469","f8f36b6122efb60c68116647a2983cdd","0befcbb1099f9e17589b6f54603f58c2","f8f36b6122efb60c68116647a2983cdd","fa91dda1a991365b59c9fa313e75bf25",{"version":"9fc4bedb07289eb18d8a20d14b2cb1f4","affectsGlobalScope":true,"impliedNodeFormat":1},"025618fdd0f5121c1a0e38d3adf81caa"],"fileIdsList":[[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,512,551,552,555,1096],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,550,551,552,553,555,1045,1046,1055,1056,1059,1060,1100],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,512,551,552,555,1098],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,553,555,556,1045,1046,1055,1056,1059,1060],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,534,543,551,552,554,555,578,878,888,939,941,1037,1050,1054,1057,1058],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,543,551,552,554,555,578,939,1049,1050,1054],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,534,551,552,555,578,939,1050,1054],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,554,555,1044],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,532,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1063],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1053],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1051,1053],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1050,1065],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1050,1070],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1050,1077],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1053,1080],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1082],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1050,1084],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1086],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1050,1088],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1090],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1092],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1040,1094],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,585,586,886,887],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,878,888],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,786,878],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,559],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,578,939],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,585],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,585,1036],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1038,1039],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,554,555,556,557],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,554,555,571],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1062],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1061,1062],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1061,1062,1067,1068,1069],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1061,1062,1076],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1061,1062,1067,1068,1069,1074,1075],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1061,1062,1067,1068,1069,1074],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1061,1062,1072,1073],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1061,1062,1075],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1061,1062,1067,1069,1074],[93,94,95,97,104,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,99,100,101,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,102,103,104,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,198,200,551,552,555],[92,93,94,95,96,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,196,197,198,199,501,549,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,287,551,552,555],[92,93,94,95,96,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,197,200,501,549,551,552,555],[92,93,94,95,96,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,196,200,501,549,551,552,555],[90,91,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1038,1052],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1038],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,594,640,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,639,878],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,664,719,786,838,872,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,594,595,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,633,638,660],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,603,633],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,607,608,609,610,611,612,613,614,615,616,618,619,620,621,622,623,624,625,626,636],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,606,635,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,635,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,628,633,634,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,633,635,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,635,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,633,635,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,606,607,608,609,610,611,612,613,614,615,616,618,619,620,621,622,623,624,625,626,635,636],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,605,635,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,617,635,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,617,633,635,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,595,600,633,637,638,640,642,645,646,647,649,655,656,660,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,633,637,640,655,659,660],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,633,637],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,604,605,628,629,630,631,632,633,634,637,647,648,649,655,656,658,659,661,662,663],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,633,637],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,629,633],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,633,649],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,633,643,644,649,656,660],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,650,651,652,653,654,657,660],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,591,593,594,600,628,633,635,643,644,649,651,656,657,660],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,600,637,647,654,656,660],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,633,640,643,644,649,656],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,641,643,644],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,643,644,649,656,659],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,595,600,633,637,638,639,643,644,647,649,656,660],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,591,592,593,594,595,600,633,637,638,649,654,659],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,591,593,594,595,633,635,638,643,644,649,656,660,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,605,633],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,603,639,640,641,648,656,660,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,593,594],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,604,627,628,630,631,632,634,635,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,594,604,628,630,631,632,633,634,637,638,659,664,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,593,594,595,600,635,638,657,658,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,588,590,591,592,595,603,640,643,873,874,875,876,877],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,694,702,715],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,694],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,685,686,687,688,689,697],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,696,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,696,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,694,695,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,694,696,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,694,696,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,685,686,687,688,689,696,697],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,676,696,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,684,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,595,640,694,701,702,707,708,709,710,712,715,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,640,694,696,699,700,705,706,712,715],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,694,698],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,665,691,692,693,694,695,698,701,707,709,711,712,713,714,716,717,718],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,694,698],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,694,702,712],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,595,643,694,696,707,712,715],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,700,703,704,705,706,715],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,594,600,639,643,644,694,696,704,705,707,712,715],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,701,703,707,715],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,640,643,694,707,712],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,595,600,639,643,691,694,698,701,702,707,712,715],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,591,592,593,594,595,600,694,698,702,703,712,714],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,595,639,643,694,696,707,712,715,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,694,714],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,639,640,707,711,715,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,593,594,600,704],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,665,690,691,692,693,695,696,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,665,691,692,693,694,695,702,703,714,719,878],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,593,594,600,698,702,704,713,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,591,594,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,761,767,780],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,603,761],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,721,722,723,724,725,727,728,729,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,764],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,731,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,756,761,762,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,761,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,763,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,726,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,761,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,721,722,723,724,725,727,728,729,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,763,764,765],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,730,763,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,733,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,761,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,726,733,761,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,726,761,763,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,595,640,761,766,767,768,772,773,775,776,779,780,879,880,881,882],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,640,699,761,766,768,775,779,780],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,761,766],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,720,730,756,757,758,759,760,761,762,766,768,773,775,776,778,779,781,782,783,785,883],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,761,766],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,757,761],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,761,768],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,600,639,643,644,761,768,776,780],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,769,770,771,772,774,777,780],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,591,593,594,600,639,643,644,756,761,763,768,770,776,777,780],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,766,773,774,776,780],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,640,643,644,761,768,776],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,643,644,768,776,779],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,595,600,639,643,644,761,766,767,768,773,776,780],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,591,592,593,594,595,600,761,766,767,768,774,779],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,591,593,594,595,600,639,643,644,761,763,767,768,776,780,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,730,761,765,779],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,603,639,640,641,776,780,879,883],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,593,594,600,777],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,720,755,756,758,759,760,762,763,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,594,720,756,758,759,760,761,762,766,767,779,786,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,784],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,593,594,595,600,763,767,777,778,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,586,587,595,883,884],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,884,885],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,586,587,588,594,595,639,640,768,776,780,786,824],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,603],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,591,592,594,595,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,594,595,598,874,878],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,878],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,816,834],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,806,807,808,809,810,811,818],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,817,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,817,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,816,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,816,817,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,816,817,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,603,817,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,806,807,808,809,810,811,817,818],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,797,817,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,805,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,640,816,823,826,827,828,831,833,834,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,640,699,816,817,820,821,822,833,834],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,813,814,815,816,819,823,828,831,832,833,835,836,837],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,816,819],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,816,819],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,816,833],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,595,643,816,817,823,833,834],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,820,821,822,829,830,834],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,594,643,644,816,817,821,823,833,834],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,823,828,829,834],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,595,600,639,643,816,819,823,828,833,834],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,591,592,593,594,595,600,816,819,829,833],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,595,643,816,817,823,833,834,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,816],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,639,640,823,832,834,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,593,594,600,830],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,812,813,814,815,817,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,594,813,814,815,816,838,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,588,595,640,823,825,832,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,588,594,595,639,640,823,824,833,834],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,594,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,596,597],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,599,601],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,594,600,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,594,598,602],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,589,590,591,593,595,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,844,865,870],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,865],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,840,860,861,862,863,868],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,867,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,865,866,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,865,867,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,840,860,861,862,863,867,868],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,859,865,867,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,867,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,595,865,867,873,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,594,595,640,844,845,846,847,850,855,856,865,870,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,640,699,850,855,865,869,870],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,865,869],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,839,841,842,843,847,848,850,855,856,858,859,865,866,869,871],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,865,869],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,850,858,865],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,595,643,644,850,856,865,867,870],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,851,852,853,854,857,870],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,595,600,643,644,841,850,852,856,857,865,867,870],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,847,854,856,870],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,595,640,643,644,850,856,865],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,641,643,644,856],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,595,600,639,643,644,844,847,850,856,865,869,870],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,591,592,593,594,595,600,844,850,854,858,865,869],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,590,593,594,595,643,644,844,850,856,865,867,870,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,594,639,640,641,643,848,849,856,870,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,593,594,600,857],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,591,839,841,842,843,864,866,867,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,865,867],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,590,594,839,841,842,843,844,858,865,866,872],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,593,594,600,844,857,867,873],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,587,592,594,595,874],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,588,591,594,874,879],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,895],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,894],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,561,567],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,562],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,562,563,564,566],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,565],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,561,566],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1048],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,576],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,575],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,550,551,552,555,573,574],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,570],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,554,555,568],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,569],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,567],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,915,927,928,1047],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,550,551,552,555,573],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,938],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,928],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,915],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,915,932],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,928,934],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,915,927],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,916,917,929,930,931,933,935,936,937],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,481,551,552,555,927,928],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,504,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,384,506,507,508,509,510,511,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,451,517,518,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,528,530,531,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,209,213,214,216,225,231,252,397,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,216,226,227,228,230,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,216,225,264,266,268,269,272,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,209,214,216,221,223,224,225,249,251,252,253,396,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,227,248,486,497,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,216,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,201,205,248,498,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,274,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,273,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,408,477,485,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,408,435,440,456,497,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,342,408,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,390,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,389,390,391,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,389,551,552,555],[93,94,95,97,98,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,201,209,216,224,227,231,232,245,246,249,250,397,413,498,501,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,213,216,229,264,265,270,271,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,229,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,213,246,413,417,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,216,229,230,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,267,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,232,251,254,395,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,451,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,339,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,248,451,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,324,339,340,535,541,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,323,536,537,538,539,540,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,491,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,491,492,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,248,331,335,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,221,247,248,326,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,248,327,335,336,337,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,330,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,203,248,326,327,328,329,330,331,333,334,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,203,247,248,326,329,330,335,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,248,328,331,335,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,248,326,335,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,248,326,328,329,331,332,335,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,203,326,328,329,331,335,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,217,527,529,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,229,316,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,229,397,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,314,318,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,315,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1042],[92,93,94,95,96,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,196,197,200,501,548,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,209,248,398,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,209,214,312,358,381,387,388,392,393,397,413,414,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,245,394,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,501,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,215,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,469,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,202,205,385,418,460,464,465,466,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,202,205,419,465,468,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,419,464,465,467,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,458,459,460,461,462,463,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,460,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,464,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,281,282,286,294,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,248,275,276,277,278,283,285,294,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,281,283,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,279,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,284,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,280,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,502,503,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,358,404,435,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,404,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,495,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,494,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,248,292,388,400,408,414,416,419,426,431,432,435,440,444,445,446,447,448,485,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,244,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,248,255,329,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,247,248,419,449,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,441,442,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,441,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,290,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,388,400,408,413,432,444,445,449,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,424,427,435,440,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,202,205,274,444,452,453,454,455,456,457,470,471,472,473,474,475,476,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,202,205,227,420,421,422,425,426,440,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,227,248,292,419,424,432,443,449,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,288,387,400,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,227,419,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,288,291,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,288,289,290,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,217,225,248,257,278,292,309,310,357,358,381,382,387,413,414,485,501,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,202,203,205,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,440,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,227,310,357,385,413,414,415,430,436,437,438,439,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,435,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,204,205,298,387,399,400,420,421,422,423,424,427,428,429,431,432,433,434,440,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,225,298,420,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,227,357,358,388,413,414,440,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,225,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,225,408,414,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,209,220,225,229,249,255,257,259,295,300,305,309,310,312,346,349,351,354,355,356,357,381,388,397,399,408,413,414,416,485,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,485,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,216,217,218,274,408,409,411,412,501,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,213,214,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,292,294,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,207,272,274,275,276,277,278,285,286,292,293,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,207,264,304,305,306,346,347,357,358,367,370,371,381,388,399,408,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,232,245,249,357,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,432,435,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,209,217,357,364,365,399,408,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,363,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,418,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,294,368,369,378,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,408,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,400,430,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,209,225,310,397,399,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,215,260,264,347,367,370,373,408,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,206,207,397,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,232,245,264,374,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,207,216,225,259,376,397,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,278,292,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,229,258,259,260,269,294,375,377,397,413,551,552,555],[93,94,95,97,98,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,255,310,380,501,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,345,381,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,209,220,231,232,245,248,257,300,304,305,306,309,310,346,347,349,357,358,359,361,366,381,388,397,399,408,416,485,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,232,367,372,378,408,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,235,236,237,238,239,240,241,242,243,244,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,295,350,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,352,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,350,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,352,353,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,209,221,224,248,387,414,415,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,215,217,225,255,309,310,311,344,381,408,416,501,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,219,220,221,311,357,379,399,400,407,414,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,420,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,421,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,249,485,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,422,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,204,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,206,383,398,416,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,206,209,398,416,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,383,385,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,386,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,206,207,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,206,307,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,206,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,220,348,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,207,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,310,397,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,208,310,380,388,397,399,400,408,414,416,419,446,448,449,450,478,479,483,484,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,248,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,319,322,324,325,339,340,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,198,200,480,481,482,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,198,200,289,480,481,482,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,496,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,225,227,299,310,380,413,435,440,456,487,488,489,490,492,493,495,498,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,339,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,344,408,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,344,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,308,312,341,343,380,408,416,501,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,319,320,321,322,324,325,339,340,502,551,552,555],[93,94,95,97,98,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,206,207,225,257,309,310,357,378,379,381,397,398,399,408,413,414,501,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,410,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,202,205,384,386,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,299,301,304,357,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,299,302,401,402,403,405,406,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,295,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,298,435,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,297,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,299,300,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,296,298,413,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,219,299,301,302,303,408,413,414,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,248,335,338,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,203,247,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,211,212,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,217,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,323,551,552,555],[92,93,94,95,97,98,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,309,310,501,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,527,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,217,527,528,530,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,318,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,215,271,313,315,317,503,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,229,414,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,205,360,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,203,248,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,213,215,266,318,501,502,551,552,555],[92,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,196,197,200,501,549,551,552,555],[92,93,94,95,96,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[92,93,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,261,262,263,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,261,551,552,555],[92,93,94,95,96,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,200,201,215,225,227,257,373,464,498,499,500,503,549,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,513,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,515,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,519,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1043],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,521,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,523,524,525,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,531,551,552],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,531,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,505,512,514,516,520,522,526,532,534,543,544,546,550,551,552,553,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,533,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,542,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,315,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,545,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,299,301,302,304,401,402,405,406,547,549,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,362,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,580,581,582],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,580],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,581],[93,94,95,97,104,113,117,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,113,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,108,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,110,113,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,551,552,555],[93,94,95,97,104,108,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,551,552,555],[93,94,95,97,104,105,106,109,112,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,113,120,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,105,111,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,113,134,135,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,109,113,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,551,552,555],[93,94,95,97,104,134,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,551,552,555],[93,94,95,97,104,107,108,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,551,552,555],[93,94,95,97,104,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,135,136,137,138,139,140,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,113,128,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,113,120,121,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,111,113,121,122,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,112,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,105,108,113,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,113,117,121,122,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,117,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,111,113,116,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,105,110,113,120,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555],[93,94,95,97,104,108,113,134,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,551,552,555],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,914],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,892],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,893,897],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,904],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,892,898,899,901,902],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,900],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,896],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,892,893,897,898,899,901,908,910],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,891,898,902,903,905,906,907,908],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,899],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,890,891,892,893,897,898,899,900,901,903,905,906,907,908,909,910,911,912,913],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,901,903],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,926],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,481,551,552,555,903],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,918,919,920,921,922,923,924,925],[92,93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,891,909],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,911],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,899,907,909],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1035],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1024],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1024,1027],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,946,1018,1022,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,942,944,1027],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,1024,1025],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,943,949,1024,1026],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,944,946,948,949,950,951],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,946,948,950,951],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,948,951],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,946,948,950],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,943,946,948,949,951],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,942,944,945,946,947,948,949,950,951,952,953,954,1018,1019,1020,1021,1022,1023],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,942,944,945,948],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,944,945,948],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,948],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,942,943,945,946,947,949,950,951],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,942,943,944,948,1024],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,948,949,950,951],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,950],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,577,578],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,585,888,1037],[93,94,95,97,104,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,551,552,555,583]],"options":{"allowJs":true,"emitDeclarationOnly":false,"declarationMap":false,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":4,"tsBuildInfoFile":"./.tsbuildinfo","esModuleInterop":true},"referencedMap":[[1098,1],[1099,2],[1100,2],[1101,3],[1096,4],[557,2],[556,2],[1097,5],[1059,6],[1060,6],[1055,7],[1056,8],[1045,9],[1046,10],[1064,11],[1058,12],[1054,13],[1057,14],[1066,15],[1071,16],[1078,17],[1079,14],[1081,18],[1083,19],[1085,20],[1087,21],[1089,22],[1091,23],[1093,24],[1095,25],[888,26],[889,27],[887,28],[560,29],[940,30],[578,2],[941,31],[1037,32],[1040,33],[558,34],[572,35],[561,2],[563,2],[362,2],[266,2],[1072,36],[1063,37],[1065,37],[1061,38],[1070,39],[1067,36],[1077,40],[1068,36],[1080,36],[1076,41],[1082,42],[1074,43],[1069,36],[1062,38],[1084,44],[1075,37],[1086,37],[1088,42],[1090,36],[1051,38],[1092,37],[1094,45],[1073,2],[904,2],[143,46],[144,47],[145,48],[104,49],[146,50],[147,51],[148,52],[99,2],[102,53],[100,2],[101,2],[149,54],[150,55],[151,56],[152,57],[153,58],[154,59],[155,60],[157,2],[156,61],[158,62],[159,63],[160,64],[142,65],[103,2],[161,66],[162,67],[163,68],[195,69],[164,70],[165,71],[166,72],[167,73],[168,74],[169,75],[170,76],[171,77],[172,78],[173,79],[174,80],[175,81],[176,82],[177,83],[179,84],[178,85],[180,86],[181,87],[182,88],[183,89],[184,90],[185,91],[186,92],[187,93],[188,94],[189,95],[190,96],[191,97],[192,98],[193,99],[194,100],[199,101],[287,38],[200,102],[198,38],[289,103],[288,103],[196,104],[482,2],[197,105],[90,2],[92,106],[480,38],[481,38],[88,2],[89,2],[14,2],[15,2],[17,2],[16,2],[2,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[3,2],[26,2],[27,2],[4,2],[28,2],[32,2],[29,2],[30,2],[31,2],[33,2],[34,2],[35,2],[5,2],[36,2],[37,2],[38,2],[39,2],[6,2],[43,2],[40,2],[41,2],[42,2],[44,2],[7,2],[45,2],[50,2],[51,2],[46,2],[47,2],[48,2],[49,2],[8,2],[55,2],[52,2],[53,2],[54,2],[56,2],[9,2],[57,2],[58,2],[59,2],[61,2],[60,2],[62,2],[63,2],[10,2],[64,2],[65,2],[66,2],[11,2],[67,2],[68,2],[69,2],[70,2],[71,2],[72,2],[12,2],[73,2],[74,2],[75,2],[76,2],[77,2],[1,2],[78,2],[79,2],[13,2],[80,2],[81,2],[82,2],[83,2],[84,2],[85,2],[86,2],[87,2],[1053,107],[1052,108],[1038,2],[91,2],[585,2],[559,2],[875,109],[879,110],[824,111],[639,2],[589,112],[873,113],[874,114],[587,2],[876,115],[661,116],[604,117],[627,118],[636,119],[607,119],[608,120],[609,120],[635,121],[610,122],[611,120],[617,123],[612,124],[613,120],[614,120],[637,125],[606,126],[615,119],[616,124],[618,127],[619,127],[620,124],[621,120],[622,119],[623,120],[624,128],[625,128],[626,120],[648,129],[656,130],[634,131],[664,132],[628,133],[630,134],[631,131],[642,135],[650,136],[655,137],[652,138],[657,139],[645,140],[646,141],[653,142],[654,143],[660,144],[651,145],[629,115],[662,146],[605,115],[649,147],[647,148],[633,149],[632,131],[663,150],[638,151],[658,2],[659,152],[878,153],[588,115],[699,2],[716,154],[665,155],[690,156],[697,157],[666,157],[667,157],[668,158],[696,159],[669,160],[684,157],[670,161],[671,161],[672,158],[673,157],[674,158],[675,157],[698,162],[676,157],[677,157],[678,163],[679,157],[680,157],[681,163],[682,158],[683,157],[685,164],[686,163],[687,157],[688,158],[689,157],[711,165],[707,166],[695,167],[719,168],[691,169],[692,167],[708,170],[700,171],[709,172],[706,173],[704,174],[710,175],[703,176],[715,177],[705,178],[717,179],[712,180],[701,181],[694,182],[693,167],[718,183],[702,151],[713,2],[714,184],[592,185],[781,186],[720,187],[755,188],[764,189],[721,190],[722,190],[723,191],[724,190],[763,192],[725,193],[726,194],[727,195],[728,190],[765,196],[766,197],[729,190],[731,198],[732,189],[734,199],[735,200],[736,200],[737,191],[738,190],[739,190],[740,196],[741,191],[742,191],[743,200],[744,190],[745,189],[746,190],[747,191],[748,201],[733,202],[749,190],[750,191],[751,190],[752,190],[753,190],[754,190],[883,203],[776,204],[762,205],[786,206],[756,207],[758,208],[759,205],[880,209],[769,210],[775,211],[771,212],[777,213],[881,214],[882,141],[772,215],[774,216],[780,217],[770,218],[757,115],[782,219],[730,115],[768,220],[773,221],[761,222],[760,205],[783,223],[784,2],[785,224],[767,151],[778,2],[779,225],[885,226],[886,227],[884,228],[600,229],[593,230],[643,115],[640,231],[644,232],[641,233],[835,234],[812,235],[818,236],[787,236],[788,236],[789,237],[817,238],[790,239],[805,236],[791,240],[792,240],[793,237],[794,236],[795,241],[796,236],[819,242],[797,236],[798,236],[799,243],[800,236],[801,236],[802,243],[803,237],[804,236],[806,244],[807,243],[808,236],[809,237],[810,236],[811,236],[832,245],[823,246],[838,247],[813,248],[814,249],[827,250],[820,251],[831,252],[822,253],[830,254],[829,255],[834,256],[821,257],[836,258],[833,259],[828,260],[816,261],[815,249],[837,262],[826,263],[825,264],[596,265],[598,266],[597,265],[599,265],[602,267],[601,268],[603,269],[594,270],[871,271],[839,272],[864,273],[868,274],[867,275],[840,276],[869,277],[860,278],[861,274],[862,279],[863,280],[848,281],[856,282],[866,283],[872,284],[841,285],[842,283],[845,286],[851,287],[855,288],[853,289],[857,290],[846,291],[849,292],[854,293],[870,294],[852,295],[850,296],[847,297],[865,298],[843,299],[859,300],[844,151],[858,301],[590,151],[591,302],[595,303],[877,2],[896,304],[895,305],[894,2],[1050,38],[562,306],[564,307],[565,308],[566,309],[567,310],[1049,311],[577,312],[576,313],[575,314],[571,315],[569,316],[570,317],[568,318],[1048,319],[574,320],[573,2],[939,321],[937,322],[934,323],[933,324],[917,323],[936,322],[935,325],[929,322],[916,323],[932,326],[930,322],[931,323],[938,327],[1047,328],[505,329],[512,330],[519,331],[529,332],[499,333],[256,2],[229,334],[270,335],[250,2],[397,336],[265,337],[246,2],[252,2],[227,2],[498,338],[303,339],[228,2],[249,340],[273,341],[274,342],[478,343],[493,344],[343,345],[391,346],[392,347],[390,348],[389,2],[251,349],[272,350],[230,351],[417,2],[418,352],[255,2],[231,353],[309,2],[305,2],[218,2],[268,354],[267,2],[396,355],[409,2],[221,2],[518,356],[454,357],[455,357],[451,358],[538,2],[456,2],[457,38],[452,359],[542,360],[541,361],[537,2],[323,2],[492,362],[491,2],[536,363],[453,38],[337,364],[327,365],[338,366],[326,2],[331,367],[335,368],[336,369],[332,370],[334,371],[333,372],[328,2],[330,373],[539,2],[535,2],[540,2],[530,374],[533,38],[317,375],[316,376],[500,2],[315,377],[545,38],[314,378],[297,2],[547,2],[1043,379],[1042,2],[548,38],[549,380],[210,2],[393,381],[394,382],[395,383],[214,2],[258,2],[224,384],[201,2],[471,38],[216,385],[470,386],[467,387],[469,388],[468,389],[458,2],[459,2],[466,2],[461,2],[464,390],[460,2],[462,391],[465,392],[463,391],[226,2],[222,2],[223,2],[278,2],[283,393],[286,394],[282,395],[280,396],[285,397],[281,398],[276,2],[476,38],[311,38],[504,378],[513,399],[517,400],[436,401],[404,2],[300,2],[405,402],[225,403],[494,404],[495,405],[290,2],[449,406],[423,407],[475,408],[438,38],[447,409],[443,410],[442,411],[441,412],[446,413],[428,414],[477,415],[424,2],[427,416],[425,2],[444,417],[473,418],[472,2],[474,2],[434,419],[432,2],[292,420],[291,421],[388,422],[204,423],[437,424],[440,425],[429,426],[435,427],[421,428],[488,429],[414,430],[347,431],[358,432],[219,2],[415,433],[413,434],[215,435],[293,436],[277,2],[294,437],[372,438],[275,2],[371,439],[433,440],[98,2],[366,441],[365,2],[364,442],[257,2],[419,443],[359,2],[209,2],[384,2],[254,2],[370,444],[295,445],[431,446],[357,447],[430,2],[369,2],[279,2],[374,448],[398,449],[375,450],[253,2],[377,451],[379,452],[378,453],[260,2],[368,2],[381,454],[346,455],[367,456],[373,457],[234,2],[238,2],[237,2],[236,2],[241,2],[235,2],[244,2],[243,2],[240,2],[239,2],[242,2],[245,458],[233,2],[351,459],[350,2],[355,460],[352,461],[354,462],[356,460],[353,461],[416,463],[312,464],[408,465],[511,2],[406,2],[523,466],[525,467],[400,468],[524,469],[509,2],[205,470],[202,470],[232,2],[399,471],[383,472],[386,473],[387,474],[208,475],[487,475],[307,475],[348,476],[308,476],[207,477],[206,2],[349,478],[220,479],[479,480],[486,433],[485,481],[448,482],[450,483],[483,484],[484,485],[497,486],[496,487],[490,488],[345,489],[342,490],[344,491],[341,492],[380,493],[410,2],[411,494],[510,2],[385,495],[382,496],[407,497],[489,2],[296,498],[422,2],[420,499],[298,500],[301,501],[401,2],[299,502],[302,502],[507,2],[506,2],[508,2],[403,2],[402,2],[304,503],[439,2],[339,504],[248,505],[271,2],[213,506],[310,2],[515,38],[212,2],[527,507],[325,38],[521,38],[324,508],[502,509],[322,507],[217,2],[528,510],[531,511],[320,38],[321,38],[313,2],[211,2],[284,2],[319,512],[318,513],[259,514],[426,2],[306,2],[376,2],[361,515],[360,2],[247,516],[329,482],[203,2],[340,38],[412,384],[445,2],[503,517],[93,518],[96,519],[97,520],[94,521],[95,522],[269,2],[264,523],[263,2],[262,524],[261,2],[501,525],[514,526],[516,527],[520,528],[1044,529],[522,530],[526,531],[555,532],[532,533],[554,534],[534,535],[543,536],[544,537],[546,538],[550,539],[553,384],[552,540],[551,541],[586,2],[363,542],[1039,2],[580,2],[583,543],[581,544],[582,545],[120,546],[130,547],[119,546],[140,548],[111,549],[110,2],[139,550],[133,551],[138,549],[113,552],[127,553],[112,554],[136,555],[108,556],[107,550],[137,557],[109,558],[114,547],[115,2],[118,547],[105,2],[141,559],[131,560],[122,561],[123,562],[125,563],[121,564],[124,565],[134,550],[116,566],[117,567],[126,568],[106,2],[129,560],[128,547],[132,2],[135,569],[915,570],[890,2],[899,2],[893,571],[898,572],[905,573],[906,2],[903,574],[901,575],[900,2],[907,2],[897,576],[910,2],[892,2],[891,38],[911,577],[909,578],[908,576],[913,579],[914,580],[912,581],[902,2],[928,326],[927,582],[918,583],[926,584],[925,585],[924,586],[920,323],[923,579],[921,2],[922,323],[919,587],[1036,588],[1028,589],[1034,590],[1029,590],[1031,590],[1025,589],[1035,591],[1030,592],[1032,590],[1033,590],[1026,593],[1027,594],[1021,595],[949,596],[1020,597],[951,598],[1019,2],[950,599],[1024,600],[1023,601],[1022,602],[942,2],[953,603],[952,596],[954,2],[944,597],[948,604],[943,2],[945,605],[946,606],[947,2],[955,607],[956,607],[957,607],[958,607],[959,607],[960,607],[961,607],[962,607],[963,607],[964,607],[965,607],[966,607],[967,607],[968,607],[969,607],[970,607],[972,607],[971,607],[973,607],[974,607],[975,607],[976,607],[977,607],[978,607],[979,607],[1018,608],[980,607],[981,607],[982,607],[983,607],[984,607],[985,607],[986,607],[987,607],[988,607],[989,607],[990,607],[991,607],[992,607],[993,607],[994,607],[995,607],[997,607],[996,607],[999,607],[998,607],[1000,607],[1001,607],[1002,607],[1003,607],[1004,607],[1005,607],[1006,607],[1007,607],[1008,607],[1009,607],[1010,607],[1011,607],[1012,607],[1013,607],[1014,607],[1017,607],[1015,607],[1016,607],[579,609],[1041,610],[584,611]],"affectedFilesPendingEmit":[1101,1097,1059,1060,1055,1056,1045,1046,1064,1058,1054,1057,1066,1071,1078,1079,1081,1083,1085,1087,1089,1091,1093,1095,888,889,887,560,940,578,941,1037,1040,572,579,1041,584]} \ No newline at end of file diff --git a/e-commerce/.next/cache/_events_551279_aae0d5938ad89b57.json b/e-commerce/.next/cache/_events_551279_aae0d5938ad89b57.json new file mode 100644 index 0000000000000000000000000000000000000000..268b7b029b934612eb0c058991ef84bf3ee9721f --- /dev/null +++ b/e-commerce/.next/cache/_events_551279_aae0d5938ad89b57.json @@ -0,0 +1 @@ +[{"eventName":"NEXT_CLI_SESSION_STOPPED","payload":{"nextVersion":"16.4.0","nodeVersion":"v24.16.0","cliCommand":"dev","durationMilliseconds":2400,"turboFlag":true,"pagesDir":false,"appDir":true,"isRspack":false}}] \ No newline at end of file diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000027.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000027.sst new file mode 100644 index 0000000000000000000000000000000000000000..a9493401929d4c90c07080a2924bc731ee4a1402 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000027.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7344e0fff5c42861f11fe6bb53ea7b50097c165479624e7584648f1b307a4e8a +size 1671021 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000032.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000032.sst new file mode 100644 index 0000000000000000000000000000000000000000..d0745c374ca1e165b11f07a89ac833c9af07bf1a Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000032.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000033.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000033.meta new file mode 100644 index 0000000000000000000000000000000000000000..d4a0e2922a3c88ec8c7d199a567e25324c9f4ce6 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000033.meta @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a4956d2847d07894822267069149788280919f30c1c3e8b04b54b411b369558 +size 299233 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000044.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000044.sst new file mode 100644 index 0000000000000000000000000000000000000000..48c4e52789c25ff22d14057e12858c762cb30474 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000044.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000048.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000048.meta new file mode 100644 index 0000000000000000000000000000000000000000..5dff96a809535a84b3041c13ea3490f0a08c1070 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000048.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000080.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000080.sst new file mode 100644 index 0000000000000000000000000000000000000000..edcd2afa6d453d8ffb1689375de3cccaa5c56173 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000080.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b385fa9ec529baf3ec1d7f2b588496f04f649288e9509e8e1323af4240c4865d +size 382305 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000083.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000083.meta new file mode 100644 index 0000000000000000000000000000000000000000..61dfbf29df0754148566876eb28888f8905872fe Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000083.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000094.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000094.sst new file mode 100644 index 0000000000000000000000000000000000000000..b4e44f32137f16942479079e01398656433492e2 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000094.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000098.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000098.meta new file mode 100644 index 0000000000000000000000000000000000000000..2229e649f5a752c289957e5906746edf09c57082 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000098.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000101.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000101.sst new file mode 100644 index 0000000000000000000000000000000000000000..3e047e387e95d1a5f26fc3ac737a988206faab4e --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000101.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40232c0c29933cc6dc768e4a7dc4414bd1026cec039be2081dcaeecf72bf1179 +size 528113 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000106.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000106.meta new file mode 100644 index 0000000000000000000000000000000000000000..a52fc84f2167e6554a8ee7ef9236b9dc250fd6fd Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000106.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000109.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000109.sst new file mode 100644 index 0000000000000000000000000000000000000000..3319faab1d99ee6d77f4a638cce6790f3ea2deda --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000109.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a3dc8a44537a67a5bb63a421a009bbfe0f8d6086e4b2fa653b36f5c3c86fa7a +size 21914298 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000110.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000110.sst new file mode 100644 index 0000000000000000000000000000000000000000..3cda84de3d41945b5a31c20d24a91077197db567 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000110.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:976cc7de5005df7077424523ef7dc1ff5147914c6dc8986c2c4585cb6d0f0d50 +size 20084391 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000114.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000114.meta new file mode 100644 index 0000000000000000000000000000000000000000..69c17dc6c978dc42bc2d502b1ac3d59bf755496f --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000114.meta @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02a0ced20561b70003eb4aae69708270b84b17f84f4393202338817009609c15 +size 299172 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000116.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000116.sst new file mode 100644 index 0000000000000000000000000000000000000000..a92d936d1516d27a35e761d7d6d99b931c63976d Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000116.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000121.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000121.meta new file mode 100644 index 0000000000000000000000000000000000000000..c43f0578863b81b3bd4f0d6ad04e1d2a6e760054 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000121.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000177.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000177.sst new file mode 100644 index 0000000000000000000000000000000000000000..415b38533984da7108e09fc06c956bdc5d786004 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000177.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5f05725b1c13cc523752c4bc1260ce46b71f1e3b12c49c353ee3afbaf99b841 +size 8938780 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000178.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000178.sst new file mode 100644 index 0000000000000000000000000000000000000000..ccdcb42501ea1d0601573c026317ef4ffc299938 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000178.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:358a7306bfee7ec5fa728516cbd56ba8b95e21c6af34f20f584ebae51e899737 +size 3237929 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000179.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000179.meta new file mode 100644 index 0000000000000000000000000000000000000000..db4c0e79a83ae1149f8338cc7aa0e5b2bf1a37f2 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000179.meta @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b93d5499fee97e843318e7d4d4739a0f4c2687c1993baf8dcb26beb626807574 +size 373944 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000182.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000182.sst new file mode 100644 index 0000000000000000000000000000000000000000..683aa342d85741f3768fb68683077acf4bcba32f --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000182.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:445e3ed79a660fa8a22340ebbb29b2b960f785c0710b1e76be3cac7d6c507009 +size 413783 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000186.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000186.meta new file mode 100644 index 0000000000000000000000000000000000000000..a179bf4580e167fbd6d7e9b0d5ee5c08f1077f05 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000186.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000187.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000187.sst new file mode 100644 index 0000000000000000000000000000000000000000..4317dd4bc60e332b16990b5c54bea8a70ea5bc28 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000187.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000188.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000188.sst new file mode 100644 index 0000000000000000000000000000000000000000..bac65dcecfa23b3a1e4cbcb775abd18d0aee762b --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000188.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af2677cf3a39cde12d2c3bafcc2bb790855e0845beb17a7e22477b27142671f7 +size 4761386 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000189.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000189.meta new file mode 100644 index 0000000000000000000000000000000000000000..ea8fb1d9eaf549227e8f5c2a17c49732be3ec835 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000189.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000190.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000190.meta new file mode 100644 index 0000000000000000000000000000000000000000..767f6a3db69fc8fe8b8d6db4fc2016412a9e5641 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000190.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000193.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000193.sst new file mode 100644 index 0000000000000000000000000000000000000000..b8918fa89efdf5a338ae6da0c7436d94b4cc6276 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000193.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45a635aad4b9c48de89d6b18401ce921398748bc1260dae078d36df5bc55ce52 +size 3064717 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000194.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000194.sst new file mode 100644 index 0000000000000000000000000000000000000000..2a4afd307d9a407c5714d05eabd15ee39a817a1e --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000194.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:977825888727f18ac88268986309716f0fbc9eafa06ffbea28e61dca24aa1b4c +size 1621966 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000195.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000195.sst new file mode 100644 index 0000000000000000000000000000000000000000..676bcaa32c4958808dfa12f8e3926b2204423f4c Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000195.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000196.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000196.meta new file mode 100644 index 0000000000000000000000000000000000000000..ef592dd49a5a07a1923416adcb22e06b19526a58 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000196.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000198.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000198.meta new file mode 100644 index 0000000000000000000000000000000000000000..61f95179b03bccbb3441b41b72ddb0ae834ee12b --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000198.meta @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14ab1d661cf5fd351b45c686ccc6c754511e4a8b9ed69c95dac10f8485e2a1c4 +size 157925 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000199.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000199.meta new file mode 100644 index 0000000000000000000000000000000000000000..08b6e99840fc749fa918a07655e4ef4e6c5b4ed0 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000199.meta @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9182570c9350a3808c5cf129e3e6df73338dee994f67401ae59e9f7932f5bd87 +size 167270 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000200.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000200.sst new file mode 100644 index 0000000000000000000000000000000000000000..5264293fb6b5697a04e92930c6b677e943c24c8c Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000200.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000201.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000201.meta new file mode 100644 index 0000000000000000000000000000000000000000..850e689940deff0bcd8e56747a679dca426acaf2 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000201.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000203.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000203.sst new file mode 100644 index 0000000000000000000000000000000000000000..a7673ffa089244d85c1efcce03ad69feacdeb710 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000203.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a76431ffdeda78a1f3ee05b9dc4bec3b003f482256320353362c7a7405fcc0f +size 408678 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000204.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000204.sst new file mode 100644 index 0000000000000000000000000000000000000000..6f9ec4f36a12a611a9e505cb5cfa7f9e7889e69c --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000204.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0769d860e119feda1837131d87388506172d5f2339fb75fde0c1faee2621588f +size 711568 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000205.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000205.sst new file mode 100644 index 0000000000000000000000000000000000000000..676bcaa32c4958808dfa12f8e3926b2204423f4c Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000205.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000206.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000206.meta new file mode 100644 index 0000000000000000000000000000000000000000..78f5c146928a7b4236d3b2d00e26978a755620c4 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000206.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000207.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000207.meta new file mode 100644 index 0000000000000000000000000000000000000000..43926c9ecd6c837f959b27643150ec809d494744 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000207.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000208.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000208.meta new file mode 100644 index 0000000000000000000000000000000000000000..6dab57d4ffa44b75a8f33014b9e6d88650ce53ed Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000208.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000209.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000209.sst new file mode 100644 index 0000000000000000000000000000000000000000..e43cf55409b55a2db34580a47c9b6090e2a11e68 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000209.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000210.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000210.sst new file mode 100644 index 0000000000000000000000000000000000000000..d2d5c5c8bb17ed52f9ac448825f878fa3ea8cf6f --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000210.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de452786cc6daa2ccf8f24341ab052bd839914a1dde5eba6fe4bae4b66136f8a +size 399369 diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000211.sst b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000211.sst new file mode 100644 index 0000000000000000000000000000000000000000..676bcaa32c4958808dfa12f8e3926b2204423f4c Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000211.sst differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000212.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000212.meta new file mode 100644 index 0000000000000000000000000000000000000000..3f3a28969af3b772c8cc5469d9548effc8c69060 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000212.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000213.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000213.meta new file mode 100644 index 0000000000000000000000000000000000000000..db0e4ee4f49c872df8bf4738081990da9da30bdf Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000213.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000214.meta b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000214.meta new file mode 100644 index 0000000000000000000000000000000000000000..f151f7eb5f1416b00193105583f416b985e91209 Binary files /dev/null and b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/00000214.meta differ diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/CURRENT b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..4f3433f9d911e97f9d0f8ec29b76dcad498a3a8f --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/CURRENT @@ -0,0 +1 @@ +{"max_sequence_number":214,"commit_time":"2026-10-13T10:39:10.166351544Z"} diff --git a/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/LOG b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/LOG new file mode 100644 index 0000000000000000000000000000000000000000..a66e791f664f0eb0cce9a1dce405b34503b90451 --- /dev/null +++ b/e-commerce/.next/cache/turbopack/v16.4.0-e273d5b2/LOG @@ -0,0 +1,394 @@ +Time 2026-10-13T06:19:10.705102738Z +Commit 00000018 416173 keys in 1s 267ms 820µs 731ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000015 | 00000014 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 1 | 00000016 | 00000001 SST | [=======================] | 000162bda900bf14-3ffefbc09c358f7b (1 MiB, fresh, 1830709 bytes, 34641 entries, 0 tombstones) + 1 | 00000016 | 00000004 SST | [=======================] | 40006784a00f6415-7fff898d608ce952 (1 MiB, fresh, 1795205 bytes, 34472 entries, 0 tombstones) + 1 | 00000016 | 00000005 SST | [=======================] | 80000d88d69befb1-bfff8d1947f12603 (1 MiB, fresh, 1889949 bytes, 34811 entries, 0 tombstones) + 1 | 00000016 | 00000007 SST | [=======================] | c0002f8f2f9a1a05-fffec925b18eeb5e (1 MiB, fresh, 1869382 bytes, 34800 entries, 0 tombstones) + 2 | 00000017 | 00000002 SST | [===========] | 000162bda900bf14-1fff3126ecb74ef2 (2 MiB, fresh, 2743753 bytes, 17334 entries, 0 tombstones) + 2 | 00000017 | 00000006 SST | [===========] | 20015b66a8a18f5a-3ffefbc09c358f7b (3 MiB, fresh, 3205949 bytes, 17307 entries, 0 tombstones) + 2 | 00000017 | 00000008 SST | [===========] | 40006784a00f6415-5ffff1e4aa20885f (3 MiB, fresh, 3190680 bytes, 17151 entries, 0 tombstones) + 2 | 00000017 | 00000009 SST | [===========] | 600001c992b8ca51-7fff898d608ce952 (2 MiB, fresh, 2854360 bytes, 17321 entries, 0 tombstones) + 2 | 00000017 | 00000010 SST | [===========] | 80000d88d69befb1-9fffe987c68ef020 (2 MiB, fresh, 2311720 bytes, 17317 entries, 0 tombstones) + 2 | 00000017 | 00000011 SST | [===========] | a000087685e44c9d-bfff8d1947f12603 (2 MiB, fresh, 2832440 bytes, 17494 entries, 0 tombstones) + 2 | 00000017 | 00000012 SST | [===========] | c0002f8f2f9a1a05-dfff17daaafff866 (2 MiB, fresh, 2502285 bytes, 17515 entries, 0 tombstones) + 2 | 00000017 | 00000013 SST | [===========] | e0007849199e644d-fffec925b18eeb5e (3 MiB, fresh, 3361283 bytes, 17285 entries, 0 tombstones) + 3 | 00000018 | 00000003 SST | [==================================================================================================] | 000071b06b2e6369-ffffbce1877a9c6b (1 MiB, fresh, 1671357 bytes, 138724 entries, 0 tombstones) +Time 2026-10-13T06:23:54.532194076Z +Commit 00000026 2858 keys in 3s 18ms 620µs 960ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000023 | 00000022 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000024 | 00000019 SST | [================================================================] | 4ba27a725a082f8d-f13e26a34dceb5b7 (0 MiB, fresh, 105 bytes, 6 entries, 0 tombstones) + 1 | 00000025 | 00000021 SST | [==================================================================================================] | 006033bd0e641e05-ffd5ba9cd8cbc04f (0 MiB, fresh, 509663 bytes, 2783 entries, 0 tombstones) + 2 | 00000026 | 00000020 SST | [=================================================================================================] | 016dfee87be75cc5-fd4f23667dd469a3 (0 MiB, fresh, 100356 bytes, 68 entries, 0 tombstones) + 3 | 00000033 | Compaction: + 3 | 00000033 | MERGE (138730 keys): + 3 | 00000033 | 00000003 INPUT | [==================================================================================================] | 000071b06b2e6369-ffffbce1877a9c6b + 3 | 00000033 | 00000019 INPUT | [================================================================] | 4ba27a725a082f8d-f13e26a34dceb5b7 + 3 | 00000033 | 00000027 OUTPUT | [==================================================================================================] | 000071b06b2e6369-ffffbce1877a9c6b (cold bottom) + 3 | 00000033 | 00000032 OUTPUT | [=============================================================================================] | 0da28912338f5463-fe03a1802db53573 (hot bottom) + 1 | 00000034 | Compaction: + 1 | 00000034 | MERGE (138730 keys): + 1 | 00000034 | 00000001 INPUT | [=======================] | 000162bda900bf14-3ffefbc09c358f7b + 1 | 00000034 | 00000004 INPUT | [=======================] | 40006784a00f6415-7fff898d608ce952 + 1 | 00000034 | 00000005 INPUT | [=======================] | 80000d88d69befb1-bfff8d1947f12603 + 1 | 00000034 | 00000007 INPUT | [=======================] | c0002f8f2f9a1a05-fffec925b18eeb5e + 1 | 00000034 | 00000021 INPUT | [==================================================================================================] | 006033bd0e641e05-ffd5ba9cd8cbc04f + 1 | 00000034 | 00000028 OUTPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (cold bottom) + 1 | 00000034 | 00000029 OUTPUT | [==================================================================================================] | 000ac03f0a975beb-ffe55de8799f3aa8 (hot bottom) + 2 | 00000035 | Compaction: + 2 | 00000035 | MERGE (138730 keys): + 2 | 00000035 | 00000002 INPUT | [===========] | 000162bda900bf14-1fff3126ecb74ef2 + 2 | 00000035 | 00000006 INPUT | [===========] | 20015b66a8a18f5a-3ffefbc09c358f7b + 2 | 00000035 | 00000008 INPUT | [===========] | 40006784a00f6415-5ffff1e4aa20885f + 2 | 00000035 | 00000009 INPUT | [===========] | 600001c992b8ca51-7fff898d608ce952 + 2 | 00000035 | 00000010 INPUT | [===========] | 80000d88d69befb1-9fffe987c68ef020 + 2 | 00000035 | 00000011 INPUT | [===========] | a000087685e44c9d-bfff8d1947f12603 + 2 | 00000035 | 00000012 INPUT | [===========] | c0002f8f2f9a1a05-dfff17daaafff866 + 2 | 00000035 | 00000013 INPUT | [===========] | e0007849199e644d-fffec925b18eeb5e + 2 | 00000035 | 00000020 INPUT | [=================================================================================================] | 016dfee87be75cc5-fd4f23667dd469a3 + 2 | 00000035 | 00000030 OUTPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (cold bottom) + 2 | 00000035 | 00000031 OUTPUT | [==================================================================================================] | 000ac03f0a975beb-ffe55de8799f3aa8 (hot bottom) +Time 2026-10-13T06:23:58.279935184Z +Commit 00000036 416190 keys in 629ms 261µs 971ns +FAM | META SEQ | SST SEQ | RANGE + 3 | 00000033 | 00000027 SST | [==================================================================================================] | 000071b06b2e6369-ffffbce1877a9c6b (1 MiB, cold bottom, 1671021 bytes, 138696 entries, 0 tombstones) + 3 | 00000033 | 00000032 SST | [=============================================================================================] | 0da28912338f5463-fe03a1802db53573 (0 MiB, hot bottom, 441 bytes, 34 entries, 0 tombstones) + 3 | 00000033 | 00000003 00000019 OBSOLETE SST + 1 | 00000034 | 00000028 SST | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (6 MiB, cold bottom, 6293307 bytes, 125792 entries, 0 tombstones) + 1 | 00000034 | 00000029 SST | [==================================================================================================] | 000ac03f0a975beb-ffe55de8799f3aa8 (0 MiB, hot bottom, 948714 bytes, 12938 entries, 0 tombstones) + 1 | 00000034 | 00000001 00000004 00000005 00000007 00000021 OBSOLETE SST + 2 | 00000035 | 00000030 SST | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (18 MiB, cold bottom, 18951501 bytes, 127183 entries, 0 tombstones) + 2 | 00000035 | 00000031 SST | [==================================================================================================] | 000ac03f0a975beb-ffe55de8799f3aa8 (3 MiB, hot bottom, 3903003 bytes, 11547 entries, 0 tombstones) + 2 | 00000035 | 00000002 00000006 00000008 00000009 00000010 00000011 00000012 00000013 00000020 OBSOLETE SST + | | 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000009 00000010 00000011 00000012 00000013 00000019 00000020 SST DELETED + | | 00000021 SST DELETED + | | 00000016 00000025 META DELETED + | | 00000017 00000026 META DELETED + | | 00000018 00000024 META DELETED +Time 2026-10-13T06:24:58.916871625Z +Commit 00000042 405 keys in 1s 326ms 816µs 772ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000040 | 00000039 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 2 | 00000041 | 00000037 SST | [=================================================================================] | 090ba600c3820fc2-db02334e96d65708 (0 MiB, fresh, 15731 bytes, 2 entries, 0 tombstones) + 1 | 00000042 | 00000038 SST | [==================================================================================================] | 009be71971081167-fd8e984873cf54fd (0 MiB, fresh, 193224 bytes, 402 entries, 0 tombstones) +Time 2026-10-13T06:26:00.911693667Z +Commit 00000050 2684 keys in 1s 150ms 664µs 562ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000047 | 00000046 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000048 | 00000044 SST | [==================================================] | 12b2a6d90974fcf7-965fbfcec1b30c2c (0 MiB, fresh, 81 bytes, 4 entries, 0 tombstones) + 2 | 00000049 | 00000043 SST | [==================================================================================================] | 006ebbae5202dcd3-ff81a562c82cfa89 (0 MiB, fresh, 149598 bytes, 90 entries, 0 tombstones) + 1 | 00000050 | 00000045 SST | [==================================================================================================] | 00471d2745b753a0-fff177d4c380f66d (0 MiB, fresh, 402039 bytes, 2589 entries, 0 tombstones) +Time 2026-10-13T06:29:00.767800854Z +Commit 00000056 783 keys in 1s 286ms 460µs 282ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000054 | 00000053 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 2 | 00000055 | 00000052 SST | [================================================================================================] | 01401e22018c1829-f85b19414d22ae6f (0 MiB, fresh, 594036 bytes, 52 entries, 0 tombstones) + 1 | 00000056 | 00000051 SST | [==================================================================================================] | 00695c893244a7c9-fe23c188bb4d9a33 (0 MiB, fresh, 294114 bytes, 730 entries, 0 tombstones) +Time 2026-10-13T06:30:26.743230442Z +Commit 00000062 514 keys in 1s 19ms 641µs 162ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000060 | 00000059 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 1 | 00000061 | 00000058 SST | [==================================================================================================] | 009be71971081167-fd8e984873cf54fd (0 MiB, fresh, 258357 bytes, 481 entries, 0 tombstones) + 2 | 00000062 | 00000057 SST | [==========================================================================================] | 01401e22018c1829-eb806ac61b9739a3 (0 MiB, fresh, 141224 bytes, 32 entries, 0 tombstones) +Time 2026-10-13T06:31:33.162897334Z +Commit 00000068 407 keys in 939ms 572µs 427ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000066 | 00000065 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 2 | 00000067 | 00000063 SST | [=================================================================================] | 090ba600c3820fc2-db02334e96d65708 (0 MiB, fresh, 15749 bytes, 2 entries, 0 tombstones) + 1 | 00000068 | 00000064 SST | [==================================================================================================] | 009be71971081167-fd8e984873cf54fd (0 MiB, fresh, 199339 bytes, 404 entries, 0 tombstones) + 0 | 00000070 | Compaction: + 0 | 00000070 | MERGE (1 keys): + 0 | 00000070 | 00000014 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000070 | 00000022 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000070 | 00000039 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000070 | 00000046 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000070 | 00000053 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000070 | 00000059 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000070 | 00000065 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000070 | 00000069 OUTPUT | O | c44bdff4074eecdb-c44bdff4074eecdb (compacted) +Time 2026-10-13T06:31:34.105381756Z +Commit 00000071 1 keys in 39ms 986µs 606ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000070 | 00000069 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, compacted, 38 bytes, 1 entries, 0 tombstones) + 0 | 00000070 | 00000014 00000022 00000039 00000046 00000053 00000059 00000065 OBSOLETE SST + | | 00000014 00000022 00000039 00000046 00000053 00000059 00000065 SST DELETED + | | 00000015 00000023 00000040 00000047 00000054 00000060 00000066 META DELETED +Time 2026-10-13T06:33:51.522885688Z +Commit 00000077 457 keys in 1s 8ms 852µs 39ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000075 | 00000074 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 2 | 00000076 | 00000073 SST | [=======================================================================================] | 090ba600c3820fc2-eb806ac61b9739a3 (0 MiB, fresh, 21268 bytes, 13 entries, 0 tombstones) + 1 | 00000077 | 00000072 SST | [==================================================================================================] | 009be71971081167-fd8e984873cf54fd (0 MiB, fresh, 253703 bytes, 443 entries, 0 tombstones) +Time 2026-10-13T09:16:06.350552832Z +Commit 00000085 123029 keys in 1s 412ms 811µs 136ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000082 | 00000081 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000083 | 00000080 SST | [==================================================================================================] | 0000e07fc80dd66c-fffed71268958f24 (0 MiB, fresh, 382305 bytes, 31730 entries, 0 tombstones) + 2 | 00000084 | 00000078 SST | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b (11 MiB, fresh, 11649124 bytes, 37711 entries, 0 tombstones) + 1 | 00000085 | 00000079 SST | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b (4 MiB, fresh, 4213248 bytes, 53587 entries, 0 tombstones) + 1 | 00000090 | Compaction: + 1 | 00000090 | MERGE (170464 keys): + 1 | 00000090 | 00000028 INPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e + 1 | 00000090 | 00000029 INPUT | [==================================================================================================] | 000ac03f0a975beb-ffe55de8799f3aa8 + 1 | 00000090 | 00000038 INPUT | [==================================================================================================] | 009be71971081167-fd8e984873cf54fd + 1 | 00000090 | 00000045 INPUT | [==================================================================================================] | 00471d2745b753a0-fff177d4c380f66d + 1 | 00000090 | 00000051 INPUT | [==================================================================================================] | 00695c893244a7c9-fe23c188bb4d9a33 + 1 | 00000090 | 00000058 INPUT | [==================================================================================================] | 009be71971081167-fd8e984873cf54fd + 1 | 00000090 | 00000064 INPUT | [==================================================================================================] | 009be71971081167-fd8e984873cf54fd + 1 | 00000090 | 00000072 INPUT | [==================================================================================================] | 009be71971081167-fd8e984873cf54fd + 1 | 00000090 | 00000079 INPUT | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b + 1 | 00000090 | 00000087 OUTPUT | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b (cold bottom) + 1 | 00000090 | 00000089 OUTPUT | [==================================================================================================] | 000162bda900bf14-fffdc179f9d8898f (hot bottom) + 2 | 00000091 | Compaction: + 2 | 00000091 | MERGE (170464 keys): + 2 | 00000091 | 00000030 INPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e + 2 | 00000091 | 00000031 INPUT | [==================================================================================================] | 000ac03f0a975beb-ffe55de8799f3aa8 + 2 | 00000091 | 00000037 INPUT | [=================================================================================] | 090ba600c3820fc2-db02334e96d65708 + 2 | 00000091 | 00000043 INPUT | [==================================================================================================] | 006ebbae5202dcd3-ff81a562c82cfa89 + 2 | 00000091 | 00000052 INPUT | [================================================================================================] | 01401e22018c1829-f85b19414d22ae6f + 2 | 00000091 | 00000057 INPUT | [==========================================================================================] | 01401e22018c1829-eb806ac61b9739a3 + 2 | 00000091 | 00000063 INPUT | [=================================================================================] | 090ba600c3820fc2-db02334e96d65708 + 2 | 00000091 | 00000073 INPUT | [=======================================================================================] | 090ba600c3820fc2-eb806ac61b9739a3 + 2 | 00000091 | 00000078 INPUT | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b + 2 | 00000091 | 00000086 OUTPUT | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b (cold bottom) + 2 | 00000091 | 00000088 OUTPUT | [==================================================================================================] | 000162bda900bf14-fffdc179f9d8898f (hot bottom) +Time 2026-10-13T09:16:10.543109336Z +Commit 00000092 340928 keys in 856ms 853µs 250ns +FAM | META SEQ | SST SEQ | RANGE + 1 | 00000090 | 00000087 SST | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b (5 MiB, cold bottom, 5520551 bytes, 115656 entries, 0 tombstones) + 1 | 00000090 | 00000089 SST | [==================================================================================================] | 000162bda900bf14-fffdc179f9d8898f (3 MiB, hot bottom, 3892141 bytes, 54808 entries, 0 tombstones) + 1 | 00000090 | 00000028 00000029 00000038 00000045 00000051 00000058 00000064 00000072 00000079 OBSOLETE SST + 2 | 00000091 | 00000086 SST | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b (17 MiB, cold bottom, 18075661 bytes, 122593 entries, 0 tombstones) + 2 | 00000091 | 00000088 SST | [==================================================================================================] | 000162bda900bf14-fffdc179f9d8898f (12 MiB, hot bottom, 13060066 bytes, 47871 entries, 0 tombstones) + 2 | 00000091 | 00000030 00000031 00000037 00000043 00000052 00000057 00000063 00000073 00000078 OBSOLETE SST + | | 00000028 00000029 00000030 00000031 00000037 00000038 00000043 00000045 00000051 00000052 00000057 00000058 00000063 00000064 00000072 SST DELETED + | | 00000073 00000078 00000079 SST DELETED + | | 00000034 00000042 00000050 00000056 00000061 00000068 00000077 00000085 META DELETED + | | 00000035 00000041 00000049 00000055 00000062 00000067 00000076 00000084 META DELETED +Time 2026-10-13T09:17:13.854052155Z +Commit 00000100 1384 keys in 1s 150ms 319µs 603ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000097 | 00000096 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000098 | 00000094 SST | [======================================================================================] | 06564850e89b2caf-e45033f63d5d1b9b (0 MiB, fresh, 201 bytes, 14 entries, 0 tombstones) + 2 | 00000099 | 00000093 SST | [=================================================================================================] | 016dfee87be75cc5-fd4f23667dd469a3 (0 MiB, fresh, 331093 bytes, 119 entries, 0 tombstones) + 1 | 00000100 | 00000095 SST | [==================================================================================================] | 009be71971081167-ff46472c6dcd6d08 (0 MiB, fresh, 423655 bytes, 1250 entries, 0 tombstones) +Time 2026-10-13T09:18:50.029670139Z +Commit 00000108 259519 keys in 2s 25ms 909µs 416ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000105 | 00000104 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000106 | 00000101 SST | [==================================================================================================] | 000008cfb9ea414f-fffe7b1d6ccc90c4 (0 MiB, fresh, 528113 bytes, 43834 entries, 0 tombstones) + 2 | 00000107 | 00000102 SST | [==================================================================================================] | 0000c1a46163c753-fffcd859cf7b8ab1 (20 MiB, fresh, 22019418 bytes, 84244 entries, 0 tombstones) + 1 | 00000108 | 00000103 SST | [==================================================================================================] | 0000c1a46163c753-fffec925b18eeb5e (8 MiB, fresh, 8645302 bytes, 131440 entries, 0 tombstones) + 1 | 00000113 | Compaction: + 1 | 00000113 | MERGE (214312 keys): + 1 | 00000113 | 00000087 INPUT | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b + 1 | 00000113 | 00000089 INPUT | [==================================================================================================] | 000162bda900bf14-fffdc179f9d8898f + 1 | 00000113 | 00000095 INPUT | [==================================================================================================] | 009be71971081167-ff46472c6dcd6d08 + 1 | 00000113 | 00000103 INPUT | [==================================================================================================] | 0000c1a46163c753-fffec925b18eeb5e + 1 | 00000113 | 00000111 OUTPUT | [==================================================================================================] | 0000c1a46163c753-ffff5a78eab7aa8b (cold bottom) + 1 | 00000113 | 00000112 OUTPUT | [==================================================================================================] | 00010e634568a428-fffec925b18eeb5e (hot bottom) + 2 | 00000114 | Compaction: + 2 | 00000114 | MERGE (214312 keys): + 2 | 00000114 | 00000086 INPUT | [==================================================================================================] | 00010e634568a428-ffff5a78eab7aa8b + 2 | 00000114 | 00000088 INPUT | [==================================================================================================] | 000162bda900bf14-fffdc179f9d8898f + 2 | 00000114 | 00000093 INPUT | [=================================================================================================] | 016dfee87be75cc5-fd4f23667dd469a3 + 2 | 00000114 | 00000102 INPUT | [==================================================================================================] | 0000c1a46163c753-fffcd859cf7b8ab1 + 2 | 00000114 | 00000109 OUTPUT | [==================================================================================================] | 0000c1a46163c753-ffff5a78eab7aa8b (cold bottom) + 2 | 00000114 | 00000110 OUTPUT | [==================================================================================================] | 00012d18892ec330-fffec925b18eeb5e (hot bottom) +Time 2026-10-13T09:18:53.228696573Z +Commit 00000115 428624 keys in 957ms 329µs 109ns +FAM | META SEQ | SST SEQ | RANGE + 1 | 00000113 | 00000111 SST | [==================================================================================================] | 0000c1a46163c753-ffff5a78eab7aa8b (4 MiB, cold bottom, 5085570 bytes, 97981 entries, 0 tombstones) + 1 | 00000113 | 00000112 SST | [==================================================================================================] | 00010e634568a428-fffec925b18eeb5e (6 MiB, hot bottom, 6959161 bytes, 116331 entries, 0 tombstones) + 1 | 00000113 | 00000087 00000089 00000095 00000103 OBSOLETE SST + 2 | 00000114 | 00000109 SST | [==================================================================================================] | 0000c1a46163c753-ffff5a78eab7aa8b (20 MiB, cold bottom, 21914298 bytes, 110941 entries, 0 tombstones) + 2 | 00000114 | 00000110 SST | [==================================================================================================] | 00012d18892ec330-fffec925b18eeb5e (19 MiB, hot bottom, 20084391 bytes, 103371 entries, 0 tombstones) + 2 | 00000114 | 00000086 00000088 00000093 00000102 OBSOLETE SST + | | 00000086 00000087 00000088 00000089 00000093 00000095 00000102 00000103 SST DELETED + | | 00000090 00000100 00000108 META DELETED + | | 00000091 00000099 00000107 META DELETED +Time 2026-10-13T09:19:23.833062128Z +Commit 00000123 28412 keys in 1s 473ms 103µs 862ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000120 | 00000119 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000121 | 00000116 SST | [==================================================================================================] | 0003c92f07a84730-ff12158baf2a113e (0 MiB, fresh, 14393 bytes, 1192 entries, 0 tombstones) + 2 | 00000122 | 00000117 SST | [==================================================================================================] | 000adf0d89ed9d85-ffff5a78eab7aa8b (4 MiB, fresh, 4671348 bytes, 8370 entries, 0 tombstones) + 1 | 00000123 | 00000118 SST | [==================================================================================================] | 0006d6fc9f9da11c-ffff5a78eab7aa8b (1 MiB, fresh, 2063686 bytes, 18849 entries, 0 tombstones) +Time 2026-10-13T09:20:24.612355211Z +Commit 00000129 744 keys in 1s 306ms 115µs 367ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000127 | 00000126 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 2 | 00000128 | 00000124 SST | [==============================================================================================] | 090ba600c3820fc2-fd02cefebd60fd79 (0 MiB, fresh, 235486 bytes, 26 entries, 0 tombstones) + 1 | 00000129 | 00000125 SST | [==================================================================================================] | 000dfeceb64a51c2-ff835e47441988d1 (0 MiB, fresh, 416508 bytes, 717 entries, 0 tombstones) + 0 | 00000131 | Compaction: + 0 | 00000131 | MERGE (1 keys): + 0 | 00000131 | 00000069 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000131 | 00000074 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000131 | 00000081 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000131 | 00000096 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000131 | 00000104 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000131 | 00000119 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000131 | 00000126 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000131 | 00000130 OUTPUT | O | c44bdff4074eecdb-c44bdff4074eecdb (compacted) +Time 2026-10-13T09:20:25.936686329Z +Commit 00000132 1 keys in 52ms 306µs 502ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000131 | 00000130 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, compacted, 38 bytes, 1 entries, 0 tombstones) + 0 | 00000131 | 00000069 00000074 00000081 00000096 00000104 00000119 00000126 OBSOLETE SST + | | 00000069 00000074 00000081 00000096 00000104 00000119 00000126 SST DELETED + | | 00000070 00000075 00000082 00000097 00000105 00000120 00000127 META DELETED +Time 2026-10-13T09:21:35.302529913Z +Commit 00000140 10045 keys in 1s 124ms 691µs 22ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000137 | 00000136 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000138 | 00000133 SST | [=====================================================================] | 480158797c749ff2-fd1d691b054f1f8c (0 MiB, fresh, 177 bytes, 12 entries, 0 tombstones) + 2 | 00000139 | 00000134 SST | [==================================================================================================] | 00130ba3aab8f871-ffd761c4e3eb0d72 (1 MiB, fresh, 1079500 bytes, 2026 entries, 0 tombstones) + 1 | 00000140 | 00000135 SST | [==================================================================================================] | 0006d6fc9f9da11c-fffc9beeb8f9dffc (1 MiB, fresh, 1102460 bytes, 8006 entries, 0 tombstones) +Time 2026-10-13T09:22:15.534028458Z +Commit 00000148 8786 keys in 1s 132ms 618µs 414ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000145 | 00000144 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000146 | 00000141 SST | [===============================================] | 5fdaf5ffe0057f19-da64522a0b9f391a (0 MiB, fresh, 69 bytes, 3 entries, 0 tombstones) + 2 | 00000147 | 00000142 SST | [==================================================================================================] | 0027b24a2bda2b9f-ffd761c4e3eb0d72 (1 MiB, fresh, 1129914 bytes, 1851 entries, 0 tombstones) + 1 | 00000148 | 00000143 SST | [==================================================================================================] | 0006d6fc9f9da11c-fff50e6b2a99b63f (0 MiB, fresh, 1028194 bytes, 6931 entries, 0 tombstones) + 3 | 00000150 | Compaction: + 3 | 00000150 | MERGE (15 keys): + 3 | 00000150 | 00000133 INPUT | [=====================================================================] | 480158797c749ff2-fd1d691b054f1f8c + 3 | 00000150 | 00000141 INPUT | [===============================================] | 5fdaf5ffe0057f19-da64522a0b9f391a + 3 | 00000150 | 00000149 OUTPUT | [=====================================================================] | 480158797c749ff2-fd1d691b054f1f8c (compacted) +Time 2026-10-13T09:22:16.67069246Z +Commit 00000151 15 keys in 63ms 707µs 996ns +FAM | META SEQ | SST SEQ | RANGE + 3 | 00000150 | 00000149 SST | [=====================================================================] | 480158797c749ff2-fd1d691b054f1f8c (0 MiB, compacted, 213 bytes, 15 entries, 0 tombstones) + 3 | 00000150 | 00000133 00000141 OBSOLETE SST + | | 00000133 00000141 SST DELETED + | | 00000138 00000146 META DELETED +Time 2026-10-13T09:33:43.418440958Z +Commit 00000159 2576 keys in 1s 628ms 834µs 44ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000156 | 00000155 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000157 | 00000152 SST | [===================================================================================] | 23f3aa165f4e17ab-fc0b3cecdf3c1fd7 (0 MiB, fresh, 81 bytes, 4 entries, 0 tombstones) + 2 | 00000158 | 00000153 SST | [==================================================================================================] | 01051454ffb9d120-feb687e6163a2d3f (0 MiB, fresh, 361532 bytes, 139 entries, 0 tombstones) + 1 | 00000159 | 00000154 SST | [==================================================================================================] | 0006d6fc9f9da11c-ff835e47441988d1 (0 MiB, fresh, 634838 bytes, 2432 entries, 0 tombstones) + 3 | 00000161 | Compaction: + 3 | 00000161 | MERGE (19 keys): + 3 | 00000161 | 00000149 INPUT | [=====================================================================] | 480158797c749ff2-fd1d691b054f1f8c + 3 | 00000161 | 00000152 INPUT | [===================================================================================] | 23f3aa165f4e17ab-fc0b3cecdf3c1fd7 + 3 | 00000161 | 00000160 OUTPUT | [===================================================================================] | 23f3aa165f4e17ab-fd1d691b054f1f8c (compacted) +Time 2026-10-13T09:33:45.058779534Z +Commit 00000162 19 keys in 66ms 260µs 678ns +FAM | META SEQ | SST SEQ | RANGE + 3 | 00000161 | 00000160 SST | [===================================================================================] | 23f3aa165f4e17ab-fd1d691b054f1f8c (0 MiB, compacted, 261 bytes, 19 entries, 0 tombstones) + 3 | 00000161 | 00000149 00000152 OBSOLETE SST + | | 00000149 00000152 SST DELETED + | | 00000150 00000157 META DELETED +Time 2026-10-13T09:34:56.605044301Z +Commit 00000168 723 keys in 1s 321ms 990µs 584ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000166 | 00000165 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 1 | 00000167 | 00000164 SST | [==================================================================================================] | 000dfeceb64a51c2-ff835e47441988d1 (0 MiB, fresh, 399792 bytes, 697 entries, 0 tombstones) + 2 | 00000168 | 00000163 SST | [==============================================================================================] | 090ba600c3820fc2-fd02cefebd60fd79 (0 MiB, fresh, 107791 bytes, 25 entries, 0 tombstones) +Time 2026-10-13T09:36:52.938885175Z +Commit 00000174 801 keys in 1s 259ms 604µs 866ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000172 | 00000171 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 1 | 00000173 | 00000170 SST | [==================================================================================================] | 000dfeceb64a51c2-ffbfb842418ffb3e (0 MiB, fresh, 407051 bytes, 756 entries, 0 tombstones) + 2 | 00000174 | 00000169 SST | [=============================================================================================] | 090ba600c3820fc2-fa941ecdedeeb055 (0 MiB, fresh, 51388 bytes, 44 entries, 0 tombstones) + 2 | 00000176 | Compaction: + 2 | 00000176 | MERGE (64 keys): + 2 | 00000176 | 00000163 INPUT | [==============================================================================================] | 090ba600c3820fc2-fd02cefebd60fd79 + 2 | 00000176 | 00000169 INPUT | [=============================================================================================] | 090ba600c3820fc2-fa941ecdedeeb055 + 2 | 00000176 | 00000175 OUTPUT | [==============================================================================================] | 090ba600c3820fc2-fd02cefebd60fd79 (compacted) + 1 | 00000179 | Compaction: + 1 | 00000179 | MERGE (215523 keys): + 1 | 00000179 | 00000111 INPUT | [==================================================================================================] | 0000c1a46163c753-ffff5a78eab7aa8b + 1 | 00000179 | 00000112 INPUT | [==================================================================================================] | 00010e634568a428-fffec925b18eeb5e + 1 | 00000179 | 00000118 INPUT | [==================================================================================================] | 0006d6fc9f9da11c-ffff5a78eab7aa8b + 1 | 00000179 | 00000125 INPUT | [==================================================================================================] | 000dfeceb64a51c2-ff835e47441988d1 + 1 | 00000179 | 00000135 INPUT | [==================================================================================================] | 0006d6fc9f9da11c-fffc9beeb8f9dffc + 1 | 00000179 | 00000143 INPUT | [==================================================================================================] | 0006d6fc9f9da11c-fff50e6b2a99b63f + 1 | 00000179 | 00000154 INPUT | [==================================================================================================] | 0006d6fc9f9da11c-ff835e47441988d1 + 1 | 00000179 | 00000164 INPUT | [==================================================================================================] | 000dfeceb64a51c2-ff835e47441988d1 + 1 | 00000179 | 00000170 INPUT | [==================================================================================================] | 000dfeceb64a51c2-ffbfb842418ffb3e + 1 | 00000179 | 00000177 OUTPUT | [==================================================================================================] | 0000c1a46163c753-fffec925b18eeb5e (cold bottom) + 1 | 00000179 | 00000178 OUTPUT | [==================================================================================================] | 0006c53608ebddf9-ffff5a78eab7aa8b (hot bottom) +Time 2026-10-13T09:36:55.0928713Z +Commit 00000180 215587 keys in 247ms 449µs 185ns +FAM | META SEQ | SST SEQ | RANGE + 2 | 00000176 | 00000175 SST | [==============================================================================================] | 090ba600c3820fc2-fd02cefebd60fd79 (0 MiB, compacted, 134622 bytes, 64 entries, 0 tombstones) + 2 | 00000176 | 00000163 00000169 OBSOLETE SST + 1 | 00000179 | 00000177 SST | [==================================================================================================] | 0000c1a46163c753-fffec925b18eeb5e (8 MiB, cold bottom, 8938780 bytes, 171017 entries, 0 tombstones) + 1 | 00000179 | 00000178 SST | [==================================================================================================] | 0006c53608ebddf9-ffff5a78eab7aa8b (3 MiB, hot bottom, 3237929 bytes, 44506 entries, 0 tombstones) + 1 | 00000179 | 00000111 00000112 00000118 00000125 00000135 00000143 00000154 00000164 00000170 OBSOLETE SST + | | 00000111 00000112 00000118 00000125 00000135 00000143 00000154 00000163 00000164 00000169 00000170 SST DELETED + | | 00000113 00000123 00000129 00000140 00000148 00000159 00000167 00000173 META DELETED + | | 00000168 00000174 META DELETED +Time 2026-10-13T09:46:44.46383637Z +Commit 00000186 846 keys in 1s 225ms 319µs 508ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000184 | 00000183 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 2 | 00000185 | 00000181 SST | [===============================================================================================] | 02e4b0169ab37117-fa941ecdedeeb055 (0 MiB, fresh, 73582 bytes, 63 entries, 0 tombstones) + 1 | 00000186 | 00000182 SST | [==================================================================================================] | 000dfeceb64a51c2-ff835e47441988d1 (0 MiB, fresh, 413783 bytes, 782 entries, 0 tombstones) + 0 | 00000189 | Compaction: + 0 | 00000189 | MERGE (1 keys): + 0 | 00000189 | 00000130 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000189 | 00000136 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000189 | 00000144 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000189 | 00000155 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000189 | 00000165 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000189 | 00000171 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000189 | 00000183 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000189 | 00000187 OUTPUT | O | c44bdff4074eecdb-c44bdff4074eecdb (compacted) + 2 | 00000190 | Compaction: + 2 | 00000190 | MERGE (8533 keys): + 2 | 00000190 | 00000117 INPUT | [==================================================================================================] | 000adf0d89ed9d85-ffff5a78eab7aa8b + 2 | 00000190 | 00000124 INPUT | [==============================================================================================] | 090ba600c3820fc2-fd02cefebd60fd79 + 2 | 00000190 | 00000134 INPUT | [==================================================================================================] | 00130ba3aab8f871-ffd761c4e3eb0d72 + 2 | 00000190 | 00000142 INPUT | [==================================================================================================] | 0027b24a2bda2b9f-ffd761c4e3eb0d72 + 2 | 00000190 | 00000153 INPUT | [==================================================================================================] | 01051454ffb9d120-feb687e6163a2d3f + 2 | 00000190 | 00000175 INPUT | [==============================================================================================] | 090ba600c3820fc2-fd02cefebd60fd79 + 2 | 00000190 | 00000181 INPUT | [===============================================================================================] | 02e4b0169ab37117-fa941ecdedeeb055 + 2 | 00000190 | 00000188 OUTPUT | [==================================================================================================] | 000adf0d89ed9d85-ffff5a78eab7aa8b (compacted) +Time 2026-10-13T09:46:45.866718088Z +Commit 00000191 8534 keys in 233ms 575µs 801ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000189 | 00000187 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, compacted, 38 bytes, 1 entries, 0 tombstones) + 0 | 00000189 | 00000130 00000136 00000144 00000155 00000165 00000171 00000183 OBSOLETE SST + 2 | 00000190 | 00000188 SST | [==================================================================================================] | 000adf0d89ed9d85-ffff5a78eab7aa8b (4 MiB, compacted, 4761386 bytes, 8533 entries, 0 tombstones) + 2 | 00000190 | 00000117 00000124 00000134 00000142 00000153 00000175 00000181 OBSOLETE SST + | | 00000117 00000124 00000130 00000134 00000136 00000142 00000144 00000153 00000155 00000165 00000171 00000175 00000181 00000183 SST DELETED + | | 00000131 00000137 00000145 00000156 00000166 00000172 00000184 META DELETED + | | 00000122 00000128 00000139 00000147 00000158 00000176 00000185 META DELETED +Time 2026-10-13T09:57:04.898451277Z +Commit 00000199 19554 keys in 1s 679ms 279µs 204ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000196 | 00000195 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000197 | 00000192 SST | [=================================================================================================] | 01bfd7db23bd5fe6-fd2600417da859a4 (0 MiB, fresh, 1629 bytes, 133 entries, 0 tombstones) + 2 | 00000198 | 00000193 SST | [==================================================================================================] | 000adf0d89ed9d85-ffff5a78eab7aa8b (2 MiB, fresh, 3064717 bytes, 5904 entries, 0 tombstones) + 1 | 00000199 | 00000194 SST | [==================================================================================================] | 0006d6fc9f9da11c-ffff5a78eab7aa8b (1 MiB, fresh, 1621966 bytes, 13516 entries, 0 tombstones) + 3 | 00000201 | Compaction: + 3 | 00000201 | MERGE (152 keys): + 3 | 00000201 | 00000160 INPUT | [===================================================================================] | 23f3aa165f4e17ab-fd1d691b054f1f8c + 3 | 00000201 | 00000192 INPUT | [=================================================================================================] | 01bfd7db23bd5fe6-fd2600417da859a4 + 3 | 00000201 | 00000200 OUTPUT | [=================================================================================================] | 01bfd7db23bd5fe6-fd2600417da859a4 (compacted) +Time 2026-10-13T09:57:06.592293741Z +Commit 00000202 152 keys in 74ms 337µs 79ns +FAM | META SEQ | SST SEQ | RANGE + 3 | 00000201 | 00000200 SST | [=================================================================================================] | 01bfd7db23bd5fe6-fd2600417da859a4 (0 MiB, compacted, 1857 bytes, 152 entries, 0 tombstones) + 3 | 00000201 | 00000160 00000192 OBSOLETE SST + | | 00000160 00000192 SST DELETED + | | 00000161 00000197 META DELETED +Time 2026-10-13T10:00:47.045349305Z +Commit 00000208 735 keys in 1s 438ms 78µs 358ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000206 | 00000205 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 1 | 00000207 | 00000203 SST | [==================================================================================================] | 000dfeceb64a51c2-ff835e47441988d1 (0 MiB, fresh, 408678 bytes, 720 entries, 0 tombstones) + 2 | 00000208 | 00000204 SST | [==============================================================================================] | 090ba600c3820fc2-faf658642e9d023a (0 MiB, fresh, 711568 bytes, 14 entries, 0 tombstones) +Time 2026-10-13T10:39:08.967862721Z +Commit 00000214 707 keys in 1s 245ms 775µs 263ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000212 | 00000211 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 1 | 00000213 | 00000210 SST | [==================================================================================================] | 000dfeceb64a51c2-ff835e47441988d1 (0 MiB, fresh, 399369 bytes, 697 entries, 0 tombstones) + 2 | 00000214 | 00000209 SST | [===================================================================================] | 05649ae2eba6fa4e-dd6ec34a6d1bee63 (0 MiB, fresh, 24420 bytes, 9 entries, 0 tombstones) diff --git a/e-commerce/.next/dev/build-manifest.json b/e-commerce/.next/dev/build-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..cc102f9ff78c80dc5db47f0b82066c2090b0a888 --- /dev/null +++ b/e-commerce/.next/dev/build-manifest.json @@ -0,0 +1,15 @@ +{ + "pages": { + "/_app": [] + }, + "devFiles": [], + "polyfillFiles": [], + "lowPriorityFiles": [ + "static/development/_buildManifest.js", + "static/development/_ssgManifest.js", + "static/development/_clientMiddlewareManifest.js" + ], + "rootMainFiles": [], + "rootMainFilesTree": {}, + "pagesChunkGroupBootstrapParams": {} +} \ No newline at end of file diff --git a/e-commerce/.next/dev/cache/.rscinfo b/e-commerce/.next/dev/cache/.rscinfo new file mode 100644 index 0000000000000000000000000000000000000000..30ba323f087be4aa2a38d784a85e83fa3afae204 --- /dev/null +++ b/e-commerce/.next/dev/cache/.rscinfo @@ -0,0 +1 @@ +{"encryption.key":"KJDNwjGjDKzNkxAu4UF2ida/RRKiAUqWIyf5qrQoeZk=","encryption.expire_at":1793081641493} \ No newline at end of file diff --git a/e-commerce/.next/dev/cache/_events_71147_0d72a27b57175bae.json b/e-commerce/.next/dev/cache/_events_71147_0d72a27b57175bae.json new file mode 100644 index 0000000000000000000000000000000000000000..aa6ca9802331131f3192c62492d3147c14c101cd --- /dev/null +++ b/e-commerce/.next/dev/cache/_events_71147_0d72a27b57175bae.json @@ -0,0 +1 @@ +[{"eventName":"NEXT_CLI_SESSION_STOPPED","payload":{"nextVersion":"16.4.0","nodeVersion":"v24.16.0","cliCommand":"dev","durationMilliseconds":10928555,"turboFlag":true,"pagesDir":false,"appDir":true,"isRspack":false}}] \ No newline at end of file diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000030.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000030.sst new file mode 100644 index 0000000000000000000000000000000000000000..e912f255376d6db91a5f94a5d3567b3c84cae68c --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000030.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9b470e6fe108c6ad80cf8ffeb1a893be332c32213a2eba602b7579bb630dff3 +size 1053257 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000031.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000031.sst new file mode 100644 index 0000000000000000000000000000000000000000..f564181e902f39632ea816efd26b6ba6ac1e1053 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000031.sst differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000034.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000034.meta new file mode 100644 index 0000000000000000000000000000000000000000..20563b7d82e518c414dcf02f996215db3b4d9000 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000034.meta @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42968bd1758d4a18f918d9b9fa548ebca312ba1ac5112ed608e38613657578e3 +size 154330 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000039.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000039.sst new file mode 100644 index 0000000000000000000000000000000000000000..7da777bba1dfc0351404d28c1746b9a3c2105ace --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000039.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ccf9f2b9bfebe75bd4d23dbb690cef54de714c081b11cd00f30a8680eee1cae +size 298101 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000043.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000043.meta new file mode 100644 index 0000000000000000000000000000000000000000..8640783bdad96b556f77535fb5906580ea7b71a0 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000043.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000047.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000047.sst new file mode 100644 index 0000000000000000000000000000000000000000..5142d8fa87c5dd1f1c66a18303d36d471f0e6fc9 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000047.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4747fec910f4758feebf82534fa3b99423c95c26af9fb056468e3d1a58e48d3 +size 40441487 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000049.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000049.sst new file mode 100644 index 0000000000000000000000000000000000000000..5695a2f96f79eccec0193acc26545201a2433a40 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000049.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:122f2996201dbb974b77148ea88472d35345795af77810d26bfb422b45e6015d +size 2147314 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000051.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000051.meta new file mode 100644 index 0000000000000000000000000000000000000000..62f5d5538b37ffaedbe23e5ae8104f1839c0ffb2 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000051.meta @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8a86096e2d2c6383c8ddd0bda3407502360c3025f0b871dcf3ed499aa6172ca +size 168351 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000053.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000053.sst new file mode 100644 index 0000000000000000000000000000000000000000..d2dca098b0ef9708e2bf0e5fc46556a864094fc3 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000053.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04318109c60b027fd690659549307c962f977d8d5736f1aa57afc6853db50d4b +size 274921 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000057.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000057.meta new file mode 100644 index 0000000000000000000000000000000000000000..690241f24df232a44398c16c98b6d643f17fb9f9 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000057.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000060.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000060.sst new file mode 100644 index 0000000000000000000000000000000000000000..97462f323a694cc3e26af3c7920cfcbe6e9be227 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000060.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:808f2a726108690846caa20f5a0e121381e3d4c903353bbeb59491a84f93dad2 +size 518650 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000061.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000061.sst new file mode 100644 index 0000000000000000000000000000000000000000..01fdb2d9310705c8d8805d3e28923b119518d0c9 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000061.sst differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000064.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000064.meta new file mode 100644 index 0000000000000000000000000000000000000000..73eb26571c5eecadcd315374cd3421f8570c6234 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000064.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000066.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000066.meta new file mode 100644 index 0000000000000000000000000000000000000000..f443d776847752f4d10be892864dc09aedb2821b Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000066.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000067.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000067.sst new file mode 100644 index 0000000000000000000000000000000000000000..bf9969ad545b6e3a614b659fd33f1fe79df9b81e Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000067.sst differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000071.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000071.meta new file mode 100644 index 0000000000000000000000000000000000000000..7f31c583617dc4d737b1386c9bf8daf9c02b4ecf Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000071.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000073.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000073.sst new file mode 100644 index 0000000000000000000000000000000000000000..aa7c0a810fa521aa3d20928bb51bf2f29bd96473 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000073.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87711306bcf15ff04eac5b80064aa3d7a959679b8217717d39754f3fdd95c271 +size 149844 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000077.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000077.meta new file mode 100644 index 0000000000000000000000000000000000000000..b025195fa42916fcaa8f3c419876588cfca23d62 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000077.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000079.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000079.sst new file mode 100644 index 0000000000000000000000000000000000000000..f6c9bc9058192fde78b1b623f1c109f0f91a6124 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000079.sst differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000080.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000080.meta new file mode 100644 index 0000000000000000000000000000000000000000..d3a69b1c0b3d3484e15bc6359d2b95d000e03379 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000080.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000081.del b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000081.del new file mode 100644 index 0000000000000000000000000000000000000000..b3952258d872d75c02e014e6a89fd619d82fc804 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000081.del differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000082.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000082.sst new file mode 100644 index 0000000000000000000000000000000000000000..850b69ac6f2d161f03ef5d590d2b3466cc6fb652 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000082.sst differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000083.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000083.sst new file mode 100644 index 0000000000000000000000000000000000000000..fcc297eccb798f433f0661d2027b5c79eb2691ed Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000083.sst differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000085.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000085.sst new file mode 100644 index 0000000000000000000000000000000000000000..1dd399b8e3f449bf68a6b42ab6e1b89b6e0eaa71 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000085.sst differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000086.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000086.meta new file mode 100644 index 0000000000000000000000000000000000000000..997b063b938c88e17207c3255f29573b09f2dba7 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000086.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000087.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000087.meta new file mode 100644 index 0000000000000000000000000000000000000000..c488a7ee5f9eb5013611cdeed10c9fb606093414 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000087.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000088.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000088.meta new file mode 100644 index 0000000000000000000000000000000000000000..c1bd2fd77101411c48f29eddc97486903ac5e6cd Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000088.meta differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000090.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000090.sst new file mode 100644 index 0000000000000000000000000000000000000000..74fd2b5db787a978f1258f9557d2ce69e2ce2086 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000090.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:051fdcff40adb53a2e50b56d4dd7e8f3f3fb10dd583dd7b7833bf70407fa60d2 +size 5048521 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000091.sst b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000091.sst new file mode 100644 index 0000000000000000000000000000000000000000..795ea9f1d6a260aaaf8de64a04bef200f7e61179 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000091.sst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56bb0ecbff6a402b2404eba03c3299e507171697c82ed6ebe526a82d8b7772b4 +size 1717420 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000092.meta b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000092.meta new file mode 100644 index 0000000000000000000000000000000000000000..2ebc3c054905a0494fcd2768d5c2708396bf1095 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000092.meta @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab7129f1b753cfc3474559c750569fbfc97876d5574184402e2b8c9ffc29a966 +size 168367 diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000093.del b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000093.del new file mode 100644 index 0000000000000000000000000000000000000000..e61db8db764a4bbdead88b93d33930f620ada436 Binary files /dev/null and b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/00000093.del differ diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/CURRENT b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/CURRENT new file mode 100644 index 0000000000000000000000000000000000000000..721c0938c8d7aa4e88d3311e1dcb7d10177f837d --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/CURRENT @@ -0,0 +1 @@ +{"max_sequence_number":93,"commit_time":"2026-10-13T09:14:44.972633329Z"} diff --git a/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/LOG b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/LOG new file mode 100644 index 0000000000000000000000000000000000000000..beb63492e08dd4b0ab12c640256556e41e7793c0 --- /dev/null +++ b/e-commerce/.next/dev/cache/turbopack/v16.4.0-e273d5b2/LOG @@ -0,0 +1,172 @@ +Time 2026-10-13T06:14:10.479644922Z +Commit 00000018 56155 keys in 608ms 689µs 441ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000015 | 00000014 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 1 | 00000016 | 00000003 SST | [=======================] | 0001aad651887b10-3ffdae33b3a9deb9 (0 MiB, fresh, 217254 bytes, 4741 entries, 0 tombstones) + 1 | 00000016 | 00000004 SST | [=======================] | 40033e172ef5726c-7ffb1c6740551a27 (0 MiB, fresh, 210444 bytes, 4645 entries, 0 tombstones) + 1 | 00000016 | 00000005 SST | [=======================] | 800015b4f029548b-bffa0a78b8d7187e (0 MiB, fresh, 218214 bytes, 4730 entries, 0 tombstones) + 1 | 00000016 | 00000006 SST | [=======================] | c0002f8f2f9a1a05-fffd3ff8ae85aa74 (0 MiB, fresh, 222046 bytes, 4602 entries, 0 tombstones) + 2 | 00000017 | 00000002 SST | [===========] | 0001aad651887b10-1ffd2626bd858008 (0 MiB, fresh, 792841 bytes, 2414 entries, 0 tombstones) + 2 | 00000017 | 00000007 SST | [===========] | 2005ed268fe1739e-3ffdae33b3a9deb9 (0 MiB, fresh, 500437 bytes, 2327 entries, 0 tombstones) + 2 | 00000017 | 00000008 SST | [===========] | 40033e172ef5726c-5ffda31979c36d1e (0 MiB, fresh, 412577 bytes, 2290 entries, 0 tombstones) + 2 | 00000017 | 00000009 SST | [===========] | 60025186cafb92ed-7ffb1c6740551a27 (0 MiB, fresh, 410136 bytes, 2355 entries, 0 tombstones) + 2 | 00000017 | 00000010 SST | [===========] | 800015b4f029548b-9fff296e5291ba7b (0 MiB, fresh, 576322 bytes, 2382 entries, 0 tombstones) + 2 | 00000017 | 00000011 SST | [===========] | a0068a32fa8cfda4-bffa0a78b8d7187e (0 MiB, fresh, 660653 bytes, 2348 entries, 0 tombstones) + 2 | 00000017 | 00000012 SST | [===========] | c0002f8f2f9a1a05-dfff17daaafff866 (0 MiB, fresh, 467065 bytes, 2285 entries, 0 tombstones) + 2 | 00000017 | 00000013 SST | [===========] | e003f1edab9a26e2-fffd3ff8ae85aa74 (0 MiB, fresh, 462394 bytes, 2317 entries, 0 tombstones) + 3 | 00000018 | 00000001 SST | [==================================================================================================] | 000172cfd2415069-fff9ccd168840c8b (0 MiB, fresh, 225517 bytes, 18718 entries, 0 tombstones) +Time 2026-10-13T06:14:30.507772834Z +Commit 00000027 217966 keys in 486ms 961µs 648ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000024 | 00000023 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000025 | 00000022 SST | [==================================================================================================] | 0000da6f080a9241-ffffd3804f648eb0 (0 MiB, fresh, 854137 bytes, 70893 entries, 0 tombstones) + 2 | 00000026 | 00000019 SST | [==================================================================================================] | 000484ce92df92ac-fffec925b18eeb5e (18 MiB, fresh, 19565389 bytes, 55591 entries, 0 tombstones) + 2 | 00000026 | 00000020 SST | [==================================================================================================] | 000162bda900bf14-fffd6fbd2229df8a (3 MiB, fresh, 4112376 bytes, 16641 entries, 0 tombstones) + 1 | 00000027 | 00000021 SST | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (4 MiB, fresh, 4404774 bytes, 74840 entries, 0 tombstones) + 3 | 00000034 | Compaction: + 3 | 00000034 | MERGE (89611 keys): + 3 | 00000034 | 00000001 INPUT | [==================================================================================================] | 000172cfd2415069-fff9ccd168840c8b + 3 | 00000034 | 00000022 INPUT | [==================================================================================================] | 0000da6f080a9241-ffffd3804f648eb0 + 3 | 00000034 | 00000030 OUTPUT | [==================================================================================================] | 0000da6f080a9241-ffffd3804f648eb0 (cold bottom) + 3 | 00000034 | 00000031 OUTPUT | [==================================================================================================] | 00017780507aabf1-ffeec70b19bb3df2 (hot bottom) + 1 | 00000035 | Compaction: + 1 | 00000035 | MERGE (89611 keys): + 1 | 00000035 | 00000003 INPUT | [=======================] | 0001aad651887b10-3ffdae33b3a9deb9 + 1 | 00000035 | 00000004 INPUT | [=======================] | 40033e172ef5726c-7ffb1c6740551a27 + 1 | 00000035 | 00000005 INPUT | [=======================] | 800015b4f029548b-bffa0a78b8d7187e + 1 | 00000035 | 00000006 INPUT | [=======================] | c0002f8f2f9a1a05-fffd3ff8ae85aa74 + 1 | 00000035 | 00000021 INPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e + 1 | 00000035 | 00000028 OUTPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (cold bottom) + 1 | 00000035 | 00000029 OUTPUT | [==================================================================================================] | 0001aad651887b10-fff4006622dda77f (hot bottom) + 2 | 00000036 | Compaction: + 2 | 00000036 | MERGE (89611 keys): + 2 | 00000036 | 00000002 INPUT | [===========] | 0001aad651887b10-1ffd2626bd858008 + 2 | 00000036 | 00000007 INPUT | [===========] | 2005ed268fe1739e-3ffdae33b3a9deb9 + 2 | 00000036 | 00000008 INPUT | [===========] | 40033e172ef5726c-5ffda31979c36d1e + 2 | 00000036 | 00000009 INPUT | [===========] | 60025186cafb92ed-7ffb1c6740551a27 + 2 | 00000036 | 00000010 INPUT | [===========] | 800015b4f029548b-9fff296e5291ba7b + 2 | 00000036 | 00000011 INPUT | [===========] | a0068a32fa8cfda4-bffa0a78b8d7187e + 2 | 00000036 | 00000012 INPUT | [===========] | c0002f8f2f9a1a05-dfff17daaafff866 + 2 | 00000036 | 00000013 INPUT | [===========] | e003f1edab9a26e2-fffd3ff8ae85aa74 + 2 | 00000036 | 00000019 INPUT | [==================================================================================================] | 000484ce92df92ac-fffec925b18eeb5e + 2 | 00000036 | 00000020 INPUT | [==================================================================================================] | 000162bda900bf14-fffd6fbd2229df8a + 2 | 00000036 | 00000032 OUTPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (cold bottom) + 2 | 00000036 | 00000033 OUTPUT | [==================================================================================================] | 0001aad651887b10-fff4006622dda77f (hot bottom) +Time 2026-10-13T06:14:32.002179967Z +Commit 00000037 268833 keys in 638ms 493µs 282ns +FAM | META SEQ | SST SEQ | RANGE + 3 | 00000034 | 00000030 SST | [==================================================================================================] | 0000da6f080a9241-ffffd3804f648eb0 (1 MiB, cold bottom, 1053257 bytes, 87421 entries, 0 tombstones) + 3 | 00000034 | 00000031 SST | [==================================================================================================] | 00017780507aabf1-ffeec70b19bb3df2 (0 MiB, hot bottom, 26397 bytes, 2190 entries, 0 tombstones) + 3 | 00000034 | 00000001 00000022 OBSOLETE SST + 1 | 00000035 | 00000028 SST | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (4 MiB, cold bottom, 4808383 bytes, 85448 entries, 0 tombstones) + 1 | 00000035 | 00000029 SST | [==================================================================================================] | 0001aad651887b10-fff4006622dda77f (0 MiB, hot bottom, 266394 bytes, 4163 entries, 0 tombstones) + 1 | 00000035 | 00000003 00000004 00000005 00000006 00000021 OBSOLETE SST + 2 | 00000036 | 00000032 SST | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (26 MiB, cold bottom, 27482709 bytes, 86803 entries, 0 tombstones) + 2 | 00000036 | 00000033 SST | [==================================================================================================] | 0001aad651887b10-fff4006622dda77f (0 MiB, hot bottom, 303809 bytes, 2808 entries, 0 tombstones) + 2 | 00000036 | 00000002 00000007 00000008 00000009 00000010 00000011 00000012 00000013 00000019 00000020 OBSOLETE SST + | | 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000009 00000010 00000011 00000012 00000013 00000019 00000020 SST DELETED + | | 00000021 00000022 SST DELETED + | | 00000016 00000027 META DELETED + | | 00000017 00000026 META DELETED + | | 00000018 00000025 META DELETED +Time 2026-10-13T06:15:14.323650131Z +Commit 00000045 86669 keys in 694ms 545µs 223ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000042 | 00000041 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000043 | 00000039 SST | [==================================================================================================] | 000556b66e9a89a2-ffff00aec1682fe5 (0 MiB, fresh, 298101 bytes, 24741 entries, 0 tombstones) + 1 | 00000044 | 00000040 SST | [==================================================================================================] | 0001aad651887b10-fffeb20b3bbae303 (2 MiB, fresh, 2939911 bytes, 34533 entries, 0 tombstones) + 2 | 00000045 | 00000038 SST | [==================================================================================================] | 0003b9b17e8dd1ed-fffeb20b3bbae303 (15 MiB, fresh, 16039847 bytes, 27394 entries, 0 tombstones) + 1 | 00000050 | Compaction: + 1 | 00000050 | MERGE (114352 keys): + 1 | 00000050 | 00000028 INPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e + 1 | 00000050 | 00000029 INPUT | [==================================================================================================] | 0001aad651887b10-fff4006622dda77f + 1 | 00000050 | 00000040 INPUT | [==================================================================================================] | 0001aad651887b10-fffeb20b3bbae303 + 1 | 00000050 | 00000046 OUTPUT | [==================================================================================================] | 000162bda900bf14-fffeb20b3bbae303 (cold bottom) + 1 | 00000050 | 00000048 OUTPUT | [==================================================================================================] | 0001aad651887b10-fffec925b18eeb5e (hot bottom) + 2 | 00000051 | Compaction: + 2 | 00000051 | MERGE (114352 keys): + 2 | 00000051 | 00000032 INPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e + 2 | 00000051 | 00000033 INPUT | [==================================================================================================] | 0001aad651887b10-fff4006622dda77f + 2 | 00000051 | 00000038 INPUT | [==================================================================================================] | 0003b9b17e8dd1ed-fffeb20b3bbae303 + 2 | 00000051 | 00000047 OUTPUT | [==================================================================================================] | 000162bda900bf14-fffeb20b3bbae303 (cold bottom) + 2 | 00000051 | 00000049 OUTPUT | [==================================================================================================] | 0001aad651887b10-fffec925b18eeb5e (hot bottom) +Time 2026-10-13T06:15:16.013617996Z +Commit 00000052 228704 keys in 741ms 205µs 779ns +FAM | META SEQ | SST SEQ | RANGE + 1 | 00000050 | 00000046 SST | [==================================================================================================] | 000162bda900bf14-fffeb20b3bbae303 (4 MiB, cold bottom, 4959679 bytes, 98734 entries, 0 tombstones) + 1 | 00000050 | 00000048 SST | [==================================================================================================] | 0001aad651887b10-fffec925b18eeb5e (1 MiB, hot bottom, 1766802 bytes, 15618 entries, 0 tombstones) + 1 | 00000050 | 00000028 00000029 00000040 OBSOLETE SST + 2 | 00000051 | 00000047 SST | [==================================================================================================] | 000162bda900bf14-fffeb20b3bbae303 (38 MiB, cold bottom, 40441487 bytes, 102959 entries, 0 tombstones) + 2 | 00000051 | 00000049 SST | [==================================================================================================] | 0001aad651887b10-fffec925b18eeb5e (2 MiB, hot bottom, 2147314 bytes, 11393 entries, 0 tombstones) + 2 | 00000051 | 00000032 00000033 00000038 OBSOLETE SST + | | 00000028 00000029 00000032 00000033 00000038 00000040 SST DELETED + | | 00000035 00000044 META DELETED + | | 00000036 00000045 META DELETED +Time 2026-10-13T06:15:57.137187559Z +Commit 00000058 4305 keys in 1s 8ms 308µs 188ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000056 | 00000055 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 2 | 00000057 | 00000053 SST | [===============================================================================================] | 057d02fac99f84a4-fd4fe1e6ad03cf7b (0 MiB, fresh, 274921 bytes, 120 entries, 0 tombstones) + 1 | 00000058 | 00000054 SST | [==================================================================================================] | 00222a8979956c91-fffd6fbd2229df8a (0 MiB, fresh, 839123 bytes, 4184 entries, 0 tombstones) +Time 2026-10-13T06:17:23.508660218Z +Commit 00000066 6470 keys in 350ms 184µs 565ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000063 | 00000062 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000064 | 00000061 SST | [==================================================================================================] | 009788d039447f43-ffc637a5d3d1144c (0 MiB, fresh, 5265 bytes, 436 entries, 0 tombstones) + 1 | 00000065 | 00000059 SST | [==================================================================================================] | 000484ce92df92ac-fffd6fbd2229df8a (0 MiB, fresh, 783486 bytes, 4787 entries, 0 tombstones) + 2 | 00000066 | 00000060 SST | [==================================================================================================] | 0082caf1c1128feb-fff8d995d4bba353 (0 MiB, fresh, 518650 bytes, 1246 entries, 0 tombstones) +Time 2026-10-13T06:21:15.432994468Z +Commit 00000072 3505 keys in 2s 343ms 222µs 886ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000070 | 00000069 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 2 | 00000071 | 00000067 SST | [=================================================================================] | 090ba600c3820fc2-db02334e96d65708 (0 MiB, fresh, 77698 bytes, 10 entries, 0 tombstones) + 1 | 00000072 | 00000068 SST | [==================================================================================================] | 00222a8979956c91-fffd6fbd2229df8a (0 MiB, fresh, 754006 bytes, 3494 entries, 0 tombstones) +Time 2026-10-13T07:32:40.255656792Z +Commit 00000078 2043 keys in 85ms 979µs 61ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000076 | 00000075 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 2 | 00000077 | 00000073 SST | [===============================================================================================] | 090ba600c3820fc2-ff078261c00f822a (0 MiB, fresh, 149844 bytes, 13 entries, 0 tombstones) + 1 | 00000078 | 00000074 SST | [==================================================================================================] | 0032d46ff694edbb-fffd6fbd2229df8a (0 MiB, fresh, 586039 bytes, 2029 entries, 0 tombstones) + 0 | 00000080 | Compaction: + 0 | 00000080 | MERGE (1 keys): + 0 | 00000080 | 00000014 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000080 | 00000023 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000080 | 00000041 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000080 | 00000055 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000080 | 00000062 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000080 | 00000069 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000080 | 00000075 INPUT | O | c44bdff4074eecdb-c44bdff4074eecdb + 0 | 00000080 | 00000079 OUTPUT | O | c44bdff4074eecdb-c44bdff4074eecdb (compacted) +Time 2026-10-13T07:32:40.51674999Z +Commit 00000081 1 keys in 103ms 890µs 139ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000080 | 00000079 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, compacted, 38 bytes, 1 entries, 0 tombstones) + 0 | 00000080 | 00000014 00000023 00000041 00000055 00000062 00000069 00000075 OBSOLETE SST + | | 00000014 00000023 00000041 00000055 00000062 00000069 00000075 SST DELETED + | | 00000015 00000024 00000042 00000056 00000063 00000070 00000076 META DELETED +Time 2026-10-13T09:14:43.59224043Z +Commit 00000089 1740 keys in 89ms 866µs 575ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000086 | 00000085 SST | O | c44bdff4074eecdb-c44bdff4074eecdb (0 MiB, fresh, 38 bytes, 1 entries, 0 tombstones) + 3 | 00000087 | 00000083 SST | [=====================================================================================] | 1262c12cae0a4a3c-ee41be67faf94180 (0 MiB, fresh, 309 bytes, 23 entries, 0 tombstones) + 2 | 00000088 | 00000082 SST | [===============================================================================================] | 07df08ad3ce69c85-ffc6fea73ecbf9f6 (0 MiB, fresh, 93879 bytes, 53 entries, 0 tombstones) + 1 | 00000089 | 00000084 SST | [==================================================================================================] | 0032d46ff694edbb-fffd6fbd2229df8a (0 MiB, fresh, 449011 bytes, 1663 entries, 0 tombstones) + 1 | 00000092 | Compaction: + 1 | 00000092 | MERGE (114811 keys): + 1 | 00000092 | 00000046 INPUT | [==================================================================================================] | 000162bda900bf14-fffeb20b3bbae303 + 1 | 00000092 | 00000048 INPUT | [==================================================================================================] | 0001aad651887b10-fffec925b18eeb5e + 1 | 00000092 | 00000054 INPUT | [==================================================================================================] | 00222a8979956c91-fffd6fbd2229df8a + 1 | 00000092 | 00000059 INPUT | [==================================================================================================] | 000484ce92df92ac-fffd6fbd2229df8a + 1 | 00000092 | 00000068 INPUT | [==================================================================================================] | 00222a8979956c91-fffd6fbd2229df8a + 1 | 00000092 | 00000074 INPUT | [==================================================================================================] | 0032d46ff694edbb-fffd6fbd2229df8a + 1 | 00000092 | 00000084 INPUT | [==================================================================================================] | 0032d46ff694edbb-fffd6fbd2229df8a + 1 | 00000092 | 00000090 OUTPUT | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (cold bottom) + 1 | 00000092 | 00000091 OUTPUT | [==================================================================================================] | 000484ce92df92ac-fffd6fbd2229df8a (hot bottom) +Time 2026-10-13T09:14:44.596920627Z +Commit 00000093 114811 keys in 385ms 468µs 925ns +FAM | META SEQ | SST SEQ | RANGE + 1 | 00000092 | 00000090 SST | [==================================================================================================] | 000162bda900bf14-fffec925b18eeb5e (4 MiB, cold bottom, 5048521 bytes, 100780 entries, 0 tombstones) + 1 | 00000092 | 00000091 SST | [==================================================================================================] | 000484ce92df92ac-fffd6fbd2229df8a (1 MiB, hot bottom, 1717420 bytes, 14031 entries, 0 tombstones) + 1 | 00000092 | 00000046 00000048 00000054 00000059 00000068 00000074 00000084 OBSOLETE SST + | | 00000046 00000048 00000054 00000059 00000068 00000074 00000084 SST DELETED + | | 00000050 00000058 00000065 00000072 00000078 00000089 META DELETED diff --git a/e-commerce/.next/dev/fallback-build-manifest.json b/e-commerce/.next/dev/fallback-build-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..cc102f9ff78c80dc5db47f0b82066c2090b0a888 --- /dev/null +++ b/e-commerce/.next/dev/fallback-build-manifest.json @@ -0,0 +1,15 @@ +{ + "pages": { + "/_app": [] + }, + "devFiles": [], + "polyfillFiles": [], + "lowPriorityFiles": [ + "static/development/_buildManifest.js", + "static/development/_ssgManifest.js", + "static/development/_clientMiddlewareManifest.js" + ], + "rootMainFiles": [], + "rootMainFilesTree": {}, + "pagesChunkGroupBootstrapParams": {} +} \ No newline at end of file diff --git a/e-commerce/.next/dev/logs/next-development.log b/e-commerce/.next/dev/logs/next-development.log new file mode 100644 index 0000000000000000000000000000000000000000..0fa5d9d4771acdf663fe575c9faf0ff5a360ed1c --- /dev/null +++ b/e-commerce/.next/dev/logs/next-development.log @@ -0,0 +1,6 @@ +{"timestamp":"00:00:06.410","source":"Server","level":"LOG","message":"- Cache Components enabled"} +{"timestamp":"00:00:06.410","source":"Server","level":"LOG","message":"- Partial Prefetching enabled"} +{"timestamp":"00:00:06.410","source":"Server","level":"LOG","message":""} +{"timestamp":"01:03:57.976","source":"Server","level":"LOG","message":" Reload env: .env.local"} +{"timestamp":"01:11:33.814","source":"Server","level":"LOG","message":" Reload env: .env.local"} +{"timestamp":"02:46:18.570","source":"Server","level":"LOG","message":"✓ Compiled in 178ms"} diff --git a/e-commerce/.next/dev/package.json b/e-commerce/.next/dev/package.json new file mode 100644 index 0000000000000000000000000000000000000000..c9a44226149708aa5c098ac46f9addc86f6f4d22 --- /dev/null +++ b/e-commerce/.next/dev/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} \ No newline at end of file diff --git a/e-commerce/.next/dev/prerender-manifest.json b/e-commerce/.next/dev/prerender-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..4400a7a9afe009aaf69eba58932fb2ea81a76d8c --- /dev/null +++ b/e-commerce/.next/dev/prerender-manifest.json @@ -0,0 +1,6 @@ +{ + "version": 4, + "routes": {}, + "dynamicRoutes": {}, + "notFoundRoutes": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/routes-manifest.json b/e-commerce/.next/dev/routes-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..442224aa3295932e04cea71a643dd9d0f3a6a4e2 --- /dev/null +++ b/e-commerce/.next/dev/routes-manifest.json @@ -0,0 +1 @@ +{"version":3,"caseSensitive":false,"basePath":"","rewrites":{"beforeFiles":[],"afterFiles":[],"fallback":[]},"redirects":[{"source":"/:path+/","destination":"/:path+","permanent":true,"internal":true,"priority":true,"regex":"^(?:\\/((?:[^\\/]+?)(?:\\/(?:[^\\/]+?))*))\\/$"}],"headers":[],"onMatchHeaders":[]} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/app-paths-manifest.json b/e-commerce/.next/dev/server/app-paths-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..9e26dfeeb6e641a33dae4961196235bdb965b21b --- /dev/null +++ b/e-commerce/.next/dev/server/app-paths-manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/app/[locale]/page.js b/e-commerce/.next/dev/server/app/[locale]/page.js new file mode 100644 index 0000000000000000000000000000000000000000..2ea6874248e45d1a3ce1d6dd3850e8b7ac69f933 --- /dev/null +++ b/e-commerce/.next/dev/server/app/[locale]/page.js @@ -0,0 +1,21 @@ +var R=require("../../chunks/ssr/[turbopack]_runtime.js")("server/app/[locale]/page.js") +R.c("server/chunks/ssr/node_modules_next_dist_1pn-bioxo2e_0._.js") +R.c("server/chunks/ssr/[root-of-the-server]__10g_b18_6epw0._.js") +R.c("server/chunks/ssr/node_modules_next_dist_esm_server_0i519_x_u947b._.js") +R.c("server/chunks/ssr/node_modules_next_dist_esm_shared_lib_110_pvnwn9uqh._.js") +R.c("server/chunks/ssr/node_modules_next_dist_esm_lib_14dxwe5jtbc_d._.js") +R.c("server/chunks/ssr/node_modules_next_dist_esm_0_65u7e78e6h9._.js") +R.c("server/chunks/ssr/node_modules_next_dist_compiled_00yj_1pr91zo-._.js") +R.c("server/chunks/ssr/node_modules_next_dist_server_route-modules_app-page_0qo_rmcihhsx5._.js") +R.c("server/chunks/ssr/[externals]__1cacbhfx2nbuk._.js") +R.c("server/chunks/ssr/[root-of-the-server]__0bakp20a5h7ed._.js") +R.c("server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js") +R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js") +R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js") +R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js") +R.c("server/chunks/ssr/messages_0nwjbd_td9q-k._.js") +R.c("server/chunks/ssr/node_modules_0t1lntb6rkotd._.js") +R.c("server/chunks/ssr/[root-of-the-server]__0c46xma2ulueb._.js") +R.c("server/chunks/ssr/_next-internal_server_app_[locale]_page_actions_0paeoq307w67j.js") +R.m("[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/[locale]/page { METADATA_0 => \"[project]/app/favicon.ico.mjs { IMAGE => \\\"[project]/app/favicon.ico (static in ecmascript, tag client)\\\" } [app-rsc] (structured image object, ecmascript)\", MODULE_1 => \"[project]/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_6 => \"[project]/app/[locale]/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_7 => \"[project]/app/[locale]/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript)") +module.exports=R.m("[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/[locale]/page { METADATA_0 => \"[project]/app/favicon.ico.mjs { IMAGE => \\\"[project]/app/favicon.ico (static in ecmascript, tag client)\\\" } [app-rsc] (structured image object, ecmascript)\", MODULE_1 => \"[project]/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_6 => \"[project]/app/[locale]/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_7 => \"[project]/app/[locale]/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript)").exports diff --git a/e-commerce/.next/dev/server/app/[locale]/page.js.map b/e-commerce/.next/dev/server/app/[locale]/page.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/dev/server/app/[locale]/page.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/app/[locale]/page/app-paths-manifest.json b/e-commerce/.next/dev/server/app/[locale]/page/app-paths-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..d6799b1a2d8bcfd926d1cce226a7239a0d916792 --- /dev/null +++ b/e-commerce/.next/dev/server/app/[locale]/page/app-paths-manifest.json @@ -0,0 +1,3 @@ +{ + "/[locale]/page": "app/[locale]/page.js" +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/app/[locale]/page/build-manifest.json b/e-commerce/.next/dev/server/app/[locale]/page/build-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..f57f93f9729eec5638add89988056b71047f3e0c --- /dev/null +++ b/e-commerce/.next/dev/server/app/[locale]/page/build-manifest.json @@ -0,0 +1,43 @@ +{ + "devFiles": [], + "ampDevFiles": [], + "polyfillFiles": [ + "static/chunks/node_modules_next_dist_build_polyfills_polyfill-nomodule.js" + ], + "lowPriorityFiles": [], + "rootMainFiles": [ + "static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_03l4kld1mrwfx._.js", + "static/chunks/node_modules_next_dist_compiled_next-devtools_index_090k2jmam7qwg.js", + "static/chunks/1daa_next_dist_compiled_react-dom_cjs_react-dom-client_development_0mp0cp_t-ezj9.js", + "static/chunks/1q96_modules_next_dist_compiled_react-dom_cjs_react-dom_development_1sqry0_53krp4.js", + "static/chunks/node_modules_next_dist_compiled_react-dom_0grqycjrj6mju._.js", + "static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_164kp-67asdr9._.js", + "static/chunks/node_modules_next_dist_compiled_1amofcmz--cdp._.js", + "static/chunks/node_modules_next_dist_client_14zvornz047l2._.js", + "static/chunks/node_modules_next_dist_1bjkg68unqmjx._.js", + "static/chunks/node_modules_@swc_helpers_cjs_1r9vbqwj2323d._.js", + "static/chunks/_1anvha4rlo79g._.js", + "static/chunks/turbopack-_00pkkjbg3g3xr._.js" + ], + "pages": {}, + "ampFirstPages": [], + "rootMainFilesTree": { + "/[locale]/page": [ + "static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_03l4kld1mrwfx._.js", + "static/chunks/node_modules_next_dist_compiled_next-devtools_index_090k2jmam7qwg.js", + "static/chunks/1daa_next_dist_compiled_react-dom_cjs_react-dom-client_development_0mp0cp_t-ezj9.js", + "static/chunks/1q96_modules_next_dist_compiled_react-dom_cjs_react-dom_development_1sqry0_53krp4.js", + "static/chunks/node_modules_next_dist_compiled_react-dom_0grqycjrj6mju._.js", + "static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_164kp-67asdr9._.js", + "static/chunks/node_modules_next_dist_compiled_1amofcmz--cdp._.js", + "static/chunks/node_modules_next_dist_client_14zvornz047l2._.js", + "static/chunks/node_modules_next_dist_1bjkg68unqmjx._.js", + "static/chunks/node_modules_@swc_helpers_cjs_1r9vbqwj2323d._.js", + "static/chunks/_1anvha4rlo79g._.js", + "static/chunks/turbopack-_00pkkjbg3g3xr._.js", + "static/chunks/_1g16bqw35lj3u._.js" + ] + }, + "pagesChunkGroupBootstrapParams": {}, + "chunkLoadingGlobal": "TURBOPACK" +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/app/[locale]/page/client-components-ssr.js b/e-commerce/.next/dev/server/app/[locale]/page/client-components-ssr.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/e-commerce/.next/dev/server/app/[locale]/page/next-font-manifest.json b/e-commerce/.next/dev/server/app/[locale]/page/next-font-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..f8c34ae8bb006a29ae8e30e24eb3c84031bf704e --- /dev/null +++ b/e-commerce/.next/dev/server/app/[locale]/page/next-font-manifest.json @@ -0,0 +1,11 @@ +{ + "pages": {}, + "app": { + "[project]/app/[locale]/page": [ + "static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2", + "static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2" + ] + }, + "appUsingSizeAdjust": true, + "pagesUsingSizeAdjust": false +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/app/[locale]/page/react-loadable-manifest.json b/e-commerce/.next/dev/server/app/[locale]/page/react-loadable-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..9e26dfeeb6e641a33dae4961196235bdb965b21b --- /dev/null +++ b/e-commerce/.next/dev/server/app/[locale]/page/react-loadable-manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/app/[locale]/page/server-reference-manifest.json b/e-commerce/.next/dev/server/app/[locale]/page/server-reference-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..27a92af52d0301fa22bfeef19f000e867be90f6b --- /dev/null +++ b/e-commerce/.next/dev/server/app/[locale]/page/server-reference-manifest.json @@ -0,0 +1,4 @@ +{ + "node": {}, + "edge": {} +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/app/[locale]/page_client-reference-manifest.js b/e-commerce/.next/dev/server/app/[locale]/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..0bd56e2465b0890f0b7ac5189101b9845e7bdf58 --- /dev/null +++ b/e-commerce/.next/dev/server/app/[locale]/page_client-reference-manifest.js @@ -0,0 +1,3 @@ +globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {}; +globalThis.__RSC_MANIFEST["/[locale]/page"] = {"moduleLoading":{"prefix":""},"clientModules":{"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"[project]/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"[project]/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":"[project]/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":"[project]/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":"[project]/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":"[project]/node_modules/next/dist/lib/framework/boundary-components.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":"[project]/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/instant-validation/boundary.js":{"id":"[project]/node_modules/next/dist/client/components/instant-validation/boundary.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next/dist/esm/next-devtools/userspace/app/segment-explorer-node.js":{"id":"[project]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js":{"id":"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"async":false},"[project]/node_modules/next-intl/dist/esm/development/shared/NextIntlClientProvider.js":{"id":"[project]/node_modules/next-intl/dist/esm/development/shared/NextIntlClientProvider.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js","/_next/static/chunks/node_modules_1u0rgduz3mf81._.js"],"async":false}},"ssrModuleMapping":{"[project]/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/layout-router.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/client-page.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/client-segment.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js"],"async":false}},"[project]/node_modules/next/dist/lib/framework/boundary-components.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js"],"async":false}},"[project]/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/instant-validation/boundary.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/instant-validation/boundary.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js"],"async":false}},"[project]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/next-devtools/userspace/app/segment-explorer-node.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js","server/chunks/ssr/node_modules_01xbj_9zg44kw._.js"],"async":false}},"[project]/node_modules/next-intl/dist/esm/development/shared/NextIntlClientProvider.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next-intl/dist/esm/development/shared/NextIntlClientProvider.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_esm_client_05u9qnbj7nunx._.js","server/chunks/ssr/node_modules_next_dist_esm_server_0b6z-0s2aj0ab._.js","server/chunks/ssr/node_modules_next_dist_esm_138y36z21vxe9._.js","server/chunks/ssr/node_modules_next_dist_0y2s0cs9r2u7m._.js","server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js","server/chunks/ssr/node_modules_04so635e-ri-4._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"[project]/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/layout-router.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/client-page.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/client-segment.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/lib/framework/boundary-components.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/instant-validation/boundary.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/instant-validation/boundary.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/next-devtools/userspace/app/segment-explorer-node.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next-intl/dist/esm/development/shared/NextIntlClientProvider.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next-intl/dist/esm/development/shared/NextIntlClientProvider.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/app/layout":[{"path":"static/chunks/[root-of-the-server]__0cbk-n2kjjn59._.css","inlined":false}],"[project]/node_modules/next/dist/client/components/builtin/global-error":[{"path":"static/chunks/[root-of-the-server]__0cbk-n2kjjn59._.css","inlined":false}],"[project]/app/[locale]/layout":[{"path":"static/chunks/[root-of-the-server]__0cbk-n2kjjn59._.css","inlined":false}]},"entryJSFiles":{"[project]/app/layout":["static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"[project]/node_modules/next/dist/client/components/builtin/global-error":["static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js"],"[project]/app/[locale]/layout":["static/chunks/node_modules_next_dist_20wefz_f1k6jn._.js","static/chunks/node_modules_1u0rgduz3mf81._.js"]}}; + diff --git a/e-commerce/.next/dev/server/chunks/[root-of-the-server]__15cti2aau8vq0._.js b/e-commerce/.next/dev/server/chunks/[root-of-the-server]__15cti2aau8vq0._.js new file mode 100644 index 0000000000000000000000000000000000000000..fdc419a8c6a033ce855ea7d81c45060042b69ee2 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/[root-of-the-server]__15cti2aau8vq0._.js @@ -0,0 +1,146 @@ +module.exports = [ +"[externals]/crypto [external] (crypto, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("crypto", () => require("crypto")); + +module.exports = mod; +}), +"[externals]/next/dist/build/adapter/setup-node-env.external.js [external] (next/dist/build/adapter/setup-node-env.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/build/adapter/setup-node-env.external.js", () => require("next/dist/build/adapter/setup-node-env.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/compiled/@opentelemetry/api [external] (next/dist/compiled/@opentelemetry/api, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/compiled/@opentelemetry/api", () => require("next/dist/compiled/@opentelemetry/api")); + +module.exports = mod; +}), +"[externals]/next/dist/compiled/next-server/app-page-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/app-page-turbo.runtime.dev.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/compiled/next-server/app-page-turbo.runtime.dev.js", () => require("next/dist/compiled/next-server/app-page-turbo.runtime.dev.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/action-async-storage.external.js [external] (next/dist/server/app-render/action-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/action-async-storage.external.js", () => require("next/dist/server/app-render/action-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/after-task-async-storage.external.js [external] (next/dist/server/app-render/after-task-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/after-task-async-storage.external.js", () => require("next/dist/server/app-render/after-task-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/work-async-storage.external.js", () => require("next/dist/server/app-render/work-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/work-unit-async-storage.external.js", () => require("next/dist/server/app-render/work-unit-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/lib/incremental-cache/memory-cache.external.js [external] (next/dist/server/lib/incremental-cache/memory-cache.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/lib/incremental-cache/memory-cache.external.js", () => require("next/dist/server/lib/incremental-cache/memory-cache.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js [external] (next/dist/server/lib/incremental-cache/shared-cache-controls.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js", () => require("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/lib/incremental-cache/tags-manifest.external.js [external] (next/dist/server/lib/incremental-cache/tags-manifest.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/lib/incremental-cache/tags-manifest.external.js", () => require("next/dist/server/lib/incremental-cache/tags-manifest.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/lib/router-utils/instrumentation-globals.external.js [external] (next/dist/server/lib/router-utils/instrumentation-globals.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/lib/router-utils/instrumentation-globals.external.js", () => require("next/dist/server/lib/router-utils/instrumentation-globals.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/runtime-reacts.external.js [external] (next/dist/server/runtime-reacts.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/runtime-reacts.external.js", () => require("next/dist/server/runtime-reacts.external.js")); + +module.exports = mod; +}), +"[externals]/node:async_hooks [external] (node:async_hooks, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("node:async_hooks", () => require("node:async_hooks")); + +module.exports = mod; +}), +"[externals]/node:path [external] (node:path, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("node:path", () => require("node:path")); + +module.exports = mod; +}), +"[externals]/node:stream [external] (node:stream, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("node:stream", () => require("node:stream")); + +module.exports = mod; +}), +"[externals]/path [external] (path, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("path", () => require("path")); + +module.exports = mod; +}), +"[project]/i18n/routing.ts [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "defaultLocale", + ()=>defaultLocale, + "locales", + ()=>locales +]); +const locales = [ + "en", + "bn" +]; +const defaultLocale = "en"; +}), +"[project]/proxy.ts [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "config", + ()=>config, + "default", + ()=>__TURBOPACK__default__export__ +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$middleware$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/middleware/middleware.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/i18n/routing.ts [middleware] (ecmascript)"); +; +; +const __TURBOPACK__default__export__ = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$middleware$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"])({ + locales: __TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$middleware$5d$__$28$ecmascript$29$__["locales"], + defaultLocale: "en", + localePrefix: "always" +}); +const config = { + matcher: [ + "/(en|bn)", + "/(en|bn)/:path*" + ] +}; +}), +]; + +//# sourceMappingURL=%5Broot-of-the-server%5D__15cti2aau8vq0._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/[root-of-the-server]__15cti2aau8vq0._.js.map b/e-commerce/.next/dev/server/chunks/[root-of-the-server]__15cti2aau8vq0._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a3d7c0eb438cf9c558d25dd6621a01bcb418e3c5 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/[root-of-the-server]__15cti2aau8vq0._.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 106, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/i18n/routing.ts"],"sourcesContent":["export const locales = [\"en\", \"bn\"] as const;\nexport type Locale = (typeof locales)[number];\nexport const defaultLocale: Locale = \"en\";\n"],"names":["locales","defaultLocale"],"mappings":";;;;;;AAAO,MAAMA,UAAU;IAAC;IAAM;CAAK;AAE5B,MAAMC,gBAAwB"}}, + {"offset": {"line": 121, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/proxy.ts"],"sourcesContent":["import createMiddleware from \"next-intl/middleware\";\nimport { locales } from \"./i18n/routing\";\n\nexport default createMiddleware({\n locales,\n defaultLocale: \"en\",\n localePrefix: \"always\",\n});\n\nexport const config = {\n matcher: [\"/(en|bn)\", \"/(en|bn)/:path*\"],\n};\n"],"names":["locales","defaultLocale","localePrefix","config","matcher"],"mappings":";;;;;;AAAA;AACA;;;uCAEe,IAAA,iMAAgB,EAAC;IAC9BA,SAAAA,0HAAO;IACPC,eAAe;IACfC,cAAc;AAChB;AAEO,MAAMC,SAAS;IACpBC,SAAS;QAAC;QAAY;KAAkB;AAC1C"}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/[turbopack]_runtime.js b/e-commerce/.next/dev/server/chunks/[turbopack]_runtime.js new file mode 100644 index 0000000000000000000000000000000000000000..92a3bb5190c2327e908230a8c7b0b10711fc80bb --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/[turbopack]_runtime.js @@ -0,0 +1,1959 @@ +var RUNTIME_PUBLIC_PATH = "server/chunks/[turbopack]_runtime.js"; +var RELATIVE_ROOT_PATH = "../.."; +var ASSET_PREFIX = "/"; +// Apply forwarded globals from workerData if running in a worker thread +if (typeof require !== 'undefined') { + try { + var { workerData } = require('worker_threads'); + if (workerData?.__turbopack_globals__) { + Object.assign(globalThis, workerData.__turbopack_globals__); + // Remove internal data so it's not visible to user code + delete workerData.__turbopack_globals__; + } + } catch (_) { + // Not in a worker thread context, ignore + } +} +/** + * This file contains runtime types and functions that are shared between all + * TurboPack ECMAScript runtimes. + * + * It will be prepended to the runtime code of each runtime. + */ /* eslint-disable @typescript-eslint/no-unused-vars */ /// +/// +/** + * Describes why a module was instantiated. + * Shared between browser and Node.js runtimes. + */ var SourceType = /*#__PURE__*/ function(SourceType) { + /** + * The module was instantiated because it was included in an evaluated chunk's + * runtime. + * SourceData is a ChunkPath. + */ SourceType[SourceType["Runtime"] = 0] = "Runtime"; + /** + * The module was instantiated because a parent module imported it. + * SourceData is a ModuleId. + */ SourceType[SourceType["Parent"] = 1] = "Parent"; + /** + * The module was instantiated because it was included in a chunk's hot module + * update. + * SourceData is an array of ModuleIds or undefined. + */ SourceType[SourceType["Update"] = 2] = "Update"; + return SourceType; +}(SourceType || {}); +/** + * Flag indicating which module object type to create when a module is merged. Set to `true` + * by each runtime that uses ModuleWithDirection (browser dev-base.ts, nodejs dev-base.ts, + * nodejs build-base.ts). Browser production (build-base.ts) leaves it as `false` since it + * uses plain Module objects. + */ let createModuleWithDirectionFlag = false; +const REEXPORTED_OBJECTS = new WeakMap(); +/** + * Constructs the `__turbopack_context__` object for a module. + */ function Context(module, exports) { + this.m = module; + // We need to store this here instead of accessing it from the module object to: + // 1. Make it available to factories directly, since we rewrite `this` to + // `__turbopack_context__.e` in CJS modules. + // 2. Support async modules which rewrite `module.exports` to a promise, so we + // can still access the original exports object from functions like + // `esmExport` + // Ideally we could find a new approach for async modules and drop this property altogether. + this.e = exports; +} +const contextPrototype = Context.prototype; +const hasOwnProperty = Object.prototype.hasOwnProperty; +const toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag; +function defineProp(obj, name, options) { + if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options); +} +function getOverwrittenModule(moduleCache, id) { + let module = moduleCache.get(id); + if (module === undefined) { + if (createModuleWithDirectionFlag) { + // set in development modes for hmr support + module = createModuleWithDirection(id); + } else { + module = createModuleObject(id); + } + moduleCache.set(id, module); + } + return module; +} +/** + * Creates the module object. Only done here to ensure all module objects have the same shape. + */ function createModuleObject(id) { + return { + exports: {}, + error: undefined, + id, + namespaceObject: undefined + }; +} +function createModuleWithDirection(id) { + return { + exports: {}, + error: undefined, + id, + namespaceObject: undefined, + parents: [], + children: [] + }; +} +const BindingTag_Value = 0; +/** + * Terminates a module's group of entries in an {@link EsmReexports} list. + */ const REEXPORT_GROUP_END = 0; +/** + * Adds the getters to the exports object. + */ function esm(exports, bindings, dynamic) { + defineProp(exports, '__esModule', { + value: true + }); + if (toStringTag) defineProp(exports, toStringTag, { + value: 'Module' + }); + let i = 0; + while(i < bindings.length){ + const propName = bindings[i++]; + const tagOrFunction = bindings[i++]; + if (typeof tagOrFunction === 'number') { + if (tagOrFunction === BindingTag_Value) { + defineProp(exports, propName, { + value: bindings[i++], + enumerable: true, + writable: false + }); + } else { + throw new Error(`unexpected tag: ${tagOrFunction}`); + } + } else { + const getterFn = tagOrFunction; + if (typeof bindings[i] === 'function') { + const setterFn = bindings[i++]; + defineProp(exports, propName, { + get: getterFn, + set: setterFn, + enumerable: true + }); + } else { + defineProp(exports, propName, { + get: getterFn, + enumerable: true + }); + } + } + } + // The properties defined above are already non-configurable and + // non-writable, so the namespace's existing exports are effectively + // immutable. Sealing additionally makes the object non-extensible, matching + // real ESM-namespace semantics. Modules with dynamic re-exports + // (`export *` from a CommonJS module) must stay extensible so the dynamic + // export proxy can surface keys discovered at runtime, so skip the seal for + // them. + if (!dynamic) Object.seal(exports); +} +/** + * Makes the module an ESM with exports + */ function esmExport(bindings, id, dynamic) { + let module; + let exports; + if (id != null) { + module = getOverwrittenModule(this.c, id); + exports = module.exports; + } else { + module = this.m; + exports = this.e; + } + module.namespaceObject = exports; + esm(exports, bindings, dynamic); +} +contextPrototype.s = esmExport; +/** + * Registers re-exports that all forward to properties of other modules. + * + * This is a compact spelling of the pattern + * + * ```js + * var ns = context.i(moduleId) + * context.s([exportName, () => ns[importedName], ...]) + * ``` + * + * The list is a flat sequence of groups. Each group starts with the source the exports come from, + * followed by that group's entries, and is terminated by the `0` sentinel (or the end of the list). + * + * The group head is either a **module id**, which is instantiated here: + * + * ```js + * context.S([ + * 76061, 'default', 'f', 'named', 'A', 0, + * 29842, 'otherModule', 'f', + * ]) + * ``` + * + * or the **namespace value** of a module that has already been imported, which is used directly: + * + * ```js + * var ns1 = context.i(76061) + * context.S([ns1, 'default', 'f', 'named', 'A']) + * ``` + * + * The producer picks the namespace form when it has generated the import anyway -- because some + * later import must not be reordered past it -- so nothing is instantiated twice. The two are told + * apart by type: a module id is always a string or number. A CommonJS function export produces a + * callable namespace value, so namespace heads can be functions as well as objects. + * + * Entries are `exportName, importedName` pairs, except when a group holds exactly one string. That + * string is then a comma-joined list of the same pairs, which saves the repeated quoting: + * + * ```js + * context.S([ + * 76061, 'default,f,named,A', 0, + * 29842, 'otherModule,f', + * ]) + * ``` + * + * The producer picks that spelling independently for each group whose names contain no commas, + * since that group's names are recovered by splitting on them. + * + * Groups whose head is a module id are instantiated in list order, at the point where the call + * appears, so the producer must not merge such a group across an import of another module. The + * destination reuses a source data value or getter descriptor when one exists, falling back to a + * wrapper getter for dynamic/proxy/inherited properties. + * + * `id` names the module the exports belong to when this module was merged into a scope-hoisting + * group, exactly as it does for {@link EsmExport}. + * + * Only the source descriptor's payload (value or getter) is reused. {@link esm} still defines a + * fresh enumerable, non-configurable destination property, and no source setter is ever forwarded. + */ function esmReexport(list, id) { + const bindings = []; + let i = 0; + while(i < list.length){ + const head = list[i++]; + const start = i; + while(i < list.length && list[i] !== REEXPORT_GROUP_END)i++; + const end = i; + // Skip the sentinel, if this group was terminated by one rather than by the end of the list. + i++; + // Module ids are always strings or numbers. Other values are already-imported namespaces; + // notably, interop with a CommonJS function export produces a callable namespace function. + // `esmImport` may return a promise for an async module, but re-exports of async modules keep + // going through `context.s`, so the producer never routes them here and this stays synchronous. + const namespace = typeof head === 'string' || typeof head === 'number' ? esmImport.call(this, head) : head; + if (end - start === 1) { + const pairs = list[start].split(','); + for(let j = 0; j < pairs.length; j += 2){ + appendReexportBinding(bindings, pairs[j], namespace, pairs[j + 1]); + } + } else { + for(let j = start; j < end; j += 2){ + appendReexportBinding(bindings, list[j], namespace, list[j + 1]); + } + } + } + esmExport.call(this, bindings, id); +} +contextPrototype.S = esmReexport; +function appendReexportBinding(bindings, exportedName, namespace, importedName) { + const descriptor = Reflect.getOwnPropertyDescriptor(namespace, importedName); + if (descriptor) { + if ('value' in descriptor) { + // Code generation only routes immutable imported bindings through this helper, so a data + // descriptor is a constant export and can be captured once. + bindings.push(exportedName, BindingTag_Value, descriptor.value); + return; + } + if (descriptor.get) { + // Accessors remain live by reusing the source getter. `esmReexport` is only called by + // generated code: every group head is either produced by + // `this.i` or is the namespace variable from a generated `this.i` call. Every getter on such + // a namespace is receiver-independent: ESM bindings are compiler-generated arrow functions, + // and the CommonJS/dynamic-namespace paths create arrows in `createGetter` and + // `getOwnPropertyDescriptor`. The destination can therefore reuse the exact function instead + // of allocating another wrapper getter. + bindings.push(exportedName, descriptor.get); + return; + } + } + // Dynamic/proxy/inherited CommonJS edge cases may not expose a usable own descriptor. + bindings.push(exportedName, ()=>namespace[importedName]); +} +function ensureDynamicExports(module, exports) { + let reexportedObjects = REEXPORTED_OBJECTS.get(module); + if (!reexportedObjects) { + REEXPORTED_OBJECTS.set(module, reexportedObjects = []); + // Returns the re-exported object that provides `prop` as an own property, + // or `undefined` if none does. The traps share this logic so they always + // agree on which keys are synthesized from `reexportedObjects`. `default` + // is never re-exported by `export *`, so it is never synthesized. + const reexportOwning = (prop)=>{ + if (prop !== 'default') { + for (const obj of reexportedObjects){ + if (hasOwnProperty.call(obj, prop)) return obj; + } + } + return undefined; + }; + // Modules with dynamic re-exports are not sealed by `esm()`, so the + // target beneath the namespace stays extensible. That is what lets the + // `ownKeys` and `getOwnPropertyDescriptor` traps legally report keys that + // exist on `reexportedObjects` but not on the target itself. + module.exports = module.namespaceObject = new Proxy(exports, { + get (target, prop) { + if (hasOwnProperty.call(target, prop) || prop === 'default' || prop === '__esModule') { + return Reflect.get(target, prop); + } + const obj = reexportOwning(prop); + return obj && Reflect.get(obj, prop); + }, + // The namespace is read-only, like a real esm namespace object. The + // re-exported modules can still mutate their own exports (exposed live + // via `get`), but mutating the namespace itself is rejected. Refusing + // here, rather than forwarding to the extensible target, also prevents an + // assignment/definition from shadowing a dynamic re-export. It also + // prevents delete from removing a static export. + set () { + return false; + }, + defineProperty () { + return false; + }, + deleteProperty () { + return false; + }, + // The `has` trap ensures that `'exportName' in starImports` will reflect + // the truth of whether a key is exported. + has (target, prop) { + if (Reflect.has(target, prop)) return true; + if (prop === 'default' || prop === '__esModule') return false; + return reexportOwning(prop) !== undefined; + }, + // ownKeys and getOwnPropertyDescriptor together make the keys enumerable. + // If a value is returned from `ownKeys` but its property descriptor is + // not enumerable, it will not be visible to iterator methods. + // Collectively, they allow code like the following: + // + // ``` + // // module.js re-exports dynamic CJS exports + // export * from './legacyModule.cjs' + // + // // from another JS file, reference the re-exported dynamic values + // import * as Namespace from './module.js' + // Object.keys(Namespace) + // ``` + ownKeys (target) { + const keys = Reflect.ownKeys(target); + for (const obj of reexportedObjects){ + for (const key of Reflect.ownKeys(obj)){ + if (key !== 'default' && !keys.includes(key)) keys.push(key); + } + } + return keys; + }, + getOwnPropertyDescriptor (target, prop) { + const own = Reflect.getOwnPropertyDescriptor(target, prop); + if (own || prop === 'default' || prop === '__esModule') return own; + const obj = reexportOwning(prop); + if (obj) { + // Synthetic keys don't exist on the target, so they MUST be + // reported as configurable. However the set/delete traps above will + // prevent them from actually being changed + return { + enumerable: true, + configurable: true, + get: ()=>Reflect.get(obj, prop) + }; + } + return undefined; + } + }); + } + return reexportedObjects; +} +/** + * Dynamically exports properties from an object + */ function dynamicExport(object, id) { + let module; + let exports; + if (id != null) { + module = getOverwrittenModule(this.c, id); + exports = module.exports; + } else { + module = this.m; + exports = this.e; + } + const reexportedObjects = ensureDynamicExports(module, exports); + if (typeof object === 'object' && object !== null) { + reexportedObjects.push(object); + } +} +contextPrototype.j = dynamicExport; +function exportValue(value, id) { + let module; + if (id != null) { + module = getOverwrittenModule(this.c, id); + } else { + module = this.m; + } + module.exports = value; +} +contextPrototype.v = exportValue; +function exportNamespace(namespace, id) { + let module; + if (id != null) { + module = getOverwrittenModule(this.c, id); + } else { + module = this.m; + } + module.exports = module.namespaceObject = namespace; +} +contextPrototype.n = exportNamespace; +function createGetter(obj, key) { + return ()=>obj[key]; +} +/** + * @returns prototype of the object + */ const getProto = Object.getPrototypeOf ? (obj)=>Object.getPrototypeOf(obj) : (obj)=>obj.__proto__; +/** Prototypes that are not expanded for exports */ const LEAF_PROTOTYPES = [ + null, + getProto({}), + getProto([]), + getProto(getProto) +]; +/** + * @param raw + * @param ns + * @param allowExportDefault + * * `false`: will have the raw module as default export + * * `true`: will have the default property as default export + */ function interopEsm(raw, ns, allowExportDefault) { + const bindings = []; + let defaultLocation = -1; + for(let current = raw; (typeof current === 'object' || typeof current === 'function') && !LEAF_PROTOTYPES.includes(current); current = getProto(current)){ + for (const key of Object.getOwnPropertyNames(current)){ + bindings.push(key, createGetter(raw, key)); + if (defaultLocation === -1 && key === 'default') { + defaultLocation = bindings.length - 1; + } + } + } + // this is not really correct + // we should set the `default` getter if the imported module is a `.cjs file` + if (!(allowExportDefault && defaultLocation >= 0)) { + // Replace the binding with one for the namespace itself in order to preserve iteration order. + if (defaultLocation >= 0) { + // Replace the getter with the value + bindings.splice(defaultLocation, 1, BindingTag_Value, raw); + } else { + bindings.push('default', BindingTag_Value, raw); + } + } + esm(ns, bindings); + return ns; +} +function createNS(raw) { + if (typeof raw === 'function') { + return function(...args) { + return raw.apply(this, args); + }; + } else { + return Object.create(null); + } +} +function esmImport(id) { + const module = getOrInstantiateModuleFromParent(id, this.m); + // any ES module has to have `module.namespaceObject` defined. + if (module.namespaceObject) return module.namespaceObject; + // only ESM can be an async module, so we don't need to worry about exports being a promise here. + const raw = module.exports; + return module.namespaceObject = interopEsm(raw, createNS(raw), raw && raw.__esModule); +} +contextPrototype.i = esmImport; +function asyncLoader(moduleId) { + const loader = this.r(moduleId); + return loader(esmImport.bind(this)); +} +contextPrototype.A = asyncLoader; +// Add a simple runtime require so that environments without one can still pass +// `typeof require` CommonJS checks so that exports are correctly registered. +const runtimeRequire = // @ts-ignore +typeof require === 'function' ? require : function require1() { + throw new Error('Unexpected use of runtime require'); +}; +contextPrototype.t = runtimeRequire; +function commonJsRequire(id) { + return getOrInstantiateModuleFromParent(id, this.m).exports; +} +contextPrototype.r = commonJsRequire; +/** + * Remove fragments and query parameters since they are never part of the context map keys + * + * This matches how we parse patterns at resolving time. Arguably we should only do this for + * strings passed to `import` but the resolve does it for `import` and `require` and so we do + * here as well. + */ function parseRequest(request) { + // Per the URI spec fragments can contain `?` characters, so we should trim it off first + // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5 + const hashIndex = request.indexOf('#'); + if (hashIndex !== -1) { + request = request.substring(0, hashIndex); + } + const queryIndex = request.indexOf('?'); + if (queryIndex !== -1) { + request = request.substring(0, queryIndex); + } + return request; +} +/** + * `require.context` and require/import expression runtime. + */ function moduleContext(map) { + function moduleContext(id) { + id = parseRequest(id); + if (hasOwnProperty.call(map, id)) { + return map[id].module(); + } + const e = new Error(`Cannot find module '${id}'`); + e.code = 'MODULE_NOT_FOUND'; + throw e; + } + moduleContext.keys = ()=>{ + return Object.keys(map); + }; + moduleContext.resolve = (id)=>{ + id = parseRequest(id); + if (hasOwnProperty.call(map, id)) { + return map[id].id(); + } + const e = new Error(`Cannot find module '${id}'`); + e.code = 'MODULE_NOT_FOUND'; + throw e; + }; + moduleContext.import = async (id)=>{ + return await moduleContext(id); + }; + return moduleContext; +} +contextPrototype.f = moduleContext; +/** + * Returns the path of a chunk defined by its data. + */ function getChunkPath(chunkData) { + return typeof chunkData === 'string' ? chunkData : chunkData.path; +} +// Load the CompressedModuleFactories of a chunk into the `moduleFactories` Map. +// The flat format alternates one or more module IDs with their factory function. +// Strict factories can be prepended as a nested array. +function installCompressedModuleFactories(chunkModules, offset, moduleFactories, newModuleId) { + let i = offset; + const strictFactories = chunkModules[i]; + if (Array.isArray(strictFactories)) { + installCompressedModuleFactories(strictFactories, 0, moduleFactories, newModuleId); + i++; + } + while(i < chunkModules.length){ + let end = i + 1; + // Find our factory function + while(end < chunkModules.length && typeof chunkModules[end] !== 'function'){ + end++; + } + if (end === chunkModules.length) { + throw new Error('malformed chunk format, expected a factory function'); + } + // Install the factory for each module ID that doesn't already have one. + // When some IDs in this group already have a factory, reuse that existing + // group factory for the missing IDs to keep all IDs in the group consistent. + // Otherwise, install the factory from this chunk. + const moduleFactoryFn = chunkModules[end]; + let existingGroupFactory = undefined; + for(let j = i; j < end; j++){ + const id = chunkModules[j]; + const existingFactory = moduleFactories.get(id); + if (existingFactory) { + existingGroupFactory = existingFactory; + break; + } + } + const factoryToInstall = existingGroupFactory ?? moduleFactoryFn; + let didInstallFactory = false; + for(let j = i; j < end; j++){ + const id = chunkModules[j]; + if (!moduleFactories.has(id)) { + if (!didInstallFactory) { + if (factoryToInstall === moduleFactoryFn) { + applyModuleFactoryName(moduleFactoryFn); + } + didInstallFactory = true; + } + moduleFactories.set(id, factoryToInstall); + newModuleId?.(id); + } + } + i = end + 1; + } +} +/** + * A pseudo "fake" URL object to resolve to its relative path. + * + * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this + * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid + * hydration mismatch. + * + * This is based on webpack's existing implementation: + * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js + */ const relativeURL = function relativeURL(inputUrl) { + const realUrl = new URL(inputUrl, 'x:/'); + const values = {}; + for(const key in realUrl)values[key] = realUrl[key]; + values.href = inputUrl; + values.pathname = inputUrl.replace(/[?#].*/, ''); + values.origin = values.protocol = ''; + values.toString = values.toJSON = (..._args)=>inputUrl; + for(const key in values)Object.defineProperty(this, key, { + enumerable: true, + configurable: true, + value: values[key] + }); +}; +relativeURL.prototype = URL.prototype; +contextPrototype.U = relativeURL; +/** + * Utility function to ensure all variants of an enum are handled. + */ function invariant(never, computeMessage) { + throw new Error(`Invariant: ${computeMessage(never)}`); +} +/** + * Constructs an error message for when a module factory is not available. + */ function factoryNotAvailableMessage(moduleId, sourceType, sourceData) { + let instantiationReason; + switch(sourceType){ + case 0: + instantiationReason = `as a runtime entry of chunk ${sourceData}`; + break; + case 1: + instantiationReason = `because it was required from module ${sourceData}`; + break; + case 2: + instantiationReason = 'because of an HMR update'; + break; + default: + invariant(sourceType, (sourceType)=>`Unknown source type: ${sourceType}`); + } + return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`; +} +/** + * Returns a `file://` URL under a synthetic directory named after `root` + * (`ROOT` for the project root), for when the real filesystem path is unknown. + * The root name and path segments are percent-encoded so the result is always + * a valid file URI. + */ function placeholderFileUrl(modulePath, root) { + return `file:///${encodeURIComponent(root ?? 'ROOT')}/${modulePath.split('/').map(encodeURIComponent).join('/')}`; +} +/** + * A stub function to make `require` available but non-functional in ESM. + */ function requireStub(_moduleId) { + throw new Error('dynamic usage of require is not supported'); +} +contextPrototype.z = requireStub; +// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable. +contextPrototype.g = globalThis; +function applyModuleFactoryName(factory) { + // Give the module factory a nice name to improve stack traces. + Object.defineProperty(factory, 'name', { + value: 'module evaluation' + }); +} +/// +/// +/** + * Top-level-await / async-module machinery. This is only included in the runtime + * when the module graph actually contains an async module (a module with + * top-level await, or one that transitively depends on one). When no async + * module is present, the chunk items never reference `__turbopack_context__.a`, + * so this whole file can be omitted. + * + * everything below is adapted from webpack + * https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13 + */ const turbopackQueues = Symbol('turbopack queues'); +const turbopackExports = Symbol('turbopack exports'); +const turbopackError = Symbol('turbopack error'); +function isPromise(maybePromise) { + return maybePromise != null && typeof maybePromise === 'object' && 'then' in maybePromise && typeof maybePromise.then === 'function'; +} +function isAsyncModuleExt(obj) { + return turbopackQueues in obj; +} +function createPromise() { + let resolve; + let reject; + const promise = new Promise((res, rej)=>{ + reject = rej; + resolve = res; + }); + return { + promise, + resolve: resolve, + reject: reject + }; +} +function resolveQueue(queue) { + if (queue && queue.status !== 1) { + queue.status = 1; + queue.forEach((fn)=>fn.queueCount--); + queue.forEach((fn)=>fn.queueCount-- ? fn.queueCount++ : fn()); + } +} +function wrapDeps(deps) { + return deps.map((dep)=>{ + if (dep !== null && typeof dep === 'object') { + if (isAsyncModuleExt(dep)) return dep; + if (isPromise(dep)) { + const queue = Object.assign([], { + status: 0 + }); + const obj = { + [turbopackExports]: {}, + [turbopackQueues]: (fn)=>fn(queue) + }; + dep.then((res)=>{ + obj[turbopackExports] = res; + resolveQueue(queue); + }, (err)=>{ + obj[turbopackError] = err; + resolveQueue(queue); + }); + return obj; + } + } + return { + [turbopackExports]: dep, + [turbopackQueues]: ()=>{} + }; + }); +} +function asyncModule(body, hasAwait) { + const module = this.m; + const queue = hasAwait ? Object.assign([], { + status: -1 + }) : undefined; + const depQueues = new Set(); + const { resolve, reject, promise: rawPromise } = createPromise(); + const promise = Object.assign(rawPromise, { + [turbopackExports]: module.exports, + [turbopackQueues]: (fn)=>{ + queue && fn(queue); + depQueues.forEach(fn); + promise['catch'](()=>{}); + } + }); + const attributes = { + get () { + return promise; + }, + set (v) { + // Calling `esmExport` leads to this. + if (v !== promise) { + promise[turbopackExports] = v; + } + } + }; + Object.defineProperty(module, 'exports', attributes); + Object.defineProperty(module, 'namespaceObject', attributes); + function handleAsyncDependencies(deps) { + const currentDeps = wrapDeps(deps); + const getResult = ()=>currentDeps.map((d)=>{ + if (d[turbopackError]) throw d[turbopackError]; + return d[turbopackExports]; + }); + const { promise, resolve } = createPromise(); + const fn = Object.assign(()=>resolve(getResult), { + queueCount: 0 + }); + function fnQueue(q) { + if (q !== queue && !depQueues.has(q)) { + depQueues.add(q); + if (q && q.status === 0) { + fn.queueCount++; + q.push(fn); + } + } + } + currentDeps.map((dep)=>dep[turbopackQueues](fnQueue)); + return fn.queueCount ? promise : getResult(); + } + function asyncResult(err) { + if (err) { + reject(promise[turbopackError] = err); + } else { + resolve(promise[turbopackExports]); + } + resolveQueue(queue); + } + body(handleAsyncDependencies, asyncResult); + if (queue && queue.status === -1) { + queue.status = 0; + } +} +contextPrototype.a = asyncModule; +/// +/// A 'base' utilities to support runtime can have externals. +/// Currently this is for node.js / edge runtime both. +/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead. +async function externalImport(id) { + let raw; + try { + raw = await import(id); + } catch (err) { + // TODO(alexkirsz) This can happen when a client-side module tries to load + // an external module we don't provide a shim for (e.g. querystring, url). + // For now, we fail semi-silently, but in the future this should be a + // compilation error. + throw new Error(`Failed to load external module ${id}: ${err}`); + } + if (raw && raw.__esModule && raw.default && 'default' in raw.default) { + return interopEsm(raw.default, createNS(raw), true); + } + return raw; +} +contextPrototype.y = externalImport; +function externalRequire(id, thunk, esm = false) { + let raw; + try { + raw = thunk(); + } catch (err) { + // TODO(alexkirsz) This can happen when a client-side module tries to load + // an external module we don't provide a shim for (e.g. querystring, url). + // For now, we fail semi-silently, but in the future this should be a + // compilation error. + throw new Error(`Failed to load external module ${id}: ${err}`); + } + if (!esm || raw.__esModule) { + return raw; + } + return interopEsm(raw, createNS(raw), true); +} +externalRequire.resolve = (id, options)=>{ + return require.resolve(id, options); +}; +contextPrototype.x = externalRequire; +/* eslint-disable @typescript-eslint/no-unused-vars */ const path = require('path'); +const relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.'); +// Compute the relative path to the `distDir`. +const relativePathToDistRoot = path.join(relativePathToRuntimeRoot, RELATIVE_ROOT_PATH); +const RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot); +// Compute the absolute path to the root, by stripping distDir from the absolute path to this file. +const ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot); +/** + * Returns an absolute path to the given module path. + * Module path should be relative, either path to a file or a directory. + * + * This fn allows to calculate an absolute path for some global static values, such as + * `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time. + * See ImportMetaBinding::code_generation for the usage. + */ function resolveAbsolutePath(modulePath) { + if (modulePath) { + return path.join(ABSOLUTE_ROOT, modulePath); + } + return ABSOLUTE_ROOT; +} +Context.prototype.P = resolveAbsolutePath; +/** + * Returns an absolute `file://` URL for the given module path, which is + * relative to the project root or the named `root`. + * + * Uses `url.pathToFileURL` so that the resulting URL is a valid file URI on + * all platforms (forward slashes on Windows, drive letters handled + * correctly, path segments URL-encoded). + * + * The location of a named `root` isn't known at runtime (the output may have + * been moved away from the sources), so this returns a placeholder URL for it. + */ function resolveFileUrl(modulePath, root) { + if (root !== undefined) { + return placeholderFileUrl(modulePath, root); + } + return require('url').pathToFileURL(resolveAbsolutePath(modulePath)).href; +} +Context.prototype.F = resolveFileUrl; +/* eslint-disable @typescript-eslint/no-unused-vars */ /// +/// +/// +/// +/** + * Base Node.js runtime shared between production and development. + * Contains chunk loading, module caching, and other non-HMR functionality. + */ process.env.TURBOPACK = '1'; +const url = require('url'); +const moduleFactories = new Map(); +const moduleCache = new Map(); +/** + * Returns an absolute path to the given module's id. + */ function resolvePathFromModule(moduleId) { + const exported = this.r(moduleId); + const exportedPath = exported?.default ?? exported; + if (typeof exportedPath !== 'string') { + return exported; + } + const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length); + const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix); + return url.pathToFileURL(resolved).href; +} +/** + * Exports a URL value. No suffix is added in Node.js runtime. + */ function exportUrl(urlValue, id) { + exportValue.call(this, urlValue, id); +} +function loadRuntimeChunk(sourcePath, chunkData) { + if (typeof chunkData === 'string') { + loadRuntimeChunkPath(sourcePath, chunkData); + } else { + loadRuntimeChunkPath(sourcePath, chunkData.path); + } +} +const loadedChunks = new Set(); +const unsupportedLoadChunk = Promise.resolve(undefined); +const loadedChunk = Promise.resolve(undefined); +const chunkCache = new Map(); +function clearChunkCache() { + chunkCache.clear(); + loadedChunks.clear(); +} +function loadRuntimeChunkPath(sourcePath, chunkPath) { + if (!isJs(chunkPath)) { + // We only support loading JS chunks in Node.js. + // This branch can be hit when trying to load a CSS chunk. + return; + } + if (loadedChunks.has(chunkPath)) { + return; + } + try { + const resolved = path.resolve(RUNTIME_ROOT, chunkPath); + const chunkModules = require(resolved); + installCompressedModuleFactories(chunkModules, 0, moduleFactories); + loadedChunks.add(chunkPath); + } catch (cause) { + let errorMessage = `Failed to load chunk ${chunkPath}`; + if (sourcePath) { + errorMessage += ` from runtime for chunk ${sourcePath}`; + } + const error = new Error(errorMessage, { + cause + }); + error.name = 'ChunkLoadError'; + throw error; + } +} +function loadChunkAsync(chunkData) { + const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path; + if (!isJs(chunkPath)) { + // We only support loading JS chunks in Node.js. + // This branch can be hit when trying to load a CSS chunk. + return unsupportedLoadChunk; + } + let entry = chunkCache.get(chunkPath); + if (entry === undefined) { + try { + // resolve to an absolute path to simplify `require` handling + const resolved = path.resolve(RUNTIME_ROOT, chunkPath); + // TODO: consider switching to `import()` to enable concurrent chunk loading and async file io + // However this is incompatible with hot reloading (since `import` doesn't use the require cache) + const chunkModules = require(resolved); + installCompressedModuleFactories(chunkModules, 0, moduleFactories); + entry = loadedChunk; + } catch (cause) { + const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`; + const error = new Error(errorMessage, { + cause + }); + error.name = 'ChunkLoadError'; + // Cache the failure promise, future requests will also get this same rejection + entry = Promise.reject(error); + } + chunkCache.set(chunkPath, entry); + } + // TODO: Return an instrumented Promise that React can use instead of relying on referential equality. + return entry; +} +contextPrototype.l = loadChunkAsync; +function loadChunkAsyncByUrl(chunkUrl) { + const path1 = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT)); + return loadChunkAsync.call(this, path1); +} +contextPrototype.L = loadChunkAsyncByUrl; +// Shared runtime primitive: the root that on-disk chunk paths are resolved +// against. Used by the bundled wasm helper (exposed as `__turbopack_runtime_root__`). +contextPrototype.w = RUNTIME_ROOT; +const regexJsUrl = /\.js(?:\?[^#]*)?(?:#.*)?$/; +/** + * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment. + */ function isJs(chunkUrlOrPath) { + return regexJsUrl.test(chunkUrlOrPath); +} +/// +/// +/// +/// +/** + * Shared HMR (Hot Module Replacement) implementation. + * + * This file contains the complete HMR implementation that's shared between + * browser and Node.js runtimes. It manages module hot state, dependency + * tracking, the module.hot API, and the full HMR update flow. + */ /** + * The development module cache shared across the runtime. + * Browser runtime declares this directly. + * Node.js runtime assigns globalThis.__turbopack_module_cache__ to this. + */ let devModuleCache; +/** + * Module IDs that are instantiated as part of the runtime of a chunk. + */ let runtimeModules; +/** + * Maps module IDs to persisted data between executions of their hot module + * implementation (`hot.data`). + */ const moduleHotData = new Map(); +/** + * Maps module instances to their hot module state. + * Uses WeakMap so it works with both HotModule and ModuleWithDirection. + */ const moduleHotState = new WeakMap(); +/** + * Modules that call `module.hot.invalidate()` (while being updated). + */ const queuedInvalidatedModules = new Set(); +class UpdateApplyError extends Error { + name = 'UpdateApplyError'; + dependencyChain; + constructor(message, dependencyChain){ + super(message); + this.dependencyChain = dependencyChain; + } +} +/** + * Records parent-child relationship when a module imports another. + * Should be called during module instantiation. + */ // eslint-disable-next-line @typescript-eslint/no-unused-vars +function trackModuleImport(parentModule, childModuleId, childModule) { + // Record that parent imports child + if (parentModule.children.indexOf(childModuleId) === -1) { + parentModule.children.push(childModuleId); + } + // Record that child is imported by parent + if (childModule && childModule.parents.indexOf(parentModule.id) === -1) { + childModule.parents.push(parentModule.id); + } +} +function formatDependencyChain(dependencyChain) { + return `Dependency chain: ${dependencyChain.join(' -> ')}`; +} +/** + * Walks the dependency tree to find all modules affected by a change. + * Returns information about whether the update can be accepted and which + * modules need to be invalidated. + * + * @param moduleId - The module that changed + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept(). + * This is used for server-side HMR where pages auto-accept at the top level. + */ function getAffectedModuleEffects(moduleId, autoAcceptRootModules) { + const outdatedModules = new Set(); + const outdatedDependencies = new Map(); + const queue = [ + { + moduleId, + dependencyChain: [] + } + ]; + let queueIndex = 0; + while(queueIndex < queue.length){ + const { moduleId, dependencyChain } = queue[queueIndex]; + // Release copied dependency chains as soon as their queue item is consumed. + queue[queueIndex++] = undefined; + if (moduleId != null) { + if (outdatedModules.has(moduleId)) { + continue; + } + outdatedModules.add(moduleId); + } + // We've arrived at the runtime of the chunk, which means that nothing + // else above can accept this update. + if (moduleId === undefined) { + if (autoAcceptRootModules) { + return { + type: 'accepted', + moduleId, + outdatedModules, + outdatedDependencies + }; + } + return { + type: 'unaccepted', + dependencyChain + }; + } + const module = devModuleCache.get(moduleId); + const hotState = moduleHotState.get(module); + if (// The module is not in the cache. Since this is a "modified" update, + // it means that the module was never instantiated before. + !module || hotState.selfAccepted && !hotState.selfInvalidated) { + continue; + } + if (hotState.selfDeclined) { + return { + type: 'self-declined', + dependencyChain, + moduleId + }; + } + if (runtimeModules.has(moduleId)) { + if (autoAcceptRootModules) { + continue; + } + queue.push({ + moduleId: undefined, + dependencyChain: [ + ...dependencyChain, + moduleId + ] + }); + continue; + } + for (const parentId of module.parents){ + const parent = devModuleCache.get(parentId); + if (!parent) { + continue; + } + const parentHotState = moduleHotState.get(parent); + // Check if parent declined this dependency + if (parentHotState?.declinedDependencies[moduleId]) { + return { + type: 'declined', + dependencyChain: [ + ...dependencyChain, + moduleId + ], + moduleId, + parentId + }; + } + // Skip if parent is already outdated + if (outdatedModules.has(parentId)) { + continue; + } + // Check if parent accepts this dependency + if (parentHotState?.acceptedDependencies[moduleId]) { + if (!outdatedDependencies.has(parentId)) { + outdatedDependencies.set(parentId, new Set()); + } + outdatedDependencies.get(parentId).add(moduleId); + continue; + } + // Neither accepted nor declined — propagate to parent + queue.push({ + moduleId: parentId, + dependencyChain: [ + ...dependencyChain, + moduleId + ] + }); + } + // If no parents and we're at a root module, auto-accept if configured + if (module.parents.length === 0 && autoAcceptRootModules) { + continue; + } + } + return { + type: 'accepted', + moduleId, + outdatedModules, + outdatedDependencies + }; +} +/** + * Merges source dependency map into target dependency map. + */ function mergeDependencies(target, source) { + for (const [parentId, deps] of source){ + const existing = target.get(parentId); + if (existing) { + for (const dep of deps){ + existing.add(dep); + } + } else { + target.set(parentId, new Set(deps)); + } + } +} +/** + * Computes all modules that need to be invalidated based on which modules changed. + * + * @param invalidated - The modules that have been invalidated + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept() + */ function computedInvalidatedModules(invalidated, autoAcceptRootModules) { + const outdatedModules = new Set(); + const outdatedDependencies = new Map(); + for (const moduleId of invalidated){ + const effect = getAffectedModuleEffects(moduleId, autoAcceptRootModules); + switch(effect.type){ + case 'unaccepted': + throw new UpdateApplyError(`cannot apply update: unaccepted module. ${formatDependencyChain(effect.dependencyChain)}.`, effect.dependencyChain); + case 'self-declined': + throw new UpdateApplyError(`cannot apply update: self-declined module. ${formatDependencyChain(effect.dependencyChain)}.`, effect.dependencyChain); + case 'declined': + throw new UpdateApplyError(`cannot apply update: declined dependency. ${formatDependencyChain(effect.dependencyChain)}. Declined by ${effect.parentId}.`, effect.dependencyChain); + case 'accepted': + for (const outdatedModuleId of effect.outdatedModules){ + outdatedModules.add(outdatedModuleId); + } + mergeDependencies(outdatedDependencies, effect.outdatedDependencies); + break; + default: + invariant(effect, (effect)=>`Unknown effect type: ${effect?.type}`); + } + } + return { + outdatedModules, + outdatedDependencies + }; +} +/** + * Creates the module.hot API object and its internal state. + * This provides the HMR API that user code calls (module.hot.accept(), etc.) + */ function createModuleHot(moduleId, hotData) { + const hotState = { + selfAccepted: false, + selfDeclined: false, + selfInvalidated: false, + disposeHandlers: [], + acceptedDependencies: {}, + acceptedErrorHandlers: {}, + declinedDependencies: {} + }; + const hot = { + // TODO(alexkirsz) This is not defined in the HMR API. It was used to + // decide whether to warn whenever an HMR-disposed module required other + // modules. We might want to remove it. + active: true, + data: hotData ?? {}, + accept: (modules, callback, errorHandler)=>{ + if (modules === undefined) { + hotState.selfAccepted = true; + } else if (typeof modules === 'function') { + hotState.selfAccepted = modules; + } else if (typeof modules === 'object' && modules !== null) { + for(let i = 0; i < modules.length; i++){ + hotState.acceptedDependencies[modules[i]] = callback || function() {}; + hotState.acceptedErrorHandlers[modules[i]] = errorHandler; + } + } else { + hotState.acceptedDependencies[modules] = callback || function() {}; + hotState.acceptedErrorHandlers[modules] = errorHandler; + } + }, + decline: (dep)=>{ + if (dep === undefined) { + hotState.selfDeclined = true; + } else if (typeof dep === 'object' && dep !== null) { + for(let i = 0; i < dep.length; i++){ + hotState.declinedDependencies[dep[i]] = true; + } + } else { + hotState.declinedDependencies[dep] = true; + } + }, + dispose: (callback)=>{ + hotState.disposeHandlers.push(callback); + }, + addDisposeHandler: (callback)=>{ + hotState.disposeHandlers.push(callback); + }, + removeDisposeHandler: (callback)=>{ + const idx = hotState.disposeHandlers.indexOf(callback); + if (idx >= 0) { + hotState.disposeHandlers.splice(idx, 1); + } + }, + invalidate: ()=>{ + hotState.selfInvalidated = true; + queuedInvalidatedModules.add(moduleId); + }, + // NOTE(alexkirsz) This is part of the management API, which we don't + // implement, but the Next.js React Refresh runtime uses this to decide + // whether to schedule an update. + status: ()=>'idle', + // NOTE(alexkirsz) Since we always return "idle" for now, these are no-ops. + addStatusHandler: (_handler)=>{}, + removeStatusHandler: (_handler)=>{}, + // NOTE(jridgewell) Check returns the list of updated modules, but we don't + // want the webpack code paths to ever update (the turbopack paths handle + // this already). + check: ()=>Promise.resolve(null) + }; + return { + hot, + hotState + }; +} +/** + * Processes queued invalidated modules and adds them to the outdated modules set. + * Modules that call module.hot.invalidate() are queued and processed here. + * + * @param outdatedModules - The current set of outdated modules + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept() + */ function applyInvalidatedModules(outdatedModules, outdatedDependencies, autoAcceptRootModules) { + if (queuedInvalidatedModules.size > 0) { + const result = computedInvalidatedModules(queuedInvalidatedModules, autoAcceptRootModules); + for (const moduleId of result.outdatedModules){ + outdatedModules.add(moduleId); + } + mergeDependencies(outdatedDependencies, result.outdatedDependencies); + queuedInvalidatedModules.clear(); + } + return { + outdatedModules, + outdatedDependencies + }; +} +/** + * Computes which outdated modules have self-accepted and can be hot reloaded. + */ function computeOutdatedSelfAcceptedModules(outdatedModules) { + const outdatedSelfAcceptedModules = []; + for (const moduleId of outdatedModules){ + const module = devModuleCache.get(moduleId); + const hotState = moduleHotState.get(module); + if (module && hotState?.selfAccepted && !hotState.selfInvalidated) { + outdatedSelfAcceptedModules.push({ + moduleId, + errorHandler: hotState.selfAccepted + }); + } + } + return outdatedSelfAcceptedModules; +} +/** + * Disposes of an instance of a module. + * Runs hot.dispose handlers and manages persistent hot data. + * + * NOTE: mode = "replace" will not remove modules from devModuleCache. + * This must be done in a separate step afterwards. + */ function disposeModule(moduleId, mode) { + const module = devModuleCache.get(moduleId); + if (!module) { + return; + } + const hotState = moduleHotState.get(module); + if (!hotState) { + return; + } + const data = {}; + // Run the `hot.dispose` handler, if any, passing in the persistent + // `hot.data` object. + for (const disposeHandler of hotState.disposeHandlers){ + disposeHandler(data); + } + // This used to warn in `getOrInstantiateModuleFromParent` when a disposed + // module is still importing other modules. + if (module.hot) { + module.hot.active = false; + } + moduleHotState.delete(module); + // Remove the disposed module from its children's parent list. + // It will be added back once the module re-instantiates and imports its + // children again. + for (const childId of module.children){ + const child = devModuleCache.get(childId); + if (!child) { + continue; + } + const idx = child.parents.indexOf(module.id); + if (idx >= 0) { + child.parents.splice(idx, 1); + } + } + switch(mode){ + case 'clear': + devModuleCache.delete(module.id); + moduleHotData.delete(module.id); + break; + case 'replace': + moduleHotData.set(module.id, data); + break; + default: + invariant(mode, (mode)=>`invalid mode: ${mode}`); + } +} +/** + * Dispose phase: runs dispose handlers and cleans up outdated/disposed modules. + * Returns the parent modules of outdated modules for use in the apply phase. + */ function disposePhase(outdatedModules, disposedModules, outdatedDependencies) { + for (const moduleId of outdatedModules){ + disposeModule(moduleId, 'replace'); + } + for (const moduleId of disposedModules){ + disposeModule(moduleId, 'clear'); + } + // Removing modules from the module cache is a separate step. + // We also want to keep track of previous parents of the outdated modules. + const outdatedModuleParents = new Map(); + for (const moduleId of outdatedModules){ + const oldModule = devModuleCache.get(moduleId); + outdatedModuleParents.set(moduleId, oldModule?.parents); + devModuleCache.delete(moduleId); + } + // Remove outdated dependencies from parent module's children list. + // When a parent accepts a child's update, the child is re-instantiated + // but the parent stays alive. We remove the old child reference so it + // gets re-added when the child re-imports. + for (const [parentId, deps] of outdatedDependencies){ + const module = devModuleCache.get(parentId); + if (module) { + for (const dep of deps){ + const idx = module.children.indexOf(dep); + if (idx >= 0) { + module.children.splice(idx, 1); + } + } + } + } + return { + outdatedModuleParents + }; +} +/* eslint-disable @typescript-eslint/no-unused-vars */ /** + * Shared module instantiation logic. + * This handles the full module instantiation flow for both browser and Node.js. + * Only React Refresh hooks differ between platforms (passed as callback). + */ function instantiateModuleShared(moduleId, sourceType, sourceData, moduleFactories, devModuleCache, runtimeModules, createModuleObjectFn, createContextFn, runModuleExecutionHooksFn) { + // 1. Factory validation (same in both browser and Node.js) + const id = moduleId; + const moduleFactory = moduleFactories.get(id); + if (typeof moduleFactory !== 'function') { + throw new Error(factoryNotAvailableMessage(moduleId, sourceType, sourceData) + `\nThis is often caused by a stale browser cache, misconfigured Cache-Control headers, or a service worker serving outdated responses.` + `\nTo fix this, make sure your Cache-Control headers allow revalidation of chunks and review your service worker configuration. ` + `As an immediate workaround, try hard-reloading the page, clearing the browser cache, or unregistering any service workers.`); + } + // 2. Hot API setup (same in both - works for browser, included for Node.js) + const hotData = moduleHotData.get(id); + const { hot, hotState } = createModuleHot(id, hotData); + // 3. Parent assignment logic (same in both) + let parents; + switch(sourceType){ + case SourceType.Runtime: + runtimeModules.add(id); + parents = []; + break; + case SourceType.Parent: + parents = [ + sourceData + ]; + break; + case SourceType.Update: + parents = sourceData || []; + break; + default: + throw new Error(`Unknown source type: ${sourceType}`); + } + // 4. Module creation (platform creates base module object) + const module = createModuleObjectFn(id); + const exports = module.exports; + module.parents = parents; + module.children = []; + module.hot = hot; + devModuleCache.set(id, module); + moduleHotState.set(module, hotState); + // 5. Module execution (React Refresh hooks are platform-specific) + try { + runModuleExecutionHooksFn(module, (refresh)=>{ + const context = createContextFn(module, exports, refresh); + moduleFactory.call(exports, context, module, exports); + }); + } catch (error) { + module.error = error; + throw error; + } + // 6. ESM interop (same in both) + if (module.namespaceObject && module.exports !== module.namespaceObject) { + // in case of a circular dependency: cjs1 -> esm2 -> cjs1 + interopEsm(module.exports, module.namespaceObject); + } + return module; +} +/** + * Analyzes update entries and chunks to determine which modules were added, modified, or deleted. + * This is pure logic that doesn't depend on the runtime environment. + */ function computeChangedModules(entries, updates, chunkModulesMap) { + const chunksAdded = new Map(); + const chunksDeleted = new Map(); + const added = new Map(); + const modified = new Map(); + const deleted = new Set(); + for (const [chunkPath, mergedChunkUpdate] of Object.entries(updates)){ + switch(mergedChunkUpdate.type){ + case 'added': + { + const updateAdded = new Set(mergedChunkUpdate.modules); + for (const moduleId of updateAdded){ + added.set(moduleId, entries[moduleId]); + } + chunksAdded.set(chunkPath, updateAdded); + break; + } + case 'deleted': + { + const updateDeleted = chunkModulesMap ? new Set(chunkModulesMap.get(chunkPath)) : new Set(); + for (const moduleId of updateDeleted){ + deleted.add(moduleId); + } + chunksDeleted.set(chunkPath, updateDeleted); + break; + } + case 'partial': + { + const updateAdded = new Set(mergedChunkUpdate.added); + const updateDeleted = new Set(mergedChunkUpdate.deleted); + for (const moduleId of updateAdded){ + added.set(moduleId, entries[moduleId]); + } + for (const moduleId of updateDeleted){ + deleted.add(moduleId); + } + chunksAdded.set(chunkPath, updateAdded); + chunksDeleted.set(chunkPath, updateDeleted); + break; + } + default: + throw new Error('Unknown merged chunk update type'); + } + } + // If a module was added from one chunk and deleted from another in the same update, + // consider it to be modified, as it means the module was moved from one chunk to another + // AND has new code in a single update. + for (const moduleId of added.keys()){ + if (deleted.has(moduleId)) { + added.delete(moduleId); + deleted.delete(moduleId); + } + } + for (const [moduleId, entry] of Object.entries(entries)){ + // Modules that haven't been added to any chunk but have new code are considered + // to be modified. + // This needs to be under the previous loop, as we need it to get rid of modules + // that were added and deleted in the same update. + if (!added.has(moduleId)) { + modified.set(moduleId, entry); + } + } + return { + added, + deleted, + modified, + chunksAdded, + chunksDeleted + }; +} +/** + * Compiles new module code and walks the dependency tree to find all outdated modules. + * Uses the evalModuleEntry function to compile code (platform-specific). + * + * @param added - Map of added modules + * @param modified - Map of modified modules + * @param evalModuleEntry - Function to compile module code + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept() + */ function computeOutdatedModules(added, modified, evalModuleEntry, autoAcceptRootModules) { + const newModuleFactories = new Map(); + // Compile added modules + for (const [moduleId, entry] of added){ + if (entry != null) { + newModuleFactories.set(moduleId, evalModuleEntry(entry)); + } + } + // Walk dependency tree to find all modules affected by modifications + const { outdatedModules, outdatedDependencies } = computedInvalidatedModules(modified.keys(), autoAcceptRootModules); + // Compile modified modules + for (const [moduleId, entry] of modified){ + newModuleFactories.set(moduleId, evalModuleEntry(entry)); + } + return { + outdatedModules, + outdatedDependencies, + newModuleFactories + }; +} +/** + * Updates module factories and re-instantiates self-accepted modules. + * Uses the instantiateModule function (platform-specific via callback). + */ function applyPhase(outdatedSelfAcceptedModules, newModuleFactories, outdatedModuleParents, outdatedDependencies, moduleFactories, devModuleCache, instantiateModuleFn, applyModuleFactoryNameFn, reportError) { + // Update module factories + for (const [moduleId, factory] of newModuleFactories.entries()){ + applyModuleFactoryNameFn(factory); + moduleFactories.set(moduleId, factory); + } + // TODO(alexkirsz) Run new runtime entries here. + // Call accept handlers for outdated dependencies. + // This runs BEFORE re-instantiating self-accepted modules, matching + // webpack's behavior. + for (const [parentId, deps] of outdatedDependencies){ + const module = devModuleCache.get(parentId); + if (!module) continue; + const hotState = moduleHotState.get(module); + if (!hotState) continue; + // Group deps by callback, deduplicating callbacks that handle multiple deps. + // Each callback receives only the deps it was registered for. + const callbackDeps = new Map(); + const callbackErrorHandlers = new Map(); + for (const dep of deps){ + const acceptCallback = hotState.acceptedDependencies[dep]; + if (acceptCallback) { + let depList = callbackDeps.get(acceptCallback); + if (!depList) { + depList = []; + callbackDeps.set(acceptCallback, depList); + callbackErrorHandlers.set(acceptCallback, hotState.acceptedErrorHandlers[dep]); + } + depList.push(dep); + } + } + for (const [callback, cbDeps] of callbackDeps){ + try { + callback.call(null, cbDeps); + } catch (err) { + const errorHandler = callbackErrorHandlers.get(callback); + if (typeof errorHandler === 'function') { + try { + errorHandler(err, { + moduleId: parentId, + dependencyId: cbDeps[0] + }); + } catch (err2) { + reportError(err2); + reportError(err); + } + } else { + reportError(err); + } + } + } + } + // Re-instantiate all outdated self-accepted modules + for (const { moduleId, errorHandler } of outdatedSelfAcceptedModules){ + try { + instantiateModuleFn(moduleId, SourceType.Update, outdatedModuleParents.get(moduleId)); + } catch (err) { + if (typeof errorHandler === 'function') { + try { + errorHandler(err, { + moduleId, + module: devModuleCache.get(moduleId) + }); + } catch (err2) { + reportError(err2); + reportError(err); + } + } else { + reportError(err); + } + } + } +} +/** + * Internal implementation that orchestrates the full HMR update flow: + * invalidation, disposal, and application of new modules. + * + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept() + */ function applyInternal(outdatedModules, outdatedDependencies, disposedModules, newModuleFactories, moduleFactories, devModuleCache, instantiateModuleFn, applyModuleFactoryNameFn, autoAcceptRootModules) { + ; + ({ outdatedModules, outdatedDependencies } = applyInvalidatedModules(outdatedModules, outdatedDependencies, autoAcceptRootModules)); + // Find self-accepted modules to re-instantiate + const outdatedSelfAcceptedModules = computeOutdatedSelfAcceptedModules(outdatedModules); + // Run dispose handlers, save hot.data, clear caches + const { outdatedModuleParents } = disposePhase(outdatedModules, disposedModules, outdatedDependencies); + let error; + function reportError(err) { + if (!error) error = err; // Keep first error + } + applyPhase(outdatedSelfAcceptedModules, newModuleFactories, outdatedModuleParents, outdatedDependencies, moduleFactories, devModuleCache, instantiateModuleFn, applyModuleFactoryNameFn, reportError); + if (error) { + throw error; + } + // Recursively apply any queued invalidations from new module execution + if (queuedInvalidatedModules.size > 0) { + applyInternal(new Set(), new Map(), [], new Map(), moduleFactories, devModuleCache, instantiateModuleFn, applyModuleFactoryNameFn, autoAcceptRootModules); + } +} +/** + * Main entry point for applying an ECMAScript merged update. + * This is called by both browser and Node.js runtimes with platform-specific callbacks. + * + * @param options.autoAcceptRootModules - If true, root modules auto-accept updates without explicit + * module.hot.accept(). Used for server-side HMR where pages + * auto-accept at the top level. + */ function applyEcmascriptMergedUpdateShared(options) { + const { added, modified, disposedModules, evalModuleEntry, instantiateModule, applyModuleFactoryName, moduleFactories, devModuleCache, autoAcceptRootModules } = options; + const { outdatedModules, outdatedDependencies, newModuleFactories } = computeOutdatedModules(added, modified, evalModuleEntry, autoAcceptRootModules); + applyInternal(outdatedModules, outdatedDependencies, disposedModules, newModuleFactories, moduleFactories, devModuleCache, instantiateModule, applyModuleFactoryName, autoAcceptRootModules); +} +/* eslint-disable @typescript-eslint/no-unused-vars */ /// +/// +/// +/** + * Development Node.js runtime. + * Uses HotModule and shared HMR logic for hot module replacement support. + */ // Cast the module cache to HotModule for development mode +// (hmr-runtime.ts declares devModuleCache as `let` variable expecting assignment) +// This is safe because HotModule extends Module +devModuleCache = moduleCache; +// this is read in runtime-utils.ts so it creates a module with direction for hmr +createModuleWithDirectionFlag = true; +if (!globalThis.__turbopack_runtime_modules__) { + globalThis.__turbopack_runtime_modules__ = new Set(); +} +runtimeModules = globalThis.__turbopack_runtime_modules__; +const nodeDevContextPrototype = Context.prototype; +nodeDevContextPrototype.q = exportUrl; +nodeDevContextPrototype.M = moduleFactories; +nodeDevContextPrototype.c = devModuleCache; +nodeDevContextPrototype.R = resolvePathFromModule; +nodeDevContextPrototype.C = clearChunkCache; +if (globalThis.__turbopack_ensure_chunk__ !== undefined) { + const chunksBeingEnsured = new Map(); + function loadChunkAsyncOnDemand(chunkData) { + const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path; + const ensureChunk = globalThis.__turbopack_ensure_chunk__; + if (ensureChunk === undefined || chunkCache.has(chunkPath)) { + return loadChunkAsync.call(this, chunkData); + } + const ensured = chunksBeingEnsured.get(chunkPath) ?? Promise.resolve().then(()=>ensureChunk(chunkPath)).finally(()=>chunksBeingEnsured.delete(chunkPath)); + chunksBeingEnsured.set(chunkPath, ensured); + return ensured.then(()=>loadChunkAsync.call(this, chunkData)); + } + nodeDevContextPrototype.l = loadChunkAsyncOnDemand; +} +/** + * Instantiates a module in development mode using shared HMR logic. + */ function instantiateModule(id, sourceType, sourceData) { + // Node.js: creates base module object (hot API added by shared code) + const createModuleObjectFn = (moduleId)=>{ + return createModuleWithDirection(moduleId); + }; + // Node.js: creates Context (no refresh parameter) + const createContext = (module1, exports, _refresh)=>{ + return new Context(module1, exports); + }; + // Node.js: no hooks wrapper, just execute directly + const runWithHooks = (_module, exec)=>{ + exec(undefined); // no refresh context + }; + // Use shared instantiation logic (includes hot API setup) + const newModule = instantiateModuleShared(id, sourceType, sourceData, moduleFactories, devModuleCache, runtimeModules, createModuleObjectFn, createContext, runWithHooks); + newModule.loaded = true; + return newModule; +} +/** + * Instantiates a runtime module in development mode. + */ function instantiateRuntimeModule(chunkPath, moduleId) { + return instantiateModule(moduleId, SourceType.Runtime, chunkPath); +} +/** + * Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached. + */ // @ts-ignore TypeScript doesn't separate this module space from the browser runtime +function getOrInstantiateRuntimeModule(chunkPath, moduleId) { + const module1 = devModuleCache.get(moduleId); + if (module1) { + if (module1.error) { + throw module1.error; + } + return module1; + } + return instantiateRuntimeModule(chunkPath, moduleId); +} +/** + * Retrieves a module from the cache, or instantiate it if it is not cached. + * Also tracks parent-child relationships for HMR dependency tracking. + */ // @ts-ignore +function getOrInstantiateModuleFromParent(id, sourceModule) { + // Track parent-child relationship + const module1 = devModuleCache.get(id); + trackModuleImport(sourceModule, id, module1); + if (module1) { + if (module1.error) { + throw module1.error; + } + return module1; + } + const newModule = instantiateModule(id, SourceType.Parent, sourceModule.id); + // Track again after instantiation to ensure the relationship is recorded + trackModuleImport(sourceModule, id, newModule); + return newModule; +} +module.exports = (sourcePath)=>({ + m: (id)=>getOrInstantiateRuntimeModule(sourcePath, id), + c: (chunkData)=>loadRuntimeChunk(sourcePath, chunkData) + }); +/// +/// +/* eslint-disable @typescript-eslint/no-unused-vars */ /** + * Appends the module code with //# sourceURL and //# sourceMappingURL so + * that Node.js can resolve stack frames from `eval`ed server HMR modules back to + * their original source files. Mirrors the browser's _eval in dev-backend-dom.ts. + */ function inlineSourcemaps(entry) { + const [chunkPath, moduleId] = entry.url.split('?', 2); + const absolutePath = path.resolve(RUNTIME_ROOT, chunkPath); + const fileHref = url.pathToFileURL(absolutePath).href; + const sourceURL = moduleId ? `${fileHref}?${moduleId}` : fileHref; + let code = entry.code + '\n\n//# sourceURL=' + sourceURL; + if (entry.map) { + code += '\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,' + Buffer.from(entry.map).toString('base64'); + } + return code; +} +let serverHmrUpdateHandler = null; +function initializeServerHmr(moduleFactories, devModuleCache) { + if (serverHmrUpdateHandler != null) { + throw new Error('[Server HMR] Server HMR client is already initialized'); + } + // Register the update handler for the server runtime + serverHmrUpdateHandler = (msg)=>{ + handleNodejsUpdate(msg, moduleFactories, devModuleCache); + }; +} +/** + * Emits an HMR message to the registered update handler. + * Node uses a simpler listener pattern than the browser's websocket connection. + * + * Note: This is only called via __turbopack_server_hmr_apply__ which ensures + * the handler is initialized first via ensureHmrClientInitialized(). + */ function emitMessage(msg) { + if (serverHmrUpdateHandler == null) { + throw new Error('[Server HMR] No update handler registered to receive message'); + } + serverHmrUpdateHandler(msg.data); +} +/** + * Handles server message updates and applies them to the Node.js runtime. + * Uses shared HMR update logic from hmr-runtime.ts. + */ function handleNodejsUpdate(msg, moduleFactories, devModuleCache) { + if (msg.type !== 'partial') { + return; + } + const instruction = msg.instruction; + try { + if (instruction.type === 'ChunkListUpdate') { + // All node ecmascript chunks are mergeable, so a `total`/`partial` here + // means a non-mergeable asset changed in an unsupported way. Escalate + // to a full clear() rather than leave stale factories in memory. + for (const [chunkPath, chunkUpdate] of Object.entries(instruction.chunks ?? {})){ + if (chunkUpdate.type === 'total' || chunkUpdate.type === 'partial') { + throw new Error(`unsupported '${chunkUpdate.type}' update for chunk ${chunkPath}`); + } + } + if (instruction.merged) { + for (const merged of instruction.merged){ + applyEcmascriptMergedUpdate(merged, moduleFactories, devModuleCache); + } + } + return; + } + if (instruction.type === 'EcmascriptMergedUpdate') { + applyEcmascriptMergedUpdate(instruction, moduleFactories, devModuleCache); + return; + } + } catch (e) { + console.error('[Server HMR] Update failed, full reload needed:', e); + throw e; + } +} +function applyEcmascriptMergedUpdate(instruction, moduleFactories, devModuleCache) { + const { entries = {}, chunks = {} } = instruction; + const evalModuleEntry = (entry)=>{ + const code = entry.map ? inlineSourcemaps(entry) : entry.code; + // eslint-disable-next-line no-eval + return (0, eval)(`(require) => ${code}`)(require); + }; + const { added, modified } = computeChangedModules(entries, chunks, undefined // no chunkModulesMap for Node.js + ); + // Modules that appear in an "added" chunk but already exist in the cache + // were moved to a renamed chunk. Treat them as modified so the dependency + // walk runs and they get re-instantiated with the new factory. + for (const [moduleId, entry] of added){ + if (entry != null && devModuleCache.has(moduleId)) { + added.delete(moduleId); + modified.set(moduleId, entry); + } + } + // Use shared HMR update implementation + applyEcmascriptMergedUpdateShared({ + added, + modified, + disposedModules: [], + evalModuleEntry, + instantiateModule, + applyModuleFactoryName: ()=>{}, + moduleFactories, + devModuleCache, + autoAcceptRootModules: true + }); +} +/// +/// +/** + * Note: hmr-runtime.ts is embedded before this file, so its functions + * (initializeServerHmr, emitMessage) are available in the same scope. + */ // Initialize server HMR client (connects to shared HMR infrastructure) +let hmrClientInitialized = false; +function ensureHmrClientInitialized() { + if (hmrClientInitialized) return; + hmrClientInitialized = true; + // initializeServerHmr is from hmr-client.ts (embedded before this file) + // moduleFactories is from dev-runtime.ts + // devModuleCache is the HotModule-typed cache from dev-runtime.ts + initializeServerHmr(moduleFactories, devModuleCache); +} +function __turbopack_server_hmr_apply__(update) { + ensureHmrClientInitialized(); + // Throws if the update can't be applied in-process; the consumer catches it + // and falls back to evicting require.cache. + emitMessage({ + type: 'turbopack-message', + data: update + }); +} +const handlers = globalThis.__turbopack_server_hmr_handlers__ ?? new Map(); +// Normalize to forward slashes so it matches the virtual chunk paths in +// `update.instruction.chunks`, which always use `/` regardless of OS. +const chunkPrefix = path.relative(RUNTIME_ROOT, path.dirname(__filename)).replaceAll(path.sep, '/'); +if (handlers.size === 0) { + // First registration in this generation: install the routing dispatcher. + globalThis.__turbopack_server_hmr_apply__ = (update)=>{ + const registry = globalThis.__turbopack_server_hmr_handlers__ ?? new Map(); + // Chunk paths can appear either directly on the instruction (single-chunk + // updates) or nested inside `merged` entries (chunks covered by a + // merger). Collect both so routing isn't skipped just because a mergeable + // chunk's update only reports its paths inside `merged`. + const instruction = update.instruction; + const updateChunkPaths = new Set([ + ...Object.keys(instruction?.chunks ?? {}), + ...(instruction?.type === 'ChunkListUpdate' && instruction.merged || []).flatMap((merged)=>Object.keys(merged.chunks ?? {})) + ]); + const toCall = []; + if (updateChunkPaths.size === 0) { + for (const entry of registry.values())toCall.push(entry); + } else { + const seen = new Set(); + for (const chunkPath of updateChunkPaths){ + const dir = path.dirname(chunkPath); + for (const [key, entry] of registry){ + if (dir === entry.chunkPrefix && !seen.has(key)) { + seen.add(key); + toCall.push(entry); + } + } + } + } + // No matching runtime loaded (e.g. editing a route not required yet this + // session): nothing live to patch, so this is a no-op. A handler that + // throws propagates to the consumer, which evicts require.cache. + for (const { handler } of toCall){ + handler(update); + } + }; +} +globalThis.__turbopack_server_hmr_handlers__ = handlers; +handlers.set(__filename, { + handler: __turbopack_server_hmr_apply__, + chunkPrefix +}); + + +//# sourceMappingURL=%5Bturbopack%5D_runtime.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/[turbopack]_runtime.js.map b/e-commerce/.next/dev/server/chunks/[turbopack]_runtime.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a7b3662c0d35b35cb08d1aa1a0aa19a59d3959a1 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/[turbopack]_runtime.js.map @@ -0,0 +1,14 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 16, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/runtime-utils.ts"],"sourcesContent":["/**\n * This file contains runtime types and functions that are shared between all\n * TurboPack ECMAScript runtimes.\n *\n * It will be prepended to the runtime code of each runtime.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// \n/// \n\ntype EsmNamespaceObject = Record\n\n/**\n * Describes why a module was instantiated.\n * Shared between browser and Node.js runtimes.\n */\nenum SourceType {\n /**\n * The module was instantiated because it was included in an evaluated chunk's\n * runtime.\n * SourceData is a ChunkPath.\n */\n Runtime = 0,\n /**\n * The module was instantiated because a parent module imported it.\n * SourceData is a ModuleId.\n */\n Parent = 1,\n /**\n * The module was instantiated because it was included in a chunk's hot module\n * update.\n * SourceData is an array of ModuleIds or undefined.\n */\n Update = 2,\n}\n\ntype SourceData = ChunkPath | ModuleId | ModuleId[] | undefined\n\n// @ts-ignore Defined in `dev-base.ts`\ndeclare function getOrInstantiateModuleFromParent(\n id: ModuleId,\n sourceModule: M\n): M\n\n/**\n * Flag indicating which module object type to create when a module is merged. Set to `true`\n * by each runtime that uses ModuleWithDirection (browser dev-base.ts, nodejs dev-base.ts,\n * nodejs build-base.ts). Browser production (build-base.ts) leaves it as `false` since it\n * uses plain Module objects.\n */\nlet createModuleWithDirectionFlag = false\n\nconst REEXPORTED_OBJECTS = new WeakMap()\n\n/**\n * Constructs the `__turbopack_context__` object for a module.\n */\nfunction Context(\n this: TurbopackBaseContext,\n module: Module,\n exports: Exports\n) {\n this.m = module\n // We need to store this here instead of accessing it from the module object to:\n // 1. Make it available to factories directly, since we rewrite `this` to\n // `__turbopack_context__.e` in CJS modules.\n // 2. Support async modules which rewrite `module.exports` to a promise, so we\n // can still access the original exports object from functions like\n // `esmExport`\n // Ideally we could find a new approach for async modules and drop this property altogether.\n this.e = exports\n}\nconst contextPrototype = Context.prototype as TurbopackBaseContext\n\ntype ModuleContextMap = Record\n\ninterface ModuleContextEntry {\n id: () => ModuleId\n module: () => any\n}\n\ninterface ModuleContext {\n // require call\n (moduleId: string): Exports | EsmNamespaceObject\n\n // async import call\n import(moduleId: string): Promise\n\n keys(): ModuleId[]\n\n resolve(moduleId: string): ModuleId\n}\n\ntype GetOrInstantiateModuleFromParent = (\n moduleId: M['id'],\n parentModule: M\n) => M\n\ndeclare function getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag\n\nfunction defineProp(\n obj: any,\n name: PropertyKey,\n options: PropertyDescriptor & ThisType\n) {\n if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options)\n}\n\nfunction getOverwrittenModule(\n moduleCache: ModuleCache,\n id: ModuleId\n): Module {\n let module = moduleCache.get(id)\n if (module === undefined) {\n if (createModuleWithDirectionFlag) {\n // set in development modes for hmr support\n module = createModuleWithDirection(id)\n } else {\n module = createModuleObject(id)\n }\n moduleCache.set(id, module)\n }\n return module\n}\n\n/**\n * Creates the module object. Only done here to ensure all module objects have the same shape.\n */\nfunction createModuleObject(id: ModuleId): Module {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n }\n}\n\nfunction createModuleWithDirection(id: ModuleId): ModuleWithDirection {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n parents: [],\n children: [],\n }\n}\n\ntype BindingTag = 0\nconst BindingTag_Value = 0 as BindingTag\n\n// an arbitrary sequence of bindings as\n// - a prop name\n// - BindingTag_Value, a value to be bound directly, or\n// - 1 or 2 functions to bind as getters and sdetters\ntype EsmBindings = Array<\n string | BindingTag | (() => unknown) | ((v: unknown) => void) | unknown\n>\n\n/**\n * Terminates a module's group of entries in an {@link EsmReexports} list.\n */\nconst REEXPORT_GROUP_END = 0\n\n/**\n * Adds the getters to the exports object.\n */\nfunction esm(exports: Exports, bindings: EsmBindings, dynamic?: boolean) {\n defineProp(exports, '__esModule', { value: true })\n if (toStringTag) defineProp(exports, toStringTag, { value: 'Module' })\n let i = 0\n while (i < bindings.length) {\n const propName = bindings[i++] as string\n const tagOrFunction = bindings[i++]\n if (typeof tagOrFunction === 'number') {\n if (tagOrFunction === BindingTag_Value) {\n defineProp(exports, propName, {\n value: bindings[i++],\n enumerable: true,\n writable: false,\n })\n } else {\n throw new Error(`unexpected tag: ${tagOrFunction}`)\n }\n } else {\n const getterFn = tagOrFunction as () => unknown\n if (typeof bindings[i] === 'function') {\n const setterFn = bindings[i++] as (v: unknown) => void\n defineProp(exports, propName, {\n get: getterFn,\n set: setterFn,\n enumerable: true,\n })\n } else {\n defineProp(exports, propName, {\n get: getterFn,\n enumerable: true,\n })\n }\n }\n }\n // The properties defined above are already non-configurable and\n // non-writable, so the namespace's existing exports are effectively\n // immutable. Sealing additionally makes the object non-extensible, matching\n // real ESM-namespace semantics. Modules with dynamic re-exports\n // (`export *` from a CommonJS module) must stay extensible so the dynamic\n // export proxy can surface keys discovered at runtime, so skip the seal for\n // them.\n if (!dynamic) Object.seal(exports)\n}\n\n/**\n * Makes the module an ESM with exports\n */\nfunction esmExport(\n this: TurbopackBaseContext,\n bindings: EsmBindings,\n id: ModuleId | undefined,\n dynamic?: boolean\n) {\n let module: Module\n let exports: Module['exports']\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n module.namespaceObject = exports\n esm(exports, bindings, dynamic)\n}\ncontextPrototype.s = esmExport\n\n/**\n * Registers re-exports that all forward to properties of other modules.\n *\n * This is a compact spelling of the pattern\n *\n * ```js\n * var ns = context.i(moduleId)\n * context.s([exportName, () => ns[importedName], ...])\n * ```\n *\n * The list is a flat sequence of groups. Each group starts with the source the exports come from,\n * followed by that group's entries, and is terminated by the `0` sentinel (or the end of the list).\n *\n * The group head is either a **module id**, which is instantiated here:\n *\n * ```js\n * context.S([\n * 76061, 'default', 'f', 'named', 'A', 0,\n * 29842, 'otherModule', 'f',\n * ])\n * ```\n *\n * or the **namespace value** of a module that has already been imported, which is used directly:\n *\n * ```js\n * var ns1 = context.i(76061)\n * context.S([ns1, 'default', 'f', 'named', 'A'])\n * ```\n *\n * The producer picks the namespace form when it has generated the import anyway -- because some\n * later import must not be reordered past it -- so nothing is instantiated twice. The two are told\n * apart by type: a module id is always a string or number. A CommonJS function export produces a\n * callable namespace value, so namespace heads can be functions as well as objects.\n *\n * Entries are `exportName, importedName` pairs, except when a group holds exactly one string. That\n * string is then a comma-joined list of the same pairs, which saves the repeated quoting:\n *\n * ```js\n * context.S([\n * 76061, 'default,f,named,A', 0,\n * 29842, 'otherModule,f',\n * ])\n * ```\n *\n * The producer picks that spelling independently for each group whose names contain no commas,\n * since that group's names are recovered by splitting on them.\n *\n * Groups whose head is a module id are instantiated in list order, at the point where the call\n * appears, so the producer must not merge such a group across an import of another module. The\n * destination reuses a source data value or getter descriptor when one exists, falling back to a\n * wrapper getter for dynamic/proxy/inherited properties.\n *\n * `id` names the module the exports belong to when this module was merged into a scope-hoisting\n * group, exactly as it does for {@link EsmExport}.\n *\n * Only the source descriptor's payload (value or getter) is reused. {@link esm} still defines a\n * fresh enumerable, non-configurable destination property, and no source setter is ever forwarded.\n */\nfunction esmReexport(\n this: TurbopackBaseContext,\n list: EsmReexports,\n id?: ModuleId\n): void {\n const bindings: EsmBindings = []\n let i = 0\n while (i < list.length) {\n const head = list[i++]\n const start = i\n while (i < list.length && list[i] !== REEXPORT_GROUP_END) i++\n const end = i\n // Skip the sentinel, if this group was terminated by one rather than by the end of the list.\n i++\n\n // Module ids are always strings or numbers. Other values are already-imported namespaces;\n // notably, interop with a CommonJS function export produces a callable namespace function.\n // `esmImport` may return a promise for an async module, but re-exports of async modules keep\n // going through `context.s`, so the producer never routes them here and this stays synchronous.\n const namespace = (\n typeof head === 'string' || typeof head === 'number'\n ? esmImport.call(this, head)\n : head\n ) as Record\n if (end - start === 1) {\n const pairs = (list[start] as string).split(',')\n for (let j = 0; j < pairs.length; j += 2) {\n appendReexportBinding(bindings, pairs[j], namespace, pairs[j + 1])\n }\n } else {\n for (let j = start; j < end; j += 2) {\n appendReexportBinding(\n bindings,\n list[j] as string,\n namespace,\n list[j + 1] as string\n )\n }\n }\n }\n esmExport.call(this, bindings, id)\n}\ncontextPrototype.S = esmReexport\n\nfunction appendReexportBinding(\n bindings: EsmBindings,\n exportedName: string,\n namespace: Record,\n importedName: string\n): void {\n const descriptor = Reflect.getOwnPropertyDescriptor(namespace, importedName)\n if (descriptor) {\n if ('value' in descriptor) {\n // Code generation only routes immutable imported bindings through this helper, so a data\n // descriptor is a constant export and can be captured once.\n bindings.push(exportedName, BindingTag_Value, descriptor.value)\n return\n }\n if (descriptor.get) {\n // Accessors remain live by reusing the source getter. `esmReexport` is only called by\n // generated code: every group head is either produced by\n // `this.i` or is the namespace variable from a generated `this.i` call. Every getter on such\n // a namespace is receiver-independent: ESM bindings are compiler-generated arrow functions,\n // and the CommonJS/dynamic-namespace paths create arrows in `createGetter` and\n // `getOwnPropertyDescriptor`. The destination can therefore reuse the exact function instead\n // of allocating another wrapper getter.\n bindings.push(exportedName, descriptor.get)\n return\n }\n }\n\n // Dynamic/proxy/inherited CommonJS edge cases may not expose a usable own descriptor.\n bindings.push(exportedName, () => namespace[importedName])\n}\n\ntype ReexportedObjects = Record[]\nfunction ensureDynamicExports(\n module: Module,\n exports: Exports\n): ReexportedObjects {\n let reexportedObjects: ReexportedObjects | undefined =\n REEXPORTED_OBJECTS.get(module)\n\n if (!reexportedObjects) {\n REEXPORTED_OBJECTS.set(module, (reexportedObjects = []))\n // Returns the re-exported object that provides `prop` as an own property,\n // or `undefined` if none does. The traps share this logic so they always\n // agree on which keys are synthesized from `reexportedObjects`. `default`\n // is never re-exported by `export *`, so it is never synthesized.\n const reexportOwning = (prop: PropertyKey) => {\n if (prop !== 'default') {\n for (const obj of reexportedObjects!) {\n if (hasOwnProperty.call(obj, prop)) return obj\n }\n }\n return undefined\n }\n // Modules with dynamic re-exports are not sealed by `esm()`, so the\n // target beneath the namespace stays extensible. That is what lets the\n // `ownKeys` and `getOwnPropertyDescriptor` traps legally report keys that\n // exist on `reexportedObjects` but not on the target itself.\n module.exports = module.namespaceObject = new Proxy(exports, {\n get(target, prop) {\n if (\n hasOwnProperty.call(target, prop) ||\n prop === 'default' ||\n prop === '__esModule'\n ) {\n return Reflect.get(target, prop)\n }\n const obj = reexportOwning(prop)\n return obj && Reflect.get(obj, prop)\n },\n // The namespace is read-only, like a real esm namespace object. The\n // re-exported modules can still mutate their own exports (exposed live\n // via `get`), but mutating the namespace itself is rejected. Refusing\n // here, rather than forwarding to the extensible target, also prevents an\n // assignment/definition from shadowing a dynamic re-export. It also\n // prevents delete from removing a static export.\n set() {\n return false\n },\n defineProperty() {\n return false\n },\n deleteProperty() {\n return false\n },\n // The `has` trap ensures that `'exportName' in starImports` will reflect\n // the truth of whether a key is exported.\n has(target, prop) {\n if (Reflect.has(target, prop)) return true\n if (prop === 'default' || prop === '__esModule') return false\n return reexportOwning(prop) !== undefined\n },\n // ownKeys and getOwnPropertyDescriptor together make the keys enumerable.\n // If a value is returned from `ownKeys` but its property descriptor is\n // not enumerable, it will not be visible to iterator methods.\n // Collectively, they allow code like the following:\n //\n // ```\n // // module.js re-exports dynamic CJS exports\n // export * from './legacyModule.cjs'\n //\n // // from another JS file, reference the re-exported dynamic values\n // import * as Namespace from './module.js'\n // Object.keys(Namespace)\n // ```\n ownKeys(target) {\n const keys = Reflect.ownKeys(target)\n for (const obj of reexportedObjects!) {\n for (const key of Reflect.ownKeys(obj)) {\n if (key !== 'default' && !keys.includes(key)) keys.push(key)\n }\n }\n return keys\n },\n getOwnPropertyDescriptor(target, prop) {\n const own = Reflect.getOwnPropertyDescriptor(target, prop)\n if (own || prop === 'default' || prop === '__esModule') return own\n const obj = reexportOwning(prop)\n if (obj) {\n // Synthetic keys don't exist on the target, so they MUST be\n // reported as configurable. However the set/delete traps above will\n // prevent them from actually being changed\n return {\n enumerable: true,\n configurable: true,\n get: () => Reflect.get(obj, prop),\n }\n }\n return undefined\n },\n })\n }\n return reexportedObjects\n}\n\n/**\n * Dynamically exports properties from an object\n */\nfunction dynamicExport(\n this: TurbopackBaseContext,\n object: Record,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Exports\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n const reexportedObjects = ensureDynamicExports(module, exports)\n\n if (typeof object === 'object' && object !== null) {\n reexportedObjects.push(object)\n }\n}\ncontextPrototype.j = dynamicExport\n\nfunction exportValue(\n this: TurbopackBaseContext,\n value: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = value\n}\ncontextPrototype.v = exportValue\n\nfunction exportNamespace(\n this: TurbopackBaseContext,\n namespace: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = module.namespaceObject = namespace\n}\ncontextPrototype.n = exportNamespace\n\nfunction createGetter(obj: Record, key: string | symbol) {\n return () => obj[key]\n}\n\n/**\n * @returns prototype of the object\n */\nconst getProto: (obj: any) => any = Object.getPrototypeOf\n ? (obj) => Object.getPrototypeOf(obj)\n : (obj) => obj.__proto__\n\n/** Prototypes that are not expanded for exports */\nconst LEAF_PROTOTYPES = [null, getProto({}), getProto([]), getProto(getProto)]\n\n/**\n * @param raw\n * @param ns\n * @param allowExportDefault\n * * `false`: will have the raw module as default export\n * * `true`: will have the default property as default export\n */\nfunction interopEsm(\n raw: Exports,\n ns: EsmNamespaceObject,\n allowExportDefault?: boolean\n) {\n const bindings: EsmBindings = []\n let defaultLocation = -1\n for (\n let current = raw;\n (typeof current === 'object' || typeof current === 'function') &&\n !LEAF_PROTOTYPES.includes(current);\n current = getProto(current)\n ) {\n for (const key of Object.getOwnPropertyNames(current)) {\n bindings.push(key, createGetter(raw, key))\n if (defaultLocation === -1 && key === 'default') {\n defaultLocation = bindings.length - 1\n }\n }\n }\n\n // this is not really correct\n // we should set the `default` getter if the imported module is a `.cjs file`\n if (!(allowExportDefault && defaultLocation >= 0)) {\n // Replace the binding with one for the namespace itself in order to preserve iteration order.\n if (defaultLocation >= 0) {\n // Replace the getter with the value\n bindings.splice(defaultLocation, 1, BindingTag_Value, raw)\n } else {\n bindings.push('default', BindingTag_Value, raw)\n }\n }\n\n esm(ns, bindings)\n return ns\n}\n\nfunction createNS(raw: Module['exports']): EsmNamespaceObject {\n if (typeof raw === 'function') {\n return function (this: any, ...args: any[]) {\n return raw.apply(this, args)\n }\n } else {\n return Object.create(null)\n }\n}\n\nfunction esmImport(\n this: TurbopackBaseContext,\n id: ModuleId\n): Exclude {\n const module = getOrInstantiateModuleFromParent(id, this.m)\n\n // any ES module has to have `module.namespaceObject` defined.\n if (module.namespaceObject) return module.namespaceObject\n\n // only ESM can be an async module, so we don't need to worry about exports being a promise here.\n const raw = module.exports\n return (module.namespaceObject = interopEsm(\n raw,\n createNS(raw),\n raw && (raw as any).__esModule\n ))\n}\ncontextPrototype.i = esmImport\n\nfunction asyncLoader(\n this: TurbopackBaseContext,\n moduleId: ModuleId\n): Promise {\n const loader = this.r(moduleId) as (\n importFunction: EsmImport\n ) => Promise\n return loader(esmImport.bind(this))\n}\ncontextPrototype.A = asyncLoader\n\n// Add a simple runtime require so that environments without one can still pass\n// `typeof require` CommonJS checks so that exports are correctly registered.\nconst runtimeRequire =\n // @ts-ignore\n typeof require === 'function'\n ? // @ts-ignore\n require\n : function require() {\n throw new Error('Unexpected use of runtime require')\n }\ncontextPrototype.t = runtimeRequire\n\nfunction commonJsRequire(\n this: TurbopackBaseContext,\n id: ModuleId\n): Exports {\n return getOrInstantiateModuleFromParent(id, this.m).exports\n}\ncontextPrototype.r = commonJsRequire\n\n/**\n * Remove fragments and query parameters since they are never part of the context map keys\n *\n * This matches how we parse patterns at resolving time. Arguably we should only do this for\n * strings passed to `import` but the resolve does it for `import` and `require` and so we do\n * here as well.\n */\nfunction parseRequest(request: string): string {\n // Per the URI spec fragments can contain `?` characters, so we should trim it off first\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5\n const hashIndex = request.indexOf('#')\n if (hashIndex !== -1) {\n request = request.substring(0, hashIndex)\n }\n\n const queryIndex = request.indexOf('?')\n if (queryIndex !== -1) {\n request = request.substring(0, queryIndex)\n }\n\n return request\n}\n/**\n * `require.context` and require/import expression runtime.\n */\nfunction moduleContext(map: ModuleContextMap): ModuleContext {\n function moduleContext(id: string): Exports {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].module()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.keys = (): string[] => {\n return Object.keys(map)\n }\n\n moduleContext.resolve = (id: string): ModuleId => {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].id()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.import = async (id: string) => {\n return await (moduleContext(id) as Promise)\n }\n\n return moduleContext\n}\ncontextPrototype.f = moduleContext\n\n/**\n * Returns the path of a chunk defined by its data.\n */\nfunction getChunkPath(chunkData: ChunkData): ChunkPath {\n return typeof chunkData === 'string' ? chunkData : chunkData.path\n}\n\n// Load the CompressedModuleFactories of a chunk into the `moduleFactories` Map.\n// The flat format alternates one or more module IDs with their factory function.\n// Strict factories can be prepended as a nested array.\nfunction installCompressedModuleFactories(\n chunkModules: CompressedModuleFactories,\n offset: number,\n moduleFactories: ModuleFactories,\n newModuleId?: (id: ModuleId) => void\n) {\n let i = offset\n const strictFactories = chunkModules[i]\n if (Array.isArray(strictFactories)) {\n installCompressedModuleFactories(\n strictFactories,\n 0,\n moduleFactories,\n newModuleId\n )\n i++\n }\n while (i < chunkModules.length) {\n let end = i + 1\n // Find our factory function\n while (\n end < chunkModules.length &&\n typeof chunkModules[end] !== 'function'\n ) {\n end++\n }\n if (end === chunkModules.length) {\n throw new Error('malformed chunk format, expected a factory function')\n }\n\n // Install the factory for each module ID that doesn't already have one.\n // When some IDs in this group already have a factory, reuse that existing\n // group factory for the missing IDs to keep all IDs in the group consistent.\n // Otherwise, install the factory from this chunk.\n const moduleFactoryFn = chunkModules[end] as Function\n let existingGroupFactory: Function | undefined = undefined\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n const existingFactory = moduleFactories.get(id)\n if (existingFactory) {\n existingGroupFactory = existingFactory\n break\n }\n }\n const factoryToInstall = existingGroupFactory ?? moduleFactoryFn\n\n let didInstallFactory = false\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n if (!moduleFactories.has(id)) {\n if (!didInstallFactory) {\n if (factoryToInstall === moduleFactoryFn) {\n applyModuleFactoryName(moduleFactoryFn)\n }\n didInstallFactory = true\n }\n moduleFactories.set(id, factoryToInstall)\n newModuleId?.(id)\n }\n }\n i = end + 1\n }\n}\n\n/**\n * A pseudo \"fake\" URL object to resolve to its relative path.\n *\n * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this\n * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid\n * hydration mismatch.\n *\n * This is based on webpack's existing implementation:\n * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js\n */\nconst relativeURL = function relativeURL(this: any, inputUrl: string) {\n const realUrl = new URL(inputUrl, 'x:/')\n const values: Record = {}\n for (const key in realUrl) values[key] = (realUrl as any)[key]\n values.href = inputUrl\n values.pathname = inputUrl.replace(/[?#].*/, '')\n values.origin = values.protocol = ''\n values.toString = values.toJSON = (..._args: Array) => inputUrl\n for (const key in values)\n Object.defineProperty(this, key, {\n enumerable: true,\n configurable: true,\n value: values[key],\n })\n}\nrelativeURL.prototype = URL.prototype\ncontextPrototype.U = relativeURL\n\n/**\n * Utility function to ensure all variants of an enum are handled.\n */\nfunction invariant(never: never, computeMessage: (arg: any) => string): never {\n throw new Error(`Invariant: ${computeMessage(never)}`)\n}\n\n/**\n * Constructs an error message for when a module factory is not available.\n */\nfunction factoryNotAvailableMessage(\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): string {\n let instantiationReason: string\n switch (sourceType) {\n case SourceType.Runtime:\n instantiationReason = `as a runtime entry of chunk ${sourceData}`\n break\n case SourceType.Parent:\n instantiationReason = `because it was required from module ${sourceData}`\n break\n case SourceType.Update:\n instantiationReason = 'because of an HMR update'\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`\n}\n\n/**\n * Returns a `file://` URL under a synthetic directory named after `root`\n * (`ROOT` for the project root), for when the real filesystem path is unknown.\n * The root name and path segments are percent-encoded so the result is always\n * a valid file URI.\n */\nfunction placeholderFileUrl(modulePath: string, root?: string): string {\n return `file:///${encodeURIComponent(root ?? 'ROOT')}/${modulePath\n .split('/')\n .map(encodeURIComponent)\n .join('/')}`\n}\n\n/**\n * A stub function to make `require` available but non-functional in ESM.\n */\nfunction requireStub(_moduleId: ModuleId): never {\n throw new Error('dynamic usage of require is not supported')\n}\ncontextPrototype.z = requireStub\n\n// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable.\ncontextPrototype.g = globalThis\n\ntype ContextConstructor = {\n new (module: Module, exports: Exports): TurbopackBaseContext\n}\n\nfunction applyModuleFactoryName(factory: Function) {\n // Give the module factory a nice name to improve stack traces.\n Object.defineProperty(factory, 'name', {\n value: 'module evaluation',\n })\n}\n"],"names":["SourceType","createModuleWithDirectionFlag","REEXPORTED_OBJECTS","WeakMap","Context","module","exports","m","e","contextPrototype","prototype","hasOwnProperty","Object","toStringTag","Symbol","defineProp","obj","name","options","call","defineProperty","getOverwrittenModule","moduleCache","id","get","undefined","createModuleWithDirection","createModuleObject","set","error","namespaceObject","parents","children","BindingTag_Value","REEXPORT_GROUP_END","esm","bindings","dynamic","value","i","length","propName","tagOrFunction","enumerable","writable","Error","getterFn","setterFn","seal","esmExport","c","s","esmReexport","list","head","start","end","namespace","esmImport","pairs","split","j","appendReexportBinding","S","exportedName","importedName","descriptor","Reflect","getOwnPropertyDescriptor","push","ensureDynamicExports","reexportedObjects","reexportOwning","prop","Proxy","target","deleteProperty","has","ownKeys","keys","key","includes","own","configurable","dynamicExport","object","exportValue","v","exportNamespace","n","createGetter","getProto","getPrototypeOf","__proto__","LEAF_PROTOTYPES","interopEsm","raw","ns","allowExportDefault","defaultLocation","current","getOwnPropertyNames","splice","createNS","args","apply","create","getOrInstantiateModuleFromParent","__esModule","asyncLoader","moduleId","loader","r","bind","A","runtimeRequire","require","require1","t","commonJsRequire","parseRequest","request","hashIndex","indexOf","substring","queryIndex","moduleContext","map","code","resolve","import","f","getChunkPath","chunkData","path","installCompressedModuleFactories","chunkModules","offset","moduleFactories","newModuleId","strictFactories","Array","isArray","moduleFactoryFn","existingGroupFactory","existingFactory","factoryToInstall","didInstallFactory","applyModuleFactoryName","relativeURL","inputUrl","realUrl","URL","values","href","pathname","replace","origin","protocol","toString","toJSON","_args","U","invariant","never","computeMessage","factoryNotAvailableMessage","sourceType","sourceData","instantiationReason","placeholderFileUrl","modulePath","root","encodeURIComponent","join","requireStub","_moduleId","z","g","globalThis","factory"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 664, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/async-module.ts"],"sourcesContent":["/// \n/// \n\n/**\n * Top-level-await / async-module machinery. This is only included in the runtime\n * when the module graph actually contains an async module (a module with\n * top-level await, or one that transitively depends on one). When no async\n * module is present, the chunk items never reference `__turbopack_context__.a`,\n * so this whole file can be omitted.\n *\n * everything below is adapted from webpack\n * https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13\n */\n\nconst turbopackQueues = Symbol('turbopack queues')\nconst turbopackExports = Symbol('turbopack exports')\nconst turbopackError = Symbol('turbopack error')\n\nconst enum QueueStatus {\n Unknown = -1,\n Unresolved = 0,\n Resolved = 1,\n}\n\ntype AsyncQueueFn = (() => void) & { queueCount: number }\ntype AsyncQueue = AsyncQueueFn[] & {\n status: QueueStatus\n}\n\ntype Dep = Exports | AsyncModulePromise | Promise\n\ntype AsyncModuleExt = {\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => void\n [turbopackExports]: Exports\n [turbopackError]?: any\n}\n\ntype AsyncModulePromise = Promise & AsyncModuleExt\n\nfunction isPromise(maybePromise: any): maybePromise is Promise {\n return (\n maybePromise != null &&\n typeof maybePromise === 'object' &&\n 'then' in maybePromise &&\n typeof maybePromise.then === 'function'\n )\n}\n\nfunction isAsyncModuleExt(obj: T): obj is AsyncModuleExt & T {\n return turbopackQueues in obj\n}\n\nfunction createPromise() {\n let resolve: (value: T | PromiseLike) => void\n let reject: (reason?: any) => void\n\n const promise = new Promise((res, rej) => {\n reject = rej\n resolve = res\n })\n\n return {\n promise,\n resolve: resolve!,\n reject: reject!,\n }\n}\n\nfunction resolveQueue(queue?: AsyncQueue) {\n if (queue && queue.status !== QueueStatus.Resolved) {\n queue.status = QueueStatus.Resolved\n queue.forEach((fn) => fn.queueCount--)\n queue.forEach((fn) => (fn.queueCount-- ? fn.queueCount++ : fn()))\n }\n}\n\nfunction wrapDeps(deps: Dep[]): AsyncModuleExt[] {\n return deps.map((dep): AsyncModuleExt => {\n if (dep !== null && typeof dep === 'object') {\n if (isAsyncModuleExt(dep)) return dep\n if (isPromise(dep)) {\n const queue: AsyncQueue = Object.assign([], {\n status: QueueStatus.Unresolved,\n })\n\n const obj: AsyncModuleExt = {\n [turbopackExports]: {},\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => fn(queue),\n }\n\n dep.then(\n (res) => {\n obj[turbopackExports] = res\n resolveQueue(queue)\n },\n (err) => {\n obj[turbopackError] = err\n resolveQueue(queue)\n }\n )\n\n return obj\n }\n }\n\n return {\n [turbopackExports]: dep,\n [turbopackQueues]: () => {},\n }\n })\n}\n\nfunction asyncModule(\n this: TurbopackBaseContext,\n body: (\n handleAsyncDependencies: (\n deps: Dep[]\n ) => Exports[] | Promise<() => Exports[]>,\n asyncResult: (err?: any) => void\n ) => void,\n hasAwait: boolean\n) {\n const module = this.m\n const queue: AsyncQueue | undefined = hasAwait\n ? Object.assign([], { status: QueueStatus.Unknown })\n : undefined\n\n const depQueues: Set = new Set()\n\n const { resolve, reject, promise: rawPromise } = createPromise()\n\n const promise: AsyncModulePromise = Object.assign(rawPromise, {\n [turbopackExports]: module.exports,\n [turbopackQueues]: (fn) => {\n queue && fn(queue)\n depQueues.forEach(fn)\n promise['catch'](() => {})\n },\n } satisfies AsyncModuleExt)\n\n const attributes: PropertyDescriptor = {\n get(): any {\n return promise\n },\n set(v: any) {\n // Calling `esmExport` leads to this.\n if (v !== promise) {\n promise[turbopackExports] = v\n }\n },\n }\n\n Object.defineProperty(module, 'exports', attributes)\n Object.defineProperty(module, 'namespaceObject', attributes)\n\n function handleAsyncDependencies(deps: Dep[]) {\n const currentDeps = wrapDeps(deps)\n\n const getResult = () =>\n currentDeps.map((d) => {\n if (d[turbopackError]) throw d[turbopackError]\n return d[turbopackExports]\n })\n\n const { promise, resolve } = createPromise<() => Exports[]>()\n\n const fn: AsyncQueueFn = Object.assign(() => resolve(getResult), {\n queueCount: 0,\n })\n\n function fnQueue(q: AsyncQueue) {\n if (q !== queue && !depQueues.has(q)) {\n depQueues.add(q)\n if (q && q.status === QueueStatus.Unresolved) {\n fn.queueCount++\n q.push(fn)\n }\n }\n }\n\n currentDeps.map((dep) => dep[turbopackQueues](fnQueue))\n\n return fn.queueCount ? promise : getResult()\n }\n\n function asyncResult(err?: any) {\n if (err) {\n reject((promise[turbopackError] = err))\n } else {\n resolve(promise[turbopackExports])\n }\n\n resolveQueue(queue)\n }\n\n body(handleAsyncDependencies, asyncResult)\n\n if (queue && queue.status === QueueStatus.Unknown) {\n queue.status = QueueStatus.Unresolved\n }\n}\ncontextPrototype.a = asyncModule\n"],"names":["turbopackQueues","Symbol","turbopackExports","turbopackError","isPromise","maybePromise","then","isAsyncModuleExt","obj","createPromise","resolve","reject","promise","Promise","res","rej","resolveQueue","queue","status","forEach","fn","queueCount","wrapDeps","deps","map","dep","Object","assign","err","asyncModule","body","hasAwait","module","m","undefined","depQueues","Set","rawPromise","exports","attributes","get","set","v","defineProperty","handleAsyncDependencies","currentDeps","getResult","d","fnQueue","q","has","add","push","asyncResult","contextPrototype","a"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 796, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/base-externals-utils.ts"],"sourcesContent":["/// \n\n/// A 'base' utilities to support runtime can have externals.\n/// Currently this is for node.js / edge runtime both.\n/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead.\n\nasync function externalImport(id: DependencySpecifier) {\n let raw\n try {\n raw = await import(id)\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (raw && raw.__esModule && raw.default && 'default' in raw.default) {\n return interopEsm(raw.default, createNS(raw), true)\n }\n\n return raw\n}\ncontextPrototype.y = externalImport\n\nfunction externalRequire(\n id: ModuleId,\n thunk: () => any,\n esm: boolean = false\n): Exports | EsmNamespaceObject {\n let raw\n try {\n raw = thunk()\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (!esm || raw.__esModule) {\n return raw\n }\n\n return interopEsm(raw, createNS(raw), true)\n}\n\nexternalRequire.resolve = (\n id: string,\n options?: {\n paths?: string[]\n }\n) => {\n return require.resolve(id, options)\n}\ncontextPrototype.x = externalRequire\n"],"names":["externalImport","id","raw","err","Error","__esModule","default","interopEsm","createNS","contextPrototype","y","externalRequire","thunk","esm","resolve","options","require","x"],"mappings":"AAAA,2DAA2D;AAE3D,6DAA6D;AAC7D,sDAAsD;AACtD,qGAAqG;AAErG,eAAeA,eAAeC,EAAuB;IACnD,IAAIC;IACJ,IAAI;QACFA,MAAM,MAAM,MAAM,CAACD;IACrB,EAAE,OAAOE,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAID,OAAOA,IAAIG,UAAU,IAAIH,IAAII,OAAO,IAAI,aAAaJ,IAAII,OAAO,EAAE;QACpE,OAAOC,WAAWL,IAAII,OAAO,EAAEE,SAASN,MAAM;IAChD;IAEA,OAAOA;AACT;AACAO,iBAAiBC,CAAC,GAAGV;AAErB,SAASW,gBACPV,EAAY,EACZW,KAAgB,EAChBC,MAAe,KAAK;IAEpB,IAAIX;IACJ,IAAI;QACFA,MAAMU;IACR,EAAE,OAAOT,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAI,CAACU,OAAOX,IAAIG,UAAU,EAAE;QAC1B,OAAOH;IACT;IAEA,OAAOK,WAAWL,KAAKM,SAASN,MAAM;AACxC;AAEAS,gBAAgBG,OAAO,GAAG,CACxBb,IACAc;IAIA,OAAOC,QAAQF,OAAO,CAACb,IAAIc;AAC7B;AACAN,iBAAiBQ,CAAC,GAAGN","ignoreList":[0]}}, + {"offset": {"line": 837, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/node-externals-utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\ndeclare var RUNTIME_PUBLIC_PATH: string\ndeclare var RELATIVE_ROOT_PATH: string\ndeclare var ASSET_PREFIX: string\n\nconst path = require('path')\n\nconst relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.')\n// Compute the relative path to the `distDir`.\nconst relativePathToDistRoot = path.join(\n relativePathToRuntimeRoot,\n RELATIVE_ROOT_PATH\n)\nconst RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot)\n// Compute the absolute path to the root, by stripping distDir from the absolute path to this file.\nconst ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot)\n\n/**\n * Returns an absolute path to the given module path.\n * Module path should be relative, either path to a file or a directory.\n *\n * This fn allows to calculate an absolute path for some global static values, such as\n * `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time.\n * See ImportMetaBinding::code_generation for the usage.\n */\nfunction resolveAbsolutePath(modulePath?: string): string {\n if (modulePath) {\n return path.join(ABSOLUTE_ROOT, modulePath)\n }\n return ABSOLUTE_ROOT\n}\nContext.prototype.P = resolveAbsolutePath\n\n/**\n * Returns an absolute `file://` URL for the given module path, which is\n * relative to the project root or the named `root`.\n *\n * Uses `url.pathToFileURL` so that the resulting URL is a valid file URI on\n * all platforms (forward slashes on Windows, drive letters handled\n * correctly, path segments URL-encoded).\n *\n * The location of a named `root` isn't known at runtime (the output may have\n * been moved away from the sources), so this returns a placeholder URL for it.\n */\nfunction resolveFileUrl(modulePath: string, root?: string): string {\n if (root !== undefined) {\n return placeholderFileUrl(modulePath, root)\n }\n return require('url').pathToFileURL(resolveAbsolutePath(modulePath)).href\n}\nContext.prototype.F = resolveFileUrl\n"],"names":["path","require","relativePathToRuntimeRoot","relative","RUNTIME_PUBLIC_PATH","relativePathToDistRoot","join","RELATIVE_ROOT_PATH","RUNTIME_ROOT","resolve","__filename","ABSOLUTE_ROOT","resolveAbsolutePath","modulePath","Context","prototype","P","resolveFileUrl","root","undefined","placeholderFileUrl","pathToFileURL","href","F"],"mappings":"AAAA,oDAAoD,GAMpD,MAAMA,OAAOC,QAAQ;AAErB,MAAMC,4BAA4BF,KAAKG,QAAQ,CAACC,qBAAqB;AACrE,8CAA8C;AAC9C,MAAMC,yBAAyBL,KAAKM,IAAI,CACtCJ,2BACAK;AAEF,MAAMC,eAAeR,KAAKS,OAAO,CAACC,YAAYR;AAC9C,mGAAmG;AACnG,MAAMS,gBAAgBX,KAAKS,OAAO,CAACC,YAAYL;AAE/C;;;;;;;CAOC,GACD,SAASO,oBAAoBC,UAAmB;IAC9C,IAAIA,YAAY;QACd,OAAOb,KAAKM,IAAI,CAACK,eAAeE;IAClC;IACA,OAAOF;AACT;AACAG,QAAQC,SAAS,CAACC,CAAC,GAAGJ;AAEtB;;;;;;;;;;CAUC,GACD,SAASK,eAAeJ,UAAkB,EAAEK,IAAa;IACvD,IAAIA,SAASC,WAAW;QACtB,OAAOC,mBAAmBP,YAAYK;IACxC;IACA,OAAOjB,QAAQ,OAAOoB,aAAa,CAACT,oBAAoBC,aAAaS,IAAI;AAC3E;AACAR,QAAQC,SAAS,CAACQ,CAAC,GAAGN","ignoreList":[0]}}, + {"offset": {"line": 875, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/runtime-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// \n/// \n/// \n/// \n\n/**\n * Base Node.js runtime shared between production and development.\n * Contains chunk loading, module caching, and other non-HMR functionality.\n */\n\nprocess.env.TURBOPACK = '1'\n\nconst url = require('url') as typeof import('url')\n\nconst moduleFactories: ModuleFactories = new Map()\nconst moduleCache: ModuleCache = new Map()\n\n/**\n * Returns an absolute path to the given module's id.\n */\nfunction resolvePathFromModule(\n this: TurbopackBaseContext,\n moduleId: string\n): string {\n const exported = this.r(moduleId)\n const exportedPath = exported?.default ?? exported\n if (typeof exportedPath !== 'string') {\n return exported as any\n }\n\n const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length)\n const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix)\n\n return url.pathToFileURL(resolved).href\n}\n\n/**\n * Exports a URL value. No suffix is added in Node.js runtime.\n */\nfunction exportUrl(\n this: TurbopackBaseContext,\n urlValue: string,\n id: ModuleId | undefined\n) {\n exportValue.call(this, urlValue, id)\n}\n\nfunction loadRuntimeChunk(sourcePath: ChunkPath, chunkData: ChunkData): void {\n if (typeof chunkData === 'string') {\n loadRuntimeChunkPath(sourcePath, chunkData)\n } else {\n loadRuntimeChunkPath(sourcePath, chunkData.path)\n }\n}\n\nconst loadedChunks = new Set()\nconst unsupportedLoadChunk = Promise.resolve(undefined)\nconst loadedChunk: Promise = Promise.resolve(undefined)\nconst chunkCache = new Map>()\n\nfunction clearChunkCache() {\n chunkCache.clear()\n loadedChunks.clear()\n}\n\nfunction loadRuntimeChunkPath(\n sourcePath: ChunkPath,\n chunkPath: ChunkPath\n): void {\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return\n }\n\n if (loadedChunks.has(chunkPath)) {\n return\n }\n\n try {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n loadedChunks.add(chunkPath)\n } catch (cause) {\n let errorMessage = `Failed to load chunk ${chunkPath}`\n\n if (sourcePath) {\n errorMessage += ` from runtime for chunk ${sourcePath}`\n }\n\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n throw error\n }\n}\n\nfunction loadChunkAsync(\n this: TurbopackBaseContext,\n chunkData: ChunkData\n): Promise {\n const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return unsupportedLoadChunk\n }\n\n let entry = chunkCache.get(chunkPath)\n if (entry === undefined) {\n try {\n // resolve to an absolute path to simplify `require` handling\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n // TODO: consider switching to `import()` to enable concurrent chunk loading and async file io\n // However this is incompatible with hot reloading (since `import` doesn't use the require cache)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n entry = loadedChunk\n } catch (cause) {\n const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n\n // Cache the failure promise, future requests will also get this same rejection\n entry = Promise.reject(error)\n }\n chunkCache.set(chunkPath, entry)\n }\n // TODO: Return an instrumented Promise that React can use instead of relying on referential equality.\n return entry\n}\ncontextPrototype.l = loadChunkAsync\n\nfunction loadChunkAsyncByUrl(\n this: TurbopackBaseContext,\n chunkUrl: string\n) {\n const path = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT)) as ChunkPath\n return loadChunkAsync.call(this, path)\n}\ncontextPrototype.L = loadChunkAsyncByUrl\n\n// Shared runtime primitive: the root that on-disk chunk paths are resolved\n// against. Used by the bundled wasm helper (exposed as `__turbopack_runtime_root__`).\ncontextPrototype.w = RUNTIME_ROOT\n\nconst regexJsUrl = /\\.js(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment.\n */\nfunction isJs(chunkUrlOrPath: ChunkUrl | ChunkPath): boolean {\n return regexJsUrl.test(chunkUrlOrPath)\n}\n"],"names":["process","env","TURBOPACK","url","require","moduleFactories","Map","moduleCache","resolvePathFromModule","moduleId","exported","r","exportedPath","default","strippedAssetPrefix","slice","ASSET_PREFIX","length","resolved","path","resolve","RUNTIME_ROOT","pathToFileURL","href","exportUrl","urlValue","id","exportValue","call","loadRuntimeChunk","sourcePath","chunkData","loadRuntimeChunkPath","loadedChunks","Set","unsupportedLoadChunk","Promise","undefined","loadedChunk","chunkCache","clearChunkCache","clear","chunkPath","isJs","has","chunkModules","installCompressedModuleFactories","add","cause","errorMessage","error","Error","name","loadChunkAsync","entry","get","m","reject","set","contextPrototype","l","loadChunkAsyncByUrl","chunkUrl","path1","fileURLToPath","URL","L","w","regexJsUrl","chunkUrlOrPath","test"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 990, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/hmr-runtime.ts"],"sourcesContent":["/// \n/// \n/// \n/// \n\ntype HotModuleFactoryFunction = ModuleFactoryFunction<\n HotModule,\n TurbopackBaseContext\n>\n\n/**\n * Shared HMR (Hot Module Replacement) implementation.\n *\n * This file contains the complete HMR implementation that's shared between\n * browser and Node.js runtimes. It manages module hot state, dependency\n * tracking, the module.hot API, and the full HMR update flow.\n */\n\n/**\n * The development module cache shared across the runtime.\n * Browser runtime declares this directly.\n * Node.js runtime assigns globalThis.__turbopack_module_cache__ to this.\n */\nlet devModuleCache: ModuleCache\n\n/**\n * Module IDs that are instantiated as part of the runtime of a chunk.\n */\nlet runtimeModules: Set\n\n/**\n * Maps module IDs to persisted data between executions of their hot module\n * implementation (`hot.data`).\n */\nconst moduleHotData: Map = new Map()\n\n/**\n * Maps module instances to their hot module state.\n * Uses WeakMap so it works with both HotModule and ModuleWithDirection.\n */\nconst moduleHotState: WeakMap = new WeakMap()\n\n/**\n * Modules that call `module.hot.invalidate()` (while being updated).\n */\nconst queuedInvalidatedModules: Set = new Set()\n\nclass UpdateApplyError extends Error {\n name = 'UpdateApplyError'\n\n dependencyChain: ModuleId[]\n\n constructor(message: string, dependencyChain: ModuleId[]) {\n super(message)\n this.dependencyChain = dependencyChain\n }\n}\n\ntype ModuleEffect =\n | {\n type: 'unaccepted'\n dependencyChain: ModuleId[]\n }\n | {\n type: 'self-declined'\n dependencyChain: ModuleId[]\n moduleId: ModuleId\n }\n | {\n type: 'declined'\n dependencyChain: ModuleId[]\n moduleId: ModuleId\n parentId: ModuleId\n }\n | {\n type: 'accepted'\n moduleId: ModuleId | undefined\n outdatedModules: Set\n outdatedDependencies: Map>\n }\n\n/**\n * Records parent-child relationship when a module imports another.\n * Should be called during module instantiation.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction trackModuleImport(\n parentModule: ModuleWithDirection,\n childModuleId: ModuleId,\n childModule: ModuleWithDirection | undefined\n): void {\n // Record that parent imports child\n if (parentModule.children.indexOf(childModuleId) === -1) {\n parentModule.children.push(childModuleId)\n }\n\n // Record that child is imported by parent\n if (childModule && childModule.parents.indexOf(parentModule.id) === -1) {\n childModule.parents.push(parentModule.id)\n }\n}\n\nfunction formatDependencyChain(dependencyChain: ModuleId[]): string {\n return `Dependency chain: ${dependencyChain.join(' -> ')}`\n}\n\n/**\n * Walks the dependency tree to find all modules affected by a change.\n * Returns information about whether the update can be accepted and which\n * modules need to be invalidated.\n *\n * @param moduleId - The module that changed\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept().\n * This is used for server-side HMR where pages auto-accept at the top level.\n */\nfunction getAffectedModuleEffects(\n moduleId: ModuleId,\n autoAcceptRootModules: boolean\n): ModuleEffect {\n const outdatedModules: Set = new Set()\n const outdatedDependencies: Map> = new Map()\n\n type QueueItem = { moduleId?: ModuleId; dependencyChain: ModuleId[] }\n\n const queue: Array = [\n {\n moduleId,\n dependencyChain: [],\n },\n ]\n\n let queueIndex = 0\n while (queueIndex < queue.length) {\n const { moduleId, dependencyChain } = queue[queueIndex]!\n // Release copied dependency chains as soon as their queue item is consumed.\n queue[queueIndex++] = undefined\n\n if (moduleId != null) {\n if (outdatedModules.has(moduleId)) {\n // Avoid infinite loops caused by cycles between modules in the dependency chain.\n continue\n }\n\n outdatedModules.add(moduleId)\n }\n\n // We've arrived at the runtime of the chunk, which means that nothing\n // else above can accept this update.\n if (moduleId === undefined) {\n if (autoAcceptRootModules) {\n return {\n type: 'accepted',\n moduleId,\n outdatedModules,\n outdatedDependencies,\n }\n }\n return {\n type: 'unaccepted',\n dependencyChain,\n }\n }\n\n const module = devModuleCache.get(moduleId)\n const hotState = moduleHotState.get(module)!\n\n if (\n // The module is not in the cache. Since this is a \"modified\" update,\n // it means that the module was never instantiated before.\n !module || // The module accepted itself without invalidating globalThis.\n // TODO is that right?\n (hotState.selfAccepted && !hotState.selfInvalidated)\n ) {\n continue\n }\n\n if (hotState.selfDeclined) {\n return {\n type: 'self-declined',\n dependencyChain,\n moduleId,\n }\n }\n\n if (runtimeModules.has(moduleId)) {\n if (autoAcceptRootModules) {\n continue\n }\n queue.push({\n moduleId: undefined,\n dependencyChain: [...dependencyChain, moduleId],\n })\n continue\n }\n\n for (const parentId of module.parents) {\n const parent = devModuleCache.get(parentId)\n\n if (!parent) {\n continue\n }\n\n const parentHotState = moduleHotState.get(parent)\n\n // Check if parent declined this dependency\n if (parentHotState?.declinedDependencies[moduleId]) {\n return {\n type: 'declined',\n dependencyChain: [...dependencyChain, moduleId],\n moduleId,\n parentId,\n }\n }\n\n // Skip if parent is already outdated\n if (outdatedModules.has(parentId)) {\n continue\n }\n\n // Check if parent accepts this dependency\n if (parentHotState?.acceptedDependencies[moduleId]) {\n if (!outdatedDependencies.has(parentId)) {\n outdatedDependencies.set(parentId, new Set())\n }\n outdatedDependencies.get(parentId)!.add(moduleId)\n continue\n }\n\n // Neither accepted nor declined — propagate to parent\n queue.push({\n moduleId: parentId,\n dependencyChain: [...dependencyChain, moduleId],\n })\n }\n\n // If no parents and we're at a root module, auto-accept if configured\n if (module.parents.length === 0 && autoAcceptRootModules) {\n continue\n }\n }\n\n return {\n type: 'accepted',\n moduleId,\n outdatedModules,\n outdatedDependencies,\n }\n}\n\n/**\n * Merges source dependency map into target dependency map.\n */\nfunction mergeDependencies(\n target: Map>,\n source: Map>\n): void {\n for (const [parentId, deps] of source) {\n const existing = target.get(parentId)\n if (existing) {\n for (const dep of deps) {\n existing.add(dep)\n }\n } else {\n target.set(parentId, new Set(deps))\n }\n }\n}\n\n/**\n * Computes all modules that need to be invalidated based on which modules changed.\n *\n * @param invalidated - The modules that have been invalidated\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept()\n */\nfunction computedInvalidatedModules(\n invalidated: Iterable,\n autoAcceptRootModules: boolean\n): {\n outdatedModules: Set\n outdatedDependencies: Map>\n} {\n const outdatedModules = new Set()\n const outdatedDependencies = new Map>()\n\n for (const moduleId of invalidated) {\n const effect = getAffectedModuleEffects(moduleId, autoAcceptRootModules)\n\n switch (effect.type) {\n case 'unaccepted':\n throw new UpdateApplyError(\n `cannot apply update: unaccepted module. ${formatDependencyChain(\n effect.dependencyChain\n )}.`,\n effect.dependencyChain\n )\n case 'self-declined':\n throw new UpdateApplyError(\n `cannot apply update: self-declined module. ${formatDependencyChain(\n effect.dependencyChain\n )}.`,\n effect.dependencyChain\n )\n case 'declined':\n throw new UpdateApplyError(\n `cannot apply update: declined dependency. ${formatDependencyChain(\n effect.dependencyChain\n )}. Declined by ${effect.parentId}.`,\n effect.dependencyChain\n )\n case 'accepted':\n for (const outdatedModuleId of effect.outdatedModules) {\n outdatedModules.add(outdatedModuleId)\n }\n mergeDependencies(outdatedDependencies, effect.outdatedDependencies)\n break\n default:\n invariant(effect, (effect) => `Unknown effect type: ${effect?.type}`)\n }\n }\n\n return { outdatedModules, outdatedDependencies }\n}\n\n/**\n * Creates the module.hot API object and its internal state.\n * This provides the HMR API that user code calls (module.hot.accept(), etc.)\n */\n\nfunction createModuleHot(\n moduleId: ModuleId,\n hotData: HotData\n): { hot: Hot; hotState: HotState } {\n const hotState: HotState = {\n selfAccepted: false,\n selfDeclined: false,\n selfInvalidated: false,\n disposeHandlers: [],\n acceptedDependencies: {},\n acceptedErrorHandlers: {},\n declinedDependencies: {},\n }\n\n const hot: Hot = {\n // TODO(alexkirsz) This is not defined in the HMR API. It was used to\n // decide whether to warn whenever an HMR-disposed module required other\n // modules. We might want to remove it.\n active: true,\n\n data: hotData ?? {},\n\n accept: (\n modules?: string | string[] | AcceptErrorHandler,\n callback?: AcceptCallback,\n errorHandler?: AcceptErrorHandler\n ) => {\n if (modules === undefined) {\n hotState.selfAccepted = true\n } else if (typeof modules === 'function') {\n hotState.selfAccepted = modules\n } else if (typeof modules === 'object' && modules !== null) {\n for (let i = 0; i < modules.length; i++) {\n hotState.acceptedDependencies[modules[i]] = callback || function () {}\n hotState.acceptedErrorHandlers[modules[i]] = errorHandler\n }\n } else {\n hotState.acceptedDependencies[modules] = callback || function () {}\n hotState.acceptedErrorHandlers[modules] = errorHandler\n }\n },\n\n decline: (dep?: string | string[]) => {\n if (dep === undefined) {\n hotState.selfDeclined = true\n } else if (typeof dep === 'object' && dep !== null) {\n for (let i = 0; i < dep.length; i++) {\n hotState.declinedDependencies[dep[i]] = true\n }\n } else {\n hotState.declinedDependencies[dep] = true\n }\n },\n\n dispose: (callback) => {\n hotState.disposeHandlers.push(callback)\n },\n\n addDisposeHandler: (callback) => {\n hotState.disposeHandlers.push(callback)\n },\n\n removeDisposeHandler: (callback) => {\n const idx = hotState.disposeHandlers.indexOf(callback)\n if (idx >= 0) {\n hotState.disposeHandlers.splice(idx, 1)\n }\n },\n\n invalidate: () => {\n hotState.selfInvalidated = true\n queuedInvalidatedModules.add(moduleId)\n },\n\n // NOTE(alexkirsz) This is part of the management API, which we don't\n // implement, but the Next.js React Refresh runtime uses this to decide\n // whether to schedule an update.\n status: () => 'idle',\n\n // NOTE(alexkirsz) Since we always return \"idle\" for now, these are no-ops.\n addStatusHandler: (_handler) => {},\n removeStatusHandler: (_handler) => {},\n\n // NOTE(jridgewell) Check returns the list of updated modules, but we don't\n // want the webpack code paths to ever update (the turbopack paths handle\n // this already).\n check: () => Promise.resolve(null),\n }\n\n return { hot, hotState }\n}\n\n/**\n * Processes queued invalidated modules and adds them to the outdated modules set.\n * Modules that call module.hot.invalidate() are queued and processed here.\n *\n * @param outdatedModules - The current set of outdated modules\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept()\n */\nfunction applyInvalidatedModules(\n outdatedModules: Set,\n outdatedDependencies: Map>,\n autoAcceptRootModules: boolean\n): {\n outdatedModules: Set\n outdatedDependencies: Map>\n} {\n if (queuedInvalidatedModules.size > 0) {\n const result = computedInvalidatedModules(\n queuedInvalidatedModules,\n autoAcceptRootModules\n )\n for (const moduleId of result.outdatedModules) {\n outdatedModules.add(moduleId)\n }\n mergeDependencies(outdatedDependencies, result.outdatedDependencies)\n\n queuedInvalidatedModules.clear()\n }\n\n return { outdatedModules, outdatedDependencies }\n}\n\n/**\n * Computes which outdated modules have self-accepted and can be hot reloaded.\n */\n\nfunction computeOutdatedSelfAcceptedModules(\n outdatedModules: Iterable\n): { moduleId: ModuleId; errorHandler: true | Function }[] {\n const outdatedSelfAcceptedModules: {\n moduleId: ModuleId\n errorHandler: true | Function\n }[] = []\n for (const moduleId of outdatedModules) {\n const module = devModuleCache.get(moduleId)\n const hotState = moduleHotState.get(module)\n if (module && hotState?.selfAccepted && !hotState.selfInvalidated) {\n outdatedSelfAcceptedModules.push({\n moduleId,\n errorHandler: hotState.selfAccepted,\n })\n }\n }\n return outdatedSelfAcceptedModules\n}\n\n/**\n * Disposes of an instance of a module.\n * Runs hot.dispose handlers and manages persistent hot data.\n *\n * NOTE: mode = \"replace\" will not remove modules from devModuleCache.\n * This must be done in a separate step afterwards.\n */\nfunction disposeModule(moduleId: ModuleId, mode: 'clear' | 'replace') {\n const module = devModuleCache.get(moduleId)\n if (!module) {\n return\n }\n\n const hotState = moduleHotState.get(module)\n if (!hotState) {\n return\n }\n\n const data: HotData = {}\n\n // Run the `hot.dispose` handler, if any, passing in the persistent\n // `hot.data` object.\n for (const disposeHandler of hotState.disposeHandlers) {\n disposeHandler(data)\n }\n\n // This used to warn in `getOrInstantiateModuleFromParent` when a disposed\n // module is still importing other modules.\n if (module.hot) {\n module.hot.active = false\n }\n\n moduleHotState.delete(module)\n\n // Remove the disposed module from its children's parent list.\n // It will be added back once the module re-instantiates and imports its\n // children again.\n for (const childId of module.children) {\n const child = devModuleCache.get(childId)\n if (!child) {\n continue\n }\n\n const idx = child.parents.indexOf(module.id)\n if (idx >= 0) {\n child.parents.splice(idx, 1)\n }\n }\n\n switch (mode) {\n case 'clear':\n devModuleCache.delete(module.id)\n moduleHotData.delete(module.id)\n break\n case 'replace':\n moduleHotData.set(module.id, data)\n break\n default:\n invariant(mode, (mode) => `invalid mode: ${mode}`)\n }\n}\n\n/**\n * Dispose phase: runs dispose handlers and cleans up outdated/disposed modules.\n * Returns the parent modules of outdated modules for use in the apply phase.\n */\n\nfunction disposePhase(\n outdatedModules: Iterable,\n disposedModules: Iterable,\n outdatedDependencies: Map>\n): { outdatedModuleParents: Map> } {\n for (const moduleId of outdatedModules) {\n disposeModule(moduleId, 'replace')\n }\n\n for (const moduleId of disposedModules) {\n disposeModule(moduleId, 'clear')\n }\n\n // Removing modules from the module cache is a separate step.\n // We also want to keep track of previous parents of the outdated modules.\n const outdatedModuleParents = new Map>()\n for (const moduleId of outdatedModules) {\n const oldModule = devModuleCache.get(moduleId)\n outdatedModuleParents.set(moduleId, oldModule?.parents)\n devModuleCache.delete(moduleId)\n }\n\n // Remove outdated dependencies from parent module's children list.\n // When a parent accepts a child's update, the child is re-instantiated\n // but the parent stays alive. We remove the old child reference so it\n // gets re-added when the child re-imports.\n for (const [parentId, deps] of outdatedDependencies) {\n const module = devModuleCache.get(parentId)\n if (module) {\n for (const dep of deps) {\n const idx = module.children.indexOf(dep)\n if (idx >= 0) {\n module.children.splice(idx, 1)\n }\n }\n }\n }\n\n return { outdatedModuleParents }\n}\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/**\n * Shared module instantiation logic.\n * This handles the full module instantiation flow for both browser and Node.js.\n * Only React Refresh hooks differ between platforms (passed as callback).\n */\nfunction instantiateModuleShared(\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache,\n runtimeModules: Set,\n createModuleObjectFn: (id: ModuleId) => HotModule,\n createContextFn: (module: HotModule, exports: Exports, refresh?: any) => any,\n runModuleExecutionHooksFn: (\n module: HotModule,\n exec: (refresh: any) => void\n ) => void\n): HotModule {\n // 1. Factory validation (same in both browser and Node.js)\n const id = moduleId\n const moduleFactory = moduleFactories.get(id)\n if (typeof moduleFactory !== 'function') {\n throw new Error(\n factoryNotAvailableMessage(moduleId, sourceType, sourceData) +\n `\\nThis is often caused by a stale browser cache, misconfigured Cache-Control headers, or a service worker serving outdated responses.` +\n `\\nTo fix this, make sure your Cache-Control headers allow revalidation of chunks and review your service worker configuration. ` +\n `As an immediate workaround, try hard-reloading the page, clearing the browser cache, or unregistering any service workers.`\n )\n }\n\n // 2. Hot API setup (same in both - works for browser, included for Node.js)\n const hotData = moduleHotData.get(id)!\n const { hot, hotState } = createModuleHot(id, hotData)\n\n // 3. Parent assignment logic (same in both)\n let parents: ModuleId[]\n switch (sourceType) {\n case SourceType.Runtime:\n runtimeModules.add(id)\n parents = []\n break\n case SourceType.Parent:\n parents = [sourceData as ModuleId]\n break\n case SourceType.Update:\n parents = (sourceData as ModuleId[]) || []\n break\n default:\n throw new Error(`Unknown source type: ${sourceType}`)\n }\n\n // 4. Module creation (platform creates base module object)\n const module = createModuleObjectFn(id)\n const exports = module.exports\n module.parents = parents\n module.children = []\n module.hot = hot\n\n devModuleCache.set(id, module)\n moduleHotState.set(module, hotState)\n\n // 5. Module execution (React Refresh hooks are platform-specific)\n try {\n runModuleExecutionHooksFn(module, (refresh) => {\n const context = createContextFn(module, exports, refresh)\n moduleFactory.call(exports, context, module, exports)\n })\n } catch (error) {\n module.error = error as any\n throw error\n }\n\n // 6. ESM interop (same in both)\n if (module.namespaceObject && module.exports !== module.namespaceObject) {\n // in case of a circular dependency: cjs1 -> esm2 -> cjs1\n interopEsm(module.exports, module.namespaceObject)\n }\n\n return module\n}\n\n/**\n * Analyzes update entries and chunks to determine which modules were added, modified, or deleted.\n * This is pure logic that doesn't depend on the runtime environment.\n */\nfunction computeChangedModules(\n entries: Record,\n updates: Record,\n chunkModulesMap?: Map>\n): {\n added: Map\n modified: Map\n deleted: Set\n chunksAdded: Map>\n chunksDeleted: Map>\n} {\n const chunksAdded = new Map()\n const chunksDeleted = new Map()\n const added: Map = new Map()\n const modified = new Map()\n const deleted: Set = new Set()\n\n for (const [chunkPath, mergedChunkUpdate] of Object.entries(updates) as Array<\n [ChunkPath, EcmascriptMergedChunkUpdate]\n >) {\n switch (mergedChunkUpdate.type) {\n case 'added': {\n const updateAdded = new Set(mergedChunkUpdate.modules)\n for (const moduleId of updateAdded) {\n added.set(moduleId, entries[moduleId])\n }\n chunksAdded.set(chunkPath, updateAdded)\n break\n }\n case 'deleted': {\n const updateDeleted = chunkModulesMap\n ? new Set(chunkModulesMap.get(chunkPath))\n : new Set()\n for (const moduleId of updateDeleted) {\n deleted.add(moduleId)\n }\n chunksDeleted.set(chunkPath, updateDeleted)\n break\n }\n case 'partial': {\n const updateAdded = new Set(mergedChunkUpdate.added)\n const updateDeleted = new Set(mergedChunkUpdate.deleted)\n for (const moduleId of updateAdded) {\n added.set(moduleId, entries[moduleId])\n }\n for (const moduleId of updateDeleted) {\n deleted.add(moduleId)\n }\n chunksAdded.set(chunkPath, updateAdded)\n chunksDeleted.set(chunkPath, updateDeleted)\n break\n }\n default:\n throw new Error('Unknown merged chunk update type')\n }\n }\n\n // If a module was added from one chunk and deleted from another in the same update,\n // consider it to be modified, as it means the module was moved from one chunk to another\n // AND has new code in a single update.\n for (const moduleId of added.keys()) {\n if (deleted.has(moduleId)) {\n added.delete(moduleId)\n deleted.delete(moduleId)\n }\n }\n\n for (const [moduleId, entry] of Object.entries(entries)) {\n // Modules that haven't been added to any chunk but have new code are considered\n // to be modified.\n // This needs to be under the previous loop, as we need it to get rid of modules\n // that were added and deleted in the same update.\n if (!added.has(moduleId)) {\n modified.set(moduleId, entry)\n }\n }\n\n return { added, deleted, modified, chunksAdded, chunksDeleted }\n}\n\n/**\n * Compiles new module code and walks the dependency tree to find all outdated modules.\n * Uses the evalModuleEntry function to compile code (platform-specific).\n *\n * @param added - Map of added modules\n * @param modified - Map of modified modules\n * @param evalModuleEntry - Function to compile module code\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept()\n */\nfunction computeOutdatedModules(\n added: Map,\n modified: Map,\n evalModuleEntry: (entry: EcmascriptModuleEntry) => HotModuleFactoryFunction,\n autoAcceptRootModules: boolean\n): {\n outdatedModules: Set\n outdatedDependencies: Map>\n newModuleFactories: Map\n} {\n const newModuleFactories = new Map()\n\n // Compile added modules\n for (const [moduleId, entry] of added) {\n if (entry != null) {\n newModuleFactories.set(moduleId, evalModuleEntry(entry))\n }\n }\n\n // Walk dependency tree to find all modules affected by modifications\n const { outdatedModules, outdatedDependencies } = computedInvalidatedModules(\n modified.keys(),\n autoAcceptRootModules\n )\n\n // Compile modified modules\n for (const [moduleId, entry] of modified) {\n newModuleFactories.set(moduleId, evalModuleEntry(entry))\n }\n\n return { outdatedModules, outdatedDependencies, newModuleFactories }\n}\n\n/**\n * Updates module factories and re-instantiates self-accepted modules.\n * Uses the instantiateModule function (platform-specific via callback).\n */\nfunction applyPhase(\n outdatedSelfAcceptedModules: {\n moduleId: ModuleId\n errorHandler: true | Function\n }[],\n newModuleFactories: Map,\n outdatedModuleParents: Map>,\n outdatedDependencies: Map>,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache,\n instantiateModuleFn: (\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n ) => HotModule,\n applyModuleFactoryNameFn: (factory: HotModuleFactoryFunction) => void,\n reportError: (err: any) => void\n) {\n // Update module factories\n for (const [moduleId, factory] of newModuleFactories.entries()) {\n applyModuleFactoryNameFn(factory)\n moduleFactories.set(moduleId, factory)\n }\n\n // TODO(alexkirsz) Run new runtime entries here.\n\n // Call accept handlers for outdated dependencies.\n // This runs BEFORE re-instantiating self-accepted modules, matching\n // webpack's behavior.\n for (const [parentId, deps] of outdatedDependencies) {\n const module = devModuleCache.get(parentId)\n if (!module) continue\n\n const hotState = moduleHotState.get(module)\n if (!hotState) continue\n\n // Group deps by callback, deduplicating callbacks that handle multiple deps.\n // Each callback receives only the deps it was registered for.\n const callbackDeps = new Map void), ModuleId[]>()\n const callbackErrorHandlers = new Map<\n AcceptCallback | (() => void),\n AcceptErrorHandler | undefined\n >()\n\n for (const dep of deps) {\n const acceptCallback = hotState.acceptedDependencies[dep]\n if (acceptCallback) {\n let depList = callbackDeps.get(acceptCallback)\n if (!depList) {\n depList = []\n callbackDeps.set(acceptCallback, depList)\n callbackErrorHandlers.set(\n acceptCallback,\n hotState.acceptedErrorHandlers[dep]\n )\n }\n depList.push(dep)\n }\n }\n\n for (const [callback, cbDeps] of callbackDeps) {\n try {\n callback.call(null, cbDeps)\n } catch (err: any) {\n const errorHandler = callbackErrorHandlers.get(callback)\n if (typeof errorHandler === 'function') {\n try {\n errorHandler(err, {\n moduleId: parentId,\n dependencyId: cbDeps[0],\n })\n } catch (err2) {\n reportError(err2)\n reportError(err)\n }\n } else {\n reportError(err)\n }\n }\n }\n }\n\n // Re-instantiate all outdated self-accepted modules\n for (const { moduleId, errorHandler } of outdatedSelfAcceptedModules) {\n try {\n instantiateModuleFn(\n moduleId,\n SourceType.Update,\n outdatedModuleParents.get(moduleId)\n )\n } catch (err) {\n if (typeof errorHandler === 'function') {\n try {\n errorHandler(err, { moduleId, module: devModuleCache.get(moduleId) })\n } catch (err2) {\n reportError(err2)\n reportError(err)\n }\n } else {\n reportError(err)\n }\n }\n }\n}\n\n/**\n * Internal implementation that orchestrates the full HMR update flow:\n * invalidation, disposal, and application of new modules.\n *\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept()\n */\nfunction applyInternal(\n outdatedModules: Set,\n outdatedDependencies: Map>,\n disposedModules: Iterable,\n newModuleFactories: Map,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache,\n instantiateModuleFn: (\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n ) => HotModule,\n applyModuleFactoryNameFn: (factory: HotModuleFactoryFunction) => void,\n autoAcceptRootModules: boolean\n) {\n ;({ outdatedModules, outdatedDependencies } = applyInvalidatedModules(\n outdatedModules,\n outdatedDependencies,\n autoAcceptRootModules\n ))\n\n // Find self-accepted modules to re-instantiate\n const outdatedSelfAcceptedModules =\n computeOutdatedSelfAcceptedModules(outdatedModules)\n\n // Run dispose handlers, save hot.data, clear caches\n const { outdatedModuleParents } = disposePhase(\n outdatedModules,\n disposedModules,\n outdatedDependencies\n )\n\n let error: any\n\n function reportError(err: any) {\n if (!error) error = err // Keep first error\n }\n\n applyPhase(\n outdatedSelfAcceptedModules,\n newModuleFactories,\n outdatedModuleParents,\n outdatedDependencies,\n moduleFactories,\n devModuleCache,\n instantiateModuleFn,\n applyModuleFactoryNameFn,\n reportError\n )\n\n if (error) {\n throw error\n }\n\n // Recursively apply any queued invalidations from new module execution\n if (queuedInvalidatedModules.size > 0) {\n applyInternal(\n new Set(),\n new Map(),\n [],\n new Map(),\n moduleFactories,\n devModuleCache,\n instantiateModuleFn,\n applyModuleFactoryNameFn,\n autoAcceptRootModules\n )\n }\n}\n\n/**\n * Main entry point for applying an ECMAScript merged update.\n * This is called by both browser and Node.js runtimes with platform-specific callbacks.\n *\n * @param options.autoAcceptRootModules - If true, root modules auto-accept updates without explicit\n * module.hot.accept(). Used for server-side HMR where pages\n * auto-accept at the top level.\n */\nfunction applyEcmascriptMergedUpdateShared(options: {\n added: Map\n modified: Map\n disposedModules: Iterable\n evalModuleEntry: (entry: EcmascriptModuleEntry) => HotModuleFactoryFunction\n instantiateModule: (\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n ) => HotModule\n applyModuleFactoryName: (factory: HotModuleFactoryFunction) => void\n moduleFactories: ModuleFactories\n devModuleCache: ModuleCache\n autoAcceptRootModules: boolean\n}) {\n const {\n added,\n modified,\n disposedModules,\n evalModuleEntry,\n instantiateModule,\n applyModuleFactoryName,\n moduleFactories,\n devModuleCache,\n autoAcceptRootModules,\n } = options\n\n const { outdatedModules, outdatedDependencies, newModuleFactories } =\n computeOutdatedModules(\n added,\n modified,\n evalModuleEntry,\n autoAcceptRootModules\n )\n\n applyInternal(\n outdatedModules,\n outdatedDependencies,\n disposedModules,\n newModuleFactories,\n moduleFactories,\n devModuleCache,\n instantiateModule,\n applyModuleFactoryName,\n autoAcceptRootModules\n )\n}\n"],"names":["devModuleCache","runtimeModules","moduleHotData","Map","moduleHotState","WeakMap","queuedInvalidatedModules","Set","UpdateApplyError","Error","name","dependencyChain","message","trackModuleImport","parentModule","childModuleId","childModule","children","indexOf","push","parents","id","formatDependencyChain","join","getAffectedModuleEffects","moduleId","autoAcceptRootModules","outdatedModules","outdatedDependencies","queue","queueIndex","length","undefined","has","add","type","module","get","hotState","selfAccepted","selfInvalidated","selfDeclined","parentId","parent","parentHotState","declinedDependencies","acceptedDependencies","set","mergeDependencies","target","source","deps","existing","dep","computedInvalidatedModules","invalidated","effect","outdatedModuleId","invariant","createModuleHot","hotData","disposeHandlers","acceptedErrorHandlers","hot","active","data","accept","modules","callback","errorHandler","i","decline","dispose","addDisposeHandler","removeDisposeHandler","idx","splice","invalidate","status","addStatusHandler","_handler","removeStatusHandler","check","Promise","resolve","applyInvalidatedModules","size","result","clear","computeOutdatedSelfAcceptedModules","outdatedSelfAcceptedModules","disposeModule","mode","disposeHandler","delete","childId","child","disposePhase","disposedModules","outdatedModuleParents","oldModule","instantiateModuleShared","sourceType","sourceData","moduleFactories","createModuleObjectFn","createContextFn","runModuleExecutionHooksFn","moduleFactory","factoryNotAvailableMessage","SourceType","Runtime","Parent","Update","exports","refresh","context","call","error","namespaceObject","interopEsm","computeChangedModules","entries","updates","chunkModulesMap","chunksAdded","chunksDeleted","added","modified","deleted","chunkPath","mergedChunkUpdate","Object","updateAdded","updateDeleted","keys","entry","computeOutdatedModules","evalModuleEntry","newModuleFactories","applyPhase","instantiateModuleFn","applyModuleFactoryNameFn","reportError","factory","callbackDeps","callbackErrorHandlers","acceptCallback","depList","cbDeps","err","dependencyId","err2","applyInternal","applyEcmascriptMergedUpdateShared","options","instantiateModule","applyModuleFactoryName"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1686, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/dev-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// \n/// \n/// \n\n/**\n * Development Node.js runtime.\n * Uses HotModule and shared HMR logic for hot module replacement support.\n */\n\n// Cast the module cache to HotModule for development mode\n// (hmr-runtime.ts declares devModuleCache as `let` variable expecting assignment)\n// This is safe because HotModule extends Module\ndevModuleCache = moduleCache as ModuleCache\n\n// this is read in runtime-utils.ts so it creates a module with direction for hmr\ncreateModuleWithDirectionFlag = true\n\nif (!globalThis.__turbopack_runtime_modules__) {\n globalThis.__turbopack_runtime_modules__ = new Set()\n}\nruntimeModules = globalThis.__turbopack_runtime_modules__\n\ninterface TurbopackNodeDevBuildContext extends TurbopackBaseContext {\n R: ResolvePathFromModule\n x: ExternalRequire\n y: ExternalImport\n C: typeof clearChunkCache\n}\n\nconst nodeDevContextPrototype =\n Context.prototype as TurbopackNodeDevBuildContext\n\nnodeDevContextPrototype.q = exportUrl\nnodeDevContextPrototype.M = moduleFactories\nnodeDevContextPrototype.c = devModuleCache\nnodeDevContextPrototype.R = resolvePathFromModule\nnodeDevContextPrototype.C = clearChunkCache\n\nif (globalThis.__turbopack_ensure_chunk__ !== undefined) {\n const chunksBeingEnsured = new Map>()\n\n function loadChunkAsyncOnDemand(\n this: TurbopackBaseContext,\n chunkData: ChunkData\n ): Promise {\n const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path\n const ensureChunk = globalThis.__turbopack_ensure_chunk__\n if (ensureChunk === undefined || chunkCache.has(chunkPath)) {\n return loadChunkAsync.call(this, chunkData)\n }\n\n const ensured =\n chunksBeingEnsured.get(chunkPath) ??\n Promise.resolve()\n .then(() => ensureChunk(chunkPath))\n .finally(() => chunksBeingEnsured.delete(chunkPath))\n chunksBeingEnsured.set(chunkPath, ensured)\n\n return ensured.then(() => loadChunkAsync.call(this, chunkData))\n }\n nodeDevContextPrototype.l = loadChunkAsyncOnDemand\n}\n\n/**\n * Instantiates a module in development mode using shared HMR logic.\n */\nfunction instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): HotModule {\n // Node.js: creates base module object (hot API added by shared code)\n const createModuleObjectFn = (moduleId: ModuleId) => {\n return createModuleWithDirection(moduleId) as HotModule\n }\n\n // Node.js: creates Context (no refresh parameter)\n const createContext = (\n module: HotModule,\n exports: Exports,\n _refresh?: any\n ) => {\n return new (Context as any as ContextConstructor)(\n module,\n exports\n )\n }\n\n // Node.js: no hooks wrapper, just execute directly\n const runWithHooks = (_module: HotModule, exec: (refresh: any) => void) => {\n exec(undefined) // no refresh context\n }\n\n // Use shared instantiation logic (includes hot API setup)\n const newModule = instantiateModuleShared(\n id,\n sourceType,\n sourceData,\n moduleFactories,\n devModuleCache,\n runtimeModules,\n createModuleObjectFn,\n createContext,\n runWithHooks\n )\n\n // Node.js-specific: mark module as loaded\n ;(newModule as any).loaded = true\n\n return newModule\n}\n\n/**\n * Instantiates a runtime module in development mode.\n */\nfunction instantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): HotModule {\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached.\n */\n// @ts-ignore TypeScript doesn't separate this module space from the browser runtime\nfunction getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): HotModule {\n const module = devModuleCache.get(moduleId)\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateRuntimeModule(chunkPath, moduleId)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it if it is not cached.\n * Also tracks parent-child relationships for HMR dependency tracking.\n */\n// @ts-ignore\nfunction getOrInstantiateModuleFromParent(\n id: ModuleId,\n sourceModule: HotModule\n): HotModule {\n // Track parent-child relationship\n const module = devModuleCache.get(id)\n trackModuleImport(sourceModule, id, module)\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n\n return module\n }\n\n const newModule = instantiateModule(id, SourceType.Parent, sourceModule.id)\n\n // Track again after instantiation to ensure the relationship is recorded\n trackModuleImport(sourceModule, id, newModule)\n\n return newModule\n}\n\nmodule.exports = (sourcePath: ChunkPath) => ({\n m: (id: ModuleId) => getOrInstantiateRuntimeModule(sourcePath, id),\n c: (chunkData: ChunkData) => loadRuntimeChunk(sourcePath, chunkData),\n})\n"],"names":["devModuleCache","moduleCache","createModuleWithDirectionFlag","globalThis","__turbopack_runtime_modules__","Set","runtimeModules","nodeDevContextPrototype","Context","prototype","q","exportUrl","M","moduleFactories","c","R","resolvePathFromModule","C","clearChunkCache","__turbopack_ensure_chunk__","undefined","chunksBeingEnsured","Map","loadChunkAsyncOnDemand","chunkData","chunkPath","path","ensureChunk","chunkCache","has","loadChunkAsync","call","ensured","get","Promise","resolve","then","finally","delete","set","l","instantiateModule","id","sourceType","sourceData","createModuleObjectFn","moduleId","createModuleWithDirection","createContext","module1","exports","_refresh","runWithHooks","_module","exec","newModule","instantiateModuleShared","loaded","instantiateRuntimeModule","SourceType","Runtime","getOrInstantiateRuntimeModule","error","getOrInstantiateModuleFromParent","sourceModule","trackModuleImport","Parent","module","sourcePath","m","loadRuntimeChunk"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1783, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/dev/hmr-client.ts"],"sourcesContent":["/// \n/// \n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\ntype NodeJsHmrPayload = {\n resource: {\n path: string\n headers?: Record\n }\n issues: Issue[]\n type: 'partial'\n instruction: NodeJsEcmascriptMergedUpdate | NodeJsChunkListUpdate\n}\n\n/**\n * Appends the module code with //# sourceURL and //# sourceMappingURL so\n * that Node.js can resolve stack frames from `eval`ed server HMR modules back to\n * their original source files. Mirrors the browser's _eval in dev-backend-dom.ts.\n */\nfunction inlineSourcemaps(entry: EcmascriptModuleEntry): string {\n const [chunkPath, moduleId] = entry.url.split('?', 2)\n const absolutePath = path.resolve(RUNTIME_ROOT, chunkPath)\n const fileHref = url.pathToFileURL(absolutePath).href\n const sourceURL = moduleId ? `${fileHref}?${moduleId}` : fileHref\n let code = entry.code + '\\n\\n//# sourceURL=' + sourceURL\n if (entry.map) {\n code +=\n '\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,' +\n Buffer.from(entry.map).toString('base64')\n }\n return code\n}\n\nlet serverHmrUpdateHandler: ((msg: NodeJsHmrPayload) => void) | null = null\n\nfunction initializeServerHmr(\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache\n): void {\n if (serverHmrUpdateHandler != null) {\n throw new Error('[Server HMR] Server HMR client is already initialized')\n }\n\n // Register the update handler for the server runtime\n serverHmrUpdateHandler = (msg: NodeJsHmrPayload) => {\n handleNodejsUpdate(msg, moduleFactories, devModuleCache)\n }\n}\n\n/**\n * Emits an HMR message to the registered update handler.\n * Node uses a simpler listener pattern than the browser's websocket connection.\n *\n * Note: This is only called via __turbopack_server_hmr_apply__ which ensures\n * the handler is initialized first via ensureHmrClientInitialized().\n */\nfunction emitMessage(msg: { type: string; data: any }): void {\n if (serverHmrUpdateHandler == null) {\n throw new Error(\n '[Server HMR] No update handler registered to receive message'\n )\n }\n\n serverHmrUpdateHandler(msg.data)\n}\n\n/**\n * Handles server message updates and applies them to the Node.js runtime.\n * Uses shared HMR update logic from hmr-runtime.ts.\n */\nfunction handleNodejsUpdate(\n msg: NodeJsHmrPayload,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache\n): void {\n if (msg.type !== 'partial') {\n return\n }\n\n const instruction = msg.instruction\n\n try {\n if (instruction.type === 'ChunkListUpdate') {\n // All node ecmascript chunks are mergeable, so a `total`/`partial` here\n // means a non-mergeable asset changed in an unsupported way. Escalate\n // to a full clear() rather than leave stale factories in memory.\n for (const [chunkPath, chunkUpdate] of Object.entries(\n instruction.chunks ?? {}\n )) {\n if (chunkUpdate.type === 'total' || chunkUpdate.type === 'partial') {\n throw new Error(\n `unsupported '${chunkUpdate.type}' update for chunk ${chunkPath}`\n )\n }\n }\n\n if (instruction.merged) {\n for (const merged of instruction.merged) {\n applyEcmascriptMergedUpdate(merged, moduleFactories, devModuleCache)\n }\n }\n return\n }\n\n if (instruction.type === 'EcmascriptMergedUpdate') {\n applyEcmascriptMergedUpdate(instruction, moduleFactories, devModuleCache)\n return\n }\n } catch (e) {\n console.error('[Server HMR] Update failed, full reload needed:', e)\n throw e\n }\n}\n\nfunction applyEcmascriptMergedUpdate(\n instruction: NodeJsEcmascriptMergedUpdate,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache\n): void {\n const { entries = {}, chunks = {} } = instruction\n\n const evalModuleEntry = (entry: EcmascriptModuleEntry) => {\n const code = entry.map ? inlineSourcemaps(entry) : entry.code\n // eslint-disable-next-line no-eval\n return (0, eval)(`(require) => ${code}`)(require)\n }\n\n const { added, modified } = computeChangedModules(\n entries,\n chunks,\n undefined // no chunkModulesMap for Node.js\n )\n\n // Modules that appear in an \"added\" chunk but already exist in the cache\n // were moved to a renamed chunk. Treat them as modified so the dependency\n // walk runs and they get re-instantiated with the new factory.\n for (const [moduleId, entry] of added) {\n if (entry != null && devModuleCache.has(moduleId)) {\n added.delete(moduleId)\n modified.set(moduleId, entry)\n }\n }\n\n // Use shared HMR update implementation\n applyEcmascriptMergedUpdateShared({\n added,\n modified,\n disposedModules: [], // no disposedModules for Node.js (no chunk management)\n evalModuleEntry,\n instantiateModule,\n applyModuleFactoryName: () => {}, // Node doesn't use this\n moduleFactories,\n devModuleCache,\n autoAcceptRootModules: true,\n })\n}\n"],"names":["inlineSourcemaps","entry","chunkPath","moduleId","url","split","absolutePath","path","resolve","RUNTIME_ROOT","fileHref","pathToFileURL","href","sourceURL","code","map","Buffer","from","toString","serverHmrUpdateHandler","initializeServerHmr","moduleFactories","devModuleCache","Error","msg","handleNodejsUpdate","emitMessage","data","type","instruction","chunkUpdate","Object","entries","chunks","merged","applyEcmascriptMergedUpdate","e","console","error","evalModuleEntry","eval","require","added","modified","computeChangedModules","undefined","has","delete","set","applyEcmascriptMergedUpdateShared","disposedModules","instantiateModule","applyModuleFactoryName","autoAcceptRootModules"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1887, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/dev/dev-nodejs.ts"],"sourcesContent":["/// \n/// \n\n/**\n * Note: hmr-runtime.ts is embedded before this file, so its functions\n * (initializeServerHmr, emitMessage) are available in the same scope.\n */\n\n// Initialize server HMR client (connects to shared HMR infrastructure)\nlet hmrClientInitialized = false\nfunction ensureHmrClientInitialized() {\n if (hmrClientInitialized) return\n hmrClientInitialized = true\n\n // initializeServerHmr is from hmr-client.ts (embedded before this file)\n // moduleFactories is from dev-runtime.ts\n // devModuleCache is the HotModule-typed cache from dev-runtime.ts\n initializeServerHmr(moduleFactories, devModuleCache)\n}\n\nfunction __turbopack_server_hmr_apply__(update: NodeJsHmrPayload): void {\n ensureHmrClientInitialized()\n // Throws if the update can't be applied in-process; the consumer catches it\n // and falls back to evicting require.cache.\n emitMessage({\n type: 'turbopack-message',\n data: update,\n })\n}\n\n// Turbopack produces one server runtime per chunking context (e.g.\n// server/chunks/ssr/ for pages, server/chunks/ for route handlers), each with\n// its own moduleFactories. We keep a globalThis Map from __filename to handler\n// so updates are routed only to runtimes whose chunkPrefix matches the update's\n// chunk paths, skipping unnecessary eval() calls. Map.set() naturally replaces\n// stale entries when a runtime file is re-evaluated after require.cache eviction.\n\ntype HmrHandlerEntry = {\n handler: (update: NodeJsHmrPayload) => void\n /** Output directory relative to RUNTIME_ROOT, e.g. \"server/chunks/ssr\". */\n chunkPrefix: string\n}\n\nconst handlers: Map =\n globalThis.__turbopack_server_hmr_handlers__ ?? new Map()\n\n// Normalize to forward slashes so it matches the virtual chunk paths in\n// `update.instruction.chunks`, which always use `/` regardless of OS.\nconst chunkPrefix = path\n .relative(RUNTIME_ROOT, path.dirname(__filename))\n .replaceAll(path.sep, '/')\n\nif (handlers.size === 0) {\n // First registration in this generation: install the routing dispatcher.\n globalThis.__turbopack_server_hmr_apply__ = (\n update: NodeJsHmrPayload\n ): void => {\n const registry: Map =\n globalThis.__turbopack_server_hmr_handlers__ ?? new Map()\n\n // Chunk paths can appear either directly on the instruction (single-chunk\n // updates) or nested inside `merged` entries (chunks covered by a\n // merger). Collect both so routing isn't skipped just because a mergeable\n // chunk's update only reports its paths inside `merged`.\n const instruction = update.instruction\n const updateChunkPaths = new Set([\n ...Object.keys(instruction?.chunks ?? {}),\n ...(\n (instruction?.type === 'ChunkListUpdate' && instruction.merged) ||\n []\n ).flatMap((merged) => Object.keys(merged.chunks ?? {})),\n ])\n\n const toCall: HmrHandlerEntry[] = []\n if (updateChunkPaths.size === 0) {\n for (const entry of registry.values()) toCall.push(entry)\n } else {\n const seen = new Set()\n for (const chunkPath of updateChunkPaths) {\n const dir = path.dirname(chunkPath)\n for (const [key, entry] of registry) {\n if (dir === entry.chunkPrefix && !seen.has(key)) {\n seen.add(key)\n toCall.push(entry)\n }\n }\n }\n }\n\n // No matching runtime loaded (e.g. editing a route not required yet this\n // session): nothing live to patch, so this is a no-op. A handler that\n // throws propagates to the consumer, which evicts require.cache.\n for (const { handler } of toCall) {\n handler(update)\n }\n }\n}\n\nglobalThis.__turbopack_server_hmr_handlers__ = handlers\n\nhandlers.set(__filename, {\n handler: __turbopack_server_hmr_apply__,\n chunkPrefix,\n})\n"],"names":["hmrClientInitialized","ensureHmrClientInitialized","initializeServerHmr","moduleFactories","devModuleCache","__turbopack_server_hmr_apply__","update","emitMessage","type","data","handlers","globalThis","__turbopack_server_hmr_handlers__","Map","chunkPrefix","path","relative","RUNTIME_ROOT","dirname","__filename","replaceAll","sep","size","registry","instruction","updateChunkPaths","Set","Object","keys","chunks","merged","flatMap","toCall","entry","values","push","seen","chunkPath","dir","key","has","add","handler","set"],"mappings":"AAAA,+DAA+D;AAC/D,wCAAwC;AAExC;;;CAGC,GAED,uEAAuE;AACvE,IAAIA,uBAAuB;AAC3B,SAASC;IACP,IAAID,sBAAsB;IAC1BA,uBAAuB;IAEvB,wEAAwE;IACxE,yCAAyC;IACzC,kEAAkE;IAClEE,oBAAoBC,iBAAiBC;AACvC;AAEA,SAASC,+BAA+BC,MAAwB;IAC9DL;IACA,4EAA4E;IAC5E,4CAA4C;IAC5CM,YAAY;QACVC,MAAM;QACNC,MAAMH;IACR;AACF;AAeA,MAAMI,WACJC,WAAWC,iCAAiC,IAAI,IAAIC;AAEtD,wEAAwE;AACxE,sEAAsE;AACtE,MAAMC,cAAcC,KACjBC,QAAQ,CAACC,cAAcF,KAAKG,OAAO,CAACC,aACpCC,UAAU,CAACL,KAAKM,GAAG,EAAE;AAExB,IAAIX,SAASY,IAAI,KAAK,GAAG;IACvB,yEAAyE;IACzEX,WAAWN,8BAA8B,GAAG,CAC1CC;QAEA,MAAMiB,WACJZ,WAAWC,iCAAiC,IAAI,IAAIC;QAEtD,0EAA0E;QAC1E,kEAAkE;QAClE,0EAA0E;QAC1E,yDAAyD;QACzD,MAAMW,cAAclB,OAAOkB,WAAW;QACtC,MAAMC,mBAAmB,IAAIC,IAAY;eACpCC,OAAOC,IAAI,CAACJ,aAAaK,UAAU,CAAC;eACpC,CACD,AAACL,aAAahB,SAAS,qBAAqBgB,YAAYM,MAAM,IAC9D,EAAE,AACJ,EAAEC,OAAO,CAAC,CAACD,SAAWH,OAAOC,IAAI,CAACE,OAAOD,MAAM,IAAI,CAAC;SACrD;QAED,MAAMG,SAA4B,EAAE;QACpC,IAAIP,iBAAiBH,IAAI,KAAK,GAAG;YAC/B,KAAK,MAAMW,SAASV,SAASW,MAAM,GAAIF,OAAOG,IAAI,CAACF;QACrD,OAAO;YACL,MAAMG,OAAO,IAAIV;YACjB,KAAK,MAAMW,aAAaZ,iBAAkB;gBACxC,MAAMa,MAAMvB,KAAKG,OAAO,CAACmB;gBACzB,KAAK,MAAM,CAACE,KAAKN,MAAM,IAAIV,SAAU;oBACnC,IAAIe,QAAQL,MAAMnB,WAAW,IAAI,CAACsB,KAAKI,GAAG,CAACD,MAAM;wBAC/CH,KAAKK,GAAG,CAACF;wBACTP,OAAOG,IAAI,CAACF;oBACd;gBACF;YACF;QACF;QAEA,yEAAyE;QACzE,sEAAsE;QACtE,iEAAiE;QACjE,KAAK,MAAM,EAAES,OAAO,EAAE,IAAIV,OAAQ;YAChCU,QAAQpC;QACV;IACF;AACF;AAEAK,WAAWC,iCAAiC,GAAGF;AAE/CA,SAASiC,GAAG,CAACxB,YAAY;IACvBuB,SAASrC;IACTS;AACF","ignoreList":[0]}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/node_modules_0yn66zd0lmm23._.js b/e-commerce/.next/dev/server/chunks/node_modules_0yn66zd0lmm23._.js new file mode 100644 index 0000000000000000000000000000000000000000..cb1b6651ec5c1cc7abb9c9b7055eae128052bdc2 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/node_modules_0yn66zd0lmm23._.js @@ -0,0 +1,6292 @@ +(()=>{"use strict";module.exports = [ +"[project]/node_modules/@formatjs/fast-memoize/index.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "memoize", + ()=>memoize, + "strategies", + ()=>strategies +]); +//#region packages/fast-memoize/index.ts +function memoize(fn, options) { + const cache = options && options.cache ? options.cache : cacheDefault; + const serializer = options && options.serializer ? options.serializer : serializerDefault; + return (options && options.strategy ? options.strategy : strategyDefault)(fn, { + cache, + serializer + }); +} +function isPrimitive(value) { + return value == null || typeof value === "number" || typeof value === "boolean"; +} +function monadic(fn, cache, serializer, arg) { + const cacheKey = isPrimitive(arg) ? arg : serializer(arg); + let computedValue = cache.get(cacheKey); + if (typeof computedValue === "undefined") { + computedValue = fn.call(this, arg); + cache.set(cacheKey, computedValue); + } + return computedValue; +} +function variadic(fn, cache, serializer) { + const args = Array.prototype.slice.call(arguments, 3); + const cacheKey = serializer(args); + let computedValue = cache.get(cacheKey); + if (typeof computedValue === "undefined") { + computedValue = fn.apply(this, args); + cache.set(cacheKey, computedValue); + } + return computedValue; +} +function assemble(fn, context, strategy, cache, serialize) { + return strategy.bind(context, fn, cache, serialize); +} +function strategyDefault(fn, options) { + const strategy = fn.length === 1 ? monadic : variadic; + return assemble(fn, this, strategy, options.cache.create(), options.serializer); +} +function strategyVariadic(fn, options) { + return assemble(fn, this, variadic, options.cache.create(), options.serializer); +} +function strategyMonadic(fn, options) { + return assemble(fn, this, monadic, options.cache.create(), options.serializer); +} +const serializerDefault = function() { + return JSON.stringify(arguments); +}; +var ObjectWithoutPrototypeCache = class { + constructor(){ + this.cache = Object.create(null); + } + get(key) { + return this.cache[key]; + } + set(key, value) { + this.cache[key] = value; + } +}; +const cacheDefault = { + create: function create() { + return new ObjectWithoutPrototypeCache(); + } +}; +const strategies = { + variadic: strategyVariadic, + monadic: strategyMonadic +}; +; +}), +"[project]/node_modules/@formatjs/intl-localematcher/index.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "LookupSupportedLocales", + ()=>LookupSupportedLocales, + "ResolveLocale", + ()=>ResolveLocale, + "match", + ()=>match +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$formatjs$2f$fast$2d$memoize$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@formatjs/fast-memoize/index.js [middleware] (ecmascript)"); +; +//#region packages/intl-localematcher/abstract/CanonicalizeLocaleList.ts +/** +* http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist +* @param locales +*/ function CanonicalizeLocaleList(locales) { + return Intl.getCanonicalLocales(locales); +} +//#endregion +//#region packages/intl-localematcher/abstract/languageMatching.ts +const data = { + supplemental: { + languageMatching: { + "written-new": [ + { + paradigmLocales: { + _locales: "en en_GB es es_419 pt_BR pt_PT" + } + }, + { + $enUS: { + _value: "AS+CA+GU+MH+MP+PH+PR+UM+US+VI" + } + }, + { + $cnsar: { + _value: "HK+MO" + } + }, + { + $americas: { + _value: "019" + } + }, + { + $maghreb: { + _value: "MA+DZ+TN+LY+MR+EH" + } + }, + { + no: { + _desired: "nb", + _distance: "1" + } + }, + { + bs: { + _desired: "hr", + _distance: "4" + } + }, + { + bs: { + _desired: "sh", + _distance: "4" + } + }, + { + hr: { + _desired: "sh", + _distance: "4" + } + }, + { + sr: { + _desired: "sh", + _distance: "4" + } + }, + { + aa: { + _desired: "ssy", + _distance: "4" + } + }, + { + de: { + _desired: "gsw", + _distance: "4", + _oneway: "true" + } + }, + { + de: { + _desired: "lb", + _distance: "4", + _oneway: "true" + } + }, + { + no: { + _desired: "da", + _distance: "8" + } + }, + { + nb: { + _desired: "da", + _distance: "8" + } + }, + { + ru: { + _desired: "ab", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "ach", + _distance: "30", + _oneway: "true" + } + }, + { + nl: { + _desired: "af", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "ak", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "am", + _distance: "30", + _oneway: "true" + } + }, + { + es: { + _desired: "ay", + _distance: "20", + _oneway: "true" + } + }, + { + ru: { + _desired: "az", + _distance: "30", + _oneway: "true" + } + }, + { + ur: { + _desired: "bal", + _distance: "20", + _oneway: "true" + } + }, + { + ru: { + _desired: "be", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "bem", + _distance: "30", + _oneway: "true" + } + }, + { + hi: { + _desired: "bh", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "bn", + _distance: "30", + _oneway: "true" + } + }, + { + zh: { + _desired: "bo", + _distance: "20", + _oneway: "true" + } + }, + { + fr: { + _desired: "br", + _distance: "20", + _oneway: "true" + } + }, + { + es: { + _desired: "ca", + _distance: "20", + _oneway: "true" + } + }, + { + fil: { + _desired: "ceb", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "chr", + _distance: "20", + _oneway: "true" + } + }, + { + ar: { + _desired: "ckb", + _distance: "30", + _oneway: "true" + } + }, + { + fr: { + _desired: "co", + _distance: "20", + _oneway: "true" + } + }, + { + fr: { + _desired: "crs", + _distance: "20", + _oneway: "true" + } + }, + { + sk: { + _desired: "cs", + _distance: "20" + } + }, + { + en: { + _desired: "cy", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "ee", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "eo", + _distance: "30", + _oneway: "true" + } + }, + { + es: { + _desired: "eu", + _distance: "20", + _oneway: "true" + } + }, + { + da: { + _desired: "fo", + _distance: "20", + _oneway: "true" + } + }, + { + nl: { + _desired: "fy", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "ga", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "gaa", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "gd", + _distance: "20", + _oneway: "true" + } + }, + { + es: { + _desired: "gl", + _distance: "20", + _oneway: "true" + } + }, + { + es: { + _desired: "gn", + _distance: "20", + _oneway: "true" + } + }, + { + hi: { + _desired: "gu", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "ha", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "haw", + _distance: "20", + _oneway: "true" + } + }, + { + fr: { + _desired: "ht", + _distance: "20", + _oneway: "true" + } + }, + { + ru: { + _desired: "hy", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "ia", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "ig", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "is", + _distance: "20", + _oneway: "true" + } + }, + { + id: { + _desired: "jv", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "ka", + _distance: "30", + _oneway: "true" + } + }, + { + fr: { + _desired: "kg", + _distance: "30", + _oneway: "true" + } + }, + { + ru: { + _desired: "kk", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "km", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "kn", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "kri", + _distance: "30", + _oneway: "true" + } + }, + { + tr: { + _desired: "ku", + _distance: "30", + _oneway: "true" + } + }, + { + ru: { + _desired: "ky", + _distance: "30", + _oneway: "true" + } + }, + { + it: { + _desired: "la", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "lg", + _distance: "30", + _oneway: "true" + } + }, + { + fr: { + _desired: "ln", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "lo", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "loz", + _distance: "30", + _oneway: "true" + } + }, + { + fr: { + _desired: "lua", + _distance: "30", + _oneway: "true" + } + }, + { + hi: { + _desired: "mai", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "mfe", + _distance: "30", + _oneway: "true" + } + }, + { + fr: { + _desired: "mg", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "mi", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "ml", + _distance: "30", + _oneway: "true" + } + }, + { + ru: { + _desired: "mn", + _distance: "30", + _oneway: "true" + } + }, + { + hi: { + _desired: "mr", + _distance: "30", + _oneway: "true" + } + }, + { + id: { + _desired: "ms", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "mt", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "my", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "ne", + _distance: "30", + _oneway: "true" + } + }, + { + nb: { + _desired: "nn", + _distance: "20" + } + }, + { + no: { + _desired: "nn", + _distance: "20" + } + }, + { + en: { + _desired: "nso", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "ny", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "nyn", + _distance: "30", + _oneway: "true" + } + }, + { + fr: { + _desired: "oc", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "om", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "or", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "pa", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "pcm", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "ps", + _distance: "30", + _oneway: "true" + } + }, + { + es: { + _desired: "qu", + _distance: "30", + _oneway: "true" + } + }, + { + de: { + _desired: "rm", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "rn", + _distance: "30", + _oneway: "true" + } + }, + { + fr: { + _desired: "rw", + _distance: "30", + _oneway: "true" + } + }, + { + hi: { + _desired: "sa", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "sd", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "si", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "sn", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "so", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "sq", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "st", + _distance: "30", + _oneway: "true" + } + }, + { + id: { + _desired: "su", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "sw", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "ta", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "te", + _distance: "30", + _oneway: "true" + } + }, + { + ru: { + _desired: "tg", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "ti", + _distance: "30", + _oneway: "true" + } + }, + { + ru: { + _desired: "tk", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "tlh", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "tn", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "to", + _distance: "30", + _oneway: "true" + } + }, + { + ru: { + _desired: "tt", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "tum", + _distance: "30", + _oneway: "true" + } + }, + { + zh: { + _desired: "ug", + _distance: "20", + _oneway: "true" + } + }, + { + ru: { + _desired: "uk", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "ur", + _distance: "30", + _oneway: "true" + } + }, + { + ru: { + _desired: "uz", + _distance: "30", + _oneway: "true" + } + }, + { + fr: { + _desired: "wo", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "xh", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "yi", + _distance: "30", + _oneway: "true" + } + }, + { + en: { + _desired: "yo", + _distance: "30", + _oneway: "true" + } + }, + { + zh: { + _desired: "za", + _distance: "20", + _oneway: "true" + } + }, + { + en: { + _desired: "zu", + _distance: "30", + _oneway: "true" + } + }, + { + ar: { + _desired: "aao", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "abh", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "abv", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "acm", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "acq", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "acw", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "acx", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "acy", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "adf", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "aeb", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "aec", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "afb", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "ajp", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "apc", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "apd", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "arq", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "ars", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "ary", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "arz", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "auz", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "avl", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "ayh", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "ayl", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "ayn", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "ayp", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "bbz", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "pga", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "shu", + _distance: "10", + _oneway: "true" + } + }, + { + ar: { + _desired: "ssh", + _distance: "10", + _oneway: "true" + } + }, + { + az: { + _desired: "azb", + _distance: "10", + _oneway: "true" + } + }, + { + et: { + _desired: "vro", + _distance: "10", + _oneway: "true" + } + }, + { + ff: { + _desired: "ffm", + _distance: "10", + _oneway: "true" + } + }, + { + ff: { + _desired: "fub", + _distance: "10", + _oneway: "true" + } + }, + { + ff: { + _desired: "fue", + _distance: "10", + _oneway: "true" + } + }, + { + ff: { + _desired: "fuf", + _distance: "10", + _oneway: "true" + } + }, + { + ff: { + _desired: "fuh", + _distance: "10", + _oneway: "true" + } + }, + { + ff: { + _desired: "fui", + _distance: "10", + _oneway: "true" + } + }, + { + ff: { + _desired: "fuq", + _distance: "10", + _oneway: "true" + } + }, + { + ff: { + _desired: "fuv", + _distance: "10", + _oneway: "true" + } + }, + { + gn: { + _desired: "gnw", + _distance: "10", + _oneway: "true" + } + }, + { + gn: { + _desired: "gui", + _distance: "10", + _oneway: "true" + } + }, + { + gn: { + _desired: "gun", + _distance: "10", + _oneway: "true" + } + }, + { + gn: { + _desired: "nhd", + _distance: "10", + _oneway: "true" + } + }, + { + iu: { + _desired: "ikt", + _distance: "10", + _oneway: "true" + } + }, + { + kln: { + _desired: "enb", + _distance: "10", + _oneway: "true" + } + }, + { + kln: { + _desired: "eyo", + _distance: "10", + _oneway: "true" + } + }, + { + kln: { + _desired: "niq", + _distance: "10", + _oneway: "true" + } + }, + { + kln: { + _desired: "oki", + _distance: "10", + _oneway: "true" + } + }, + { + kln: { + _desired: "pko", + _distance: "10", + _oneway: "true" + } + }, + { + kln: { + _desired: "sgc", + _distance: "10", + _oneway: "true" + } + }, + { + kln: { + _desired: "tec", + _distance: "10", + _oneway: "true" + } + }, + { + kln: { + _desired: "tuy", + _distance: "10", + _oneway: "true" + } + }, + { + kok: { + _desired: "gom", + _distance: "10", + _oneway: "true" + } + }, + { + kpe: { + _desired: "gkp", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "ida", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "lkb", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "lko", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "lks", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "lri", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "lrm", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "lsm", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "lto", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "lts", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "lwg", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "nle", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "nyd", + _distance: "10", + _oneway: "true" + } + }, + { + luy: { + _desired: "rag", + _distance: "10", + _oneway: "true" + } + }, + { + lv: { + _desired: "ltg", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "bhr", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "bjq", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "bmm", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "bzc", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "msh", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "skg", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "tdx", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "tkg", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "txy", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "xmv", + _distance: "10", + _oneway: "true" + } + }, + { + mg: { + _desired: "xmw", + _distance: "10", + _oneway: "true" + } + }, + { + mn: { + _desired: "mvf", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "bjn", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "btj", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "bve", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "bvu", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "coa", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "dup", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "hji", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "id", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "jak", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "jax", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "kvb", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "kvr", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "kxd", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "lce", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "lcf", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "liw", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "max", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "meo", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "mfa", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "mfb", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "min", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "mqg", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "msi", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "mui", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "orn", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "ors", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "pel", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "pse", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "tmw", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "urk", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "vkk", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "vkt", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "xmm", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "zlm", + _distance: "10", + _oneway: "true" + } + }, + { + ms: { + _desired: "zmi", + _distance: "10", + _oneway: "true" + } + }, + { + ne: { + _desired: "dty", + _distance: "10", + _oneway: "true" + } + }, + { + om: { + _desired: "gax", + _distance: "10", + _oneway: "true" + } + }, + { + om: { + _desired: "hae", + _distance: "10", + _oneway: "true" + } + }, + { + om: { + _desired: "orc", + _distance: "10", + _oneway: "true" + } + }, + { + or: { + _desired: "spv", + _distance: "10", + _oneway: "true" + } + }, + { + ps: { + _desired: "pbt", + _distance: "10", + _oneway: "true" + } + }, + { + ps: { + _desired: "pst", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qub", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qud", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "quf", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qug", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "quh", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "quk", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qul", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qup", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qur", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qus", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "quw", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qux", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "quy", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qva", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvc", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qve", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvh", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvi", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvj", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvl", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvm", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvn", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvo", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvp", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvs", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvw", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qvz", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qwa", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qwc", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qwh", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qws", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxa", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxc", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxh", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxl", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxn", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxo", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxp", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxr", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxt", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxu", + _distance: "10", + _oneway: "true" + } + }, + { + qu: { + _desired: "qxw", + _distance: "10", + _oneway: "true" + } + }, + { + sc: { + _desired: "sdc", + _distance: "10", + _oneway: "true" + } + }, + { + sc: { + _desired: "sdn", + _distance: "10", + _oneway: "true" + } + }, + { + sc: { + _desired: "sro", + _distance: "10", + _oneway: "true" + } + }, + { + sq: { + _desired: "aae", + _distance: "10", + _oneway: "true" + } + }, + { + sq: { + _desired: "aat", + _distance: "10", + _oneway: "true" + } + }, + { + sq: { + _desired: "aln", + _distance: "10", + _oneway: "true" + } + }, + { + syr: { + _desired: "aii", + _distance: "10", + _oneway: "true" + } + }, + { + uz: { + _desired: "uzs", + _distance: "10", + _oneway: "true" + } + }, + { + yi: { + _desired: "yih", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "cdo", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "cjy", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "cpx", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "czh", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "czo", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "gan", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "hak", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "hsn", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "lzh", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "mnp", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "nan", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "wuu", + _distance: "10", + _oneway: "true" + } + }, + { + zh: { + _desired: "yue", + _distance: "10", + _oneway: "true" + } + }, + { + "*": { + _desired: "*", + _distance: "80" + } + }, + { + "en-Latn": { + _desired: "am-Ethi", + _distance: "10", + _oneway: "true" + } + }, + { + "ru-Cyrl": { + _desired: "az-Latn", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "bn-Beng", + _distance: "10", + _oneway: "true" + } + }, + { + "zh-Hans": { + _desired: "bo-Tibt", + _distance: "10", + _oneway: "true" + } + }, + { + "ru-Cyrl": { + _desired: "hy-Armn", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "ka-Geor", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "km-Khmr", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "kn-Knda", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "lo-Laoo", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "ml-Mlym", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "my-Mymr", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "ne-Deva", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "or-Orya", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "pa-Guru", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "ps-Arab", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "sd-Arab", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "si-Sinh", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "ta-Taml", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "te-Telu", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "ti-Ethi", + _distance: "10", + _oneway: "true" + } + }, + { + "ru-Cyrl": { + _desired: "tk-Latn", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "ur-Arab", + _distance: "10", + _oneway: "true" + } + }, + { + "ru-Cyrl": { + _desired: "uz-Latn", + _distance: "10", + _oneway: "true" + } + }, + { + "en-Latn": { + _desired: "yi-Hebr", + _distance: "10", + _oneway: "true" + } + }, + { + "sr-Cyrl": { + _desired: "sr-Latn", + _distance: "5" + } + }, + { + "zh-Hans": { + _desired: "za-Latn", + _distance: "10", + _oneway: "true" + } + }, + { + "zh-Hans": { + _desired: "zh-Hani", + _distance: "20", + _oneway: "true" + } + }, + { + "zh-Hant": { + _desired: "zh-Hani", + _distance: "20", + _oneway: "true" + } + }, + { + "ar-Arab": { + _desired: "ar-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "bn-Beng": { + _desired: "bn-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "gu-Gujr": { + _desired: "gu-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "hi-Deva": { + _desired: "hi-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "kn-Knda": { + _desired: "kn-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "ml-Mlym": { + _desired: "ml-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "mr-Deva": { + _desired: "mr-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "ta-Taml": { + _desired: "ta-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "te-Telu": { + _desired: "te-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "zh-Hans": { + _desired: "zh-Latn", + _distance: "20", + _oneway: "true" + } + }, + { + "ja-Jpan": { + _desired: "ja-Latn", + _distance: "5", + _oneway: "true" + } + }, + { + "ja-Jpan": { + _desired: "ja-Hani", + _distance: "5", + _oneway: "true" + } + }, + { + "ja-Jpan": { + _desired: "ja-Hira", + _distance: "5", + _oneway: "true" + } + }, + { + "ja-Jpan": { + _desired: "ja-Kana", + _distance: "5", + _oneway: "true" + } + }, + { + "ja-Jpan": { + _desired: "ja-Hrkt", + _distance: "5", + _oneway: "true" + } + }, + { + "ja-Hrkt": { + _desired: "ja-Hira", + _distance: "5", + _oneway: "true" + } + }, + { + "ja-Hrkt": { + _desired: "ja-Kana", + _distance: "5", + _oneway: "true" + } + }, + { + "ko-Kore": { + _desired: "ko-Hani", + _distance: "5", + _oneway: "true" + } + }, + { + "ko-Kore": { + _desired: "ko-Hang", + _distance: "5", + _oneway: "true" + } + }, + { + "ko-Kore": { + _desired: "ko-Jamo", + _distance: "5", + _oneway: "true" + } + }, + { + "ko-Hang": { + _desired: "ko-Jamo", + _distance: "5", + _oneway: "true" + } + }, + { + "*-*": { + _desired: "*-*", + _distance: "50" + } + }, + { + "ar-*-$maghreb": { + _desired: "ar-*-$maghreb", + _distance: "4" + } + }, + { + "ar-*-$!maghreb": { + _desired: "ar-*-$!maghreb", + _distance: "4" + } + }, + { + "ar-*-*": { + _desired: "ar-*-*", + _distance: "5" + } + }, + { + "en-*-$enUS": { + _desired: "en-*-$enUS", + _distance: "4" + } + }, + { + "en-*-GB": { + _desired: "en-*-$!enUS", + _distance: "3" + } + }, + { + "en-*-$!enUS": { + _desired: "en-*-$!enUS", + _distance: "4" + } + }, + { + "en-*-*": { + _desired: "en-*-*", + _distance: "5" + } + }, + { + "es-*-$americas": { + _desired: "es-*-$americas", + _distance: "4" + } + }, + { + "es-*-$!americas": { + _desired: "es-*-$!americas", + _distance: "4" + } + }, + { + "es-*-*": { + _desired: "es-*-*", + _distance: "5" + } + }, + { + "pt-*-$americas": { + _desired: "pt-*-$americas", + _distance: "4" + } + }, + { + "pt-*-$!americas": { + _desired: "pt-*-$!americas", + _distance: "4" + } + }, + { + "pt-*-*": { + _desired: "pt-*-*", + _distance: "5" + } + }, + { + "zh-Hant-$cnsar": { + _desired: "zh-Hant-$cnsar", + _distance: "4" + } + }, + { + "zh-Hant-$!cnsar": { + _desired: "zh-Hant-$!cnsar", + _distance: "4" + } + }, + { + "zh-Hant-*": { + _desired: "zh-Hant-*", + _distance: "5" + } + }, + { + "*-*-*": { + _desired: "*-*-*", + _distance: "4" + } + } + ] + } + } +}; +//#endregion +//#region node_modules/.aspect_rules_js/@formatjs_generated+cldr.core@0.0.0/node_modules/@formatjs_generated/cldr.core/regions.js +const regions = { + "001": [ + "001", + "001-status-grouping", + "002", + "005", + "009", + "011", + "013", + "014", + "015", + "017", + "018", + "019", + "021", + "029", + "030", + "034", + "035", + "039", + "053", + "054", + "057", + "061", + "142", + "143", + "145", + "150", + "151", + "154", + "155", + "AC", + "AD", + "AE", + "AF", + "AG", + "AI", + "AL", + "AM", + "AO", + "AQ", + "AR", + "AS", + "AT", + "AU", + "AW", + "AX", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BL", + "BM", + "BN", + "BO", + "BQ", + "BR", + "BS", + "BT", + "BV", + "BW", + "BY", + "BZ", + "CA", + "CC", + "CD", + "CF", + "CG", + "CH", + "CI", + "CK", + "CL", + "CM", + "CN", + "CO", + "CP", + "CQ", + "CR", + "CU", + "CV", + "CW", + "CX", + "CY", + "CZ", + "DE", + "DG", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EA", + "EC", + "EE", + "EG", + "EH", + "ER", + "ES", + "ET", + "EU", + "EZ", + "FI", + "FJ", + "FK", + "FM", + "FO", + "FR", + "GA", + "GB", + "GD", + "GE", + "GF", + "GG", + "GH", + "GI", + "GL", + "GM", + "GN", + "GP", + "GQ", + "GR", + "GS", + "GT", + "GU", + "GW", + "GY", + "HK", + "HM", + "HN", + "HR", + "HT", + "HU", + "IC", + "ID", + "IE", + "IL", + "IM", + "IN", + "IO", + "IQ", + "IR", + "IS", + "IT", + "JE", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KY", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MF", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MO", + "MP", + "MQ", + "MR", + "MS", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NC", + "NE", + "NF", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NU", + "NZ", + "OM", + "PA", + "PE", + "PF", + "PG", + "PH", + "PK", + "PL", + "PM", + "PN", + "PR", + "PS", + "PT", + "PW", + "PY", + "QA", + "QO", + "RE", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SH", + "SI", + "SJ", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SX", + "SY", + "SZ", + "TA", + "TC", + "TD", + "TF", + "TG", + "TH", + "TJ", + "TK", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TW", + "TZ", + "UA", + "UG", + "UM", + "UN", + "US", + "UY", + "UZ", + "VA", + "VC", + "VE", + "VG", + "VI", + "VN", + "VU", + "WF", + "WS", + "XK", + "YE", + "YT", + "ZA", + "ZM", + "ZW" + ], + "002": [ + "002", + "002-status-grouping", + "011", + "014", + "015", + "017", + "018", + "202", + "AO", + "BF", + "BI", + "BJ", + "BW", + "CD", + "CF", + "CG", + "CI", + "CM", + "CV", + "DJ", + "DZ", + "EA", + "EG", + "EH", + "ER", + "ET", + "GA", + "GH", + "GM", + "GN", + "GQ", + "GW", + "IC", + "IO", + "KE", + "KM", + "LR", + "LS", + "LY", + "MA", + "MG", + "ML", + "MR", + "MU", + "MW", + "MZ", + "NA", + "NE", + "NG", + "RE", + "RW", + "SC", + "SD", + "SH", + "SL", + "SN", + "SO", + "SS", + "ST", + "SZ", + "TD", + "TF", + "TG", + "TN", + "TZ", + "UG", + "YT", + "ZA", + "ZM", + "ZW" + ], + "003": [ + "003", + "013", + "021", + "029", + "AG", + "AI", + "AW", + "BB", + "BL", + "BM", + "BQ", + "BS", + "BZ", + "CA", + "CR", + "CU", + "CW", + "DM", + "DO", + "GD", + "GL", + "GP", + "GT", + "HN", + "HT", + "JM", + "KN", + "KY", + "LC", + "MF", + "MQ", + "MS", + "MX", + "NI", + "PA", + "PM", + "PR", + "SV", + "SX", + "TC", + "TT", + "US", + "VC", + "VG", + "VI" + ], + "005": [ + "005", + "AR", + "BO", + "BR", + "BV", + "CL", + "CO", + "EC", + "FK", + "GF", + "GS", + "GY", + "PE", + "PY", + "SR", + "UY", + "VE" + ], + "009": [ + "009", + "053", + "054", + "057", + "061", + "AC", + "AQ", + "AS", + "AU", + "CC", + "CK", + "CP", + "CX", + "DG", + "FJ", + "FM", + "GU", + "HM", + "KI", + "MH", + "MP", + "NC", + "NF", + "NR", + "NU", + "NZ", + "PF", + "PG", + "PN", + "PW", + "QO", + "SB", + "TA", + "TK", + "TO", + "TV", + "UM", + "VU", + "WF", + "WS" + ], + "011": [ + "011", + "BF", + "BJ", + "CI", + "CV", + "GH", + "GM", + "GN", + "GW", + "LR", + "ML", + "MR", + "NE", + "NG", + "SH", + "SL", + "SN", + "TG" + ], + "013": [ + "013", + "BZ", + "CR", + "GT", + "HN", + "MX", + "NI", + "PA", + "SV" + ], + "014": [ + "014", + "BI", + "DJ", + "ER", + "ET", + "IO", + "KE", + "KM", + "MG", + "MU", + "MW", + "MZ", + "RE", + "RW", + "SC", + "SO", + "SS", + "TF", + "TZ", + "UG", + "YT", + "ZM", + "ZW" + ], + "015": [ + "015", + "DZ", + "EA", + "EG", + "EH", + "IC", + "LY", + "MA", + "SD", + "TN" + ], + "017": [ + "017", + "AO", + "CD", + "CF", + "CG", + "CM", + "GA", + "GQ", + "ST", + "TD" + ], + "018": [ + "018", + "BW", + "LS", + "NA", + "SZ", + "ZA" + ], + "019": [ + "003", + "005", + "013", + "019", + "019-status-grouping", + "021", + "029", + "419", + "AG", + "AI", + "AR", + "AW", + "BB", + "BL", + "BM", + "BO", + "BQ", + "BR", + "BS", + "BV", + "BZ", + "CA", + "CL", + "CO", + "CR", + "CU", + "CW", + "DM", + "DO", + "EC", + "FK", + "GD", + "GF", + "GL", + "GP", + "GS", + "GT", + "GY", + "HN", + "HT", + "JM", + "KN", + "KY", + "LC", + "MF", + "MQ", + "MS", + "MX", + "NI", + "PA", + "PE", + "PM", + "PR", + "PY", + "SR", + "SV", + "SX", + "TC", + "TT", + "US", + "UY", + "VC", + "VE", + "VG", + "VI" + ], + "021": [ + "021", + "BM", + "CA", + "GL", + "PM", + "US" + ], + "029": [ + "029", + "AG", + "AI", + "AW", + "BB", + "BL", + "BQ", + "BS", + "CU", + "CW", + "DM", + "DO", + "GD", + "GP", + "HT", + "JM", + "KN", + "KY", + "LC", + "MF", + "MQ", + "MS", + "PR", + "SX", + "TC", + "TT", + "VC", + "VG", + "VI" + ], + "030": [ + "030", + "CN", + "HK", + "JP", + "KP", + "KR", + "MN", + "MO", + "TW" + ], + "034": [ + "034", + "AF", + "BD", + "BT", + "IN", + "IR", + "LK", + "MV", + "NP", + "PK" + ], + "035": [ + "035", + "BN", + "ID", + "KH", + "LA", + "MM", + "MY", + "PH", + "SG", + "TH", + "TL", + "VN" + ], + "039": [ + "039", + "AD", + "AL", + "BA", + "ES", + "GI", + "GR", + "HR", + "IT", + "ME", + "MK", + "MT", + "PT", + "RS", + "SI", + "SM", + "VA", + "XK" + ], + "053": [ + "053", + "AU", + "CC", + "CX", + "HM", + "NF", + "NZ" + ], + "054": [ + "054", + "FJ", + "NC", + "PG", + "SB", + "VU" + ], + "057": [ + "057", + "FM", + "GU", + "KI", + "MH", + "MP", + "NR", + "PW", + "UM" + ], + "061": [ + "061", + "AS", + "CK", + "NU", + "PF", + "PN", + "TK", + "TO", + "TV", + "WF", + "WS" + ], + "142": [ + "030", + "034", + "035", + "142", + "143", + "145", + "AE", + "AF", + "AM", + "AZ", + "BD", + "BH", + "BN", + "BT", + "CN", + "CY", + "GE", + "HK", + "ID", + "IL", + "IN", + "IQ", + "IR", + "JO", + "JP", + "KG", + "KH", + "KP", + "KR", + "KW", + "KZ", + "LA", + "LB", + "LK", + "MM", + "MN", + "MO", + "MV", + "MY", + "NP", + "OM", + "PH", + "PK", + "PS", + "QA", + "SA", + "SG", + "SY", + "TH", + "TJ", + "TL", + "TM", + "TR", + "TW", + "UZ", + "VN", + "YE" + ], + "143": [ + "143", + "KG", + "KZ", + "TJ", + "TM", + "UZ" + ], + "145": [ + "145", + "AE", + "AM", + "AZ", + "BH", + "CY", + "GE", + "IL", + "IQ", + "JO", + "KW", + "LB", + "OM", + "PS", + "QA", + "SA", + "SY", + "TR", + "YE" + ], + "150": [ + "039", + "150", + "151", + "154", + "155", + "AD", + "AL", + "AT", + "AX", + "BA", + "BE", + "BG", + "BY", + "CH", + "CQ", + "CZ", + "DE", + "DK", + "EE", + "ES", + "FI", + "FO", + "FR", + "GB", + "GG", + "GI", + "GR", + "HR", + "HU", + "IE", + "IM", + "IS", + "IT", + "JE", + "LI", + "LT", + "LU", + "LV", + "MC", + "MD", + "ME", + "MK", + "MT", + "NL", + "NO", + "PL", + "PT", + "RO", + "RS", + "RU", + "SE", + "SI", + "SJ", + "SK", + "SM", + "UA", + "VA", + "XK" + ], + "151": [ + "151", + "BG", + "BY", + "CZ", + "HU", + "MD", + "PL", + "RO", + "RU", + "SK", + "UA" + ], + "154": [ + "154", + "AX", + "CQ", + "DK", + "EE", + "FI", + "FO", + "GB", + "GG", + "IE", + "IM", + "IS", + "JE", + "LT", + "LV", + "NO", + "SE", + "SJ" + ], + "155": [ + "155", + "AT", + "BE", + "CH", + "DE", + "FR", + "LI", + "LU", + "MC", + "NL" + ], + "202": [ + "011", + "014", + "017", + "018", + "202", + "AO", + "BF", + "BI", + "BJ", + "BW", + "CD", + "CF", + "CG", + "CI", + "CM", + "CV", + "DJ", + "ER", + "ET", + "GA", + "GH", + "GM", + "GN", + "GQ", + "GW", + "IO", + "KE", + "KM", + "LR", + "LS", + "MG", + "ML", + "MR", + "MU", + "MW", + "MZ", + "NA", + "NE", + "NG", + "RE", + "RW", + "SC", + "SH", + "SL", + "SN", + "SO", + "SS", + "ST", + "SZ", + "TD", + "TF", + "TG", + "TZ", + "UG", + "YT", + "ZA", + "ZM", + "ZW" + ], + "419": [ + "005", + "013", + "029", + "419", + "AG", + "AI", + "AR", + "AW", + "BB", + "BL", + "BO", + "BQ", + "BR", + "BS", + "BV", + "BZ", + "CL", + "CO", + "CR", + "CU", + "CW", + "DM", + "DO", + "EC", + "FK", + "GD", + "GF", + "GP", + "GS", + "GT", + "GY", + "HN", + "HT", + "JM", + "KN", + "KY", + "LC", + "MF", + "MQ", + "MS", + "MX", + "NI", + "PA", + "PE", + "PR", + "PY", + "SR", + "SV", + "SX", + "TC", + "TT", + "UY", + "VC", + "VE", + "VG", + "VI" + ], + "EU": [ + "AT", + "BE", + "BG", + "CY", + "CZ", + "DE", + "DK", + "EE", + "ES", + "EU", + "FI", + "FR", + "GR", + "HR", + "HU", + "IE", + "IT", + "LT", + "LU", + "LV", + "MT", + "NL", + "PL", + "PT", + "RO", + "SE", + "SI", + "SK" + ], + "EZ": [ + "AT", + "BE", + "CY", + "DE", + "EE", + "ES", + "EZ", + "FI", + "FR", + "GR", + "IE", + "IT", + "LT", + "LU", + "LV", + "MT", + "NL", + "PT", + "SI", + "SK" + ], + "QO": [ + "AC", + "AQ", + "CP", + "DG", + "QO", + "TA" + ], + "UN": [ + "AD", + "AE", + "AF", + "AG", + "AL", + "AM", + "AO", + "AR", + "AT", + "AU", + "AZ", + "BA", + "BB", + "BD", + "BE", + "BF", + "BG", + "BH", + "BI", + "BJ", + "BN", + "BO", + "BR", + "BS", + "BT", + "BW", + "BY", + "BZ", + "CA", + "CD", + "CF", + "CG", + "CH", + "CI", + "CL", + "CM", + "CN", + "CO", + "CR", + "CU", + "CV", + "CY", + "CZ", + "DE", + "DJ", + "DK", + "DM", + "DO", + "DZ", + "EC", + "EE", + "EG", + "ER", + "ES", + "ET", + "FI", + "FJ", + "FM", + "FR", + "GA", + "GB", + "GD", + "GE", + "GH", + "GM", + "GN", + "GQ", + "GR", + "GT", + "GW", + "GY", + "HN", + "HR", + "HT", + "HU", + "ID", + "IE", + "IL", + "IN", + "IQ", + "IR", + "IS", + "IT", + "JM", + "JO", + "JP", + "KE", + "KG", + "KH", + "KI", + "KM", + "KN", + "KP", + "KR", + "KW", + "KZ", + "LA", + "LB", + "LC", + "LI", + "LK", + "LR", + "LS", + "LT", + "LU", + "LV", + "LY", + "MA", + "MC", + "MD", + "ME", + "MG", + "MH", + "MK", + "ML", + "MM", + "MN", + "MR", + "MT", + "MU", + "MV", + "MW", + "MX", + "MY", + "MZ", + "NA", + "NE", + "NG", + "NI", + "NL", + "NO", + "NP", + "NR", + "NZ", + "OM", + "PA", + "PE", + "PG", + "PH", + "PK", + "PL", + "PT", + "PW", + "PY", + "QA", + "RO", + "RS", + "RU", + "RW", + "SA", + "SB", + "SC", + "SD", + "SE", + "SG", + "SI", + "SK", + "SL", + "SM", + "SN", + "SO", + "SR", + "SS", + "ST", + "SV", + "SY", + "SZ", + "TD", + "TG", + "TH", + "TJ", + "TL", + "TM", + "TN", + "TO", + "TR", + "TT", + "TV", + "TZ", + "UA", + "UG", + "UN", + "US", + "UY", + "UZ", + "VC", + "VE", + "VN", + "VU", + "WS", + "YE", + "ZA", + "ZM", + "ZW" + ] +}; +//#endregion +//#region packages/intl-localematcher/abstract/utils.ts +function splitUnicodeExtension(locale) { + const subtags = locale.split("-"); + for(let i = 1; i < subtags.length; i++){ + if (subtags[i] === "x") break; + if (subtags[i] !== "u") continue; + let end = i + 1; + while(end < subtags.length && subtags[end].length > 1)end++; + return { + locale: [ + ...subtags.slice(0, i), + ...subtags.slice(end) + ].join("-"), + extension: "-" + subtags.slice(i, end).join("-") + }; + } + return { + locale + }; +} +/** +* Asserts that a condition is true, throwing an error if it is not. +* Used for runtime validation and type narrowing. +* +* @param condition - The condition to check +* @param message - Error message if condition is false +* @param Err - Error constructor to use (defaults to Error) +* @throws {Error} When condition is false +* +* @example +* ```ts +* invariant(locale !== undefined, 'Locale must be defined') +* // locale is now narrowed to non-undefined type +* ``` +*/ function invariant(condition, message, Err = Error) { + if (!condition) throw new Err(message); +} +const DEFAULT_MATCHING_THRESHOLD = 838; +let PROCESSED_DATA; +function processData() { + if (!PROCESSED_DATA) { + const paradigmLocales = data.supplemental.languageMatching["written-new"][0]?.paradigmLocales?._locales.split(" "); + const matchVariables = data.supplemental.languageMatching["written-new"].slice(1, 5); + PROCESSED_DATA = { + matches: data.supplemental.languageMatching["written-new"].slice(5).map((d)=>{ + const key = Object.keys(d)[0]; + const value = d[key]; + return { + supported: key, + desired: value._desired, + distance: +value._distance, + oneway: value.oneway === "true" ? true : false + }; + }, {}), + matchVariables: matchVariables.reduce((all, d)=>{ + const key = Object.keys(d)[0]; + const value = d[key]; + all[key.slice(1)] = value._value.split("+"); + return all; + }, {}), + paradigmLocales: [ + ...paradigmLocales, + ...paradigmLocales.map((l)=>new Intl.Locale(l.replace(/_/g, "-")).maximize().toString()) + ] + }; + } + return PROCESSED_DATA; +} +function isMatched(locale, languageMatchInfoLocale, matchVariables) { + const [language, script, region] = languageMatchInfoLocale.split("-"); + let matches = true; + if (region && region[0] === "$") { + const shouldInclude = region[1] !== "!"; + const expandedMatchedRegions = (shouldInclude ? matchVariables[region.slice(1)] : matchVariables[region.slice(2)]).map((r)=>regions[r] || [ + r + ]).reduce((all, list)=>[ + ...all, + ...list + ], []); + matches &&= !(expandedMatchedRegions.indexOf(locale.region || "") > -1 != shouldInclude); + } else matches &&= locale.region ? region === "*" || region === locale.region : true; + matches &&= locale.script ? script === "*" || script === locale.script : true; + matches &&= locale.language ? language === "*" || language === locale.language : true; + return matches; +} +function serializeLSR(lsr) { + return [ + lsr.language, + lsr.script, + lsr.region + ].filter(Boolean).join("-"); +} +function findMatchingDistanceForLSR(desired, supported, data) { + for (const d of data.matches){ + let matches = isMatched(desired, d.desired, data.matchVariables) && isMatched(supported, d.supported, data.matchVariables); + if (!d.oneway && !matches) matches = isMatched(desired, d.supported, data.matchVariables) && isMatched(supported, d.desired, data.matchVariables); + if (matches) { + const distance = d.distance * 10; + if (data.paradigmLocales.indexOf(serializeLSR(desired)) > -1 != data.paradigmLocales.indexOf(serializeLSR(supported)) > -1) return distance - 1; + return distance; + } + } + throw new Error("No matching distance found"); +} +function findMatchingDistanceImpl(desired, supported) { + const desiredLocale = new Intl.Locale(desired).maximize(); + const supportedLocale = new Intl.Locale(supported).maximize(); + const desiredLSR = { + language: desiredLocale.language, + script: desiredLocale.script || "", + region: desiredLocale.region || "" + }; + const supportedLSR = { + language: supportedLocale.language, + script: supportedLocale.script || "", + region: supportedLocale.region || "" + }; + let matchingDistance = 0; + const data = processData(); + if (desiredLSR.language !== supportedLSR.language) matchingDistance += findMatchingDistanceForLSR({ + language: desiredLocale.language, + script: "", + region: "" + }, { + language: supportedLocale.language, + script: "", + region: "" + }, data); + if (desiredLSR.script !== supportedLSR.script) matchingDistance += findMatchingDistanceForLSR({ + language: desiredLocale.language, + script: desiredLSR.script, + region: "" + }, { + language: supportedLocale.language, + script: supportedLSR.script, + region: "" + }, data); + if (desiredLSR.region !== supportedLSR.region) matchingDistance += findMatchingDistanceForLSR(desiredLSR, supportedLSR, data); + return matchingDistance; +} +/** +* Calculates the matching distance between two locales using the CLDR Enhanced Language Matching algorithm. +* This function is memoized for performance, as distance calculations are expensive. +* +* The distance represents how "far apart" two locales are, with 0 being identical (after maximization). +* Distances are calculated based on Language-Script-Region (LSR) differences using CLDR data. +* +* @param desired - The desired locale (e.g., "en-US") +* @param supported - The supported locale to compare against (e.g., "en-GB") +* @returns The calculated distance between the locales +* +* @example +* ```ts +* findMatchingDistance('en-US', 'en-US') // 0 - identical +* findMatchingDistance('en-US', 'en-GB') // 40 - same language/script, different region +* findMatchingDistance('es-CO', 'es-419') // 39 - regional variant +* findMatchingDistance('en', 'fr') // 840 - completely different languages +* ``` +* +* @see https://unicode.org/reports/tr35/#EnhancedLanguageMatching +*/ const findMatchingDistance = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$formatjs$2f$fast$2d$memoize$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["memoize"])(findMatchingDistanceImpl, { + serializer: (args)=>`${args[0]}|${args[1]}` +}); +/** +* Generates fallback candidates by progressively removing subtags +* e.g., "en-US" -> ["en-US", "en"] +* "zh-Hans-CN" -> ["zh-Hans-CN", "zh-Hans", "zh"] +*/ function getFallbackCandidates(locale) { + const candidates = []; + let current = locale; + while(current){ + candidates.push(current); + const lastDash = current.lastIndexOf("-"); + if (lastDash === -1) break; + current = current.substring(0, lastDash); + } + return candidates; +} +/** +* Finds the best locale match using a three-tier optimization hierarchy. +* +* ## Three-Tier Matching Algorithm: +* +* **Tier 1 - Fast Path** (O(n)): Exact string matching via Set lookup +* - Example: 'en' matches 'en' exactly → distance 0 +* - Solves #4936: 48x faster than baseline (12ms vs 610ms with 700+ locales) +* +* **Tier 2 - Fallback Path** (O(k×n)): Maximization + progressive subtag removal +* - Maximizes requested locale, then removes subtags right-to-left +* - Example: "zh-TW" → "zh-Hant-TW" → ["zh-Hant-TW", "zh-Hant", "zh"] +* - Distance: 0 for maximized match, 10 per removed subtag + position penalty +* - 40-50x faster than full UTS #35, handles 99% of real-world cases correctly +* +* **Tier 3 - Slow Path** (O(n×m), memoized): Full UTS #35 CLDR matching +* - Calculates Language-Script-Region distances using CLDR data +* - Handles complex cases like cross-script matching (sr-Cyrl ↔ sr-Latn) +* - Only used when Tiers 1 & 2 find no match +* - Still 6x faster than baseline due to memoization +* +* ## Performance Impact of Maximization: +* +* While Tier 2 now calls `Intl.Locale().maximize()` once per requested locale, +* this is still much faster than Tier 3's full distance calculation: +* - Tier 1: ~12ms (exact match, no maximization) +* - Tier 2: ~13-15ms (maximization + fallback) +* - Tier 3: ~100ms+ (full UTS #35 with all supported locales) +* +* @param requestedLocales - Locale identifiers in preference order +* @param supportedLocales - Available locale identifiers +* @param threshold - Maximum distance (default: 838, from CLDR) +* @returns Matching result with distances +* +* @example +* ```ts +* // Tier 1: Exact match +* findBestMatch(['en'], ['en', 'fr']) +* // → { matchedSupportedLocale: 'en', distances: { en: { en: 0 } } } +* +* // Tier 2: Fallback with maximization +* findBestMatch(['zh-TW'], ['zh-Hant']) +* // → zh-TW maximizes to zh-Hant-TW, falls back to zh-Hant (distance 0) +* +* findBestMatch(['en-US'], ['en']) +* // → en-US maximizes to en-Latn-US, falls back to en (distance 10) +* +* // Tier 3: Full calculation +* findBestMatch(['en-XZ'], ['ja', 'ko']) +* // → No fallback match, uses UTS #35 to find closest match +* ``` +* +* @see https://unicode.org/reports/tr35/#EnhancedLanguageMatching +* @see https://github.com/formatjs/formatjs/issues/4936 +*/ const canonicalizedSupportedCache = /* @__PURE__ */ new WeakMap(); +function findBestMatch(requestedLocales, supportedLocales, threshold = DEFAULT_MATCHING_THRESHOLD) { + let lowestDistance = Infinity; + let result = { + matchedDesiredLocale: "", + distances: {} + }; + let canonicalizedSupportedLocales = canonicalizedSupportedCache.get(supportedLocales); + if (!canonicalizedSupportedLocales) { + canonicalizedSupportedLocales = supportedLocales.map((locale)=>{ + try { + return Intl.getCanonicalLocales([ + locale + ])[0] || locale; + } catch { + return locale; + } + }); + canonicalizedSupportedCache.set(supportedLocales, canonicalizedSupportedLocales); + } + const supportedSet = new Set(canonicalizedSupportedLocales); + for(let i = 0; i < requestedLocales.length; i++){ + const desired = requestedLocales[i]; + if (supportedSet.has(desired)) { + const distance = 0 + i * 40; + result.distances[desired] = { + [desired]: distance + }; + if (distance < lowestDistance) { + lowestDistance = distance; + result.matchedDesiredLocale = desired; + result.matchedSupportedLocale = desired; + } + if (i === 0) return result; + } + } + for(let i = 0; i < requestedLocales.length; i++){ + const desired = requestedLocales[i]; + try { + const maximized = new Intl.Locale(desired).maximize().toString(); + if (maximized !== desired) { + const maximizedCandidates = getFallbackCandidates(maximized); + for(let j = 0; j < maximizedCandidates.length; j++){ + const candidate = maximizedCandidates[j]; + if (candidate === desired) continue; + if (supportedSet.has(candidate)) { + let distance; + try { + distance = new Intl.Locale(candidate).maximize().toString() === maximized ? 0 + i * 40 : j * 10 + i * 40; + } catch { + distance = j * 10 + i * 40; + } + if (!result.distances[desired]) result.distances[desired] = {}; + result.distances[desired][candidate] = distance; + if (distance < lowestDistance) { + lowestDistance = distance; + result.matchedDesiredLocale = desired; + result.matchedSupportedLocale = candidate; + } + break; + } + } + } + } catch {} + } + if (result.matchedSupportedLocale && lowestDistance === 0) return result; + lowestDistance = Infinity; + requestedLocales.forEach((desired, i)=>{ + if (!result.distances[desired]) result.distances[desired] = {}; + canonicalizedSupportedLocales.forEach((canonicalLocale, supportedIndex)=>{ + const originalSupported = supportedLocales[supportedIndex]; + const finalDistance = findMatchingDistance(desired, canonicalLocale) + 0 + i * 40; + result.distances[desired][originalSupported] = finalDistance; + if (finalDistance < lowestDistance) { + lowestDistance = finalDistance; + result.matchedDesiredLocale = desired; + result.matchedSupportedLocale = originalSupported; + } + }); + }); + if (lowestDistance >= threshold) { + result.matchedDesiredLocale = void 0; + result.matchedSupportedLocale = void 0; + } + return result; +} +//#endregion +//#region packages/intl-localematcher/abstract/BestFitMatcher.ts +/** +* https://tc39.es/ecma402/#sec-bestfitmatcher +* @param availableLocales +* @param requestedLocales +* @param getDefaultLocale +*/ function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) { + let foundLocale; + let extension; + const noExtensionLocales = []; + const noExtensionLocaleMap = requestedLocales.reduce((all, l)=>{ + const { locale: noExtensionLocale } = splitUnicodeExtension(l); + noExtensionLocales.push(noExtensionLocale); + all[noExtensionLocale] = l; + return all; + }, {}); + const result = findBestMatch(noExtensionLocales, availableLocales); + if (result.matchedSupportedLocale && result.matchedDesiredLocale) { + foundLocale = result.matchedSupportedLocale; + extension = splitUnicodeExtension(noExtensionLocaleMap[result.matchedDesiredLocale]).extension; + } + if (!foundLocale) return { + locale: getDefaultLocale() + }; + return { + locale: foundLocale, + extension + }; +} +//#endregion +//#region packages/intl-localematcher/abstract/CanonicalizeUValue.ts +function CanonicalizeUValue(ukey, uvalue) { + let lowerValue = uvalue.toLowerCase(); + invariant(ukey !== void 0, `ukey must be defined`); + return lowerValue; +} +//#endregion +//#region packages/intl-localematcher/abstract/CanonicalizeUnicodeLocaleId.ts +function CanonicalizeUnicodeLocaleId(locale) { + return Intl.getCanonicalLocales(locale)[0]; +} +//#endregion +//#region packages/intl-localematcher/abstract/InsertUnicodeExtensionAndCanonicalize.ts +function InsertUnicodeExtensionAndCanonicalize(locale, attributes, keywords) { + invariant(splitUnicodeExtension(locale).extension === void 0, "Expected locale to not have a Unicode locale extension"); + let extension = "-u"; + for (const attr of attributes)extension += `-${attr}`; + for (const kw of keywords){ + const { key, value } = kw; + extension += `-${key}`; + if (value !== "") extension += `-${value}`; + } + if (extension === "-u") return CanonicalizeUnicodeLocaleId(locale); + let privateIndex = locale.indexOf("-x-"); + let newLocale; + if (privateIndex === -1) newLocale = locale + extension; + else { + let preExtension = locale.slice(0, privateIndex); + let postExtension = locale.slice(privateIndex); + newLocale = preExtension + extension + postExtension; + } + return CanonicalizeUnicodeLocaleId(newLocale); +} +//#endregion +//#region packages/intl-localematcher/abstract/BestAvailableLocale.ts +const availableLocalesSetCache = /* @__PURE__ */ new WeakMap(); +/** +* https://tc39.es/ecma402/#sec-bestavailablelocale +* @param availableLocales +* @param locale +*/ function BestAvailableLocale(availableLocales, locale) { + let availableSet = availableLocalesSetCache.get(availableLocales); + if (!availableSet) { + availableSet = new Set(availableLocales); + availableLocalesSetCache.set(availableLocales, availableSet); + } + let candidate = locale; + while(true){ + if (availableSet.has(candidate)) return candidate; + let pos = candidate.lastIndexOf("-"); + if (!~pos) return; + if (pos >= 2 && candidate[pos - 2] === "-") pos -= 2; + candidate = candidate.slice(0, pos); + } +} +//#endregion +//#region packages/intl-localematcher/abstract/LookupMatcher.ts +/** +* https://tc39.es/ecma402/#sec-lookupmatcher +* @param availableLocales +* @param requestedLocales +* @param getDefaultLocale +*/ function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) { + const result = { + locale: "" + }; + for (const locale of requestedLocales){ + const { locale: noExtensionLocale, extension } = splitUnicodeExtension(locale); + const availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale); + if (availableLocale) { + result.locale = availableLocale; + if (extension) result.extension = extension; + return result; + } + } + result.locale = getDefaultLocale(); + return result; +} +//#endregion +//#region packages/intl-localematcher/abstract/UnicodeExtensionComponents.ts +function UnicodeExtensionComponents(extension) { + invariant(extension === extension.toLowerCase(), "Expected extension to be lowercase"); + invariant(extension.slice(0, 3) === "-u-", "Expected extension to be a Unicode locale extension"); + const attributes = []; + const keywords = []; + let keyword; + let size = extension.length; + let k = 3; + while(k < size){ + let e = extension.indexOf("-", k); + let len; + if (e === -1) len = size - k; + else len = e - k; + let subtag = extension.slice(k, k + len); + invariant(len >= 2, "Expected a subtag to have at least 2 characters"); + if (keyword === void 0 && len != 2) { + if (attributes.indexOf(subtag) === -1) attributes.push(subtag); + } else if (len === 2) { + keyword = { + key: subtag, + value: "" + }; + if (keywords.find((k)=>k.key === keyword?.key) === void 0) keywords.push(keyword); + } else if (keyword?.value === "") keyword.value = subtag; + else { + invariant(keyword !== void 0, "Expected keyword to be defined"); + keyword.value += "-" + subtag; + } + k += len + 1; + } + return { + attributes, + keywords + }; +} +//#endregion +//#region packages/intl-localematcher/abstract/ResolveLocale.ts +/** +* https://tc39.es/ecma402/#sec-resolvelocale +*/ function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) { + const matcher = options.localeMatcher; + let r; + if (matcher === "lookup") r = LookupMatcher(Array.from(availableLocales), requestedLocales, getDefaultLocale); + else r = BestFitMatcher(Array.from(availableLocales), requestedLocales, getDefaultLocale); + if (r == null) r = { + locale: getDefaultLocale(), + extension: "" + }; + let foundLocale = r.locale; + let foundLocaleData = localeData[foundLocale]; + const result = Object.create(null); + result.locale = "en"; + result.dataLocale = foundLocale; + let components; + let keywords; + if (r.extension) { + components = UnicodeExtensionComponents(r.extension); + keywords = components.keywords; + } else keywords = []; + let supportedKeywords = []; + for (const key of relevantExtensionKeys){ + let keyLocaleData = foundLocaleData?.[key] ?? []; + invariant(Array.isArray(keyLocaleData), `keyLocaleData for ${key} must be an array`); + let value = keyLocaleData[0]; + invariant(value == null || typeof value === "string", `value must be a string, null, or undefined`); + let supportedKeyword; + let entry = keywords.find((k)=>k.key === key); + if (entry) { + let requestedValue = entry.value; + if (requestedValue !== "") { + if (keyLocaleData.indexOf(requestedValue) > -1) { + value = requestedValue; + supportedKeyword = { + key, + value + }; + } + } else if (keyLocaleData.indexOf("true") > -1) { + value = "true"; + supportedKeyword = { + key, + value + }; + } + } + let optionsValue = options[key]; + invariant(optionsValue == null || typeof optionsValue === "string", `optionsValue must be a string or undefined`); + if (typeof optionsValue === "string") { + optionsValue = CanonicalizeUValue(key.toLowerCase(), optionsValue); + if (optionsValue === "") optionsValue = "true"; + } + if (optionsValue !== void 0 && optionsValue !== value && keyLocaleData.indexOf(optionsValue) > -1) { + value = optionsValue; + supportedKeyword = void 0; + } + if (supportedKeyword) supportedKeywords.push(supportedKeyword); + result[key] = value; + } + let supportedAttributes = []; + if (supportedKeywords.length > 0) { + supportedAttributes = []; + foundLocale = InsertUnicodeExtensionAndCanonicalize(foundLocale, supportedAttributes, supportedKeywords); + } + result.locale = foundLocale; + return result; +} +//#endregion +//#region packages/intl-localematcher/abstract/LookupSupportedLocales.ts +/** +* https://tc39.es/ecma402/#sec-lookupsupportedlocales +* @param availableLocales +* @param requestedLocales +*/ function LookupSupportedLocales(availableLocales, requestedLocales) { + const subset = []; + for (const locale of requestedLocales){ + const { locale: noExtensionLocale } = splitUnicodeExtension(locale); + if (BestAvailableLocale(availableLocales, noExtensionLocale)) subset.push(locale); + } + return subset; +} +//#endregion +//#region packages/intl-localematcher/index.ts +function match(requestedLocales, availableLocales, defaultLocale, opts) { + return ResolveLocale(availableLocales, CanonicalizeLocaleList(requestedLocales), { + localeMatcher: opts?.algorithm || "best fit" + }, [], {}, ()=>defaultLocale).locale; +} +; +}), +"[project]/node_modules/content-type/dist/index.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.format = format; +exports.parse = parse; +const TEXT_REGEXP = /^[\u0009\u0020-\u007e\u0080-\u00ff]*$/; +const TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; +/** + * RegExp to match chars that must be quoted-pair in RFC 9110 sec 5.6.4 + */ const QUOTE_REGEXP = /[\\"]/g; +/** + * RegExp to match type in RFC 9110 sec 8.3.1 + * + * media-type = type "/" subtype + * type = token + * subtype = token + */ const TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; +/** + * Null object perf optimization. Faster than `Object.create(null)` and `{ __proto__: null }`. + */ const NullObject = /* @__PURE__ */ (()=>{ + const C = function() {}; + C.prototype = Object.create(null); + return C; +})(); +/** + * Format an object into a `Content-Type` header. + */ function format(obj) { + const { type, parameters } = obj; + if (!type || !TYPE_REGEXP.test(type)) { + throw new TypeError(`Invalid type: ${type}`); + } + let result = type; + if (parameters) { + for (const param of Object.keys(parameters)){ + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError(`Invalid parameter name: ${param}`); + } + result += `; ${param}=${qstring(parameters[param])}`; + } + } + return result; +} +/** + * Parse a `Content-Type` header. + */ function parse(header, options) { + const stopChar = options?.comma === true ? COMMA : 65536; // Sentinel for "no stop char". + const len = header.length; + let index = skipOWS(header, options?.start ?? 0, len); + const valueStart = index; + index = skipValue(header, index, len, stopChar); + const valueEnd = trailingOWS(header, valueStart, index); + const type = header.slice(valueStart, valueEnd).toLowerCase(); + if (options?.parameters === false) { + return { + type, + index, + parameters: new NullObject() + }; + } + return parseParameters(header, type, index, len, stopChar); +} +const SP = 32; // " " +const HTAB = 9; // "\t" +const SEMI = 59; // ";" +const EQ = 61; // "=" +const DQUOTE = 34; // '"' +const BSLASH = 92; // "\\" +const COMMA = 44; // "," +/** + * Parses the parameters of a `Content-Type` header starting at the given index. + */ function parseParameters(header, type, index, len, stopChar) { + const parameters = new NullObject(); + parameter: while(index < len){ + if (header.charCodeAt(index) === stopChar) break; + index = skipOWS(header, index + 1 /* Skip over ; */ , len); + const keyStart = index; + while(index < len){ + const code = header.charCodeAt(index); + if (code === stopChar) break parameter; + if (code === SEMI) continue parameter; + if (code === EQ) { + const keyEnd = trailingOWS(header, keyStart, index); + const key = header.slice(keyStart, keyEnd).toLowerCase(); + index = skipOWS(header, index + 1, len); + if (index < len && header.charCodeAt(index) === DQUOTE) { + index++; + let value = ""; + while(index < len){ + const code = header.charCodeAt(index++); + if (code === DQUOTE) { + index = skipValue(header, index, len, stopChar); + if (parameters[key] === undefined) parameters[key] = value; + break; + } + if (code === BSLASH && index < len) { + value += header[index++]; + continue; + } + value += String.fromCharCode(code); + } + continue parameter; + } + const valueStart = index; + index = skipValue(header, index, len, stopChar); + if (parameters[key] === undefined) { + const valueEnd = trailingOWS(header, valueStart, index); + parameters[key] = header.slice(valueStart, valueEnd); + } + continue parameter; + } + index++; + } + } + return { + type, + index, + parameters + }; +} +/** + * Skip over characters until a semicolon or other exit character. + */ function skipValue(str, index, len, stopChar) { + while(index < len){ + const code = str.charCodeAt(index); + if (code === SEMI || code === stopChar) break; + index++; + } + return index; +} +/** + * Skip optional whitespace (OWS) in an HTTP header value. + * + * OWS is defined in RFC 9110 sec 5.6.3 as SP (" ") or HTAB ("\t"). + */ function skipOWS(header, index, len) { + while(index < len){ + const char = header.charCodeAt(index); + if (char !== SP && char !== HTAB) break; + index++; + } + return index; +} +/** + * Trim optional whitespace (OWS) from the end of a substring. + * + * OWS is defined in RFC 9110 sec 5.6.3 as SP (" ") or HTAB ("\t"). + */ function trailingOWS(header, start, end) { + while(end > start){ + const char = header.charCodeAt(end - 1); + if (char !== SP && char !== HTAB) break; + end--; + } + return end; +} +/** + * Serialize a parameter value. + */ function qstring(str) { + if (TOKEN_REGEXP.test(str)) return str; + if (TEXT_REGEXP.test(str)) return `"${str.replace(QUOTE_REGEXP, "\\$&")}"`; + throw new TypeError(`Invalid parameter value: ${str}`); +} +}), +"[project]/node_modules/negotiator/index.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/*! + * negotiator + * Copyright(c) 2012 Federico Romero + * Copyright(c) 2012-2014 Isaac Z. Schlueter + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ var preferredCharsets = __turbopack_context__.r("[project]/node_modules/negotiator/lib/charset.js [middleware] (ecmascript)"); +var preferredEncodings = __turbopack_context__.r("[project]/node_modules/negotiator/lib/encoding.js [middleware] (ecmascript)"); +var preferredLanguages = __turbopack_context__.r("[project]/node_modules/negotiator/lib/language.js [middleware] (ecmascript)"); +var preferredMediaTypes = __turbopack_context__.r("[project]/node_modules/negotiator/lib/mediaType.js [middleware] (ecmascript)"); +/** + * Module exports. + * @public + */ module.exports = Negotiator; +module.exports.Negotiator = Negotiator; +/** + * Create a Negotiator instance from a request. + * @param {object} request + * @public + */ function Negotiator(request) { + if (!(this instanceof Negotiator)) { + return new Negotiator(request); + } + this.request = request; +} +Negotiator.prototype.charset = function charset(available) { + var set = this.charsets(available); + return set && set[0]; +}; +Negotiator.prototype.charsets = function charsets(available) { + return preferredCharsets(this.request.headers['accept-charset'], available); +}; +Negotiator.prototype.encoding = function encoding(available, opts) { + var set = this.encodings(available, opts); + return set && set[0]; +}; +Negotiator.prototype.encodings = function encodings(available, options) { + var opts = options || {}; + return preferredEncodings(this.request.headers['accept-encoding'], available, opts.preferred); +}; +Negotiator.prototype.language = function language(available) { + var set = this.languages(available); + return set && set[0]; +}; +Negotiator.prototype.languages = function languages(available) { + return preferredLanguages(this.request.headers['accept-language'], available); +}; +Negotiator.prototype.mediaType = function mediaType(available) { + var set = this.mediaTypes(available); + return set && set[0]; +}; +Negotiator.prototype.mediaTypes = function mediaTypes(available) { + return preferredMediaTypes(this.request.headers.accept, available); +}; +// Backwards compatibility +Negotiator.prototype.preferredCharset = Negotiator.prototype.charset; +Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets; +Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding; +Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings; +Negotiator.prototype.preferredLanguage = Negotiator.prototype.language; +Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages; +Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType; +Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes; +}), +"[project]/node_modules/negotiator/lib/accept.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/*! + * negotiator + * Copyright(c) 2026 Blake Embrey + * MIT Licensed + */ var contentType = __turbopack_context__.r("[project]/node_modules/content-type/dist/index.js [middleware] (ecmascript)"); +/** + * Module exports. + * @private + */ module.exports = parseAccept; +/** + * Parse an Accept-style header. + * @private + */ function parseAccept(header) { + var values = []; + var index = 0; + while(index < header.length){ + var start = skipOptionalWhitespace(header, index); + var parsed = contentType.parse(header, { + comma: true, + start: start + }); + // `content-type` normalizes the type, but accept methods return original casing. + parsed.type = header.slice(start, start + parsed.type.length); + values.push(parsed); + index = parsed.index + 1; + } + return values; +} +/** + * Skip optional whitespace. + * @private + */ function skipOptionalWhitespace(header, index) { + var cursor = index; + while(header.charCodeAt(cursor) === 0x20 || header.charCodeAt(cursor) === 0x09){ + cursor++; + } + return cursor; +} +}), +"[project]/node_modules/negotiator/lib/charset.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ var parseAccept = __turbopack_context__.r("[project]/node_modules/negotiator/lib/accept.js [middleware] (ecmascript)"); +/** + * Module exports. + * @public + */ module.exports = preferredCharsets; +module.exports.preferredCharsets = preferredCharsets; +/** + * Module variables. + * @private + */ function parseAcceptCharset(accept) { + var accepts = parseAccept(accept); + for(var i = 0, j = 0; i < accepts.length; i++){ + var charset = formatCharset(accepts[i], i); + if (charset) accepts[j++] = charset; + } + accepts.length = j; + return accepts; +} +/** + * Format a parsed charset for negotiation. + * @private + */ function formatCharset(parsed, i) { + if (!parsed.type) return null; + return { + charset: parsed.type, + q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1, + i: i + }; +} +/** + * Get the priority of a charset. + * @private + */ function getCharsetPriority(charset, accepted, index) { + var priority = { + o: -1, + q: 0, + s: 0 + }; + for(var i = 0; i < accepted.length; i++){ + var spec = specify(charset, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; +} +/** + * Get the specificity of the charset. + * @private + */ function specify(charset, spec, index) { + var s = 0; + if (spec.charset.toLowerCase() === charset.toLowerCase()) { + s |= 1; + } else if (spec.charset !== '*') { + return null; + } + return { + i: index, + o: spec.i, + q: spec.q, + s: s + }; +} +/** + * Get the preferred charsets from an Accept-Charset header. + * @public + */ function preferredCharsets(accept, provided) { + // RFC 2616 sec 14.2: no header = * + var accepts = parseAcceptCharset(accept === undefined ? '*' : accept || ''); + if (!provided) { + // sorted list of all charsets + return accepts.filter(isQuality).sort(compareSpecs).map(getFullCharset); + } + var priorities = provided.map(function getPriority(type, index) { + return getCharsetPriority(type, accepts, index); + }); + // sorted list of accepted charsets + return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority) { + return provided[priorities.indexOf(priority)]; + }); +} +/** + * Compare two specs. + * @private + */ function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; +} +/** + * Get full charset string. + * @private + */ function getFullCharset(spec) { + return spec.charset; +} +/** + * Check if a spec has any quality. + * @private + */ function isQuality(spec) { + return spec.q > 0; +} +}), +"[project]/node_modules/negotiator/lib/encoding.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ var parseAccept = __turbopack_context__.r("[project]/node_modules/negotiator/lib/accept.js [middleware] (ecmascript)"); +/** + * Module exports. + * @public + */ module.exports = preferredEncodings; +module.exports.preferredEncodings = preferredEncodings; +/** + * Module variables. + * @private + */ function parseAcceptEncoding(accept) { + var accepts = parseAccept(accept); + var hasIdentity = false; + var minQuality = 1; + for(var i = 0, j = 0; i < accepts.length; i++){ + var encoding = formatEncoding(accepts[i], i); + if (encoding) { + accepts[j++] = encoding; + hasIdentity = hasIdentity || specify('identity', encoding); + minQuality = Math.min(minQuality, encoding.q || 1); + } + } + if (!hasIdentity) { + /* + * If identity doesn't explicitly appear in the accept-encoding header, + * it's added to the list of acceptable encoding with the lowest q + */ accepts[j++] = { + encoding: 'identity', + q: minQuality, + i: i + }; + } + accepts.length = j; + return accepts; +} +/** + * Format a parsed encoding for negotiation. + * @private + */ function formatEncoding(parsed, i) { + if (!parsed.type) return null; + return { + encoding: parsed.type, + q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1, + i: i + }; +} +/** + * Get the priority of an encoding. + * @private + */ function getEncodingPriority(encoding, accepted, index) { + var priority = { + encoding: encoding, + o: -1, + q: 0, + s: 0 + }; + for(var i = 0; i < accepted.length; i++){ + var spec = specify(encoding, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; +} +/** + * Get the specificity of the encoding. + * @private + */ function specify(encoding, spec, index) { + var s = 0; + if (spec.encoding.toLowerCase() === encoding.toLowerCase()) { + s |= 1; + } else if (spec.encoding !== '*') { + return null; + } + return { + encoding: encoding, + i: index, + o: spec.i, + q: spec.q, + s: s + }; +} +; +/** + * Get the preferred encodings from an Accept-Encoding header. + * @public + */ function preferredEncodings(accept, provided, preferred) { + var accepts = parseAcceptEncoding(accept || ''); + var comparator = preferred ? function comparator(a, b) { + if (a.q !== b.q) { + return b.q - a.q // higher quality first + ; + } + var aPreferred = preferred.indexOf(a.encoding); + var bPreferred = preferred.indexOf(b.encoding); + if (aPreferred === -1 && bPreferred === -1) { + // consider the original specifity/order + return b.s - a.s || a.o - b.o || a.i - b.i; + } + if (aPreferred !== -1 && bPreferred !== -1) { + return aPreferred - bPreferred // consider the preferred order + ; + } + return aPreferred === -1 ? 1 : -1 // preferred first + ; + } : compareSpecs; + if (!provided) { + // sorted list of all encodings + return accepts.filter(isQuality).sort(comparator).map(getFullEncoding); + } + var priorities = provided.map(function getPriority(type, index) { + return getEncodingPriority(type, accepts, index); + }); + // sorted list of accepted encodings + return priorities.filter(isQuality).sort(comparator).map(function getEncoding(priority) { + return provided[priorities.indexOf(priority)]; + }); +} +/** + * Compare two specs. + * @private + */ function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i; +} +/** + * Get full encoding string. + * @private + */ function getFullEncoding(spec) { + return spec.encoding; +} +/** + * Check if a spec has any quality. + * @private + */ function isQuality(spec) { + return spec.q > 0; +} +}), +"[project]/node_modules/negotiator/lib/language.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ var contentType = __turbopack_context__.r("[project]/node_modules/content-type/dist/index.js [middleware] (ecmascript)"); +var parseAccept = __turbopack_context__.r("[project]/node_modules/negotiator/lib/accept.js [middleware] (ecmascript)"); +/** + * Module exports. + * @public + */ module.exports = preferredLanguages; +module.exports.preferredLanguages = preferredLanguages; +/** + * Module variables. + * @private + */ function parseAcceptLanguage(accept) { + var accepts = parseAccept(accept); + for(var i = 0, j = 0; i < accepts.length; i++){ + var language = formatLanguage(accepts[i], i); + if (language) accepts[j++] = language; + } + accepts.length = j; + return accepts; +} +/** + * Format a parsed language for negotiation. + * @private + */ function formatLanguage(parsed, i) { + if (!parsed.type) return null; + var hyphen = parsed.type.indexOf('-'); + var prefix = hyphen === -1 ? parsed.type : parsed.type.slice(0, hyphen); + var suffix = hyphen === -1 ? undefined : parsed.type.slice(hyphen + 1); + return { + prefix: prefix, + suffix: suffix, + q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1, + i: i, + full: parsed.type + }; +} +/** + * Get the priority of a language. + * @private + */ function getLanguagePriority(language, accepted, index) { + var priority = { + o: -1, + q: 0, + s: 0 + }; + for(var i = 0; i < accepted.length; i++){ + var spec = specify(language, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; +} +/** + * Get the specificity of the language. + * @private + */ function specify(language, spec, index) { + var p = formatLanguage(contentType.parse(language), 0); + if (!p) return null; + var s = 0; + if (spec.full.toLowerCase() === p.full.toLowerCase()) { + s |= 4; + } else if (spec.prefix.toLowerCase() === p.full.toLowerCase()) { + s |= 2; + } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) { + s |= 1; + } else if (spec.full !== '*') { + return null; + } + return { + i: index, + o: spec.i, + q: spec.q, + s: s + }; +} +; +/** + * Get the preferred languages from an Accept-Language header. + * @public + */ function preferredLanguages(accept, provided) { + // RFC 2616 sec 14.4: no header = * + var accepts = parseAcceptLanguage(accept === undefined ? '*' : accept || ''); + if (!provided) { + // sorted list of all languages + return accepts.filter(isQuality).sort(compareSpecs).map(getFullLanguage); + } + var priorities = provided.map(function getPriority(type, index) { + return getLanguagePriority(type, accepts, index); + }); + // sorted list of accepted languages + return priorities.filter(isQuality).sort(compareSpecs).map(function getLanguage(priority) { + return provided[priorities.indexOf(priority)]; + }); +} +/** + * Compare two specs. + * @private + */ function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; +} +/** + * Get full language string. + * @private + */ function getFullLanguage(spec) { + return spec.full; +} +/** + * Check if a spec has any quality. + * @private + */ function isQuality(spec) { + return spec.q > 0; +} +}), +"[project]/node_modules/negotiator/lib/mediaType.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/** + * negotiator + * Copyright(c) 2012 Isaac Z. Schlueter + * Copyright(c) 2014 Federico Romero + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ var contentType = __turbopack_context__.r("[project]/node_modules/content-type/dist/index.js [middleware] (ecmascript)"); +var parseAcceptHeader = __turbopack_context__.r("[project]/node_modules/negotiator/lib/accept.js [middleware] (ecmascript)"); +/** + * Module exports. + * @public + */ module.exports = preferredMediaTypes; +module.exports.preferredMediaTypes = preferredMediaTypes; +/** + * Module variables. + * @private + */ function parseAccept(accept) { + var accepts = parseAcceptHeader(accept); + for(var i = 0, j = 0; i < accepts.length; i++){ + var mediaType = formatMediaType(accepts[i], i); + if (mediaType) accepts[j++] = mediaType; + } + accepts.length = j; + return accepts; +} +/** + * Format a parsed content type for negotiation. + * @private + */ function formatMediaType(parsed, i) { + var slash = parsed.type.indexOf('/'); + if (slash === -1) return null; + var q = parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1; + delete parsed.parameters.q; + return { + type: parsed.type.slice(0, slash), + subtype: parsed.type.slice(slash + 1), + params: parsed.parameters, + q: q, + i: i + }; +} +/** + * Get the priority of a media type. + * @private + */ function getMediaTypePriority(type, accepted, index) { + var priority = { + o: -1, + q: 0, + s: 0 + }; + for(var i = 0; i < accepted.length; i++){ + var spec = specify(type, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; +} +/** + * Get the specificity of the media type. + * @private + */ function specify(type, spec, index) { + var p = formatMediaType(contentType.parse(type), 0); + var s = 0; + if (!p) { + return null; + } + if (spec.type.toLowerCase() == p.type.toLowerCase()) { + s |= 4; + } else if (spec.type != '*') { + return null; + } + if (spec.subtype.toLowerCase() == p.subtype.toLowerCase()) { + s |= 2; + } else if (spec.subtype != '*') { + return null; + } + var keys = Object.keys(spec.params); + if (keys.length > 0) { + if (keys.every(function(k) { + return spec.params[k] == '*' || (spec.params[k] || '').toLowerCase() == (p.params[k] || '').toLowerCase(); + })) { + s |= 1; + } else { + return null; + } + } + return { + i: index, + o: spec.i, + q: spec.q, + s: s + }; +} +/** + * Get the preferred media types from an Accept header. + * @public + */ function preferredMediaTypes(accept, provided) { + // RFC 2616 sec 14.2: no header = */* + var accepts = parseAccept(accept === undefined ? '*/*' : accept || ''); + if (!provided) { + // sorted list of all types + return accepts.filter(isQuality).sort(compareSpecs).map(getFullType); + } + var priorities = provided.map(function getPriority(type, index) { + return getMediaTypePriority(type, accepts, index); + }); + // sorted list of accepted types + return priorities.filter(isQuality).sort(compareSpecs).map(function getType(priority) { + return provided[priorities.indexOf(priority)]; + }); +} +/** + * Compare two specs. + * @private + */ function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; +} +/** + * Get full type string. + * @private + */ function getFullType(spec) { + return spec.type + '/' + spec.subtype; +} +/** + * Check if a spec has any quality. + * @private + */ function isQuality(spec) { + return spec.q > 0; +} +}), +"[project]/node_modules/next-intl/dist/esm/development/middleware/getAlternateLinksHeaderValue.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>getAlternateLinksHeaderValue +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/shared/utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/middleware/utils.js [middleware] (ecmascript)"); +; +; +/** + * See https://developers.google.com/search/docs/specialty/international/localized-versions + */ function getAlternateLinksHeaderValue({ internalTemplateName, localizedPathnames, request, resolvedLocale, routing }) { + const normalizedUrl = request.nextUrl.clone(); + const host = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getHost"])(request.headers); + if (host) { + normalizedUrl.port = ''; + normalizedUrl.host = host; + } + normalizedUrl.protocol = request.headers.get('x-forwarded-proto') ?? normalizedUrl.protocol; + normalizedUrl.pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getNormalizedPathname"])(normalizedUrl.pathname, routing.locales, routing.localePrefix); + function getAlternateEntry(url, locale) { + url.pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeTrailingSlash"])(url.pathname); + if (request.nextUrl.basePath) { + url = new URL(url); + url.pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["applyBasePath"])(url.pathname, request.nextUrl.basePath); + } + return `<${url.toString()}>; rel="alternate"; hreflang="${locale}"`; + } + function getLocalizedPathname(pathname, locale) { + if (localizedPathnames && typeof localizedPathnames === 'object') { + const sourceTemplate = localizedPathnames[resolvedLocale]; + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatTemplatePathname"])(pathname, sourceTemplate ?? internalTemplateName, localizedPathnames[locale] ?? internalTemplateName); + } else { + return pathname; + } + } + const links = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocalePrefixes"])(routing.locales, routing.localePrefix, false).flatMap(([locale, prefix])=>{ + function prefixPathname(pathname) { + if (pathname === '/') { + return prefix; + } else { + return prefix + pathname; + } + } + let url; + if (routing.domains) { + const domainConfigs = routing.domains.filter((cur)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isLocaleSupportedOnDomain"])(locale, cur)); + return domainConfigs.map((domainConfig)=>{ + url = new URL(normalizedUrl); + url.port = ''; + url.host = domainConfig.domain; + // Important: Use `normalizedUrl` here, as `url` potentially uses + // a `basePath` that automatically gets applied to the pathname + url.pathname = getLocalizedPathname(normalizedUrl.pathname, locale); + // Use domain-specific localePrefix mode if available + const domainMode = domainConfig.localePrefix || routing.localePrefix.mode; + if (locale !== domainConfig.defaultLocale || domainMode === 'always') { + url.pathname = prefixPathname(url.pathname); + } + return getAlternateEntry(url, locale); + }); + } else { + let pathname; + if (localizedPathnames && typeof localizedPathnames === 'object') { + pathname = getLocalizedPathname(normalizedUrl.pathname, locale); + } else { + pathname = normalizedUrl.pathname; + } + if (locale !== routing.defaultLocale || routing.localePrefix.mode === 'always') { + pathname = prefixPathname(pathname); + } + url = new URL(pathname, normalizedUrl); + } + return getAlternateEntry(url, locale); + }); + // Add x-default entry + const shouldAddXDefault = // For domain-based routing there is no reasonable x-default + !routing.domains || routing.domains.length === 0; + if (shouldAddXDefault) { + const localizedPathname = getLocalizedPathname(normalizedUrl.pathname, routing.defaultLocale); + if (localizedPathname) { + const url = new URL(localizedPathname, normalizedUrl); + links.push(getAlternateEntry(url, 'x-default')); + } + } + return links.join(', '); +} +; +}), +"[project]/node_modules/next-intl/dist/esm/development/middleware/middleware.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>createMiddleware +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$server$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/server.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$routing$2f$config$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/routing/config.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/shared/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/shared/utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$getAlternateLinksHeaderValue$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/middleware/getAlternateLinksHeaderValue.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$resolveLocale$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/middleware/resolveLocale.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$syncCookie$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/middleware/syncCookie.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/middleware/utils.js [middleware] (ecmascript)"); +; +; +; +; +; +; +; +; +function createMiddleware(routing) { + const resolvedRouting = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$routing$2f$config$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["receiveRoutingConfig"])(routing); + return function middleware(request) { + let unsafeExternalPathname; + try { + // Resolve potential foreign symbols (e.g. /ja/%E7%B4%84 → /ja/約)) + unsafeExternalPathname = decodeURI(request.nextUrl.pathname); + } catch { + // In case an invalid pathname is encountered, forward + // it to Next.js which in turn responds with a 400 + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$server$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextResponse"].next(); + } + // Sanitize malicious URIs to prevent open redirect attacks due to + // decodeURI doesn't escape encoded backslashes ('%5C' & '%5c') + const externalPathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["sanitizePathname"])(unsafeExternalPathname); + const { domain, locale } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$resolveLocale$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"])(resolvedRouting, request.headers, request.cookies, externalPathname); + const hasMatchedDefaultLocale = domain ? domain.defaultLocale === locale : locale === resolvedRouting.defaultLocale; + const domainsConfig = resolvedRouting.domains?.filter((curDomain)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isLocaleSupportedOnDomain"])(locale, curDomain)) || []; + const hasUnknownHost = resolvedRouting.domains != null && !domain; + function next(url) { + const urlObj = new URL(url, request.url); + if (request.nextUrl.basePath) { + urlObj.pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["applyBasePath"])(urlObj.pathname, request.nextUrl.basePath); + } + const headers = new Headers(request.headers); + headers.set(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["HEADER_LOCALE_NAME"], locale); + const isRewriteNecessary = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeTrailingSlash"])(request.nextUrl.pathname) !== (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeTrailingSlash"])(urlObj.pathname); + if (isRewriteNecessary) { + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$server$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextResponse"].rewrite(urlObj, { + request: { + headers + } + }); + } else { + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$server$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextResponse"].next({ + request: { + headers + } + }); + } + } + function redirect(url, redirectDomain) { + const urlObj = new URL(url, request.url); + urlObj.pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeTrailingSlash"])(urlObj.pathname); + if (domainsConfig.length > 0 && !redirectDomain && domain) { + const bestMatchingDomain = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getBestMatchingDomain"])(domain, locale, domainsConfig); + if (bestMatchingDomain) { + redirectDomain = bestMatchingDomain.domain; + const redirectDomainMode = bestMatchingDomain.localePrefix || resolvedRouting.localePrefix.mode; + if (bestMatchingDomain.defaultLocale === locale && redirectDomainMode === 'as-needed') { + urlObj.pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getNormalizedPathname"])(urlObj.pathname, resolvedRouting.locales, resolvedRouting.localePrefix); + } + } + } + if (redirectDomain) { + urlObj.host = redirectDomain; + if (request.headers.get('x-forwarded-host')) { + urlObj.protocol = request.headers.get('x-forwarded-proto') ?? request.nextUrl.protocol; + const redirectDomainPort = redirectDomain.split(':')[1]; + urlObj.port = redirectDomainPort ?? request.headers.get('x-forwarded-port') ?? ''; + } + } + if (request.nextUrl.basePath) { + urlObj.pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["applyBasePath"])(urlObj.pathname, request.nextUrl.basePath); + } + hasRedirected = true; + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$server$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextResponse"].redirect(urlObj.toString()); + } + const unprefixedExternalPathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getNormalizedPathname"])(externalPathname, resolvedRouting.locales, resolvedRouting.localePrefix); + const pathnameMatch = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getPathnameMatch"])(externalPathname, resolvedRouting.locales, resolvedRouting.localePrefix, domain); + const hasLocalePrefix = pathnameMatch != null; + // Use domain-specific localePrefix mode if available, otherwise use global mode + const effectiveLocalePrefixMode = domain?.localePrefix || resolvedRouting.localePrefix.mode; + const isUnprefixedRouting = effectiveLocalePrefixMode === 'never' || hasMatchedDefaultLocale && effectiveLocalePrefixMode === 'as-needed'; + let response; + let internalTemplateName; + let hasRedirected; + let unprefixedInternalPathname = unprefixedExternalPathname; + const pathnames = resolvedRouting.pathnames; + if (pathnames) { + let resolvedTemplateLocale; + [resolvedTemplateLocale, internalTemplateName] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getInternalTemplate"])(pathnames, unprefixedExternalPathname, locale); + if (internalTemplateName) { + const pathnameConfig = pathnames[internalTemplateName]; + const localeTemplate = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocalizedTemplate"])(pathnameConfig, locale, internalTemplateName); + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["matchesPathname"])(localeTemplate, unprefixedExternalPathname)) { + unprefixedInternalPathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatTemplatePathname"])(unprefixedExternalPathname, localeTemplate, internalTemplateName); + } else { + let sourceTemplate; + if (resolvedTemplateLocale) { + // A localized pathname from another locale has matched + sourceTemplate = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocalizedTemplate"])(pathnameConfig, resolvedTemplateLocale, internalTemplateName); + } else { + // An internal pathname has matched that + // doesn't have a localized pathname + sourceTemplate = internalTemplateName; + } + const localePrefix = isUnprefixedRouting ? undefined : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocalePrefix"])(locale, resolvedRouting.localePrefix); + const template = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatTemplatePathname"])(unprefixedExternalPathname, sourceTemplate, localeTemplate); + response = redirect((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatPathname"])(template, localePrefix, request.nextUrl.search)); + } + } + } + if (!response) { + if (unprefixedInternalPathname === '/' && !hasLocalePrefix) { + if (isUnprefixedRouting) { + response = next((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatPathname"])(unprefixedInternalPathname, (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocaleAsPrefix"])(locale), request.nextUrl.search)); + } else { + response = redirect((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatPathname"])(unprefixedExternalPathname, (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocalePrefix"])(locale, resolvedRouting.localePrefix), request.nextUrl.search)); + } + } else { + const internalHref = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatPathname"])(unprefixedInternalPathname, (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocaleAsPrefix"])(locale), request.nextUrl.search); + if (hasLocalePrefix) { + const externalHref = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatPathname"])(unprefixedExternalPathname, pathnameMatch.prefix, request.nextUrl.search); + if (effectiveLocalePrefixMode === 'never') { + response = redirect((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatPathname"])(unprefixedExternalPathname, undefined, request.nextUrl.search)); + } else if (pathnameMatch.exact) { + if (hasMatchedDefaultLocale && isUnprefixedRouting) { + response = redirect((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatPathname"])(unprefixedExternalPathname, undefined, request.nextUrl.search)); + } else { + if (resolvedRouting.domains) { + const pathDomain = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getBestMatchingDomain"])(domain, pathnameMatch.locale, domainsConfig); + if (domain?.domain !== pathDomain?.domain && !hasUnknownHost) { + response = redirect(externalHref, pathDomain?.domain); + } else { + response = next(internalHref); + } + } else { + response = next(internalHref); + } + } + } else { + response = redirect(externalHref); + } + } else { + if (isUnprefixedRouting) { + response = next(internalHref); + } else { + response = redirect((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatPathname"])(unprefixedExternalPathname, (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocalePrefix"])(locale, resolvedRouting.localePrefix), request.nextUrl.search)); + } + } + } + } + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$syncCookie$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"])(request, response, locale, resolvedRouting, domain); + if (!hasRedirected && effectiveLocalePrefixMode !== 'never' && resolvedRouting.alternateLinks && resolvedRouting.locales.length > 1) { + response.headers.set('Link', (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$getAlternateLinksHeaderValue$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"])({ + routing: resolvedRouting, + internalTemplateName, + localizedPathnames: internalTemplateName != null && pathnames ? pathnames[internalTemplateName] : undefined, + request, + resolvedLocale: locale + })); + } + return response; + }; +} +; +}), +"[project]/node_modules/next-intl/dist/esm/development/middleware/resolveLocale.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>resolveLocale, + "getAcceptLanguageLocale", + ()=>getAcceptLanguageLocale +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$formatjs$2f$intl$2d$localematcher$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@formatjs/intl-localematcher/index.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$negotiator$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/negotiator/index.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/middleware/utils.js [middleware] (ecmascript)"); +; +; +; +function findDomainFromHost(requestHeaders, domains) { + const host = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getHost"])(requestHeaders); + if (host) { + return domains.find((cur)=>cur.domain === host); + } + return undefined; +} +function orderLocales(locales) { + // Workaround for https://github.com/formatjs/formatjs/issues/4469 + return locales.slice().sort((a, b)=>b.length - a.length); +} +function mapToProvidedLocale(locales, locale) { + return locales.find((cur)=>cur.toLowerCase() === locale.toLowerCase()); +} +function getAcceptLanguageLocale(requestHeaders, locales, defaultLocale) { + let locale; + const languages = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$negotiator$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"]({ + headers: { + 'accept-language': requestHeaders.get('accept-language') || undefined + } + }).languages(); + try { + const orderedLocales = orderLocales(locales); + locale = mapToProvidedLocale(locales, (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$formatjs$2f$intl$2d$localematcher$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["match"])(languages, orderedLocales, defaultLocale)); + } catch { + // Invalid language + } + return locale; +} +function getLocaleFromCookie(routing, requestCookies) { + if (routing.localeCookie && requestCookies.has(routing.localeCookie.name)) { + const value = requestCookies.get(routing.localeCookie.name)?.value; + if (value && routing.locales.includes(value)) { + return value; + } + } +} +function resolveLocaleFromPrefix(routing, requestHeaders, requestCookies, pathname) { + let locale; + // Prio 1: Use route prefix + if (pathname) { + locale = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getPathnameMatch"])(pathname, routing.locales, routing.localePrefix)?.locale; + } + // Prio 2: Use existing cookie + if (!locale && routing.localeDetection) { + locale = getLocaleFromCookie(routing, requestCookies); + } + // Prio 3: Use the `accept-language` header + if (!locale && routing.localeDetection) { + locale = getAcceptLanguageLocale(requestHeaders, routing.locales, routing.defaultLocale); + } + // Prio 4: Use default locale + if (!locale) { + locale = routing.defaultLocale; + } + return locale; +} +function resolveLocaleFromDomain(routing, requestHeaders, requestCookies, pathname) { + const domains = routing.domains; + const domain = findDomainFromHost(requestHeaders, domains); + if (!domain) { + return { + locale: resolveLocaleFromPrefix(routing, requestHeaders, requestCookies, pathname) + }; + } + let locale; + // Prio 1: Use route prefix + if (pathname) { + const prefixLocale = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getPathnameMatch"])(pathname, routing.locales, routing.localePrefix, domain)?.locale; + if (prefixLocale) { + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isLocaleSupportedOnDomain"])(prefixLocale, domain)) { + locale = prefixLocale; + } else { + // Causes a redirect to a domain that supports the locale + return { + locale: prefixLocale, + domain + }; + } + } + } + // Prio 2: Use existing cookie + if (!locale && routing.localeDetection) { + const cookieLocale = getLocaleFromCookie(routing, requestCookies); + if (cookieLocale) { + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isLocaleSupportedOnDomain"])(cookieLocale, domain)) { + locale = cookieLocale; + } + } + } + // Prio 3: Use the `accept-language` header + if (!locale && routing.localeDetection) { + const headerLocale = getAcceptLanguageLocale(requestHeaders, domain.locales, domain.defaultLocale); + if (headerLocale) { + locale = headerLocale; + } + } + // Prio 4: Use default locale + if (!locale) { + locale = domain.defaultLocale; + } + return { + locale, + domain + }; +} +function resolveLocale(routing, requestHeaders, requestCookies, pathname) { + if (routing.domains) { + return resolveLocaleFromDomain(routing, requestHeaders, requestCookies, pathname); + } else { + return { + locale: resolveLocaleFromPrefix(routing, requestHeaders, requestCookies, pathname) + }; + } +} +; +}), +"[project]/node_modules/next-intl/dist/esm/development/middleware/syncCookie.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>syncCookie +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$resolveLocale$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/middleware/resolveLocale.js [middleware] (ecmascript)"); +; +function syncCookie(request, response, locale, routing, domain) { + if (!routing.localeCookie) return; + // Only document requests indicate that the user is actually + // navigating to a page—in contrast to background requests of the + // client-side router like prefetches and cache revalidations. + // E.g. as of Next.js 16.3, the router revalidates previously + // visited routes after a navigation, including routes of a locale + // the user has just switched away from. Updating the cookie based + // on such a request would overwrite the locale that was just set + // when switching the locale. Note that Next.js strips router + // headers like `Next-Router-Prefetch` before invoking the + // middleware, therefore `Sec-Fetch-Dest` is used to detect + // background requests. Locale switches via a soft navigation + // update the cookie on the client side. + const secFetchDest = request.headers.get('sec-fetch-dest'); + if (secFetchDest != null && secFetchDest !== 'document') return; + const { name, ...rest } = routing.localeCookie; + const hasLocaleCookie = request.cookies.has(name); + const hasOutdatedCookie = hasLocaleCookie && request.cookies.get(name)?.value !== locale; + if (hasOutdatedCookie) { + response.cookies.set(name, locale, { + path: request.nextUrl.basePath || undefined, + ...rest + }); + } else if (!hasLocaleCookie) { + const acceptLanguageLocale = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$middleware$2f$resolveLocale$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getAcceptLanguageLocale"])(request.headers, domain?.locales || routing.locales, routing.defaultLocale); + if (acceptLanguageLocale !== locale) { + response.cookies.set(name, locale, { + path: request.nextUrl.basePath || undefined, + ...rest + }); + } + } +} +; +}), +"[project]/node_modules/next-intl/dist/esm/development/middleware/utils.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "applyBasePath", + ()=>applyBasePath, + "formatPathname", + ()=>formatPathname, + "formatPathnameTemplate", + ()=>formatPathnameTemplate, + "formatTemplatePathname", + ()=>formatTemplatePathname, + "getBestMatchingDomain", + ()=>getBestMatchingDomain, + "getHost", + ()=>getHost, + "getInternalTemplate", + ()=>getInternalTemplate, + "getLocaleAsPrefix", + ()=>getLocaleAsPrefix, + "getLocalePrefixes", + ()=>getLocalePrefixes, + "getNormalizedPathname", + ()=>getNormalizedPathname, + "getPathnameMatch", + ()=>getPathnameMatch, + "getRouteParams", + ()=>getRouteParams, + "isLocaleSupportedOnDomain", + ()=>isLocaleSupportedOnDomain, + "sanitizePathname", + ()=>sanitizePathname +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/shared/utils.js [middleware] (ecmascript)"); +; +function getInternalTemplate(pathnames, pathname, locale) { + const sortedPathnames = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getSortedPathnames"])(Object.keys(pathnames)); + // Try to find a localized pathname that matches + for (const internalPathname of sortedPathnames){ + const localizedPathnamesOrPathname = pathnames[internalPathname]; + if (typeof localizedPathnamesOrPathname === 'string') { + const localizedPathname = localizedPathnamesOrPathname; + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["matchesPathname"])(localizedPathname, pathname)) { + return [ + undefined, + internalPathname + ]; + } + } else { + // Prefer the entry with the current locale in case multiple + // localized pathnames match the current pathname + const sortedEntries = Object.entries(localizedPathnamesOrPathname); + const curLocaleIndex = sortedEntries.findIndex(([entryLocale])=>entryLocale === locale); + if (curLocaleIndex > 0) { + sortedEntries.unshift(sortedEntries.splice(curLocaleIndex, 1)[0]); + } + for (const [entryLocale] of sortedEntries){ + const localizedTemplate = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocalizedTemplate"])(pathnames[internalPathname], entryLocale, internalPathname); + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["matchesPathname"])(localizedTemplate, pathname)) { + return [ + entryLocale, + internalPathname + ]; + } + } + } + } + // Try to find an internal pathname that matches (this can be the case + // if all localized pathnames are different from the internal pathnames) + for (const internalPathname of Object.keys(pathnames)){ + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["matchesPathname"])(internalPathname, pathname)) { + return [ + undefined, + internalPathname + ]; + } + } + // No match + return [ + undefined, + undefined + ]; +} +function formatTemplatePathname(sourcePathname, sourceTemplate, targetTemplate, prefix) { + const params = getRouteParams(sourceTemplate, sourcePathname); + let targetPathname = ''; + targetPathname += formatPathnameTemplate(targetTemplate, params); + // A pathname with an optional catchall like `/categories/[[...slug]]` + // should be normalized to `/categories` if the catchall is not present + // and no trailing slash is configured + targetPathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeTrailingSlash"])(targetPathname); + return targetPathname; +} +/** + * Removes potential prefixes from the pathname. + */ function getNormalizedPathname(pathname, locales, localePrefix) { + // Add trailing slash for consistent handling + // both for the root as well as nested paths + if (!pathname.endsWith('/')) { + pathname += '/'; + } + const localePrefixes = getLocalePrefixes(locales, localePrefix); + const regex = new RegExp(`^(${localePrefixes.map(([, prefix])=>prefix.replaceAll('/', '\\/')).join('|')})/(.*)`, 'i'); + const match = pathname.match(regex); + let result = match ? '/' + match[2] : pathname; + if (result !== '/') { + result = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeTrailingSlash"])(result); + } + return result; +} +function getLocalePrefixes(locales, localePrefix, sort = true) { + const prefixes = locales.map((locale)=>[ + locale, + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getLocalePrefix"])(locale, localePrefix) + ]); + if (sort) { + // More specific ones first + prefixes.sort((a, b)=>b[1].length - a[1].length); + } + return prefixes; +} +function getPathnameMatch(pathname, locales, localePrefix, domain) { + const localePrefixes = getLocalePrefixes(locales, localePrefix); + // Sort to prioritize domain locales + if (domain) { + localePrefixes.sort(([localeA], [localeB])=>{ + if (localeA === domain.defaultLocale) return -1; + if (localeB === domain.defaultLocale) return 1; + const isLocaleAInDomain = domain.locales.includes(localeA); + const isLocaleBInDomain = domain.locales.includes(localeB); + if (isLocaleAInDomain && !isLocaleBInDomain) return -1; + if (!isLocaleAInDomain && isLocaleBInDomain) return 1; + return 0; + }); + } + for (const [locale, prefix] of localePrefixes){ + let exact, matches; + if (pathname === prefix || pathname.startsWith(prefix + '/')) { + exact = matches = true; + } else { + const normalizedPathname = pathname.toLowerCase(); + const normalizedPrefix = prefix.toLowerCase(); + if (normalizedPathname === normalizedPrefix || normalizedPathname.startsWith(normalizedPrefix + '/')) { + exact = false; + matches = true; + } + } + if (matches) { + return { + locale, + prefix, + matchedPrefix: pathname.slice(0, prefix.length), + exact + }; + } + } +} +function getRouteParams(template, pathname) { + const normalizedPathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeTrailingSlash"])(pathname); + const normalizedTemplate = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeTrailingSlash"])(template); + const regex = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["templateToRegex"])(normalizedTemplate); + const match = regex.exec(normalizedPathname); + if (!match) return undefined; + const params = {}; + const keys = normalizedTemplate.match(/\[([^\]]+)\]/g) ?? []; + for(let i = 1; i < match.length; i++){ + const rawKey = keys[i - 1]; + if (!rawKey) continue; + const key = rawKey.replace(/[[\]]/g, ''); + const value = match[i] ?? ''; + params[key] = value; + } + return params; +} +function formatPathnameTemplate(template, params) { + if (!params) return template; + // Simplify syntax for optional catchall ('[[...slug]]') so + // we can replace the value with simple interpolation + template = template.replace(/\[\[/g, '[').replace(/\]\]/g, ']'); + let result = template; + Object.entries(params).forEach(([key, value])=>{ + result = result.replace(`[${key}]`, ()=>value); + }); + return result; +} +function formatPathname(pathname, prefix, search) { + let result = pathname; + if (prefix) { + result = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["prefixPathname"])(prefix, result); + } + if (search) { + result += search; + } + return result; +} +function getHost(requestHeaders) { + return requestHeaders.get('x-forwarded-host') ?? requestHeaders.get('host') ?? undefined; +} +function isLocaleSupportedOnDomain(locale, domain) { + return domain.defaultLocale === locale || domain.locales.includes(locale); +} +function getBestMatchingDomain(curHostDomain, locale, domainsConfig) { + let domainConfig; + // Prio 1: Stay on current domain + if (curHostDomain && isLocaleSupportedOnDomain(locale, curHostDomain)) { + domainConfig = curHostDomain; + } + // Prio 2: Use alternative domain with matching default locale + if (!domainConfig) { + domainConfig = domainsConfig.find((cur)=>cur.defaultLocale === locale); + } + // Prio 3: Use alternative domain that supports the locale + if (!domainConfig) { + domainConfig = domainsConfig.find((cur)=>cur.locales.includes(locale)); + } + return domainConfig; +} +function applyBasePath(pathname, basePath) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$shared$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeTrailingSlash"])(basePath + pathname); +} +function getLocaleAsPrefix(locale) { + return `/${locale}`; +} +function sanitizePathname(pathname) { + // Sanitize malicious URIs, e.g.: + // '/en/\\example.org' → '/en/%5Cexample.org' (backslash → %5C) + // '/en/\t/example.org' → '/en/example.org' (WHATWG-stripped TAB) + // '/en/\n/example.org' → '/en/example.org' (WHATWG-stripped LF) + // '/en/\r/example.org' → '/en/example.org' (WHATWG-stripped CR) + // '/en////example.org' → '/en/example.org' (consecutive slashes) + // + // U+0009/000A/000D are silently stripped by the WHATWG URL parser + // (https://url.spec.whatwg.org/#concept-url-parser). Without removing + // them here, a decoded TAB in a segment separator position causes + // new URL("/\t/host", base) to collapse to "//host" → open redirect. + return pathname.replace(/\\/g, '%5C').replace(/[\t\n\r]/g, '').replace(/\/+/g, '/'); +} +; +}), +"[project]/node_modules/next-intl/dist/esm/development/routing/config.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "receiveRoutingConfig", + ()=>receiveRoutingConfig +]); +function receiveRoutingConfig(input) { + return { + ...input, + localePrefix: receiveLocalePrefixConfig(input.localePrefix), + localeCookie: receiveLocaleCookie(input.localeCookie), + localeDetection: input.localeDetection ?? true, + alternateLinks: input.alternateLinks ?? true + }; +} +function receiveLocaleCookie(localeCookie) { + return localeCookie ?? true ? { + name: 'NEXT_LOCALE', + sameSite: 'lax', + ...typeof localeCookie === 'object' && localeCookie + } : false; +} +function receiveLocalePrefixConfig(localePrefix) { + return typeof localePrefix === 'object' ? localePrefix : { + mode: localePrefix || 'always' + }; +} +; +}), +"[project]/node_modules/next-intl/dist/esm/development/shared/constants.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "HEADER_LOCALE_NAME", + ()=>HEADER_LOCALE_NAME +]); +// Used to read the locale from the middleware +const HEADER_LOCALE_NAME = 'X-NEXT-INTL-LOCALE'; +; +}), +"[project]/node_modules/next-intl/dist/esm/development/shared/utils.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getLocaleAsPrefix", + ()=>getLocaleAsPrefix, + "getLocalePrefix", + ()=>getLocalePrefix, + "getLocalizedTemplate", + ()=>getLocalizedTemplate, + "getSortedPathnames", + ()=>getSortedPathnames, + "hasPathnamePrefixed", + ()=>hasPathnamePrefixed, + "isLocalizableHref", + ()=>isLocalizableHref, + "isPromise", + ()=>isPromise, + "matchesPathname", + ()=>matchesPathname, + "normalizeTrailingSlash", + ()=>normalizeTrailingSlash, + "prefixPathname", + ()=>prefixPathname, + "templateToRegex", + ()=>templateToRegex, + "unprefixPathname", + ()=>unprefixPathname +]); +function isRelativeHref(href) { + const pathname = typeof href === 'object' ? href.pathname : href; + return pathname != null && !pathname.startsWith('/'); +} +function isLocalHref(href) { + if (typeof href === 'object') { + return href.host == null && href.hostname == null; + } else { + const hasProtocol = /^[a-z]+:/i.test(href); + return !hasProtocol; + } +} +function isLocalizableHref(href) { + return isLocalHref(href) && !isRelativeHref(href); +} +function unprefixPathname(pathname, prefix) { + return pathname.replace(new RegExp(`^${prefix}`), '') || '/'; +} +function prefixPathname(prefix, pathname) { + let localizedHref = prefix; + // Avoid trailing slashes + if (/^\/(\?.*)?$/.test(pathname)) { + pathname = pathname.slice(1); + } + localizedHref += pathname; + return localizedHref; +} +function hasPathnamePrefixed(prefix, pathname) { + return pathname === prefix || pathname.startsWith(`${prefix}/`); +} +function hasTrailingSlash() { + try { + // Provided via `env` setting in `next.config.js` via the plugin + return process.env._next_intl_trailing_slash === 'true'; + } catch { + return false; + } +} +function getLocalizedTemplate(pathnameConfig, locale, internalTemplate) { + return typeof pathnameConfig === 'string' ? pathnameConfig : pathnameConfig[locale] || internalTemplate; +} +function normalizeTrailingSlash(pathname) { + const trailingSlash = hasTrailingSlash(); + const [path, ...hashParts] = pathname.split('#'); + const hash = hashParts.join('#'); + let normalizedPath = path; + if (normalizedPath !== '/') { + const pathnameEndsWithSlash = normalizedPath.endsWith('/'); + if (trailingSlash && !pathnameEndsWithSlash) { + normalizedPath += '/'; + } else if (!trailingSlash && pathnameEndsWithSlash) { + normalizedPath = normalizedPath.slice(0, -1); + } + } + if (hash) { + normalizedPath += '#' + hash; + } + return normalizedPath; +} +function matchesPathname(/** E.g. `/users/[userId]-[userName]` */ template, /** E.g. `/users/23-jane` */ pathname) { + const normalizedTemplate = normalizeTrailingSlash(template); + const normalizedPathname = normalizeTrailingSlash(pathname); + const regex = templateToRegex(normalizedTemplate); + return regex.test(normalizedPathname); +} +function getLocalePrefix(locale, localePrefix) { + return localePrefix.mode !== 'never' && localePrefix.prefixes?.[locale] || // We return a prefix even if `mode: 'never'`. It's up to the consumer + // to decide to use it or not. + getLocaleAsPrefix(locale); +} +function getLocaleAsPrefix(locale) { + return '/' + locale; +} +function templateToRegex(template) { + const regexPattern = template// Replace optional catchall ('[[...slug]]') + .replace(/\/\[\[(\.\.\.[^\]]+)\]\]/g, '(?:/(.*))?') // With leading slash + .replace(/\[\[(\.\.\.[^\]]+)\]\]/g, '(?:/(.*))?') // Without leading slash + // Replace catchall ('[...slug]') + .replace(/\[(\.\.\.[^\]]+)\]/g, '(.+)')// Replace regular parameter ('[slug]') + .replace(/\[([^\]]+)\]/g, '([^/]+)'); + return new RegExp(`^${regexPattern}$`); +} +function isOptionalCatchAllSegment(pathname) { + return pathname.includes('[[...'); +} +function isCatchAllSegment(pathname) { + return pathname.includes('[...'); +} +function isDynamicSegment(pathname) { + return pathname.includes('['); +} +function comparePathnamePairs(a, b) { + const pathA = a.split('/'); + const pathB = b.split('/'); + const maxLength = Math.max(pathA.length, pathB.length); + for(let i = 0; i < maxLength; i++){ + const segmentA = pathA[i]; + const segmentB = pathB[i]; + // If one of the paths ends, prioritize the shorter path + if (!segmentA && segmentB) return -1; + if (segmentA && !segmentB) return 1; + if (!segmentA && !segmentB) continue; + // Prioritize static segments over dynamic segments + if (!isDynamicSegment(segmentA) && isDynamicSegment(segmentB)) return -1; + if (isDynamicSegment(segmentA) && !isDynamicSegment(segmentB)) return 1; + // Prioritize non-catch-all segments over catch-all segments + if (!isCatchAllSegment(segmentA) && isCatchAllSegment(segmentB)) return -1; + if (isCatchAllSegment(segmentA) && !isCatchAllSegment(segmentB)) return 1; + // Prioritize non-optional catch-all segments over optional catch-all segments + if (!isOptionalCatchAllSegment(segmentA) && isOptionalCatchAllSegment(segmentB)) { + return -1; + } + if (isOptionalCatchAllSegment(segmentA) && !isOptionalCatchAllSegment(segmentB)) { + return 1; + } + if (segmentA === segmentB) continue; + } + // Both pathnames are completely static + return 0; +} +function getSortedPathnames(pathnames) { + return pathnames.sort(comparePathnamePairs); +} +function isPromise(value) { + // https://github.com/amannn/next-intl/issues/1711 + return typeof value.then === 'function'; +} +; +}), +];})() + +//# sourceMappingURL=node_modules_0yn66zd0lmm23._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/node_modules_0yn66zd0lmm23._.js.map b/e-commerce/.next/dev/server/chunks/node_modules_0yn66zd0lmm23._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..872b6e0a0d28f5c1b618b632b4a8a7305ffef3f8 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/node_modules_0yn66zd0lmm23._.js.map @@ -0,0 +1,22 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 4, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/@formatjs/fast-memoize/index.js","sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/index.ts"],"sourcesContent":["//\n// Main\n//\n\ntype Func = (...args: any[]) => any\n\nexport interface Cache {\n create: CacheCreateFunc\n}\n\ninterface CacheCreateFunc {\n (): DefaultCache\n}\n\ninterface DefaultCache {\n get(key: K): V | undefined\n set(key: K, value: V | undefined): void\n}\n\nexport type Serializer = (args: any[]) => string\n\nexport interface Options {\n cache?: Cache>\n serializer?: Serializer\n strategy?: MemoizeFunc\n}\n\nexport interface ResolvedOptions {\n cache: Cache>\n serializer: Serializer\n}\n\nexport interface MemoizeFunc {\n (fn: F, options?: Options): F\n}\n\nexport function memoize(fn: F, options?: Options): F {\n const cache = options && options.cache ? options.cache : cacheDefault\n\n const serializer =\n options && options.serializer ? options.serializer : serializerDefault\n\n const strategy =\n options && options.strategy ? options.strategy : strategyDefault\n\n return strategy(fn, {\n cache,\n serializer,\n })\n}\n\n//\n// Strategy\n//\n\nfunction isPrimitive(value: any): boolean {\n return (\n value == null || typeof value === 'number' || typeof value === 'boolean'\n ) // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\n\nexport type StrategyFn = (\n this: unknown,\n fn: F,\n cache: DefaultCache>,\n serializer: Serializer,\n arg: any\n) => any\n\nfunction monadic(\n this: unknown,\n fn: F,\n cache: DefaultCache>,\n serializer: Serializer,\n arg: any\n) {\n const cacheKey = isPrimitive(arg) ? arg : serializer(arg)\n\n let computedValue = cache.get(cacheKey)\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg)\n cache.set(cacheKey, computedValue)\n }\n\n return computedValue\n}\n\nfunction variadic(\n this: unknown,\n fn: F,\n cache: DefaultCache>,\n serializer: Serializer\n) {\n const args = Array.prototype.slice.call(arguments, 3)\n const cacheKey = serializer(args)\n\n let computedValue = cache.get(cacheKey)\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args)\n cache.set(cacheKey, computedValue)\n }\n\n return computedValue\n}\n\nfunction assemble(\n fn: F,\n context: unknown,\n strategy: StrategyFn,\n cache: DefaultCache>,\n serialize: Serializer\n): F {\n return strategy.bind(context, fn, cache, serialize) as F\n}\n\nfunction strategyDefault(\n this: unknown,\n fn: F,\n options: ResolvedOptions\n) {\n const strategy = fn.length === 1 ? monadic : variadic\n\n return assemble(\n fn,\n this,\n strategy,\n options.cache.create(),\n options.serializer\n )\n}\n\nfunction strategyVariadic(\n this: unknown,\n fn: F,\n options: ResolvedOptions\n) {\n return assemble(\n fn,\n this,\n variadic,\n options.cache.create(),\n options.serializer\n )\n}\n\nfunction strategyMonadic(\n this: unknown,\n fn: F,\n options: ResolvedOptions\n) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer)\n}\n\n//\n// Serializer\n//\n\nconst serializerDefault: Serializer = function (): string {\n return JSON.stringify(arguments)\n}\n\n//\n// Cache\n//\n\nclass ObjectWithoutPrototypeCache {\n private cache: Record\n\n constructor() {\n this.cache = Object.create(null) as Record\n }\n\n get(key: string) {\n return this.cache[key]\n }\n\n set(key: string, value: T): void {\n this.cache[key] = value\n }\n}\n\nconst cacheDefault: Cache = {\n create: function create() {\n return new ObjectWithoutPrototypeCache()\n },\n}\n\n//\n// API\n//\n\nexport interface Strategies {\n variadic: MemoizeFunc\n monadic: MemoizeFunc\n}\n\nexport const strategies: Strategies = {\n variadic: strategyVariadic as MemoizeFunc,\n monadic: strategyMonadic as MemoizeFunc,\n}\n"],"names":[],"mappings":";;;;;;;AAoCA,SAAgB,QAAwB,EAAA,EAAO,OAAA,EAAyB;IACtE,MAAM,QAAQ,WAAW,QAAQ,KAAA,GAAQ,QAAQ,KAAA,GAAQ;IAEzD,MAAM,aACJ,WAAW,QAAQ,UAAA,GAAa,QAAQ,UAAA,GAAa;IAKvD,OAAA,CAFE,WAAW,QAAQ,QAAA,GAAW,QAAQ,QAAA,GAAW,eAAA,CAAA,CAEnC,IAAI;QAClB;QACA;IACF,CAAC;AACH;AAMA,SAAS,YAAY,KAAA,EAAqB;IACxC,OACE,SAAS,QAAQ,OAAO,UAAU,YAAY,OAAO,UAAU;AAEnE;AAUA,SAAS,QAEP,EAAA,EACA,KAAA,EACA,UAAA,EACA,GAAA,EACA;IACA,MAAM,WAAW,YAAY,GAAG,IAAI,MAAM,WAAW,GAAG;IAExD,IAAI,gBAAgB,MAAM,GAAA,CAAI,QAAQ;IACtC,IAAI,OAAO,kBAAkB,aAAa;QACxC,gBAAgB,GAAG,IAAA,CAAK,IAAA,EAAM,GAAG;QACjC,MAAM,GAAA,CAAI,UAAU,aAAa;IACnC;IAEA,OAAO;AACT;AAEA,SAAS,SAEP,EAAA,EACA,KAAA,EACA,UAAA,EACA;IACA,MAAM,OAAO,MAAM,SAAA,CAAU,KAAA,CAAM,IAAA,CAAK,WAAW,CAAC;IACpD,MAAM,WAAW,WAAW,IAAI;IAEhC,IAAI,gBAAgB,MAAM,GAAA,CAAI,QAAQ;IACtC,IAAI,OAAO,kBAAkB,aAAa;QACxC,gBAAgB,GAAG,KAAA,CAAM,IAAA,EAAM,IAAI;QACnC,MAAM,GAAA,CAAI,UAAU,aAAa;IACnC;IAEA,OAAO;AACT;AAEA,SAAS,SACP,EAAA,EACA,OAAA,EACA,QAAA,EACA,KAAA,EACA,SAAA,EACG;IACH,OAAO,SAAS,IAAA,CAAK,SAAS,IAAI,OAAO,SAAS;AACpD;AAEA,SAAS,gBAEP,EAAA,EACA,OAAA,EACA;IACA,MAAM,WAAW,GAAG,MAAA,KAAW,IAAI,UAAU;IAE7C,OAAO,SACL,IACA,IAAA,EACA,UACA,QAAQ,KAAA,CAAM,MAAA,CAAO,GACrB,QAAQ,UACV;AACF;AAEA,SAAS,iBAEP,EAAA,EACA,OAAA,EACA;IACA,OAAO,SACL,IACA,IAAA,EACA,UACA,QAAQ,KAAA,CAAM,MAAA,CAAO,GACrB,QAAQ,UACV;AACF;AAEA,SAAS,gBAEP,EAAA,EACA,OAAA,EACA;IACA,OAAO,SAAS,IAAI,IAAA,EAAM,SAAS,QAAQ,KAAA,CAAM,MAAA,CAAO,GAAG,QAAQ,UAAU;AAC/E;AAMA,MAAM,oBAAgC,WAAoB;IACxD,OAAO,KAAK,SAAA,CAAU,SAAS;AACjC;AAMA,IAAM,8BAAN,MAAkC;IAGhC,aAAc;QACZ,IAAA,CAAK,KAAA,GAAQ,OAAO,MAAA,CAAO,IAAI;IACjC;IAEA,IAAI,GAAA,EAAa;QACf,OAAO,IAAA,CAAK,KAAA,CAAM,IAAA;IACpB;IAEA,IAAO,GAAA,EAAa,KAAA,EAAgB;QAClC,IAAA,CAAK,KAAA,CAAM,IAAA,GAAO;IACpB;AACF;AAEA,MAAM,eAAgC;IACpC,QAAQ,SAAS,SAAS;QACxB,OAAO,IAAI,4BAA4B;IACzC;AACF;AAWA,MAAa,aAA+B;IAC1C,UAAU;IACV,SAAS;AACX"}}, + {"offset": {"line": 82, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/@formatjs/intl-localematcher/index.js","sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/CanonicalizeLocaleList.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/languageMatching.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/.aspect_rules_js/@formatjs_generated+cldr.core@0.0.0/node_modules/@formatjs_generated/cldr.core/regions.js","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/utils.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/BestFitMatcher.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/CanonicalizeUValue.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/CanonicalizeUnicodeLocaleId.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/InsertUnicodeExtensionAndCanonicalize.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/BestAvailableLocale.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/LookupMatcher.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/UnicodeExtensionComponents.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/ResolveLocale.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/abstract/LookupSupportedLocales.ts","file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@formatjs/index.ts"],"sourcesContent":["/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n * @param locales\n */\nexport function CanonicalizeLocaleList(\n locales?: string | readonly string[]\n): string[] {\n return Intl.getCanonicalLocales(locales)\n}\n","export const data = {\n supplemental: {\n languageMatching: {\n 'written-new': [\n {\n paradigmLocales: {\n _locales: 'en en_GB es es_419 pt_BR pt_PT',\n },\n },\n {\n $enUS: {\n _value: 'AS+CA+GU+MH+MP+PH+PR+UM+US+VI',\n },\n },\n {\n $cnsar: {\n _value: 'HK+MO',\n },\n },\n {\n $americas: {\n _value: '019',\n },\n },\n {\n $maghreb: {\n _value: 'MA+DZ+TN+LY+MR+EH',\n },\n },\n {\n no: {\n _desired: 'nb',\n _distance: '1',\n },\n },\n {\n bs: {\n _desired: 'hr',\n _distance: '4',\n },\n },\n {\n bs: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n hr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n sr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n aa: {\n _desired: 'ssy',\n _distance: '4',\n },\n },\n {\n de: {\n _desired: 'gsw',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'lb',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n no: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n nb: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n ru: {\n _desired: 'ab',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ach',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'af',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ak',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'am',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ay',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'az',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ur: {\n _desired: 'bal',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'be',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bem',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'bh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'bo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'br',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ca',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fil: {\n _desired: 'ceb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'chr',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ckb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'co',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'crs',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n sk: {\n _desired: 'cs',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'cy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ee',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'eo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'eu',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n da: {\n _desired: 'fo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'fy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ga',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gaa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gd',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gl',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'gu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ha',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'haw',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ht',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'hy',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ia',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ig',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'is',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'jv',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ka',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'kg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'kk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'km',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kri',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n tr: {\n _desired: 'ku',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'ky',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n it: {\n _desired: 'la',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ln',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'loz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'lua',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mai',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mfe',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'mg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mi',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ml',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'mn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mr',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'ms',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'my',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ne',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nb: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n no: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'nso',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ny',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'nyn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'oc',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'om',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'or',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pcm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ps',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'qu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'rm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'rn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'rw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'sa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sd',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'si',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'so',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sq',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'st',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'su',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ta',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'te',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ti',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tlh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'to',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tum',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'ug',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uk',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ur',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'wo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'xh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yi',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'za',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'zu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aao',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'adf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aeb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'afb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ajp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ars',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ary',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'auz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'avl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'bbz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'pga',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'shu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ssh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n az: {\n _desired: 'azb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n et: {\n _desired: 'vro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'ffm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gnw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gun',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'nhd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n iu: {\n _desired: 'ikt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'enb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'eyo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'niq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'oki',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'pko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'sgc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tuy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kok: {\n _desired: 'gom',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kpe: {\n _desired: 'gkp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'ida',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lkb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lks',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lri',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lrm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lsm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lto',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lts',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lwg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nle',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nyd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'rag',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n lv: {\n _desired: 'ltg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bhr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bjq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bzc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'msh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'skg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tdx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tkg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'txy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mn: {\n _desired: 'mvf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bjn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'btj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bvu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'coa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'dup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'hji',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'id',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kxd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lce',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lcf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'liw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'max',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'meo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'min',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mqg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'msi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'orn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'ors',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pel',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pse',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'tmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'urk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'xmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zlm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zmi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ne: {\n _desired: 'dty',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'gax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'hae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'orc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n or: {\n _desired: 'spv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pbt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pst',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qud',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qug',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qul',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qur',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qus',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qux',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qws',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aat',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aln',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n syr: {\n _desired: 'aii',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n uz: {\n _desired: 'uzs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n yi: {\n _desired: 'yih',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cdo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cjy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cpx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'gan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hsn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'lzh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'mnp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'nan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'wuu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'yue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n '*': {\n _desired: '*',\n _distance: '80',\n },\n },\n {\n 'en-Latn': {\n _desired: 'am-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'az-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'bn-Beng',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'bo-Tibt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'hy-Armn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ka-Geor',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'km-Khmr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'kn-Knda',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'lo-Laoo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ml-Mlym',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'my-Mymr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ne-Deva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'or-Orya',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'pa-Guru',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ps-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'sd-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'si-Sinh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ta-Taml',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'te-Telu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ti-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'tk-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ur-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'uz-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'yi-Hebr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'sr-Cyrl': {\n _desired: 'sr-Latn',\n _distance: '5',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'za-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hant': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ar-Arab': {\n _desired: 'ar-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'bn-Beng': {\n _desired: 'bn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'gu-Gujr': {\n _desired: 'gu-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'hi-Deva': {\n _desired: 'hi-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'kn-Knda': {\n _desired: 'kn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ml-Mlym': {\n _desired: 'ml-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'mr-Deva': {\n _desired: 'mr-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ta-Taml': {\n _desired: 'ta-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'te-Telu': {\n _desired: 'te-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Latn',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hrkt',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hang',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Hang': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n '*-*': {\n _desired: '*-*',\n _distance: '50',\n },\n },\n {\n 'ar-*-$maghreb': {\n _desired: 'ar-*-$maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-$!maghreb': {\n _desired: 'ar-*-$!maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-*': {\n _desired: 'ar-*-*',\n _distance: '5',\n },\n },\n {\n 'en-*-$enUS': {\n _desired: 'en-*-$enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-GB': {\n _desired: 'en-*-$!enUS',\n _distance: '3',\n },\n },\n {\n 'en-*-$!enUS': {\n _desired: 'en-*-$!enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-*': {\n _desired: 'en-*-*',\n _distance: '5',\n },\n },\n {\n 'es-*-$americas': {\n _desired: 'es-*-$americas',\n _distance: '4',\n },\n },\n {\n 'es-*-$!americas': {\n _desired: 'es-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'es-*-*': {\n _desired: 'es-*-*',\n _distance: '5',\n },\n },\n {\n 'pt-*-$americas': {\n _desired: 'pt-*-$americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-$!americas': {\n _desired: 'pt-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-*': {\n _desired: 'pt-*-*',\n _distance: '5',\n },\n },\n {\n 'zh-Hant-$cnsar': {\n _desired: 'zh-Hant-$cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-$!cnsar': {\n _desired: 'zh-Hant-$!cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-*': {\n _desired: 'zh-Hant-*',\n _distance: '5',\n },\n },\n {\n '*-*-*': {\n _desired: '*-*-*',\n _distance: '4',\n },\n },\n ] as const,\n },\n },\n}\n","// This file is generated from regions-gen.ts\nexport const regions = {\n\t\"001\": [\n\t\t\"001\",\n\t\t\"001-status-grouping\",\n\t\t\"002\",\n\t\t\"005\",\n\t\t\"009\",\n\t\t\"011\",\n\t\t\"013\",\n\t\t\"014\",\n\t\t\"015\",\n\t\t\"017\",\n\t\t\"018\",\n\t\t\"019\",\n\t\t\"021\",\n\t\t\"029\",\n\t\t\"030\",\n\t\t\"034\",\n\t\t\"035\",\n\t\t\"039\",\n\t\t\"053\",\n\t\t\"054\",\n\t\t\"057\",\n\t\t\"061\",\n\t\t\"142\",\n\t\t\"143\",\n\t\t\"145\",\n\t\t\"150\",\n\t\t\"151\",\n\t\t\"154\",\n\t\t\"155\",\n\t\t\"AC\",\n\t\t\"AD\",\n\t\t\"AE\",\n\t\t\"AF\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AL\",\n\t\t\"AM\",\n\t\t\"AO\",\n\t\t\"AQ\",\n\t\t\"AR\",\n\t\t\"AS\",\n\t\t\"AT\",\n\t\t\"AU\",\n\t\t\"AW\",\n\t\t\"AX\",\n\t\t\"AZ\",\n\t\t\"BA\",\n\t\t\"BB\",\n\t\t\"BD\",\n\t\t\"BE\",\n\t\t\"BF\",\n\t\t\"BG\",\n\t\t\"BH\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BL\",\n\t\t\"BM\",\n\t\t\"BN\",\n\t\t\"BO\",\n\t\t\"BQ\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BT\",\n\t\t\"BV\",\n\t\t\"BW\",\n\t\t\"BY\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CC\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CH\",\n\t\t\"CI\",\n\t\t\"CK\",\n\t\t\"CL\",\n\t\t\"CM\",\n\t\t\"CN\",\n\t\t\"CO\",\n\t\t\"CP\",\n\t\t\"CQ\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CV\",\n\t\t\"CW\",\n\t\t\"CX\",\n\t\t\"CY\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DG\",\n\t\t\"DJ\",\n\t\t\"DK\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"DZ\",\n\t\t\"EA\",\n\t\t\"EC\",\n\t\t\"EE\",\n\t\t\"EG\",\n\t\t\"EH\",\n\t\t\"ER\",\n\t\t\"ES\",\n\t\t\"ET\",\n\t\t\"EU\",\n\t\t\"EZ\",\n\t\t\"FI\",\n\t\t\"FJ\",\n\t\t\"FK\",\n\t\t\"FM\",\n\t\t\"FO\",\n\t\t\"FR\",\n\t\t\"GA\",\n\t\t\"GB\",\n\t\t\"GD\",\n\t\t\"GE\",\n\t\t\"GF\",\n\t\t\"GG\",\n\t\t\"GH\",\n\t\t\"GI\",\n\t\t\"GL\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GP\",\n\t\t\"GQ\",\n\t\t\"GR\",\n\t\t\"GS\",\n\t\t\"GT\",\n\t\t\"GU\",\n\t\t\"GW\",\n\t\t\"GY\",\n\t\t\"HK\",\n\t\t\"HM\",\n\t\t\"HN\",\n\t\t\"HR\",\n\t\t\"HT\",\n\t\t\"HU\",\n\t\t\"IC\",\n\t\t\"ID\",\n\t\t\"IE\",\n\t\t\"IL\",\n\t\t\"IM\",\n\t\t\"IN\",\n\t\t\"IO\",\n\t\t\"IQ\",\n\t\t\"IR\",\n\t\t\"IS\",\n\t\t\"IT\",\n\t\t\"JE\",\n\t\t\"JM\",\n\t\t\"JO\",\n\t\t\"JP\",\n\t\t\"KE\",\n\t\t\"KG\",\n\t\t\"KH\",\n\t\t\"KI\",\n\t\t\"KM\",\n\t\t\"KN\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"KW\",\n\t\t\"KY\",\n\t\t\"KZ\",\n\t\t\"LA\",\n\t\t\"LB\",\n\t\t\"LC\",\n\t\t\"LI\",\n\t\t\"LK\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"MC\",\n\t\t\"MD\",\n\t\t\"ME\",\n\t\t\"MF\",\n\t\t\"MG\",\n\t\t\"MH\",\n\t\t\"MK\",\n\t\t\"ML\",\n\t\t\"MM\",\n\t\t\"MN\",\n\t\t\"MO\",\n\t\t\"MP\",\n\t\t\"MQ\",\n\t\t\"MR\",\n\t\t\"MS\",\n\t\t\"MT\",\n\t\t\"MU\",\n\t\t\"MV\",\n\t\t\"MW\",\n\t\t\"MX\",\n\t\t\"MY\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NC\",\n\t\t\"NE\",\n\t\t\"NF\",\n\t\t\"NG\",\n\t\t\"NI\",\n\t\t\"NL\",\n\t\t\"NO\",\n\t\t\"NP\",\n\t\t\"NR\",\n\t\t\"NU\",\n\t\t\"NZ\",\n\t\t\"OM\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PF\",\n\t\t\"PG\",\n\t\t\"PH\",\n\t\t\"PK\",\n\t\t\"PL\",\n\t\t\"PM\",\n\t\t\"PN\",\n\t\t\"PR\",\n\t\t\"PS\",\n\t\t\"PT\",\n\t\t\"PW\",\n\t\t\"PY\",\n\t\t\"QA\",\n\t\t\"QO\",\n\t\t\"RE\",\n\t\t\"RO\",\n\t\t\"RS\",\n\t\t\"RU\",\n\t\t\"RW\",\n\t\t\"SA\",\n\t\t\"SB\",\n\t\t\"SC\",\n\t\t\"SD\",\n\t\t\"SE\",\n\t\t\"SG\",\n\t\t\"SH\",\n\t\t\"SI\",\n\t\t\"SJ\",\n\t\t\"SK\",\n\t\t\"SL\",\n\t\t\"SM\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SR\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"SY\",\n\t\t\"SZ\",\n\t\t\"TA\",\n\t\t\"TC\",\n\t\t\"TD\",\n\t\t\"TF\",\n\t\t\"TG\",\n\t\t\"TH\",\n\t\t\"TJ\",\n\t\t\"TK\",\n\t\t\"TL\",\n\t\t\"TM\",\n\t\t\"TN\",\n\t\t\"TO\",\n\t\t\"TR\",\n\t\t\"TT\",\n\t\t\"TV\",\n\t\t\"TW\",\n\t\t\"TZ\",\n\t\t\"UA\",\n\t\t\"UG\",\n\t\t\"UM\",\n\t\t\"UN\",\n\t\t\"US\",\n\t\t\"UY\",\n\t\t\"UZ\",\n\t\t\"VA\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VG\",\n\t\t\"VI\",\n\t\t\"VN\",\n\t\t\"VU\",\n\t\t\"WF\",\n\t\t\"WS\",\n\t\t\"XK\",\n\t\t\"YE\",\n\t\t\"YT\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"002\": [\n\t\t\"002\",\n\t\t\"002-status-grouping\",\n\t\t\"011\",\n\t\t\"014\",\n\t\t\"015\",\n\t\t\"017\",\n\t\t\"018\",\n\t\t\"202\",\n\t\t\"AO\",\n\t\t\"BF\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BW\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CI\",\n\t\t\"CM\",\n\t\t\"CV\",\n\t\t\"DJ\",\n\t\t\"DZ\",\n\t\t\"EA\",\n\t\t\"EG\",\n\t\t\"EH\",\n\t\t\"ER\",\n\t\t\"ET\",\n\t\t\"GA\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GQ\",\n\t\t\"GW\",\n\t\t\"IC\",\n\t\t\"IO\",\n\t\t\"KE\",\n\t\t\"KM\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"MG\",\n\t\t\"ML\",\n\t\t\"MR\",\n\t\t\"MU\",\n\t\t\"MW\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"RE\",\n\t\t\"RW\",\n\t\t\"SC\",\n\t\t\"SD\",\n\t\t\"SH\",\n\t\t\"SL\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SZ\",\n\t\t\"TD\",\n\t\t\"TF\",\n\t\t\"TG\",\n\t\t\"TN\",\n\t\t\"TZ\",\n\t\t\"UG\",\n\t\t\"YT\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"003\": [\n\t\t\"003\",\n\t\t\"013\",\n\t\t\"021\",\n\t\t\"029\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BM\",\n\t\t\"BQ\",\n\t\t\"BS\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"GD\",\n\t\t\"GL\",\n\t\t\"GP\",\n\t\t\"GT\",\n\t\t\"HN\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"PM\",\n\t\t\"PR\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"US\",\n\t\t\"VC\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"005\": [\n\t\t\"005\",\n\t\t\"AR\",\n\t\t\"BO\",\n\t\t\"BR\",\n\t\t\"BV\",\n\t\t\"CL\",\n\t\t\"CO\",\n\t\t\"EC\",\n\t\t\"FK\",\n\t\t\"GF\",\n\t\t\"GS\",\n\t\t\"GY\",\n\t\t\"PE\",\n\t\t\"PY\",\n\t\t\"SR\",\n\t\t\"UY\",\n\t\t\"VE\"\n\t],\n\t\"009\": [\n\t\t\"009\",\n\t\t\"053\",\n\t\t\"054\",\n\t\t\"057\",\n\t\t\"061\",\n\t\t\"AC\",\n\t\t\"AQ\",\n\t\t\"AS\",\n\t\t\"AU\",\n\t\t\"CC\",\n\t\t\"CK\",\n\t\t\"CP\",\n\t\t\"CX\",\n\t\t\"DG\",\n\t\t\"FJ\",\n\t\t\"FM\",\n\t\t\"GU\",\n\t\t\"HM\",\n\t\t\"KI\",\n\t\t\"MH\",\n\t\t\"MP\",\n\t\t\"NC\",\n\t\t\"NF\",\n\t\t\"NR\",\n\t\t\"NU\",\n\t\t\"NZ\",\n\t\t\"PF\",\n\t\t\"PG\",\n\t\t\"PN\",\n\t\t\"PW\",\n\t\t\"QO\",\n\t\t\"SB\",\n\t\t\"TA\",\n\t\t\"TK\",\n\t\t\"TO\",\n\t\t\"TV\",\n\t\t\"UM\",\n\t\t\"VU\",\n\t\t\"WF\",\n\t\t\"WS\"\n\t],\n\t\"011\": [\n\t\t\"011\",\n\t\t\"BF\",\n\t\t\"BJ\",\n\t\t\"CI\",\n\t\t\"CV\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GW\",\n\t\t\"LR\",\n\t\t\"ML\",\n\t\t\"MR\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"SH\",\n\t\t\"SL\",\n\t\t\"SN\",\n\t\t\"TG\"\n\t],\n\t\"013\": [\n\t\t\"013\",\n\t\t\"BZ\",\n\t\t\"CR\",\n\t\t\"GT\",\n\t\t\"HN\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"SV\"\n\t],\n\t\"014\": [\n\t\t\"014\",\n\t\t\"BI\",\n\t\t\"DJ\",\n\t\t\"ER\",\n\t\t\"ET\",\n\t\t\"IO\",\n\t\t\"KE\",\n\t\t\"KM\",\n\t\t\"MG\",\n\t\t\"MU\",\n\t\t\"MW\",\n\t\t\"MZ\",\n\t\t\"RE\",\n\t\t\"RW\",\n\t\t\"SC\",\n\t\t\"SO\",\n\t\t\"SS\",\n\t\t\"TF\",\n\t\t\"TZ\",\n\t\t\"UG\",\n\t\t\"YT\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"015\": [\n\t\t\"015\",\n\t\t\"DZ\",\n\t\t\"EA\",\n\t\t\"EG\",\n\t\t\"EH\",\n\t\t\"IC\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"SD\",\n\t\t\"TN\"\n\t],\n\t\"017\": [\n\t\t\"017\",\n\t\t\"AO\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CM\",\n\t\t\"GA\",\n\t\t\"GQ\",\n\t\t\"ST\",\n\t\t\"TD\"\n\t],\n\t\"018\": [\n\t\t\"018\",\n\t\t\"BW\",\n\t\t\"LS\",\n\t\t\"NA\",\n\t\t\"SZ\",\n\t\t\"ZA\"\n\t],\n\t\"019\": [\n\t\t\"003\",\n\t\t\"005\",\n\t\t\"013\",\n\t\t\"019\",\n\t\t\"019-status-grouping\",\n\t\t\"021\",\n\t\t\"029\",\n\t\t\"419\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AR\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BM\",\n\t\t\"BO\",\n\t\t\"BQ\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BV\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CL\",\n\t\t\"CO\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"EC\",\n\t\t\"FK\",\n\t\t\"GD\",\n\t\t\"GF\",\n\t\t\"GL\",\n\t\t\"GP\",\n\t\t\"GS\",\n\t\t\"GT\",\n\t\t\"GY\",\n\t\t\"HN\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PM\",\n\t\t\"PR\",\n\t\t\"PY\",\n\t\t\"SR\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"US\",\n\t\t\"UY\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"021\": [\n\t\t\"021\",\n\t\t\"BM\",\n\t\t\"CA\",\n\t\t\"GL\",\n\t\t\"PM\",\n\t\t\"US\"\n\t],\n\t\"029\": [\n\t\t\"029\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BQ\",\n\t\t\"BS\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"GD\",\n\t\t\"GP\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"PR\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"VC\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"030\": [\n\t\t\"030\",\n\t\t\"CN\",\n\t\t\"HK\",\n\t\t\"JP\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"MN\",\n\t\t\"MO\",\n\t\t\"TW\"\n\t],\n\t\"034\": [\n\t\t\"034\",\n\t\t\"AF\",\n\t\t\"BD\",\n\t\t\"BT\",\n\t\t\"IN\",\n\t\t\"IR\",\n\t\t\"LK\",\n\t\t\"MV\",\n\t\t\"NP\",\n\t\t\"PK\"\n\t],\n\t\"035\": [\n\t\t\"035\",\n\t\t\"BN\",\n\t\t\"ID\",\n\t\t\"KH\",\n\t\t\"LA\",\n\t\t\"MM\",\n\t\t\"MY\",\n\t\t\"PH\",\n\t\t\"SG\",\n\t\t\"TH\",\n\t\t\"TL\",\n\t\t\"VN\"\n\t],\n\t\"039\": [\n\t\t\"039\",\n\t\t\"AD\",\n\t\t\"AL\",\n\t\t\"BA\",\n\t\t\"ES\",\n\t\t\"GI\",\n\t\t\"GR\",\n\t\t\"HR\",\n\t\t\"IT\",\n\t\t\"ME\",\n\t\t\"MK\",\n\t\t\"MT\",\n\t\t\"PT\",\n\t\t\"RS\",\n\t\t\"SI\",\n\t\t\"SM\",\n\t\t\"VA\",\n\t\t\"XK\"\n\t],\n\t\"053\": [\n\t\t\"053\",\n\t\t\"AU\",\n\t\t\"CC\",\n\t\t\"CX\",\n\t\t\"HM\",\n\t\t\"NF\",\n\t\t\"NZ\"\n\t],\n\t\"054\": [\n\t\t\"054\",\n\t\t\"FJ\",\n\t\t\"NC\",\n\t\t\"PG\",\n\t\t\"SB\",\n\t\t\"VU\"\n\t],\n\t\"057\": [\n\t\t\"057\",\n\t\t\"FM\",\n\t\t\"GU\",\n\t\t\"KI\",\n\t\t\"MH\",\n\t\t\"MP\",\n\t\t\"NR\",\n\t\t\"PW\",\n\t\t\"UM\"\n\t],\n\t\"061\": [\n\t\t\"061\",\n\t\t\"AS\",\n\t\t\"CK\",\n\t\t\"NU\",\n\t\t\"PF\",\n\t\t\"PN\",\n\t\t\"TK\",\n\t\t\"TO\",\n\t\t\"TV\",\n\t\t\"WF\",\n\t\t\"WS\"\n\t],\n\t\"142\": [\n\t\t\"030\",\n\t\t\"034\",\n\t\t\"035\",\n\t\t\"142\",\n\t\t\"143\",\n\t\t\"145\",\n\t\t\"AE\",\n\t\t\"AF\",\n\t\t\"AM\",\n\t\t\"AZ\",\n\t\t\"BD\",\n\t\t\"BH\",\n\t\t\"BN\",\n\t\t\"BT\",\n\t\t\"CN\",\n\t\t\"CY\",\n\t\t\"GE\",\n\t\t\"HK\",\n\t\t\"ID\",\n\t\t\"IL\",\n\t\t\"IN\",\n\t\t\"IQ\",\n\t\t\"IR\",\n\t\t\"JO\",\n\t\t\"JP\",\n\t\t\"KG\",\n\t\t\"KH\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"KW\",\n\t\t\"KZ\",\n\t\t\"LA\",\n\t\t\"LB\",\n\t\t\"LK\",\n\t\t\"MM\",\n\t\t\"MN\",\n\t\t\"MO\",\n\t\t\"MV\",\n\t\t\"MY\",\n\t\t\"NP\",\n\t\t\"OM\",\n\t\t\"PH\",\n\t\t\"PK\",\n\t\t\"PS\",\n\t\t\"QA\",\n\t\t\"SA\",\n\t\t\"SG\",\n\t\t\"SY\",\n\t\t\"TH\",\n\t\t\"TJ\",\n\t\t\"TL\",\n\t\t\"TM\",\n\t\t\"TR\",\n\t\t\"TW\",\n\t\t\"UZ\",\n\t\t\"VN\",\n\t\t\"YE\"\n\t],\n\t\"143\": [\n\t\t\"143\",\n\t\t\"KG\",\n\t\t\"KZ\",\n\t\t\"TJ\",\n\t\t\"TM\",\n\t\t\"UZ\"\n\t],\n\t\"145\": [\n\t\t\"145\",\n\t\t\"AE\",\n\t\t\"AM\",\n\t\t\"AZ\",\n\t\t\"BH\",\n\t\t\"CY\",\n\t\t\"GE\",\n\t\t\"IL\",\n\t\t\"IQ\",\n\t\t\"JO\",\n\t\t\"KW\",\n\t\t\"LB\",\n\t\t\"OM\",\n\t\t\"PS\",\n\t\t\"QA\",\n\t\t\"SA\",\n\t\t\"SY\",\n\t\t\"TR\",\n\t\t\"YE\"\n\t],\n\t\"150\": [\n\t\t\"039\",\n\t\t\"150\",\n\t\t\"151\",\n\t\t\"154\",\n\t\t\"155\",\n\t\t\"AD\",\n\t\t\"AL\",\n\t\t\"AT\",\n\t\t\"AX\",\n\t\t\"BA\",\n\t\t\"BE\",\n\t\t\"BG\",\n\t\t\"BY\",\n\t\t\"CH\",\n\t\t\"CQ\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DK\",\n\t\t\"EE\",\n\t\t\"ES\",\n\t\t\"FI\",\n\t\t\"FO\",\n\t\t\"FR\",\n\t\t\"GB\",\n\t\t\"GG\",\n\t\t\"GI\",\n\t\t\"GR\",\n\t\t\"HR\",\n\t\t\"HU\",\n\t\t\"IE\",\n\t\t\"IM\",\n\t\t\"IS\",\n\t\t\"IT\",\n\t\t\"JE\",\n\t\t\"LI\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"MC\",\n\t\t\"MD\",\n\t\t\"ME\",\n\t\t\"MK\",\n\t\t\"MT\",\n\t\t\"NL\",\n\t\t\"NO\",\n\t\t\"PL\",\n\t\t\"PT\",\n\t\t\"RO\",\n\t\t\"RS\",\n\t\t\"RU\",\n\t\t\"SE\",\n\t\t\"SI\",\n\t\t\"SJ\",\n\t\t\"SK\",\n\t\t\"SM\",\n\t\t\"UA\",\n\t\t\"VA\",\n\t\t\"XK\"\n\t],\n\t\"151\": [\n\t\t\"151\",\n\t\t\"BG\",\n\t\t\"BY\",\n\t\t\"CZ\",\n\t\t\"HU\",\n\t\t\"MD\",\n\t\t\"PL\",\n\t\t\"RO\",\n\t\t\"RU\",\n\t\t\"SK\",\n\t\t\"UA\"\n\t],\n\t\"154\": [\n\t\t\"154\",\n\t\t\"AX\",\n\t\t\"CQ\",\n\t\t\"DK\",\n\t\t\"EE\",\n\t\t\"FI\",\n\t\t\"FO\",\n\t\t\"GB\",\n\t\t\"GG\",\n\t\t\"IE\",\n\t\t\"IM\",\n\t\t\"IS\",\n\t\t\"JE\",\n\t\t\"LT\",\n\t\t\"LV\",\n\t\t\"NO\",\n\t\t\"SE\",\n\t\t\"SJ\"\n\t],\n\t\"155\": [\n\t\t\"155\",\n\t\t\"AT\",\n\t\t\"BE\",\n\t\t\"CH\",\n\t\t\"DE\",\n\t\t\"FR\",\n\t\t\"LI\",\n\t\t\"LU\",\n\t\t\"MC\",\n\t\t\"NL\"\n\t],\n\t\"202\": [\n\t\t\"011\",\n\t\t\"014\",\n\t\t\"017\",\n\t\t\"018\",\n\t\t\"202\",\n\t\t\"AO\",\n\t\t\"BF\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BW\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CI\",\n\t\t\"CM\",\n\t\t\"CV\",\n\t\t\"DJ\",\n\t\t\"ER\",\n\t\t\"ET\",\n\t\t\"GA\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GQ\",\n\t\t\"GW\",\n\t\t\"IO\",\n\t\t\"KE\",\n\t\t\"KM\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"MG\",\n\t\t\"ML\",\n\t\t\"MR\",\n\t\t\"MU\",\n\t\t\"MW\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"RE\",\n\t\t\"RW\",\n\t\t\"SC\",\n\t\t\"SH\",\n\t\t\"SL\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SZ\",\n\t\t\"TD\",\n\t\t\"TF\",\n\t\t\"TG\",\n\t\t\"TZ\",\n\t\t\"UG\",\n\t\t\"YT\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"419\": [\n\t\t\"005\",\n\t\t\"013\",\n\t\t\"029\",\n\t\t\"419\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AR\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BO\",\n\t\t\"BQ\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BV\",\n\t\t\"BZ\",\n\t\t\"CL\",\n\t\t\"CO\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"EC\",\n\t\t\"FK\",\n\t\t\"GD\",\n\t\t\"GF\",\n\t\t\"GP\",\n\t\t\"GS\",\n\t\t\"GT\",\n\t\t\"GY\",\n\t\t\"HN\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PR\",\n\t\t\"PY\",\n\t\t\"SR\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"UY\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"EU\": [\n\t\t\"AT\",\n\t\t\"BE\",\n\t\t\"BG\",\n\t\t\"CY\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DK\",\n\t\t\"EE\",\n\t\t\"ES\",\n\t\t\"EU\",\n\t\t\"FI\",\n\t\t\"FR\",\n\t\t\"GR\",\n\t\t\"HR\",\n\t\t\"HU\",\n\t\t\"IE\",\n\t\t\"IT\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"MT\",\n\t\t\"NL\",\n\t\t\"PL\",\n\t\t\"PT\",\n\t\t\"RO\",\n\t\t\"SE\",\n\t\t\"SI\",\n\t\t\"SK\"\n\t],\n\t\"EZ\": [\n\t\t\"AT\",\n\t\t\"BE\",\n\t\t\"CY\",\n\t\t\"DE\",\n\t\t\"EE\",\n\t\t\"ES\",\n\t\t\"EZ\",\n\t\t\"FI\",\n\t\t\"FR\",\n\t\t\"GR\",\n\t\t\"IE\",\n\t\t\"IT\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"MT\",\n\t\t\"NL\",\n\t\t\"PT\",\n\t\t\"SI\",\n\t\t\"SK\"\n\t],\n\t\"QO\": [\n\t\t\"AC\",\n\t\t\"AQ\",\n\t\t\"CP\",\n\t\t\"DG\",\n\t\t\"QO\",\n\t\t\"TA\"\n\t],\n\t\"UN\": [\n\t\t\"AD\",\n\t\t\"AE\",\n\t\t\"AF\",\n\t\t\"AG\",\n\t\t\"AL\",\n\t\t\"AM\",\n\t\t\"AO\",\n\t\t\"AR\",\n\t\t\"AT\",\n\t\t\"AU\",\n\t\t\"AZ\",\n\t\t\"BA\",\n\t\t\"BB\",\n\t\t\"BD\",\n\t\t\"BE\",\n\t\t\"BF\",\n\t\t\"BG\",\n\t\t\"BH\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BN\",\n\t\t\"BO\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BT\",\n\t\t\"BW\",\n\t\t\"BY\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CH\",\n\t\t\"CI\",\n\t\t\"CL\",\n\t\t\"CM\",\n\t\t\"CN\",\n\t\t\"CO\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CV\",\n\t\t\"CY\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DJ\",\n\t\t\"DK\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"DZ\",\n\t\t\"EC\",\n\t\t\"EE\",\n\t\t\"EG\",\n\t\t\"ER\",\n\t\t\"ES\",\n\t\t\"ET\",\n\t\t\"FI\",\n\t\t\"FJ\",\n\t\t\"FM\",\n\t\t\"FR\",\n\t\t\"GA\",\n\t\t\"GB\",\n\t\t\"GD\",\n\t\t\"GE\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GQ\",\n\t\t\"GR\",\n\t\t\"GT\",\n\t\t\"GW\",\n\t\t\"GY\",\n\t\t\"HN\",\n\t\t\"HR\",\n\t\t\"HT\",\n\t\t\"HU\",\n\t\t\"ID\",\n\t\t\"IE\",\n\t\t\"IL\",\n\t\t\"IN\",\n\t\t\"IQ\",\n\t\t\"IR\",\n\t\t\"IS\",\n\t\t\"IT\",\n\t\t\"JM\",\n\t\t\"JO\",\n\t\t\"JP\",\n\t\t\"KE\",\n\t\t\"KG\",\n\t\t\"KH\",\n\t\t\"KI\",\n\t\t\"KM\",\n\t\t\"KN\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"KW\",\n\t\t\"KZ\",\n\t\t\"LA\",\n\t\t\"LB\",\n\t\t\"LC\",\n\t\t\"LI\",\n\t\t\"LK\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"MC\",\n\t\t\"MD\",\n\t\t\"ME\",\n\t\t\"MG\",\n\t\t\"MH\",\n\t\t\"MK\",\n\t\t\"ML\",\n\t\t\"MM\",\n\t\t\"MN\",\n\t\t\"MR\",\n\t\t\"MT\",\n\t\t\"MU\",\n\t\t\"MV\",\n\t\t\"MW\",\n\t\t\"MX\",\n\t\t\"MY\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"NI\",\n\t\t\"NL\",\n\t\t\"NO\",\n\t\t\"NP\",\n\t\t\"NR\",\n\t\t\"NZ\",\n\t\t\"OM\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PG\",\n\t\t\"PH\",\n\t\t\"PK\",\n\t\t\"PL\",\n\t\t\"PT\",\n\t\t\"PW\",\n\t\t\"PY\",\n\t\t\"QA\",\n\t\t\"RO\",\n\t\t\"RS\",\n\t\t\"RU\",\n\t\t\"RW\",\n\t\t\"SA\",\n\t\t\"SB\",\n\t\t\"SC\",\n\t\t\"SD\",\n\t\t\"SE\",\n\t\t\"SG\",\n\t\t\"SI\",\n\t\t\"SK\",\n\t\t\"SL\",\n\t\t\"SM\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SR\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SV\",\n\t\t\"SY\",\n\t\t\"SZ\",\n\t\t\"TD\",\n\t\t\"TG\",\n\t\t\"TH\",\n\t\t\"TJ\",\n\t\t\"TL\",\n\t\t\"TM\",\n\t\t\"TN\",\n\t\t\"TO\",\n\t\t\"TR\",\n\t\t\"TT\",\n\t\t\"TV\",\n\t\t\"TZ\",\n\t\t\"UA\",\n\t\t\"UG\",\n\t\t\"UN\",\n\t\t\"US\",\n\t\t\"UY\",\n\t\t\"UZ\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VN\",\n\t\t\"VU\",\n\t\t\"WS\",\n\t\t\"YE\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t]\n};\n","import {memoize} from '@formatjs/fast-memoize'\nimport {data as jsonData} from '#packages/intl-localematcher/abstract/languageMatching.js'\nimport {regions} from '@formatjs_generated/cldr.core/regions.js'\n// ECMA-402 §9.2.3, steps 1.b.i–ii: extract only the Unicode extension.\n// A private-use subtag named \"u\" does not start a Unicode extension.\n// https://tc39.es/ecma402/#sec-lookupmatchinglocalebyprefix\n// https://github.com/tc39/ecma402/blob/b1c961988b9a07894b1dc3dc2b5626ea48387d61/spec/negotiation.html#L116-L118\nexport function splitUnicodeExtension(locale: string): {\n locale: string\n extension?: string\n} {\n const subtags = locale.split('-')\n for (let i = 1; i < subtags.length; i++) {\n if (subtags[i] === 'x') break\n if (subtags[i] !== 'u') continue\n let end = i + 1\n while (end < subtags.length && subtags[end].length > 1) end++\n return {\n locale: [...subtags.slice(0, i), ...subtags.slice(end)].join('-'),\n extension: '-' + subtags.slice(i, end).join('-'),\n }\n }\n return {locale}\n}\n\n/**\n * Asserts that a condition is true, throwing an error if it is not.\n * Used for runtime validation and type narrowing.\n *\n * @param condition - The condition to check\n * @param message - Error message if condition is false\n * @param Err - Error constructor to use (defaults to Error)\n * @throws {Error} When condition is false\n *\n * @example\n * ```ts\n * invariant(locale !== undefined, 'Locale must be defined')\n * // locale is now narrowed to non-undefined type\n * ```\n */\nexport function invariant(\n condition: boolean,\n message: string,\n Err: any = Error\n): asserts condition {\n if (!condition) {\n throw new Err(message)\n }\n}\n\n// This is effectively 2 languages in 2 different regions in the same cluster\nconst DEFAULT_MATCHING_THRESHOLD = 838\n\ninterface LSR {\n language: string\n script: string\n region: string\n}\n\ninterface LanguageMatchInfo {\n supported: string\n desired: string\n distance: number\n oneway: boolean\n}\n\ninterface LanguageInfo {\n matches: LanguageMatchInfo[]\n matchVariables: Record\n paradigmLocales: string[]\n}\n\nlet PROCESSED_DATA: LanguageInfo | undefined\n\nfunction processData(): LanguageInfo {\n if (!PROCESSED_DATA) {\n const paradigmLocales = jsonData.supplemental.languageMatching[\n 'written-new'\n ][0]?.paradigmLocales?._locales.split(' ') as any\n const matchVariables = jsonData.supplemental.languageMatching[\n 'written-new'\n ].slice(1, 5) as any[]\n const data = jsonData.supplemental.languageMatching['written-new'].slice(5)\n const matches = data.map(d => {\n const key = Object.keys(d)[0] as string\n const value = (\n d as Record<\n string,\n {\n _desired: string\n _distance: string\n oneway?: string\n }\n >\n )[key]\n return {\n supported: key,\n desired: value._desired,\n distance: +value._distance,\n oneway: value.oneway === 'true' ? true : false,\n }\n }, {})\n PROCESSED_DATA = {\n matches,\n matchVariables: matchVariables.reduce>(\n (all, d) => {\n const key = Object.keys(d)[0] as string\n const value = d[key]\n all[key.slice(1)] = value._value.split('+')\n return all\n },\n {}\n ),\n paradigmLocales: [\n ...paradigmLocales,\n ...paradigmLocales.map((l: string) =>\n new Intl.Locale(l.replace(/_/g, '-')).maximize().toString()\n ),\n ],\n }\n }\n\n return PROCESSED_DATA\n}\n\nfunction isMatched(\n locale: LSR,\n languageMatchInfoLocale: string,\n matchVariables: Record\n): boolean {\n const [language, script, region] = languageMatchInfoLocale.split('-')\n let matches = true\n if (region && region[0] === '$') {\n const shouldInclude = region[1] !== '!'\n const matchRegions = shouldInclude\n ? matchVariables[region.slice(1)]\n : matchVariables[region.slice(2)]\n const expandedMatchedRegions = matchRegions\n .map(r => regions[r] || [r])\n .reduce((all, list) => [...all, ...list], [])\n matches &&= !(\n expandedMatchedRegions.indexOf(locale.region || '') > -1 !=\n shouldInclude\n )\n } else {\n matches &&= locale.region\n ? region === '*' || region === locale.region\n : true\n }\n matches &&= locale.script ? script === '*' || script === locale.script : true\n matches &&= locale.language\n ? language === '*' || language === locale.language\n : true\n return matches\n}\n\nfunction serializeLSR(lsr: LSR): string {\n return [lsr.language, lsr.script, lsr.region].filter(Boolean).join('-')\n}\n\nfunction findMatchingDistanceForLSR(\n desired: LSR,\n supported: LSR,\n data: LanguageInfo\n): number {\n for (const d of data.matches) {\n let matches =\n isMatched(desired, d.desired, data.matchVariables) &&\n isMatched(supported, d.supported, data.matchVariables)\n if (!d.oneway && !matches) {\n matches =\n isMatched(desired, d.supported, data.matchVariables) &&\n isMatched(supported, d.desired, data.matchVariables)\n }\n if (matches) {\n const distance = d.distance * 10\n if (\n data.paradigmLocales.indexOf(serializeLSR(desired)) > -1 !=\n data.paradigmLocales.indexOf(serializeLSR(supported)) > -1\n ) {\n return distance - 1\n }\n return distance\n }\n }\n throw new Error('No matching distance found')\n}\n\nfunction findMatchingDistanceImpl(desired: string, supported: string): number {\n const desiredLocale = new Intl.Locale(desired).maximize()\n const supportedLocale = new Intl.Locale(supported).maximize()\n const desiredLSR: LSR = {\n language: desiredLocale.language,\n script: desiredLocale.script || '',\n region: desiredLocale.region || '',\n }\n const supportedLSR: LSR = {\n language: supportedLocale.language,\n script: supportedLocale.script || '',\n region: supportedLocale.region || '',\n }\n let matchingDistance = 0\n\n const data = processData()\n\n if (desiredLSR.language !== supportedLSR.language) {\n matchingDistance += findMatchingDistanceForLSR(\n {\n language: desiredLocale.language,\n script: '',\n region: '',\n },\n {\n language: supportedLocale.language,\n script: '',\n region: '',\n },\n data\n )\n }\n\n if (desiredLSR.script !== supportedLSR.script) {\n matchingDistance += findMatchingDistanceForLSR(\n {\n language: desiredLocale.language,\n script: desiredLSR.script,\n region: '',\n },\n {\n language: supportedLocale.language,\n script: supportedLSR.script,\n region: '',\n },\n data\n )\n }\n\n if (desiredLSR.region !== supportedLSR.region) {\n matchingDistance += findMatchingDistanceForLSR(\n desiredLSR,\n supportedLSR,\n data\n )\n }\n\n return matchingDistance\n}\n\n/**\n * Calculates the matching distance between two locales using the CLDR Enhanced Language Matching algorithm.\n * This function is memoized for performance, as distance calculations are expensive.\n *\n * The distance represents how \"far apart\" two locales are, with 0 being identical (after maximization).\n * Distances are calculated based on Language-Script-Region (LSR) differences using CLDR data.\n *\n * @param desired - The desired locale (e.g., \"en-US\")\n * @param supported - The supported locale to compare against (e.g., \"en-GB\")\n * @returns The calculated distance between the locales\n *\n * @example\n * ```ts\n * findMatchingDistance('en-US', 'en-US') // 0 - identical\n * findMatchingDistance('en-US', 'en-GB') // 40 - same language/script, different region\n * findMatchingDistance('es-CO', 'es-419') // 39 - regional variant\n * findMatchingDistance('en', 'fr') // 840 - completely different languages\n * ```\n *\n * @see https://unicode.org/reports/tr35/#EnhancedLanguageMatching\n */\nexport const findMatchingDistance: (\n desired: string,\n supported: string\n) => number = memoize(findMatchingDistanceImpl, {\n serializer: (args: any[]) => `${args[0]}|${args[1]}`,\n})\n\ninterface LocaleMatchingResult {\n distances: Record>\n matchedSupportedLocale?: string\n matchedDesiredLocale?: string\n}\n\n/**\n * Generates fallback candidates by progressively removing subtags\n * e.g., \"en-US\" -> [\"en-US\", \"en\"]\n * \"zh-Hans-CN\" -> [\"zh-Hans-CN\", \"zh-Hans\", \"zh\"]\n */\nfunction getFallbackCandidates(locale: string): string[] {\n const candidates: string[] = []\n let current = locale\n\n while (current) {\n candidates.push(current)\n const lastDash = current.lastIndexOf('-')\n if (lastDash === -1) break\n current = current.substring(0, lastDash)\n }\n\n return candidates\n}\n\n/**\n * Finds the best locale match using a three-tier optimization hierarchy.\n *\n * ## Three-Tier Matching Algorithm:\n *\n * **Tier 1 - Fast Path** (O(n)): Exact string matching via Set lookup\n * - Example: 'en' matches 'en' exactly → distance 0\n * - Solves #4936: 48x faster than baseline (12ms vs 610ms with 700+ locales)\n *\n * **Tier 2 - Fallback Path** (O(k×n)): Maximization + progressive subtag removal\n * - Maximizes requested locale, then removes subtags right-to-left\n * - Example: \"zh-TW\" → \"zh-Hant-TW\" → [\"zh-Hant-TW\", \"zh-Hant\", \"zh\"]\n * - Distance: 0 for maximized match, 10 per removed subtag + position penalty\n * - 40-50x faster than full UTS #35, handles 99% of real-world cases correctly\n *\n * **Tier 3 - Slow Path** (O(n×m), memoized): Full UTS #35 CLDR matching\n * - Calculates Language-Script-Region distances using CLDR data\n * - Handles complex cases like cross-script matching (sr-Cyrl ↔ sr-Latn)\n * - Only used when Tiers 1 & 2 find no match\n * - Still 6x faster than baseline due to memoization\n *\n * ## Performance Impact of Maximization:\n *\n * While Tier 2 now calls `Intl.Locale().maximize()` once per requested locale,\n * this is still much faster than Tier 3's full distance calculation:\n * - Tier 1: ~12ms (exact match, no maximization)\n * - Tier 2: ~13-15ms (maximization + fallback)\n * - Tier 3: ~100ms+ (full UTS #35 with all supported locales)\n *\n * @param requestedLocales - Locale identifiers in preference order\n * @param supportedLocales - Available locale identifiers\n * @param threshold - Maximum distance (default: 838, from CLDR)\n * @returns Matching result with distances\n *\n * @example\n * ```ts\n * // Tier 1: Exact match\n * findBestMatch(['en'], ['en', 'fr'])\n * // → { matchedSupportedLocale: 'en', distances: { en: { en: 0 } } }\n *\n * // Tier 2: Fallback with maximization\n * findBestMatch(['zh-TW'], ['zh-Hant'])\n * // → zh-TW maximizes to zh-Hant-TW, falls back to zh-Hant (distance 0)\n *\n * findBestMatch(['en-US'], ['en'])\n * // → en-US maximizes to en-Latn-US, falls back to en (distance 10)\n *\n * // Tier 3: Full calculation\n * findBestMatch(['en-XZ'], ['ja', 'ko'])\n * // → No fallback match, uses UTS #35 to find closest match\n * ```\n *\n * @see https://unicode.org/reports/tr35/#EnhancedLanguageMatching\n * @see https://github.com/formatjs/formatjs/issues/4936\n */\n// WeakMap to cache canonicalized supported locales arrays\nconst canonicalizedSupportedCache = new WeakMap()\n\nexport function findBestMatch(\n requestedLocales: readonly string[],\n supportedLocales: readonly string[],\n threshold: number = DEFAULT_MATCHING_THRESHOLD\n): LocaleMatchingResult {\n let lowestDistance = Infinity\n let result: LocaleMatchingResult = {\n matchedDesiredLocale: '',\n distances: {},\n }\n\n // Get or compute canonicalized supported locales (one by one to preserve indices)\n let canonicalizedSupportedLocales =\n canonicalizedSupportedCache.get(supportedLocales)\n if (!canonicalizedSupportedLocales) {\n canonicalizedSupportedLocales = supportedLocales.map(locale => {\n try {\n const canonical = Intl.getCanonicalLocales([locale])\n return canonical[0] || locale\n } catch {\n return locale\n }\n })\n canonicalizedSupportedCache.set(\n supportedLocales,\n canonicalizedSupportedLocales\n )\n }\n\n const supportedSet = new Set(canonicalizedSupportedLocales)\n\n // === TIER 1: FAST PATH - Exact Match ===\n // Check for exact matches in ALL requested locales\n // This is the fastest path and handles the majority of real-world cases\n for (let i = 0; i < requestedLocales.length; i++) {\n const desired = requestedLocales[i]\n if (supportedSet.has(desired)) {\n const distance = 0 + i * 40\n result.distances[desired] = {[desired]: distance}\n\n if (distance < lowestDistance) {\n lowestDistance = distance\n result.matchedDesiredLocale = desired\n result.matchedSupportedLocale = desired\n }\n\n // Only return immediately if this is the first requested locale (distance=0)\n // Otherwise, continue checking for potentially better matches\n if (i === 0) {\n return result\n }\n }\n }\n\n // If we found an exact match in Tier 1 (but not for first locale), check Tier 2\n // to see if there's a better fallback match with lower distance\n // If no exact match found, Tier 2 will find fallback matches\n\n // === TIER 2: FALLBACK PATH - Maximization + Progressive Subtag Removal ===\n // Try maximization-based matching before resorting to expensive Tier 3\n // This handles cases like zh-TW → zh-Hant efficiently\n for (let i = 0; i < requestedLocales.length; i++) {\n const desired = requestedLocales[i]\n\n // Maximize then fallback (for linguistic accuracy like zh-TW → zh-Hant)\n try {\n const maximized = new Intl.Locale(desired).maximize().toString()\n if (maximized !== desired) {\n const maximizedCandidates = getFallbackCandidates(maximized)\n for (let j = 0; j < maximizedCandidates.length; j++) {\n const candidate = maximizedCandidates[j]\n if (candidate === desired) continue // Already checked in Tier 1\n\n if (supportedSet.has(candidate)) {\n // Check if candidate also maximizes to the same form\n // e.g., zh-TW → zh-Hant-TW and zh-Hant → zh-Hant-TW (distance 0)\n // but es-co → es-Latn-CO and es → es-Latn-ES (distance 10)\n let distance: number\n try {\n const candidateMaximized = new Intl.Locale(candidate)\n .maximize()\n .toString()\n distance =\n candidateMaximized === maximized ? 0 + i * 40 : j * 10 + i * 40\n } catch {\n distance = j * 10 + i * 40\n }\n\n if (!result.distances[desired]) {\n result.distances[desired] = {}\n }\n result.distances[desired][candidate] = distance\n\n if (distance < lowestDistance) {\n lowestDistance = distance\n result.matchedDesiredLocale = desired\n result.matchedSupportedLocale = candidate\n }\n break // Stop after finding first maximized match\n }\n }\n }\n } catch {\n // Locale maximization failed, continue to Tier 3\n }\n }\n\n // If Tier 2 found a perfect maximized match (distance 0), return immediately (fast path)\n if (result.matchedSupportedLocale && lowestDistance === 0) {\n return result\n }\n\n // === TIER 3: SLOW PATH - Full UTS #35 Distance Calculation ===\n // Always run Tier 3 for full CLDR accuracy\n // Tier 3 may find better matches than Tier 2's fallback approach\n // findMatchingDistance is memoized, so repeated calculations are cached\n // Reset lowestDistance so Tier 3 operates independently from Tier 2's\n // heuristic distances — Tier 2 uses subtag-removal position as a proxy\n // for distance, which is not comparable to CLDR distances (e.g. Tier 2\n // assigns distance 20 to es→es-MX, but CLDR says es-419 at distance 39\n // is closer than es at distance 49).\n lowestDistance = Infinity\n requestedLocales.forEach((desired, i) => {\n if (!result.distances[desired]) {\n result.distances[desired] = {}\n }\n canonicalizedSupportedLocales.forEach((canonicalLocale, supportedIndex) => {\n const originalSupported = supportedLocales[supportedIndex]\n\n // findMatchingDistance is memoized via fast-memoize\n // Use the canonical locale for distance calculation\n const distance = findMatchingDistance(desired, canonicalLocale)\n\n // Add some weight to the distance based on the order of the supported locales\n // Add penalty for the order of the requested locales, which currently is 0 since ECMA-402\n // doesn't really have room for weighted locales like `en; q=0.1`\n const finalDistance = distance + 0 + i * 40\n\n // Store and return the original locale, not the canonical one\n // Tier 3 overwrites Tier 2 distances (Tier 3 is more accurate)\n result.distances[desired][originalSupported] = finalDistance\n if (finalDistance < lowestDistance) {\n lowestDistance = finalDistance\n result.matchedDesiredLocale = desired\n result.matchedSupportedLocale = originalSupported\n }\n })\n })\n\n if (lowestDistance >= threshold) {\n result.matchedDesiredLocale = undefined\n result.matchedSupportedLocale = undefined\n }\n\n return result\n}\n","import type {LookupMatcherResult} from '#packages/intl-localematcher/abstract/types.js'\nimport {\n splitUnicodeExtension,\n findBestMatch,\n} from '#packages/intl-localematcher/abstract/utils.js'\n\n/**\n * https://tc39.es/ecma402/#sec-bestfitmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function BestFitMatcher(\n availableLocales: readonly string[],\n requestedLocales: readonly string[],\n getDefaultLocale: () => string\n): LookupMatcherResult {\n let foundLocale: string | undefined\n let extension: string | undefined\n const noExtensionLocales: string[] = []\n const noExtensionLocaleMap = requestedLocales.reduce>(\n (all, l) => {\n const {locale: noExtensionLocale} = splitUnicodeExtension(l)\n noExtensionLocales.push(noExtensionLocale)\n all[noExtensionLocale] = l\n return all\n },\n {}\n )\n\n const result = findBestMatch(noExtensionLocales, availableLocales)\n if (result.matchedSupportedLocale && result.matchedDesiredLocale) {\n foundLocale = result.matchedSupportedLocale\n extension = splitUnicodeExtension(\n noExtensionLocaleMap[result.matchedDesiredLocale]\n ).extension\n }\n\n if (!foundLocale) {\n return {locale: getDefaultLocale()}\n }\n\n return {\n locale: foundLocale,\n extension,\n }\n}\n","import {invariant} from '#packages/intl-localematcher/abstract/utils.js'\n\nexport function CanonicalizeUValue(ukey: string, uvalue: string): string {\n // TODO: Implement algorithm for CanonicalizeUValue per https://tc39.es/ecma402/#sec-canonicalizeuvalue\n let lowerValue = uvalue.toLowerCase()\n invariant(ukey !== undefined, `ukey must be defined`)\n let canonicalized = lowerValue\n return canonicalized\n}\n","export function CanonicalizeUnicodeLocaleId(locale: string): string {\n return Intl.getCanonicalLocales(locale)[0]\n}\n","import {CanonicalizeUnicodeLocaleId} from '#packages/intl-localematcher/abstract/CanonicalizeUnicodeLocaleId.js'\nimport type {Keyword} from '#packages/intl-localematcher/abstract/types.js'\nimport {\n invariant,\n splitUnicodeExtension,\n} from '#packages/intl-localematcher/abstract/utils.js'\n\nexport function InsertUnicodeExtensionAndCanonicalize(\n locale: string,\n attributes: string[],\n keywords: Array\n): string {\n invariant(\n splitUnicodeExtension(locale).extension === undefined,\n 'Expected locale to not have a Unicode locale extension'\n )\n let extension = '-u'\n for (const attr of attributes) {\n extension += `-${attr}`\n }\n for (const kw of keywords) {\n const {key, value} = kw\n extension += `-${key}`\n if (value !== '') {\n extension += `-${value}`\n }\n }\n if (extension === '-u') {\n return CanonicalizeUnicodeLocaleId(locale)\n }\n let privateIndex = locale.indexOf('-x-')\n let newLocale\n if (privateIndex === -1) {\n newLocale = locale + extension\n } else {\n let preExtension = locale.slice(0, privateIndex)\n let postExtension = locale.slice(privateIndex)\n newLocale = preExtension + extension + postExtension\n }\n return CanonicalizeUnicodeLocaleId(newLocale)\n}\n","// Cache for Set conversions to avoid repeated array->Set conversions\nconst availableLocalesSetCache = new WeakMap>()\n\n/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\nexport function BestAvailableLocale(\n availableLocales: readonly string[],\n locale: string\n): string | undefined {\n // Fast path: use Set for O(1) lookups instead of O(n) indexOf\n let availableSet = availableLocalesSetCache.get(availableLocales)\n if (!availableSet) {\n availableSet = new Set(availableLocales)\n availableLocalesSetCache.set(availableLocales, availableSet)\n }\n\n let candidate = locale\n while (true) {\n if (availableSet.has(candidate)) {\n return candidate\n }\n let pos = candidate.lastIndexOf('-')\n if (!~pos) {\n return undefined\n }\n if (pos >= 2 && candidate[pos - 2] === '-') {\n pos -= 2\n }\n candidate = candidate.slice(0, pos)\n }\n}\n","import {BestAvailableLocale} from '#packages/intl-localematcher/abstract/BestAvailableLocale.js'\nimport type {LookupMatcherResult} from '#packages/intl-localematcher/abstract/types.js'\nimport {splitUnicodeExtension} from '#packages/intl-localematcher/abstract/utils.js'\n\n/**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function LookupMatcher(\n availableLocales: readonly string[],\n requestedLocales: readonly string[],\n getDefaultLocale: () => string\n): LookupMatcherResult {\n const result: LookupMatcherResult = {locale: ''}\n for (const locale of requestedLocales) {\n const {locale: noExtensionLocale, extension} = splitUnicodeExtension(locale)\n const availableLocale = BestAvailableLocale(\n availableLocales,\n noExtensionLocale\n )\n if (availableLocale) {\n result.locale = availableLocale\n if (extension) result.extension = extension\n return result\n }\n }\n result.locale = getDefaultLocale()\n return result\n}\n","import type {Keyword} from '#packages/intl-localematcher/abstract/types.js'\nimport {invariant} from '#packages/intl-localematcher/abstract/utils.js'\n\nexport function UnicodeExtensionComponents(extension: string): {\n attributes: string[]\n keywords: Array\n} {\n invariant(\n extension === extension.toLowerCase(),\n 'Expected extension to be lowercase'\n )\n invariant(\n extension.slice(0, 3) === '-u-',\n 'Expected extension to be a Unicode locale extension'\n )\n const attributes: string[] = []\n const keywords: Array = []\n let keyword: Keyword | undefined\n let size = extension.length\n let k = 3\n while (k < size) {\n let e = extension.indexOf('-', k)\n let len\n if (e === -1) {\n len = size - k\n } else {\n len = e - k\n }\n let subtag = extension.slice(k, k + len)\n invariant(len >= 2, 'Expected a subtag to have at least 2 characters')\n if (keyword === undefined && len != 2) {\n if (attributes.indexOf(subtag) === -1) {\n attributes.push(subtag)\n }\n } else if (len === 2) {\n keyword = {key: subtag, value: ''}\n if (keywords.find(k => k.key === keyword?.key) === undefined) {\n keywords.push(keyword)\n }\n } else if (keyword?.value === '') {\n keyword.value = subtag\n } else {\n invariant(keyword !== undefined, 'Expected keyword to be defined')\n keyword.value += '-' + subtag\n }\n k += len + 1\n }\n return {attributes, keywords}\n}\n","import {BestFitMatcher} from '#packages/intl-localematcher/abstract/BestFitMatcher.js'\nimport {CanonicalizeUValue} from '#packages/intl-localematcher/abstract/CanonicalizeUValue.js'\nimport {InsertUnicodeExtensionAndCanonicalize} from '#packages/intl-localematcher/abstract/InsertUnicodeExtensionAndCanonicalize.js'\nimport {LookupMatcher} from '#packages/intl-localematcher/abstract/LookupMatcher.js'\nimport {UnicodeExtensionComponents} from '#packages/intl-localematcher/abstract/UnicodeExtensionComponents.js'\nimport type {\n Keyword,\n LookupMatcherResult,\n} from '#packages/intl-localematcher/abstract/types.js'\nimport {invariant} from '#packages/intl-localematcher/abstract/utils.js'\n\nexport interface ResolveLocaleResult {\n locale: string\n dataLocale: string\n [k: string]: any\n}\n\n/**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\nexport function ResolveLocale(\n availableLocales: Set | readonly string[],\n requestedLocales: readonly string[],\n options: {\n localeMatcher: string\n [k: string]: string | null | undefined\n },\n relevantExtensionKeys: K[],\n localeData: Record,\n getDefaultLocale: () => string\n): ResolveLocaleResult {\n const matcher = options.localeMatcher\n let r: LookupMatcherResult\n if (matcher === 'lookup') {\n r = LookupMatcher(\n Array.from(availableLocales),\n requestedLocales,\n getDefaultLocale\n )\n } else {\n r = BestFitMatcher(\n Array.from(availableLocales),\n requestedLocales,\n getDefaultLocale\n )\n }\n if (r == null) {\n r = {\n locale: getDefaultLocale(),\n extension: '',\n }\n }\n let foundLocale = r.locale\n let foundLocaleData = localeData[foundLocale]\n // TODO: We can't really guarantee that the locale data is available\n // invariant(\n // foundLocaleData !== undefined,\n // `Missing locale data for ${foundLocale}`\n // )\n // ECMA-402 §9.2.7, step 8: this is an internal Record, not an object\n // whose fields can invoke setters inherited from Object.prototype.\n // https://tc39.es/ecma402/#sec-resolvelocale\n // https://github.com/tc39/ecma402/blob/b1c961988b9a07894b1dc3dc2b5626ea48387d61/spec/negotiation.html#L242\n const result: ResolveLocaleResult = Object.create(null)\n result.locale = 'en'\n result.dataLocale = foundLocale\n let components\n let keywords: Keyword[]\n if (r.extension) {\n components = UnicodeExtensionComponents(r.extension)\n keywords = components.keywords\n } else {\n keywords = []\n }\n let supportedKeywords: Keyword[] = []\n for (const key of relevantExtensionKeys) {\n // TODO: Shouldn't default to empty array, see TODO above\n let keyLocaleData: Array = foundLocaleData?.[key] ?? []\n invariant(\n Array.isArray(keyLocaleData),\n `keyLocaleData for ${key} must be an array`\n )\n let value = keyLocaleData[0]\n // ECMA-402 §9.2.7 ResolveLocale, step 13.d: null is a valid default.\n // https://tc39.es/ecma402/#sec-resolvelocale\n // https://github.com/tc39/ecma402/blob/b1c961988b9a07894b1dc3dc2b5626ea48387d61/spec/negotiation.html#L254\n invariant(\n value == null || typeof value === 'string',\n `value must be a string, null, or undefined`\n )\n let supportedKeyword: Keyword | undefined\n let entry = keywords.find(k => k.key === key)\n if (entry) {\n let requestedValue = entry.value\n if (requestedValue !== '') {\n if (keyLocaleData.indexOf(requestedValue) > -1) {\n value = requestedValue\n supportedKeyword = {\n key,\n value,\n }\n }\n } else if (keyLocaleData.indexOf('true') > -1) {\n value = 'true'\n supportedKeyword = {\n key,\n value,\n }\n }\n }\n\n let optionsValue = options[key]\n invariant(\n optionsValue == null || typeof optionsValue === 'string',\n `optionsValue must be a string or undefined`\n )\n if (typeof optionsValue === 'string') {\n let ukey = key.toLowerCase()\n optionsValue = CanonicalizeUValue(ukey, optionsValue)\n if (optionsValue === '') {\n optionsValue = 'true'\n }\n }\n if (\n optionsValue !== undefined &&\n optionsValue !== value &&\n keyLocaleData.indexOf(optionsValue) > -1\n ) {\n value = optionsValue\n supportedKeyword = undefined\n }\n if (supportedKeyword) {\n supportedKeywords.push(supportedKeyword)\n }\n result[key] = value\n }\n let supportedAttributes: string[] = []\n if (supportedKeywords.length > 0) {\n supportedAttributes = []\n foundLocale = InsertUnicodeExtensionAndCanonicalize(\n foundLocale,\n supportedAttributes,\n supportedKeywords\n )\n }\n\n result.locale = foundLocale\n return result\n}\n","import {BestAvailableLocale} from '#packages/intl-localematcher/abstract/BestAvailableLocale.js'\nimport {splitUnicodeExtension} from '#packages/intl-localematcher/abstract/utils.js'\n\n/**\n * https://tc39.es/ecma402/#sec-lookupsupportedlocales\n * @param availableLocales\n * @param requestedLocales\n */\nexport function LookupSupportedLocales(\n availableLocales: string[],\n requestedLocales: string[]\n): string[] {\n const subset: string[] = []\n for (const locale of requestedLocales) {\n const {locale: noExtensionLocale} = splitUnicodeExtension(locale)\n const availableLocale = BestAvailableLocale(\n availableLocales,\n noExtensionLocale\n )\n if (availableLocale) {\n // ECMA-402 §9.2.9 FilterLocales, step 4.c: preserve the requested tag.\n // https://tc39.es/ecma402/#sec-filterlocales\n // https://github.com/tc39/ecma402/blob/b1c961988b9a07894b1dc3dc2b5626ea48387d61/spec/negotiation.html#L344\n subset.push(locale)\n }\n }\n return subset\n}\n","import {CanonicalizeLocaleList} from '#packages/intl-localematcher/abstract/CanonicalizeLocaleList.js'\nimport {ResolveLocale} from '#packages/intl-localematcher/abstract/ResolveLocale.js'\n\nexport interface Opts {\n algorithm: 'lookup' | 'best fit'\n}\n\nexport function match(\n requestedLocales: readonly string[],\n availableLocales: readonly string[],\n defaultLocale: string,\n opts?: Opts\n): string {\n return ResolveLocale(\n availableLocales,\n CanonicalizeLocaleList(requestedLocales),\n {\n localeMatcher: opts?.algorithm || 'best fit',\n },\n [],\n {},\n () => defaultLocale\n ).locale\n}\n\nexport {LookupSupportedLocales} from '#packages/intl-localematcher/abstract/LookupSupportedLocales.js'\nexport {ResolveLocale} from '#packages/intl-localematcher/abstract/ResolveLocale.js'\n"],"names":["jsonData","canonicalized"],"mappings":";;;;;;;;;;;;;;GAIA,SAAgB,uBACd,OAAA,EACU;IACV,OAAO,KAAK,mBAAA,CAAoB,OAAO;AACzC;;;ACRA,MAAa,OAAO;IAClB,cAAc;QACZ,kBAAkB;YAChB,eAAe;gBACb;oBACE,iBAAiB;wBACf,UAAU;oBACZ;gBACF;gBACA;oBACE,OAAO;wBACL,QAAQ;oBACV;gBACF;gBACA;oBACE,QAAQ;wBACN,QAAQ;oBACV;gBACF;gBACA;oBACE,WAAW;wBACT,QAAQ;oBACV;gBACF;gBACA;oBACE,UAAU;wBACR,QAAQ;oBACV;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,IAAI;wBACF,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,KAAK;wBACH,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;wBACX,SAAS;oBACX;gBACF;gBACA;oBACE,OAAO;wBACL,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,iBAAiB;wBACf,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,kBAAkB;wBAChB,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,UAAU;wBACR,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,cAAc;wBACZ,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,WAAW;wBACT,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,eAAe;wBACb,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,UAAU;wBACR,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,kBAAkB;wBAChB,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,mBAAmB;wBACjB,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,UAAU;wBACR,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,kBAAkB;wBAChB,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,mBAAmB;wBACjB,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,UAAU;wBACR,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,kBAAkB;wBAChB,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,mBAAmB;wBACjB,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,aAAa;wBACX,UAAU;wBACV,WAAW;oBACb;gBACF;gBACA;oBACE,SAAS;wBACP,UAAU;wBACV,WAAW;oBACb;gBACF;aACF;QACF;IACF;AACF;;;AC1jFA,MAAa,UAAU;IACtB,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,OAAO;QACN;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,MAAM;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,MAAM;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACA,MAAM;QACL;QACA;QACA;QACA;QACA;QACA;KACD;IACA,MAAM;QACL;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QAC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"}}, + {"offset": {"line": 4618, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/content-type/dist/index.js","sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/content-type/src/index.ts"],"sourcesContent":["/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\nconst TEXT_REGEXP = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]*$/;\nconst TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 9110 sec 5.6.4\n */\nconst QUOTE_REGEXP = /[\\\\\"]/g;\n\n/**\n * RegExp to match type in RFC 9110 sec 8.3.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nconst TYPE_REGEXP =\n /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;\n\n/**\n * Null object perf optimization. Faster than `Object.create(null)` and `{ __proto__: null }`.\n */\nconst NullObject = /* @__PURE__ */ (() => {\n const C = function () {};\n C.prototype = Object.create(null);\n return C;\n})() as unknown as { new (): any };\n\n/**\n * The content type object contains a type string and optional parameters.\n */\nexport interface ContentType {\n type: string;\n index: number;\n parameters: Record;\n}\n\n/**\n * Format an object into a `Content-Type` header.\n */\nexport function format(obj: Partial): string {\n const { type, parameters } = obj;\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError(`Invalid type: ${type}`);\n }\n\n let result = type;\n\n if (parameters) {\n for (const param of Object.keys(parameters)) {\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError(`Invalid parameter name: ${param}`);\n }\n\n result += `; ${param}=${qstring(parameters[param])}`;\n }\n }\n\n return result;\n}\n\n/**\n * Options for parsing a `Content-Type` header.\n */\nexport interface ParseOptions {\n /**\n * Exit early on the first semicolon, returning only the type.\n * This is useful for parsing the MIME from `Content-Type` headers.\n *\n * @default false\n */\n parameters?: boolean;\n /**\n * Exits early on a comma, returning the first value and parameters.\n * This is useful for parsing `Accept` headers.\n *\n * @default false\n */\n comma?: boolean;\n /**\n * The index to start parsing from.\n *\n * @default 0\n */\n start?: number;\n}\n\n/**\n * Parse a `Content-Type` header.\n */\nexport function parse(header: string, options?: ParseOptions): ContentType {\n const stopChar = options?.comma === true ? COMMA : 65_536; // Sentinel for \"no stop char\".\n const len = header.length;\n let index = skipOWS(header, options?.start ?? 0, len);\n\n const valueStart = index;\n index = skipValue(header, index, len, stopChar);\n const valueEnd = trailingOWS(header, valueStart, index);\n const type = header.slice(valueStart, valueEnd).toLowerCase();\n\n if (options?.parameters === false) {\n return { type, index, parameters: new NullObject() };\n }\n\n return parseParameters(header, type, index, len, stopChar);\n}\n\nconst SP = 32; // \" \"\nconst HTAB = 9; // \"\\t\"\nconst SEMI = 59; // \";\"\nconst EQ = 61; // \"=\"\nconst DQUOTE = 34; // '\"'\nconst BSLASH = 92; // \"\\\\\"\nconst COMMA = 44; // \",\"\n\n/**\n * Parses the parameters of a `Content-Type` header starting at the given index.\n */\nfunction parseParameters(\n header: string,\n type: string,\n index: number,\n len: number,\n stopChar: number,\n): ContentType {\n const parameters: Record = new NullObject();\n\n parameter: while (index < len) {\n if (header.charCodeAt(index) === stopChar) break;\n\n index = skipOWS(header, index + 1 /* Skip over ; */, len);\n\n const keyStart = index;\n\n while (index < len) {\n const code = header.charCodeAt(index);\n if (code === stopChar) break parameter;\n\n if (code === SEMI) continue parameter;\n\n if (code === EQ) {\n const keyEnd = trailingOWS(header, keyStart, index);\n const key = header.slice(keyStart, keyEnd).toLowerCase();\n\n index = skipOWS(header, index + 1, len);\n\n if (index < len && header.charCodeAt(index) === DQUOTE) {\n index++;\n\n let value = \"\";\n while (index < len) {\n const code = header.charCodeAt(index++);\n if (code === DQUOTE) {\n index = skipValue(header, index, len, stopChar);\n if (parameters[key] === undefined) parameters[key] = value;\n break;\n }\n\n if (code === BSLASH && index < len) {\n value += header[index++];\n continue;\n }\n\n value += String.fromCharCode(code);\n }\n\n continue parameter;\n }\n\n const valueStart = index;\n index = skipValue(header, index, len, stopChar);\n\n if (parameters[key] === undefined) {\n const valueEnd = trailingOWS(header, valueStart, index);\n parameters[key] = header.slice(valueStart, valueEnd);\n }\n\n continue parameter;\n }\n\n index++;\n }\n }\n\n return { type, index, parameters };\n}\n\n/**\n * Skip over characters until a semicolon or other exit character.\n */\nfunction skipValue(\n str: string,\n index: number,\n len: number,\n stopChar: number,\n): number {\n while (index < len) {\n const code = str.charCodeAt(index);\n if (code === SEMI || code === stopChar) break;\n index++;\n }\n return index;\n}\n\n/**\n * Skip optional whitespace (OWS) in an HTTP header value.\n *\n * OWS is defined in RFC 9110 sec 5.6.3 as SP (\" \") or HTAB (\"\\t\").\n */\nfunction skipOWS(header: string, index: number, len: number): number {\n while (index < len) {\n const char = header.charCodeAt(index);\n if (char !== SP && char !== HTAB) break;\n index++;\n }\n return index;\n}\n\n/**\n * Trim optional whitespace (OWS) from the end of a substring.\n *\n * OWS is defined in RFC 9110 sec 5.6.3 as SP (\" \") or HTAB (\"\\t\").\n */\nfunction trailingOWS(header: string, start: number, end: number): number {\n while (end > start) {\n const char = header.charCodeAt(end - 1);\n if (char !== SP && char !== HTAB) break;\n end--;\n }\n return end;\n}\n\n/**\n * Serialize a parameter value.\n */\nfunction qstring(str: string): string {\n if (TOKEN_REGEXP.test(str)) return str;\n if (TEXT_REGEXP.test(str)) return `\"${str.replace(QUOTE_REGEXP, \"\\\\$&\")}\"`;\n\n throw new TypeError(`Invalid parameter value: ${str}`);\n}\n"],"names":[],"mappings":"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"}}, + {"offset": {"line": 4786, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/negotiator/index.js"],"sourcesContent":["/*!\n * negotiator\n * Copyright(c) 2012 Federico Romero\n * Copyright(c) 2012-2014 Isaac Z. Schlueter\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\nvar preferredCharsets = require('./lib/charset')\nvar preferredEncodings = require('./lib/encoding')\nvar preferredLanguages = require('./lib/language')\nvar preferredMediaTypes = require('./lib/mediaType')\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = Negotiator;\nmodule.exports.Negotiator = Negotiator;\n\n/**\n * Create a Negotiator instance from a request.\n * @param {object} request\n * @public\n */\n\nfunction Negotiator(request) {\n if (!(this instanceof Negotiator)) {\n return new Negotiator(request);\n }\n\n this.request = request;\n}\n\nNegotiator.prototype.charset = function charset(available) {\n var set = this.charsets(available);\n return set && set[0];\n};\n\nNegotiator.prototype.charsets = function charsets(available) {\n return preferredCharsets(this.request.headers['accept-charset'], available);\n};\n\nNegotiator.prototype.encoding = function encoding(available, opts) {\n var set = this.encodings(available, opts);\n return set && set[0];\n};\n\nNegotiator.prototype.encodings = function encodings(available, options) {\n var opts = options || {};\n return preferredEncodings(this.request.headers['accept-encoding'], available, opts.preferred);\n};\n\nNegotiator.prototype.language = function language(available) {\n var set = this.languages(available);\n return set && set[0];\n};\n\nNegotiator.prototype.languages = function languages(available) {\n return preferredLanguages(this.request.headers['accept-language'], available);\n};\n\nNegotiator.prototype.mediaType = function mediaType(available) {\n var set = this.mediaTypes(available);\n return set && set[0];\n};\n\nNegotiator.prototype.mediaTypes = function mediaTypes(available) {\n return preferredMediaTypes(this.request.headers.accept, available);\n};\n\n// Backwards compatibility\nNegotiator.prototype.preferredCharset = Negotiator.prototype.charset;\nNegotiator.prototype.preferredCharsets = Negotiator.prototype.charsets;\nNegotiator.prototype.preferredEncoding = Negotiator.prototype.encoding;\nNegotiator.prototype.preferredEncodings = Negotiator.prototype.encodings;\nNegotiator.prototype.preferredLanguage = Negotiator.prototype.language;\nNegotiator.prototype.preferredLanguages = Negotiator.prototype.languages;\nNegotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType;\nNegotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes;\n"],"names":["preferredCharsets","preferredEncodings","preferredLanguages","preferredMediaTypes","module","exports","Negotiator","request","prototype","charset","available","set","charsets","headers","encoding","opts","encodings","options","preferred","language","languages","mediaType","mediaTypes","accept","preferredCharset","preferredEncoding","preferredLanguage","preferredMediaType"],"mappings":"AAAA;;;;;;CAMC,GAID,IAAIA;AACJ,IAAIC;AACJ,IAAIC;AACJ,IAAIC;AAEJ;;;CAGC,GAEDC,OAAOC,OAAO,GAAGC;AACjBF,OAAOC,OAAO,CAACC,UAAU,GAAGA;AAE5B;;;;CAIC,GAED,SAASA,WAAWC,OAAO;IACzB,IAAI,CAAC,CAAC,IAAI,YAAYD,UAAU,GAAG;QACjC,OAAO,IAAIA,WAAWC;IACxB;IAEA,IAAI,CAACA,OAAO,GAAGA;AACjB;AAEAD,WAAWE,SAAS,CAACC,OAAO,GAAG,SAASA,QAAQC,SAAS;IACvD,IAAIC,MAAM,IAAI,CAACC,QAAQ,CAACF;IACxB,OAAOC,OAAOA,GAAG,CAAC,EAAE;AACtB;AAEAL,WAAWE,SAAS,CAACI,QAAQ,GAAG,SAASA,SAASF,SAAS;IACzD,OAAOV,kBAAkB,IAAI,CAACO,OAAO,CAACM,OAAO,CAAC,iBAAiB,EAAEH;AACnE;AAEAJ,WAAWE,SAAS,CAACM,QAAQ,GAAG,SAASA,SAASJ,SAAS,EAAEK,IAAI;IAC/D,IAAIJ,MAAM,IAAI,CAACK,SAAS,CAACN,WAAWK;IACpC,OAAOJ,OAAOA,GAAG,CAAC,EAAE;AACtB;AAEAL,WAAWE,SAAS,CAACQ,SAAS,GAAG,SAASA,UAAUN,SAAS,EAAEO,OAAO;IACpE,IAAIF,OAAOE,WAAW,CAAC;IACvB,OAAOhB,mBAAmB,IAAI,CAACM,OAAO,CAACM,OAAO,CAAC,kBAAkB,EAAEH,WAAWK,KAAKG,SAAS;AAC9F;AAEAZ,WAAWE,SAAS,CAACW,QAAQ,GAAG,SAASA,SAAST,SAAS;IACzD,IAAIC,MAAM,IAAI,CAACS,SAAS,CAACV;IACzB,OAAOC,OAAOA,GAAG,CAAC,EAAE;AACtB;AAEAL,WAAWE,SAAS,CAACY,SAAS,GAAG,SAASA,UAAUV,SAAS;IAC3D,OAAOR,mBAAmB,IAAI,CAACK,OAAO,CAACM,OAAO,CAAC,kBAAkB,EAAEH;AACrE;AAEAJ,WAAWE,SAAS,CAACa,SAAS,GAAG,SAASA,UAAUX,SAAS;IAC3D,IAAIC,MAAM,IAAI,CAACW,UAAU,CAACZ;IAC1B,OAAOC,OAAOA,GAAG,CAAC,EAAE;AACtB;AAEAL,WAAWE,SAAS,CAACc,UAAU,GAAG,SAASA,WAAWZ,SAAS;IAC7D,OAAOP,oBAAoB,IAAI,CAACI,OAAO,CAACM,OAAO,CAACU,MAAM,EAAEb;AAC1D;AAEA,0BAA0B;AAC1BJ,WAAWE,SAAS,CAACgB,gBAAgB,GAAGlB,WAAWE,SAAS,CAACC,OAAO;AACpEH,WAAWE,SAAS,CAACR,iBAAiB,GAAGM,WAAWE,SAAS,CAACI,QAAQ;AACtEN,WAAWE,SAAS,CAACiB,iBAAiB,GAAGnB,WAAWE,SAAS,CAACM,QAAQ;AACtER,WAAWE,SAAS,CAACP,kBAAkB,GAAGK,WAAWE,SAAS,CAACQ,SAAS;AACxEV,WAAWE,SAAS,CAACkB,iBAAiB,GAAGpB,WAAWE,SAAS,CAACW,QAAQ;AACtEb,WAAWE,SAAS,CAACN,kBAAkB,GAAGI,WAAWE,SAAS,CAACY,SAAS;AACxEd,WAAWE,SAAS,CAACmB,kBAAkB,GAAGrB,WAAWE,SAAS,CAACa,SAAS;AACxEf,WAAWE,SAAS,CAACL,mBAAmB,GAAGG,WAAWE,SAAS,CAACc,UAAU","ignoreList":[0]}}, + {"offset": {"line": 4853, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/negotiator/lib/accept.js"],"sourcesContent":["/*!\n * negotiator\n * Copyright(c) 2026 Blake Embrey\n * MIT Licensed\n */\n\n'use strict';\n\nvar contentType = require('content-type');\n\n/**\n * Module exports.\n * @private\n */\n\nmodule.exports = parseAccept;\n\n/**\n * Parse an Accept-style header.\n * @private\n */\n\nfunction parseAccept(header) {\n var values = [];\n var index = 0;\n\n while (index < header.length) {\n var start = skipOptionalWhitespace(header, index);\n var parsed = contentType.parse(header, { comma: true, start: start });\n\n // `content-type` normalizes the type, but accept methods return original casing.\n parsed.type = header.slice(start, start + parsed.type.length);\n values.push(parsed);\n\n index = parsed.index + 1;\n }\n\n return values;\n}\n\n/**\n * Skip optional whitespace.\n * @private\n */\n\nfunction skipOptionalWhitespace(header, index) {\n var cursor = index;\n\n while (header.charCodeAt(cursor) === 0x20 || header.charCodeAt(cursor) === 0x09) {\n cursor++;\n }\n\n return cursor;\n}\n"],"names":["contentType","module","exports","parseAccept","header","values","index","length","start","skipOptionalWhitespace","parsed","parse","comma","type","slice","push","cursor","charCodeAt"],"mappings":"AAAA;;;;CAIC,GAID,IAAIA;AAEJ;;;CAGC,GAEDC,OAAOC,OAAO,GAAGC;AAEjB;;;CAGC,GAED,SAASA,YAAYC,MAAM;IACzB,IAAIC,SAAS,EAAE;IACf,IAAIC,QAAQ;IAEZ,MAAOA,QAAQF,OAAOG,MAAM,CAAE;QAC5B,IAAIC,QAAQC,uBAAuBL,QAAQE;QAC3C,IAAII,SAASV,YAAYW,KAAK,CAACP,QAAQ;YAAEQ,OAAO;YAAMJ,OAAOA;QAAM;QAEnE,iFAAiF;QACjFE,OAAOG,IAAI,GAAGT,OAAOU,KAAK,CAACN,OAAOA,QAAQE,OAAOG,IAAI,CAACN,MAAM;QAC5DF,OAAOU,IAAI,CAACL;QAEZJ,QAAQI,OAAOJ,KAAK,GAAG;IACzB;IAEA,OAAOD;AACT;AAEA;;;CAGC,GAED,SAASI,uBAAuBL,MAAM,EAAEE,KAAK;IAC3C,IAAIU,SAASV;IAEb,MAAOF,OAAOa,UAAU,CAACD,YAAY,QAAQZ,OAAOa,UAAU,CAACD,YAAY,KAAM;QAC/EA;IACF;IAEA,OAAOA;AACT","ignoreList":[0]}}, + {"offset": {"line": 4895, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/negotiator/lib/charset.js"],"sourcesContent":["/**\n * negotiator\n * Copyright(c) 2012 Isaac Z. Schlueter\n * Copyright(c) 2014 Federico Romero\n * Copyright(c) 2014-2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\nvar parseAccept = require('./accept');\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = preferredCharsets;\nmodule.exports.preferredCharsets = preferredCharsets;\n\n/**\n * Module variables.\n * @private\n */\n\nfunction parseAcceptCharset(accept) {\n var accepts = parseAccept(accept);\n\n for (var i = 0, j = 0; i < accepts.length; i++) {\n var charset = formatCharset(accepts[i], i);\n if (charset) accepts[j++] = charset;\n }\n\n accepts.length = j;\n return accepts;\n}\n\n/**\n * Format a parsed charset for negotiation.\n * @private\n */\n\nfunction formatCharset(parsed, i) {\n if (!parsed.type) return null;\n\n return {\n charset: parsed.type,\n q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1,\n i: i\n };\n}\n\n/**\n * Get the priority of a charset.\n * @private\n */\n\nfunction getCharsetPriority(charset, accepted, index) {\n var priority = {o: -1, q: 0, s: 0};\n\n for (var i = 0; i < accepted.length; i++) {\n var spec = specify(charset, accepted[i], index);\n\n if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {\n priority = spec;\n }\n }\n\n return priority;\n}\n\n/**\n * Get the specificity of the charset.\n * @private\n */\n\nfunction specify(charset, spec, index) {\n var s = 0;\n if(spec.charset.toLowerCase() === charset.toLowerCase()){\n s |= 1;\n } else if (spec.charset !== '*' ) {\n return null\n }\n\n return {\n i: index,\n o: spec.i,\n q: spec.q,\n s: s\n }\n}\n\n/**\n * Get the preferred charsets from an Accept-Charset header.\n * @public\n */\n\nfunction preferredCharsets(accept, provided) {\n // RFC 2616 sec 14.2: no header = *\n var accepts = parseAcceptCharset(accept === undefined ? '*' : accept || '');\n\n if (!provided) {\n // sorted list of all charsets\n return accepts\n .filter(isQuality)\n .sort(compareSpecs)\n .map(getFullCharset);\n }\n\n var priorities = provided.map(function getPriority(type, index) {\n return getCharsetPriority(type, accepts, index);\n });\n\n // sorted list of accepted charsets\n return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority) {\n return provided[priorities.indexOf(priority)];\n });\n}\n\n/**\n * Compare two specs.\n * @private\n */\n\nfunction compareSpecs(a, b) {\n return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;\n}\n\n/**\n * Get full charset string.\n * @private\n */\n\nfunction getFullCharset(spec) {\n return spec.charset;\n}\n\n/**\n * Check if a spec has any quality.\n * @private\n */\n\nfunction isQuality(spec) {\n return spec.q > 0;\n}\n"],"names":["parseAccept","module","exports","preferredCharsets","parseAcceptCharset","accept","accepts","i","j","length","charset","formatCharset","parsed","type","q","parameters","parseFloat","getCharsetPriority","accepted","index","priority","o","s","spec","specify","toLowerCase","provided","undefined","filter","isQuality","sort","compareSpecs","map","getFullCharset","priorities","getPriority","getCharset","indexOf","a","b"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5004, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/negotiator/lib/encoding.js"],"sourcesContent":["/**\n * negotiator\n * Copyright(c) 2012 Isaac Z. Schlueter\n * Copyright(c) 2014 Federico Romero\n * Copyright(c) 2014-2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\nvar parseAccept = require('./accept');\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = preferredEncodings;\nmodule.exports.preferredEncodings = preferredEncodings;\n\n/**\n * Module variables.\n * @private\n */\n\nfunction parseAcceptEncoding(accept) {\n var accepts = parseAccept(accept);\n var hasIdentity = false;\n var minQuality = 1;\n\n for (var i = 0, j = 0; i < accepts.length; i++) {\n var encoding = formatEncoding(accepts[i], i);\n\n if (encoding) {\n accepts[j++] = encoding;\n hasIdentity = hasIdentity || specify('identity', encoding);\n minQuality = Math.min(minQuality, encoding.q || 1);\n }\n }\n\n if (!hasIdentity) {\n /*\n * If identity doesn't explicitly appear in the accept-encoding header,\n * it's added to the list of acceptable encoding with the lowest q\n */\n accepts[j++] = {\n encoding: 'identity',\n q: minQuality,\n i: i\n };\n }\n\n accepts.length = j;\n return accepts;\n}\n\n/**\n * Format a parsed encoding for negotiation.\n * @private\n */\n\nfunction formatEncoding(parsed, i) {\n if (!parsed.type) return null;\n\n return {\n encoding: parsed.type,\n q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1,\n i: i\n };\n}\n\n/**\n * Get the priority of an encoding.\n * @private\n */\n\nfunction getEncodingPriority(encoding, accepted, index) {\n var priority = {encoding: encoding, o: -1, q: 0, s: 0};\n\n for (var i = 0; i < accepted.length; i++) {\n var spec = specify(encoding, accepted[i], index);\n\n if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {\n priority = spec;\n }\n }\n\n return priority;\n}\n\n/**\n * Get the specificity of the encoding.\n * @private\n */\n\nfunction specify(encoding, spec, index) {\n var s = 0;\n if(spec.encoding.toLowerCase() === encoding.toLowerCase()){\n s |= 1;\n } else if (spec.encoding !== '*' ) {\n return null\n }\n\n return {\n encoding: encoding,\n i: index,\n o: spec.i,\n q: spec.q,\n s: s\n }\n};\n\n/**\n * Get the preferred encodings from an Accept-Encoding header.\n * @public\n */\n\nfunction preferredEncodings(accept, provided, preferred) {\n var accepts = parseAcceptEncoding(accept || '');\n\n var comparator = preferred ? function comparator (a, b) {\n if (a.q !== b.q) {\n return b.q - a.q // higher quality first\n }\n\n var aPreferred = preferred.indexOf(a.encoding)\n var bPreferred = preferred.indexOf(b.encoding)\n\n if (aPreferred === -1 && bPreferred === -1) {\n // consider the original specifity/order\n return (b.s - a.s) || (a.o - b.o) || (a.i - b.i)\n }\n\n if (aPreferred !== -1 && bPreferred !== -1) {\n return aPreferred - bPreferred // consider the preferred order\n }\n\n return aPreferred === -1 ? 1 : -1 // preferred first\n } : compareSpecs;\n\n if (!provided) {\n // sorted list of all encodings\n return accepts\n .filter(isQuality)\n .sort(comparator)\n .map(getFullEncoding);\n }\n\n var priorities = provided.map(function getPriority(type, index) {\n return getEncodingPriority(type, accepts, index);\n });\n\n // sorted list of accepted encodings\n return priorities.filter(isQuality).sort(comparator).map(function getEncoding(priority) {\n return provided[priorities.indexOf(priority)];\n });\n}\n\n/**\n * Compare two specs.\n * @private\n */\n\nfunction compareSpecs(a, b) {\n return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i);\n}\n\n/**\n * Get full encoding string.\n * @private\n */\n\nfunction getFullEncoding(spec) {\n return spec.encoding;\n}\n\n/**\n * Check if a spec has any quality.\n * @private\n */\n\nfunction isQuality(spec) {\n return spec.q > 0;\n}\n"],"names":["parseAccept","module","exports","preferredEncodings","parseAcceptEncoding","accept","accepts","hasIdentity","minQuality","i","j","length","encoding","formatEncoding","specify","Math","min","q","parsed","type","parameters","parseFloat","getEncodingPriority","accepted","index","priority","o","s","spec","toLowerCase","provided","preferred","comparator","a","b","aPreferred","indexOf","bPreferred","compareSpecs","filter","isQuality","sort","map","getFullEncoding","priorities","getPriority","getEncoding"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5149, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/negotiator/lib/language.js"],"sourcesContent":["/**\n * negotiator\n * Copyright(c) 2012 Isaac Z. Schlueter\n * Copyright(c) 2014 Federico Romero\n * Copyright(c) 2014-2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\nvar contentType = require('content-type');\nvar parseAccept = require('./accept');\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = preferredLanguages;\nmodule.exports.preferredLanguages = preferredLanguages;\n\n/**\n * Module variables.\n * @private\n */\n\nfunction parseAcceptLanguage(accept) {\n var accepts = parseAccept(accept);\n\n for (var i = 0, j = 0; i < accepts.length; i++) {\n var language = formatLanguage(accepts[i], i);\n if (language) accepts[j++] = language;\n }\n\n accepts.length = j;\n return accepts;\n}\n\n/**\n * Format a parsed language for negotiation.\n * @private\n */\n\nfunction formatLanguage(parsed, i) {\n if (!parsed.type) return null;\n\n var hyphen = parsed.type.indexOf('-');\n var prefix = hyphen === -1 ? parsed.type : parsed.type.slice(0, hyphen);\n var suffix = hyphen === -1 ? undefined : parsed.type.slice(hyphen + 1);\n\n return {\n prefix: prefix,\n suffix: suffix,\n q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1,\n i: i,\n full: parsed.type\n };\n}\n\n/**\n * Get the priority of a language.\n * @private\n */\n\nfunction getLanguagePriority(language, accepted, index) {\n var priority = {o: -1, q: 0, s: 0};\n\n for (var i = 0; i < accepted.length; i++) {\n var spec = specify(language, accepted[i], index);\n\n if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {\n priority = spec;\n }\n }\n\n return priority;\n}\n\n/**\n * Get the specificity of the language.\n * @private\n */\n\nfunction specify(language, spec, index) {\n var p = formatLanguage(contentType.parse(language), 0)\n if (!p) return null;\n var s = 0;\n if(spec.full.toLowerCase() === p.full.toLowerCase()){\n s |= 4;\n } else if (spec.prefix.toLowerCase() === p.full.toLowerCase()) {\n s |= 2;\n } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) {\n s |= 1;\n } else if (spec.full !== '*' ) {\n return null\n }\n\n return {\n i: index,\n o: spec.i,\n q: spec.q,\n s: s\n }\n};\n\n/**\n * Get the preferred languages from an Accept-Language header.\n * @public\n */\n\nfunction preferredLanguages(accept, provided) {\n // RFC 2616 sec 14.4: no header = *\n var accepts = parseAcceptLanguage(accept === undefined ? '*' : accept || '');\n\n if (!provided) {\n // sorted list of all languages\n return accepts\n .filter(isQuality)\n .sort(compareSpecs)\n .map(getFullLanguage);\n }\n\n var priorities = provided.map(function getPriority(type, index) {\n return getLanguagePriority(type, accepts, index);\n });\n\n // sorted list of accepted languages\n return priorities.filter(isQuality).sort(compareSpecs).map(function getLanguage(priority) {\n return provided[priorities.indexOf(priority)];\n });\n}\n\n/**\n * Compare two specs.\n * @private\n */\n\nfunction compareSpecs(a, b) {\n return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;\n}\n\n/**\n * Get full language string.\n * @private\n */\n\nfunction getFullLanguage(spec) {\n return spec.full;\n}\n\n/**\n * Check if a spec has any quality.\n * @private\n */\n\nfunction isQuality(spec) {\n return spec.q > 0;\n}\n"],"names":["contentType","parseAccept","module","exports","preferredLanguages","parseAcceptLanguage","accept","accepts","i","j","length","language","formatLanguage","parsed","type","hyphen","indexOf","prefix","slice","suffix","undefined","q","parameters","parseFloat","full","getLanguagePriority","accepted","index","priority","o","s","spec","specify","p","parse","toLowerCase","provided","filter","isQuality","sort","compareSpecs","map","getFullLanguage","priorities","getPriority","getLanguage","a","b"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5271, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/negotiator/lib/mediaType.js"],"sourcesContent":["/**\n * negotiator\n * Copyright(c) 2012 Isaac Z. Schlueter\n * Copyright(c) 2014 Federico Romero\n * Copyright(c) 2014-2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\nvar contentType = require('content-type');\nvar parseAcceptHeader = require('./accept');\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = preferredMediaTypes;\nmodule.exports.preferredMediaTypes = preferredMediaTypes;\n\n/**\n * Module variables.\n * @private\n */\n\nfunction parseAccept(accept) {\n var accepts = parseAcceptHeader(accept);\n\n for (var i = 0, j = 0; i < accepts.length; i++) {\n var mediaType = formatMediaType(accepts[i], i);\n if (mediaType) accepts[j++] = mediaType;\n }\n\n accepts.length = j;\n return accepts;\n}\n\n/**\n * Format a parsed content type for negotiation.\n * @private\n */\n\nfunction formatMediaType(parsed, i) {\n var slash = parsed.type.indexOf('/');\n if (slash === -1) return null;\n\n var q = parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1;\n\n delete parsed.parameters.q;\n\n return {\n type: parsed.type.slice(0, slash),\n subtype: parsed.type.slice(slash + 1),\n params: parsed.parameters,\n q: q,\n i: i\n };\n}\n\n/**\n * Get the priority of a media type.\n * @private\n */\n\nfunction getMediaTypePriority(type, accepted, index) {\n var priority = {o: -1, q: 0, s: 0};\n\n for (var i = 0; i < accepted.length; i++) {\n var spec = specify(type, accepted[i], index);\n\n if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {\n priority = spec;\n }\n }\n\n return priority;\n}\n\n/**\n * Get the specificity of the media type.\n * @private\n */\n\nfunction specify(type, spec, index) {\n var p = formatMediaType(contentType.parse(type), 0);\n var s = 0;\n\n if (!p) {\n return null;\n }\n\n if(spec.type.toLowerCase() == p.type.toLowerCase()) {\n s |= 4\n } else if(spec.type != '*') {\n return null;\n }\n\n if(spec.subtype.toLowerCase() == p.subtype.toLowerCase()) {\n s |= 2\n } else if(spec.subtype != '*') {\n return null;\n }\n\n var keys = Object.keys(spec.params);\n if (keys.length > 0) {\n if (keys.every(function (k) {\n return spec.params[k] == '*' || (spec.params[k] || '').toLowerCase() == (p.params[k] || '').toLowerCase();\n })) {\n s |= 1\n } else {\n return null\n }\n }\n\n return {\n i: index,\n o: spec.i,\n q: spec.q,\n s: s,\n }\n}\n\n/**\n * Get the preferred media types from an Accept header.\n * @public\n */\n\nfunction preferredMediaTypes(accept, provided) {\n // RFC 2616 sec 14.2: no header = */*\n var accepts = parseAccept(accept === undefined ? '*/*' : accept || '');\n\n if (!provided) {\n // sorted list of all types\n return accepts\n .filter(isQuality)\n .sort(compareSpecs)\n .map(getFullType);\n }\n\n var priorities = provided.map(function getPriority(type, index) {\n return getMediaTypePriority(type, accepts, index);\n });\n\n // sorted list of accepted types\n return priorities.filter(isQuality).sort(compareSpecs).map(function getType(priority) {\n return provided[priorities.indexOf(priority)];\n });\n}\n\n/**\n * Compare two specs.\n * @private\n */\n\nfunction compareSpecs(a, b) {\n return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;\n}\n\n/**\n * Get full type string.\n * @private\n */\n\nfunction getFullType(spec) {\n return spec.type + '/' + spec.subtype;\n}\n\n/**\n * Check if a spec has any quality.\n * @private\n */\n\nfunction isQuality(spec) {\n return spec.q > 0;\n}\n"],"names":["contentType","parseAcceptHeader","module","exports","preferredMediaTypes","parseAccept","accept","accepts","i","j","length","mediaType","formatMediaType","parsed","slash","type","indexOf","q","parameters","parseFloat","slice","subtype","params","getMediaTypePriority","accepted","index","priority","o","s","spec","specify","p","parse","toLowerCase","keys","Object","every","k","provided","undefined","filter","isQuality","sort","compareSpecs","map","getFullType","priorities","getPriority","getType","a","b"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5405, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next-intl/dist/esm/development/middleware/getAlternateLinksHeaderValue.js"],"sourcesContent":["import { normalizeTrailingSlash } from '../shared/utils.js';\nimport { getHost, getNormalizedPathname, getLocalePrefixes, isLocaleSupportedOnDomain, applyBasePath, formatTemplatePathname } from './utils.js';\n\n/**\n * See https://developers.google.com/search/docs/specialty/international/localized-versions\n */\nfunction getAlternateLinksHeaderValue({\n internalTemplateName,\n localizedPathnames,\n request,\n resolvedLocale,\n routing\n}) {\n const normalizedUrl = request.nextUrl.clone();\n const host = getHost(request.headers);\n if (host) {\n normalizedUrl.port = '';\n normalizedUrl.host = host;\n }\n normalizedUrl.protocol = request.headers.get('x-forwarded-proto') ?? normalizedUrl.protocol;\n normalizedUrl.pathname = getNormalizedPathname(normalizedUrl.pathname, routing.locales, routing.localePrefix);\n function getAlternateEntry(url, locale) {\n url.pathname = normalizeTrailingSlash(url.pathname);\n if (request.nextUrl.basePath) {\n url = new URL(url);\n url.pathname = applyBasePath(url.pathname, request.nextUrl.basePath);\n }\n return `<${url.toString()}>; rel=\"alternate\"; hreflang=\"${locale}\"`;\n }\n function getLocalizedPathname(pathname, locale) {\n if (localizedPathnames && typeof localizedPathnames === 'object') {\n const sourceTemplate = localizedPathnames[resolvedLocale];\n return formatTemplatePathname(pathname, sourceTemplate ?? internalTemplateName, localizedPathnames[locale] ?? internalTemplateName);\n } else {\n return pathname;\n }\n }\n const links = getLocalePrefixes(routing.locales, routing.localePrefix, false).flatMap(([locale, prefix]) => {\n function prefixPathname(pathname) {\n if (pathname === '/') {\n return prefix;\n } else {\n return prefix + pathname;\n }\n }\n let url;\n if (routing.domains) {\n const domainConfigs = routing.domains.filter(cur => isLocaleSupportedOnDomain(locale, cur));\n return domainConfigs.map(domainConfig => {\n url = new URL(normalizedUrl);\n url.port = '';\n url.host = domainConfig.domain;\n\n // Important: Use `normalizedUrl` here, as `url` potentially uses\n // a `basePath` that automatically gets applied to the pathname\n url.pathname = getLocalizedPathname(normalizedUrl.pathname, locale);\n\n // Use domain-specific localePrefix mode if available\n const domainMode = domainConfig.localePrefix || routing.localePrefix.mode;\n if (locale !== domainConfig.defaultLocale || domainMode === 'always') {\n url.pathname = prefixPathname(url.pathname);\n }\n return getAlternateEntry(url, locale);\n });\n } else {\n let pathname;\n if (localizedPathnames && typeof localizedPathnames === 'object') {\n pathname = getLocalizedPathname(normalizedUrl.pathname, locale);\n } else {\n pathname = normalizedUrl.pathname;\n }\n if (locale !== routing.defaultLocale || routing.localePrefix.mode === 'always') {\n pathname = prefixPathname(pathname);\n }\n url = new URL(pathname, normalizedUrl);\n }\n return getAlternateEntry(url, locale);\n });\n\n // Add x-default entry\n const shouldAddXDefault =\n // For domain-based routing there is no reasonable x-default\n !routing.domains || routing.domains.length === 0;\n if (shouldAddXDefault) {\n const localizedPathname = getLocalizedPathname(normalizedUrl.pathname, routing.defaultLocale);\n if (localizedPathname) {\n const url = new URL(localizedPathname, normalizedUrl);\n links.push(getAlternateEntry(url, 'x-default'));\n }\n }\n return links.join(', ');\n}\n\nexport { getAlternateLinksHeaderValue as default };\n"],"names":["getAlternateLinksHeaderValue","internalTemplateName","localizedPathnames","request","resolvedLocale","routing","normalizedUrl","nextUrl","clone","host","headers","port","protocol","get","pathname","locales","localePrefix","getAlternateEntry","url","locale","basePath","URL","toString","getLocalizedPathname","sourceTemplate","links","flatMap","prefix","prefixPathname","domains","domainConfigs","filter","cur","map","domainConfig","domain","domainMode","mode","defaultLocale","shouldAddXDefault","length","localizedPathname","push","join"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5496, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next-intl/dist/esm/development/middleware/middleware.js"],"sourcesContent":["import { NextResponse } from 'next/server';\nimport { receiveRoutingConfig } from '../routing/config.js';\nimport { HEADER_LOCALE_NAME } from '../shared/constants.js';\nimport { matchesPathname, normalizeTrailingSlash, getLocalePrefix, getLocalizedTemplate } from '../shared/utils.js';\nimport getAlternateLinksHeaderValue from './getAlternateLinksHeaderValue.js';\nimport resolveLocale from './resolveLocale.js';\nimport syncCookie from './syncCookie.js';\nimport { sanitizePathname, isLocaleSupportedOnDomain, getNormalizedPathname, getPathnameMatch, getInternalTemplate, formatTemplatePathname, formatPathname, getBestMatchingDomain, applyBasePath, getLocaleAsPrefix } from './utils.js';\n\nfunction createMiddleware(routing) {\n const resolvedRouting = receiveRoutingConfig(routing);\n return function middleware(request) {\n let unsafeExternalPathname;\n try {\n // Resolve potential foreign symbols (e.g. /ja/%E7%B4%84 → /ja/約))\n unsafeExternalPathname = decodeURI(request.nextUrl.pathname);\n } catch {\n // In case an invalid pathname is encountered, forward\n // it to Next.js which in turn responds with a 400\n return NextResponse.next();\n }\n\n // Sanitize malicious URIs to prevent open redirect attacks due to\n // decodeURI doesn't escape encoded backslashes ('%5C' & '%5c')\n const externalPathname = sanitizePathname(unsafeExternalPathname);\n const {\n domain,\n locale\n } = resolveLocale(resolvedRouting, request.headers, request.cookies, externalPathname);\n const hasMatchedDefaultLocale = domain ? domain.defaultLocale === locale : locale === resolvedRouting.defaultLocale;\n const domainsConfig = resolvedRouting.domains?.filter(curDomain => isLocaleSupportedOnDomain(locale, curDomain)) || [];\n const hasUnknownHost = resolvedRouting.domains != null && !domain;\n function next(url) {\n const urlObj = new URL(url, request.url);\n if (request.nextUrl.basePath) {\n urlObj.pathname = applyBasePath(urlObj.pathname, request.nextUrl.basePath);\n }\n const headers = new Headers(request.headers);\n headers.set(HEADER_LOCALE_NAME, locale);\n const isRewriteNecessary = normalizeTrailingSlash(request.nextUrl.pathname) !== normalizeTrailingSlash(urlObj.pathname);\n if (isRewriteNecessary) {\n return NextResponse.rewrite(urlObj, {\n request: {\n headers\n }\n });\n } else {\n return NextResponse.next({\n request: {\n headers\n }\n });\n }\n }\n function redirect(url, redirectDomain) {\n const urlObj = new URL(url, request.url);\n urlObj.pathname = normalizeTrailingSlash(urlObj.pathname);\n if (domainsConfig.length > 0 && !redirectDomain && domain) {\n const bestMatchingDomain = getBestMatchingDomain(domain, locale, domainsConfig);\n if (bestMatchingDomain) {\n redirectDomain = bestMatchingDomain.domain;\n const redirectDomainMode = bestMatchingDomain.localePrefix || resolvedRouting.localePrefix.mode;\n if (bestMatchingDomain.defaultLocale === locale && redirectDomainMode === 'as-needed') {\n urlObj.pathname = getNormalizedPathname(urlObj.pathname, resolvedRouting.locales, resolvedRouting.localePrefix);\n }\n }\n }\n if (redirectDomain) {\n urlObj.host = redirectDomain;\n if (request.headers.get('x-forwarded-host')) {\n urlObj.protocol = request.headers.get('x-forwarded-proto') ?? request.nextUrl.protocol;\n const redirectDomainPort = redirectDomain.split(':')[1];\n urlObj.port = redirectDomainPort ?? request.headers.get('x-forwarded-port') ?? '';\n }\n }\n if (request.nextUrl.basePath) {\n urlObj.pathname = applyBasePath(urlObj.pathname, request.nextUrl.basePath);\n }\n hasRedirected = true;\n return NextResponse.redirect(urlObj.toString());\n }\n const unprefixedExternalPathname = getNormalizedPathname(externalPathname, resolvedRouting.locales, resolvedRouting.localePrefix);\n const pathnameMatch = getPathnameMatch(externalPathname, resolvedRouting.locales, resolvedRouting.localePrefix, domain);\n const hasLocalePrefix = pathnameMatch != null;\n\n // Use domain-specific localePrefix mode if available, otherwise use global mode\n const effectiveLocalePrefixMode = domain?.localePrefix || resolvedRouting.localePrefix.mode;\n const isUnprefixedRouting = effectiveLocalePrefixMode === 'never' || hasMatchedDefaultLocale && effectiveLocalePrefixMode === 'as-needed';\n let response;\n let internalTemplateName;\n let hasRedirected;\n let unprefixedInternalPathname = unprefixedExternalPathname;\n const pathnames = resolvedRouting.pathnames;\n if (pathnames) {\n let resolvedTemplateLocale;\n [resolvedTemplateLocale, internalTemplateName] = getInternalTemplate(pathnames, unprefixedExternalPathname, locale);\n if (internalTemplateName) {\n const pathnameConfig = pathnames[internalTemplateName];\n const localeTemplate = getLocalizedTemplate(pathnameConfig, locale, internalTemplateName);\n if (matchesPathname(localeTemplate, unprefixedExternalPathname)) {\n unprefixedInternalPathname = formatTemplatePathname(unprefixedExternalPathname, localeTemplate, internalTemplateName);\n } else {\n let sourceTemplate;\n if (resolvedTemplateLocale) {\n // A localized pathname from another locale has matched\n sourceTemplate = getLocalizedTemplate(pathnameConfig, resolvedTemplateLocale, internalTemplateName);\n } else {\n // An internal pathname has matched that\n // doesn't have a localized pathname\n sourceTemplate = internalTemplateName;\n }\n const localePrefix = isUnprefixedRouting ? undefined : getLocalePrefix(locale, resolvedRouting.localePrefix);\n const template = formatTemplatePathname(unprefixedExternalPathname, sourceTemplate, localeTemplate);\n response = redirect(formatPathname(template, localePrefix, request.nextUrl.search));\n }\n }\n }\n if (!response) {\n if (unprefixedInternalPathname === '/' && !hasLocalePrefix) {\n if (isUnprefixedRouting) {\n response = next(formatPathname(unprefixedInternalPathname, getLocaleAsPrefix(locale), request.nextUrl.search));\n } else {\n response = redirect(formatPathname(unprefixedExternalPathname, getLocalePrefix(locale, resolvedRouting.localePrefix), request.nextUrl.search));\n }\n } else {\n const internalHref = formatPathname(unprefixedInternalPathname, getLocaleAsPrefix(locale), request.nextUrl.search);\n if (hasLocalePrefix) {\n const externalHref = formatPathname(unprefixedExternalPathname, pathnameMatch.prefix, request.nextUrl.search);\n if (effectiveLocalePrefixMode === 'never') {\n response = redirect(formatPathname(unprefixedExternalPathname, undefined, request.nextUrl.search));\n } else if (pathnameMatch.exact) {\n if (hasMatchedDefaultLocale && isUnprefixedRouting) {\n response = redirect(formatPathname(unprefixedExternalPathname, undefined, request.nextUrl.search));\n } else {\n if (resolvedRouting.domains) {\n const pathDomain = getBestMatchingDomain(domain, pathnameMatch.locale, domainsConfig);\n if (domain?.domain !== pathDomain?.domain && !hasUnknownHost) {\n response = redirect(externalHref, pathDomain?.domain);\n } else {\n response = next(internalHref);\n }\n } else {\n response = next(internalHref);\n }\n }\n } else {\n response = redirect(externalHref);\n }\n } else {\n if (isUnprefixedRouting) {\n response = next(internalHref);\n } else {\n response = redirect(formatPathname(unprefixedExternalPathname, getLocalePrefix(locale, resolvedRouting.localePrefix), request.nextUrl.search));\n }\n }\n }\n }\n syncCookie(request, response, locale, resolvedRouting, domain);\n if (!hasRedirected && effectiveLocalePrefixMode !== 'never' && resolvedRouting.alternateLinks && resolvedRouting.locales.length > 1) {\n response.headers.set('Link', getAlternateLinksHeaderValue({\n routing: resolvedRouting,\n internalTemplateName,\n localizedPathnames: internalTemplateName != null && pathnames ? pathnames[internalTemplateName] : undefined,\n request,\n resolvedLocale: locale\n }));\n }\n return response;\n };\n}\n\nexport { createMiddleware as default };\n"],"names":["createMiddleware","routing","resolvedRouting","middleware","request","unsafeExternalPathname","decodeURI","nextUrl","pathname","next","externalPathname","domain","locale","headers","cookies","hasMatchedDefaultLocale","defaultLocale","domainsConfig","domains","filter","curDomain","hasUnknownHost","url","urlObj","URL","basePath","Headers","set","isRewriteNecessary","rewrite","redirect","redirectDomain","length","bestMatchingDomain","redirectDomainMode","localePrefix","mode","locales","host","get","protocol","redirectDomainPort","split","port","hasRedirected","toString","unprefixedExternalPathname","pathnameMatch","hasLocalePrefix","effectiveLocalePrefixMode","isUnprefixedRouting","response","internalTemplateName","unprefixedInternalPathname","pathnames","resolvedTemplateLocale","pathnameConfig","localeTemplate","sourceTemplate","undefined","template","search","internalHref","externalHref","prefix","exact","pathDomain","alternateLinks","localizedPathnames","resolvedLocale"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5677, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next-intl/dist/esm/development/middleware/resolveLocale.js"],"sourcesContent":["import { match } from '@formatjs/intl-localematcher';\nimport Negotiator from 'negotiator';\nimport { getPathnameMatch, isLocaleSupportedOnDomain, getHost } from './utils.js';\n\nfunction findDomainFromHost(requestHeaders, domains) {\n const host = getHost(requestHeaders);\n if (host) {\n return domains.find(cur => cur.domain === host);\n }\n return undefined;\n}\nfunction orderLocales(locales) {\n // Workaround for https://github.com/formatjs/formatjs/issues/4469\n return locales.slice().sort((a, b) => b.length - a.length);\n}\nfunction mapToProvidedLocale(locales, locale) {\n return locales.find(cur => cur.toLowerCase() === locale.toLowerCase());\n}\nfunction getAcceptLanguageLocale(requestHeaders, locales, defaultLocale) {\n let locale;\n const languages = new Negotiator({\n headers: {\n 'accept-language': requestHeaders.get('accept-language') || undefined\n }\n }).languages();\n try {\n const orderedLocales = orderLocales(locales);\n locale = mapToProvidedLocale(locales, match(languages, orderedLocales, defaultLocale));\n } catch {\n // Invalid language\n }\n return locale;\n}\nfunction getLocaleFromCookie(routing, requestCookies) {\n if (routing.localeCookie && requestCookies.has(routing.localeCookie.name)) {\n const value = requestCookies.get(routing.localeCookie.name)?.value;\n if (value && routing.locales.includes(value)) {\n return value;\n }\n }\n}\nfunction resolveLocaleFromPrefix(routing, requestHeaders, requestCookies, pathname) {\n let locale;\n\n // Prio 1: Use route prefix\n if (pathname) {\n locale = getPathnameMatch(pathname, routing.locales, routing.localePrefix)?.locale;\n }\n\n // Prio 2: Use existing cookie\n if (!locale && routing.localeDetection) {\n locale = getLocaleFromCookie(routing, requestCookies);\n }\n\n // Prio 3: Use the `accept-language` header\n if (!locale && routing.localeDetection) {\n locale = getAcceptLanguageLocale(requestHeaders, routing.locales, routing.defaultLocale);\n }\n\n // Prio 4: Use default locale\n if (!locale) {\n locale = routing.defaultLocale;\n }\n return locale;\n}\nfunction resolveLocaleFromDomain(routing, requestHeaders, requestCookies, pathname) {\n const domains = routing.domains;\n const domain = findDomainFromHost(requestHeaders, domains);\n if (!domain) {\n return {\n locale: resolveLocaleFromPrefix(routing, requestHeaders, requestCookies, pathname)\n };\n }\n let locale;\n\n // Prio 1: Use route prefix\n if (pathname) {\n const prefixLocale = getPathnameMatch(pathname, routing.locales, routing.localePrefix, domain)?.locale;\n if (prefixLocale) {\n if (isLocaleSupportedOnDomain(prefixLocale, domain)) {\n locale = prefixLocale;\n } else {\n // Causes a redirect to a domain that supports the locale\n return {\n locale: prefixLocale,\n domain\n };\n }\n }\n }\n\n // Prio 2: Use existing cookie\n if (!locale && routing.localeDetection) {\n const cookieLocale = getLocaleFromCookie(routing, requestCookies);\n if (cookieLocale) {\n if (isLocaleSupportedOnDomain(cookieLocale, domain)) {\n locale = cookieLocale;\n }\n }\n }\n\n // Prio 3: Use the `accept-language` header\n if (!locale && routing.localeDetection) {\n const headerLocale = getAcceptLanguageLocale(requestHeaders, domain.locales, domain.defaultLocale);\n if (headerLocale) {\n locale = headerLocale;\n }\n }\n\n // Prio 4: Use default locale\n if (!locale) {\n locale = domain.defaultLocale;\n }\n return {\n locale,\n domain\n };\n}\nfunction resolveLocale(routing, requestHeaders, requestCookies, pathname) {\n if (routing.domains) {\n return resolveLocaleFromDomain(routing, requestHeaders, requestCookies, pathname);\n } else {\n return {\n locale: resolveLocaleFromPrefix(routing, requestHeaders, requestCookies, pathname)\n };\n }\n}\n\nexport { resolveLocale as default, getAcceptLanguageLocale };\n"],"names":["findDomainFromHost","requestHeaders","domains","host","find","cur","domain","undefined","orderLocales","locales","slice","sort","a","b","length","mapToProvidedLocale","locale","toLowerCase","getAcceptLanguageLocale","defaultLocale","languages","headers","get","orderedLocales","getLocaleFromCookie","routing","requestCookies","localeCookie","has","name","value","includes","resolveLocaleFromPrefix","pathname","localePrefix","localeDetection","resolveLocaleFromDomain","prefixLocale","cookieLocale","headerLocale","resolveLocale"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5809, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next-intl/dist/esm/development/middleware/syncCookie.js"],"sourcesContent":["import { getAcceptLanguageLocale } from './resolveLocale.js';\n\nfunction syncCookie(request, response, locale, routing, domain) {\n if (!routing.localeCookie) return;\n\n // Only document requests indicate that the user is actually\n // navigating to a page—in contrast to background requests of the\n // client-side router like prefetches and cache revalidations.\n // E.g. as of Next.js 16.3, the router revalidates previously\n // visited routes after a navigation, including routes of a locale\n // the user has just switched away from. Updating the cookie based\n // on such a request would overwrite the locale that was just set\n // when switching the locale. Note that Next.js strips router\n // headers like `Next-Router-Prefetch` before invoking the\n // middleware, therefore `Sec-Fetch-Dest` is used to detect\n // background requests. Locale switches via a soft navigation\n // update the cookie on the client side.\n const secFetchDest = request.headers.get('sec-fetch-dest');\n if (secFetchDest != null && secFetchDest !== 'document') return;\n const {\n name,\n ...rest\n } = routing.localeCookie;\n const hasLocaleCookie = request.cookies.has(name);\n const hasOutdatedCookie = hasLocaleCookie && request.cookies.get(name)?.value !== locale;\n if (hasOutdatedCookie) {\n response.cookies.set(name, locale, {\n path: request.nextUrl.basePath || undefined,\n ...rest\n });\n } else if (!hasLocaleCookie) {\n const acceptLanguageLocale = getAcceptLanguageLocale(request.headers, domain?.locales || routing.locales, routing.defaultLocale);\n if (acceptLanguageLocale !== locale) {\n response.cookies.set(name, locale, {\n path: request.nextUrl.basePath || undefined,\n ...rest\n });\n }\n }\n}\n\nexport { syncCookie as default };\n"],"names":["syncCookie","request","response","locale","routing","domain","localeCookie","secFetchDest","headers","get","name","rest","hasLocaleCookie","cookies","has","hasOutdatedCookie","value","set","path","nextUrl","basePath","undefined","acceptLanguageLocale","locales","defaultLocale"],"mappings":";;;;AAAA;;AAEA,SAASA,WAAWC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,OAAO,EAAEC,MAAM;IAC5D,IAAI,CAACD,QAAQE,YAAY,EAAE;IAE3B,4DAA4D;IAC5D,iEAAiE;IACjE,8DAA8D;IAC9D,6DAA6D;IAC7D,kEAAkE;IAClE,kEAAkE;IAClE,iEAAiE;IACjE,6DAA6D;IAC7D,0DAA0D;IAC1D,2DAA2D;IAC3D,6DAA6D;IAC7D,wCAAwC;IACxC,MAAMC,eAAeN,QAAQO,OAAO,CAACC,GAAG,CAAC;IACzC,IAAIF,gBAAgB,QAAQA,iBAAiB,YAAY;IACzD,MAAM,EACJG,IAAI,EACJ,GAAGC,MACJ,GAAGP,QAAQE,YAAY;IACxB,MAAMM,kBAAkBX,QAAQY,OAAO,CAACC,GAAG,CAACJ;IAC5C,MAAMK,oBAAoBH,mBAAmBX,QAAQY,OAAO,CAACJ,GAAG,CAACC,OAAOM,UAAUb;IAClF,IAAIY,mBAAmB;QACrBb,SAASW,OAAO,CAACI,GAAG,CAACP,MAAMP,QAAQ;YACjCe,MAAMjB,QAAQkB,OAAO,CAACC,QAAQ,IAAIC;YAClC,GAAGV,IAAI;QACT;IACF,OAAO,IAAI,CAACC,iBAAiB;QAC3B,MAAMU,uBAAuB,IAAA,oNAAuB,EAACrB,QAAQO,OAAO,EAAEH,QAAQkB,WAAWnB,QAAQmB,OAAO,EAAEnB,QAAQoB,aAAa;QAC/H,IAAIF,yBAAyBnB,QAAQ;YACnCD,SAASW,OAAO,CAACI,GAAG,CAACP,MAAMP,QAAQ;gBACjCe,MAAMjB,QAAQkB,OAAO,CAACC,QAAQ,IAAIC;gBAClC,GAAGV,IAAI;YACT;QACF;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 5854, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next-intl/dist/esm/development/middleware/utils.js"],"sourcesContent":["import { normalizeTrailingSlash, getSortedPathnames, matchesPathname, prefixPathname, getLocalePrefix, templateToRegex, getLocalizedTemplate } from '../shared/utils.js';\n\nfunction getInternalTemplate(pathnames, pathname, locale) {\n const sortedPathnames = getSortedPathnames(Object.keys(pathnames));\n\n // Try to find a localized pathname that matches\n for (const internalPathname of sortedPathnames) {\n const localizedPathnamesOrPathname = pathnames[internalPathname];\n if (typeof localizedPathnamesOrPathname === 'string') {\n const localizedPathname = localizedPathnamesOrPathname;\n if (matchesPathname(localizedPathname, pathname)) {\n return [undefined, internalPathname];\n }\n } else {\n // Prefer the entry with the current locale in case multiple\n // localized pathnames match the current pathname\n const sortedEntries = Object.entries(localizedPathnamesOrPathname);\n const curLocaleIndex = sortedEntries.findIndex(([entryLocale]) => entryLocale === locale);\n if (curLocaleIndex > 0) {\n sortedEntries.unshift(sortedEntries.splice(curLocaleIndex, 1)[0]);\n }\n for (const [entryLocale] of sortedEntries) {\n const localizedTemplate = getLocalizedTemplate(pathnames[internalPathname], entryLocale, internalPathname);\n if (matchesPathname(localizedTemplate, pathname)) {\n return [entryLocale, internalPathname];\n }\n }\n }\n }\n\n // Try to find an internal pathname that matches (this can be the case\n // if all localized pathnames are different from the internal pathnames)\n for (const internalPathname of Object.keys(pathnames)) {\n if (matchesPathname(internalPathname, pathname)) {\n return [undefined, internalPathname];\n }\n }\n\n // No match\n return [undefined, undefined];\n}\nfunction formatTemplatePathname(sourcePathname, sourceTemplate, targetTemplate, prefix) {\n const params = getRouteParams(sourceTemplate, sourcePathname);\n let targetPathname = '';\n targetPathname += formatPathnameTemplate(targetTemplate, params);\n\n // A pathname with an optional catchall like `/categories/[[...slug]]`\n // should be normalized to `/categories` if the catchall is not present\n // and no trailing slash is configured\n targetPathname = normalizeTrailingSlash(targetPathname);\n return targetPathname;\n}\n\n/**\n * Removes potential prefixes from the pathname.\n */\nfunction getNormalizedPathname(pathname, locales, localePrefix) {\n // Add trailing slash for consistent handling\n // both for the root as well as nested paths\n if (!pathname.endsWith('/')) {\n pathname += '/';\n }\n const localePrefixes = getLocalePrefixes(locales, localePrefix);\n const regex = new RegExp(`^(${localePrefixes.map(([, prefix]) => prefix.replaceAll('/', '\\\\/')).join('|')})/(.*)`, 'i');\n const match = pathname.match(regex);\n let result = match ? '/' + match[2] : pathname;\n if (result !== '/') {\n result = normalizeTrailingSlash(result);\n }\n return result;\n}\nfunction getLocalePrefixes(locales, localePrefix, sort = true) {\n const prefixes = locales.map(locale => [locale, getLocalePrefix(locale, localePrefix)]);\n if (sort) {\n // More specific ones first\n prefixes.sort((a, b) => b[1].length - a[1].length);\n }\n return prefixes;\n}\nfunction getPathnameMatch(pathname, locales, localePrefix, domain) {\n const localePrefixes = getLocalePrefixes(locales, localePrefix);\n\n // Sort to prioritize domain locales\n if (domain) {\n localePrefixes.sort(([localeA], [localeB]) => {\n if (localeA === domain.defaultLocale) return -1;\n if (localeB === domain.defaultLocale) return 1;\n const isLocaleAInDomain = domain.locales.includes(localeA);\n const isLocaleBInDomain = domain.locales.includes(localeB);\n if (isLocaleAInDomain && !isLocaleBInDomain) return -1;\n if (!isLocaleAInDomain && isLocaleBInDomain) return 1;\n return 0;\n });\n }\n for (const [locale, prefix] of localePrefixes) {\n let exact, matches;\n if (pathname === prefix || pathname.startsWith(prefix + '/')) {\n exact = matches = true;\n } else {\n const normalizedPathname = pathname.toLowerCase();\n const normalizedPrefix = prefix.toLowerCase();\n if (normalizedPathname === normalizedPrefix || normalizedPathname.startsWith(normalizedPrefix + '/')) {\n exact = false;\n matches = true;\n }\n }\n if (matches) {\n return {\n locale,\n prefix,\n matchedPrefix: pathname.slice(0, prefix.length),\n exact\n };\n }\n }\n}\nfunction getRouteParams(template, pathname) {\n const normalizedPathname = normalizeTrailingSlash(pathname);\n const normalizedTemplate = normalizeTrailingSlash(template);\n const regex = templateToRegex(normalizedTemplate);\n const match = regex.exec(normalizedPathname);\n if (!match) return undefined;\n const params = {};\n const keys = normalizedTemplate.match(/\\[([^\\]]+)\\]/g) ?? [];\n for (let i = 1; i < match.length; i++) {\n const rawKey = keys[i - 1];\n if (!rawKey) continue;\n const key = rawKey.replace(/[[\\]]/g, '');\n const value = match[i] ?? '';\n params[key] = value;\n }\n return params;\n}\nfunction formatPathnameTemplate(template, params) {\n if (!params) return template;\n\n // Simplify syntax for optional catchall ('[[...slug]]') so\n // we can replace the value with simple interpolation\n template = template.replace(/\\[\\[/g, '[').replace(/\\]\\]/g, ']');\n let result = template;\n Object.entries(params).forEach(([key, value]) => {\n result = result.replace(`[${key}]`, () => value);\n });\n return result;\n}\nfunction formatPathname(pathname, prefix, search) {\n let result = pathname;\n if (prefix) {\n result = prefixPathname(prefix, result);\n }\n if (search) {\n result += search;\n }\n return result;\n}\nfunction getHost(requestHeaders) {\n return requestHeaders.get('x-forwarded-host') ?? requestHeaders.get('host') ?? undefined;\n}\nfunction isLocaleSupportedOnDomain(locale, domain) {\n return domain.defaultLocale === locale || domain.locales.includes(locale);\n}\nfunction getBestMatchingDomain(curHostDomain, locale, domainsConfig) {\n let domainConfig;\n\n // Prio 1: Stay on current domain\n if (curHostDomain && isLocaleSupportedOnDomain(locale, curHostDomain)) {\n domainConfig = curHostDomain;\n }\n\n // Prio 2: Use alternative domain with matching default locale\n if (!domainConfig) {\n domainConfig = domainsConfig.find(cur => cur.defaultLocale === locale);\n }\n\n // Prio 3: Use alternative domain that supports the locale\n if (!domainConfig) {\n domainConfig = domainsConfig.find(cur => cur.locales.includes(locale));\n }\n return domainConfig;\n}\nfunction applyBasePath(pathname, basePath) {\n return normalizeTrailingSlash(basePath + pathname);\n}\nfunction getLocaleAsPrefix(locale) {\n return `/${locale}`;\n}\nfunction sanitizePathname(pathname) {\n // Sanitize malicious URIs, e.g.:\n // '/en/\\\\example.org' → '/en/%5Cexample.org' (backslash → %5C)\n // '/en/\\t/example.org' → '/en/example.org' (WHATWG-stripped TAB)\n // '/en/\\n/example.org' → '/en/example.org' (WHATWG-stripped LF)\n // '/en/\\r/example.org' → '/en/example.org' (WHATWG-stripped CR)\n // '/en////example.org' → '/en/example.org' (consecutive slashes)\n //\n // U+0009/000A/000D are silently stripped by the WHATWG URL parser\n // (https://url.spec.whatwg.org/#concept-url-parser). Without removing\n // them here, a decoded TAB in a segment separator position causes\n // new URL(\"/\\t/host\", base) to collapse to \"//host\" → open redirect.\n return pathname.replace(/\\\\/g, '%5C').replace(/[\\t\\n\\r]/g, '').replace(/\\/+/g, '/');\n}\n\nexport { applyBasePath, formatPathname, formatPathnameTemplate, formatTemplatePathname, getBestMatchingDomain, getHost, getInternalTemplate, getLocaleAsPrefix, getLocalePrefixes, getNormalizedPathname, getPathnameMatch, getRouteParams, isLocaleSupportedOnDomain, sanitizePathname };\n"],"names":["getInternalTemplate","pathnames","pathname","locale","sortedPathnames","Object","keys","internalPathname","localizedPathnamesOrPathname","localizedPathname","undefined","sortedEntries","entries","curLocaleIndex","findIndex","entryLocale","unshift","splice","localizedTemplate","formatTemplatePathname","sourcePathname","sourceTemplate","targetTemplate","prefix","params","getRouteParams","targetPathname","formatPathnameTemplate","getNormalizedPathname","locales","localePrefix","endsWith","localePrefixes","getLocalePrefixes","regex","RegExp","map","replaceAll","join","match","result","sort","prefixes","a","b","length","getPathnameMatch","domain","localeA","localeB","defaultLocale","isLocaleAInDomain","includes","isLocaleBInDomain","exact","matches","startsWith","normalizedPathname","toLowerCase","normalizedPrefix","matchedPrefix","slice","template","normalizedTemplate","exec","i","rawKey","key","replace","value","forEach","formatPathname","search","getHost","requestHeaders","get","isLocaleSupportedOnDomain","getBestMatchingDomain","curHostDomain","domainsConfig","domainConfig","find","cur","applyBasePath","basePath","getLocaleAsPrefix","sanitizePathname"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 6093, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next-intl/dist/esm/development/routing/config.js"],"sourcesContent":["function receiveRoutingConfig(input) {\n return {\n ...input,\n localePrefix: receiveLocalePrefixConfig(input.localePrefix),\n localeCookie: receiveLocaleCookie(input.localeCookie),\n localeDetection: input.localeDetection ?? true,\n alternateLinks: input.alternateLinks ?? true\n };\n}\nfunction receiveLocaleCookie(localeCookie) {\n return localeCookie ?? true ? {\n name: 'NEXT_LOCALE',\n sameSite: 'lax',\n ...(typeof localeCookie === 'object' && localeCookie)\n\n // `path` needs to be provided based on a detected base path\n // that depends on the environment when setting a cookie\n } : false;\n}\nfunction receiveLocalePrefixConfig(localePrefix) {\n return typeof localePrefix === 'object' ? localePrefix : {\n mode: localePrefix || 'always'\n };\n}\n\nexport { receiveRoutingConfig };\n"],"names":["receiveRoutingConfig","input","localePrefix","receiveLocalePrefixConfig","localeCookie","receiveLocaleCookie","localeDetection","alternateLinks","name","sameSite","mode"],"mappings":";;;;AAAA,SAASA,qBAAqBC,KAAK;IACjC,OAAO;QACL,GAAGA,KAAK;QACRC,cAAcC,0BAA0BF,MAAMC,YAAY;QAC1DE,cAAcC,oBAAoBJ,MAAMG,YAAY;QACpDE,iBAAiBL,MAAMK,eAAe,IAAI;QAC1CC,gBAAgBN,MAAMM,cAAc,IAAI;IAC1C;AACF;AACA,SAASF,oBAAoBD,YAAY;IACvC,OAAOA,gBAAgB,OAAO;QAC5BI,MAAM;QACNC,UAAU;QACV,GAAI,OAAOL,iBAAiB,YAAYA,YAAY;IAItD,IAAI;AACN;AACA,SAASD,0BAA0BD,YAAY;IAC7C,OAAO,OAAOA,iBAAiB,WAAWA,eAAe;QACvDQ,MAAMR,gBAAgB;IACxB;AACF","ignoreList":[0]}}, + {"offset": {"line": 6123, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next-intl/dist/esm/development/shared/constants.js"],"sourcesContent":["// Used to read the locale from the middleware\nconst HEADER_LOCALE_NAME = 'X-NEXT-INTL-LOCALE';\n\nexport { HEADER_LOCALE_NAME };\n"],"names":["HEADER_LOCALE_NAME"],"mappings":";;;;AAAA,8CAA8C;AAC9C,MAAMA,qBAAqB","ignoreList":[0]}}, + {"offset": {"line": 6134, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next-intl/dist/esm/development/shared/utils.js"],"sourcesContent":["function isRelativeHref(href) {\n const pathname = typeof href === 'object' ? href.pathname : href;\n return pathname != null && !pathname.startsWith('/');\n}\nfunction isLocalHref(href) {\n if (typeof href === 'object') {\n return href.host == null && href.hostname == null;\n } else {\n const hasProtocol = /^[a-z]+:/i.test(href);\n return !hasProtocol;\n }\n}\nfunction isLocalizableHref(href) {\n return isLocalHref(href) && !isRelativeHref(href);\n}\nfunction unprefixPathname(pathname, prefix) {\n return pathname.replace(new RegExp(`^${prefix}`), '') || '/';\n}\nfunction prefixPathname(prefix, pathname) {\n let localizedHref = prefix;\n\n // Avoid trailing slashes\n if (/^\\/(\\?.*)?$/.test(pathname)) {\n pathname = pathname.slice(1);\n }\n localizedHref += pathname;\n return localizedHref;\n}\nfunction hasPathnamePrefixed(prefix, pathname) {\n return pathname === prefix || pathname.startsWith(`${prefix}/`);\n}\nfunction hasTrailingSlash() {\n try {\n // Provided via `env` setting in `next.config.js` via the plugin\n return process.env._next_intl_trailing_slash === 'true';\n } catch {\n return false;\n }\n}\nfunction getLocalizedTemplate(pathnameConfig, locale, internalTemplate) {\n return typeof pathnameConfig === 'string' ? pathnameConfig : pathnameConfig[locale] || internalTemplate;\n}\nfunction normalizeTrailingSlash(pathname) {\n const trailingSlash = hasTrailingSlash();\n const [path, ...hashParts] = pathname.split('#');\n const hash = hashParts.join('#');\n let normalizedPath = path;\n if (normalizedPath !== '/') {\n const pathnameEndsWithSlash = normalizedPath.endsWith('/');\n if (trailingSlash && !pathnameEndsWithSlash) {\n normalizedPath += '/';\n } else if (!trailingSlash && pathnameEndsWithSlash) {\n normalizedPath = normalizedPath.slice(0, -1);\n }\n }\n if (hash) {\n normalizedPath += '#' + hash;\n }\n return normalizedPath;\n}\nfunction matchesPathname(/** E.g. `/users/[userId]-[userName]` */\ntemplate, /** E.g. `/users/23-jane` */\npathname) {\n const normalizedTemplate = normalizeTrailingSlash(template);\n const normalizedPathname = normalizeTrailingSlash(pathname);\n const regex = templateToRegex(normalizedTemplate);\n return regex.test(normalizedPathname);\n}\nfunction getLocalePrefix(locale, localePrefix) {\n return localePrefix.mode !== 'never' && localePrefix.prefixes?.[locale] ||\n // We return a prefix even if `mode: 'never'`. It's up to the consumer\n // to decide to use it or not.\n getLocaleAsPrefix(locale);\n}\nfunction getLocaleAsPrefix(locale) {\n return '/' + locale;\n}\nfunction templateToRegex(template) {\n const regexPattern = template\n // Replace optional catchall ('[[...slug]]')\n .replace(/\\/\\[\\[(\\.\\.\\.[^\\]]+)\\]\\]/g, '(?:/(.*))?') // With leading slash\n .replace(/\\[\\[(\\.\\.\\.[^\\]]+)\\]\\]/g, '(?:/(.*))?') // Without leading slash\n // Replace catchall ('[...slug]')\n .replace(/\\[(\\.\\.\\.[^\\]]+)\\]/g, '(.+)')\n // Replace regular parameter ('[slug]')\n .replace(/\\[([^\\]]+)\\]/g, '([^/]+)');\n return new RegExp(`^${regexPattern}$`);\n}\nfunction isOptionalCatchAllSegment(pathname) {\n return pathname.includes('[[...');\n}\nfunction isCatchAllSegment(pathname) {\n return pathname.includes('[...');\n}\nfunction isDynamicSegment(pathname) {\n return pathname.includes('[');\n}\nfunction comparePathnamePairs(a, b) {\n const pathA = a.split('/');\n const pathB = b.split('/');\n const maxLength = Math.max(pathA.length, pathB.length);\n for (let i = 0; i < maxLength; i++) {\n const segmentA = pathA[i];\n const segmentB = pathB[i];\n\n // If one of the paths ends, prioritize the shorter path\n if (!segmentA && segmentB) return -1;\n if (segmentA && !segmentB) return 1;\n if (!segmentA && !segmentB) continue;\n\n // Prioritize static segments over dynamic segments\n if (!isDynamicSegment(segmentA) && isDynamicSegment(segmentB)) return -1;\n if (isDynamicSegment(segmentA) && !isDynamicSegment(segmentB)) return 1;\n\n // Prioritize non-catch-all segments over catch-all segments\n if (!isCatchAllSegment(segmentA) && isCatchAllSegment(segmentB)) return -1;\n if (isCatchAllSegment(segmentA) && !isCatchAllSegment(segmentB)) return 1;\n\n // Prioritize non-optional catch-all segments over optional catch-all segments\n if (!isOptionalCatchAllSegment(segmentA) && isOptionalCatchAllSegment(segmentB)) {\n return -1;\n }\n if (isOptionalCatchAllSegment(segmentA) && !isOptionalCatchAllSegment(segmentB)) {\n return 1;\n }\n if (segmentA === segmentB) continue;\n }\n\n // Both pathnames are completely static\n return 0;\n}\nfunction getSortedPathnames(pathnames) {\n return pathnames.sort(comparePathnamePairs);\n}\nfunction isPromise(value) {\n // https://github.com/amannn/next-intl/issues/1711\n return typeof value.then === 'function';\n}\n\nexport { getLocaleAsPrefix, getLocalePrefix, getLocalizedTemplate, getSortedPathnames, hasPathnamePrefixed, isLocalizableHref, isPromise, matchesPathname, normalizeTrailingSlash, prefixPathname, templateToRegex, unprefixPathname };\n"],"names":["isRelativeHref","href","pathname","startsWith","isLocalHref","host","hostname","hasProtocol","test","isLocalizableHref","unprefixPathname","prefix","replace","RegExp","prefixPathname","localizedHref","slice","hasPathnamePrefixed","hasTrailingSlash","process","env","_next_intl_trailing_slash","getLocalizedTemplate","pathnameConfig","locale","internalTemplate","normalizeTrailingSlash","trailingSlash","path","hashParts","split","hash","join","normalizedPath","pathnameEndsWithSlash","endsWith","matchesPathname","template","normalizedTemplate","normalizedPathname","regex","templateToRegex","getLocalePrefix","localePrefix","mode","prefixes","getLocaleAsPrefix","regexPattern","isOptionalCatchAllSegment","includes","isCatchAllSegment","isDynamicSegment","comparePathnamePairs","a","b","pathA","pathB","maxLength","Math","max","length","i","segmentA","segmentB","getSortedPathnames","pathnames","sort","isPromise","value","then"],"mappings":"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","ignoreList":[0]}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/node_modules_next_1s25vz5n-v396._.js b/e-commerce/.next/dev/server/chunks/node_modules_next_1s25vz5n-v396._.js new file mode 100644 index 0000000000000000000000000000000000000000..671e53cf7caebef03eeadcdf5b8c13a476d21129 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/node_modules_next_1s25vz5n-v396._.js @@ -0,0 +1,22187 @@ +module.exports = [ +(()=>{"use strict";return[ +"[project]/node_modules/next/dist/client/components/hooks-server-context.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + DynamicServerError: null, + isDynamicServerError: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + DynamicServerError: function() { + return DynamicServerError; + }, + isDynamicServerError: function() { + return isDynamicServerError; + } +}); +const DYNAMIC_ERROR_CODE = 'DYNAMIC_SERVER_USAGE'; +class DynamicServerError extends Error { + constructor(description){ + super(`Dynamic server usage: ${description}`), this.description = description, this.digest = DYNAMIC_ERROR_CODE; + } +} +function isDynamicServerError(err) { + if (typeof err !== 'object' || err === null || !('digest' in err) || typeof err.digest !== 'string') { + return false; + } + return err.digest === DYNAMIC_ERROR_CODE; +} +if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { + Object.defineProperty(exports.default, '__esModule', { + value: true + }); + Object.assign(exports.default, exports); + module.exports = exports.default; +} +}), +"[project]/node_modules/next/dist/client/components/static-generation-bailout.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + StaticGenBailoutError: null, + isStaticGenBailoutError: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + StaticGenBailoutError: function() { + return StaticGenBailoutError; + }, + isStaticGenBailoutError: function() { + return isStaticGenBailoutError; + } +}); +const NEXT_STATIC_GEN_BAILOUT = 'NEXT_STATIC_GEN_BAILOUT'; +class StaticGenBailoutError extends Error { + constructor(...args){ + super(...args), this.code = NEXT_STATIC_GEN_BAILOUT; + } +} +function isStaticGenBailoutError(error) { + if (typeof error !== 'object' || error === null || !('code' in error)) { + return false; + } + return error.code === NEXT_STATIC_GEN_BAILOUT; +} +if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { + Object.defineProperty(exports.default, '__esModule', { + value: true + }); + Object.assign(exports.default, exports); + module.exports = exports.default; +} +}), +"[project]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all)=>{ + for(var name in all)__defProp(target, name, { + get: all[name], + enumerable: true + }); +}; +var __copyProps = (to, from, except, desc)=>{ + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from))if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { + get: ()=>from[key], + enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable + }); + } + return to; +}; +var __toCommonJS = (mod)=>__copyProps(__defProp({}, "__esModule", { + value: true + }), mod); +// src/index.ts +var src_exports = {}; +__export(src_exports, { + RequestCookies: ()=>RequestCookies, + ResponseCookies: ()=>ResponseCookies, + parseCookie: ()=>parseCookie, + parseSetCookie: ()=>parseSetCookie, + stringifyCookie: ()=>stringifyCookie +}); +module.exports = __toCommonJS(src_exports); +// src/serialize.ts +function stringifyCookie(c) { + var _a; + const attrs = [ + "path" in c && c.path && `Path=${c.path}`, + "expires" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === "number" ? new Date(c.expires) : c.expires).toUTCString()}`, + "maxAge" in c && typeof c.maxAge === "number" && `Max-Age=${c.maxAge}`, + "domain" in c && c.domain && `Domain=${c.domain}`, + "secure" in c && c.secure && "Secure", + "httpOnly" in c && c.httpOnly && "HttpOnly", + "sameSite" in c && c.sameSite && `SameSite=${c.sameSite}`, + "partitioned" in c && c.partitioned && "Partitioned", + "priority" in c && c.priority && `Priority=${c.priority}` + ].filter(Boolean); + const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : "")}`; + return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join("; ")}`; +} +function parseCookie(cookie) { + const map = /* @__PURE__ */ new Map(); + for (const pair of cookie.split(/; */)){ + if (!pair) continue; + const splitAt = pair.indexOf("="); + if (splitAt === -1) { + map.set(pair, "true"); + continue; + } + const [key, value] = [ + pair.slice(0, splitAt), + pair.slice(splitAt + 1) + ]; + try { + map.set(key, decodeURIComponent(value != null ? value : "true")); + } catch {} + } + return map; +} +function parseSetCookie(setCookie) { + if (!setCookie) { + return void 0; + } + const [[name, value], ...attributes] = parseCookie(setCookie); + const { domain, expires, httponly, maxage, path, samesite, secure, partitioned, priority } = Object.fromEntries(attributes.map(([key, value2])=>[ + key.toLowerCase().replace(/-/g, ""), + value2 + ])); + const cookie = { + name, + value: decodeURIComponent(value), + domain, + ...expires && { + expires: new Date(expires) + }, + ...httponly && { + httpOnly: true + }, + ...typeof maxage === "string" && { + maxAge: Number(maxage) + }, + path, + ...samesite && { + sameSite: parseSameSite(samesite) + }, + ...secure && { + secure: true + }, + ...priority && { + priority: parsePriority(priority) + }, + ...partitioned && { + partitioned: true + } + }; + return compact(cookie); +} +function compact(t) { + const newT = {}; + for(const key in t){ + if (t[key]) { + newT[key] = t[key]; + } + } + return newT; +} +var SAME_SITE = [ + "strict", + "lax", + "none" +]; +function parseSameSite(string) { + string = string.toLowerCase(); + return SAME_SITE.includes(string) ? string : void 0; +} +var PRIORITY = [ + "low", + "medium", + "high" +]; +function parsePriority(string) { + string = string.toLowerCase(); + return PRIORITY.includes(string) ? string : void 0; +} +function splitCookiesString(cookiesString) { + if (!cookiesString) return []; + var cookiesStrings = []; + var pos = 0; + var start; + var ch; + var lastComma; + var nextStart; + var cookiesSeparatorFound; + function skipWhitespace() { + while(pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))){ + pos += 1; + } + return pos < cookiesString.length; + } + function notSpecialChar() { + ch = cookiesString.charAt(pos); + return ch !== "=" && ch !== ";" && ch !== ","; + } + while(pos < cookiesString.length){ + start = pos; + cookiesSeparatorFound = false; + while(skipWhitespace()){ + ch = cookiesString.charAt(pos); + if (ch === ",") { + lastComma = pos; + pos += 1; + skipWhitespace(); + nextStart = pos; + while(pos < cookiesString.length && notSpecialChar()){ + pos += 1; + } + if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") { + cookiesSeparatorFound = true; + pos = nextStart; + cookiesStrings.push(cookiesString.substring(start, lastComma)); + start = pos; + } else { + pos = lastComma + 1; + } + } else { + pos += 1; + } + } + if (!cookiesSeparatorFound || pos >= cookiesString.length) { + cookiesStrings.push(cookiesString.substring(start, cookiesString.length)); + } + } + return cookiesStrings; +} +// src/request-cookies.ts +var RequestCookies = class { + constructor(requestHeaders){ + /** @internal */ this._parsed = /* @__PURE__ */ new Map(); + this._headers = requestHeaders; + const header = requestHeaders.get("cookie"); + if (header) { + const parsed = parseCookie(header); + for (const [name, value] of parsed){ + this._parsed.set(name, { + name, + value + }); + } + } + } + [Symbol.iterator]() { + return this._parsed[Symbol.iterator](); + } + /** + * The amount of cookies received from the client + */ get size() { + return this._parsed.size; + } + get(...args) { + const name = typeof args[0] === "string" ? args[0] : args[0].name; + return this._parsed.get(name); + } + getAll(...args) { + var _a; + const all = Array.from(this._parsed); + if (!args.length) { + return all.map(([_, value])=>value); + } + const name = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name; + return all.filter(([n])=>n === name).map(([_, value])=>value); + } + has(name) { + return this._parsed.has(name); + } + set(...args) { + const [name, value] = args.length === 1 ? [ + args[0].name, + args[0].value + ] : args; + const map = this._parsed; + map.set(name, { + name, + value + }); + this._headers.set("cookie", Array.from(map).map(([_, value2])=>stringifyCookie(value2)).join("; ")); + return this; + } + /** + * Delete the cookies matching the passed name or names in the request. + */ delete(names) { + const map = this._parsed; + const result = !Array.isArray(names) ? map.delete(names) : names.map((name)=>map.delete(name)); + this._headers.set("cookie", Array.from(map).map(([_, value])=>stringifyCookie(value)).join("; ")); + return result; + } + /** + * Delete all the cookies in the cookies in the request. + */ clear() { + this.delete(Array.from(this._parsed.keys())); + return this; + } + /** + * Format the cookies in the request as a string for logging + */ [Symbol.for("edge-runtime.inspect.custom")]() { + return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`; + } + toString() { + return [ + ...this._parsed.values() + ].map((v)=>`${v.name}=${encodeURIComponent(v.value)}`).join("; "); + } +}; +// src/response-cookies.ts +var ResponseCookies = class { + constructor(responseHeaders){ + /** @internal */ this._parsed = /* @__PURE__ */ new Map(); + var _a, _b, _c; + this._headers = responseHeaders; + const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get("set-cookie")) != null ? _c : []; + const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie); + for (const cookieString of cookieStrings){ + const parsed = parseSetCookie(cookieString); + if (parsed) this._parsed.set(parsed.name, parsed); + } + } + /** + * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise. + */ get(...args) { + const key = typeof args[0] === "string" ? args[0] : args[0].name; + return this._parsed.get(key); + } + /** + * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise. + */ getAll(...args) { + var _a; + const all = Array.from(this._parsed.values()); + if (!args.length) { + return all; + } + const key = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name; + return all.filter((c)=>c.name === key); + } + has(name) { + return this._parsed.has(name); + } + /** + * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise. + */ set(...args) { + const [name, value, cookie] = args.length === 1 ? [ + args[0].name, + args[0].value, + args[0] + ] : args; + const map = this._parsed; + map.set(name, normalizeCookie({ + name, + value, + ...cookie + })); + replace(map, this._headers); + return this; + } + /** + * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise. + */ delete(...args) { + const [name, options] = typeof args[0] === "string" ? [ + args[0] + ] : [ + args[0].name, + args[0] + ]; + return this.set({ + ...options, + name, + value: "", + expires: /* @__PURE__ */ new Date(0) + }); + } + [Symbol.for("edge-runtime.inspect.custom")]() { + return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`; + } + toString() { + return [ + ...this._parsed.values() + ].map(stringifyCookie).join("; "); + } +}; +function replace(bag, headers) { + headers.delete("set-cookie"); + for (const [, value] of bag){ + const serialized = stringifyCookie(value); + headers.append("set-cookie", serialized); + } +} +function normalizeCookie(cookie = { + name: "", + value: "" +}) { + if (typeof cookie.expires === "number") { + cookie.expires = new Date(cookie.expires); + } + if (cookie.maxAge) { + cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3); + } + if (cookie.path === null || cookie.path === void 0) { + cookie.path = "/"; + } + return cookie; +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + RequestCookies, + ResponseCookies, + parseCookie, + parseSetCookie, + stringifyCookie +}); +}), +"[project]/node_modules/next/dist/esm/build/output/log.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "bootstrap", + ()=>bootstrap, + "error", + ()=>error, + "errorOnce", + ()=>errorOnce, + "event", + ()=>event, + "info", + ()=>info, + "prefixes", + ()=>prefixes, + "ready", + ()=>ready, + "trace", + ()=>trace, + "wait", + ()=>wait, + "warn", + ()=>warn, + "warnOnce", + ()=>warnOnce +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/picocolors.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lru$2d$cache$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/lru-cache.js [middleware] (ecmascript)"); +; +; +const prefixes = { + wait: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["white"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["bold"])('○')), + error: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["red"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["bold"])('⨯')), + warn: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["yellow"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["bold"])('⚠')), + ready: '▲', + info: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["white"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["bold"])(' ')), + event: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["green"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["bold"])('✓')), + trace: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["magenta"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$picocolors$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["bold"])('»')) +}; +const LOGGING_METHOD = { + log: 'log', + warn: 'warn', + error: 'error' +}; +function prefixedLog(prefixType, ...message) { + if ((message[0] === '' || message[0] === undefined) && message.length === 1) { + message.shift(); + } + const consoleMethod = prefixType in LOGGING_METHOD ? LOGGING_METHOD[prefixType] : 'log'; + const prefix = prefixes[prefixType]; + // If there's no message, don't print the prefix but a new line + if (message.length === 0) { + console[consoleMethod](''); + } else { + // Ensure if there's ANSI escape codes it's concatenated into one string. + // Chrome DevTool can only handle color if it's in one string. + if (message.length === 1 && typeof message[0] === 'string') { + console[consoleMethod](prefix + ' ' + message[0]); + } else { + console[consoleMethod](prefix, ...message); + } + } +} +function bootstrap(message) { + console.log(message); +} +function wait(...message) { + prefixedLog('wait', ...message); +} +function error(...message) { + prefixedLog('error', ...message); +} +function warn(...message) { + prefixedLog('warn', ...message); +} +function ready(...message) { + prefixedLog('ready', ...message); +} +function info(...message) { + prefixedLog('info', ...message); +} +function event(...message) { + prefixedLog('event', ...message); +} +function trace(...message) { + prefixedLog('trace', ...message); +} +const warnOnceCache = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lru$2d$cache$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["LRUCache"](10000, (value)=>value.length); +function warnOnce(...message) { + const key = message.join(' '); + if (!warnOnceCache.has(key)) { + warnOnceCache.set(key, key); + warn(...message); + } +} +const errorOnceCache = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lru$2d$cache$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["LRUCache"](10000, (value)=>value.length); +function errorOnce(...message) { + const key = message.join(' '); + if (!errorOnceCache.has(key)) { + errorOnceCache.set(key, key); + error(...message); + } +} +}), +"[project]/node_modules/next/dist/esm/build/templates/middleware.js { INNER_MIDDLEWARE_MODULE => \"[project]/proxy.ts [middleware] (ecmascript)\" } [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>__TURBOPACK__default__export__, + "handler", + ()=>handler +]); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$build$2f$adapter$2f$setup$2d$node$2d$env$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$build$2f$adapter$2f$setup$2d$node$2d$env$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/build/adapter/setup-node-env.external.js [external] (next/dist/build/adapter/setup-node-env.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$globals$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/globals.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$adapter$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/adapter.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$incremental$2d$cache$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/incremental-cache/index.js [middleware] (ecmascript)"); +// Import the userland code. +var __TURBOPACK__imported__module__$5b$project$5d2f$proxy$2e$ts__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/proxy.ts [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$is$2d$next$2d$router$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/is-next-router-error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/utils.js [middleware] (ecmascript)"); +; +; +; +; +const incrementalCacheHandler = null; +; +; +; +; +const mod = { + ...__TURBOPACK__imported__module__$5b$project$5d2f$proxy$2e$ts__$5b$middleware$5d$__$28$ecmascript$29$__ +}; +const page = "/proxy"; +const isProxy = page === '/proxy' || page === '/src/proxy'; +const handlerUserland = (("TURBOPACK compile-time truthy", 1) ? mod.proxy : "TURBOPACK unreachable") || mod.default; +class ProxyMissingExportError extends Error { + constructor(message){ + super(message); + // Stack isn't useful here, remove it considering it spams logs during development. + this.stack = ''; + } +} +// TODO: This spams logs during development. Find a better way to handle this. +// Removing this will spam "fn is not a function" logs which is worse. +if (typeof handlerUserland !== 'function') { + throw new ProxyMissingExportError(`The ${("TURBOPACK compile-time truthy", 1) ? 'Proxy' : "TURBOPACK unreachable"} file "${page}" must export a function named \`${("TURBOPACK compile-time truthy", 1) ? 'proxy' : "TURBOPACK unreachable"}\` or a default function.`); +} +// Proxy will only sent out the FetchEvent to next server, +// so load instrumentation module here and track the error inside proxy module. +function errorHandledHandler(fn) { + return async (...args)=>{ + try { + return await fn(...args); + } catch (err) { + // In development, error the navigation API usage in runtime, + // since it's not allowed to be used in proxy as it's outside of react component tree. + if ("TURBOPACK compile-time truthy", 1) { + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$is$2d$next$2d$router$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isNextRouterError"])(err)) { + err.message = `Next.js navigation API is not allowed to be used in ${("TURBOPACK compile-time truthy", 1) ? 'Proxy' : "TURBOPACK unreachable"}.`; + throw err; + } + } + const req = args[0]; + const url = new URL(req.url); + const resource = url.pathname + url.search; + await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$globals$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["edgeInstrumentationOnRequestError"])(err, { + path: resource, + method: req.method, + headers: Object.fromEntries(req.headers.entries()) + }, { + routerKind: 'Pages Router', + routePath: '/proxy', + routeType: 'proxy', + revalidateReason: undefined + }); + throw err; + } + }; +} +const internalHandler = async (opts)=>{ + if ("TURBOPACK compile-time truthy", 1) { + var _opts_request_requestMeta, _opts_request_requestMeta1; + // This mirrors what `RouteModule#prepare` does for routes + // edge runtime handles loading instrumentation at the edge adapter level + const { join, relative } = __turbopack_context__.r("[externals]/node:path [external] (node:path, cjs)"); + const { ensureInstrumentationRegistered } = __turbopack_context__.r("[externals]/next/dist/server/lib/router-utils/instrumentation-globals.external.js [external] (next/dist/server/lib/router-utils/instrumentation-globals.external.js, cjs)"); + const absoluteProjectDir = join(/* turbopackIgnore: true */ process.cwd(), ((_opts_request_requestMeta = opts.request.requestMeta) == null ? void 0 : _opts_request_requestMeta.relativeProjectDir) || ''); + const absoluteDistDir = (_opts_request_requestMeta1 = opts.request.requestMeta) == null ? void 0 : _opts_request_requestMeta1.distDir; + const distDir = absoluteDistDir ? relative(absoluteProjectDir, absoluteDistDir) : '.next'; + await ensureInstrumentationRegistered(absoluteProjectDir, distDir); + } + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$adapter$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["adapter"])({ + ...opts, + IncrementalCache: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$incremental$2d$cache$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCache"], + incrementalCacheHandler, + page, + handler: errorHandledHandler(handlerUserland) + }); +}; +async function handler(request, ctx) { + const result = await internalHandler({ + request: { + url: request.url, + method: request.method, + headers: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["toNodeOutgoingHttpHeaders"])(request.headers), + nextConfig: { + basePath: ("TURBOPACK compile-time value", ""), + i18n: ("TURBOPACK compile-time value", ""), + trailingSlash: Boolean(("TURBOPACK compile-time value", false)), + experimental: { + cacheLife: ("TURBOPACK compile-time value", { + "default": ("TURBOPACK compile-time value", { + "stale": ("TURBOPACK compile-time value", 300), + "revalidate": ("TURBOPACK compile-time value", 900), + "expire": ("TURBOPACK compile-time value", 4294967294) + }), + "seconds": ("TURBOPACK compile-time value", { + "stale": ("TURBOPACK compile-time value", 30), + "revalidate": ("TURBOPACK compile-time value", 1), + "expire": ("TURBOPACK compile-time value", 60) + }), + "minutes": ("TURBOPACK compile-time value", { + "stale": ("TURBOPACK compile-time value", 300), + "revalidate": ("TURBOPACK compile-time value", 60), + "expire": ("TURBOPACK compile-time value", 3600) + }), + "hours": ("TURBOPACK compile-time value", { + "stale": ("TURBOPACK compile-time value", 300), + "revalidate": ("TURBOPACK compile-time value", 3600), + "expire": ("TURBOPACK compile-time value", 86400) + }), + "days": ("TURBOPACK compile-time value", { + "stale": ("TURBOPACK compile-time value", 300), + "revalidate": ("TURBOPACK compile-time value", 86400), + "expire": ("TURBOPACK compile-time value", 604800) + }), + "weeks": ("TURBOPACK compile-time value", { + "stale": ("TURBOPACK compile-time value", 300), + "revalidate": ("TURBOPACK compile-time value", 604800), + "expire": ("TURBOPACK compile-time value", 2592000) + }), + "max": ("TURBOPACK compile-time value", { + "stale": ("TURBOPACK compile-time value", 300), + "revalidate": ("TURBOPACK compile-time value", 2592000), + "expire": ("TURBOPACK compile-time value", 31536000) + }) + }), + authInterrupts: Boolean(("TURBOPACK compile-time value", false)), + clientParamParsingOrigins: ("TURBOPACK compile-time value", []) + } + }, + page: { + name: page + }, + body: request.method !== 'GET' && request.method !== 'HEAD' ? request.body ?? undefined : undefined, + waitUntil: ctx.waitUntil, + requestMeta: ctx.requestMeta, + signal: ctx.signal || new AbortController().signal + } + }); + ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, result.waitUntil); + return result.response; +} +const __TURBOPACK__default__export__ = internalHandler; +}), +"[project]/node_modules/next/dist/esm/client/components/app-router-headers.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ACTION_HEADER", + ()=>ACTION_HEADER, + "FLIGHT_HEADERS", + ()=>FLIGHT_HEADERS, + "NEXT_ACTION_NOT_FOUND_HEADER", + ()=>NEXT_ACTION_NOT_FOUND_HEADER, + "NEXT_ACTION_REVALIDATED_HEADER", + ()=>NEXT_ACTION_REVALIDATED_HEADER, + "NEXT_DID_POSTPONE_HEADER", + ()=>NEXT_DID_POSTPONE_HEADER, + "NEXT_HMR_REFRESH_HEADER", + ()=>NEXT_HMR_REFRESH_HEADER, + "NEXT_HTML_REQUEST_ID_HEADER", + ()=>NEXT_HTML_REQUEST_ID_HEADER, + "NEXT_INSTANT_TEST_COOKIE", + ()=>NEXT_INSTANT_TEST_COOKIE, + "NEXT_IS_PRERENDER_HEADER", + ()=>NEXT_IS_PRERENDER_HEADER, + "NEXT_REQUEST_ID_HEADER", + ()=>NEXT_REQUEST_ID_HEADER, + "NEXT_REWRITTEN_PATH_HEADER", + ()=>NEXT_REWRITTEN_PATH_HEADER, + "NEXT_REWRITTEN_QUERY_HEADER", + ()=>NEXT_REWRITTEN_QUERY_HEADER, + "NEXT_ROUTER_PREFETCH_HEADER", + ()=>NEXT_ROUTER_PREFETCH_HEADER, + "NEXT_ROUTER_SEGMENT_PREFETCH_HEADER", + ()=>NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, + "NEXT_ROUTER_STALE_TIME_HEADER", + ()=>NEXT_ROUTER_STALE_TIME_HEADER, + "NEXT_ROUTER_STATE_TREE_HEADER", + ()=>NEXT_ROUTER_STATE_TREE_HEADER, + "NEXT_RSC_UNION_QUERY", + ()=>NEXT_RSC_UNION_QUERY, + "NEXT_URL", + ()=>NEXT_URL, + "RSC_CONTENT_TYPE_HEADER", + ()=>RSC_CONTENT_TYPE_HEADER, + "RSC_HEADER", + ()=>RSC_HEADER +]); +const RSC_HEADER = 'rsc'; +const ACTION_HEADER = 'next-action'; +const NEXT_ROUTER_STATE_TREE_HEADER = 'next-router-state-tree'; +const NEXT_ROUTER_PREFETCH_HEADER = 'next-router-prefetch'; +const NEXT_ROUTER_SEGMENT_PREFETCH_HEADER = 'next-router-segment-prefetch'; +const NEXT_HMR_REFRESH_HEADER = 'next-hmr-refresh'; +const NEXT_URL = 'next-url'; +const RSC_CONTENT_TYPE_HEADER = 'text/x-component'; +const NEXT_INSTANT_TEST_COOKIE = 'next-instant-navigation-testing'; +const FLIGHT_HEADERS = [ + RSC_HEADER, + NEXT_ROUTER_STATE_TREE_HEADER, + NEXT_ROUTER_PREFETCH_HEADER, + NEXT_HMR_REFRESH_HEADER, + NEXT_ROUTER_SEGMENT_PREFETCH_HEADER +]; +const NEXT_RSC_UNION_QUERY = '_rsc'; +const NEXT_ROUTER_STALE_TIME_HEADER = 'x-nextjs-stale-time'; +const NEXT_DID_POSTPONE_HEADER = 'x-nextjs-postponed'; +const NEXT_REWRITTEN_PATH_HEADER = 'x-nextjs-rewritten-path'; +const NEXT_REWRITTEN_QUERY_HEADER = 'x-nextjs-rewritten-query'; +const NEXT_IS_PRERENDER_HEADER = 'x-nextjs-prerender'; +const NEXT_ACTION_NOT_FOUND_HEADER = 'x-nextjs-action-not-found'; +const NEXT_REQUEST_ID_HEADER = 'x-nextjs-request-id'; +const NEXT_HTML_REQUEST_ID_HEADER = 'x-nextjs-html-request-id'; +const NEXT_ACTION_REVALIDATED_HEADER = 'x-action-revalidated'; +}), +"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/http-access-fallback.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "HTTPAccessErrorStatus", + ()=>HTTPAccessErrorStatus, + "HTTP_ERROR_FALLBACK_ERROR_CODE", + ()=>HTTP_ERROR_FALLBACK_ERROR_CODE, + "getAccessFallbackErrorTypeByStatus", + ()=>getAccessFallbackErrorTypeByStatus, + "getAccessFallbackHTTPStatus", + ()=>getAccessFallbackHTTPStatus, + "isHTTPAccessFallbackError", + ()=>isHTTPAccessFallbackError +]); +const HTTPAccessErrorStatus = { + NOT_FOUND: 404, + FORBIDDEN: 403, + UNAUTHORIZED: 401 +}; +const ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus)); +const HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK'; +function isHTTPAccessFallbackError(error) { + if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') { + return false; + } + const [prefix, httpStatus] = error.digest.split(';'); + return prefix === HTTP_ERROR_FALLBACK_ERROR_CODE && ALLOWED_CODES.has(Number(httpStatus)); +} +function getAccessFallbackHTTPStatus(error) { + const httpStatus = error.digest.split(';')[1]; + return Number(httpStatus); +} +function getAccessFallbackErrorTypeByStatus(status) { + switch(status){ + case 401: + return 'unauthorized'; + case 403: + return 'forbidden'; + case 404: + return 'not-found'; + default: + return; + } +} +}), +"[project]/node_modules/next/dist/esm/client/components/is-next-router-error.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "isNextRouterError", + ()=>isNextRouterError +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$http$2d$access$2d$fallback$2f$http$2d$access$2d$fallback$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/http-access-fallback/http-access-fallback.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/redirect-error.js [middleware] (ecmascript)"); +; +; +function isNextRouterError(error) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isRedirectError"])(error) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$http$2d$access$2d$fallback$2f$http$2d$access$2d$fallback$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isHTTPAccessFallbackError"])(error); +} +}), +"[project]/node_modules/next/dist/esm/client/components/redirect-error.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "REDIRECT_ERROR_CODE", + ()=>REDIRECT_ERROR_CODE, + "isRedirectError", + ()=>isRedirectError +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/redirect-status-code.js [middleware] (ecmascript)"); +; +const REDIRECT_ERROR_CODE = 'NEXT_REDIRECT'; +function isRedirectError(error) { + if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') { + return false; + } + const digest = error.digest.split(';'); + const [errorCode, type] = digest; + const destination = digest.slice(2, -2).join(';'); + const status = digest.at(-2); + const statusCode = Number(status); + return errorCode === REDIRECT_ERROR_CODE && (type === 'replace' || type === 'push') && typeof destination === 'string' && !isNaN(statusCode) && statusCode in __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RedirectStatusCode"]; +} +}), +"[project]/node_modules/next/dist/esm/client/components/redirect-status-code.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "RedirectStatusCode", + ()=>RedirectStatusCode +]); +var RedirectStatusCode = /*#__PURE__*/ function(RedirectStatusCode) { + RedirectStatusCode[RedirectStatusCode["SeeOther"] = 303] = "SeeOther"; + RedirectStatusCode[RedirectStatusCode["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + RedirectStatusCode[RedirectStatusCode["PermanentRedirect"] = 308] = "PermanentRedirect"; + return RedirectStatusCode; +}({}); +}), +"[project]/node_modules/next/dist/esm/lib/batcher.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "Batcher", + ()=>Batcher +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/promise-with-resolvers.js [middleware] (ecmascript)"); +; +class Batcher { + constructor(cacheKeyFn, /** + * A function that will be called to schedule the wrapped function to be + * executed. This defaults to a function that will execute the function + * immediately. + */ schedulerFn = (fn)=>fn()){ + this.cacheKeyFn = cacheKeyFn; + this.schedulerFn = schedulerFn; + this.pending = new Map(); + } + static create(options) { + return new Batcher(options == null ? void 0 : options.cacheKeyFn, options == null ? void 0 : options.schedulerFn); + } + /** + * Wraps a function in a promise that will be resolved or rejected only once + * for a given key. This will allow multiple calls to the function to be + * made, but only one will be executed at a time. The result of the first + * call will be returned to all callers. + * + * @param key the key to use for the cache + * @param fn the function to wrap + * @returns a promise that resolves to the result of the function + */ async batch(key, fn) { + const cacheKey = this.cacheKeyFn ? await this.cacheKeyFn(key) : key; + if (cacheKey === null) { + return fn({ + resolve: (value)=>Promise.resolve(value), + key + }); + } + const pending = this.pending.get(cacheKey); + if (pending) return pending; + const { promise, resolve, reject } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createPromiseWithResolvers"])(); + this.pending.set(cacheKey, promise); + this.schedulerFn(async ()=>{ + try { + const result = await fn({ + resolve, + key + }); + // Resolving a promise multiple times is a no-op, so we can safely + // resolve all pending promises with the same result. + resolve(result); + } catch (err) { + reject(err); + } finally{ + this.pending.delete(cacheKey); + } + }); + return promise; + } +} +}), +"[project]/node_modules/next/dist/esm/lib/constants.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ACTION_SUFFIX", + ()=>ACTION_SUFFIX, + "APP_DIR_ALIAS", + ()=>APP_DIR_ALIAS, + "CACHE_ONE_YEAR_SECONDS", + ()=>CACHE_ONE_YEAR_SECONDS, + "DOT_NEXT_ALIAS", + ()=>DOT_NEXT_ALIAS, + "ESLINT_DEFAULT_DIRS", + ()=>ESLINT_DEFAULT_DIRS, + "GSP_NO_RETURNED_VALUE", + ()=>GSP_NO_RETURNED_VALUE, + "GSSP_COMPONENT_MEMBER_ERROR", + ()=>GSSP_COMPONENT_MEMBER_ERROR, + "GSSP_NO_RETURNED_VALUE", + ()=>GSSP_NO_RETURNED_VALUE, + "HTML_CONTENT_TYPE_HEADER", + ()=>HTML_CONTENT_TYPE_HEADER, + "INFINITE_CACHE", + ()=>INFINITE_CACHE, + "INSTRUMENTATION_HOOK_FILENAME", + ()=>INSTRUMENTATION_HOOK_FILENAME, + "JSON_CONTENT_TYPE_HEADER", + ()=>JSON_CONTENT_TYPE_HEADER, + "MATCHED_PATH_HEADER", + ()=>MATCHED_PATH_HEADER, + "MIDDLEWARE_FILENAME", + ()=>MIDDLEWARE_FILENAME, + "MIDDLEWARE_LOCATION_REGEXP", + ()=>MIDDLEWARE_LOCATION_REGEXP, + "NEXT_BODY_SUFFIX", + ()=>NEXT_BODY_SUFFIX, + "NEXT_CACHE_IMPLICIT_TAG_ID", + ()=>NEXT_CACHE_IMPLICIT_TAG_ID, + "NEXT_CACHE_REVALIDATED_TAGS_HEADER", + ()=>NEXT_CACHE_REVALIDATED_TAGS_HEADER, + "NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER", + ()=>NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER, + "NEXT_CACHE_ROOT_PARAM_TAG_ID", + ()=>NEXT_CACHE_ROOT_PARAM_TAG_ID, + "NEXT_CACHE_SOFT_TAG_MAX_LENGTH", + ()=>NEXT_CACHE_SOFT_TAG_MAX_LENGTH, + "NEXT_CACHE_TAGS_HEADER", + ()=>NEXT_CACHE_TAGS_HEADER, + "NEXT_CACHE_TAG_MAX_ITEMS", + ()=>NEXT_CACHE_TAG_MAX_ITEMS, + "NEXT_CACHE_TAG_MAX_LENGTH", + ()=>NEXT_CACHE_TAG_MAX_LENGTH, + "NEXT_DATA_SUFFIX", + ()=>NEXT_DATA_SUFFIX, + "NEXT_INTERCEPTION_MARKER_PREFIX", + ()=>NEXT_INTERCEPTION_MARKER_PREFIX, + "NEXT_META_SUFFIX", + ()=>NEXT_META_SUFFIX, + "NEXT_NAV_DEPLOYMENT_ID_HEADER", + ()=>NEXT_NAV_DEPLOYMENT_ID_HEADER, + "NEXT_QUERY_PARAM_PREFIX", + ()=>NEXT_QUERY_PARAM_PREFIX, + "NEXT_RESUME_HEADER", + ()=>NEXT_RESUME_HEADER, + "NEXT_RESUME_STATE_LENGTH_HEADER", + ()=>NEXT_RESUME_STATE_LENGTH_HEADER, + "NON_STANDARD_NODE_ENV", + ()=>NON_STANDARD_NODE_ENV, + "PAGES_DIR_ALIAS", + ()=>PAGES_DIR_ALIAS, + "PRERENDER_REVALIDATE_HEADER", + ()=>PRERENDER_REVALIDATE_HEADER, + "PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER", + ()=>PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER, + "PROXY_FILENAME", + ()=>PROXY_FILENAME, + "PROXY_LOCATION_REGEXP", + ()=>PROXY_LOCATION_REGEXP, + "PUBLIC_DIR_MIDDLEWARE_CONFLICT", + ()=>PUBLIC_DIR_MIDDLEWARE_CONFLICT, + "ROOT_DIR_ALIAS", + ()=>ROOT_DIR_ALIAS, + "RSC_ACTION_CLIENT_WRAPPER_ALIAS", + ()=>RSC_ACTION_CLIENT_WRAPPER_ALIAS, + "RSC_ACTION_ENCRYPTION_ALIAS", + ()=>RSC_ACTION_ENCRYPTION_ALIAS, + "RSC_ACTION_PROXY_ALIAS", + ()=>RSC_ACTION_PROXY_ALIAS, + "RSC_ACTION_VALIDATE_ALIAS", + ()=>RSC_ACTION_VALIDATE_ALIAS, + "RSC_CACHE_WRAPPER_ALIAS", + ()=>RSC_CACHE_WRAPPER_ALIAS, + "RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS", + ()=>RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS, + "RSC_MOD_REF_PROXY_ALIAS", + ()=>RSC_MOD_REF_PROXY_ALIAS, + "RSC_SEGMENTS_DIR_SUFFIX", + ()=>RSC_SEGMENTS_DIR_SUFFIX, + "RSC_SEGMENT_SUFFIX", + ()=>RSC_SEGMENT_SUFFIX, + "RSC_SUFFIX", + ()=>RSC_SUFFIX, + "SERVER_PROPS_EXPORT_ERROR", + ()=>SERVER_PROPS_EXPORT_ERROR, + "SERVER_PROPS_GET_INIT_PROPS_CONFLICT", + ()=>SERVER_PROPS_GET_INIT_PROPS_CONFLICT, + "SERVER_PROPS_SSG_CONFLICT", + ()=>SERVER_PROPS_SSG_CONFLICT, + "SERVER_RUNTIME", + ()=>SERVER_RUNTIME, + "SSG_FALLBACK_EXPORT_ERROR", + ()=>SSG_FALLBACK_EXPORT_ERROR, + "SSG_GET_INITIAL_PROPS_CONFLICT", + ()=>SSG_GET_INITIAL_PROPS_CONFLICT, + "STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR", + ()=>STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR, + "TEXT_PLAIN_CONTENT_TYPE_HEADER", + ()=>TEXT_PLAIN_CONTENT_TYPE_HEADER, + "UNSTABLE_REVALIDATE_RENAME_ERROR", + ()=>UNSTABLE_REVALIDATE_RENAME_ERROR, + "WEBPACK_LAYERS", + ()=>WEBPACK_LAYERS, + "WEBPACK_RESOURCE_QUERIES", + ()=>WEBPACK_RESOURCE_QUERIES, + "WEB_SOCKET_MAX_RECONNECTIONS", + ()=>WEB_SOCKET_MAX_RECONNECTIONS +]); +const TEXT_PLAIN_CONTENT_TYPE_HEADER = 'text/plain'; +const HTML_CONTENT_TYPE_HEADER = 'text/html; charset=utf-8'; +const JSON_CONTENT_TYPE_HEADER = 'application/json; charset=utf-8'; +const NEXT_QUERY_PARAM_PREFIX = 'nxtP'; +const NEXT_INTERCEPTION_MARKER_PREFIX = 'nxtI'; +const MATCHED_PATH_HEADER = 'x-matched-path'; +const PRERENDER_REVALIDATE_HEADER = 'x-prerender-revalidate'; +const PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = 'x-prerender-revalidate-if-generated'; +const RSC_SEGMENTS_DIR_SUFFIX = '.segments'; +const RSC_SEGMENT_SUFFIX = '.segment.rsc'; +const RSC_SUFFIX = '.rsc'; +const ACTION_SUFFIX = '.action'; +const NEXT_DATA_SUFFIX = '.json'; +const NEXT_META_SUFFIX = '.meta'; +const NEXT_BODY_SUFFIX = '.body'; +const NEXT_NAV_DEPLOYMENT_ID_HEADER = 'x-nextjs-deployment-id'; +const NEXT_CACHE_TAGS_HEADER = 'x-next-cache-tags'; +const NEXT_CACHE_REVALIDATED_TAGS_HEADER = 'x-next-revalidated-tags'; +const NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = 'x-next-revalidate-tag-token'; +const NEXT_RESUME_HEADER = 'next-resume'; +const NEXT_RESUME_STATE_LENGTH_HEADER = 'x-next-resume-state-length'; +const NEXT_CACHE_TAG_MAX_ITEMS = 128; +const NEXT_CACHE_TAG_MAX_LENGTH = 256; +const NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024; +const NEXT_CACHE_IMPLICIT_TAG_ID = '_N_T_'; +const NEXT_CACHE_ROOT_PARAM_TAG_ID = '_N_RP_'; +const CACHE_ONE_YEAR_SECONDS = 31536000; +const INFINITE_CACHE = 0xfffffffe; +const MIDDLEWARE_FILENAME = 'middleware'; +const MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`; +const PROXY_FILENAME = 'proxy'; +const PROXY_LOCATION_REGEXP = `(?:src/)?${PROXY_FILENAME}`; +const INSTRUMENTATION_HOOK_FILENAME = 'instrumentation'; +const PAGES_DIR_ALIAS = 'private-next-pages'; +const DOT_NEXT_ALIAS = 'private-dot-next'; +const ROOT_DIR_ALIAS = 'private-next-root-dir'; +const APP_DIR_ALIAS = 'private-next-app-dir'; +const RSC_MOD_REF_PROXY_ALIAS = 'private-next-rsc-mod-ref-proxy'; +const RSC_ACTION_VALIDATE_ALIAS = 'private-next-rsc-action-validate'; +const RSC_ACTION_PROXY_ALIAS = 'private-next-rsc-server-reference'; +const RSC_CACHE_WRAPPER_ALIAS = 'private-next-rsc-cache-wrapper'; +const RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS = 'private-next-rsc-track-dynamic-import'; +const RSC_ACTION_ENCRYPTION_ALIAS = 'private-next-rsc-action-encryption'; +const RSC_ACTION_CLIENT_WRAPPER_ALIAS = 'private-next-rsc-action-client-wrapper'; +const PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`; +const SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`; +const SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`; +const SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`; +const STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`; +const SERVER_PROPS_EXPORT_ERROR = `pages with \`getServerSideProps\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`; +const GSP_NO_RETURNED_VALUE = 'Your `getStaticProps` function did not return an object. Did you forget to add a `return`?'; +const GSSP_NO_RETURNED_VALUE = 'Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?'; +const UNSTABLE_REVALIDATE_RENAME_ERROR = 'The `unstable_revalidate` property is available for general use.\n' + 'Please use `revalidate` instead.'; +const GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`; +const NON_STANDARD_NODE_ENV = `You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`; +const SSG_FALLBACK_EXPORT_ERROR = `Pages with \`fallback\` enabled in \`getStaticPaths\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`; +const ESLINT_DEFAULT_DIRS = [ + 'app', + 'pages', + 'components', + 'lib', + 'src' +]; +const SERVER_RUNTIME = { + edge: 'edge', + experimentalEdge: 'experimental-edge', + nodejs: 'nodejs' +}; +const WEB_SOCKET_MAX_RECONNECTIONS = 12; +/** + * The names of the webpack layers. These layers are the primitives for the + * webpack chunks. + */ const WEBPACK_LAYERS_NAMES = { + /** + * The layer for the shared code between the client and server bundles. + */ shared: 'shared', + /** + * The layer for server-only runtime and picking up `react-server` export conditions. + * Including app router RSC pages and app router custom routes and metadata routes. + */ reactServerComponents: 'rsc', + /** + * Server Side Rendering layer for app (ssr). + */ serverSideRendering: 'ssr', + /** + * The browser client bundle layer for actions. + */ actionBrowser: 'action-browser', + /** + * The Node.js bundle layer for the API routes. + */ apiNode: 'api-node', + /** + * The Edge Lite bundle layer for the API routes. + */ apiEdge: 'api-edge', + /** + * The layer for the middleware code. + */ middleware: 'middleware', + /** + * The layer for the instrumentation hooks. + */ instrument: 'instrument', + /** + * The layer for assets on the edge. + */ edgeAsset: 'edge-asset', + /** + * The browser client bundle layer for App directory. + */ appPagesBrowser: 'app-pages-browser', + /** + * The browser client bundle layer for Pages directory. + */ pagesDirBrowser: 'pages-dir-browser', + /** + * The Edge Lite bundle layer for Pages directory. + */ pagesDirEdge: 'pages-dir-edge', + /** + * The Node.js bundle layer for Pages directory. + */ pagesDirNode: 'pages-dir-node' +}; +const WEBPACK_LAYERS = { + ...WEBPACK_LAYERS_NAMES, + GROUP: { + builtinReact: [ + WEBPACK_LAYERS_NAMES.reactServerComponents, + WEBPACK_LAYERS_NAMES.actionBrowser + ], + serverOnly: [ + WEBPACK_LAYERS_NAMES.reactServerComponents, + WEBPACK_LAYERS_NAMES.actionBrowser, + WEBPACK_LAYERS_NAMES.instrument, + WEBPACK_LAYERS_NAMES.middleware + ], + neutralTarget: [ + // pages api + WEBPACK_LAYERS_NAMES.apiNode, + WEBPACK_LAYERS_NAMES.apiEdge + ], + clientOnly: [ + WEBPACK_LAYERS_NAMES.serverSideRendering, + WEBPACK_LAYERS_NAMES.appPagesBrowser + ], + bundled: [ + WEBPACK_LAYERS_NAMES.reactServerComponents, + WEBPACK_LAYERS_NAMES.actionBrowser, + WEBPACK_LAYERS_NAMES.serverSideRendering, + WEBPACK_LAYERS_NAMES.appPagesBrowser, + WEBPACK_LAYERS_NAMES.shared, + WEBPACK_LAYERS_NAMES.instrument, + WEBPACK_LAYERS_NAMES.middleware + ], + appPages: [ + // app router pages and layouts + WEBPACK_LAYERS_NAMES.reactServerComponents, + WEBPACK_LAYERS_NAMES.serverSideRendering, + WEBPACK_LAYERS_NAMES.appPagesBrowser, + WEBPACK_LAYERS_NAMES.actionBrowser + ] + } +}; +const WEBPACK_RESOURCE_QUERIES = { + edgeSSREntry: '__next_edge_ssr_entry__', + metadata: '__next_metadata__', + metadataRoute: '__next_metadata_route__', + metadataImageMeta: '__next_metadata_image_meta__' +}; +; +}), +"[project]/node_modules/next/dist/esm/lib/multi-file-writer.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "MultiFileWriter", + ()=>MultiFileWriter +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/isomorphic/path.js [middleware] (ecmascript)"); +; +class MultiFileWriter { + constructor(/** + * The file system methods to use. + */ fs){ + this.fs = fs; + this.tasks = []; + } + /** + * Finds or creates a task for a directory. + * + * @param directory - The directory to find or create a task for. + * @returns The task for the directory. + */ findOrCreateTask(directory) { + // See if this directory already has a task to create it. + for (const task of this.tasks){ + if (task[0] === directory) { + return task; + } + } + const promise = this.fs.mkdir(directory); + // Attach a catch handler so that it doesn't throw an unhandled promise + // rejection warning. + promise.catch(()=>{}); + // Otherwise, create a new task for this directory. + const task = [ + directory, + promise, + [] + ]; + this.tasks.push(task); + return task; + } + /** + * Appends a file to the writer to be written after its containing directory + * is created. The file writer should be awaited after all the files have been + * appended. Any async operation that occurs between appending and awaiting + * may cause an unhandled promise rejection warning and potentially crash the + * process. + * + * @param filePath - The path to the file to write. + * @param data - The data to write to the file. + */ append(filePath, data) { + // Find or create a task for the directory that contains the file. + const task = this.findOrCreateTask(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].dirname(filePath)); + const promise = task[1].then(()=>this.fs.writeFile(filePath, data)); + // Attach a catch handler so that it doesn't throw an unhandled promise + // rejection warning. + promise.catch(()=>{}); + // Add the file write to the task AFTER the directory promise has resolved. + task[2].push(promise); + } + /** + * Returns a promise that resolves when all the files have been written. + */ wait() { + return Promise.all(this.tasks.flatMap((task)=>task[2])); + } +} +}), +"[project]/node_modules/next/dist/esm/lib/picocolors.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "bgBlack", + ()=>bgBlack, + "bgBlue", + ()=>bgBlue, + "bgCyan", + ()=>bgCyan, + "bgGreen", + ()=>bgGreen, + "bgMagenta", + ()=>bgMagenta, + "bgRed", + ()=>bgRed, + "bgWhite", + ()=>bgWhite, + "bgYellow", + ()=>bgYellow, + "black", + ()=>black, + "blue", + ()=>blue, + "bold", + ()=>bold, + "cyan", + ()=>cyan, + "dim", + ()=>dim, + "gray", + ()=>gray, + "green", + ()=>green, + "hidden", + ()=>hidden, + "inverse", + ()=>inverse, + "isColorSupported", + ()=>isColorSupported, + "italic", + ()=>italic, + "magenta", + ()=>magenta, + "purple", + ()=>purple, + "red", + ()=>red, + "reset", + ()=>reset, + "stdoutIsTerminal", + ()=>stdoutIsTerminal, + "strikethrough", + ()=>strikethrough, + "underline", + ()=>underline, + "white", + ()=>white, + "yellow", + ()=>yellow +]); +// ISC License +// Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +// +// https://github.com/alexeyraspopov/picocolors/blob/b6261487e7b81aaab2440e397a356732cad9e342/picocolors.js#L1 +var _globalThis; +const { env, stdout } = ((_globalThis = globalThis) == null ? void 0 : _globalThis.process) ?? {}; +const enabled = env && !env.NO_COLOR && (env.FORCE_COLOR || (stdout == null ? void 0 : stdout.isTTY) && !env.CI && env.TERM !== 'dumb'); +const isColorSupported = Boolean(enabled); +const stdoutIsTerminal = Boolean(stdout == null ? void 0 : stdout.isTTY) || env.NEXT_PRIVATE_PROMPT_OUTPUT === '1'; +const replaceClose = (str, close, replace, index)=>{ + const start = str.substring(0, index) + replace; + const end = str.substring(index + close.length); + const nextIndex = end.indexOf(close); + return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end; +}; +const formatter = (open, close, replace = open)=>{ + if (!enabled) return String; + return (input)=>{ + const string = '' + input; + const index = string.indexOf(close, open.length); + return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close; + }; +}; +const reset = enabled ? (s)=>`\x1b[0m${s}\x1b[0m` : String; +const bold = formatter('\x1b[1m', '\x1b[22m', '\x1b[22m\x1b[1m'); +const dim = formatter('\x1b[2m', '\x1b[22m', '\x1b[22m\x1b[2m'); +const italic = formatter('\x1b[3m', '\x1b[23m'); +const underline = formatter('\x1b[4m', '\x1b[24m'); +const inverse = formatter('\x1b[7m', '\x1b[27m'); +const hidden = formatter('\x1b[8m', '\x1b[28m'); +const strikethrough = formatter('\x1b[9m', '\x1b[29m'); +const black = formatter('\x1b[30m', '\x1b[39m'); +const red = formatter('\x1b[31m', '\x1b[39m'); +const green = formatter('\x1b[32m', '\x1b[39m'); +const yellow = formatter('\x1b[33m', '\x1b[39m'); +const blue = formatter('\x1b[34m', '\x1b[39m'); +const magenta = formatter('\x1b[35m', '\x1b[39m'); +const purple = formatter('\x1b[38;2;173;127;168m', '\x1b[39m'); +const cyan = formatter('\x1b[36m', '\x1b[39m'); +const white = formatter('\x1b[37m', '\x1b[39m'); +const gray = formatter('\x1b[90m', '\x1b[39m'); +const bgBlack = formatter('\x1b[40m', '\x1b[49m'); +const bgRed = formatter('\x1b[41m', '\x1b[49m'); +const bgGreen = formatter('\x1b[42m', '\x1b[49m'); +const bgYellow = formatter('\x1b[43m', '\x1b[49m'); +const bgBlue = formatter('\x1b[44m', '\x1b[49m'); +const bgMagenta = formatter('\x1b[45m', '\x1b[49m'); +const bgCyan = formatter('\x1b[46m', '\x1b[49m'); +const bgWhite = formatter('\x1b[47m', '\x1b[49m'); +}), +"[project]/node_modules/next/dist/esm/lib/route-pattern-normalizer.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Route pattern normalization utilities for path-to-regexp compatibility. + * + * path-to-regexp 6.3.0+ introduced stricter validation that rejects certain + * patterns commonly used in Next.js interception routes. This module provides + * normalization functions to make Next.js route patterns compatible with the + * updated library while preserving all functionality. + */ /** + * Internal separator used to normalize adjacent parameter patterns. + * This unique marker is inserted between adjacent parameters and stripped out + * during parameter extraction to avoid conflicts with real URL content. + */ __turbopack_context__.s([ + "PARAM_SEPARATOR", + ()=>PARAM_SEPARATOR, + "hasAdjacentParameterIssues", + ()=>hasAdjacentParameterIssues, + "normalizeAdjacentParameters", + ()=>normalizeAdjacentParameters, + "normalizeTokensForRegexp", + ()=>normalizeTokensForRegexp, + "stripNormalizedSeparators", + ()=>stripNormalizedSeparators, + "stripParameterSeparators", + ()=>stripParameterSeparators +]); +const PARAM_SEPARATOR = '_NEXTSEP_'; +function hasAdjacentParameterIssues(route) { + if (typeof route !== 'string') return false; + // Check for interception route markers followed immediately by parameters + // Pattern: /(.):param, /(..):param, /(...):param, /(.)(.):param etc. + // These patterns cause "Must have text between two parameters" errors + if (/\/\(\.{1,3}\):[^/\s]+/.test(route)) { + return true; + } + // Check for basic adjacent parameters without separators + // Pattern: :param1:param2 (but not :param* or other URL patterns) + if (/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(route)) { + return true; + } + return false; +} +function normalizeAdjacentParameters(route) { + let normalized = route; + // Handle interception route patterns: (.):param -> (.)_NEXTSEP_:param + normalized = normalized.replace(/(\([^)]*\)):([^/\s]+)/g, `$1${PARAM_SEPARATOR}:$2`); + // Handle other adjacent parameter patterns: :param1:param2 -> :param1_NEXTSEP_:param2 + normalized = normalized.replace(/:([^:/\s)]+)(?=:)/g, `:$1${PARAM_SEPARATOR}`); + return normalized; +} +function normalizeTokensForRegexp(tokens) { + return tokens.map((token)=>{ + // Token union type: Token = string | TokenObject + // Literal path segments are strings, parameters/wildcards are objects + if (typeof token === 'object' && token !== null && // Not all token objects have 'modifier' property (e.g., simple text tokens) + 'modifier' in token && // Only repeating modifiers (* or +) cause the validation error + // Other modifiers like '?' (optional) are fine + (token.modifier === '*' || token.modifier === '+') && // Token objects can have different shapes depending on route pattern + 'prefix' in token && 'suffix' in token && // Both prefix and suffix must be empty strings + // This is what causes the validation error in path-to-regexp + token.prefix === '' && token.suffix === '') { + // Add minimal prefix to satisfy path-to-regexp validation + // We use '/' as it's the most common path delimiter and won't break route matching + // The prefix gets used in regex generation but doesn't affect parameter extraction + return { + ...token, + prefix: '/' + }; + } + return token; + }); +} +function stripNormalizedSeparators(pathname) { + // Remove separator after interception route markers + // Pattern: (.)_NEXTSEP_ -> (.), (..)_NEXTSEP_ -> (..), etc. + // The separator appears after the closing paren of interception markers + return pathname.replace(new RegExp(`\\)${PARAM_SEPARATOR}`, 'g'), ')'); +} +function stripParameterSeparators(params) { + const cleaned = {}; + for (const [key, value] of Object.entries(params)){ + if (typeof value === 'string') { + // Remove the separator if it appears at the start of parameter values + cleaned[key] = value.replace(new RegExp(`^${PARAM_SEPARATOR}`), ''); + } else if (Array.isArray(value)) { + // Handle array parameters (from repeated route segments) + cleaned[key] = value.map((item)=>typeof item === 'string' ? item.replace(new RegExp(`^${PARAM_SEPARATOR}`), '') : item); + } else { + cleaned[key] = value; + } + } + return cleaned; +} +}), +"[project]/node_modules/next/dist/esm/lib/scheduler.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Schedules a function to be called on the next tick after the other promises + * have been resolved. + * + * @param cb the function to schedule + */ __turbopack_context__.s([ + "atLeastOneTask", + ()=>atLeastOneTask, + "scheduleImmediate", + ()=>scheduleImmediate, + "scheduleOnNextTick", + ()=>scheduleOnNextTick, + "waitAtLeastOneReactRenderTask", + ()=>waitAtLeastOneReactRenderTask +]); +const scheduleOnNextTick = (cb)=>{ + // We use Promise.resolve().then() here so that the operation is scheduled at + // the end of the promise job queue, we then add it to the next process tick + // to ensure it's evaluated afterwards. + // + // This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255 + // + Promise.resolve().then(()=>{ + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + process.nextTick(cb); + } + }); +}; +const scheduleImmediate = (cb)=>{ + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + setImmediate(cb); + } +}; +function atLeastOneTask() { + return new Promise((resolve)=>scheduleImmediate(resolve)); +} +function waitAtLeastOneReactRenderTask() { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + return new Promise((r)=>setImmediate(r)); + } +} +}), +"[project]/node_modules/next/dist/esm/lib/url.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "isFullStringUrl", + ()=>isFullStringUrl, + "parseReqUrl", + ()=>parseReqUrl, + "parseUrl", + ()=>parseUrl, + "stripNextRscUnionQuery", + ()=>stripNextRscUnionQuery +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/app-router-headers.js [middleware] (ecmascript)"); +; +const DUMMY_ORIGIN = 'http://n'; +function isFullStringUrl(url) { + return /https?:\/\//.test(url); +} +function parseUrl(url) { + let parsed = undefined; + try { + parsed = new URL(url, DUMMY_ORIGIN); + } catch {} + return parsed; +} +function parseReqUrl(url) { + const parsedUrl = parseUrl(url); + if (!parsedUrl) { + return; + } + const query = {}; + for (const key of parsedUrl.searchParams.keys()){ + const values = parsedUrl.searchParams.getAll(key); + query[key] = values.length > 1 ? values : values[0]; + } + const legacyUrl = { + query, + hash: parsedUrl.hash, + search: parsedUrl.search, + path: parsedUrl.pathname, + pathname: parsedUrl.pathname, + href: `${parsedUrl.pathname}${parsedUrl.search}${parsedUrl.hash}`, + host: '', + hostname: '', + auth: '', + protocol: '', + slashes: null, + port: '' + }; + return legacyUrl; +} +function stripNextRscUnionQuery(relativeUrl) { + const urlInstance = new URL(relativeUrl, DUMMY_ORIGIN); + urlInstance.searchParams.delete(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_RSC_UNION_QUERY"]); + return urlInstance.pathname + urlInstance.search; +} +}), +"[project]/node_modules/next/dist/esm/server/after/after-context.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "AfterContext", + ()=>AfterContext +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$p$2d$queue$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/p-queue/index.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$is$2d$thenable$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/is-thenable.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$revalidation$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/revalidation-utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$async$2d$local$2d$storage$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/async-local-storage.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$after$2d$task$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$after$2d$task$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/app-render/after-task-async-storage.external.js [external] (next/dist/server/app-render/after-task-async-storage.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/scheduler.js [middleware] (ecmascript)"); +; +; +; +; +; +; +; +; +class AfterContext { + constructor({ waitUntil, onClose, onTaskError }){ + this.isRequestClosed = false; + this.initialOnCloseError = null; + this.workUnitStores = new Set(); + this.waitUntil = waitUntil; + this.onClose = onClose; + this.onTaskError = onTaskError; + this.callbackQueue = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$p$2d$queue$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"](); + this.callbackQueue.pause(); + try { + onClose(()=>{ + this.isRequestClosed = true; + // TODO(after): it's not ideal that we'll only switch the `phase` of a WorkUnitStore + // if `after()` was called inside it. We should probably track this whenever a store is created + for (const workUnitStore of this.workUnitStores){ + workUnitStore.phase = 'after'; + } + }); + } catch (err) { + // If onClose is broken, report errors lazily, when after() is called. + this.initialOnCloseError = { + error: err + }; + } + } + after(task, workUnitStore) { + if (this.initialOnCloseError) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"](`An onClose call failed, which means after() can't work correctly.`, { + cause: this.initialOnCloseError.error + }); + } + // Save the workUnitStore so we can switch its phase later. + this.workUnitStores.add(workUnitStore); + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$is$2d$thenable$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isThenable"])(task)) { + this.addThenable(task); + } else if (typeof task === 'function') { + // TODO(after): implement tracing + this.addCallback(task, workUnitStore); + } else { + throw new Error('`after()`: Argument must be a promise or a function'); + } + } + addThenable(thenable) { + if (!this.waitUntil) { + errorWaitUntilNotAvailable(); + } + this.waitUntil(new Promise((resolve)=>{ + thenable.then(()=>{ + resolve(); + }, (error)=>{ + resolve(); + this.reportTaskError('promise', error); + }); + })); + } + addCallback(callback, workUnitStore) { + // if something is wrong, throw synchronously, bubbling up to the `after` callsite. + if (!this.waitUntil) { + errorWaitUntilNotAvailable(); + } + const afterTaskStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$after$2d$task$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$after$2d$task$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["afterTaskAsyncStorage"].getStore(); + // This is used for checking if request APIs can be called inside `after`. + // Note that we need to check the phase in which the *topmost* `after` was called (which should be "action"), + // not the current phase (which might be "after" if we're in a nested after). + // Otherwise, we might allow `after(() => headers())`, but not `after(() => after(() => headers()))`. + const rootTaskSpawnPhase = afterTaskStore ? afterTaskStore.rootTaskSpawnPhase // nested after + : workUnitStore.phase // topmost after + ; + // this should only happen once. + if (!this.runCallbacksOnClosePromise) { + this.runCallbacksOnClosePromise = this.runCallbacksOnClose(); + this.waitUntil(this.runCallbacksOnClosePromise); + } + // Bind the callback to the current execution context (i.e. preserve all currently available ALS-es). + // We do this because we want all of these to be equivalent in every regard except timing: + // after(() => x()) + // after(x()) + // await x() + const wrappedCallback = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$async$2d$local$2d$storage$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["bindSnapshot"])(// See: https://github.com/facebook/react/pull/34911 + async ()=>{ + try { + await __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$after$2d$task$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$after$2d$task$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["afterTaskAsyncStorage"].run({ + rootTaskSpawnPhase + }, ()=>callback()); + } catch (error) { + this.reportTaskError('function', error); + } + }); + this.callbackQueue.add(wrappedCallback); + } + async runCallbacksOnClose() { + if (!this.isRequestClosed) { + await new Promise((resolve)=>this.onClose(resolve)); + } else { + // The request is already closed. + // Avoid running the callbacks too quickly to prevent userspace from + // e.g. relying on `after` being microtasky somewhere. + await new Promise((resolve)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["scheduleImmediate"])(resolve)); + } + return this.runCallbacks(); + } + async runCallbacks() { + if (this.callbackQueue.size === 0) return; + const workStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workAsyncStorage"].getStore(); + if (!workStore) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('Missing workStore in AfterContext.runCallbacks'); + } + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$revalidation$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["withExecuteRevalidates"])(workStore, ()=>{ + this.callbackQueue.start(); + return this.callbackQueue.onIdle(); + }); + } + reportTaskError(taskKind, error) { + // TODO(after): this is fine for now, but will need better intergration with our error reporting. + // TODO(after): should we log this if we have a onTaskError callback? + console.error(taskKind === 'promise' ? `A promise passed to \`after()\` rejected:` : `An error occurred in a function passed to \`after()\`:`, error); + if (this.onTaskError) { + // this is very defensive, but we really don't want anything to blow up in an error handler + try { + this.onTaskError == null ? void 0 : this.onTaskError.call(this, error); + } catch (handlerError) { + console.error(new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('`onTaskError` threw while handling an error thrown from an `after` task', { + cause: handlerError + })); + } + } + } +} +function errorWaitUntilNotAvailable() { + throw new Error('`after()` will not work correctly, because `waitUntil` is not available in the current environment.'); +} +}), +"[project]/node_modules/next/dist/esm/server/after/builtin-request-context.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "createLocalRequestContext", + ()=>createLocalRequestContext, + "getBuiltinRequestContext", + ()=>getBuiltinRequestContext +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$async$2d$local$2d$storage$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/async-local-storage.js [middleware] (ecmascript)"); +; +function getBuiltinRequestContext() { + const _globalThis = globalThis; + const ctx = _globalThis[NEXT_REQUEST_CONTEXT_SYMBOL]; + return ctx == null ? void 0 : ctx.get(); +} +const NEXT_REQUEST_CONTEXT_SYMBOL = Symbol.for('@next/request-context'); +function createLocalRequestContext() { + const storage = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$async$2d$local$2d$storage$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createAsyncLocalStorage"])(); + return { + get: ()=>storage.getStore(), + run: (value, callback)=>storage.run(value, callback) + }; +} +}), +"[project]/node_modules/next/dist/esm/server/api-utils/get-cookie-parser.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Parse cookies from the `headers` of request + * @param req request object + */ __turbopack_context__.s([ + "getCookieParser", + ()=>getCookieParser +]); +function getCookieParser(headers) { + return function parseCookie() { + const { cookie } = headers; + if (!cookie) { + return {}; + } + const { parse: parseCookieFn } = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/cookie/index.js [middleware] (ecmascript)"); + return parseCookieFn(Array.isArray(cookie) ? cookie.join('; ') : cookie); + }; +} +}), +"[project]/node_modules/next/dist/esm/server/api-utils/index.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ApiError", + ()=>ApiError, + "COOKIE_NAME_PRERENDER_BYPASS", + ()=>COOKIE_NAME_PRERENDER_BYPASS, + "COOKIE_NAME_PRERENDER_DATA", + ()=>COOKIE_NAME_PRERENDER_DATA, + "RESPONSE_LIMIT_DEFAULT", + ()=>RESPONSE_LIMIT_DEFAULT, + "SYMBOL_CLEARED_COOKIES", + ()=>SYMBOL_CLEARED_COOKIES, + "SYMBOL_PREVIEW_DATA", + ()=>SYMBOL_PREVIEW_DATA, + "checkIsOnDemandRevalidate", + ()=>checkIsOnDemandRevalidate, + "clearPreviewData", + ()=>clearPreviewData, + "redirect", + ()=>redirect, + "sendError", + ()=>sendError, + "sendStatusCode", + ()=>sendStatusCode, + "setLazyProp", + ()=>setLazyProp, + "wrapApiHandler", + ()=>wrapApiHandler +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/headers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/tracer.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/constants.js [middleware] (ecmascript)"); +; +; +; +; +function wrapApiHandler(page, handler) { + return (...args)=>{ + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getTracer"])().setRootSpanAttribute('next.route', page); + // Call API route method + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getTracer"])().trace(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NodeSpan"].runHandler, { + spanName: `executing api route (pages) ${page}` + }, ()=>handler(...args)); + }; +} +function sendStatusCode(res, statusCode) { + res.statusCode = statusCode; + return res; +} +function redirect(res, statusOrUrl, url) { + if (typeof statusOrUrl === 'string') { + url = statusOrUrl; + statusOrUrl = 307; + } + if (typeof statusOrUrl !== 'number' || typeof url !== 'string') { + throw new Error(`Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').`); + } + res.writeHead(statusOrUrl, { + Location: url + }); + res.write(url); + res.end(); + return res; +} +function checkIsOnDemandRevalidate(rawHeaders, previewProps) { + // Headers is a plain object for Node.js, Headers object in Edge runtime + if (typeof rawHeaders.get === 'function') { + const headers = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["HeadersAdapter"].from(rawHeaders); + const previewModeId = headers.get(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PRERENDER_REVALIDATE_HEADER"]); + const isOnDemandRevalidate = previewModeId === previewProps.previewModeId; + const revalidateOnlyGenerated = headers.has(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER"]); + return { + isOnDemandRevalidate, + revalidateOnlyGenerated + }; + } + const headers = rawHeaders; + const previewModeId = headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PRERENDER_REVALIDATE_HEADER"]]; + const isOnDemandRevalidate = previewModeId === previewProps.previewModeId; + const revalidateOnlyGenerated = headers.hasOwnProperty(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER"]); + return { + isOnDemandRevalidate, + revalidateOnlyGenerated + }; +} +const COOKIE_NAME_PRERENDER_BYPASS = `__prerender_bypass`; +const COOKIE_NAME_PRERENDER_DATA = `__next_preview_data`; +const RESPONSE_LIMIT_DEFAULT = 4 * 1024 * 1024; +const SYMBOL_PREVIEW_DATA = Symbol(COOKIE_NAME_PRERENDER_DATA); +const SYMBOL_CLEARED_COOKIES = Symbol(COOKIE_NAME_PRERENDER_BYPASS); +function clearPreviewData(res, options = {}) { + if (SYMBOL_CLEARED_COOKIES in res) { + return res; + } + const { serialize } = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/cookie/index.js [middleware] (ecmascript)"); + const previous = res.getHeader('Set-Cookie'); + res.setHeader(`Set-Cookie`, [ + ...typeof previous === 'string' ? [ + previous + ] : Array.isArray(previous) ? previous : [], + serialize(COOKIE_NAME_PRERENDER_BYPASS, '', { + // To delete a cookie, set `expires` to a date in the past: + // https://tools.ietf.org/html/rfc6265#section-4.1.1 + // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted. + expires: new Date(0), + httpOnly: true, + sameSite: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 'lax', + secure: ("TURBOPACK compile-time value", "development") !== 'development', + path: '/', + ...options.path !== undefined ? { + path: options.path + } : undefined + }), + serialize(COOKIE_NAME_PRERENDER_DATA, '', { + // To delete a cookie, set `expires` to a date in the past: + // https://tools.ietf.org/html/rfc6265#section-4.1.1 + // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted. + expires: new Date(0), + httpOnly: true, + sameSite: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 'lax', + secure: ("TURBOPACK compile-time value", "development") !== 'development', + path: '/', + ...options.path !== undefined ? { + path: options.path + } : undefined + }) + ]); + Object.defineProperty(res, SYMBOL_CLEARED_COOKIES, { + value: true, + enumerable: false + }); + return res; +} +class ApiError extends Error { + constructor(statusCode, message){ + super(message); + this.statusCode = statusCode; + } +} +function sendError(res, statusCode, message) { + res.statusCode = statusCode; + res.statusMessage = message; + res.end(message); +} +function setLazyProp({ req }, prop, getter) { + const opts = { + configurable: true, + enumerable: true + }; + const optsReset = { + ...opts, + writable: true + }; + Object.defineProperty(req, prop, { + ...opts, + get: ()=>{ + const value = getter(); + // we set the property on the object to avoid recalculating it + Object.defineProperty(req, prop, { + ...optsReset, + value + }); + return value; + }, + set: (value)=>{ + Object.defineProperty(req, prop, { + ...optsReset, + value + }); + } + }); +} +}), +"[project]/node_modules/next/dist/esm/server/app-render/async-local-storage.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "bindSnapshot", + ()=>bindSnapshot, + "createAsyncLocalStorage", + ()=>createAsyncLocalStorage, + "createSnapshot", + ()=>createSnapshot, + "getOrCreateGlobalAsyncLocalStorage", + ()=>getOrCreateGlobalAsyncLocalStorage +]); +const sharedAsyncLocalStorageNotAvailableError = new Error('Invariant: AsyncLocalStorage accessed in runtime where it is not available'); +class FakeAsyncLocalStorage { + disable() { + throw sharedAsyncLocalStorageNotAvailableError; + } + getStore() { + // This fake implementation of AsyncLocalStorage always returns `undefined`. + return undefined; + } + run() { + throw sharedAsyncLocalStorageNotAvailableError; + } + exit() { + throw sharedAsyncLocalStorageNotAvailableError; + } + enterWith() { + throw sharedAsyncLocalStorageNotAvailableError; + } + static bind(fn) { + return fn; + } +} +const maybeGlobalAsyncLocalStorage = typeof globalThis !== 'undefined' && globalThis.AsyncLocalStorage; +function createAsyncLocalStorage() { + if (maybeGlobalAsyncLocalStorage) { + return new maybeGlobalAsyncLocalStorage(); + } + return new FakeAsyncLocalStorage(); +} +function getOrCreateGlobalAsyncLocalStorage(name) { + const key = Symbol.for(`@next/${name}@${"16.4.0"}`); + const globalStore = globalThis; + return globalStore[key] ??= createAsyncLocalStorage(); +} +function bindSnapshot(fn) { + if (maybeGlobalAsyncLocalStorage) { + return maybeGlobalAsyncLocalStorage.bind(fn); + } + return FakeAsyncLocalStorage.bind(fn); +} +function createSnapshot() { + if (maybeGlobalAsyncLocalStorage) { + return maybeGlobalAsyncLocalStorage.snapshot(); + } + return function(fn, ...args) { + return fn(...args); + }; +} +}), +"[project]/node_modules/next/dist/esm/server/async-storage/draft-mode-provider.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "DraftModeProvider", + ()=>DraftModeProvider +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/api-utils/index.js [middleware] (ecmascript)"); +; +class DraftModeProvider { + constructor(previewProps, headers, cookies, mutableCookies){ + var _cookies_get; + // The logic for draftMode() is very similar to tryGetPreviewData() + // but Draft Mode does not have any data associated with it. + const isOnDemandRevalidate = previewProps && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["checkIsOnDemandRevalidate"])(headers, previewProps).isOnDemandRevalidate; + const cookieValue = (_cookies_get = cookies.get(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["COOKIE_NAME_PRERENDER_BYPASS"])) == null ? void 0 : _cookies_get.value; + this._isEnabled = Boolean(!isOnDemandRevalidate && cookieValue && previewProps && (cookieValue === previewProps.previewModeId || // In dev mode, the cookie can be actual hash value preview id but the preview props can still be `development-id`. + ("TURBOPACK compile-time value", "development") !== 'production' && previewProps.previewModeId === 'development-id')); + this._previewModeId = previewProps == null ? void 0 : previewProps.previewModeId; + this._mutableCookies = mutableCookies; + } + get isEnabled() { + return this._isEnabled; + } + enable() { + if (!this._previewModeId) { + throw new Error('Invariant: previewProps missing previewModeId this should never happen'); + } + this._mutableCookies.set({ + name: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["COOKIE_NAME_PRERENDER_BYPASS"], + value: this._previewModeId, + httpOnly: true, + sameSite: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 'lax', + secure: ("TURBOPACK compile-time value", "development") !== 'development', + path: '/' + }); + this._isEnabled = true; + } + disable() { + // To delete a cookie, set `expires` to a date in the past: + // https://tools.ietf.org/html/rfc6265#section-4.1.1 + // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted. + this._mutableCookies.set({ + name: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["COOKIE_NAME_PRERENDER_BYPASS"], + value: '', + httpOnly: true, + sameSite: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 'lax', + secure: ("TURBOPACK compile-time value", "development") !== 'development', + path: '/', + expires: new Date(0) + }); + this._isEnabled = false; + } +} +}), +"[project]/node_modules/next/dist/esm/server/async-storage/request-store.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "createRequestStore", + ()=>createRequestStore, + "createRequestStoreForAPI", + ()=>createRequestStoreForAPI, + "createRequestStoreForRender", + ()=>createRequestStoreForRender, + "synchronizeMutableCookies", + ()=>synchronizeMutableCookies +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/app-router-headers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/headers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$request$2d$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/request-cookies.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/cookies.js [middleware] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$async$2d$storage$2f$draft$2d$mode$2d$provider$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/async-storage/draft-mode-provider.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/utils.js [middleware] (ecmascript)"); +; +; +; +; +; +; +/** + * Internal request headers that userland `headers()` must not expose. They stay + * on the shared request headers for framework plumbing. + * + * Every internal header that the client can send must be listed here. The + * sealed userland view reads through to the shared request headers, so an + * omission leaks the header to userland. + * + * The names are lowercased because `HeadersAdapter.seal` matches them in + * lowercase. + */ const HIDDEN_REQUEST_HEADERS = new Set([ + ...__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["FLIGHT_HEADERS"], + // The client sends these dev-only request IDs so the server can route debug + // information back to the originating request. Like the flight headers, + // they are internal plumbing. + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_REQUEST_ID_HEADER"], + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_HTML_REQUEST_ID_HEADER"] +].map((header)=>header.toLowerCase())); +function getHeaders(headers) { + // The sealed userland view must not copy the request headers. + // `HeadersAdapter.from` returns a `Headers` instance unchanged, so the view + // reads through to `NextRequest.headers`. A copy detaches `headers()` from + // the writes that Proxy makes to `NextRequest.headers` afterwards. + // + // The view must also not delete the internal headers. Because + // `HeadersAdapter.from` does not copy, a delete removes them from the shared + // `req.headers`. The dev server reads the request-id headers from the raw + // request again, for example when it renders a redirect target after a server + // action. Their removal breaks the dev debug channel routing. + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["HeadersAdapter"].seal(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["HeadersAdapter"].from(headers), HIDDEN_REQUEST_HEADERS); +} +function getMutableCookies(headers, onUpdateCookies) { + const cookies = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RequestCookies"](__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["HeadersAdapter"].from(headers)); + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$request$2d$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["MutableRequestCookiesAdapter"].wrap(cookies, onUpdateCookies); +} +/** + * If middleware set cookies in this request (indicated by `x-middleware-set-cookie`), + * then merge those into the existing cookie object, so that when `cookies()` is accessed + * it's able to read the newly set cookies. + */ function mergeMiddlewareCookies(headers, existingCookies) { + // TODO: this only fires for `IncomingHttpHeaders`; `Headers` instances + // silently fall through (the `in` check and bracket access don't reach header + // values stored in internal slots). Confirm whether edge / Web `Headers` + // callers need this merge or already handle it elsewhere. + if ('x-middleware-set-cookie' in headers && typeof headers['x-middleware-set-cookie'] === 'string') { + const setCookieValue = headers['x-middleware-set-cookie']; + const responseHeaders = new Headers(); + for (const cookie of (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["splitCookiesString"])(setCookieValue)){ + responseHeaders.append('set-cookie', cookie); + } + const responseCookies = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ResponseCookies"](responseHeaders); + // Transfer cookies from ResponseCookies to RequestCookies + for (const cookie of responseCookies.getAll()){ + existingCookies.set(cookie); + } + } +} +function createRequestStoreForRender(req, res, url, rootParams, implicitTags, onUpdateCookies, previewProps, isHmrRefresh, serverComponentsHmrCache, resumeDataCache, stagedFallbackParams, hmrRefreshHash) { + return createRequestStore({ + // Pages start in render phase by default + phase: 'render', + headers: req.headers, + onUpdateCookies: onUpdateCookies ?? (res ? (cookies)=>{ + res.setHeader('Set-Cookie', cookies); + } : undefined), + url, + rootParams, + implicitTags, + resumeDataCache, + previewProps, + isHmrRefresh, + serverComponentsHmrCache, + hmrRefreshHash, + stagedFallbackParams + }); +} +function createRequestStoreForAPI(req, url, implicitTags, onUpdateCookies, previewProps, hmrRefreshHash) { + return createRequestStore({ + // API routes start in action phase by default + phase: 'action', + headers: req.headers, + onUpdateCookies, + url, + rootParams: {}, + implicitTags, + resumeDataCache: null, + previewProps, + isHmrRefresh: false, + serverComponentsHmrCache: undefined, + hmrRefreshHash, + stagedFallbackParams: null + }); +} +function createRequestStore(inputs) { + const { phase, headers, onUpdateCookies, url, rootParams, implicitTags, resumeDataCache, previewProps, isHmrRefresh, serverComponentsHmrCache, hmrRefreshHash, stagedFallbackParams } = inputs; + const cache = {}; + return { + type: 'request', + phase, + implicitTags, + // Rather than just using the whole `url` here, we pull the parts we want + // to ensure we don't use parts of the URL that we shouldn't. This also + // lets us avoid requiring an empty string for `search` in the type. + url: { + pathname: url.pathname, + search: url.search ?? '' + }, + rootParams, + get headers () { + if (!cache.headers) { + // Seal the headers object that'll freeze out any methods that could + // mutate the underlying data. + cache.headers = getHeaders(headers); + } + return cache.headers; + }, + get cookies () { + if (!cache.cookies) { + // if middleware is setting cookie(s), then include those in + // the initial cached cookies so they can be read in render + const requestCookies = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RequestCookies"](__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["HeadersAdapter"].from(headers)); + mergeMiddlewareCookies(headers, requestCookies); + // Seal the cookies object that'll freeze out any methods that could + // mutate the underlying data. + cache.cookies = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$request$2d$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RequestCookiesAdapter"].seal(requestCookies); + } + return cache.cookies; + }, + set cookies (value){ + cache.cookies = value; + }, + get mutableCookies () { + if (!cache.mutableCookies) { + const mutableCookies = getMutableCookies(headers, onUpdateCookies); + mergeMiddlewareCookies(headers, mutableCookies); + cache.mutableCookies = mutableCookies; + } + return cache.mutableCookies; + }, + get userspaceMutableCookies () { + if (!cache.userspaceMutableCookies) { + const userspaceMutableCookies = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$request$2d$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createCookiesWithMutableAccessCheck"])(this); + cache.userspaceMutableCookies = userspaceMutableCookies; + } + return cache.userspaceMutableCookies; + }, + get draftMode () { + if (!cache.draftMode) { + cache.draftMode = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$async$2d$storage$2f$draft$2d$mode$2d$provider$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["DraftModeProvider"](previewProps, headers, this.cookies, this.mutableCookies); + } + return cache.draftMode; + }, + resumeDataCache: resumeDataCache ?? null, + isHmrRefresh, + serverComponentsHmrCache: serverComponentsHmrCache || globalThis.__serverComponentsHmrCache, + hmrRefreshHash, + stagedFallbackParams, + usedDynamic: false + }; +} +function synchronizeMutableCookies(store) { + // TODO: does this need to update headers as well? + store.cookies = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$request$2d$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RequestCookiesAdapter"].seal((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$request$2d$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["responseCookiesToRequestCookies"])(store.mutableCookies)); +} +}), +"[project]/node_modules/next/dist/esm/server/async-storage/work-store.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "createPrerenderWorkStore", + ()=>createPrerenderWorkStore, + "createWorkStore", + ()=>createWorkStore +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$after$2f$after$2d$context$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/after/after-context.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lazy$2d$result$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/lazy-result.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$handlers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/use-cache/handlers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$async$2d$local$2d$storage$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/async-local-storage.js [middleware] (ecmascript)"); +; +; +; +; +; +function createWorkStore(context) { + return createWorkStoreImpl(context, !!("TURBOPACK compile-time value", "1")); +} +function createPrerenderWorkStore(context) { + return createWorkStoreImpl(context, !!("TURBOPACK compile-time value", "1") || !!process.env.NEXT_DEBUG_BUILD || process.env.NEXT_SSG_FETCH_METRICS === '1'); +} +function createWorkStoreImpl({ page, renderOpts, isPrefetchRequest, buildId, deploymentId, previouslyRevalidatedTags, nonce }, shouldTrackFetchMetrics) { + const store = { + page, + route: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeAppPath"])(page), + incrementalCache: // so that it can access the fs cache without mocks + renderOpts.incrementalCache || globalThis.__incrementalCache, + cacheLifeProfiles: renderOpts.cacheLifeProfiles, + useCacheTimeout: renderOpts.experimental.useCacheTimeout, + durableUseCacheEntries: renderOpts.experimental.durableUseCacheEntries, + staticPageGenerationTimeout: renderOpts.staticPageGenerationTimeout, + isBuildTimePrerendering: renderOpts.isBuildTimePrerendering, + fetchCache: renderOpts.fetchCache, + isOnDemandRevalidate: renderOpts.isOnDemandRevalidate, + requestId: undefined, + htmlRequestId: undefined, + isDraftMode: renderOpts.isDraftMode, + isPrefetchRequest, + buildId, + deploymentId, + reactLoadableManifest: (renderOpts == null ? void 0 : renderOpts.reactLoadableManifest) || {}, + assetPrefix: (renderOpts == null ? void 0 : renderOpts.assetPrefix) || '', + nonce, + afterContext: createAfterContext(renderOpts), + cacheComponentsEnabled: renderOpts.cacheComponents, + validationLevel: renderOpts.validationLevel, + previouslyRevalidatedTags, + requestStartTime: performance.timeOrigin + performance.now(), + refreshTagsByCacheKind: createRefreshTagsByCacheKind(), + runInCleanSnapshot: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$async$2d$local$2d$storage$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createSnapshot"])(), + shouldTrackFetchMetrics, + clientComponentLoadTracker: undefined, + reactServerErrorsByDigest: new Map() + }; + // TODO: remove this when we resolve accessing the store outside the execution context + renderOpts.store = store; + return store; +} +function createAfterContext(renderOpts) { + const { waitUntil, onClose, onAfterTaskError } = renderOpts; + return new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$after$2f$after$2d$context$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["AfterContext"]({ + waitUntil, + onClose, + onTaskError: onAfterTaskError + }); +} +/** + * Creates a map with lazy results that refresh tags for the respective cache + * kind when they're awaited for the first time. + */ function createRefreshTagsByCacheKind() { + const refreshTagsByCacheKind = new Map(); + const cacheHandlers = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$handlers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getCacheHandlerEntries"])(); + if (cacheHandlers) { + for (const [kind, cacheHandler] of cacheHandlers){ + if ('refreshTags' in cacheHandler) { + refreshTagsByCacheKind.set(kind, (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lazy$2d$result$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createLazyResult"])(async ()=>cacheHandler.refreshTags())); + } + } + } + return refreshTagsByCacheKind; +} +}), +"[project]/node_modules/next/dist/esm/server/base-http/helpers.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * This file provides some helpers that should be used in conjunction with + * explicit environment checks. When combined with the environment checks, it + * will ensure that the correct typings are used as well as enable code + * elimination. + */ /** + * Type guard to determine if a request is a WebNextRequest. This does not + * actually check the type of the request, but rather the runtime environment. + * It's expected that when the runtime environment is the edge runtime, that any + * base request is a WebNextRequest. + */ __turbopack_context__.s([ + "isNodeNextRequest", + ()=>isNodeNextRequest, + "isNodeNextResponse", + ()=>isNodeNextResponse, + "isWebNextRequest", + ()=>isWebNextRequest, + "isWebNextResponse", + ()=>isWebNextResponse +]); +const isWebNextRequest = (req)=>("TURBOPACK compile-time value", "nodejs") === 'edge'; +const isWebNextResponse = (res)=>("TURBOPACK compile-time value", "nodejs") === 'edge'; +const isNodeNextRequest = (req)=>("TURBOPACK compile-time value", "nodejs") !== 'edge'; +const isNodeNextResponse = (res)=>("TURBOPACK compile-time value", "nodejs") !== 'edge'; +}), +"[project]/node_modules/next/dist/esm/server/internal-utils.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "stripInternalQueries", + ()=>stripInternalQueries, + "stripInternalSearchParams", + ()=>stripInternalSearchParams +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/app-router-headers.js [middleware] (ecmascript)"); +; +const INTERNAL_QUERY_NAMES = [ + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_RSC_UNION_QUERY"] +]; +function stripInternalQueries(query) { + for (const name of INTERNAL_QUERY_NAMES){ + delete query[name]; + } +} +function stripInternalSearchParams(url) { + const isStringUrl = typeof url === 'string'; + const instance = isStringUrl ? new URL(url) : url; + instance.searchParams.delete(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_RSC_UNION_QUERY"]); + return isStringUrl ? instance.toString() : instance; +} +}), +"[project]/node_modules/next/dist/esm/server/lib/cache-handlers/default.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "createDefaultCacheHandler", + ()=>createDefaultCacheHandler +]); +/** + * This is the default "use cache" handler it defaults to an in-memory store. + * In-memory caches are fragile and should not use stale-while-revalidate + * semantics on the caches because it's not worth warming up an entry that's + * likely going to get evicted before we get to use it anyway. However, we also + * don't want to reuse a stale entry for too long so stale entries should be + * considered expired/missing in such cache handlers. + * + * The dev server (`next dev`) is the exception: to keep reloads fast it serves + * stale entries until they expire, relying on the wrapper's + * stale-while-revalidate path to warm a fresh entry in the background. See + * `get` for where this branches. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lru$2d$cache$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/lru-cache.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/lib/incremental-cache/tags-manifest.external.js [external] (next/dist/server/lib/incremental-cache/tags-manifest.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/use-cache/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/stream-utils/node-web-streams-helper.js [middleware] (ecmascript)"); +; +; +; +; +function createDefaultCacheHandler(maxSize) { + // If the max size is 0, return a cache handler that doesn't cache anything, + // this avoids an unnecessary LRUCache instance and potential memory + // allocation. + if (maxSize === 0) { + return { + get: ()=>Promise.resolve(undefined), + set: ()=>Promise.resolve(), + refreshTags: ()=>Promise.resolve(), + getExpiration: ()=>Promise.resolve(0), + updateTags: ()=>Promise.resolve() + }; + } + const memoryCache = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lru$2d$cache$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["LRUCache"](maxSize, (entry, cacheKey)=>entry.size + cacheKey.length); + const pendingSets = new Map(); + const debug = process.env.NEXT_PRIVATE_DEBUG_CACHE ? console.debug.bind(console, 'DefaultCacheHandler:') : undefined; + return { + async get (cacheKey) { + const pendingPromise = pendingSets.get(cacheKey); + if (pendingPromise) { + debug == null ? void 0 : debug('get', cacheKey, 'pending'); + await pendingPromise; + } + const privateEntry = memoryCache.get(cacheKey); + if (!privateEntry) { + debug == null ? void 0 : debug('get', cacheKey, 'not found'); + return undefined; + } + const entry = privateEntry.entry; + // A negative `expire` is an eviction sentinel: the tiered cache handler + // (dev-only) marks a front entry for deletion by overwriting it with a + // negative `expire`, since the cache-handler interface has no per-key + // delete. Treat it as missing here, independently of the minimum + // retention below (which would otherwise keep it alive). This is distinct + // from `revalidate = -1` below, which keeps serving the entry but forces + // a revalidation. + if (entry.expire < 0) { + debug == null ? void 0 : debug('get', cacheKey, 'evicted'); + return undefined; + } + // The dev server serves stale entries until they expire (see the file + // overview); production drops them once past the revalidate time. In dev, + // an entry is retained for at least `MIN_PRERENDERABLE_EXPIRE` so that + // entries with a short `expire` (for example a `cacheLife({ expire: 0 })` + // client-only cache) still linger long enough that a reload hits the + // cache. That minimum is the same threshold below which the "use cache" + // wrapper treats an entry as dynamic, so it only extends the retention of + // entries that are dynamic anyway. It affects retention only; the + // returned entry keeps its real `expire`, so staging decisions are + // unchanged. + const maxAgeSeconds = ("TURBOPACK compile-time truthy", 1) ? Math.max(entry.expire, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["MIN_PRERENDERABLE_EXPIRE"]) : "TURBOPACK unreachable"; + if (performance.timeOrigin + performance.now() > entry.timestamp + maxAgeSeconds * 1000) { + debug == null ? void 0 : debug('get', cacheKey, 'expired'); + return undefined; + } + let revalidate = entry.revalidate; + if ((0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["areTagsExpired"])(entry.tags, entry.timestamp)) { + debug == null ? void 0 : debug('get', cacheKey, 'had expired tag'); + return undefined; + } + if ((0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["areTagsStale"])(entry.tags, entry.timestamp)) { + debug == null ? void 0 : debug('get', cacheKey, 'had stale tag'); + revalidate = -1; + } + debug == null ? void 0 : debug('get', cacheKey, 'found', { + tags: entry.tags, + timestamp: entry.timestamp, + expire: entry.expire, + revalidate, + stale: entry.stale + }); + return { + ...entry, + revalidate, + value: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["streamFromBuffer"])(privateEntry.value) + }; + }, + async set (cacheKey, pendingEntry) { + debug == null ? void 0 : debug('set', cacheKey, 'start'); + let resolvePending = ()=>{}; + const pendingPromise = new Promise((resolve)=>{ + resolvePending = resolve; + }); + pendingSets.set(cacheKey, pendingPromise); + const entry = await pendingEntry; + try { + // In production an `expire: 0` entry is dynamic: the "use cache" + // wrapper regenerates it on every read instead of serving the stored + // copy, so persisting it would be a wasted write of a value that is + // never served back. Skip storing it so the next read is a plain miss. + // The dev server keeps it, because its minimum retention serves the + // previously cached value across reloads. The `finally` below still + // resolves the pending set. + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + const value = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["streamToBuffer"])(entry.value); + const { value: _, ...entryMetadata } = entry; + memoryCache.set(cacheKey, { + entry: entryMetadata, + value, + isErrored: false, + errorRetryCount: 0, + size: value.byteLength + }); + debug == null ? void 0 : debug('set', cacheKey, 'done'); + } catch (err) { + // TODO: store partial buffer with error after we retry 3 times + debug == null ? void 0 : debug('set', cacheKey, 'failed', err); + } finally{ + resolvePending(); + pendingSets.delete(cacheKey); + } + }, + async refreshTags () { + // Nothing to do for an in-memory cache handler. + }, + async getExpiration (tags) { + const expirations = tags.map((tag)=>{ + const entry = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["tagsManifest"].get(tag); + if (!entry) return 0; + // Return the most recent timestamp (either expired or stale) + return entry.expired || 0; + }); + const expiration = Math.max(...expirations, 0); + debug == null ? void 0 : debug('getExpiration', { + tags, + expiration + }); + return expiration; + }, + async updateTags (tags, durations) { + const now = Math.round(performance.timeOrigin + performance.now()); + debug == null ? void 0 : debug('updateTags', { + tags, + timestamp: now + }); + for (const tag of tags){ + // TODO: update file-system-cache? + const existingEntry = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["tagsManifest"].get(tag) || {}; + if (durations) { + // Use provided durations directly + const updates = { + ...existingEntry + }; + // mark as stale immediately + updates.stale = now; + if (durations.expire !== undefined) { + updates.expired = now + durations.expire * 1000 // Convert seconds to ms + ; + } + __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["tagsManifest"].set(tag, updates); + } else { + // Update expired field for immediate expiration (default behavior when no durations provided) + __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["tagsManifest"].set(tag, { + ...existingEntry, + expired: now + }); + } + } + } + }; +} +}), +"[project]/node_modules/next/dist/esm/server/lib/decode-query-path-parameter.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Decodes a query path parameter. + * + * @param value - The value to decode. + * @returns The decoded value. + */ __turbopack_context__.s([ + "decodeQueryPathParameter", + ()=>decodeQueryPathParameter +]); +function decodeQueryPathParameter(value) { + // When deployed to Vercel, the value may be encoded, so this attempts to + // decode it and returns the original value if it fails. + try { + return decodeURIComponent(value); + } catch { + return value; + } +} +}), +"[project]/node_modules/next/dist/esm/server/lib/encode-header-safe.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "encodeHeaderSafe", + ()=>encodeHeaderSafe +]); +/** + * Percent-encode every character other than horizontal tab and printable ASCII + * so a value can be safely serialized into an HTTP header. + * + * Node's `validateHeaderValue` and `fetch`'s ByteString conversion accept + * different character ranges. Restricting values to `\t\x20-\x7e` produces a + * conservative representation that both can serialize. Characters outside a + * transport's accepted range (Hebrew, Arabic, Chinese, emoji, …) would + * otherwise throw `ERR_INVALID_CHAR` or a `TypeError`, which crashes ISR or + * fails a cache read on every affected request. + * + * Cache tags are encoded at the public boundaries — tag construction + * (`getImplicitTags`, `validateTags`) and invalidation input + * (`revalidatePath`, `revalidateTag`, `updateTag`) — so storage, comparison, + * and the wire all see the same canonical form. + * + * The class is narrower than either transport accepts. Everything inside it + * passes through byte-for-byte, including `,`, `/`, `%`, `[`, `]`, `_`, `-` and + * `\t`, which preserves the comma-separated header format and the + * dynamic-segment markers in derived tags (`_N_T_/[slug]/page`). + * + * Properties: + * - Fast-path: input that already fits the class is returned unchanged. This + * makes the encoder idempotent on already-encoded `%xx` sequences. + * - Matches *runs* of out-of-class code units so surrogate pairs (e.g. an + * emoji) are handed to `encodeURIComponent` as a complete code point — a + * per-code-unit regex would split the pair and throw `URIError`. + */ const OUT_OF_CLASS_CHAR = /[^\t\x20-\x7e]/; +const OUT_OF_CLASS_RUN = /[^\t\x20-\x7e]+/g; +function encodeHeaderSafe(value) { + return OUT_OF_CLASS_CHAR.test(value) ? value.replace(OUT_OF_CLASS_RUN, (run)=>encodeURIComponent(run)) : value; +} +}), +"[project]/node_modules/next/dist/esm/server/lib/implicit-tags.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getImplicitTags", + ()=>getImplicitTags +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$handlers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/use-cache/handlers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$encode$2d$header$2d$safe$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/encode-header-safe.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lazy$2d$result$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/lazy-result.js [middleware] (ecmascript)"); +; +; +; +; +const getDerivedTags = (pathname)=>{ + const derivedTags = [ + `/layout` + ]; + // we automatically add the current path segments as tags + // for revalidatePath handling + if (pathname.startsWith('/')) { + let end = pathname.indexOf('/', 1); + while(true){ + if (end === -1) { + end = pathname.length; + } + let curPathname = pathname.slice(0, end); + if (curPathname) { + // all derived tags other than the page are layout tags + if (!curPathname.endsWith('/page') && !curPathname.endsWith('/route')) { + curPathname = `${curPathname}${!curPathname.endsWith('/') ? '/' : ''}layout`; + } + derivedTags.push(curPathname); + } + if (end === pathname.length) { + break; + } + end = pathname.indexOf('/', end + 1); + } + } + return derivedTags; +}; +/** + * Creates a map with lazy results that fetch the expiration value for the given + * tags and respective cache kind when they're awaited for the first time. + */ function createTagsExpirationsByCacheKind(tags) { + const expirationsByCacheKind = new Map(); + const cacheHandlers = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$handlers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getCacheHandlerEntries"])(); + if (cacheHandlers) { + for (const [kind, cacheHandler] of cacheHandlers){ + if ('getExpiration' in cacheHandler) { + expirationsByCacheKind.set(kind, (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lazy$2d$result$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createLazyResult"])(async ()=>cacheHandler.getExpiration(tags))); + } + } + } + return expirationsByCacheKind; +} +async function getImplicitTags(page, pathname, fallbackRouteParams) { + const tags = new Set(); + // Add the derived tags from the page. Encode each tag so a non-ASCII + // pathname doesn't trip header validation when written to + // `x-next-cache-tags`. Idempotent on already-ASCII input. + const derivedTags = getDerivedTags(page); + for (let tag of derivedTags){ + tag = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$encode$2d$header$2d$safe$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["encodeHeaderSafe"])(`${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_IMPLICIT_TAG_ID"]}${tag}`); + tags.add(tag); + } + // Add the tags from the pathname. If the route has unknown params, we don't + // want to add the pathname as a tag, as it will be invalid. + if (pathname && (!fallbackRouteParams || fallbackRouteParams.size === 0)) { + const tag = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$encode$2d$header$2d$safe$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["encodeHeaderSafe"])(`${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_IMPLICIT_TAG_ID"]}${pathname}`); + tags.add(tag); + } + if (tags.has(`${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_IMPLICIT_TAG_ID"]}/`)) { + tags.add(`${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_IMPLICIT_TAG_ID"]}/index`); + } + if (tags.has(`${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_IMPLICIT_TAG_ID"]}/index`)) { + tags.add(`${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_IMPLICIT_TAG_ID"]}/`); + } + const tagsArray = Array.from(tags); + return { + tags: tagsArray, + expirationsByCacheKind: createTagsExpirationsByCacheKind(tagsArray) + }; +} +}), +"[project]/node_modules/next/dist/esm/server/lib/incremental-cache/file-system-cache.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>FileSystemCache +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$route$2d$cache$2d$key$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/route-cache-key.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/response-cache/index.js [middleware] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/response-cache/types.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/isomorphic/path.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/lib/incremental-cache/tags-manifest.external.js [external] (next/dist/server/lib/incremental-cache/tags-manifest.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$multi$2d$file$2d$writer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/multi-file-writer.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$memory$2d$cache$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$memory$2d$cache$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/lib/incremental-cache/memory-cache.external.js [external] (next/dist/server/lib/incremental-cache/memory-cache.external.js, cjs)"); +; +; +; +; +; +; +; +class FileSystemCache { + static #_ = this.debug = !!process.env.NEXT_PRIVATE_DEBUG_CACHE; + static #_2 = this.seedReads = new Map(); + constructor(ctx){ + this.fs = ctx.fs; + this.flushToDisk = ctx.flushToDisk; + this.serverDistDir = ctx.serverDistDir; + this.revalidatedTags = ctx.revalidatedTags; + if (ctx.maxMemoryCacheSize) { + if (!FileSystemCache.memoryCache) { + if (FileSystemCache.debug) { + console.log('FileSystemCache: using memory store for fetch cache'); + } + FileSystemCache.memoryCache = (0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$memory$2d$cache$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$memory$2d$cache$2e$external$2e$js$2c$__cjs$29$__["getMemoryCache"])(ctx.maxMemoryCacheSize); + } else if (FileSystemCache.debug) { + console.log('FileSystemCache: memory store already initialized'); + } + } else if (FileSystemCache.debug) { + console.log('FileSystemCache: not using memory store for fetch cache'); + } + } + resetRequestCache() {} + getSeedReadState(key) { + return FileSystemCache.seedReads.get(`${this.serverDistDir}:${key}`); + } + beginSeedRead(key) { + const stateKey = `${this.serverDistDir}:${key}`; + let state = FileSystemCache.seedReads.get(stateKey); + if (!state) { + state = { + readers: 0, + version: 0 + }; + FileSystemCache.seedReads.set(stateKey, state); + } + state.readers++; + return { + stateKey, + state, + version: state.version + }; + } + finishSeedRead(stateKey, state) { + state.readers--; + if (state.readers === 0 && !state.promotion) { + FileSystemCache.seedReads.delete(stateKey); + } + } + async revalidateTag(tags, durations) { + tags = typeof tags === 'string' ? [ + tags + ] : tags; + if (FileSystemCache.debug) { + console.log('FileSystemCache: revalidateTag', tags, durations); + } + if (tags.length === 0) { + return; + } + const now = Date.now(); + for (const tag of tags){ + const existingEntry = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["tagsManifest"].get(tag) || {}; + if (durations) { + // Use provided durations directly + const updates = { + ...existingEntry + }; + // mark as stale immediately + updates.stale = now; + if (durations.expire !== undefined) { + updates.expired = now + durations.expire * 1000 // Convert seconds to ms + ; + } + __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["tagsManifest"].set(tag, updates); + } else { + // Update expired field for immediate expiration (default behavior when no durations provided) + __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["tagsManifest"].set(tag, { + ...existingEntry, + expired: now + }); + } + } + } + async get(...args) { + var _FileSystemCache_memoryCache, _this_getSeedReadState, _data_value, _data_value1, _data_value2, _data_value3; + const [key, ctx] = args; + const { kind } = ctx; + let readKey = key; + let seedRead; + let data = (_FileSystemCache_memoryCache = FileSystemCache.memoryCache) == null ? void 0 : _FileSystemCache_memoryCache.get(key); + const activePromotion = (_this_getSeedReadState = this.getSeedReadState(key)) == null ? void 0 : _this_getSeedReadState.promotion; + if (!data && activePromotion) { + var _FileSystemCache_memoryCache1; + await activePromotion; + data = (_FileSystemCache_memoryCache1 = FileSystemCache.memoryCache) == null ? void 0 : _FileSystemCache_memoryCache1.get(key); + } + if (FileSystemCache.debug) { + if (kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH) { + console.log('FileSystemCache: get', key, ctx.tags, kind, !!data); + } else { + console.log('FileSystemCache: get', key, kind, !!data); + } + } + const isResponse = kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].PAGES || kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE || kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_ROUTE; + if (!data && isResponse && key.startsWith(`/${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$route$2d$cache$2d$key$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ROUTE_CACHE_DIRECTORY"]}/`) && ("TURBOPACK compile-time value", "nodejs") !== 'edge') { + const primaryPath = this.getFilePath(kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_ROUTE ? `${key}.body` : `${key}.html`, kind); + if (!this.fs.existsSync(primaryPath)) { + const marker = key.indexOf('/$/'); + if (marker !== -1) { + const legacyKey = key.slice(marker + 2); + const legacyMetaPath = this.getFilePath(`${legacyKey}${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_META_SUFFIX"]}`, kind); + try { + var _meta_routeCache; + const meta = JSON.parse(this.fs.readFileSync(legacyMetaPath, 'utf8')); + const namespaceEnd = key.indexOf('/$/'); + const ownerKey = meta.routeCache ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$route$2d$cache$2d$key$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getRouteCacheKey"])('/', meta.routeCache.owner) : undefined; + if (((_meta_routeCache = meta.routeCache) == null ? void 0 : _meta_routeCache.key) === key && (meta.routeCache.isFallback === Boolean(ctx.isFallback) || // PPR also reads fallback shells through ordinary response and + // navigation resume-data lookups, which set isFallback: false. + kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE && ctx.isRoutePPREnabled && meta.postponed != null) && (ownerKey == null ? void 0 : ownerKey.slice(0, ownerKey.indexOf('/$/'))) === key.slice(0, namespaceEnd)) { + readKey = legacyKey; + seedRead = this.beginSeedRead(key); + } + } catch {} + } + } + } + // Check the scoped disk entry first, or a verified immutable build seed + // only when its scoped primary payload is genuinely absent. + if (!data && ("TURBOPACK compile-time value", "nodejs") !== 'edge') { + try { + if (kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_ROUTE) { + const filePath = this.getFilePath(`${readKey}.body`, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_ROUTE); + const fileData = await this.fs.readFile(filePath); + const { mtime } = await this.fs.stat(filePath); + const meta = JSON.parse(await this.fs.readFile(filePath.replace(/\.body$/, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_META_SUFFIX"]), 'utf8')); + data = { + lastModified: meta.routeCacheLastModified ?? mtime.getTime(), + value: { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_ROUTE, + body: fileData, + headers: meta.headers, + status: meta.status + }, + cacheControl: meta.cacheControl + }; + } else { + const filePath = this.getFilePath(kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH ? readKey : `${readKey}.html`, kind); + const fileData = await this.fs.readFile(filePath, 'utf8'); + const { mtime } = await this.fs.stat(filePath); + if (kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH) { + var _data_value4; + const { tags, fetchIdx, fetchUrl } = ctx; + if (!this.flushToDisk) return null; + const lastModified = mtime.getTime(); + const parsedData = JSON.parse(fileData); + data = { + lastModified, + value: parsedData + }; + if (((_data_value4 = data.value) == null ? void 0 : _data_value4.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].FETCH) { + var _data_value5; + const storedTags = (_data_value5 = data.value) == null ? void 0 : _data_value5.tags; + // update stored tags if a new one is being added + // TODO: remove this when we can send the tags + // via header on GET same as SET + if (!(tags == null ? void 0 : tags.every((tag)=>storedTags == null ? void 0 : storedTags.includes(tag)))) { + if (FileSystemCache.debug) { + console.log('FileSystemCache: tags vs storedTags mismatch', tags, storedTags); + } + await this.set(key, data.value, { + fetchCache: true, + tags, + fetchIdx, + fetchUrl + }); + } + } + } else if (kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE) { + // Metadata is required for both normal entries and fallback shells. + // Promoted entries publish their primary payload last, so a missing + // sidecar means the scoped entry is incomplete. + const meta = JSON.parse(await this.fs.readFile(filePath.replace(/\.html$/, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_META_SUFFIX"]), 'utf8')); + let maybeSegmentData; + if (meta == null ? void 0 : meta.segmentPaths) { + // Collect all the segment data for this page. + // TODO: To optimize file system reads, we should consider creating + // separate cache entries for each segment, rather than storing them + // all on the page's entry. Though the behavior is + // identical regardless. + const segmentData = new Map(); + maybeSegmentData = segmentData; + const segmentsDir = readKey + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SEGMENTS_DIR_SUFFIX"]; + await Promise.all(meta.segmentPaths.map(async (segmentPath)=>{ + const segmentDataFilePath = this.getFilePath(segmentsDir + segmentPath + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SEGMENT_SUFFIX"], __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE); + try { + segmentData.set(segmentPath, await this.fs.readFile(segmentDataFilePath)); + } catch { + // This shouldn't happen, but if for some reason we fail to + // load a segment from the filesystem, treat it the same as if + // the segment is dynamic and does not have a prefetch. + } + })); + } + let rscData; + if (!ctx.isFallback && (!ctx.isRoutePPREnabled || (meta == null ? void 0 : meta.postponed) == null)) { + rscData = await this.fs.readFile(this.getFilePath(`${readKey}${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SUFFIX"]}`, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE)); + } + data = { + lastModified: meta.routeCacheLastModified ?? mtime.getTime(), + value: { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE, + html: fileData, + rscData, + postponed: meta == null ? void 0 : meta.postponed, + headers: meta == null ? void 0 : meta.headers, + status: meta == null ? void 0 : meta.status, + segmentData: maybeSegmentData + }, + cacheControl: meta == null ? void 0 : meta.cacheControl + }; + } else if (kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].PAGES) { + const meta = JSON.parse(await this.fs.readFile(filePath.replace(/\.html$/, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_META_SUFFIX"]), 'utf8')); + let pageData = {}; + if (!ctx.isFallback) { + pageData = JSON.parse(await this.fs.readFile(this.getFilePath(`${readKey}${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_DATA_SUFFIX"]}`, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].PAGES), 'utf8')); + } + data = { + lastModified: meta.routeCacheLastModified ?? mtime.getTime(), + value: { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES, + html: fileData, + pageData, + headers: meta == null ? void 0 : meta.headers, + status: meta == null ? void 0 : meta.status + } + }; + } else { + throw new Error(`Invariant: Unexpected route kind ${kind} in file system cache.`); + } + } + if (data) { + if (!seedRead) { + var _FileSystemCache_memoryCache2; + (_FileSystemCache_memoryCache2 = FileSystemCache.memoryCache) == null ? void 0 : _FileSystemCache_memoryCache2.set(key, data); + } + } + } catch { + if (seedRead) { + this.finishSeedRead(seedRead.stateKey, seedRead.state); + } + return null; + } + } + if ((data == null ? void 0 : (_data_value = data.value) == null ? void 0 : _data_value.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE || (data == null ? void 0 : (_data_value1 = data.value) == null ? void 0 : _data_value1.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_ROUTE || (data == null ? void 0 : (_data_value2 = data.value) == null ? void 0 : _data_value2.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES) { + var _data_value_headers; + const tagsHeader = (_data_value_headers = data.value.headers) == null ? void 0 : _data_value_headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_TAGS_HEADER"]]; + if (typeof tagsHeader === 'string') { + const cacheTags = tagsHeader.split(','); + // we trigger a blocking validation if an ISR page + // had a tag revalidated, if we want to be a background + // revalidation instead we return data.lastModified = -1 + if (cacheTags.length > 0 && (0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["areTagsExpired"])(cacheTags, data.lastModified)) { + if (FileSystemCache.debug) { + console.log('FileSystemCache: expired tags', cacheTags); + } + if (seedRead) { + this.finishSeedRead(seedRead.stateKey, seedRead.state); + } + return null; + } + } + } else if ((data == null ? void 0 : (_data_value3 = data.value) == null ? void 0 : _data_value3.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].FETCH) { + const combinedTags = ctx.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH ? [ + ...ctx.tags || [], + ...ctx.softTags || [] + ] : []; + // When revalidate tag is called we don't return stale data so it's + // updated right away. + if (combinedTags.some((tag)=>this.revalidatedTags.includes(tag))) { + if (FileSystemCache.debug) { + console.log('FileSystemCache: was revalidated', combinedTags); + } + return null; + } + if ((0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["areTagsExpired"])(combinedTags, data.lastModified)) { + if (FileSystemCache.debug) { + console.log('FileSystemCache: expired tags', combinedTags); + } + return null; + } + } + if (seedRead && data) { + const { stateKey, state, version } = seedRead; + try { + if (state.version === version) { + var _FileSystemCache_memoryCache3; + await this.promoteSeed(key, readKey, data, ctx, stateKey, state, version); + if (state.version === version && !((_FileSystemCache_memoryCache3 = FileSystemCache.memoryCache) == null ? void 0 : _FileSystemCache_memoryCache3.get(key))) { + var _FileSystemCache_memoryCache4; + (_FileSystemCache_memoryCache4 = FileSystemCache.memoryCache) == null ? void 0 : _FileSystemCache_memoryCache4.set(key, data); + } + } + } finally{ + this.finishSeedRead(stateKey, state); + } + } + return data ?? null; + } + async promoteSeed(key, seedKey, data, ctx, stateKey, state, version) { + const writeFileAtomic = this.fs.writeFileAtomic; + if (!this.flushToDisk || !writeFileAtomic || !data.value) return; + if (state.promotion) { + await state.promotion; + return; + } + const promotion = (async ()=>{ + const value = data.value; + if (!value || state.version !== version || value.kind !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES && value.kind !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE && value.kind !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_ROUTE) { + return; + } + const kind = ctx.kind; + const primaryPath = this.getFilePath(value.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_ROUTE ? `${key}.body` : `${key}.html`, kind); + if (this.fs.existsSync(primaryPath)) return; + const seedPrimaryPath = this.getFilePath(value.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_ROUTE ? `${seedKey}.body` : `${seedKey}.html`, kind); + const seedMetaPath = seedPrimaryPath.replace(value.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_ROUTE ? /\.body$/ : /\.html$/, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_META_SUFFIX"]); + const meta = JSON.parse(await this.fs.readFile(seedMetaPath, 'utf8')); + meta.routeCacheLastModified = data.lastModified; + // Copy every ancillary seed file first. The scoped primary payload is + // the publication marker and is written only after metadata is complete. + const ancillaryFiles = []; + if (value.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES && !ctx.isFallback) { + ancillaryFiles.push({ + path: this.getFilePath(`${key}${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_DATA_SUFFIX"]}`, kind), + data: await this.fs.readFile(this.getFilePath(`${seedKey}${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_DATA_SUFFIX"]}`, kind)) + }); + } else if (value.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE) { + if (!ctx.isFallback && (!ctx.isRoutePPREnabled || meta.postponed == null)) { + ancillaryFiles.push({ + path: this.getFilePath(`${key}${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SUFFIX"]}`, kind), + data: await this.fs.readFile(this.getFilePath(`${seedKey}${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SUFFIX"]}`, kind)) + }); + } + ancillaryFiles.push(...await Promise.all((meta.segmentPaths ?? []).map(async (segmentPath)=>({ + path: this.getFilePath(key + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SEGMENTS_DIR_SUFFIX"] + segmentPath + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SEGMENT_SUFFIX"], kind), + data: await this.fs.readFile(this.getFilePath(seedKey + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SEGMENTS_DIR_SUFFIX"] + segmentPath + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SEGMENT_SUFFIX"], kind)) + })))); + } + const writer = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$multi$2d$file$2d$writer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["MultiFileWriter"](this.fs); + for (const file of ancillaryFiles)writer.append(file.path, file.data); + await writer.wait(); + if (state.version !== version) return; + const metaPath = primaryPath.replace(value.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_ROUTE ? /\.body$/ : /\.html$/, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_META_SUFFIX"]); + await this.fs.mkdir(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].dirname(metaPath)); + await this.fs.writeFile(metaPath, JSON.stringify(meta)); + if (state.version !== version || this.fs.existsSync(primaryPath)) return; + await writeFileAtomic.call(this.fs, primaryPath, await this.fs.readFile(seedPrimaryPath)); + })(); + state.promotion = promotion.catch((error)=>{ + if (FileSystemCache.debug) { + console.log('FileSystemCache: failed to promote build seed', error); + } + }); + try { + await state.promotion; + } finally{ + if (state.promotion) state.promotion = undefined; + if (state.readers === 0) FileSystemCache.seedReads.delete(stateKey); + } + } + async set(key, data, ctx) { + var _FileSystemCache_memoryCache; + const cacheControl = ctx.fetchCache ? undefined : ctx.cacheControl; + const seedState = this.getSeedReadState(key); + if (seedState) seedState.version++; + (_FileSystemCache_memoryCache = FileSystemCache.memoryCache) == null ? void 0 : _FileSystemCache_memoryCache.set(key, { + value: data, + lastModified: Date.now(), + cacheControl + }); + if (FileSystemCache.debug) { + console.log('FileSystemCache: set', key); + } + if (!this.flushToDisk || !data) return; + await (seedState == null ? void 0 : seedState.promotion); + // Create a new writer that will prepare to write all the files to disk + // after their containing directory is created. + const writer = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$multi$2d$file$2d$writer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["MultiFileWriter"](this.fs); + if (data.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_ROUTE) { + const filePath = this.getFilePath(`${key}.body`, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_ROUTE); + writer.append(filePath, data.body); + const meta = { + headers: data.headers, + status: data.status, + postponed: undefined, + segmentPaths: undefined, + prefetchHints: undefined, + cacheControl + }; + writer.append(filePath.replace(/\.body$/, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_META_SUFFIX"]), JSON.stringify(meta, null, 2)); + } else if (data.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES || data.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE) { + const isAppPath = data.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE; + const htmlPath = this.getFilePath(`${key}.html`, isAppPath ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE : __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].PAGES); + writer.append(htmlPath, data.html); + // Fallbacks don't generate a data file. + if (!ctx.fetchCache && !ctx.isFallback && !ctx.isRoutePPREnabled) { + writer.append(this.getFilePath(`${key}${isAppPath ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SUFFIX"] : __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_DATA_SUFFIX"]}`, isAppPath ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE : __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].PAGES), isAppPath ? data.rscData : JSON.stringify(data.pageData)); + } + if ((data == null ? void 0 : data.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE) { + let segmentPaths; + if (data.segmentData) { + segmentPaths = []; + const segmentsDir = htmlPath.replace(/\.html$/, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SEGMENTS_DIR_SUFFIX"]); + for (const [segmentPath, buffer] of data.segmentData){ + segmentPaths.push(segmentPath); + const segmentDataFilePath = segmentsDir + segmentPath + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_SEGMENT_SUFFIX"]; + writer.append(segmentDataFilePath, buffer); + } + } + const meta = { + headers: data.headers, + status: data.status, + postponed: data.postponed, + segmentPaths, + prefetchHints: undefined, + cacheControl + }; + writer.append(htmlPath.replace(/\.html$/, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_META_SUFFIX"]), JSON.stringify(meta)); + } else { + const meta = { + headers: data.headers, + status: data.status, + postponed: undefined, + segmentPaths: undefined, + prefetchHints: undefined + }; + writer.append(htmlPath.replace(/\.html$/, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_META_SUFFIX"]), JSON.stringify(meta)); + } + } else if (data.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].FETCH) { + const filePath = this.getFilePath(key, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH); + writer.append(filePath, JSON.stringify({ + ...data, + tags: ctx.fetchCache ? ctx.tags : [] + })); + } + // Wait for all FS operations to complete. + await writer.wait(); + } + getFilePath(key, kind) { + let rootDir; + switch(kind){ + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH: + // we store in .next/cache/fetch-cache so it can be persisted + // across deploys + rootDir = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].join(this.serverDistDir, '..', 'cache', 'fetch-cache'); + break; + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].PAGES: + rootDir = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].join(this.serverDistDir, 'pages'); + break; + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].IMAGE: + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE: + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_ROUTE: + rootDir = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].join(this.serverDistDir, 'app'); + break; + default: + throw new Error(`Unexpected file path kind: ${kind}`); + } + // Scoped response artifacts live outside the compiled route and ASO files. + if ((kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].PAGES || kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE || kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_ROUTE) && key.startsWith(`/${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$route$2d$cache$2d$key$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ROUTE_CACHE_DIRECTORY"]}/`)) { + rootDir = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].join(this.serverDistDir, '.'); + } + const filePath = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].join(rootDir, key); + if (!(filePath.startsWith(rootDir + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$isomorphic$2f$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].sep) || filePath === rootDir)) { + throw new Error(`Invalid file path: ${filePath}`); + } + return filePath; + } +} +}), +"[project]/node_modules/next/dist/esm/server/lib/incremental-cache/index.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "CacheHandler", + ()=>CacheHandler, + "IncrementalCache", + ()=>IncrementalCache +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$route$2d$cache$2d$key$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/route-cache-key.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/response-cache/index.js [middleware] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/response-cache/types.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$incremental$2d$cache$2f$file$2d$system$2d$cache$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/incremental-cache/file-system-cache.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$shared$2d$cache$2d$controls$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$shared$2d$cache$2d$controls$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js [external] (next/dist/server/lib/incremental-cache/shared-cache-controls.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$server$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/server-utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/promise-with-resolvers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/lib/incremental-cache/tags-manifest.external.js [external] (next/dist/server/lib/incremental-cache/tags-manifest.external.js, cjs)"); +; +; +; +; +; +; +; +; +; +; +; +function toHex(buffer) { + // Hex-encode body bytes losslessly: decoding as UTF-8 would collapse + // distinct bytes (0xff/0xfe to U+FFFD) and collide; Buffer isn't on edge. + const bytes = isArrayBuffer(buffer) ? new Uint8Array(buffer) : new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); + let hex = ''; + for (const byte of bytes){ + hex += byte.toString(16).padStart(2, '0'); + } + return hex; +} +// Duck typing to support Edge runtime +// TODO: Switch to instanceof checks once Edge runtime is removed. +function isArrayBuffer(buffer) { + return !('buffer' in buffer); +} +function isBodyByteSequence(body) { + return typeof body === 'object' && 'byteLength' in body; +} +function isBodyReadableStream(body) { + return typeof body.getReader === 'function'; +} +function isBodyFormDataOrURLSearchParams(body) { + return typeof body.keys === 'function'; +} +function isBodyBlob(body) { + return typeof body.arrayBuffer === 'function'; +} +class CacheHandler { + // eslint-disable-next-line + constructor(_ctx){} + async get(_cacheKey, _ctx) { + return {}; + } + async set(_cacheKey, _data, _ctx) {} + async revalidateTag(_tags, _durations) {} + resetRequestCache() {} +} +async function hashString(cacheString) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + const crypto1 = __turbopack_context__.r("[externals]/crypto [external] (crypto, cjs)"); + return crypto1.createHash('sha256').update(cacheString).digest('hex'); + } +} +// this should be bumped anytime a fix is made to cache entries +// that should bust the cache +const MAIN_KEY_PREFIX = 'v4'; +class IncrementalCache { + static #_ = this.debug = !!process.env.NEXT_PRIVATE_DEBUG_CACHE; + constructor({ fs, dev, flushToDisk, minimalMode, serverDistDir, requestHeaders, maxMemoryCacheSize, previewProps, prerenderManifest, fetchCacheKeyPrefix, CurCacheHandler, allowedRevalidateHeaderKeys, locales }){ + this.locks = new Map(); + this.hasCustomCacheHandler = Boolean(CurCacheHandler); + const cacheHandlersSymbol = Symbol.for('@next/cache-handlers'); + const _globalThis = globalThis; + if (!CurCacheHandler) { + // if we have a global cache handler available leverage it + const globalCacheHandler = _globalThis[cacheHandlersSymbol]; + if (globalCacheHandler == null ? void 0 : globalCacheHandler.FetchCache) { + CurCacheHandler = globalCacheHandler.FetchCache; + if (IncrementalCache.debug) { + console.log('IncrementalCache: using global FetchCache cache handler'); + } + } else { + if (fs && serverDistDir) { + if (IncrementalCache.debug) { + console.log('IncrementalCache: using filesystem cache handler'); + } + CurCacheHandler = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$incremental$2d$cache$2f$file$2d$system$2d$cache$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"]; + } + } + } else if (IncrementalCache.debug) { + console.log('IncrementalCache: using custom cache handler', CurCacheHandler.name); + } + if (process.env.__NEXT_TEST_MAX_ISR_CACHE) { + // Allow cache size to be overridden for testing purposes + maxMemoryCacheSize = parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE, 10); + } + this.dev = dev; + this.disableForTestmode = process.env.NEXT_PRIVATE_TEST_PROXY === 'true'; + // this is a hack to avoid Webpack knowing this is equal to this.minimalMode + // because we replace this.minimalMode to true in production bundles. + const minimalModeKey = 'minimalMode'; + this[minimalModeKey] = minimalMode; + this.requestHeaders = requestHeaders; + this.allowedRevalidateHeaderKeys = allowedRevalidateHeaderKeys; + this.previewProps = previewProps; + this.prerenderManifest = prerenderManifest; + this.locales = locales; + this.cacheControls = new __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$shared$2d$cache$2d$controls$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$shared$2d$cache$2d$controls$2e$external$2e$js$2c$__cjs$29$__["SharedCacheControls"](this.prerenderManifest, locales); + this.fetchCacheKeyPrefix = fetchCacheKeyPrefix; + let revalidatedTags = []; + if (requestHeaders[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PRERENDER_REVALIDATE_HEADER"]] === this.previewProps.previewModeId) { + this.isOnDemandRevalidate = true; + } + if (minimalMode) { + revalidatedTags = this.revalidatedTags = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$server$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getPreviouslyRevalidatedTags"])(requestHeaders, this.previewProps.previewModeId); + } + if (CurCacheHandler) { + this.cacheHandler = new CurCacheHandler({ + dev, + fs, + flushToDisk, + serverDistDir, + revalidatedTags, + maxMemoryCacheSize, + _requestHeaders: requestHeaders, + fetchCacheKeyPrefix + }); + } + } + calculateRevalidate(cacheControl, fromTime, dev, isFallback) { + // in development we don't have a prerender-manifest + // and default to always revalidating to allow easier debugging + if (dev) return Math.floor(performance.timeOrigin + performance.now() - 1000); + // if an entry isn't present in routes we fallback to a default + // of revalidating after 1 second unless it's a fallback request. + const initialRevalidateSeconds = cacheControl ? cacheControl.revalidate : isFallback ? false : 1; + const revalidateAfter = typeof initialRevalidateSeconds === 'number' ? initialRevalidateSeconds * 1000 + fromTime : initialRevalidateSeconds; + return revalidateAfter; + } + resetRequestCache() { + var _this_cacheHandler_resetRequestCache, _this_cacheHandler; + (_this_cacheHandler = this.cacheHandler) == null ? void 0 : (_this_cacheHandler_resetRequestCache = _this_cacheHandler.resetRequestCache) == null ? void 0 : _this_cacheHandler_resetRequestCache.call(_this_cacheHandler); + } + async lock(cacheKey) { + // Wait for any existing lock on this cache key to be released + // This implements a simple queue-based locking mechanism + while(true){ + const lock = this.locks.get(cacheKey); + if (IncrementalCache.debug) { + console.log('IncrementalCache: lock get', cacheKey, !!lock); + } + // If no lock exists, we can proceed to acquire it + if (!lock) break; + // Wait for the existing lock to be released before trying again + await lock; + } + // Create a new detached promise that will represent this lock + // The resolve function (unlock) will be returned to the caller + const { resolve, promise } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createPromiseWithResolvers"])(); + if (IncrementalCache.debug) { + console.log('IncrementalCache: successfully locked', cacheKey); + } + // Store the lock promise in the locks map + this.locks.set(cacheKey, promise); + return ()=>{ + // Resolve the promise to release the lock. + resolve(); + // Remove the lock from the map once it's released so that future gets + // can acquire the lock. + this.locks.delete(cacheKey); + }; + } + async revalidateTag(tags, durations) { + var _this_cacheHandler; + return (_this_cacheHandler = this.cacheHandler) == null ? void 0 : _this_cacheHandler.revalidateTag(tags, durations); + } + async generateSimpleCacheKey(input) { + const cacheString = JSON.stringify([ + MAIN_KEY_PREFIX, + this.fetchCacheKeyPrefix || '', + input + ]); + return hashString(cacheString); + } + // x-ref: https://github.com/facebook/react/blob/2655c9354d8e1c54ba888444220f63e836925caa/packages/react/src/ReactFetch.js#L23 + async generateCacheKey(url, init = {}) { + const bodyChunks = []; + const encoder = new TextEncoder(); + // Will be set implementing https://fetch.spec.whatwg.org/#concept-bodyinit-extract + let bodyType = null; + const body = init.body; + if (body) { + if (isBodyByteSequence(body)) { + bodyChunks.push(`bytes:${toHex(body)}`); + init._ogBody = body; + } else if (isBodyReadableStream(body)) { + const readableBody = body; + const chunks = []; + try { + await readableBody.pipeTo(new WritableStream({ + write (chunk) { + chunks.push(typeof chunk === 'string' ? encoder.encode(chunk) : chunk); + } + })); + // Create a new buffer with all the chunks. + const length = chunks.reduce((total, arr)=>total + arr.length, 0); + const arrayBuffer = new Uint8Array(length); + // Push each of the chunks into the new array buffer. + let offset = 0; + for (const chunk of chunks){ + arrayBuffer.set(chunk, offset); + offset += chunk.length; + } + bodyChunks.push(`bytes:${toHex(arrayBuffer)}`); + init._ogBody = arrayBuffer; + } catch (err) { + console.error('Problem reading body', err); + } + } else if (isBodyFormDataOrURLSearchParams(body)) { + bodyType = String(body) === '[object FormData]' ? 'multipart/form-data; boundary=' : 'application/x-www-form-urlencoded;charset=UTF-8'; + const iterable = body; + init._ogBody = body; + // Separate, tagged chunks so `["a","b"]` can't collide with `["a,b"]`. + for (const [key, val] of iterable.entries()){ + bodyChunks.push(`key:${key}`); + if (typeof val === 'string') { + bodyChunks.push(`str:${val}`); + } else { + bodyChunks.push('file', val.name, val.type, `bytes:${toHex(await val.arrayBuffer())}`); + } + } + // handle blob body + } else if (isBodyBlob(body)) { + const blob = body; + const arrayBuffer = await blob.arrayBuffer(); + bodyChunks.push('blob', blob.type, `bytes:${toHex(arrayBuffer)}`); + init._ogBody = new Blob([ + arrayBuffer + ], { + type: blob.type + }); + bodyType = blob.type; + } else if (typeof body === 'string') { + bodyChunks.push(`str:${body}`); + init._ogBody = body; + bodyType = 'text/plain;charset=UTF-8'; + } else { + body; + throw new Error(`Unsupported body type: ${typeof body}`); + } + } + const headers = typeof (init.headers || {}).keys === 'function' ? Object.fromEntries(init.headers) : Object.assign({}, init.headers); + // w3c trace context headers can break request caching and deduplication + // so we remove them from the cache key + if ('traceparent' in headers) delete headers['traceparent']; + if ('tracestate' in headers) delete headers['tracestate']; + const cacheString = JSON.stringify([ + MAIN_KEY_PREFIX, + this.fetchCacheKeyPrefix || '', + url, + init.method, + // Ensures default Content-Type is part of the cache key + // TODO: Only necessary when headers are not used from the Request instance + bodyType, + headers, + init.mode, + init.redirect, + init.credentials, + init.referrer, + init.referrerPolicy, + init.integrity, + init.cache, + bodyChunks + ]); + return hashString(cacheString); + } + async get(cacheKey, ctx) { + var _this_cacheHandler, _cacheData_value; + if (ctx.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].IMAGE) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('Images must use the image optimizer cache'); + } + // Unlike other caches if we have a resume data cache, we use it even if + // testmode would normally disable it or if requestHeaders say 'no-cache'. + if (ctx.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH) { + const workUnitStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workUnitAsyncStorage"].getStore(); + const resumeDataCache = workUnitStore ? (0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["getResumeDataCache"])(workUnitStore) : null; + if (resumeDataCache) { + const memoryCacheData = resumeDataCache.fetch.get(cacheKey); + if ((memoryCacheData == null ? void 0 : memoryCacheData.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].FETCH) { + // Check if any tags were recently revalidated before returning RDC entry. + // When a server action calls updateTag(), the re-render should see fresh + // data instead of stale RDC data. + const workStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workAsyncStorage"].getStore(); + const combinedTags = [ + ...ctx.tags || [], + ...ctx.softTags || [] + ]; + const hasRevalidatedTag = combinedTags.some((tag)=>{ + var _this_revalidatedTags, _workStore_pendingRevalidatedTags; + return ((_this_revalidatedTags = this.revalidatedTags) == null ? void 0 : _this_revalidatedTags.includes(tag)) || (workStore == null ? void 0 : (_workStore_pendingRevalidatedTags = workStore.pendingRevalidatedTags) == null ? void 0 : _workStore_pendingRevalidatedTags.some((item)=>item.tag === tag)); + }); + if (hasRevalidatedTag) { + if (IncrementalCache.debug) { + console.log('IncrementalCache: rdc:revalidated-tag', cacheKey); + } + // Fall through to cacheHandler lookup + } else { + if (IncrementalCache.debug) { + console.log('IncrementalCache: rdc:hit', cacheKey); + } + return { + isStale: false, + value: memoryCacheData + }; + } + } else if (IncrementalCache.debug) { + console.log('IncrementalCache: rdc:miss', cacheKey); + } + } else { + if (IncrementalCache.debug) { + console.log('IncrementalCache: rdc:no-resume-data'); + } + } + } + // we don't leverage the prerender cache in dev mode + // so that getStaticProps is always called for easier debugging + if (this.disableForTestmode || this.dev && (ctx.kind !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH || this.requestHeaders['cache-control'] === 'no-cache')) { + return null; + } + let storageKey = cacheKey; + let handlerContext = ctx; + if (ctx.kind !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH) { + // Ownership scopes the key and metadata inside Next.js. Storage handlers + // only need the resulting key and the existing cache options. + const { route, ...responseContext } = ctx; + storageKey = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$route$2d$cache$2d$key$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getRouteCacheKey"])(cacheKey, route); + handlerContext = responseContext; + } + const cacheData = await ((_this_cacheHandler = this.cacheHandler) == null ? void 0 : _this_cacheHandler.get(storageKey, handlerContext)); + if (ctx.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].FETCH) { + var _cacheData_value1; + if (!cacheData) { + return null; + } + if (((_cacheData_value1 = cacheData.value) == null ? void 0 : _cacheData_value1.kind) !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].FETCH) { + var _cacheData_value2; + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"](`Expected cached value for cache key ${JSON.stringify(cacheKey)} to be a "FETCH" kind, got ${JSON.stringify((_cacheData_value2 = cacheData.value) == null ? void 0 : _cacheData_value2.kind)} instead.`); + } + const workStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workAsyncStorage"].getStore(); + const combinedTags = [ + ...ctx.tags || [], + ...ctx.softTags || [] + ]; + // if a tag was revalidated we don't return stale data + if (combinedTags.some((tag)=>{ + var _this_revalidatedTags, _workStore_pendingRevalidatedTags; + return ((_this_revalidatedTags = this.revalidatedTags) == null ? void 0 : _this_revalidatedTags.includes(tag)) || (workStore == null ? void 0 : (_workStore_pendingRevalidatedTags = workStore.pendingRevalidatedTags) == null ? void 0 : _workStore_pendingRevalidatedTags.some((item)=>item.tag === tag)); + })) { + if (IncrementalCache.debug) { + console.log('IncrementalCache: expired tag', cacheKey); + } + return null; + } + // As we're able to get the cache entry for this fetch, and the prerender + // resume data cache (RDC) is available, it must have been populated by a + // previous fetch, but was not yet present in the in-memory cache. This + // could be the case when performing multiple renders in parallel during + // build time where we de-duplicate the fetch calls. + // + // We add it to the RDC so that the next fetch call will be able to use it + // and it won't have to reach into the fetch cache implementation. + const workUnitStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workUnitAsyncStorage"].getStore(); + if (workUnitStore) { + const resumeDataCache = (0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["getResumeDataCache"])(workUnitStore); + if (resumeDataCache == null ? void 0 : resumeDataCache.mutable) { + if (IncrementalCache.debug) { + console.log('IncrementalCache: rdc:set', cacheKey); + } + resumeDataCache.fetch.set(cacheKey, cacheData.value); + } + } + const revalidate = ctx.revalidate || cacheData.value.revalidate; + const age = (performance.timeOrigin + performance.now() - (cacheData.lastModified || 0)) / 1000; + let isStale = age > revalidate; + const data = cacheData.value.data; + if ((0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["areTagsExpired"])(combinedTags, cacheData.lastModified)) { + return null; + } else if ((0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["areTagsStale"])(combinedTags, cacheData.lastModified)) { + isStale = true; + } + return { + isStale, + value: { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].FETCH, + data, + revalidate + } + }; + } else if ((cacheData == null ? void 0 : (_cacheData_value = cacheData.value) == null ? void 0 : _cacheData_value.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].FETCH) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"](`Expected cached value for cache key ${JSON.stringify(cacheKey)} not to be a ${JSON.stringify(ctx.kind)} kind, got "FETCH" instead.`); + } + let entry = null; + const { isFallback } = ctx; + let cacheControl = this.cacheControls.get(cacheKey, ctx.route); + // The stored lifetime belongs to this entry, which another instance may + // have replaced with a different lifetime. Prefer it over this process's + // remembered lifetime, and update the route so revalidation uses it too. + if (cacheData == null ? void 0 : cacheData.cacheControl) { + cacheControl = cacheData.cacheControl; + this.cacheControls.set(storageKey, cacheControl); + } + let isStale; + let revalidateAfter; + if ((cacheData == null ? void 0 : cacheData.lastModified) === -1) { + isStale = -1; + revalidateAfter = -1 * __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CACHE_ONE_YEAR_SECONDS"] * 1000; + } else { + const now = performance.timeOrigin + performance.now(); + const lastModified = (cacheData == null ? void 0 : cacheData.lastModified) || now; + revalidateAfter = this.calculateRevalidate(cacheControl, lastModified, this.dev ?? false, ctx.isFallback); + // If the route's `expire` time has passed, force a blocking revalidation + // by signalling `isStale = -1`. The response cache treats `-1` as "skip + // the early SWR resolve" and awaits a fresh render before the user sees a + // response. + const expireAfter = typeof (cacheControl == null ? void 0 : cacheControl.expire) === 'number' ? cacheControl.expire * 1000 + lastModified : undefined; + if (expireAfter !== undefined && expireAfter < now) { + isStale = -1; + } else { + var _cacheData_value3, _cacheData_value4; + isStale = revalidateAfter !== false && revalidateAfter < now ? true : undefined; + // If the stale time couldn't be determined based on the revalidation + // time, we check if the tags are expired or stale. + if (isStale === undefined && ((cacheData == null ? void 0 : (_cacheData_value3 = cacheData.value) == null ? void 0 : _cacheData_value3.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE || (cacheData == null ? void 0 : (_cacheData_value4 = cacheData.value) == null ? void 0 : _cacheData_value4.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_ROUTE)) { + var _cacheData_value_headers; + const tagsHeader = (_cacheData_value_headers = cacheData.value.headers) == null ? void 0 : _cacheData_value_headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_TAGS_HEADER"]]; + if (typeof tagsHeader === 'string') { + const cacheTags = tagsHeader.split(','); + if (cacheTags.length > 0) { + if ((0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["areTagsExpired"])(cacheTags, lastModified)) { + isStale = -1; + } else if ((0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$lib$2f$incremental$2d$cache$2f$tags$2d$manifest$2e$external$2e$js$2c$__cjs$29$__["areTagsStale"])(cacheTags, lastModified)) { + isStale = true; + } + } + } + } + } + } + if (cacheData) { + entry = { + isStale, + cacheControl, + revalidateAfter, + value: cacheData.value, + isFallback + }; + } + if (!cacheData && this.prerenderManifest.notFoundRoutes.includes(cacheKey) && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$route$2d$cache$2d$key$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isRouteCacheOwner"])(cacheKey, ctx.route, this.prerenderManifest.routes[cacheKey], this.locales)) { + // for the first hit after starting the server the cache + // may not have a way to save notFound: true so if + // the prerender-manifest marks this as notFound then we + // return that entry and trigger a cache set to give it a + // chance to update in-memory entries + entry = { + isStale, + value: null, + cacheControl, + revalidateAfter, + isFallback + }; + this.set(cacheKey, entry.value, { + ...ctx, + cacheControl + }); + } + return entry; + } + async set(pathname, data, ctx) { + if ('kind' in ctx && ctx.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].IMAGE) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('Images must use the image optimizer cache'); + } + // Even if we otherwise disable caching for testMode or if no fetchCache is + // configured we still always stash results in the resume data cache if one + // exists. This is because this is a transient in memory cache that + // populates caches ahead of a dynamic render in dev mode to allow the RSC + // debug info to have the right environment associated to it. + if ((data == null ? void 0 : data.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].FETCH) { + const workUnitStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workUnitAsyncStorage"].getStore(); + const resumeDataCache = workUnitStore ? (0, __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["getResumeDataCache"])(workUnitStore) : null; + if (resumeDataCache == null ? void 0 : resumeDataCache.mutable) { + if (IncrementalCache.debug) { + console.log('IncrementalCache: rdc:set', pathname); + } + resumeDataCache.fetch.set(pathname, data); + } + } + if (this.disableForTestmode || this.dev && !ctx.fetchCache) return; + let storageKey = pathname; + let handlerContext = ctx; + if (!ctx.fetchCache) { + const { route, ...responseContext } = ctx; + if (!route) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('Response cache requires a source route'); + } + storageKey = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$route$2d$cache$2d$key$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getRouteCacheKey"])(pathname, route); + handlerContext = responseContext; + } + // FetchCache has upper limit of 2MB per-entry currently + const itemSize = JSON.stringify(data).length; + if (ctx.fetchCache && itemSize > 2 * 1024 * 1024 && // We ignore the size limit when custom cache handler is being used, as it + // might not have this limit + !this.hasCustomCacheHandler && // We also ignore the size limit when it's an implicit build-time-only + // caching that the user isn't even aware of. + !ctx.isImplicitBuildTimeCache) { + const warningText = `Failed to set Next.js data cache for ${ctx.fetchUrl || pathname}, items over 2MB can not be cached (${itemSize} bytes)`; + if (this.dev) { + throw new Error(warningText); + } + console.warn(warningText); + return; + } + try { + var _this_cacheHandler; + if (!ctx.fetchCache && ctx.cacheControl) { + this.cacheControls.set(storageKey, ctx.cacheControl); + } + await ((_this_cacheHandler = this.cacheHandler) == null ? void 0 : _this_cacheHandler.set(storageKey, data, handlerContext)); + } catch (error) { + console.warn('Failed to update prerender cache for', pathname, error); + } + } +} +}), +"[project]/node_modules/next/dist/esm/server/lib/is-rsc-request.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Normalizes the raw RSC header value. Only the literal string "1" is treated + * as a valid RSC request marker; malformed or repeated values are ignored. + */ __turbopack_context__.s([ + "isRSCRequestHeader", + ()=>isRSCRequestHeader +]); +function isRSCRequestHeader(value) { + return value === '1'; +} +}), +"[project]/node_modules/next/dist/esm/server/lib/lazy-result.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Calls the given function only when the returned promise-like object is + * awaited. Afterwards, it provides the resolved value synchronously as `value` + * property. + */ __turbopack_context__.s([ + "createLazyResult", + ()=>createLazyResult, + "isResolvedLazyResult", + ()=>isResolvedLazyResult +]); +function createLazyResult(fn) { + let pendingResult; + const result = { + then (onfulfilled, onrejected) { + if (!pendingResult) { + pendingResult = Promise.resolve(fn()); + } + pendingResult.then((value)=>{ + result.value = value; + }).catch(()=>{ + // The externally awaited result will be rejected via `onrejected`. We + // don't need to handle it here. But we do want to avoid an unhandled + // rejection. + }); + return pendingResult.then(onfulfilled, onrejected); + } + }; + return result; +} +function isResolvedLazyResult(result) { + return result.hasOwnProperty('value'); +} +}), +"[project]/node_modules/next/dist/esm/server/lib/lru-cache.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "LRUCache", + ()=>LRUCache +]); +/** + * Node in the doubly-linked list used for LRU tracking. + * Each node represents a cache entry with bidirectional pointers. + */ class LRUNode { + constructor(key, data, size){ + this.prev = null; + this.next = null; + this.key = key; + this.data = data; + this.size = size; + } +} +/** + * Sentinel node used for head/tail boundaries. + * These nodes don't contain actual cache data but simplify list operations. + */ class SentinelNode { + constructor(){ + this.prev = null; + this.next = null; + } +} +class LRUCache { + constructor(maxSize, calculateSize, onEvict){ + this.cache = new Map(); + this.totalSize = 0; + this.maxSize = maxSize; + this.calculateSize = calculateSize; + this.onEvict = onEvict; + // Create sentinel nodes to simplify doubly-linked list operations + // HEAD <-> TAIL (empty list) + this.head = new SentinelNode(); + this.tail = new SentinelNode(); + this.head.next = this.tail; + this.tail.prev = this.head; + } + /** + * Adds a node immediately after the head (marks as most recently used). + * Used when inserting new items or when an item is accessed. + * PRECONDITION: node must be disconnected (prev/next should be null) + */ addToHead(node) { + node.prev = this.head; + node.next = this.head.next; + // head.next is always non-null (points to tail or another node) + this.head.next.prev = node; + this.head.next = node; + } + /** + * Removes a node from its current position in the doubly-linked list. + * Updates the prev/next pointers of adjacent nodes to maintain list integrity. + * PRECONDITION: node must be connected (prev/next are non-null) + */ removeNode(node) { + // Connected nodes always have non-null prev/next + node.prev.next = node.next; + node.next.prev = node.prev; + } + /** + * Moves an existing node to the head position (marks as most recently used). + * This is the core LRU operation - accessed items become most recent. + */ moveToHead(node) { + this.removeNode(node); + this.addToHead(node); + } + /** + * Removes and returns the least recently used node (the one before tail). + * This is called during eviction when the cache exceeds capacity. + * PRECONDITION: cache is not empty (ensured by caller) + */ removeTail() { + const lastNode = this.tail.prev; + // tail.prev is always non-null and always LRUNode when cache is not empty + this.removeNode(lastNode); + return lastNode; + } + /** + * Sets a key-value pair in the cache. + * If the key exists, updates the value and moves to head. + * If new, adds at head and evicts from tail if necessary. + * + * Time Complexity: + * - O(1) for uniform item sizes + * - O(k) where k is the number of items evicted (can be O(N) for variable sizes) + */ set(key, value) { + const size = (this.calculateSize == null ? void 0 : this.calculateSize.call(this, value, key)) ?? 1; + if (size <= 0) { + throw new Error(`LRUCache: calculateSize returned ${size}, but size must be > 0. ` + `Items with size 0 would never be evicted, causing unbounded cache growth.`); + } + if (size > this.maxSize) { + console.warn('Single item size exceeds maxSize'); + return false; + } + const existing = this.cache.get(key); + if (existing) { + // Update existing node: adjust size and move to head (most recent) + existing.data = value; + this.totalSize = this.totalSize - existing.size + size; + existing.size = size; + this.moveToHead(existing); + } else { + // Add new node at head (most recent position) + const newNode = new LRUNode(key, value, size); + this.cache.set(key, newNode); + this.addToHead(newNode); + this.totalSize += size; + } + // Evict least recently used items until under capacity + while(this.totalSize > this.maxSize && this.cache.size > 0){ + const tail = this.removeTail(); + this.cache.delete(tail.key); + this.totalSize -= tail.size; + this.onEvict == null ? void 0 : this.onEvict.call(this, tail.key, tail.data); + } + return true; + } + /** + * Checks if a key exists in the cache. + * This is a pure query operation - does NOT update LRU order. + * + * Time Complexity: O(1) + */ has(key) { + return this.cache.has(key); + } + /** + * Retrieves a value by key and marks it as most recently used. + * Moving to head maintains the LRU property for future evictions. + * + * Time Complexity: O(1) + */ get(key) { + const node = this.cache.get(key); + if (!node) return undefined; + // Mark as most recently used by moving to head + this.moveToHead(node); + return node.data; + } + /** + * Returns an iterator over the cache entries. The order is outputted in the + * order of most recently used to least recently used. + */ *[Symbol.iterator]() { + let current = this.head.next; + while(current && current !== this.tail){ + // Between head and tail, current is always LRUNode + const node = current; + yield [ + node.key, + node.data + ]; + current = current.next; + } + } + /** + * Removes a specific key from the cache. + * Updates both the hash map and doubly-linked list. + * + * Note: This is an explicit removal and does NOT trigger the `onEvict` + * callback. Use this for intentional deletions where eviction tracking + * is not needed. + * + * Time Complexity: O(1) + */ remove(key) { + const node = this.cache.get(key); + if (!node) return; + this.removeNode(node); + this.cache.delete(key); + this.totalSize -= node.size; + } + /** + * Returns the number of items in the cache. + */ get size() { + return this.cache.size; + } + /** + * Returns the current total size of all cached items. + * This uses the custom size calculation if provided. + */ get currentSize() { + return this.totalSize; + } +} +}), +"[project]/node_modules/next/dist/esm/server/lib/route-cache-key.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ROUTE_CACHE_DIRECTORY", + ()=>ROUTE_CACHE_DIRECTORY, + "getResponseCacheOwner", + ()=>getResponseCacheOwner, + "getRouteCacheKey", + ()=>getRouteCacheKey, + "isRouteCacheOwner", + ()=>isRouteCacheOwner +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$normalize$2d$page$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/page-path/normalize-page-path.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$normalizers$2f$built$2f$app$2f$app$2d$pathname$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/normalizers/built/app/app-pathname-normalizer.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/route-kind.js [middleware] (ecmascript)"); +; +; +; +; +; +const ROUTE_CACHE_DIRECTORY = 'route-cache'; +const appPathnameNormalizer = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$normalizers$2f$built$2f$app$2f$app$2d$pathname$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["AppPathnameNormalizer"](); +function getResponseCacheOwner(definition) { + return { + kind: definition.kind, + // Pages module names can include a trailing /index in Turbopack. Their + // pathname matches the manifest's source in both bundlers. App modules + // retain groups and parallel slots in their cache identity. + sourceRoute: definition.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].PAGES ? definition.pathname : definition.page + }; +} +function isRouteCacheOwner(pathname, owner, prerender, locales) { + if (!prerender) { + return false; + } + // Pages have JSON data routes, App Pages have RSC data routes, and App + // Route Handlers have no separate data route. + const kind = prerender.dataRoute === null ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].APP_ROUTE : prerender.dataRoute.endsWith('.json') ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].PAGES : prerender.dataRoute.endsWith('.rsc') ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].APP_PAGE : undefined; + if (kind !== owner.kind) { + return false; + } + const source = 'srcRoute' in prerender ? prerender.srcRoute : prerender.fallbackSourceRoute; + const prerenderOwner = source ?? (kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].PAGES ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeLocalePath"])(pathname, locales).pathname : pathname); + return prerenderOwner === (kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].PAGES ? owner.sourceRoute : appPathnameNormalizer.normalize(owner.sourceRoute)); +} +function getRouteCacheKey(pathname, owner) { + if (!owner) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('Response cache requires a source route'); + } + const { sourceRoute } = owner; + let source; + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + const { createHash } = __turbopack_context__.r("[externals]/crypto [external] (crypto, cjs)"); + source = createHash('sha256').update(sourceRoute).digest('hex'); + } + return `/${ROUTE_CACHE_DIRECTORY}/${owner.kind}/${source}/$${(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$normalize$2d$page$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizePagePath"])(pathname)}`; +} +}), +"[project]/node_modules/next/dist/esm/server/lib/trace/constants.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "AppRenderSpan", + ()=>AppRenderSpan, + "AppRouteRouteHandlersSpan", + ()=>AppRouteRouteHandlersSpan, + "AppRouteRouteModuleSpan", + ()=>AppRouteRouteModuleSpan, + "BaseServerSpan", + ()=>BaseServerSpan, + "DevBundlerServiceSpan", + ()=>DevBundlerServiceSpan, + "InstrumentationSpan", + ()=>InstrumentationSpan, + "LoadComponentsSpan", + ()=>LoadComponentsSpan, + "LogSpanAllowList", + ()=>LogSpanAllowList, + "MiddlewareSpan", + ()=>MiddlewareSpan, + "NextNodeServerSpan", + ()=>NextNodeServerSpan, + "NextServerSpan", + ()=>NextServerSpan, + "NextVanillaSpanAllowlist", + ()=>NextVanillaSpanAllowlist, + "NodeSpan", + ()=>NodeSpan, + "RenderSpan", + ()=>RenderSpan, + "ResolveMetadataSpan", + ()=>ResolveMetadataSpan, + "RouteModuleSpan", + ()=>RouteModuleSpan, + "RouterSpan", + ()=>RouterSpan, + "StartServerSpan", + ()=>StartServerSpan +]); +/** + * Contains predefined constants for the trace span name in next/server. + * + * Currently, next/server/tracer is internal implementation only for tracking + * next.js's implementation only with known span names defined here. + **/ // eslint typescript has a bug with TS enums +var BaseServerSpan = /*#__PURE__*/ function(BaseServerSpan) { + BaseServerSpan["handleRequest"] = "BaseServer.handleRequest"; + BaseServerSpan["run"] = "BaseServer.run"; + BaseServerSpan["pipe"] = "BaseServer.pipe"; + BaseServerSpan["getStaticHTML"] = "BaseServer.getStaticHTML"; + BaseServerSpan["render"] = "BaseServer.render"; + BaseServerSpan["renderToResponseWithComponents"] = "BaseServer.renderToResponseWithComponents"; + BaseServerSpan["renderToResponse"] = "BaseServer.renderToResponse"; + BaseServerSpan["renderToHTML"] = "BaseServer.renderToHTML"; + BaseServerSpan["renderError"] = "BaseServer.renderError"; + BaseServerSpan["renderErrorToResponse"] = "BaseServer.renderErrorToResponse"; + BaseServerSpan["renderErrorToHTML"] = "BaseServer.renderErrorToHTML"; + BaseServerSpan["render404"] = "BaseServer.render404"; + return BaseServerSpan; +}(BaseServerSpan || {}); +var LoadComponentsSpan = /*#__PURE__*/ function(LoadComponentsSpan) { + LoadComponentsSpan["loadDefaultErrorComponents"] = "LoadComponents.loadDefaultErrorComponents"; + LoadComponentsSpan["loadComponents"] = "LoadComponents.loadComponents"; + LoadComponentsSpan["loadRouteModule"] = "LoadComponents.loadRouteModule"; + return LoadComponentsSpan; +}(LoadComponentsSpan || {}); +var InstrumentationSpan = /*#__PURE__*/ function(InstrumentationSpan) { + InstrumentationSpan["loadModule"] = "Instrumentation.loadModule"; + InstrumentationSpan["register"] = "Instrumentation.register"; + return InstrumentationSpan; +}(InstrumentationSpan || {}); +var NextServerSpan = /*#__PURE__*/ function(NextServerSpan) { + NextServerSpan["getRequestHandler"] = "NextServer.getRequestHandler"; + NextServerSpan["getRequestHandlerWithMetadata"] = "NextServer.getRequestHandlerWithMetadata"; + NextServerSpan["getServer"] = "NextServer.getServer"; + NextServerSpan["getServerRequestHandler"] = "NextServer.getServerRequestHandler"; + NextServerSpan["createServer"] = "createServer.createServer"; + return NextServerSpan; +}(NextServerSpan || {}); +var NextNodeServerSpan = /*#__PURE__*/ function(NextNodeServerSpan) { + NextNodeServerSpan["compression"] = "NextNodeServer.compression"; + NextNodeServerSpan["getBuildId"] = "NextNodeServer.getBuildId"; + NextNodeServerSpan["createComponentTree"] = "NextNodeServer.createComponentTree"; + NextNodeServerSpan["clientComponentLoading"] = "NextNodeServer.clientComponentLoading"; + NextNodeServerSpan["getLayoutOrPageModule"] = "NextNodeServer.getLayoutOrPageModule"; + NextNodeServerSpan["generateStaticRoutes"] = "NextNodeServer.generateStaticRoutes"; + NextNodeServerSpan["generateFsStaticRoutes"] = "NextNodeServer.generateFsStaticRoutes"; + NextNodeServerSpan["generatePublicRoutes"] = "NextNodeServer.generatePublicRoutes"; + NextNodeServerSpan["generateImageRoutes"] = "NextNodeServer.generateImageRoutes.route"; + NextNodeServerSpan["sendRenderResult"] = "NextNodeServer.sendRenderResult"; + NextNodeServerSpan["proxyRequest"] = "NextNodeServer.proxyRequest"; + NextNodeServerSpan["runApi"] = "NextNodeServer.runApi"; + NextNodeServerSpan["render"] = "NextNodeServer.render"; + NextNodeServerSpan["renderHTML"] = "NextNodeServer.renderHTML"; + NextNodeServerSpan["imageOptimizer"] = "NextNodeServer.imageOptimizer"; + NextNodeServerSpan["getPagePath"] = "NextNodeServer.getPagePath"; + NextNodeServerSpan["getRoutesManifest"] = "NextNodeServer.getRoutesManifest"; + NextNodeServerSpan["findPageComponents"] = "NextNodeServer.findPageComponents"; + NextNodeServerSpan["getFontManifest"] = "NextNodeServer.getFontManifest"; + NextNodeServerSpan["getServerComponentManifest"] = "NextNodeServer.getServerComponentManifest"; + NextNodeServerSpan["getRequestHandler"] = "NextNodeServer.getRequestHandler"; + NextNodeServerSpan["renderToHTML"] = "NextNodeServer.renderToHTML"; + NextNodeServerSpan["renderError"] = "NextNodeServer.renderError"; + NextNodeServerSpan["renderErrorToHTML"] = "NextNodeServer.renderErrorToHTML"; + NextNodeServerSpan["render404"] = "NextNodeServer.render404"; + NextNodeServerSpan["startResponse"] = "NextNodeServer.startResponse"; + // nested inner span, does not require parent scope name + NextNodeServerSpan["route"] = "route"; + NextNodeServerSpan["onProxyReq"] = "onProxyReq"; + NextNodeServerSpan["apiResolver"] = "apiResolver"; + NextNodeServerSpan["internalFetch"] = "internalFetch"; + return NextNodeServerSpan; +}(NextNodeServerSpan || {}); +var StartServerSpan = /*#__PURE__*/ function(StartServerSpan) { + StartServerSpan["startServer"] = "startServer.startServer"; + return StartServerSpan; +}(StartServerSpan || {}); +var RenderSpan = /*#__PURE__*/ function(RenderSpan) { + RenderSpan["getServerSideProps"] = "Render.getServerSideProps"; + RenderSpan["getStaticProps"] = "Render.getStaticProps"; + RenderSpan["renderToString"] = "Render.renderToString"; + RenderSpan["renderDocument"] = "Render.renderDocument"; + RenderSpan["createBodyResult"] = "Render.createBodyResult"; + return RenderSpan; +}(RenderSpan || {}); +var AppRenderSpan = /*#__PURE__*/ function(AppRenderSpan) { + AppRenderSpan["renderToString"] = "AppRender.renderToString"; + AppRenderSpan["renderToReadableStream"] = "AppRender.renderToReadableStream"; + AppRenderSpan["getBodyResult"] = "AppRender.getBodyResult"; + AppRenderSpan["fetch"] = "AppRender.fetch"; + AppRenderSpan["waitShellReady"] = "AppRender.waitShellReady"; + AppRenderSpan["renderToNodeFizzStream"] = "AppRender.renderToNodeFizzStream"; + AppRenderSpan["instantInsights"] = "AppRender.instantInsights"; + AppRenderSpan["instantInsightsPrepareValidation"] = "AppRender.instantInsights.prepareValidation"; + AppRenderSpan["instantInsightsRunValidation"] = "AppRender.instantInsights.runValidation"; + return AppRenderSpan; +}(AppRenderSpan || {}); +var DevBundlerServiceSpan = /*#__PURE__*/ function(DevBundlerServiceSpan) { + DevBundlerServiceSpan["ensurePage"] = "DevBundlerService.ensurePage"; + return DevBundlerServiceSpan; +}(DevBundlerServiceSpan || {}); +var RouterSpan = /*#__PURE__*/ function(RouterSpan) { + RouterSpan["executeRoute"] = "Router.executeRoute"; + return RouterSpan; +}(RouterSpan || {}); +var NodeSpan = /*#__PURE__*/ function(NodeSpan) { + NodeSpan["runHandler"] = "Node.runHandler"; + return NodeSpan; +}(NodeSpan || {}); +var AppRouteRouteHandlersSpan = /*#__PURE__*/ function(AppRouteRouteHandlersSpan) { + AppRouteRouteHandlersSpan["runHandler"] = "AppRouteRouteHandlers.runHandler"; + return AppRouteRouteHandlersSpan; +}(AppRouteRouteHandlersSpan || {}); +var AppRouteRouteModuleSpan = /*#__PURE__*/ function(AppRouteRouteModuleSpan) { + AppRouteRouteModuleSpan["loadUserland"] = "AppRouteRouteModule.loadUserland"; + return AppRouteRouteModuleSpan; +}(AppRouteRouteModuleSpan || {}); +var RouteModuleSpan = /*#__PURE__*/ function(RouteModuleSpan) { + RouteModuleSpan["prepare"] = "RouteModule.prepare"; + RouteModuleSpan["loadManifests"] = "RouteModule.loadManifests"; + return RouteModuleSpan; +}(RouteModuleSpan || {}); +var ResolveMetadataSpan = /*#__PURE__*/ function(ResolveMetadataSpan) { + ResolveMetadataSpan["generateMetadata"] = "ResolveMetadata.generateMetadata"; + ResolveMetadataSpan["generateViewport"] = "ResolveMetadata.generateViewport"; + return ResolveMetadataSpan; +}(ResolveMetadataSpan || {}); +var MiddlewareSpan = /*#__PURE__*/ function(MiddlewareSpan) { + MiddlewareSpan["execute"] = "Middleware.execute"; + return MiddlewareSpan; +}(MiddlewareSpan || {}); +const NextVanillaSpanAllowlist = new Set([ + "Middleware.execute", + "BaseServer.handleRequest", + "Render.getServerSideProps", + "Render.getStaticProps", + "AppRender.fetch", + "AppRender.getBodyResult", + "LoadComponents.loadRouteModule", + "Render.renderDocument", + "Node.runHandler", + "AppRouteRouteHandlers.runHandler", + "AppRouteRouteModule.loadUserland", + "RouteModule.prepare", + "Instrumentation.loadModule", + "Instrumentation.register", + "ResolveMetadata.generateMetadata", + "ResolveMetadata.generateViewport", + "NextNodeServer.createComponentTree", + "NextNodeServer.findPageComponents", + "NextNodeServer.getLayoutOrPageModule", + "NextNodeServer.startResponse", + "NextNodeServer.clientComponentLoading" +]); +const LogSpanAllowList = new Set([ + "NextNodeServer.findPageComponents", + "NextNodeServer.createComponentTree", + "NextNodeServer.clientComponentLoading" +]); +; +}), +"[project]/node_modules/next/dist/esm/server/lib/trace/tracer.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "BubbledError", + ()=>BubbledError, + "SpanKind", + ()=>SpanKind, + "SpanStatusCode", + ()=>SpanStatusCode, + "getTracer", + ()=>getTracer, + "isBubbledError", + ()=>isBubbledError +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$is$2d$thenable$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/is-thenable.js [middleware] (ecmascript)"); +; +; +const NEXT_OTEL_PERFORMANCE_PREFIX = process.env.NEXT_OTEL_PERFORMANCE_PREFIX; +const LOCAL_SPAN_RECORDER_KEY = Symbol.for('@next/local-span-recorder'); +let api; +function getLocalSpanRecorder() { + if ("TURBOPACK compile-time truthy", 1) { + return globalThis[LOCAL_SPAN_RECORDER_KEY]; + } else //TURBOPACK unreachable + ; +} +// we want to allow users to use their own version of @opentelemetry/api if they +// want to, so we try to require it first, and if it fails we fall back to the +// version that is bundled with Next.js +// this is because @opentelemetry/api has to be synced with the version of +// @opentelemetry/tracing that is used, and we don't want to force users to use +// the version that is bundled with Next.js. +// the API is ~stable, so this should be fine +if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable +; +else { + try { + api = __turbopack_context__.r("[externals]/next/dist/compiled/@opentelemetry/api [external] (next/dist/compiled/@opentelemetry/api, cjs)"); + } catch (err) { + api = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/@opentelemetry/api/index.js [middleware] (ecmascript)"); + } +} +const { context, propagation, trace, SpanStatusCode, SpanKind, ROOT_CONTEXT } = api; +class BubbledError extends Error { + constructor(bubble, result){ + super(), this.bubble = bubble, this.result = result; + } +} +function isBubbledError(error) { + if (typeof error !== 'object' || error === null) return false; + return error instanceof BubbledError; +} +const closeSpanWithError = (span, error, endTime)=>{ + if (isBubbledError(error) && error.bubble) { + span.setAttribute('next.bubble', true); + } else { + if (error) { + span.recordException(error); + span.setAttribute('error.type', error.name); + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: error == null ? void 0 : error.message + }); + } + span.end(endTime); +}; +/** we use this map to propagate attributes from nested spans to the top span */ const rootSpanAttributesStore = new Map(); +const rootSpanIdKey = api.createContextKey('next.rootSpanId'); +let lastSpanId = 0; +const getSpanId = ()=>lastSpanId++; +const clientTraceDataSetter = { + set (carrier, key, value) { + carrier.push({ + key, + value + }); + } +}; +class NextTracerImpl { + /** + * Returns an instance to the trace with configured name. + * Since wrap / trace can be defined in any place prior to actual trace subscriber initialization, + * This should be lazily evaluated. + */ getTracerInstance() { + return trace.getTracer('next.js', "16.4.0"); + } + isOpenTelemetryEnabled() { + var _tracerProvider_getDelegate_constructor, _tracerProvider_getDelegate; + const activeSpan = trace.getSpan(context.active()); + if (activeSpan == null ? void 0 : activeSpan.isRecording()) { + return true; + } + const tracerProvider = trace.getTracerProvider(); + if (!('getDelegate' in tracerProvider)) { + return true; + } + return (tracerProvider.getDelegate == null ? void 0 : (_tracerProvider_getDelegate = tracerProvider.getDelegate.call(tracerProvider)) == null ? void 0 : (_tracerProvider_getDelegate_constructor = _tracerProvider_getDelegate.constructor) == null ? void 0 : _tracerProvider_getDelegate_constructor.name) !== 'NoopTracerProvider'; + } + getContext() { + return context; + } + getTracePropagationData() { + const activeContext = context.active(); + const entries = []; + propagation.inject(activeContext, entries, clientTraceDataSetter); + return entries; + } + getActiveScopeSpan() { + const localSpanRecorder = getLocalSpanRecorder(); + const activeLocalSpan = localSpanRecorder == null ? void 0 : localSpanRecorder.getActiveLocalSpan(); + if (activeLocalSpan && (localSpanRecorder == null ? void 0 : localSpanRecorder.isOpenTelemetryIsolatedSpan(activeLocalSpan))) { + return activeLocalSpan; + } + const activeSpan = trace.getSpan(context.active()); + if (activeSpan || !("TURBOPACK compile-time value", "1")) { + return activeSpan; + } + return activeLocalSpan; + } + /** + * Run `fn` with the active span cleared, so spans created inside become new + * roots (or parent to incoming propagated context). Used for in-process + * Node.js middleware so its span is a sibling of the request span, matching + * edge middleware which runs in a detached sandbox. + */ runWithDetachedContext(fn) { + if (!NEXT_OTEL_PERFORMANCE_PREFIX && !this.isOpenTelemetryEnabled()) { + return fn(); + } + return context.with(ROOT_CONTEXT, fn); + } + withPropagatedContext(carrier, fn, getter, force = false) { + const activeContext = context.active(); + if (!NEXT_OTEL_PERFORMANCE_PREFIX && !this.isOpenTelemetryEnabled() && !trace.getSpanContext(activeContext)) { + return fn(); + } + if (force) { + const remoteContext = propagation.extract(ROOT_CONTEXT, carrier, getter); + if (trace.getSpanContext(remoteContext)) { + return context.with(remoteContext, fn); + } + // Preserve the current active span while still merging any extracted + // baggage/context values from the carrier. + const mergedContext = propagation.extract(activeContext, carrier, getter); + return context.with(mergedContext, fn); + } + if (trace.getSpanContext(activeContext)) { + // Active span is already set, too late to propagate. + return fn(); + } + const remoteContext = propagation.extract(activeContext, carrier, getter); + return context.with(remoteContext, fn); + } + trace(...args) { + const [type, fnOrOptions, fnOrEmpty] = args; + const tracingEnabled = Boolean(NEXT_OTEL_PERFORMANCE_PREFIX) || this.isOpenTelemetryEnabled(); + const localSpanRecorder = getLocalSpanRecorder(); + const localSpanRecordingEnabled = (localSpanRecorder == null ? void 0 : localSpanRecorder.isLocalSpanRecordingEnabled()) ?? false; + if (!tracingEnabled && !localSpanRecordingEnabled) { + return typeof fnOrOptions === 'function' ? fnOrOptions() : fnOrEmpty(); + } + // coerce options form overload + const { fn, options } = typeof fnOrOptions === 'function' ? { + fn: fnOrOptions, + options: {} + } : { + fn: fnOrEmpty, + options: { + ...fnOrOptions + } + }; + const spanName = options.spanName ?? type; + const parentSpan = options.parentSpan ?? this.getActiveScopeSpan(); + const isolatedParentSpan = parentSpan && (localSpanRecorder == null ? void 0 : localSpanRecorder.isOpenTelemetryIsolatedSpan(parentSpan)) ? parentSpan : undefined; + const shouldDelegateSpan = !isolatedParentSpan && (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextVanillaSpanAllowlist"].has(type) || process.env.NEXT_OTEL_VERBOSE === '1'); + const shouldTraceSpan = shouldDelegateSpan || ((localSpanRecorder == null ? void 0 : localSpanRecorder.isRequestInsightsEnabled()) ?? false); + if (!shouldTraceSpan || options.hideSpan) { + return fn(); + } + // Trying to get active scoped span to assign parent. If option specifies parent span manually, will try to use it. + let spanContext = isolatedParentSpan ? context.active() : this.getSpanContext(parentSpan); + if (!spanContext) { + spanContext = (context == null ? void 0 : context.active()) ?? ROOT_CONTEXT; + } + // Check if there's already a root span in the store for this trace + // We are intentionally not checking whether there is an active context + // from outside of nextjs to ensure that we can provide the same level + // of telemetry when using a custom server + const existingRootSpanId = spanContext.getValue(rootSpanIdKey); + const isRootSpan = typeof existingRootSpanId !== 'number' || !rootSpanAttributesStore.has(existingRootSpanId); + const spanId = getSpanId(); + options.attributes = { + 'next.span_category': 'nextjs', + 'next.span_name': spanName, + 'next.span_type': type, + ...options.attributes + }; + return context.with(spanContext.setValue(rootSpanIdKey, spanId), ()=>this.runWithActiveSpan(spanName, options, spanContext, tracingEnabled && shouldDelegateSpan, localSpanRecordingEnabled, isolatedParentSpan, (span)=>{ + let startTime; + if (NEXT_OTEL_PERFORMANCE_PREFIX && type && __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["LogSpanAllowList"].has(type)) { + startTime = 'performance' in globalThis && 'measure' in performance ? globalThis.performance.now() : undefined; + } + let cleanedUp = false; + const onCleanup = ()=>{ + if (cleanedUp) return; + cleanedUp = true; + rootSpanAttributesStore.delete(spanId); + if (startTime) { + performance.measure(`${NEXT_OTEL_PERFORMANCE_PREFIX}:next-${(type.split('.').pop() || '').replace(/[A-Z]/g, (match)=>'-' + match.toLowerCase())}`, { + start: startTime, + end: performance.now() + }); + } + }; + if (isRootSpan) { + rootSpanAttributesStore.set(spanId, new Map(Object.entries(options.attributes ?? {}))); + } + if (fn.length > 1) { + try { + return fn(span, (err)=>{ + if (err) { + closeSpanWithError(span, err, options.endTime); + } else { + span.end(options.endTime); + } + }); + } catch (err) { + closeSpanWithError(span, err, options.endTime); + throw err; + } finally{ + onCleanup(); + } + } + try { + const result = fn(span); + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$is$2d$thenable$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isThenable"])(result)) { + // If there's error make sure it throws + return result.then((res)=>{ + span.end(options.endTime); + // Need to pass down the promise result, + // it could be react stream response with error { error, stream } + return res; + }).catch((err)=>{ + closeSpanWithError(span, err, options.endTime); + throw err; + }).finally(onCleanup); + } else { + span.end(options.endTime); + onCleanup(); + } + return result; + } catch (err) { + closeSpanWithError(span, err, options.endTime); + onCleanup(); + throw err; + } + })); + } + runWithActiveSpan(spanName, options, parentContext, tracingEnabled, localSpanRecordingEnabled, isolatedParentSpan, fn) { + if (tracingEnabled) { + return this.getTracerInstance().startActiveSpan(spanName, options, (span)=>fn(localSpanRecordingEnabled ? this.createLocalRecordingSpan(spanName, options, parentContext, span, isolatedParentSpan) : span)); + } + const span = this.createLocalRecordingSpan(spanName, options, parentContext, undefined, isolatedParentSpan); + const localSpanRecorder = getLocalSpanRecorder(); + return localSpanRecorder.withLocalSpan(span, ()=>localSpanRecorder.isOpenTelemetryIsolatedSpan(span) ? fn(span) : context.with(trace.setSpan(context.active(), span), fn, undefined, span)); + } + createLocalRecordingSpan(name, options, parentContext, delegateSpan, isolatedParentSpan) { + const parentSpanContext = (isolatedParentSpan == null ? void 0 : isolatedParentSpan.spanContext()) ?? trace.getSpanContext(parentContext); + const delegateSpanContext = delegateSpan == null ? void 0 : delegateSpan.spanContext(); + return getLocalSpanRecorder().createLocalSpan({ + name, + attributes: options.attributes, + links: options.links, + startTime: options.startTime, + delegateSpan, + traceId: (delegateSpanContext == null ? void 0 : delegateSpanContext.traceId) ?? (parentSpanContext == null ? void 0 : parentSpanContext.traceId), + spanId: delegateSpanContext == null ? void 0 : delegateSpanContext.spanId, + parentSpanId: parentSpanContext == null ? void 0 : parentSpanContext.spanId, + isolateOpenTelemetry: isolatedParentSpan !== undefined + }); + } + wrap(...args) { + const tracer = this; + const [name, options, fn] = args.length === 3 ? args : [ + args[0], + {}, + args[1] + ]; + if (!__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextVanillaSpanAllowlist"].has(name) && process.env.NEXT_OTEL_VERBOSE !== '1' && !("TURBOPACK compile-time value", "1")) //TURBOPACK unreachable + ; + return function() { + let optionsObj = options; + if (typeof optionsObj === 'function' && typeof fn === 'function') { + optionsObj = optionsObj.apply(this, arguments); + } + const lastArgId = arguments.length - 1; + const cb = arguments[lastArgId]; + if (typeof cb === 'function') { + const scopeBoundCb = tracer.getContext().bind(context.active(), cb); + return tracer.trace(name, optionsObj, (_span, done)=>{ + arguments[lastArgId] = function(err) { + done == null ? void 0 : done(err); + return scopeBoundCb.apply(this, arguments); + }; + return fn.apply(this, arguments); + }); + } else { + return tracer.trace(name, optionsObj, ()=>fn.apply(this, arguments)); + } + }; + } + startSpan(...args) { + const [type, passedOptions] = args; + const options = passedOptions ? { + ...passedOptions, + attributes: { + 'next.span_category': 'nextjs', + ...passedOptions.attributes + } + } : { + attributes: { + 'next.span_category': 'nextjs' + } + }; + const localSpanRecorder = getLocalSpanRecorder(); + const parentSpan = options.parentSpan ?? this.getActiveScopeSpan(); + const isolatedParentSpan = parentSpan && (localSpanRecorder == null ? void 0 : localSpanRecorder.isOpenTelemetryIsolatedSpan(parentSpan)) ? parentSpan : undefined; + const parentContext = (isolatedParentSpan ? undefined : this.getSpanContext(parentSpan)) ?? context.active(); + const localSpanRecordingEnabled = (localSpanRecorder == null ? void 0 : localSpanRecorder.isLocalSpanRecordingEnabled()) ?? false; + if (!localSpanRecordingEnabled) { + return this.getTracerInstance().startSpan(type, options, parentContext); + } + const delegateSpan = !isolatedParentSpan && this.isOpenTelemetryEnabled() ? this.getTracerInstance().startSpan(type, options, parentContext) : undefined; + return this.createLocalRecordingSpan(type, options, parentContext, delegateSpan, isolatedParentSpan); + } + getSpanContext(parentSpan) { + const spanContext = parentSpan ? trace.setSpan(context.active(), parentSpan) : undefined; + return spanContext; + } + getRootSpanAttributes() { + const spanId = context.active().getValue(rootSpanIdKey); + return rootSpanAttributesStore.get(spanId); + } + setRootSpanAttribute(key, value) { + const spanId = context.active().getValue(rootSpanIdKey); + const attributes = rootSpanAttributesStore.get(spanId); + if (attributes && !attributes.has(key)) { + attributes.set(key, value); + } + if ("TURBOPACK compile-time truthy", 1) { + var _getLocalSpanRecorder; + const localSpan = (_getLocalSpanRecorder = getLocalSpanRecorder()) == null ? void 0 : _getLocalSpanRecorder.getActiveLocalSpan(); + if (localSpan) { + localSpan.setAttribute(key, value); + } + } + } + withSpan(span, fn) { + const recorder = getLocalSpanRecorder(); + if (recorder == null ? void 0 : recorder.isLocalRecordingSpan(span)) { + return recorder.withLocalSpan(span, ()=>recorder.isOpenTelemetryIsolatedSpan(span) ? fn() : context.with(trace.setSpan(context.active(), span), fn)); + } + return context.with(trace.setSpan(context.active(), span), fn); + } +} +const getTracer = (()=>{ + const tracer = new NextTracerImpl(); + return ()=>tracer; +})(); +; +}), +"[project]/node_modules/next/dist/esm/server/normalizers/built/app/app-pathname-normalizer.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "AppPathnameNormalizer", + ()=>AppPathnameNormalizer, + "DevAppPathnameNormalizer", + ()=>DevAppPathnameNormalizer +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$normalizers$2f$normalizers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/normalizers/normalizers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$normalizers$2f$wrap$2d$normalizer$2d$fn$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/normalizers/wrap-normalizer-fn.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$normalizers$2f$underscore$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/normalizers/underscore-normalizer.js [middleware] (ecmascript)"); +; +; +; +; +class AppPathnameNormalizer extends __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$normalizers$2f$normalizers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["Normalizers"] { + constructor(){ + super([ + // The pathname to match should have the trailing `/page` and other route + // group information stripped from it. + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$normalizers$2f$wrap$2d$normalizer$2d$fn$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["wrapNormalizerFn"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeAppPath"]), + // The page should have the `%5F` characters replaced with `_` characters. + new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$normalizers$2f$underscore$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["UnderscoreNormalizer"]() + ]); + } + normalize(page) { + return super.normalize(page); + } +} +class DevAppPathnameNormalizer extends __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$normalizers$2f$normalizers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["Normalizers"] { + constructor(pageNormalizer){ + super([ + // This should normalize the filename to a page. + pageNormalizer, + // Normalize the app page to a pathname. + new AppPathnameNormalizer() + ]); + } + normalize(filename) { + return super.normalize(filename); + } +} +}), +"[project]/node_modules/next/dist/esm/server/normalizers/normalizers.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Normalizers combines many normalizers into a single normalizer interface that + * will normalize the inputted pathname with each normalizer in order. + */ __turbopack_context__.s([ + "Normalizers", + ()=>Normalizers +]); +class Normalizers { + constructor(normalizers = []){ + this.normalizers = normalizers; + } + push(normalizer) { + this.normalizers.push(normalizer); + } + normalize(pathname) { + return this.normalizers.reduce((normalized, normalizer)=>normalizer.normalize(normalized), pathname); + } +} +}), +"[project]/node_modules/next/dist/esm/server/normalizers/underscore-normalizer.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * UnderscoreNormalizer replaces all instances of %5F with _. + */ __turbopack_context__.s([ + "UnderscoreNormalizer", + ()=>UnderscoreNormalizer +]); +class UnderscoreNormalizer { + normalize(pathname) { + return pathname.replace(/%5F/g, '_'); + } +} +}), +"[project]/node_modules/next/dist/esm/server/normalizers/wrap-normalizer-fn.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "wrapNormalizerFn", + ()=>wrapNormalizerFn +]); +function wrapNormalizerFn(fn) { + return { + normalize: fn + }; +} +}), +"[project]/node_modules/next/dist/esm/server/pipe-readable.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "isAbortError", + ()=>isAbortError, + "pipeNodeReadableToNodeResponse", + ()=>pipeNodeReadableToNodeResponse, + "pipeToNodeResponse", + ()=>pipeToNodeResponse +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$next$2d$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/next-request.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/promise-with-resolvers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/tracer.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/constants.js [middleware] (ecmascript)"); +; +; +; +; +function isAbortError(e) { + return (e == null ? void 0 : e.name) === 'AbortError' || (e == null ? void 0 : e.name) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$next$2d$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ResponseAbortedName"]; +} +const HAS_CLIENT_COMPONENT_METRICS_ENABLED = 'performance' in globalThis && process.env.NEXT_OTEL_PERFORMANCE_PREFIX; +function createWriterFromResponse(res, waitUntilForEnd, clientComponentLoadTracker) { + let started = false; + // Create a promise that will resolve once the response has drained. See + // https://nodejs.org/api/stream.html#stream_event_drain + let drained = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createPromiseWithResolvers"])(); + function onDrain() { + drained.resolve(); + } + res.on('drain', onDrain); + // If the finish event fires, it means we shouldn't block and wait for the + // drain event. + res.once('close', ()=>{ + res.off('drain', onDrain); + drained.resolve(); + }); + // Create a promise that will resolve once the response has finished. See + // https://nodejs.org/api/http.html#event-finish_1 + const finished = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createPromiseWithResolvers"])(); + res.once('finish', ()=>{ + finished.resolve(); + }); + // Create a writable stream that will write to the response. + return new WritableStream({ + write: async (chunk)=>{ + // You'd think we'd want to use `start` instead of placing this in `write` + // but this ensures that we don't actually flush the headers until we've + // started writing chunks. + if (!started) { + started = true; + if (HAS_CLIENT_COMPONENT_METRICS_ENABLED) { + const metrics = clientComponentLoadTracker == null ? void 0 : clientComponentLoadTracker.snapshot(); + if (metrics) { + performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`, { + start: metrics.clientComponentLoadStart, + end: metrics.clientComponentLoadStart + metrics.clientComponentLoadTimes + }); + } + } + res.flushHeaders(); + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getTracer"])().trace(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextNodeServerSpan"].startResponse, { + spanName: 'start response' + }, ()=>undefined); + } + try { + const ok = res.write(chunk); + // Added by the `compression` middleware, this is a function that will + // flush the partially-compressed response to the client. + if ('flush' in res && typeof res.flush === 'function') { + res.flush(); + } + // If the write returns false, it means there's some backpressure, so + // wait until it's streamed before continuing. + if (!ok) { + await drained.promise; + // Reset the drained promise so that we can wait for the next drain event. + drained = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createPromiseWithResolvers"])(); + } + } catch (err) { + res.end(); + throw new Error('failed to write chunk to response', { + cause: err + }); + } + }, + abort: (err)=>{ + if (res.writableFinished) return; + res.destroy(err); + }, + close: async ()=>{ + // if a waitUntil promise was passed, wait for it to resolve before + // ending the response. + if (waitUntilForEnd) { + await waitUntilForEnd; + } + if (res.writableFinished) return; + res.end(); + return finished.promise; + } + }); +} +async function pipeToNodeResponse(readable, res, waitUntilForEnd, clientComponentLoadTracker) { + try { + // If the response has already errored, then just return now. + const { errored, destroyed } = res; + if (errored || destroyed) return; + // Create a new AbortController so that we can abort the readable if the + // client disconnects. + const controller = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$next$2d$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createAbortController"])(res); + const writer = createWriterFromResponse(res, waitUntilForEnd, clientComponentLoadTracker); + await readable.pipeTo(writer, { + signal: controller.signal + }); + } catch (err) { + // If this isn't related to an abort error, re-throw it. + if (isAbortError(err)) return; + throw new Error('failed to pipe response', { + cause: err + }); + } +} +async function pipeNodeReadableToNodeResponse(readable, res, waitUntilForEnd, clientComponentLoadTracker) { + try { + const { errored, destroyed } = res; + if (errored || destroyed) return; + let started = false; + const finished = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createPromiseWithResolvers"])(); + // One `drain` listener for the whole response, as in + // `createWriterFromResponse` above. It must not be `res.once('drain')` per + // backpressured write: the `compression` middleware forwards `res.on` to + // its zlib stream but leaves `removeListener` pointing at the response, so + // a `once` listener is never removed from the stream it was added to. Each + // backpressured write would leak one, and past ten Node reports the stream + // as a probable leak via `MaxListenersExceededWarning`. + // + // TODO: the upstream fix for that asymmetry is + // https://github.com/expressjs/compression/pull/153, which intercepts + // `removeListener` so it reaches the zlib stream. It has been open since + // 2019 and is not in upstream 1.8.1; we vendor 1.7.4. If it ever lands and + // we upgrade, `res.off('drain', onDrain)` below would start working with + // compression active and the caveat on the `close` handler could go away. + let paused = false; + const onDrain = ()=>{ + // The listener outlives the readable: `off` below cannot reach the zlib + // stream either, so a late drain can arrive after teardown. + if (!paused || readable.destroyed) return; + paused = false; + readable.resume(); + }; + res.on('drain', onDrain); + res.once('close', ()=>{ + // Only removes the listener when compression is inactive, which is the + // case where it was added to the response itself. Otherwise it lives on + // the zlib stream, which is released with the response. + res.off('drain', onDrain); + readable.destroy(); + finished.resolve(); + }); + readable.on('data', (chunk)=>{ + if (!started) { + started = true; + if ('performance' in globalThis && process.env.NEXT_OTEL_PERFORMANCE_PREFIX) { + const metrics = clientComponentLoadTracker == null ? void 0 : clientComponentLoadTracker.snapshot(); + if (metrics) { + performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`, { + start: metrics.clientComponentLoadStart, + end: metrics.clientComponentLoadStart + metrics.clientComponentLoadTimes + }); + } + } + res.flushHeaders(); + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getTracer"])().trace(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextNodeServerSpan"].startResponse, { + spanName: 'start response' + }, ()=>undefined); + } + const ok = res.write(chunk); + if ('flush' in res && typeof res.flush === 'function') { + res.flush(); + } + if (!ok) { + paused = true; + readable.pause(); + } + }); + readable.on('end', async ()=>{ + if (waitUntilForEnd) { + await waitUntilForEnd; + } + if (!res.writableFinished) { + res.end(); + } + finished.resolve(); + }); + readable.on('error', (err)=>{ + if (isAbortError(err)) { + finished.resolve(); + return; + } + res.destroy(err); + finished.resolve(); + }); + await finished.promise; + } catch (err) { + if (isAbortError(err)) return; + throw new Error('failed to pipe response', { + cause: err + }); + } +} +}), +"[project]/node_modules/next/dist/esm/server/render-result.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>RenderResult +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/stream-utils/node-web-streams-helper.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$pipe$2d$readable$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/pipe-readable.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +; +; +; +function isNodeReadable(value) { + return value !== null && typeof value === 'object' && typeof value.pipe === 'function' && typeof value.on === 'function' && !(value instanceof ReadableStream); +} +class RenderResult { + static #_ = /** + * A render result that represents an empty response. This is used to + * represent a response that was not found or was already sent. + */ this.EMPTY = new RenderResult(null, { + metadata: {}, + contentType: null + }); + /** + * Creates a new RenderResult instance from a static response. + * + * @param value the static response value + * @param contentType the content type of the response + * @returns a new RenderResult instance + */ static fromStatic(value, contentType) { + return new RenderResult(value, { + metadata: {}, + contentType + }); + } + constructor(response, { contentType, waitUntil, metadata }){ + this.response = response; + this.contentType = contentType; + this.metadata = metadata; + this.waitUntil = waitUntil; + } + assignMetadata(metadata) { + Object.assign(this.metadata, metadata); + } + /** + * Returns true if the response is null. It can be null if the response was + * not found or was already sent. + */ get isNull() { + return this.response === null; + } + /** + * Returns false if the response is a string. It can be a string if the page + * was prerendered. If it's not, then it was generated dynamically. + */ get isDynamic() { + return typeof this.response !== 'string'; + } + toUnchunkedString(stream = false) { + if (this.response === null) { + // If the response is null, return an empty string. This behavior is + // intentional as we're now providing the `RenderResult.EMPTY` value. + return ''; + } + if (typeof this.response !== 'string') { + if (!stream) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('dynamic responses cannot be unchunked. This is a bug in Next.js'); + } + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["streamToString"])(this.readable); + } + return this.response; + } + /** + * Returns a readable stream of the response. + */ get readable() { + if (this.response === null) { + // If the response is null, return an empty stream. This behavior is + // intentional as we're now providing the `RenderResult.EMPTY` value. + return new ReadableStream({ + start (controller) { + controller.close(); + } + }); + } + if (typeof this.response === 'string') { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["streamFromString"])(this.response); + } + if (Buffer.isBuffer(this.response)) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["streamFromBuffer"])(this.response); + } + // If the response is an array of streams, then chain them together. + if (Array.isArray(this.response)) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["chainStreams"])(...this.response); + } + if (isNodeReadable(this.response)) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + let Readable; + if ("TURBOPACK compile-time truthy", 1) { + Readable = __turbopack_context__.r("[externals]/node:stream [external] (node:stream, cjs)").Readable; + } else //TURBOPACK unreachable + ; + return Readable.toWeb(this.response); + } + } + return this.response; + } + /** + * Coerces the response to an array of streams. This will convert the response + * to an array of streams if it is not already one. + * + * @returns An array of streams + */ coerce() { + if (this.response === null) { + // If the response is null, return an empty stream. This behavior is + // intentional as we're now providing the `RenderResult.EMPTY` value. + return []; + } + if (typeof this.response === 'string') { + return [ + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["streamFromString"])(this.response) + ]; + } else if (Array.isArray(this.response)) { + return this.response; + } else if (Buffer.isBuffer(this.response)) { + return [ + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["streamFromBuffer"])(this.response) + ]; + } else if (isNodeReadable(this.response)) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + let Readable; + if ("TURBOPACK compile-time truthy", 1) { + Readable = __turbopack_context__.r("[externals]/node:stream [external] (node:stream, cjs)").Readable; + } else //TURBOPACK unreachable + ; + return [ + Readable.toWeb(this.response) + ]; + } + } else { + return [ + this.response + ]; + } + } + /** + * Pipes the response through a transform stream. This converts the response + * to a single readable stream (chaining if needed) and pipes it through the + * provided transform. + * + * @param transform The transform stream to pipe through + */ pipeThrough(transform) { + this.response = this.readable.pipeThrough(transform); + } + /** + * Unshifts a new stream to the response. This will convert the response to an + * array of streams if it is not already one and will add the new stream to + * the start of the array. When this response is piped, all of the streams + * will be piped one after the other. + * + * @param readable The new stream to unshift + */ unshift(readable) { + // Coerce the response to an array of streams. + this.response = this.coerce(); + // Add the new stream to the start of the array. + this.response.unshift(readable); + } + /** + * Chains a new stream to the response. This will convert the response to an + * array of streams if it is not already one and will add the new stream to + * the end. When this response is piped, all of the streams will be piped + * one after the other. + * + * @param readable The new stream to chain + */ push(readable) { + // Coerce the response to an array of streams. + this.response = this.coerce(); + // Add the new stream to the end of the array. + this.response.push(readable); + } + /** + * Pipes the response to a writable stream. This will close/cancel the + * writable stream if an error is encountered. If this doesn't throw, then + * the writable stream will be closed or aborted. + * + * @param writable Writable stream to pipe the response to + */ async pipeTo(writable) { + try { + await this.readable.pipeTo(writable, { + // We want to close the writable stream ourselves so that we can wait + // for the waitUntil promise to resolve before closing it. If an error + // is encountered, we'll abort the writable stream if we swallowed the + // error. + preventClose: true + }); + // If there is a waitUntil promise, wait for it to resolve before + // closing the writable stream. + if (this.waitUntil) await this.waitUntil; + // Close the writable stream. + await writable.close(); + } catch (err) { + // If this is an abort error, we should abort the writable stream (as we + // took ownership of it when we started piping). We don't need to re-throw + // because we handled the error. + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$pipe$2d$readable$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isAbortError"])(err)) { + // Abort the writable stream if an error is encountered. + await writable.abort(err); + return; + } + // We're not aborting the writer here as when this method throws it's not + // clear as to how so the caller should assume it's their responsibility + // to clean up the writer. + throw err; + } + } + /** + * Pipes the response to a node response. This will close/cancel the node + * response if an error is encountered. + * + * @param res + */ async pipeToNodeResponse(res) { + if (this.response !== null && typeof this.response !== 'string' && !Buffer.isBuffer(this.response) && !Array.isArray(this.response) && isNodeReadable(this.response)) { + await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$pipe$2d$readable$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pipeNodeReadableToNodeResponse"])(this.response, res, this.waitUntil, this.metadata.clientComponentLoadTracker); + return; + } + await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$pipe$2d$readable$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pipeToNodeResponse"])(this.readable, res, this.waitUntil, this.metadata.clientComponentLoadTracker); + } +} +}), +"[project]/node_modules/next/dist/esm/server/request-meta.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +// FIXME: (wyattjoh) this is a temporary solution to allow us to pass data between bundled modules +__turbopack_context__.s([ + "NEXT_REQUEST_META", + ()=>NEXT_REQUEST_META, + "addRequestMeta", + ()=>addRequestMeta, + "getRequestMeta", + ()=>getRequestMeta, + "removeRequestMeta", + ()=>removeRequestMeta, + "setRequestMeta", + ()=>setRequestMeta +]); +const NEXT_REQUEST_META = Symbol.for('NextInternalRequestMeta'); +function getRequestMeta(req, key) { + const meta = req[NEXT_REQUEST_META] || {}; + return typeof key === 'string' ? meta[key] : meta; +} +function setRequestMeta(req, meta) { + req[NEXT_REQUEST_META] = meta; + return meta; +} +function addRequestMeta(request, key, value) { + const meta = getRequestMeta(request); + meta[key] = value; + return setRequestMeta(request, meta); +} +function removeRequestMeta(request, key) { + const meta = getRequestMeta(request); + delete meta[key]; + return setRequestMeta(request, meta); +} +}), +"[project]/node_modules/next/dist/esm/server/response-cache/index.js [middleware] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>ResponseCache +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/response-cache/types.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$batcher$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/batcher.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lru$2d$cache$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/lru-cache.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$output$2f$log$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/build/output/log.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/scheduler.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/response-cache/utils.js [middleware] (ecmascript)"); +; +; +; +; +; +; +; +/** + * Parses an environment variable as a positive integer, returning the fallback + * if the value is missing, not a number, or not positive. + */ function parsePositiveInt(envValue, fallback) { + if (!envValue) return fallback; + const parsed = parseInt(envValue, 10); + return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback; +} +/** + * Default TTL (in milliseconds) for minimal mode response cache entries. + * Used for cache hit validation as a fallback for providers that don't + * send the x-invocation-id header yet. + * + * 10 seconds chosen because: + * - Long enough to dedupe rapid successive requests (e.g., page + data) + * - Short enough to not serve stale data across unrelated requests + * + * Can be configured via `NEXT_PRIVATE_RESPONSE_CACHE_TTL` environment variable. + */ const DEFAULT_TTL_MS = parsePositiveInt(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL, 10000); +/** + * Default maximum number of entries in the response cache. + * Can be configured via `NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE` environment variable. + */ const DEFAULT_MAX_SIZE = parsePositiveInt(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE, 150); +/** + * Separator used in compound cache keys to join pathname and invocationID. + * Using null byte (\0) since it cannot appear in valid URL paths or UUIDs. + */ const KEY_SEPARATOR = '\0'; +/** + * Sentinel value used for TTL-based cache entries (when invocationID is undefined). + * Chosen to be a clearly reserved marker for internal cache keys. + */ const TTL_SENTINEL = '__ttl_sentinel__'; +/** + * Creates a compound cache key from pathname and invocationID. + */ function createCacheKey(pathname, invocationID) { + return `${pathname}${KEY_SEPARATOR}${invocationID ?? TTL_SENTINEL}`; +} +/** + * Extracts the invocationID from a compound cache key. + * Returns undefined if the key used TTL_SENTINEL. + */ function extractInvocationID(compoundKey) { + const separatorIndex = compoundKey.lastIndexOf(KEY_SEPARATOR); + if (separatorIndex === -1) return undefined; + const invocationID = compoundKey.slice(separatorIndex + 1); + return invocationID === TTL_SENTINEL ? undefined : invocationID; +} +; +class ResponseCache { + constructor({ minimalMode, route, maxSize = DEFAULT_MAX_SIZE, ttl = DEFAULT_TTL_MS }){ + // The get and revalidate batchers share pending renders across invocation + // IDs, including failures. Invocation IDs scope reuse of completed results in + // the LRU below. + this.getBatcher = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$batcher$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["Batcher"].create({ + // Ensure on-demand revalidate doesn't block normal requests, it should be + // safe to run an on-demand revalidate for the same key as a normal request. + cacheKeyFn: ({ key, isOnDemandRevalidate })=>`${key}-${isOnDemandRevalidate ? '1' : '0'}`, + // We wait to do any async work until after we've added our promise to + // `pendingResponses` to ensure that any any other calls will reuse the + // same promise until we've fully finished our work. + schedulerFn: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["scheduleOnNextTick"] + }); + this.revalidateBatcher = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$batcher$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["Batcher"].create({ + // We wait to do any async work until after we've added our promise to + // `pendingResponses` to ensure that any any other calls will reuse the + // same promise until we've fully finished our work. + schedulerFn: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["scheduleOnNextTick"] + }); + /** + * Set of invocation IDs that have had cache entries evicted. + * Used to detect when the cache size may be too small. + * Bounded to prevent memory growth. + */ this.evictedInvocationIDs = new Set(); + if (!route) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('Response cache requires a source route'); + } + this.route = route; + this.minimal_mode = minimalMode; + this.maxSize = maxSize; + this.ttl = ttl; + // Create the LRU cache with eviction tracking + this.cache = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$lru$2d$cache$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["LRUCache"](maxSize, undefined, (compoundKey)=>{ + const invocationID = extractInvocationID(compoundKey); + if (invocationID) { + // Bound to 100 entries to prevent unbounded memory growth. + // FIFO eviction is acceptable here because: + // 1. Invocations are short-lived (single request lifecycle), so older + // invocations are unlikely to still be active after 100 newer ones + // 2. This warning mechanism is best-effort for developer guidance— + // missing occasional eviction warnings doesn't affect correctness + // 3. If a long-running invocation is somehow evicted and then has + // another cache entry evicted, it will simply be re-added + if (this.evictedInvocationIDs.size >= 100) { + const first = this.evictedInvocationIDs.values().next().value; + if (first) this.evictedInvocationIDs.delete(first); + } + this.evictedInvocationIDs.add(invocationID); + } + }); + } + /** + * Gets the response cache entry for the given key. + * + * @param key - The key to get the response cache entry for. + * @param responseGenerator - The response generator to use to generate the response cache entry. + * @param context - The context for the get request. + * @returns The response cache entry. + */ async get(key, responseGenerator, context) { + // If there is no key for the cache, we can't possibly look this up in the + // cache so just return the result of the response generator. + if (!key) { + return responseGenerator({ + hasResolved: false, + previousCacheEntry: null + }); + } + // Check minimal mode cache before doing any other work. + if (this.minimal_mode) { + const cacheKey = createCacheKey(key, context.invocationID); + const cachedItem = this.cache.get(cacheKey); + if (cachedItem) { + // With invocationID: exact match found - always a hit + // With TTL mode: must check expiration + if (context.invocationID !== undefined) { + return cachedItem.entry !== null && 'error' in cachedItem.entry ? cachedItem.entry : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["toResponseCacheEntry"])(cachedItem.entry); + } + // TTL entries can be reused by unrelated requests. Exclude failures so + // those requests can retry instead of receiving a cached error. + const now = Date.now(); + if ((cachedItem.entry === null || !('error' in cachedItem.entry)) && cachedItem.expiresAt > now) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["toResponseCacheEntry"])(cachedItem.entry); + } + // TTL expired - clean up + this.cache.remove(cacheKey); + } + // Warn if this invocation had entries evicted - indicates cache may be too small. + if (context.invocationID && this.evictedInvocationIDs.has(context.invocationID)) { + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$output$2f$log$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["warnOnce"])(`Response cache entry was evicted for invocation ${context.invocationID}. ` + `Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`); + } + } + const { incrementalCache, isOnDemandRevalidate = false, isFallback = false, isRoutePPREnabled = false, isPrefetch = false, waitUntil, invocationID } = context; + const response = await this.getBatcher.batch({ + key, + isOnDemandRevalidate + }, ({ resolve })=>{ + const promise = this.handleGet(key, responseGenerator, { + incrementalCache, + isOnDemandRevalidate, + isFallback, + isRoutePPREnabled, + isPrefetch, + invocationID + }, resolve); + // We need to ensure background revalidates are passed to waitUntil. + if (waitUntil) waitUntil(promise); + return promise; + }); + // In minimal mode, each caller with an invocation ID stores the shared + // failure under its own ID for reuse by related requests. Callers without + // an invocation ID receive the failure but do not store it in the LRU. + if (this.minimal_mode && response && ('error' in response ? invocationID !== undefined : response.cacheControl)) { + const cacheKey = createCacheKey(key, invocationID); + this.cache.set(cacheKey, { + entry: response, + expiresAt: Date.now() + this.ttl + }); + } + return response !== null && 'error' in response ? response : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["toResponseCacheEntry"])(response); + } + /** + * Handles the get request for the response cache. + * + * @param key - The key to get the response cache entry for. + * @param responseGenerator - The response generator to use to generate the response cache entry. + * @param context - The context for the get request. + * @param resolve - The resolve function to use to resolve the response cache entry. + * @returns The response cache entry. + */ async handleGet(key, responseGenerator, context, resolve) { + let previousIncrementalCacheEntry = null; + let resolved = false; + try { + // Get the previous cache entry if not in minimal mode + previousIncrementalCacheEntry = !this.minimal_mode ? await context.incrementalCache.get(key, this.getCacheContext(context.isRoutePPREnabled, context.isFallback)) : null; + // `isStale === -1` signals that the entry is past its `expire` (either + // via an expired tag or, with `cacheLife({ expire })`, past the route's + // expire time in the prerender manifest). In that case we must NOT + // early-resolve with the stale value — instead we fall through to a + // blocking revalidation so the response returned to the user is fresh. + if (previousIncrementalCacheEntry && !context.isOnDemandRevalidate && previousIncrementalCacheEntry.isStale !== -1) { + resolve(previousIncrementalCacheEntry); + resolved = true; + if (!previousIncrementalCacheEntry.isStale || context.isPrefetch) { + // The cached value is still valid, so we don't need to update it yet. + return previousIncrementalCacheEntry; + } + } + // Revalidate the cache entry. + // + // A prefetch request that missed must run its own response generator + // rather than joining an in-flight revalidation through the batcher. A + // background revalidation may be regenerating the concrete (non-fallback) + // entry for this route — e.g. an ISR fallback-shell upgrade scheduled by + // an earlier prefetch sub-request. Joining it would serve that concrete + // result to the prefetch instead of the fallback shell, and which segment + // wins would depend purely on request timing. Running the generator + // directly lets every prefetch segment take the same fallback-shell path, + // independent of any concurrent background upgrade. + const incrementalResponseCacheEntry = context.isPrefetch && previousIncrementalCacheEntry === null ? await this.handleRevalidate(key, context.incrementalCache, context.isRoutePPREnabled, context.isFallback, responseGenerator, previousIncrementalCacheEntry, resolved) : await this.revalidate(key, context.incrementalCache, context.isRoutePPREnabled, context.isFallback, responseGenerator, previousIncrementalCacheEntry, resolved); + if (incrementalResponseCacheEntry !== null && 'error' in incrementalResponseCacheEntry && resolved) { + // The caller already received the stale entry. Report the background + // failure here, as the catch below does for a thrown error. + console.error(incrementalResponseCacheEntry.error); + return null; + } + // Handle null response + if (!incrementalResponseCacheEntry) { + // Remove the cache item if it was set so we don't use it again. + if (this.minimal_mode) { + const cacheKey = createCacheKey(key, context.invocationID); + this.cache.remove(cacheKey); + } + return null; + } + // Resolve for on-demand revalidation or if not already resolved + if (context.isOnDemandRevalidate && !resolved) { + return incrementalResponseCacheEntry; + } + return incrementalResponseCacheEntry; + } catch (err) { + // If we've already resolved the cache entry, we can't reject as we + // already resolved the cache entry so log the error here. + if (resolved) { + console.error(err); + return null; + } + throw err; + } + } + /** + * Revalidates the cache entry for the given key. + * + * @param key - The key to revalidate the cache entry for. + * @param incrementalCache - The incremental cache to use to revalidate the cache entry. + * @param isRoutePPREnabled - Whether the route is PPR enabled. + * @param isFallback - Whether the route is a fallback. + * @param responseGenerator - The response generator to use to generate the response cache entry. + * @param previousIncrementalCacheEntry - The previous cache entry to use to revalidate the cache entry. + * @param hasResolved - Whether the response has been resolved. + * @param waitUntil - Optional function to register background work. + * @param invocationID - The invocation ID for cache key scoping. + * @returns The revalidated cache entry. + */ async revalidate(key, incrementalCache, isRoutePPREnabled, isFallback, responseGenerator, previousIncrementalCacheEntry, hasResolved, waitUntil) { + return this.revalidateBatcher.batch(key, ()=>{ + const promise = this.handleRevalidate(key, incrementalCache, isRoutePPREnabled, isFallback, responseGenerator, previousIncrementalCacheEntry, hasResolved); + // We need to ensure background revalidates are passed to waitUntil. + if (waitUntil) waitUntil(promise); + return promise; + }); + } + async handleRevalidate(key, incrementalCache, isRoutePPREnabled, isFallback, responseGenerator, previousIncrementalCacheEntry, hasResolved) { + let failure; + try { + // Generate the response cache entry using the response generator. + const responseCacheEntry = await responseGenerator({ + hasResolved, + previousCacheEntry: previousIncrementalCacheEntry, + isRevalidating: true + }); + if (!responseCacheEntry) { + return null; + } + if ('error' in responseCacheEntry) { + failure = responseCacheEntry; + } else { + // Convert the response cache entry to an incremental response cache entry. + const incrementalResponseCacheEntry = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["fromResponseCacheEntry"])({ + ...responseCacheEntry, + isMiss: !previousIncrementalCacheEntry + }); + // We want to persist the result only if it has a cache control value + // defined. The minimal mode LRU write is handled in get() so that every + // caller, including batched invocations, populates the cache. + if (incrementalResponseCacheEntry.cacheControl && !this.minimal_mode) { + await incrementalCache.set(key, incrementalResponseCacheEntry.value, { + ...this.getCacheContext(isRoutePPREnabled, isFallback), + cacheControl: incrementalResponseCacheEntry.cacheControl + }); + } + return incrementalResponseCacheEntry; + } + } catch (err) { + await this.retainPreviousCacheEntry(key, incrementalCache, isRoutePPREnabled, isFallback, previousIncrementalCacheEntry); + throw err; + } + await this.retainPreviousCacheEntry(key, incrementalCache, isRoutePPREnabled, isFallback, previousIncrementalCacheEntry); + return failure; + } + // Retain the previous successful value and delay retries after revalidation + // fails. + async retainPreviousCacheEntry(key, incrementalCache, isRoutePPREnabled, isFallback, previousIncrementalCacheEntry) { + if (previousIncrementalCacheEntry == null ? void 0 : previousIncrementalCacheEntry.cacheControl) { + const revalidate = Math.min(Math.max(previousIncrementalCacheEntry.cacheControl.revalidate || 3, 3), 30); + const expire = previousIncrementalCacheEntry.cacheControl.expire === undefined ? undefined : Math.max(revalidate + 3, previousIncrementalCacheEntry.cacheControl.expire); + await incrementalCache.set(key, previousIncrementalCacheEntry.value, { + ...this.getCacheContext(isRoutePPREnabled, isFallback), + cacheControl: { + revalidate: revalidate, + expire: expire + } + }); + } + } + getCacheContext(isRoutePPREnabled, isFallback) { + if (this.route === 'image') { + return { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].IMAGE, + isFallback: false + }; + } + const kind = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["routeKindToIncrementalCacheKind"])(this.route.kind); + if (kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].IMAGE) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('Images must use the image response cache'); + } + return { + route: this.route, + kind, + isRoutePPREnabled, + isFallback + }; + } +} +}), +"[project]/node_modules/next/dist/esm/server/response-cache/types.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "CachedRouteKind", + ()=>CachedRouteKind, + "IncrementalCacheKind", + ()=>IncrementalCacheKind +]); +var CachedRouteKind = /*#__PURE__*/ function(CachedRouteKind) { + CachedRouteKind["APP_PAGE"] = "APP_PAGE"; + CachedRouteKind["APP_ROUTE"] = "APP_ROUTE"; + CachedRouteKind["PAGES"] = "PAGES"; + CachedRouteKind["FETCH"] = "FETCH"; + CachedRouteKind["REDIRECT"] = "REDIRECT"; + CachedRouteKind["IMAGE"] = "IMAGE"; + return CachedRouteKind; +}({}); +var IncrementalCacheKind = /*#__PURE__*/ function(IncrementalCacheKind) { + IncrementalCacheKind["APP_PAGE"] = "APP_PAGE"; + IncrementalCacheKind["APP_ROUTE"] = "APP_ROUTE"; + IncrementalCacheKind["PAGES"] = "PAGES"; + IncrementalCacheKind["FETCH"] = "FETCH"; + IncrementalCacheKind["IMAGE"] = "IMAGE"; + return IncrementalCacheKind; +}({}); +}), +"[project]/node_modules/next/dist/esm/server/response-cache/utils.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "fromResponseCacheEntry", + ()=>fromResponseCacheEntry, + "routeKindToIncrementalCacheKind", + ()=>routeKindToIncrementalCacheKind, + "toResponseCacheEntry", + ()=>toResponseCacheEntry +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/response-cache/types.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/render-result.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/route-kind.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [middleware] (ecmascript)"); +; +; +; +; +async function fromResponseCacheEntry(cacheEntry) { + var _cacheEntry_value, _cacheEntry_value1; + return { + ...cacheEntry, + value: ((_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES ? { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES, + html: await cacheEntry.value.html.toUnchunkedString(true), + pageData: cacheEntry.value.pageData, + headers: cacheEntry.value.headers, + status: cacheEntry.value.status + } : ((_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE ? { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE, + html: await cacheEntry.value.html.toUnchunkedString(true), + postponed: cacheEntry.value.postponed, + rscData: cacheEntry.value.rscData, + headers: cacheEntry.value.headers, + status: cacheEntry.value.status, + segmentData: cacheEntry.value.segmentData + } : cacheEntry.value + }; +} +async function toResponseCacheEntry(response) { + var _response_value, _response_value1; + if (!response) return null; + return { + isMiss: response.isMiss, + isStale: response.isStale, + cacheControl: response.cacheControl, + isFallback: response.isFallback, + value: ((_response_value = response.value) == null ? void 0 : _response_value.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES ? { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES, + html: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].fromStatic(response.value.html, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["HTML_CONTENT_TYPE_HEADER"]), + pageData: response.value.pageData, + headers: response.value.headers, + status: response.value.status + } : ((_response_value1 = response.value) == null ? void 0 : _response_value1.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE ? { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE, + html: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["default"].fromStatic(response.value.html, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["HTML_CONTENT_TYPE_HEADER"]), + rscData: response.value.rscData, + headers: response.value.headers, + status: response.value.status, + postponed: response.value.postponed, + segmentData: response.value.segmentData + } : response.value + }; +} +function routeKindToIncrementalCacheKind(routeKind) { + switch(routeKind){ + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].PAGES: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].PAGES; + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].APP_PAGE: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE; + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].IMAGE: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].IMAGE; + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].APP_ROUTE: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_ROUTE; + case __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RouteKind"].PAGES_API: + // Pages Router API routes are not cached in the incremental cache. + throw new Error(`Unexpected route kind ${routeKind}`); + default: + return routeKind; + } +} +}), +"[project]/node_modules/next/dist/esm/server/revalidation-utils.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "executeRevalidates", + ()=>executeRevalidates, + "withExecuteRevalidates", + ()=>withExecuteRevalidates +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$handlers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/use-cache/handlers.js [middleware] (ecmascript)"); +; +async function withExecuteRevalidates(store, callback) { + if (!store) { + return callback(); + } + // If we executed any revalidates during the request, then we don't want to execute them again. + // save the state so we can check if anything changed after we're done running callbacks. + const savedRevalidationState = cloneRevalidationState(store); + try { + return await callback(); + } finally{ + // Check if we have any new revalidates, and if so, wait until they are all resolved. + const newRevalidates = diffRevalidationState(savedRevalidationState, cloneRevalidationState(store)); + await executeRevalidates(store, newRevalidates); + } +} +function cloneRevalidationState(store) { + return { + // revalidateTag updates revalidatedAt in place when the tag/profile already + // exists, so snapshot the items as well as the array. + pendingRevalidatedTags: store.pendingRevalidatedTags ? store.pendingRevalidatedTags.map((item)=>({ + ...item + })) : [], + pendingRevalidates: { + ...store.pendingRevalidates + }, + pendingRevalidateWrites: store.pendingRevalidateWrites ? [ + ...store.pendingRevalidateWrites + ] : [] + }; +} +function diffRevalidationState(prev, curr) { + const prevTagsWithProfile = new Map(prev.pendingRevalidatedTags.map((item)=>{ + const profileKey = typeof item.profile === 'object' ? JSON.stringify(item.profile) : item.profile || ''; + return [ + `${item.tag}:${profileKey}`, + item.revalidatedAt + ]; + })); + const prevRevalidateWrites = new Set(prev.pendingRevalidateWrites); + return { + pendingRevalidatedTags: curr.pendingRevalidatedTags.filter((item)=>{ + const profileKey = typeof item.profile === 'object' ? JSON.stringify(item.profile) : item.profile || ''; + const previousRevalidatedAt = prevTagsWithProfile.get(`${item.tag}:${profileKey}`); + return previousRevalidatedAt === undefined || item.revalidatedAt > previousRevalidatedAt; + }), + pendingRevalidates: Object.fromEntries(Object.entries(curr.pendingRevalidates).filter(([key])=>!(key in prev.pendingRevalidates))), + pendingRevalidateWrites: curr.pendingRevalidateWrites.filter((promise)=>!prevRevalidateWrites.has(promise)) + }; +} +async function revalidateTags(tagsWithProfile, incrementalCache, workStore) { + if (tagsWithProfile.length === 0) { + return; + } + const handlers = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$handlers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getCacheHandlers"])() ?? []; + const promises = []; + // Group tags by profile for batch processing + const tagsByProfile = new Map(); + for (const item of tagsWithProfile){ + const profile = item.profile; + // Find existing profile by comparing values + let existingKey = undefined; + for (const [key] of tagsByProfile){ + if (typeof key === 'string' && typeof profile === 'string' && key === profile) { + existingKey = key; + break; + } + if (typeof key === 'object' && typeof profile === 'object' && JSON.stringify(key) === JSON.stringify(profile)) { + existingKey = key; + break; + } + if (key === profile) { + existingKey = key; + break; + } + } + const profileKey = existingKey || profile; + if (!tagsByProfile.has(profileKey)) { + tagsByProfile.set(profileKey, []); + } + tagsByProfile.get(profileKey).push(item.tag); + } + // Process each profile group + for (const [profile, tagsForProfile] of tagsByProfile){ + // Look up the cache profile from workStore if available + let durations; + if (profile) { + let cacheLife; + if (typeof profile === 'object') { + // Profile is already a cacheLife configuration object + cacheLife = profile; + } else if (typeof profile === 'string') { + // Profile is a string key, look it up in workStore + cacheLife = workStore == null ? void 0 : workStore.cacheLifeProfiles[profile]; + if (!cacheLife) { + throw new Error(`Invalid profile provided "${profile}" must be configured under cacheLife in next.config or be "max"`); + } + } + if (cacheLife) { + durations = { + expire: cacheLife.expire + }; + } + } + // If profile is not found and not 'max', durations will be undefined + // which will trigger immediate expiration in the cache handler + for (const handler of handlers){ + if (profile) { + promises.push(handler.updateTags == null ? void 0 : handler.updateTags.call(handler, tagsForProfile, durations)); + } else { + promises.push(handler.updateTags == null ? void 0 : handler.updateTags.call(handler, tagsForProfile)); + } + } + if (incrementalCache) { + promises.push(incrementalCache.revalidateTag(tagsForProfile, durations)); + } + } + await Promise.all(promises); +} +function executeRevalidates(workStore, state) { + const promises = []; + const pendingRevalidatedTags = (state == null ? void 0 : state.pendingRevalidatedTags) ?? workStore.pendingRevalidatedTags ?? []; + if (pendingRevalidatedTags.length > 0) { + promises.push(revalidateTags(pendingRevalidatedTags, workStore.incrementalCache, workStore)); + } + const pendingRevalidates = Object.values((state == null ? void 0 : state.pendingRevalidates) ?? workStore.pendingRevalidates ?? {}); + promises.push(...pendingRevalidates); + const pendingRevalidateWrites = (state == null ? void 0 : state.pendingRevalidateWrites) ?? workStore.pendingRevalidateWrites ?? []; + promises.push(...pendingRevalidateWrites); + if (promises.length === 0) { + return false; + } + return Promise.all(promises).then(()=>undefined); +} +}), +"[project]/node_modules/next/dist/esm/server/route-kind.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "RouteKind", + ()=>RouteKind +]); +var RouteKind = /*#__PURE__*/ function(RouteKind) { + /** + * `PAGES` represents all the React pages that are under `pages/`. + */ RouteKind["PAGES"] = "PAGES"; + /** + * `PAGES_API` represents all the API routes under `pages/api/`. + */ RouteKind["PAGES_API"] = "PAGES_API"; + /** + * `APP_PAGE` represents all the React pages that are under `app/` with the + * filename of `page.{j,t}s{,x}`. + */ RouteKind["APP_PAGE"] = "APP_PAGE"; + /** + * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the + * filename of `route.{j,t}s{,x}`. + */ RouteKind["APP_ROUTE"] = "APP_ROUTE"; + /** + * `IMAGE` represents all the images that are generated by `next/image`. + */ RouteKind["IMAGE"] = "IMAGE"; + return RouteKind; +}({}); +}), +"[project]/node_modules/next/dist/esm/server/server-utils.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getPreviouslyRevalidatedTags", + ()=>getPreviouslyRevalidatedTags, + "getServerUtils", + ()=>getServerUtils, + "interpolateDynamicPath", + ()=>interpolateDynamicPath, + "normalizeCdnUrl", + ()=>normalizeCdnUrl, + "normalizeDynamicRouteParams", + ()=>normalizeDynamicRouteParams +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$match$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/path-match.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$regex$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/route-regex.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$matcher$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/route-matcher.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$prepare$2d$destination$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/prepare-destination.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$decode$2d$query$2d$path$2d$parameter$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/decode-query-path-parameter.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/url.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$format$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/format-url.js [middleware] (ecmascript)"); +; +; +; +; +; +; +; +; +; +; +; +; +function filterInternalQuery(query, paramKeys) { + // this is used to pass query information in rewrites + // but should not be exposed in final query + delete query['nextInternalLocale']; + for(const key in query){ + const isNextQueryPrefix = key !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_QUERY_PARAM_PREFIX"] && key.startsWith(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_QUERY_PARAM_PREFIX"]); + const isNextInterceptionMarkerPrefix = key !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_INTERCEPTION_MARKER_PREFIX"] && key.startsWith(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_INTERCEPTION_MARKER_PREFIX"]); + if (isNextQueryPrefix || isNextInterceptionMarkerPrefix || paramKeys.includes(key)) { + delete query[key]; + } + } +} +function normalizeCdnUrl(req, paramKeys) { + // make sure to normalize req.url from CDNs to strip dynamic and rewrite + // params from the query which are added during routing + const _parsedUrl = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseReqUrl"])(req.url); + // we can't normalize if we can't parse + if (!_parsedUrl) { + return req.url; + } + delete _parsedUrl.search; + filterInternalQuery(_parsedUrl.query, paramKeys); + req.url = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$format$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatUrl"])(_parsedUrl); +} +function interpolateDynamicPath(pathname, params, defaultRouteRegex) { + if (!defaultRouteRegex) return pathname; + for (const param of Object.keys(defaultRouteRegex.groups)){ + const { optional, repeat } = defaultRouteRegex.groups[param]; + let builtParam = `[${repeat ? '...' : ''}${param}]`; + if (optional) { + builtParam = `[${builtParam}]`; + } + let paramValue; + const value = params[param]; + if (Array.isArray(value)) { + paramValue = value.map((v)=>v && encodeURIComponent(v)).join('/'); + } else if (value) { + paramValue = encodeURIComponent(value); + } else { + paramValue = ''; + } + if (paramValue || optional) { + pathname = pathname.replaceAll(builtParam, paramValue); + } + } + return pathname; +} +function normalizeDynamicRouteParams(query, defaultRouteRegex, defaultRouteMatches, ignoreMissingOptional) { + const isDefaultValueMatch = (candidateValue, defaultValue)=>{ + if (!candidateValue) { + return false; + } + let normalizedCandidateValue = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeRscURL"])(candidateValue); + for(let i = 0; i < 3; i++){ + if (normalizedCandidateValue === defaultValue) { + return true; + } + const decodedCandidateValue = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$decode$2d$query$2d$path$2d$parameter$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["decodeQueryPathParameter"])(normalizedCandidateValue); + if (decodedCandidateValue === normalizedCandidateValue) { + break; + } + normalizedCandidateValue = decodedCandidateValue; + } + return false; + }; + let hasValidParams = true; + let params = {}; + for (const key of Object.keys(defaultRouteRegex.groups)){ + let value = query[key]; + if (typeof value === 'string') { + value = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeRscURL"])(value); + } else if (Array.isArray(value)) { + value = value.map(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeRscURL"]); + } + // if the value matches the default value we can't rely + // on the parsed params, this is used to signal if we need + // to parse x-now-route-matches or not + const defaultValue = defaultRouteMatches[key]; + const isOptional = defaultRouteRegex.groups[key].optional; + const isDefaultValue = Array.isArray(defaultValue) ? defaultValue.some((defaultVal)=>{ + return Array.isArray(value) ? value.some((val)=>isDefaultValueMatch(val, defaultVal)) : isDefaultValueMatch(value, defaultVal); + }) : Array.isArray(value) ? value.some((val)=>isDefaultValueMatch(val, defaultValue)) : isDefaultValueMatch(value, defaultValue); + if (isDefaultValue || typeof value === 'undefined' && !(isOptional && ignoreMissingOptional)) { + return { + params: {}, + hasValidParams: false + }; + } + // non-provided optional values should be undefined so normalize + // them to undefined + if (isOptional && (!value || Array.isArray(value) && value.length === 1 && // fallback optional catch-all SSG pages have + // [[...paramName]] for the root path on Vercel + (value[0] === 'index' || value[0] === `[[...${key}]]`) || value === 'index' || value === `[[...${key}]]`)) { + value = undefined; + delete query[key]; + } + // query values from the proxy aren't already split into arrays + // so make sure to normalize catch-all values + if (value && typeof value === 'string' && defaultRouteRegex.groups[key].repeat) { + value = value.split('/'); + } + if (value) { + params[key] = value; + } + } + return { + params, + hasValidParams + }; +} +function getServerUtils({ page, i18n, basePath, rewrites, pageIsDynamic, trailingSlash, caseSensitive }) { + let defaultRouteRegex; + let dynamicRouteMatcher; + let defaultRouteMatches; + if (pageIsDynamic) { + defaultRouteRegex = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$regex$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getNamedRouteRegex"])(page, { + prefixRouteKeys: false + }); + dynamicRouteMatcher = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$matcher$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getRouteMatcher"])(defaultRouteRegex); + defaultRouteMatches = dynamicRouteMatcher(page); + } + function handleRewrites(req, parsedUrl) { + // Here we deep clone the parsedUrl to avoid mutating the original. We also + // cast this to a mutable type so we can mutate it within this scope. + const rewrittenParsedUrl = structuredClone(parsedUrl); + const rewriteParams = {}; + let fsPathname = rewrittenParsedUrl.pathname; + const matchesPage = ()=>{ + const fsPathnameNoSlash = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(fsPathname || ''); + return fsPathnameNoSlash === (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(page) || (dynamicRouteMatcher == null ? void 0 : dynamicRouteMatcher(fsPathnameNoSlash)); + }; + const checkRewrite = (rewrite)=>{ + const matcher = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$match$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getPathMatch"])(rewrite.source + (trailingSlash ? '(/)?' : ''), { + removeUnnamedParams: true, + strict: true, + sensitive: !!caseSensitive + }); + if (!rewrittenParsedUrl.pathname) return false; + let params = matcher(rewrittenParsedUrl.pathname); + if ((rewrite.has || rewrite.missing) && params) { + const hasParams = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$prepare$2d$destination$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["matchHas"])(req, rewrittenParsedUrl.query, rewrite.has, rewrite.missing); + if (hasParams) { + Object.assign(params, hasParams); + } else { + params = false; + } + } + if (params) { + const { parsedDestination, destQuery } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$prepare$2d$destination$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["prepareDestination"])({ + appendParamsToQuery: true, + destination: rewrite.destination, + params: params, + query: rewrittenParsedUrl.query + }); + // if the rewrite destination is external break rewrite chain + if (parsedDestination.protocol) { + return true; + } + Object.assign(rewriteParams, destQuery, params); + Object.assign(rewrittenParsedUrl.query, parsedDestination.query); + delete parsedDestination.query; + Object.assign(rewrittenParsedUrl, parsedDestination); + fsPathname = rewrittenParsedUrl.pathname; + if (!fsPathname) return false; + if (basePath) { + fsPathname = fsPathname.replace(new RegExp(`^${basePath}`), '') || '/'; + } + if (i18n) { + const result = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeLocalePath"])(fsPathname, i18n.locales); + fsPathname = result.pathname; + rewrittenParsedUrl.query.nextInternalLocale = result.detectedLocale || params.nextInternalLocale; + } + if (fsPathname === page) { + return true; + } + if (pageIsDynamic && dynamicRouteMatcher) { + const dynamicParams = dynamicRouteMatcher(fsPathname); + if (dynamicParams) { + rewrittenParsedUrl.query = { + ...rewrittenParsedUrl.query, + ...dynamicParams + }; + return true; + } + } + } + return false; + }; + for (const rewrite of rewrites.beforeFiles || []){ + checkRewrite(rewrite); + } + if (fsPathname !== page) { + let finished = false; + for (const rewrite of rewrites.afterFiles || []){ + finished = checkRewrite(rewrite); + if (finished) break; + } + if (!finished && !matchesPage()) { + for (const rewrite of rewrites.fallback || []){ + finished = checkRewrite(rewrite); + if (finished) break; + } + } + } + return { + rewriteParams, + rewrittenParsedUrl + }; + } + function getParamsFromRouteMatches(routeMatchesHeader) { + // If we don't have a default route regex, we can't get params from route + // matches + if (!defaultRouteRegex) return null; + const { groups, routeKeys } = defaultRouteRegex; + const matcher = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$matcher$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getRouteMatcher"])({ + re: { + // Simulate a RegExp match from the \`req.url\` input + exec: (str)=>{ + // Normalize all the prefixed query params. + const obj = Object.fromEntries(new URLSearchParams(str)); + for (const [key, value] of Object.entries(obj)){ + const normalizedKey = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeNextQueryParam"])(key); + if (!normalizedKey) continue; + obj[normalizedKey] = value; + delete obj[key]; + } + // Use all the named route keys. + const result = {}; + for (const keyName of Object.keys(routeKeys)){ + const paramName = routeKeys[keyName]; + // If this param name is not a valid parameter name, then skip it. + if (!paramName) continue; + const group = groups[paramName]; + const value = obj[keyName]; + // When we're missing a required param, we can't match the route. + if (!group.optional && !value) return null; + result[group.pos] = value; + } + return result; + } + }, + groups + }); + const routeMatches = matcher(routeMatchesHeader); + if (!routeMatches) return null; + return routeMatches; + } + function normalizeQueryParams(query, routeParamKeys) { + // this is used to pass query information in rewrites + // but should not be exposed in final query + delete query['nextInternalLocale']; + for (const [key, value] of Object.entries(query)){ + const normalizedKey = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeNextQueryParam"])(key); + if (!normalizedKey) continue; + // Remove the prefixed key from the query params because we want + // to consume it for the dynamic route matcher. + delete query[key]; + routeParamKeys.add(normalizedKey); + if (typeof value === 'undefined') continue; + query[normalizedKey] = Array.isArray(value) ? value.map((v)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$decode$2d$query$2d$path$2d$parameter$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["decodeQueryPathParameter"])(v)) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$decode$2d$query$2d$path$2d$parameter$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["decodeQueryPathParameter"])(value); + } + } + return { + handleRewrites, + defaultRouteRegex, + dynamicRouteMatcher, + defaultRouteMatches, + normalizeQueryParams, + getParamsFromRouteMatches, + /** + * Normalize dynamic route params. + * + * @param query - The query params to normalize. + * @param ignoreMissingOptional - Whether to ignore missing optional params. + * @returns The normalized params and whether they are valid. + */ normalizeDynamicRouteParams: (query, ignoreMissingOptional)=>{ + if (!defaultRouteRegex || !defaultRouteMatches) { + return { + params: {}, + hasValidParams: false + }; + } + return normalizeDynamicRouteParams(query, defaultRouteRegex, defaultRouteMatches, ignoreMissingOptional); + }, + normalizeCdnUrl: (req, paramKeys)=>normalizeCdnUrl(req, paramKeys), + interpolateDynamicPath: (pathname, params)=>interpolateDynamicPath(pathname, params, defaultRouteRegex), + filterInternalQuery: (query, paramKeys)=>filterInternalQuery(query, paramKeys) + }; +} +function getPreviouslyRevalidatedTags(headers, previewModeId) { + return typeof headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_REVALIDATED_TAGS_HEADER"]] === 'string' && headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER"]] === previewModeId ? headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_CACHE_REVALIDATED_TAGS_HEADER"]].split(',') : []; +} +}), +"[project]/node_modules/next/dist/esm/server/stream-utils/encoded-tags.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ENCODED_TAGS", + ()=>ENCODED_TAGS +]); +const ENCODED_TAGS = { + // opening tags do not have the closing `>` since they can contain other attributes such as `` + OPENING: { + // + HEAD: new Uint8Array([ + 60, + 47, + 104, + 101, + 97, + 100, + 62 + ]), + // + BODY: new Uint8Array([ + 60, + 47, + 98, + 111, + 100, + 121, + 62 + ]), + // + HTML: new Uint8Array([ + 60, + 47, + 104, + 116, + 109, + 108, + 62 + ]), + // + BODY_AND_HTML: new Uint8Array([ + 60, + 47, + 98, + 111, + 100, + 121, + 62, + 60, + 47, + 104, + 116, + 109, + 108, + 62 + ]) + }, + META: { + // Only the match the prefix cause the suffix can be different whether it's xml compatible or not ">" or "/>" + // { +"use strict"; + +__turbopack_context__.s([ + "CLOSE_TAG", + ()=>CLOSE_TAG, + "chainStreams", + ()=>chainStreams, + "chainTransformers", + ()=>chainTransformers, + "continueDynamicHTMLResume", + ()=>continueDynamicHTMLResume, + "continueDynamicPrerender", + ()=>continueDynamicPrerender, + "continueFizzStream", + ()=>continueFizzStream, + "continueStaticFallbackPrerender", + ()=>continueStaticFallbackPrerender, + "continueStaticPrerender", + ()=>continueStaticPrerender, + "createBufferedTransformStream", + ()=>createBufferedTransformStream, + "createDeferredSuffixStream", + ()=>createDeferredSuffixStream, + "createDocumentClosingStream", + ()=>createDocumentClosingStream, + "createFlightDataInjectionTransformStream", + ()=>createFlightDataInjectionTransformStream, + "createHeadInsertionTransformStream", + ()=>createHeadInsertionTransformStream, + "createHtmlDataDplIdTransformStream", + ()=>createHtmlDataDplIdTransformStream, + "createMetadataTransformStream", + ()=>createMetadataTransformStream, + "createMoveSuffixStream", + ()=>createMoveSuffixStream, + "createRootLayoutValidatorStream", + ()=>createRootLayoutValidatorStream, + "createRuntimePrefetchTransformStream", + ()=>createRuntimePrefetchTransformStream, + "nodestreamToUint8Array", + ()=>nodestreamToUint8Array, + "renderToInitialFizzStream", + ()=>renderToInitialFizzStream, + "streamFromBuffer", + ()=>streamFromBuffer, + "streamFromString", + ()=>streamFromString, + "streamToBuffer", + ()=>streamToBuffer, + "streamToString", + ()=>streamToString, + "streamToUint8Array", + ()=>streamToUint8Array, + "webstreamToUint8Array", + ()=>webstreamToUint8Array +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/tracer.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/promise-with-resolvers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/scheduler.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/stream-utils/encoded-tags.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/stream-utils/uint8array-helpers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$errors$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/errors/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/app-router-headers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$cache$2d$busting$2d$search$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/cache-busting-search-param.js [middleware] (ecmascript)"); +; +; +; +; +; +; +; +; +; +function voidCatch() { +// this catcher is designed to be used with pipeTo where we expect the underlying +// pipe implementation to forward errors but we don't want the pipeTo promise to reject +// and be unhandled +} +// We can share the same encoder instance everywhere +// Notably we cannot do the same for TextDecoder because it is stateful +// when handling streaming data +const encoder = new TextEncoder(); +function chainStreams(...streams) { + // If we have no streams, return an empty stream. This behavior is + // intentional as we're now providing the `RenderResult.EMPTY` value. + if (streams.length === 0) { + return new ReadableStream({ + start (controller) { + controller.close(); + } + }); + } + // If we only have 1 stream we fast path it by returning just this stream + if (streams.length === 1) { + return streams[0]; + } + const { readable, writable } = new TransformStream(); + // We always initiate pipeTo immediately. We know we have at least 2 streams + // so we need to avoid closing the writable when this one finishes. + let promise = streams[0].pipeTo(writable, { + preventClose: true + }); + let i = 1; + for(; i < streams.length - 1; i++){ + const nextStream = streams[i]; + promise = promise.then(()=>nextStream.pipeTo(writable, { + preventClose: true + })); + } + // We can omit the length check because we halted before the last stream and there + // is at least two streams so the lastStream here will always be defined + const lastStream = streams[i]; + promise = promise.then(()=>lastStream.pipeTo(writable)); + // Catch any errors from the streams and ignore them, they will be handled + // by whatever is consuming the readable stream. + promise.catch(voidCatch); + return readable; +} +function streamFromString(str) { + return new ReadableStream({ + start (controller) { + controller.enqueue(encoder.encode(str)); + controller.close(); + } + }); +} +function streamFromBuffer(chunk) { + return new ReadableStream({ + start (controller) { + controller.enqueue(chunk); + controller.close(); + } + }); +} +async function streamToChunks(stream) { + const reader = stream.getReader(); + const chunks = []; + while(true){ + const { done, value } = await reader.read(); + if (done) { + break; + } + chunks.push(value); + } + return chunks; +} +function concatUint8Arrays(chunks) { + const totalLength = chunks.reduce((sum, chunk)=>sum + chunk.length, 0); + const result = new Uint8Array(totalLength); + let offset = 0; + for (const chunk of chunks){ + result.set(chunk, offset); + offset += chunk.length; + } + return result; +} +async function webstreamToUint8Array(stream) { + return concatUint8Arrays(await streamToChunks(stream)); +} +function webToReadable(stream) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + let Readable; + if ("TURBOPACK compile-time truthy", 1) { + Readable = __turbopack_context__.r("[externals]/node:stream [external] (node:stream, cjs)").Readable; + } else //TURBOPACK unreachable + ; + if (stream instanceof Readable) { + return stream; + } + return Readable.fromWeb(stream); + } +} +async function nodestreamToUint8Array(stream) { + const chunks = []; + for await (const chunk of webToReadable(stream)){ + chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk); + } + return Buffer.concat(chunks); +} +async function streamToUint8Array(stream) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + let Readable; + if ("TURBOPACK compile-time truthy", 1) { + Readable = __turbopack_context__.r("[externals]/node:stream [external] (node:stream, cjs)").Readable; + } else //TURBOPACK unreachable + ; + if (stream instanceof Readable) { + return nodestreamToUint8Array(stream); + } + return webstreamToUint8Array(stream); + } +} +async function streamToBuffer(stream) { + return Buffer.concat(await streamToChunks(stream)); +} +async function streamToString(stream, signal) { + const decoder = new TextDecoder('utf-8', { + fatal: true + }); + let string = ''; + for await (const chunk of stream){ + if (signal == null ? void 0 : signal.aborted) { + return string; + } + string += decoder.decode(chunk, { + stream: true + }); + } + string += decoder.decode(); + return string; +} +function createBufferedTransformStream(options = {}) { + const { maxBufferByteLength = Infinity } = options; + let bufferedChunks = []; + let bufferByteLength = 0; + let pending; + const flush = (controller)=>{ + try { + if (bufferedChunks.length === 0) { + return; + } + const chunk = new Uint8Array(bufferByteLength); + let copiedBytes = 0; + for(let i = 0; i < bufferedChunks.length; i++){ + const bufferedChunk = bufferedChunks[i]; + chunk.set(bufferedChunk, copiedBytes); + copiedBytes += bufferedChunk.byteLength; + } + // We just wrote all the buffered chunks so we need to reset the bufferedChunks array + // and our bufferByteLength to prepare for the next round of buffered chunks + bufferedChunks.length = 0; + bufferByteLength = 0; + controller.enqueue(chunk); + } catch { + // If an error occurs while enqueuing, it can't be due to this + // transformer. It's most likely caused by the controller having been + // errored (for example, if the stream was cancelled). + } + }; + const scheduleFlush = (controller)=>{ + if (pending) { + return; + } + const detached = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createPromiseWithResolvers"])(); + pending = detached; + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["scheduleImmediate"])(()=>{ + try { + flush(controller); + } finally{ + pending = undefined; + detached.resolve(); + } + }); + }; + return new TransformStream({ + transform (chunk, controller) { + // Combine the previous buffer with the new chunk. + bufferedChunks.push(chunk); + bufferByteLength += chunk.byteLength; + if (bufferByteLength >= maxBufferByteLength) { + flush(controller); + } else { + scheduleFlush(controller); + } + }, + flush () { + return pending == null ? void 0 : pending.promise; + } + }); +} +function renderToInitialFizzStream({ ReactDOMServer, element, streamOptions }) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getTracer"])().trace(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["AppRenderSpan"].renderToReadableStream, async ()=>ReactDOMServer.renderToReadableStream(element, streamOptions)); +} +function createMetadataTransformStream(insert) { + let chunkIndex = -1; + let isMarkRemoved = false; + return new TransformStream({ + async transform (chunk, controller) { + let iconMarkIndex = -1; + let closedHeadIndex = -1; + chunkIndex++; + if (isMarkRemoved) { + controller.enqueue(chunk); + return; + } + let iconMarkLength = 0; + // Only search for the closed head tag once + if (iconMarkIndex === -1) { + iconMarkIndex = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].META.ICON_MARK); + if (iconMarkIndex === -1) { + controller.enqueue(chunk); + return; + } else { + // When we found the `` or `>`, checking the next char to ensure we cover both cases. + iconMarkLength = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].META.ICON_MARK.length; + // Check if next char is /, this is for xml mode. + if (chunk[iconMarkIndex + iconMarkLength] === 47) { + iconMarkLength += 2; + } else { + // The last char is `>` + iconMarkLength++; + } + } + } + // Check if icon mark is inside tag in the first chunk. + if (chunkIndex === 0) { + closedHeadIndex = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.HEAD); + if (iconMarkIndex !== -1) { + // The mark icon is located in the 1st chunk before the head tag. + // We do not need to insert the script tag in this case because it's in the head. + // Just remove the icon mark from the chunk. + if (iconMarkIndex < closedHeadIndex) { + const replaced = new Uint8Array(chunk.length - iconMarkLength); + // Remove the icon mark from the chunk. + replaced.set(chunk.subarray(0, iconMarkIndex)); + replaced.set(chunk.subarray(iconMarkIndex + iconMarkLength), iconMarkIndex); + chunk = replaced; + } else { + // The icon mark is after the head tag, replace and insert the script tag at that position. + const insertion = await insert(); + const encodedInsertion = encoder.encode(insertion); + const insertionLength = encodedInsertion.length; + const replaced = new Uint8Array(chunk.length - iconMarkLength + insertionLength); + replaced.set(chunk.subarray(0, iconMarkIndex)); + replaced.set(encodedInsertion, iconMarkIndex); + replaced.set(chunk.subarray(iconMarkIndex + iconMarkLength), iconMarkIndex + insertionLength); + chunk = replaced; + } + isMarkRemoved = true; + } + // If there's no icon mark located, it will be handled later when if present in the following chunks. + } else { + // When it's appeared in the following chunks, we'll need to + // remove the mark and then insert the script tag at that position. + const insertion = await insert(); + const encodedInsertion = encoder.encode(insertion); + const insertionLength = encodedInsertion.length; + // Replace the icon mark with the hoist script or empty string. + const replaced = new Uint8Array(chunk.length - iconMarkLength + insertionLength); + // Set the first part of the chunk, before the icon mark. + replaced.set(chunk.subarray(0, iconMarkIndex)); + // Set the insertion after the icon mark. + replaced.set(encodedInsertion, iconMarkIndex); + // Set the rest of the chunk after the icon mark. + replaced.set(chunk.subarray(iconMarkIndex + iconMarkLength), iconMarkIndex + insertionLength); + chunk = replaced; + isMarkRemoved = true; + } + controller.enqueue(chunk); + } + }); +} +function createHeadInsertionTransformStream(insert) { + let inserted = false; + // We need to track if this transform saw any bytes because if it didn't + // we won't want to insert any server HTML at all + let hasBytes = false; + return new TransformStream({ + async transform (chunk, controller) { + hasBytes = true; + const insertion = await insert(); + if (inserted) { + if (insertion) { + const encodedInsertion = encoder.encode(insertion); + controller.enqueue(encodedInsertion); + } + controller.enqueue(chunk); + } else { + // TODO (@Ethan-Arrowood): Replace the generic `indexOfUint8Array` method with something finely tuned for the subset of things actually being checked for. + const index = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.HEAD); + // In fully static rendering or non PPR rendering cases: + // `/head>` will always be found in the chunk in first chunk rendering. + if (index !== -1) { + if (insertion) { + const encodedInsertion = encoder.encode(insertion); + // Get the total count of the bytes in the chunk and the insertion + // e.g. + // chunk = + // insertion = + // output = [ ] + const insertedHeadContent = new Uint8Array(chunk.length + encodedInsertion.length); + // Append the first part of the chunk, before the head tag + insertedHeadContent.set(chunk.slice(0, index)); + // Append the server inserted content + insertedHeadContent.set(encodedInsertion, index); + // Append the rest of the chunk + insertedHeadContent.set(chunk.slice(index), index + encodedInsertion.length); + controller.enqueue(insertedHeadContent); + } else { + controller.enqueue(chunk); + } + inserted = true; + } else { + // This will happens in PPR rendering during next start, when the page is partially rendered. + // When the page resumes, the head tag will be found in the middle of the chunk. + // Where we just need to append the insertion and chunk to the current stream. + // e.g. + // PPR-static: ... [ resume content ] + // PPR-resume: [ insertion ] [ rest content ] + if (insertion) { + controller.enqueue(encoder.encode(insertion)); + } + controller.enqueue(chunk); + inserted = true; + } + } + }, + async flush (controller) { + // Check before closing if there's anything remaining to insert. + if (hasBytes) { + const insertion = await insert(); + if (insertion) { + controller.enqueue(encoder.encode(insertion)); + } + } + } + }); +} +async function createClientResumeScriptInsertionTransformStream() { + const segmentPath = '/_full'; + const cacheBustingHeader = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$cache$2d$busting$2d$search$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["computeCacheBustingSearchParam"])('1', '/_full', undefined, undefined // headers[NEXT_URL] + ); + const searchStr = `${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_RSC_UNION_QUERY"]}=${cacheBustingHeader}`; + const NEXT_CLIENT_RESUME_SCRIPT = ``; + let didAlreadyInsert = false; + return new TransformStream({ + transform (chunk, controller) { + if (didAlreadyInsert) { + // Already inserted the script into the head. Pass through. + controller.enqueue(chunk); + return; + } + // TODO (@Ethan-Arrowood): Replace the generic `indexOfUint8Array` method with something finely tuned for the subset of things actually being checked for. + const headClosingTagIndex = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.HEAD); + if (headClosingTagIndex === -1) { + // In fully static rendering or non PPR rendering cases: + // `/head>` will always be found in the chunk in first chunk rendering. + controller.enqueue(chunk); + return; + } + const encodedInsertion = encoder.encode(NEXT_CLIENT_RESUME_SCRIPT); + // Get the total count of the bytes in the chunk and the insertion + // e.g. + // chunk = + // insertion = + // output = [ ] + const insertedHeadContent = new Uint8Array(chunk.length + encodedInsertion.length); + // Append the first part of the chunk, before the head tag + insertedHeadContent.set(chunk.slice(0, headClosingTagIndex)); + // Append the server inserted content + insertedHeadContent.set(encodedInsertion, headClosingTagIndex); + // Append the rest of the chunk + insertedHeadContent.set(chunk.slice(headClosingTagIndex), headClosingTagIndex + encodedInsertion.length); + controller.enqueue(insertedHeadContent); + didAlreadyInsert = true; + } + }); +} +function createDeferredSuffixStream(suffix) { + let flushed = false; + let pending; + const flush = (controller)=>{ + const detached = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$promise$2d$with$2d$resolvers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createPromiseWithResolvers"])(); + pending = detached; + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["scheduleImmediate"])(()=>{ + try { + controller.enqueue(encoder.encode(suffix)); + } catch { + // If an error occurs while enqueuing it can't be due to this + // transformers fault. It's likely due to the controller being + // errored due to the stream being cancelled. + } finally{ + pending = undefined; + detached.resolve(); + } + }); + }; + return new TransformStream({ + transform (chunk, controller) { + controller.enqueue(chunk); + // If we've already flushed, we're done. + if (flushed) return; + // Schedule the flush to happen. + flushed = true; + flush(controller); + }, + flush (controller) { + if (pending) return pending.promise; + if (flushed) return; + // Flush now. + controller.enqueue(encoder.encode(suffix)); + } + }); +} +function createFlightDataInjectionTransformStream(stream, delayDataUntilFirstHtmlChunk) { + let htmlStreamFinished = false; + let pull = null; + let donePulling = false; + function startOrContinuePulling(controller) { + if (!pull) { + pull = startPulling(controller); + } + return pull; + } + async function startPulling(controller) { + const reader = stream.getReader(); + if (delayDataUntilFirstHtmlChunk) { + // NOTE: streaming flush + // We are buffering here for the inlined data stream because the + // "shell" stream might be chunkenized again by the underlying stream + // implementation, e.g. with a specific high-water mark. To ensure it's + // the safe timing to pipe the data stream, this extra tick is + // necessary. + // We don't start reading until we've left the current Task to ensure + // that it's inserted after flushing the shell. Note that this implementation + // might get stale if impl details of Fizz change in the future. + await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["atLeastOneTask"])(); + } + try { + while(true){ + const { done, value } = await reader.read(); + if (done) { + donePulling = true; + return; + } + // We want to prioritize HTML over RSC data. + // The SSR render is based on the same RSC stream, so when we get a new RSC chunk, + // we're likely to produce an HTML chunk as well, so give it a chance to flush first. + if (!delayDataUntilFirstHtmlChunk && !htmlStreamFinished) { + await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["atLeastOneTask"])(); + } + controller.enqueue(value); + } + } catch (err) { + controller.error(err); + } + } + return new TransformStream({ + start (controller) { + if (!delayDataUntilFirstHtmlChunk) { + startOrContinuePulling(controller); + } + }, + transform (chunk, controller) { + controller.enqueue(chunk); + // Start the streaming if it hasn't already been started yet. + if (delayDataUntilFirstHtmlChunk) { + startOrContinuePulling(controller); + } + }, + flush (controller) { + htmlStreamFinished = true; + if (donePulling) { + return; + } + return startOrContinuePulling(controller); + } + }); +} +const CLOSE_TAG = ''; +function createMoveSuffixStream() { + let foundSuffix = false; + return new TransformStream({ + transform (chunk, controller) { + if (foundSuffix) { + return controller.enqueue(chunk); + } + const index = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML); + if (index > -1) { + foundSuffix = true; + // If the whole chunk is the suffix, then don't write anything, it will + // be written in the flush. + if (chunk.length === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML.length) { + return; + } + // Write out the part before the suffix. + const before = chunk.slice(0, index); + controller.enqueue(before); + // In the case where the suffix is in the middle of the chunk, we need + // to split the chunk into two parts. + if (chunk.length > __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML.length + index) { + // Write out the part after the suffix. + const after = chunk.slice(index + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML.length); + controller.enqueue(after); + } + } else { + controller.enqueue(chunk); + } + }, + flush (controller) { + // Even if we didn't find the suffix, the HTML is not valid if we don't + // add it, so insert it at the end. + controller.enqueue(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML); + } + }); +} +function createStripDocumentClosingTagsTransform() { + return new TransformStream({ + transform (chunk, controller) { + // We rely on the assumption that chunks will never break across a code unit. + // This is reasonable because we currently concat all of React's output from a single + // flush into one chunk before streaming it forward which means the chunk will represent + // a single coherent utf-8 string. This is not safe to use if we change our streaming to no + // longer do this large buffered chunk + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isEquivalentUint8Arrays"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isEquivalentUint8Arrays"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isEquivalentUint8Arrays"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.HTML)) { + // the entire chunk is the closing tags; return without enqueueing anything. + return; + } + // We assume these tags will go at together at the end of the document and that + // they won't appear anywhere else in the document. This is not really a safe assumption + // but until we revamp our streaming infra this is a performant way to string the tags + chunk = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["removeFromUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY); + chunk = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["removeFromUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.HTML); + controller.enqueue(chunk); + } + }); +} +function createHtmlDataDplIdTransformStream(dplId) { + let didTransform = false; + return new TransformStream({ + transform (chunk, controller) { + if (didTransform) { + controller.enqueue(chunk); + return; + } + const htmlTagIndex = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].OPENING.HTML); + if (htmlTagIndex === -1) { + controller.enqueue(chunk); + return; + } + // Insert the data-dpl-id attribute right after " -1) { + foundHtml = true; + } + if (!foundBody && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].OPENING.BODY) > -1) { + foundBody = true; + } + controller.enqueue(chunk); + }, + flush (controller) { + const missingTags = []; + if (!foundHtml) missingTags.push('html'); + if (!foundBody) missingTags.push('body'); + if (!missingTags.length) return; + controller.enqueue(encoder.encode(` + + `)); + } + }); +} +function chainTransformers(readable, transformers) { + let stream = readable; + for (const transformer of transformers){ + if (!transformer) continue; + stream = stream.pipeThrough(transformer); + } + return stream; +} +async function continueFizzStream(renderStream, { suffix, inlinedDataStream, waitForAllReady, deploymentId, getServerInsertedHTML, getServerInsertedMetadata, validateRootLayout }) { + // Suffix itself might contain close tags at the end, so we need to split it. + const suffixUnclosed = suffix ? suffix.split(CLOSE_TAG, 1)[0] : null; + if (waitForAllReady) { + // Wait for all Suspense boundaries to resolve before continuing. + await renderStream.allReady; + } else { + // Otherwise, we want to make sure Fizz is done with all microtasky work + // before we start pulling the stream and cause a flush. + await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["waitAtLeastOneReactRenderTask"])(); + } + return chainTransformers(renderStream, [ + // Buffer everything to avoid flushing too frequently + createBufferedTransformStream(), + // Insert data-dpl-id attribute on the html tag + deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null, + // Transform metadata + createMetadataTransformStream(getServerInsertedMetadata), + // Insert suffix content + suffixUnclosed != null && suffixUnclosed.length > 0 ? createDeferredSuffixStream(suffixUnclosed) : null, + // Insert the inlined data (Flight data, form state, etc.) stream into the HTML + inlinedDataStream ? createFlightDataInjectionTransformStream(inlinedDataStream, true) : null, + // Validate the root layout for missing html or body tags + validateRootLayout ? createRootLayoutValidatorStream() : null, + // Close tags should always be deferred to the end + createMoveSuffixStream(), + // Special head insertions + // TODO-APP: Insert server side html to end of head in app layout rendering, to avoid + // hydration errors. Remove this once it's ready to be handled by react itself. + createHeadInsertionTransformStream(getServerInsertedHTML) + ]); +} +async function continueDynamicPrerender(prerenderStream, { getServerInsertedHTML, getServerInsertedMetadata, deploymentId }) { + return chainTransformers(prerenderStream, [ + // Buffer everything to avoid flushing too frequently + createBufferedTransformStream(), + createStripDocumentClosingTagsTransform(), + // Insert data-dpl-id attribute on the html tag + deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null, + // Insert generated tags to head + createHeadInsertionTransformStream(getServerInsertedHTML), + // Transform metadata + createMetadataTransformStream(getServerInsertedMetadata) + ]); +} +async function continueStaticPrerender(prerenderStream, { inlinedDataStream, getServerInsertedHTML, getServerInsertedMetadata, deploymentId }) { + return chainTransformers(prerenderStream, [ + // Buffer everything to avoid flushing too frequently + createBufferedTransformStream(), + // Add build id comment to start of the HTML document (in export mode) + // Insert data-dpl-id attribute on the html tag + deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null, + // Insert generated tags to head + createHeadInsertionTransformStream(getServerInsertedHTML), + // Transform metadata + createMetadataTransformStream(getServerInsertedMetadata), + // Insert the inlined data (Flight data, form state, etc.) stream into the HTML + createFlightDataInjectionTransformStream(inlinedDataStream, true), + // Close tags should always be deferred to the end + createMoveSuffixStream() + ]); +} +async function continueStaticFallbackPrerender(prerenderStream, { inlinedDataStream, getServerInsertedHTML, getServerInsertedMetadata, deploymentId }) { + // Same as `continueStaticPrerender`, but also inserts an additional script + // to instruct the client to start fetching the hydration data as early + // as possible. + return chainTransformers(prerenderStream, [ + // Buffer everything to avoid flushing too frequently + createBufferedTransformStream(), + // Insert data-dpl-id attribute on the html tag + deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null, + // Insert generated tags to head + createHeadInsertionTransformStream(getServerInsertedHTML), + // Insert the client resume script into the head + await createClientResumeScriptInsertionTransformStream(), + // Transform metadata + createMetadataTransformStream(getServerInsertedMetadata), + // Insert the inlined data (Flight data, form state, etc.) stream into the HTML + createFlightDataInjectionTransformStream(inlinedDataStream, true), + // Close tags should always be deferred to the end + createMoveSuffixStream() + ]); +} +async function continueDynamicHTMLResume(renderStream, { delayDataUntilFirstHtmlChunk, inlinedDataStream, getServerInsertedHTML, getServerInsertedMetadata, deploymentId }) { + return chainTransformers(renderStream, [ + // Buffer everything to avoid flushing too frequently + createBufferedTransformStream(), + // Insert data-dpl-id attribute on the html tag + deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null, + // Insert generated tags to head + createHeadInsertionTransformStream(getServerInsertedHTML), + // Transform metadata + createMetadataTransformStream(getServerInsertedMetadata), + // Insert the inlined data (Flight data, form state, etc.) stream into the HTML + createFlightDataInjectionTransformStream(inlinedDataStream, delayDataUntilFirstHtmlChunk), + // Close tags should always be deferred to the end + createMoveSuffixStream() + ]); +} +function createDocumentClosingStream() { + return streamFromString(CLOSE_TAG); +} +function createRuntimePrefetchTransformStream(sentinel, isPartial, staleTime) { + const enc = new TextEncoder(); + // Search for: [] + // Replace with: [,] + const search = enc.encode(`[${sentinel}]`); + const first = search[0]; + const replace = enc.encode(`[${isPartial},${staleTime}]`); + const searchLen = search.length; + let currentChunk = null; + let found = false; + function processChunk(controller, nextChunk) { + if (found) { + if (nextChunk) { + controller.enqueue(nextChunk); + } + return; + } + if (currentChunk) { + // We can't search past the index that can contain a full match + let exclusiveUpperBound = currentChunk.length - (searchLen - 1); + if (nextChunk) { + // If we have any overflow bytes we can search up to the chunk's final byte + exclusiveUpperBound += Math.min(nextChunk.length, searchLen - 1); + } + if (exclusiveUpperBound < 1) { + // we can't match the current chunk. + controller.enqueue(currentChunk); + currentChunk = nextChunk // advance so we don't process this chunk again + ; + return; + } + let currentIndex = currentChunk.indexOf(first); + // check the current candidate match if it is within the bounds of our search space for the currentChunk + candidateLoop: while(-1 < currentIndex && currentIndex < exclusiveUpperBound){ + // We already know index 0 matches because we used indexOf to find the candidateIndex so we start at index 1 + let matchIndex = 1; + while(matchIndex < searchLen){ + const candidateIndex = currentIndex + matchIndex; + const candidateValue = candidateIndex < currentChunk.length ? currentChunk[candidateIndex] : nextChunk[candidateIndex - currentChunk.length]; + if (candidateValue !== search[matchIndex]) { + // No match, reset and continue the search from the next position + currentIndex = currentChunk.indexOf(first, currentIndex + 1); + continue candidateLoop; + } + matchIndex++; + } + // We found a complete match. currentIndex is our starting point to replace the value. + found = true; + // enqueue everything up to the match + controller.enqueue(currentChunk.subarray(0, currentIndex)); + // enqueue the replacement value + controller.enqueue(replace); + // If there are bytes in the currentChunk after the match enqueue them + if (currentIndex + searchLen < currentChunk.length) { + controller.enqueue(currentChunk.slice(currentIndex + searchLen)); + } + // If we have a next chunk we enqueue it now + if (nextChunk) { + // if replacement spills over to the next chunk we first exclude the replaced bytes + const overflowBytes = currentIndex + searchLen - currentChunk.length; + const truncatedChunk = overflowBytes > 0 ? nextChunk.subarray(overflowBytes) : nextChunk; + controller.enqueue(truncatedChunk); + } + // We are now in found mode and don't need to track currentChunk anymore + currentChunk = null; + return; + } + // No match found in this chunk, emit it and wait for the next one + controller.enqueue(currentChunk); + } + // Advance to the next chunk + currentChunk = nextChunk; + } + return new TransformStream({ + transform (chunk, controller) { + processChunk(controller, chunk); + }, + flush (controller) { + processChunk(controller, null); + } + }); +} +}), +"[project]/node_modules/next/dist/esm/server/stream-utils/uint8array-helpers.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Find the starting index of Uint8Array `b` within Uint8Array `a`. + */ __turbopack_context__.s([ + "indexOfUint8Array", + ()=>indexOfUint8Array, + "isEquivalentUint8Arrays", + ()=>isEquivalentUint8Arrays, + "removeFromUint8Array", + ()=>removeFromUint8Array +]); +function indexOfUint8Array(a, b) { + if (b.length === 0) return 0; + if (a.length === 0 || b.length > a.length) return -1; + // Use Node's native implementation when available. + if (typeof Buffer !== 'undefined') { + const haystack = Buffer.isBuffer(a) ? a : Buffer.from(a.buffer, a.byteOffset, a.byteLength); + return haystack.indexOf(b); + } + // start iterating through `a` + for(let i = 0; i <= a.length - b.length; i++){ + let completeMatch = true; + // from index `i`, iterate through `b` and check for mismatch + for(let j = 0; j < b.length; j++){ + // if the values do not match, then this isn't a complete match, exit `b` iteration early and iterate to next index of `a`. + if (a[i + j] !== b[j]) { + completeMatch = false; + break; + } + } + if (completeMatch) { + return i; + } + } + return -1; +} +function isEquivalentUint8Arrays(a, b) { + if (a.length !== b.length) return false; + for(let i = 0; i < a.length; i++){ + if (a[i] !== b[i]) return false; + } + return true; +} +function removeFromUint8Array(a, b) { + const tagIndex = indexOfUint8Array(a, b); + if (tagIndex === 0) return a.subarray(b.length); + if (tagIndex > -1) { + const removed = new Uint8Array(a.length - b.length); + removed.set(a.subarray(0, tagIndex)); + removed.set(a.subarray(tagIndex + b.length), tagIndex); + return removed; + } else { + return a; + } +} +}), +"[project]/node_modules/next/dist/esm/server/use-cache/clone-cache-entry.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Tees a cache entry's single-use value stream into two independent entries. + * The original entry is mutated to hold one branch of the tee, and a clone is + * returned holding the other, so both can be consumed independently. + */ __turbopack_context__.s([ + "cloneCacheEntry", + ()=>cloneCacheEntry +]); +function cloneCacheEntry(entry) { + const [streamA, streamB] = entry.value.tee(); + entry.value = streamA; + const clonedEntry = { + value: streamB, + timestamp: entry.timestamp, + revalidate: entry.revalidate, + expire: entry.expire, + stale: entry.stale, + tags: entry.tags + }; + return [ + entry, + clonedEntry + ]; +} +}), +"[project]/node_modules/next/dist/esm/server/use-cache/constants.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "MIN_PREFETCHABLE_STALE", + ()=>MIN_PREFETCHABLE_STALE, + "MIN_PRERENDERABLE_EXPIRE", + ()=>MIN_PRERENDERABLE_EXPIRE, + "MIN_SHELL_STALE", + ()=>MIN_SHELL_STALE +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +; +const MIN_PRERENDERABLE_EXPIRE = 300 // 5 minutes +; +const MIN_PREFETCHABLE_STALE = 30 // 30 seconds +; +const MIN_SHELL_STALE = 300 // 5 minutes +; +if ("TURBOPACK compile-time truthy", 1) { + if (MIN_PREFETCHABLE_STALE > MIN_SHELL_STALE) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('MIN_PREFETCHABLE_STALE must not exceed MIN_SHELL_STALE.'); + } +} +}), +"[project]/node_modules/next/dist/esm/server/use-cache/handlers.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getCacheHandler", + ()=>getCacheHandler, + "getCacheHandlerEntries", + ()=>getCacheHandlerEntries, + "getCacheHandlers", + ()=>getCacheHandlers, + "getDevTieredCacheHandler", + ()=>getDevTieredCacheHandler, + "getPrivateCacheHandler", + ()=>getPrivateCacheHandler, + "initializeCacheHandlers", + ()=>initializeCacheHandlers, + "isBuiltInCacheHandler", + ()=>isBuiltInCacheHandler, + "isCustomCacheHandler", + ()=>isCustomCacheHandler, + "isMemoryCacheDisabled", + ()=>isMemoryCacheDisabled, + "registerCustomCacheHandlers", + ()=>registerCustomCacheHandlers, + "setCacheHandler", + ()=>setCacheHandler +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$handlers$2f$default$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/cache-handlers/default.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$tiered$2d$cache$2d$handler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/use-cache/tiered-cache-handler.js [middleware] (ecmascript)"); +; +; +const debug = process.env.NEXT_PRIVATE_DEBUG_CACHE ? (message, ...args)=>{ + console.log(`use-cache: ${message}`, ...args); +} : undefined; +const handlersSymbol = Symbol.for('@next/cache-handlers'); +const handlersMapSymbol = Symbol.for('@next/cache-handlers-map'); +const handlersSetSymbol = Symbol.for('@next/cache-handlers-set'); +const customCacheHandlersRegistrationSymbol = Symbol.for('@next/custom-cache-handlers-registration'); +const privateHandlerSymbol = Symbol.for('@next/cache-handlers-private'); +const builtInHandlersSymbol = Symbol.for('@next/cache-handlers-built-in'); +const devFrontHandlersSymbol = Symbol.for('@next/cache-handlers-dev-fronts'); +const devTieredHandlersSymbol = Symbol.for('@next/cache-handlers-dev-tiered'); +const memoryCacheDisabledSymbol = Symbol.for('@next/cache-handlers-memory-disabled'); +/** + * The in-memory size used for the dev-only built-in handlers (the private + * handler, the size-0 replacement, and the per-kind front handlers for custom + * kinds). Mirrors the framework default so `cacheMaxMemorySize: 0` does not + * disable caching in development. + */ const DEV_MEMORY_CACHE_SIZE = 50 * 1024 * 1024; +/** + * The reference to the cache handlers. We store the cache handlers on the + * global object so that we can access the same instance across different + * boundaries (such as different copies of the same module). + */ const reference = globalThis; +function initializeCacheHandlers(cacheMaxMemorySize) { + // If the cache handlers have already been initialized, don't do it again. + if (reference[handlersMapSymbol]) { + debug == null ? void 0 : debug('cache handlers already initialized'); + return; + } + debug == null ? void 0 : debug('initializing cache handlers'); + const handlersMap = new Map(); + reference[handlersMapSymbol] = handlersMap; + const builtInHandlers = new Set(); + reference[builtInHandlersSymbol] = builtInHandlers; + // In development, `cacheMaxMemorySize: 0` would make the built-in default + // handler a no-op, so every reload would miss. Use a real in-memory size + // instead so dev stays fast; the "use cache" wrapper forces a dynamic cache + // life for this case so it still behaves close to "no cache" (serve stale, + // regenerate in the background). Production keeps the no-op handler. + const builtInSize = ("TURBOPACK compile-time value", "1") && cacheMaxMemorySize === 0 ? DEV_MEMORY_CACHE_SIZE : cacheMaxMemorySize; + // Initialize the cache from the symbol contents first. + if (reference[handlersSymbol]) { + let fallback; + if (reference[handlersSymbol].DefaultCache) { + debug == null ? void 0 : debug('setting "default" cache handler from symbol'); + fallback = reference[handlersSymbol].DefaultCache; + } else { + debug == null ? void 0 : debug('setting "default" cache handler from default'); + fallback = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$handlers$2f$default$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createDefaultCacheHandler"])(builtInSize); + builtInHandlers.add(fallback); + } + handlersMap.set('default', fallback); + if (reference[handlersSymbol].RemoteCache) { + debug == null ? void 0 : debug('setting "remote" cache handler from symbol'); + handlersMap.set('remote', reference[handlersSymbol].RemoteCache); + } else { + debug == null ? void 0 : debug('setting "remote" cache handler from default'); + handlersMap.set('remote', fallback); + } + } else { + const handler = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$handlers$2f$default$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createDefaultCacheHandler"])(builtInSize); + builtInHandlers.add(handler); + debug == null ? void 0 : debug('setting "default" cache handler from default'); + handlersMap.set('default', handler); + debug == null ? void 0 : debug('setting "remote" cache handler from default'); + handlersMap.set('remote', handler); + } + // Create a set of the cache handlers. + reference[handlersSetSymbol] = new Set(handlersMap.values()); + // In development we add dedicated built-in in-memory handlers so that reloads + // are fast. These are always built-in handlers, never a user-configured one, + // and are gated on the dev server so production behaves exactly as + // configured. + if ("TURBOPACK compile-time truthy", 1) { + reference[memoryCacheDisabledSymbol] = cacheMaxMemorySize === 0; + // Private caches are persisted here so reloads are fast. Private entries + // can hold data specific to the incoming request (for example, derived from + // its cookies or headers), so this is never the user-configured `default` + // alias. Sized so it still caches under `cacheMaxMemorySize: 0` (otherwise + // it would become the no-op stub and private reloads would miss). + reference[privateHandlerSymbol] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$handlers$2f$default$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createDefaultCacheHandler"])(DEV_MEMORY_CACHE_SIZE); + // Built-in front handlers, one per custom kind, and the tiered handlers + // that place a front in front of a (possibly slow or remote) backing + // handler so cache hits resolve in a microtask, are both created per kind + // in `setCacheHandler`. + reference[devFrontHandlersSymbol] = new Map(); + reference[devTieredHandlersSymbol] = new Map(); + } +} +function registerCustomCacheHandlers(register) { + let pendingPromise = reference[customCacheHandlersRegistrationSymbol]; + if (!pendingPromise) { + pendingPromise = register(); + reference[customCacheHandlersRegistrationSymbol] = pendingPromise; + } + return pendingPromise; +} +function getCacheHandler(kind) { + // This should never be called before initializeCacheHandlers. + if (!reference[handlersMapSymbol]) { + throw new Error('Cache handlers not initialized'); + } + return reference[handlersMapSymbol].get(kind); +} +function getPrivateCacheHandler() { + // This should never be called before initializeCacheHandlers. + if (!reference[handlersMapSymbol]) { + throw new Error('Cache handlers not initialized'); + } + return reference[privateHandlerSymbol]; +} +function isMemoryCacheDisabled() { + return reference[memoryCacheDisabledSymbol] ?? false; +} +function isCustomCacheHandler(kind) { + var _reference_devFrontHandlersSymbol; + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + return ((_reference_devFrontHandlersSymbol = reference[devFrontHandlersSymbol]) == null ? void 0 : _reference_devFrontHandlersSymbol.has(kind)) ?? false; +} +function isBuiltInCacheHandler(kind) { + var _reference_handlersMapSymbol, _reference_builtInHandlersSymbol; + const handler = (_reference_handlersMapSymbol = reference[handlersMapSymbol]) == null ? void 0 : _reference_handlersMapSymbol.get(kind); + return handler !== undefined && Boolean((_reference_builtInHandlersSymbol = reference[builtInHandlersSymbol]) == null ? void 0 : _reference_builtInHandlersSymbol.has(handler)); +} +function getDevTieredCacheHandler(kind) { + var _reference_devTieredHandlersSymbol; + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + return (_reference_devTieredHandlersSymbol = reference[devTieredHandlersSymbol]) == null ? void 0 : _reference_devTieredHandlersSymbol.get(kind); +} +function getCacheHandlers() { + const handlersSet = reference[handlersSetSymbol]; + if (!handlersSet) { + return undefined; + } + const handlers = Array.from(handlersSet); + if ("TURBOPACK compile-time truthy", 1) { + const privateHandler = reference[privateHandlerSymbol]; + if (privateHandler) { + handlers.push(privateHandler); + } + const devFrontHandlers = reference[devFrontHandlersSymbol]; + if (devFrontHandlers) { + handlers.push(...devFrontHandlers.values()); + } + } + return handlers; +} +function getCacheHandlerEntries() { + const handlersMap = reference[handlersMapSymbol]; + if (!handlersMap) { + return undefined; + } + if ("TURBOPACK compile-time truthy", 1) { + return iterateCacheHandlerEntriesWithDevBuiltIns(handlersMap); + } + //TURBOPACK unreachable + ; +} +/** + * Yields the registered entries plus the dev-only private handler under its + * kind, so that per-kind tag operations (`refreshTags` / `getExpiration` for + * implicit tags) apply to private entries. Custom-kind front handlers are + * intentionally omitted: the backing handler (already in the map) is + * authoritative for that kind's `getExpiration`, and a front entry is discarded + * via that same value. + */ function* iterateCacheHandlerEntriesWithDevBuiltIns(handlersMap) { + yield* handlersMap.entries(); + const privateHandler = reference[privateHandlerSymbol]; + if (privateHandler) { + const privateEntry = [ + 'private', + privateHandler + ]; + yield privateEntry; + } +} +function setCacheHandler(kind, cacheHandler) { + // This should never be called before initializeCacheHandlers. + if (!reference[handlersMapSymbol] || !reference[handlersSetSymbol]) { + throw new Error('Cache handlers not initialized'); + } + debug == null ? void 0 : debug('setting cache handler for "%s"', kind); + reference[handlersMapSymbol].set(kind, cacheHandler); + reference[handlersSetSymbol].add(cacheHandler); + // A user-configured handler may be slow or remote. In development, give it a + // dedicated built-in in-memory front handler so cache hits resolve in a + // microtask, and pair the two into a tiered handler the wrapper reads + // through. Both are created alongside registration so their lifecycle matches + // the backing handler's, and the front handler's presence is the signal that + // this kind is backed by a real handler (see `isCustomCacheHandler`). Being a + // built-in default handler, the front inherits the dev minimum retention, so + // a short-`expire` value still hits the front instead of falling through to + // the slow backing on every read. + if ("TURBOPACK compile-time truthy", 1) { + var _reference_devFrontHandlersSymbol, _reference_devTieredHandlersSymbol; + const frontHandler = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$handlers$2f$default$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createDefaultCacheHandler"])(DEV_MEMORY_CACHE_SIZE); + (_reference_devFrontHandlersSymbol = reference[devFrontHandlersSymbol]) == null ? void 0 : _reference_devFrontHandlersSymbol.set(kind, frontHandler); + (_reference_devTieredHandlersSymbol = reference[devTieredHandlersSymbol]) == null ? void 0 : _reference_devTieredHandlersSymbol.set(kind, (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$tiered$2d$cache$2d$handler$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createTieredCacheHandler"])(frontHandler, cacheHandler)); + } +} +}), +"[project]/node_modules/next/dist/esm/server/use-cache/tiered-cache-handler.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "createTieredCacheHandler", + ()=>createTieredCacheHandler +]); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$clone$2d$cache$2d$entry$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/use-cache/clone-cache-entry.js [middleware] (ecmascript)"); +; +; +function createTieredCacheHandler(front, backing) { + // Holds the in-flight (or chained) background sync per key, so a sync for a + // key runs after any earlier one for that key rather than in parallel. + const inFlightSyncs = new Map(); + function scheduleBackgroundSync(cacheKey, sync) { + // Serialize syncs per key: chain this one after any in-flight sync rather + // than running a second in parallel. The trailing sync still re-reads the + // backing, so the front converges to the latest state; a later read is + // never dropped in favor of an earlier, possibly stale, in-flight read. + const previous = inFlightSyncs.get(cacheKey); + let pending; + if (previous) { + pending = previous.then(sync); + } else { + pending = sync(); + } + pending = pending.finally(()=>{ + if (inFlightSyncs.get(cacheKey) === pending) { + inFlightSyncs.delete(cacheKey); + } + }); + inFlightSyncs.set(cacheKey, pending); + // Register the sync on the current request's revalidation writes so it is + // awaited rather than left untracked. Reading the work store here (rather + // than capturing it at construction) is what lets the handler be a shared + // singleton; `get` always runs within the request's async context, so the + // store is present. + const workStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workAsyncStorage"].getStore(); + if (workStore) { + workStore.pendingRevalidateWrites ??= []; + workStore.pendingRevalidateWrites.push(pending); + } + } + return { + async get (cacheKey, softTags) { + const frontEntry = await front.get(cacheKey, softTags); + if (frontEntry) { + // Cache hit: serve immediately (in a microtask). A background reconcile + // keeps the front in sync with the backing for the next read; + // reconciles for the same key are serialized, so concurrent cache hits + // don't hit the backing in parallel. + scheduleBackgroundSync(cacheKey, ()=>reconcileFrontFromBacking(front, backing, cacheKey, softTags, frontEntry)); + return frontEntry; + } + // Cold or evicted front entry: we pay the backing latency here (this is a + // read that may legitimately surface a cold cache indicator). A miss + // returns undefined and the "use cache" wrapper generates the entry and + // writes it through both tiers via `set`. + const backingEntry = await backing.get(cacheKey, softTags); + if (!backingEntry) { + return undefined; + } + // Mirror this freshly read backing entry into the front so the next read + // hits it. The mirror is serialized per key: if a sync is already + // running, this chains after it, so the front converges to this read even + // if the backing changed since that sync started. + const [servedEntry, mirroredEntry] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$clone$2d$cache$2d$entry$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["cloneCacheEntry"])(backingEntry); + scheduleBackgroundSync(cacheKey, ()=>mirrorIntoFront(front, cacheKey, mirroredEntry)); + return servedEntry; + }, + async set (cacheKey, pendingEntry) { + // Write through to both tiers. The entry's value stream is single-use, so + // tee it into one entry per tier. + const entry = await pendingEntry; + const [frontEntry, backingEntry] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$use$2d$cache$2f$clone$2d$cache$2d$entry$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["cloneCacheEntry"])(entry); + await Promise.all([ + front.set(cacheKey, Promise.resolve(frontEntry)), + backing.set(cacheKey, Promise.resolve(backingEntry)) + ]); + } + }; +} +/** + * After serving a cache hit from the front, consult the backing and mirror a + * newer entry into the front for the next read. Runs in the background; + * failures are non-fatal. + */ async function reconcileFrontFromBacking(front, backing, cacheKey, softTags, frontEntry) { + try { + const backingEntry = await backing.get(cacheKey, softTags); + if (!backingEntry) { + // The backing no longer has this entry (it was purged out-of-band). The + // cache-handler interface has no per-key delete, so evict the front entry + // by overwriting it with an already-expired copy: the next read sees a + // front miss, falls through to the (also empty) backing, and the wrapper + // regenerates. The entry we just served was the last stale read. + await front.set(cacheKey, Promise.resolve(toExpiredEntry(frontEntry))); + return; + } + if (backingEntry.timestamp > frontEntry.timestamp) { + await front.set(cacheKey, Promise.resolve(backingEntry)); + } else { + // The front is already up to date, so the backing entry goes unused. This + // code releases its stream and does not await the result. The backing + // handler is user-configured, and it can return one branch of a teed + // stream. `cancel()` on such a branch settles only after the sibling + // branch is cancelled too, and the handler retains that sibling, so an + // await here would hang the reconcile. + void backingEntry.value.cancel(); + } + } catch { + // Background warming; failures are non-fatal. + } +} +/** + * Mirror a backing entry into the front. + */ async function mirrorIntoFront(front, cacheKey, entry) { + try { + await front.set(cacheKey, Promise.resolve(entry)); + } catch { + // Background warming; failures are non-fatal. + } +} +/** + * Build an already-expired copy of an entry, used to evict it from the front + * handler (which has no per-key delete) once the backing no longer has it. The + * default handler treats a negative `expire` as an eviction sentinel and + * reports the entry as missing on the next read. A negative `expire` is used + * rather than `0` because the dev front handler enforces a minimum retention, + * so a `0` `expire` would be kept alive by that minimum instead of evicted. The + * value is never read once the entry is evicted, but it must carry at least one + * byte because the built-in LRU cache refuses to store size-0 entries. + */ function toExpiredEntry(entry) { + return { + ...entry, + expire: -1, + value: new ReadableStream({ + start (controller) { + controller.enqueue(new Uint8Array(1)); + controller.close(); + } + }) + }; +} +}), +"[project]/node_modules/next/dist/esm/server/web/adapter.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "NextRequestHint", + ()=>NextRequestHint, + "adapter", + ()=>adapter +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$fetch$2d$event$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/request.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$response$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/response.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$relativize$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/next-url.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$internal$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/internal-utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/app-router-headers.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$globals$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/globals.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$async$2d$storage$2f$request$2d$store$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/async-storage/request-store.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$async$2d$storage$2f$work$2d$store$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/async-storage/work-store.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/tracer.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$web$2d$on$2d$close$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/web-on-close.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$get$2d$edge$2d$preview$2d$props$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/get-edge-preview-props.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$after$2f$builtin$2d$request$2d$context$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/after/builtin-request-context.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$implicit$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/implicit-tags.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$is$2d$rsc$2d$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/is-rsc-request.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/request-meta.js [middleware] (ecmascript)"); +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +// The proxy (middleware) does not support `'use cache'`, so this work store +// never reaches the code that reads `cacheLife` (and `'use cache'` is +// disallowed on the edge runtime anyway). This sentinel satisfies the +// non-optional type while throwing if `default` is ever read, matching the +// "never read" sentinels used for the proxy's other unused renderOpts fields +// (`staticPageGenerationTimeout: 0`, `useCacheTimeout: 0`). It surfaces loudly +// rather than silently serving a misleading profile. +const proxyCacheLifeProfiles = { + get default () { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"]('Proxy does not support `use cache`, so reading its `default` cacheLife profile is unexpected.'); + } +}; +class NextRequestHint extends __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextRequest"] { + constructor(params){ + super(params.input, params.init); + this.sourcePage = params.page; + } + get request() { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PageSignatureError"]({ + page: this.sourcePage + }); + } + respondWith() { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PageSignatureError"]({ + page: this.sourcePage + }); + } + waitUntil() { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PageSignatureError"]({ + page: this.sourcePage + }); + } +} +const headersGetter = { + keys: (headers)=>Array.from(headers.keys()), + get: (headers, key)=>headers.get(key) ?? undefined +}; +let propagator = (request, fn)=>{ + const tracer = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getTracer"])(); + return tracer.withPropagatedContext(request.headers, fn, headersGetter); +}; +let testApisIntercepted = false; +function ensureTestApisIntercepted() { + if (!testApisIntercepted) { + testApisIntercepted = true; + if (process.env.NEXT_PRIVATE_TEST_PROXY === 'true') { + const { interceptTestApis, wrapRequestHandler } = __turbopack_context__.r("[project]/node_modules/next/dist/experimental/testmode/server-edge.js [middleware] (ecmascript)"); + interceptTestApis(); + propagator = wrapRequestHandler(propagator); + } + } +} +async function adapter(params) { + var _getBuiltinRequestContext; + ensureTestApisIntercepted(); + await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$globals$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ensureInstrumentationRegistered"])(); + // TODO-APP: use explicit marker for this + const isEdgeRendering = typeof globalThis.__BUILD_MANIFEST !== 'undefined'; + params.request.url = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeRscURL"])(params.request.url); + const requestURL = params.bypassNextUrl ? new URL(params.request.url) : new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextURL"](params.request.url, { + headers: params.request.headers, + nextConfig: params.request.nextConfig + }); + // Iterator uses an index to keep track of the current iteration. Because of deleting and appending below we can't just use the iterator. + // Instead we use the keys before iteration. + const keys = [ + ...requestURL.searchParams.keys() + ]; + for (const key of keys){ + const value = requestURL.searchParams.getAll(key); + const normalizedKey = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeNextQueryParam"])(key); + if (normalizedKey) { + requestURL.searchParams.delete(normalizedKey); + for (const val of value){ + requestURL.searchParams.append(normalizedKey, val); + } + requestURL.searchParams.delete(key); + } + } + // Ensure users only see page requests, never data requests. + let buildId = process.env.__NEXT_BUILD_ID || ''; + if ('buildId' in requestURL) { + buildId = requestURL.buildId || ''; + requestURL.buildId = ''; + } + let deploymentId = ("TURBOPACK compile-time value", false); + const requestHeaders = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["fromNodeOutgoingHttpHeaders"])(params.request.headers); + const isNextDataRequest = requestHeaders.has('x-nextjs-data'); + const isRSCRequest = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$is$2d$rsc$2d$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isRSCRequestHeader"])(requestHeaders.get(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RSC_HEADER"])); + if (isNextDataRequest && requestURL.pathname === '/index') { + requestURL.pathname = '/'; + } + const flightHeaders = new Map(); + // Headers should only be stripped for middleware + if (!isEdgeRendering && !("TURBOPACK compile-time value", void 0)) { + for (const header of __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["FLIGHT_HEADERS"]){ + const value = requestHeaders.get(header); + if (value !== null) { + flightHeaders.set(header, value); + requestHeaders.delete(header); + } + } + } + const normalizeURL = ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : requestURL; + const rscHash = normalizeURL.searchParams.get(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_RSC_UNION_QUERY"]); + const request = new NextRequestHint({ + page: params.page, + // Strip internal query parameters off the request. + input: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$internal$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["stripInternalSearchParams"])(normalizeURL).toString(), + init: { + body: params.request.body, + headers: requestHeaders, + method: params.request.method, + nextConfig: params.request.nextConfig, + signal: params.request.signal + } + }); + if (params.request.requestMeta) { + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["setRequestMeta"])(request, params.request.requestMeta); + } + /** + * This allows to identify the request as a data request. The user doesn't + * need to know about this property neither use it. We add it for testing + * purposes. + */ if (isNextDataRequest) { + Object.defineProperty(request, '__isData', { + enumerable: false, + value: true + }); + } + if (// leverage the shared instance if not we need + // to create a fresh cache instance each time + !globalThis.__incrementalCacheShared && params.IncrementalCache) { + ; + globalThis.__incrementalCache = new params.IncrementalCache({ + CurCacheHandler: params.incrementalCacheHandler, + minimalMode: ("TURBOPACK compile-time value", "development") !== 'development', + fetchCacheKeyPrefix: ("TURBOPACK compile-time value", ""), + dev: ("TURBOPACK compile-time value", "development") === 'development', + requestHeaders: params.request.headers, + previewProps: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$get$2d$edge$2d$preview$2d$props$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getEdgePreviewProps"])(), + prerenderManifest: { + version: -1, + routes: {}, + dynamicRoutes: {}, + notFoundRoutes: [], + preview: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$get$2d$edge$2d$preview$2d$props$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getEdgePreviewProps"])() + } + }); + } + // if we're in an edge runtime sandbox, we should use the waitUntil + // that we receive from the enclosing NextServer + const outerWaitUntil = params.request.waitUntil ?? ((_getBuiltinRequestContext = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$after$2f$builtin$2d$request$2d$context$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getBuiltinRequestContext"])()) == null ? void 0 : _getBuiltinRequestContext.waitUntil); + const event = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$fetch$2d$event$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextFetchEvent"]({ + request, + page: params.page, + context: outerWaitUntil ? { + waitUntil: outerWaitUntil + } : undefined + }); + let response; + let cookiesFromResponse; + response = await propagator(request, ()=>{ + // we only care to make async storage available for middleware + const isMiddleware = params.page === '/middleware' || params.page === '/src/middleware' || params.page === '/proxy' || params.page === '/src/proxy'; + if (isMiddleware) { + // if we're in an edge function, we only get a subset of `nextConfig` (no `experimental`), + // so we have to inject it via DefinePlugin. + // in `next start` this will be passed normally (see `NextNodeServer.runMiddleware`). + const waitUntil = event.waitUntil.bind(event); + const closeController = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$web$2d$on$2d$close$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["CloseController"](); + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getTracer"])().trace(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["MiddlewareSpan"].execute, { + spanName: `middleware ${request.method}`, + attributes: { + 'http.target': request.nextUrl.pathname, + 'http.method': request.method + } + }, async ()=>{ + try { + var _params_request_nextConfig_experimental, _params_request_nextConfig; + const onUpdateCookies = (cookies)=>{ + cookiesFromResponse = cookies; + }; + const previewProps = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$get$2d$edge$2d$preview$2d$props$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getEdgePreviewProps"])(); + const page = '/' // Fake Work + ; + const fallbackRouteParams = null; + const implicitTags = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$implicit$2d$tags$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getImplicitTags"])(page, request.nextUrl.pathname, fallbackRouteParams); + const requestStore = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$async$2d$storage$2f$request$2d$store$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createRequestStoreForAPI"])(request, request.nextUrl, implicitTags, onUpdateCookies, previewProps, // refresh hash to thread through here. + undefined); + const workStore = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$async$2d$storage$2f$work$2d$store$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["createWorkStore"])({ + page, + renderOpts: { + cacheLifeProfiles: proxyCacheLifeProfiles, + // Proxy doesn't do static generation, so this value does not + // apply here. 0 is a sentinel: if something ever reads it, + // it'll surface loudly instead of silently using a misleading + // default. + staticPageGenerationTimeout: 0, + cacheComponents: false, + // Proxy doesn't run instant validation; the level value is + // irrelevant here. + // TODO: remove validationLevel and other global config from renderOpts + validationLevel: 'warning', + experimental: { + isRoutePPREnabled: false, + authInterrupts: !!((_params_request_nextConfig = params.request.nextConfig) == null ? void 0 : (_params_request_nextConfig_experimental = _params_request_nextConfig.experimental) == null ? void 0 : _params_request_nextConfig_experimental.authInterrupts), + // Proxy doesn't fill Cache Components entries, so this value + // is never read. 0 is a sentinel: if something ever reads it, + // the cache fill will time out immediately and surface the + // bug. + useCacheTimeout: 0, + durableUseCacheEntries: false + }, + waitUntil, + onClose: closeController.onClose.bind(closeController), + onAfterTaskError: undefined + }, + isPrefetchRequest: request.headers.get(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_ROUTER_PREFETCH_HEADER"]) === '1', + buildId: buildId ?? '', + deploymentId: deploymentId ?? '', + previouslyRevalidatedTags: [] + }); + return await __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workAsyncStorage"].run(workStore, ()=>__TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$unit$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workUnitAsyncStorage"].run(requestStore, params.handler, request, event)); + } finally{ + // middleware cannot stream, so we can consider the response closed + // as soon as the handler returns. + // we can delay running it until a bit later -- + // if it's needed, we'll have a `waitUntil` lock anyway. + setTimeout(()=>{ + closeController.dispatchClose(); + }, 0); + } + }); + } + return params.handler(request, event); + }); + // check if response is a Response object + if (response && !(response instanceof Response)) { + throw new TypeError('Expected an instance of Response to be returned'); + } + if (response && cookiesFromResponse) { + response.headers.set('set-cookie', cookiesFromResponse); + } + /** + * For rewrites we must always include the locale in the final pathname + * so we re-create the NextURL forcing it to include it when the it is + * an internal rewrite. Also we make sure the outgoing rewrite URL is + * a data URL if the request was a data request. + */ const rewrite = response == null ? void 0 : response.headers.get('x-middleware-rewrite'); + if (response && rewrite && (isRSCRequest || !isEdgeRendering)) { + var _params_request_nextConfig_experimental_clientParamParsingOrigins, _params_request_nextConfig_experimental, _params_request_nextConfig; + const destination = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextURL"](rewrite, { + forceLocale: true, + headers: params.request.headers, + nextConfig: params.request.nextConfig + }); + if (!("TURBOPACK compile-time value", void 0) && !isEdgeRendering) { + if (destination.host === request.nextUrl.host) { + destination.buildId = buildId || destination.buildId; + response.headers.set('x-middleware-rewrite', String(destination)); + } + } + /** + * When the request is a data request we must show if there was a rewrite + * with an internal header so the client knows which component to load + * from the data request. + */ const { url: relativeDestination, isRelative } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$relativize$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseRelativeURL"])(destination.toString(), requestURL.toString()); + if (!isEdgeRendering && isNextDataRequest && // if the rewrite is external and external rewrite + // resolving config is enabled don't add this header + // so the upstream app can set it instead + !(("TURBOPACK compile-time value", false) && relativeDestination.match(/http(s)?:\/\//))) { + response.headers.set('x-nextjs-rewrite', relativeDestination); + } + // Check to see if this is a non-relative rewrite. If it is, we need + // to check to see if it's an allowed origin to receive the rewritten + // headers. + const isAllowedOrigin = !isRelative ? (_params_request_nextConfig = params.request.nextConfig) == null ? void 0 : (_params_request_nextConfig_experimental = _params_request_nextConfig.experimental) == null ? void 0 : (_params_request_nextConfig_experimental_clientParamParsingOrigins = _params_request_nextConfig_experimental.clientParamParsingOrigins) == null ? void 0 : _params_request_nextConfig_experimental_clientParamParsingOrigins.some((origin)=>new RegExp(origin).test(destination.origin)) : false; + // If this is an RSC request, and the pathname or search has changed, and + // this isn't an external rewrite, we need to set the rewritten pathname and + // query headers. + if (isRSCRequest && (isRelative || isAllowedOrigin)) { + if (requestURL.pathname !== destination.pathname) { + response.headers.set(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_REWRITTEN_PATH_HEADER"], destination.pathname); + } + if (requestURL.search !== destination.search) { + response.headers.set(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_REWRITTEN_QUERY_HEADER"], destination.search.slice(1)); + } + } + } + /** + * Always forward the `_rsc` search parameter to the rewritten URL for RSC requests, + * unless it's already present. This is necessary to ensure that RSC hash validation + * works correctly after a rewrite. For internal rewrites, the server can validate the + * RSC hash using the original URL, so forwarding the `_rsc` parameter is less critical. + * However, for external rewrites (where the request is proxied to another Next.js server), + * the external server does not have access to the original URL or its search parameters. + * In these cases, forwarding the `_rsc` parameter is essential so that the external server + * can perform the correct RSC hash validation. + */ if (response && rewrite && isRSCRequest && rscHash) { + const rewriteURL = new URL(rewrite); + if (!rewriteURL.searchParams.has(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_RSC_UNION_QUERY"])) { + rewriteURL.searchParams.set(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_RSC_UNION_QUERY"], rscHash); + response.headers.set('x-middleware-rewrite', rewriteURL.toString()); + } + } + /** + * For redirects we will not include the locale in case when it is the + * default and we must also make sure the outgoing URL is a data one if + * the incoming request was a data request. + */ const redirect = response == null ? void 0 : response.headers.get('Location'); + if (response && redirect && !isEdgeRendering) { + const redirectURL = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextURL"](redirect, { + forceLocale: false, + headers: params.request.headers, + nextConfig: params.request.nextConfig + }); + /** + * Responses created from redirects have immutable headers so we have + * to clone the response to be able to modify it. + */ response = new Response(response.body, response); + if ("TURBOPACK compile-time truthy", 1) { + if (redirectURL.host === requestURL.host) { + redirectURL.buildId = buildId || redirectURL.buildId; + response.headers.set('Location', (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$relativize$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getRelativeURL"])(redirectURL, requestURL)); + } + } + /** + * When the request is a data request we can't use the location header as + * it may end up with CORS error. Instead we map to an internal header so + * the client knows the destination. + */ if (isNextDataRequest) { + response.headers.delete('Location'); + response.headers.set('x-nextjs-redirect', (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$relativize$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getRelativeURL"])(redirectURL.toString(), requestURL.toString())); + } + } + const finalResponse = response ? response : __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$response$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextResponse"].next(); + // Flight headers are not overridable / removable so they are applied at the end. + const middlewareOverrideHeaders = finalResponse.headers.get('x-middleware-override-headers'); + const overwrittenHeaders = []; + if (middlewareOverrideHeaders) { + for (const [key, value] of flightHeaders){ + finalResponse.headers.set(`x-middleware-request-${key}`, value); + overwrittenHeaders.push(key); + } + if (overwrittenHeaders.length > 0) { + finalResponse.headers.set('x-middleware-override-headers', middlewareOverrideHeaders + ',' + overwrittenHeaders.join(',')); + } + } + return { + response: finalResponse, + waitUntil: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$fetch$2d$event$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getWaitUntilPromiseFromEvent"])(event) ?? Promise.resolve(), + fetchMetrics: request.fetchMetrics + }; +} +}), +"[project]/node_modules/next/dist/esm/server/web/error.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "PageSignatureError", + ()=>PageSignatureError, + "RemovedPageError", + ()=>RemovedPageError, + "RemovedUAError", + ()=>RemovedUAError +]); +class PageSignatureError extends Error { + constructor({ page }){ + super(`The middleware "${page}" accepts an async API directly with the form: + + export function middleware(request, event) { + return NextResponse.redirect('/new-location') + } + + Read more: https://nextjs.org/docs/messages/middleware-new-signature + `); + } +} +class RemovedPageError extends Error { + constructor(){ + super(`The request.page has been deprecated in favour of \`URLPattern\`. + Read more: https://nextjs.org/docs/messages/middleware-request-page + `); + } +} +class RemovedUAError extends Error { + constructor(){ + super(`The request.ua has been removed in favour of \`userAgent\` function. + Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent + `); + } +} +}), +"[project]/node_modules/next/dist/esm/server/web/get-edge-preview-props.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * In edge runtime, these props directly accessed from environment variables. + * - local: env vars will be injected through edge-runtime as runtime env vars + * - deployment: env vars will be replaced by edge build pipeline + */ __turbopack_context__.s([ + "getEdgePreviewProps", + ()=>getEdgePreviewProps +]); +function getEdgePreviewProps() { + return { + previewModeId: process.env.__NEXT_PREVIEW_MODE_ID || '', + previewModeSigningKey: process.env.__NEXT_PREVIEW_MODE_SIGNING_KEY || '', + previewModeEncryptionKey: process.env.__NEXT_PREVIEW_MODE_ENCRYPTION_KEY || '' + }; +} +}), +"[project]/node_modules/next/dist/esm/server/web/globals.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "edgeInstrumentationOnRequestError", + ()=>edgeInstrumentationOnRequestError, + "ensureInstrumentationRegistered", + ()=>ensureInstrumentationRegistered, + "getEdgeInstrumentationModule", + ()=>getEdgeInstrumentationModule +]); +async function getEdgeInstrumentationModule() { + const instrumentation = '_ENTRIES' in globalThis && _ENTRIES.middleware_instrumentation && await _ENTRIES.middleware_instrumentation; + return instrumentation; +} +let instrumentationModulePromise = null; +async function registerInstrumentation() { + // Ensure registerInstrumentation is not called in production build + if (process.env.NEXT_PHASE === 'phase-production-build') return; + if (!instrumentationModulePromise) { + instrumentationModulePromise = getEdgeInstrumentationModule(); + } + const instrumentation = await instrumentationModulePromise; + if (instrumentation == null ? void 0 : instrumentation.register) { + try { + await instrumentation.register(); + } catch (err) { + err.message = `An error occurred while loading instrumentation hook: ${err.message}`; + throw err; + } + } +} +async function edgeInstrumentationOnRequestError(...args) { + const instrumentation = await getEdgeInstrumentationModule(); + try { + var _instrumentation_onRequestError; + await (instrumentation == null ? void 0 : (_instrumentation_onRequestError = instrumentation.onRequestError) == null ? void 0 : _instrumentation_onRequestError.call(instrumentation, ...args)); + } catch (err) { + // Log the soft error and continue, since the original error has already been thrown + console.error('Error in instrumentation.onRequestError:', err); + } +} +let registerInstrumentationPromise = null; +function ensureInstrumentationRegistered() { + if (!registerInstrumentationPromise) { + registerInstrumentationPromise = registerInstrumentation(); + } + return registerInstrumentationPromise; +} +function getUnsupportedModuleErrorMessage(module) { + // warning: if you change these messages, you must adjust how dev-overlay's middleware detects modules not found + return `The edge runtime does not support Node.js '${module}' module. +Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`; +} +function __import_unsupported(moduleName) { + const proxy = new Proxy(function() {}, { + get (_obj, prop) { + if (prop === 'then') { + return {}; + } + throw new Error(getUnsupportedModuleErrorMessage(moduleName)); + }, + construct () { + throw new Error(getUnsupportedModuleErrorMessage(moduleName)); + }, + apply (_target, _this, args) { + if (typeof args[0] === 'function') { + return args[0](proxy); + } + throw new Error(getUnsupportedModuleErrorMessage(moduleName)); + } + }); + return new Proxy({}, { + get: ()=>proxy + }); +} +function enhanceGlobals() { + if ("TURBOPACK compile-time truthy", 1) { + return; + } + //TURBOPACK unreachable + ; +} +enhanceGlobals(); +}), +"[project]/node_modules/next/dist/esm/server/web/next-url.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "NextURL", + ()=>NextURL +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$detect$2d$domain$2d$locale$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$format$2d$next$2d$pathname$2d$info$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$get$2d$hostname$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/get-hostname.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$next$2d$pathname$2d$info$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js [middleware] (ecmascript)"); +; +; +; +; +const REGEX_LOCALHOST_HOSTNAME = /^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/; +function parseURL(url, base) { + const parsed = new URL(String(url), base && String(base)); + if (REGEX_LOCALHOST_HOSTNAME.test(parsed.hostname)) { + parsed.hostname = 'localhost'; + } + return parsed; +} +const Internal = Symbol('NextURLInternal'); +class NextURL { + constructor(input, baseOrOpts, opts){ + let base; + let options; + if (typeof baseOrOpts === 'object' && 'pathname' in baseOrOpts || typeof baseOrOpts === 'string') { + base = baseOrOpts; + options = opts || {}; + } else { + options = opts || baseOrOpts || {}; + } + this[Internal] = { + url: parseURL(input, base ?? options.base), + options: options, + basePath: '' + }; + this.analyze(); + } + analyze() { + var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig, _this_Internal_domainLocale, _this_Internal_options_nextConfig_i18n1, _this_Internal_options_nextConfig1; + const info = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$next$2d$pathname$2d$info$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getNextPathnameInfo"])(this[Internal].url.pathname, { + nextConfig: this[Internal].options.nextConfig, + parseData: !("TURBOPACK compile-time value", void 0), + i18nProvider: this[Internal].options.i18nProvider + }); + const hostname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$get$2d$hostname$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getHostname"])(this[Internal].url, this[Internal].options.headers); + this[Internal].domainLocale = this[Internal].options.i18nProvider ? this[Internal].options.i18nProvider.detectDomainLocale(hostname) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$detect$2d$domain$2d$locale$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["detectDomainLocale"])((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.domains, hostname); + const defaultLocale = ((_this_Internal_domainLocale = this[Internal].domainLocale) == null ? void 0 : _this_Internal_domainLocale.defaultLocale) || ((_this_Internal_options_nextConfig1 = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n1 = _this_Internal_options_nextConfig1.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n1.defaultLocale); + this[Internal].url.pathname = info.pathname; + this[Internal].defaultLocale = defaultLocale; + this[Internal].basePath = info.basePath ?? ''; + this[Internal].buildId = info.buildId; + this[Internal].locale = info.locale ?? defaultLocale; + this[Internal].trailingSlash = info.trailingSlash; + } + formatPathname() { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$format$2d$next$2d$pathname$2d$info$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["formatNextPathnameInfo"])({ + basePath: this[Internal].basePath, + buildId: this[Internal].buildId, + defaultLocale: !this[Internal].options.forceLocale ? this[Internal].defaultLocale : undefined, + locale: this[Internal].locale, + pathname: this[Internal].url.pathname, + trailingSlash: this[Internal].trailingSlash + }); + } + formatSearch() { + return this[Internal].url.search; + } + get buildId() { + return this[Internal].buildId; + } + set buildId(buildId) { + this[Internal].buildId = buildId; + } + get locale() { + return this[Internal].locale ?? ''; + } + set locale(locale) { + var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig; + if (!this[Internal].locale || !((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.locales.includes(locale))) { + throw new TypeError(`The NextURL configuration includes no locale "${locale}"`); + } + this[Internal].locale = locale; + } + get defaultLocale() { + return this[Internal].defaultLocale; + } + get domainLocale() { + return this[Internal].domainLocale; + } + get searchParams() { + return this[Internal].url.searchParams; + } + get host() { + return this[Internal].url.host; + } + set host(value) { + this[Internal].url.host = value; + } + get hostname() { + return this[Internal].url.hostname; + } + set hostname(value) { + this[Internal].url.hostname = value; + } + get port() { + return this[Internal].url.port; + } + set port(value) { + this[Internal].url.port = value; + } + get protocol() { + return this[Internal].url.protocol; + } + set protocol(value) { + this[Internal].url.protocol = value; + } + get href() { + const pathname = this.formatPathname(); + const search = this.formatSearch(); + return `${this.protocol}//${this.host}${pathname}${search}${this.hash}`; + } + set href(url) { + this[Internal].url = parseURL(url); + this.analyze(); + } + get origin() { + return this[Internal].url.origin; + } + get pathname() { + return this[Internal].url.pathname; + } + set pathname(value) { + this[Internal].url.pathname = value; + } + get hash() { + return this[Internal].url.hash; + } + set hash(value) { + this[Internal].url.hash = value; + } + get search() { + return this[Internal].url.search; + } + set search(value) { + this[Internal].url.search = value; + } + get password() { + return this[Internal].url.password; + } + set password(value) { + this[Internal].url.password = value; + } + get username() { + return this[Internal].url.username; + } + set username(value) { + this[Internal].url.username = value; + } + get basePath() { + return this[Internal].basePath; + } + set basePath(value) { + this[Internal].basePath = value.startsWith('/') ? value : `/${value}`; + } + toString() { + return this.href; + } + toJSON() { + return this.href; + } + [Symbol.for('edge-runtime.inspect.custom')]() { + return { + href: this.href, + origin: this.origin, + protocol: this.protocol, + username: this.username, + password: this.password, + host: this.host, + hostname: this.hostname, + port: this.port, + pathname: this.pathname, + search: this.search, + searchParams: this.searchParams, + hash: this.hash + }; + } + clone() { + return new NextURL(String(this), this[Internal].options); + } +} +}), +"[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/headers.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "HeadersAdapter", + ()=>HeadersAdapter, + "ReadonlyHeadersError", + ()=>ReadonlyHeadersError +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/reflect.js [middleware] (ecmascript)"); +; +class ReadonlyHeadersError extends Error { + constructor(){ + super('Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers'); + } + static callable() { + throw new ReadonlyHeadersError(); + } +} +/** + * Builds the read methods for a sealed view that exposes all of `target`. + */ function createPassThroughMethods(target, sealed) { + return { + get: target.get.bind(target), + has: target.has.bind(target), + getSetCookie: target.getSetCookie.bind(target), + keys: target.keys.bind(target), + values: target.values.bind(target), + entries: target.entries.bind(target), + [Symbol.iterator]: target[Symbol.iterator].bind(target), + // The native method passes the unsealed target as the callback's `parent` + // argument. That is a mutable handle on the underlying headers. Pass the + // sealed view instead. + forEach (callbackfn, thisArg) { + for (const [name, value] of target.entries()){ + callbackfn.call(thisArg, value, name, sealed); + } + } + }; +} +/** + * Builds the read methods for a sealed view that omits the header names matched + * by `isHidden`. + */ function createHidingMethods(target, sealed, isHidden) { + function* entries() { + for (const entry of target.entries()){ + if (!isHidden(entry[0])) { + yield entry; + } + } + } + return { + entries, + [Symbol.iterator]: entries, + get: (name)=>isHidden(name) ? null : target.get(name), + has: (name)=>isHidden(name) ? false : target.has(name), + getSetCookie: ()=>isHidden('set-cookie') ? [] : target.getSetCookie(), + *keys () { + for (const name of target.keys()){ + if (!isHidden(name)) { + yield name; + } + } + }, + *values () { + for (const [, value] of entries()){ + yield value; + } + }, + // The native method passes the unsealed target as the callback's `parent` + // argument. That is a mutable handle on the underlying headers. Pass the + // sealed view instead. + forEach (callbackfn, thisArg) { + for (const [name, value] of entries()){ + callbackfn.call(thisArg, value, name, sealed); + } + } + }; +} +class HeadersAdapter extends Headers { + constructor(headers){ + // We've already overridden the methods that would be called, so we're just + // calling the super constructor to ensure that the instanceof check works. + super(); + this.headers = new Proxy(headers, { + get (target, prop, receiver) { + // Because this is just an object, we expect that all "get" operations + // are for properties. If it's a "get" for a symbol, we'll just return + // the symbol. + if (typeof prop === 'symbol') { + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + const lowercased = prop.toLowerCase(); + // Let's find the original casing of the key. This assumes that there is + // no mixed case keys (e.g. "Content-Type" and "content-type") in the + // headers object. + const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); + // If the original casing doesn't exist, return undefined. + if (typeof original === 'undefined') return; + // If the original casing exists, return the value. + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, original, receiver); + }, + set (target, prop, value, receiver) { + if (typeof prop === 'symbol') { + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].set(target, prop, value, receiver); + } + const lowercased = prop.toLowerCase(); + // Let's find the original casing of the key. This assumes that there is + // no mixed case keys (e.g. "Content-Type" and "content-type") in the + // headers object. + const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); + // If the original casing doesn't exist, use the prop as the key. + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].set(target, original ?? prop, value, receiver); + }, + has (target, prop) { + if (typeof prop === 'symbol') return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].has(target, prop); + const lowercased = prop.toLowerCase(); + // Let's find the original casing of the key. This assumes that there is + // no mixed case keys (e.g. "Content-Type" and "content-type") in the + // headers object. + const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); + // If the original casing doesn't exist, return false. + if (typeof original === 'undefined') return false; + // If the original casing exists, return true. + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].has(target, original); + }, + deleteProperty (target, prop) { + if (typeof prop === 'symbol') return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].deleteProperty(target, prop); + const lowercased = prop.toLowerCase(); + // Let's find the original casing of the key. This assumes that there is + // no mixed case keys (e.g. "Content-Type" and "content-type") in the + // headers object. + const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); + // If the original casing doesn't exist, return true. + if (typeof original === 'undefined') return true; + // If the original casing exists, delete the property. + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].deleteProperty(target, original); + } + }); + } + /** + * Seals a Headers instance to prevent modification by throwing an error when + * any mutating method is called. + * + * The sealed view stays live. Later writes to `headers` remain visible + * through it. + * + * `hidden` omits the given header names from every read operation (`get`, + * `has`, `getSetCookie`, `forEach`, and iteration). The names must be + * lowercase. The underlying headers are neither copied nor mutated, so hidden + * headers remain available to the framework. + */ static seal(headers, hidden) { + const isHidden = hidden && hidden.size > 0 ? (name)=>hidden.has(name.toLowerCase()) : null; + // The methods are built once per sealed view and reused, so repeated access + // returns the same function instead of a fresh closure. They are assigned + // after the proxy exists because `forEach` hands the proxy to its callback. + // Creating the proxy runs no trap, so nothing can read them before then. + let methods; + const sealed = new Proxy(headers, { + get (target, prop, receiver) { + switch(prop){ + case 'append': + case 'delete': + case 'set': + return ReadonlyHeadersError.callable; + case Symbol.iterator: + return methods[Symbol.iterator]; + case 'get': + case 'has': + case 'getSetCookie': + case 'keys': + case 'values': + case 'entries': + case 'forEach': + return methods[prop]; + default: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + } + }); + methods = isHidden ? createHidingMethods(headers, sealed, isHidden) : createPassThroughMethods(headers, sealed); + return sealed; + } + /** + * @param headers + * @returns A fresh object identity backed by the original value + */ static fresh(headers) { + return new Proxy(headers, { + get (target, prop, receiver) { + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + }); + } + /** + * Merges a header value into a string. This stores multiple values as an + * array, so we need to merge them into a string. + * + * @param value a header value + * @returns a merged header value (a string) + */ merge(value) { + if (Array.isArray(value)) return value.join(', '); + return value; + } + /** + * Creates a Headers instance from a plain object or a Headers instance. + * + * @param headers a plain object or a Headers instance + * @returns a headers instance + */ static from(headers) { + if (headers instanceof Headers) return headers; + return new HeadersAdapter(headers); + } + append(name, value) { + const existing = this.headers[name]; + if (typeof existing === 'string') { + this.headers[name] = [ + existing, + value + ]; + } else if (Array.isArray(existing)) { + existing.push(value); + } else { + this.headers[name] = value; + } + } + delete(name) { + delete this.headers[name]; + } + get(name) { + const value = this.headers[name]; + if (typeof value !== 'undefined') return this.merge(value); + return null; + } + has(name) { + return typeof this.headers[name] !== 'undefined'; + } + set(name, value) { + this.headers[name] = value; + } + forEach(callbackfn, thisArg) { + for (const [name, value] of this.entries()){ + callbackfn.call(thisArg, value, name, this); + } + } + *entries() { + for (const key of Object.keys(this.headers)){ + const name = key.toLowerCase(); + // We assert here that this is a string because we got it from the + // Object.keys() call above. + const value = this.get(name); + yield [ + name, + value + ]; + } + } + *keys() { + for (const key of Object.keys(this.headers)){ + const name = key.toLowerCase(); + yield name; + } + } + *values() { + for (const key of Object.keys(this.headers)){ + // We assert here that this is a string because we got it from the + // Object.keys() call above. + const value = this.get(key); + yield value; + } + } + [Symbol.iterator]() { + return this.entries(); + } +} +}), +"[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/next-request.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "NextRequestAdapter", + ()=>NextRequestAdapter, + "ResponseAborted", + ()=>ResponseAborted, + "ResponseAbortedName", + ()=>ResponseAbortedName, + "createAbortController", + ()=>createAbortController, + "signalFromNodeResponse", + ()=>signalFromNodeResponse +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/request-meta.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/request.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/base-http/helpers.js [middleware] (ecmascript)"); +; +; +; +; +const ResponseAbortedName = 'ResponseAborted'; +class ResponseAborted extends Error { + constructor(...args){ + super(...args), this.name = ResponseAbortedName; + } +} +function createAbortController(response) { + const controller = new AbortController(); + // If `finish` fires first, then `res.end()` has been called and the close is + // just us finishing the stream on our side. If `close` fires first, then we + // know the client disconnected before we finished. + response.once('close', ()=>{ + if (response.writableFinished) return; + controller.abort(new ResponseAborted()); + }); + return controller; +} +function signalFromNodeResponse(response) { + const { errored, destroyed } = response; + if (errored || destroyed) { + return AbortSignal.abort(errored ?? new ResponseAborted()); + } + const { signal } = createAbortController(response); + return signal; +} +class NextRequestAdapter { + static fromBaseNextRequest(request, signal) { + if (// environment variable check provides dead code elimination. + ("TURBOPACK compile-time value", "nodejs") === 'edge' && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isWebNextRequest"])(request)) //TURBOPACK unreachable + ; + else if (// environment variable check provides dead code elimination. + ("TURBOPACK compile-time value", "nodejs") !== 'edge' && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$helpers$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isNodeNextRequest"])(request)) { + return NextRequestAdapter.fromNodeNextRequest(request, signal); + } else { + throw new Error('Invariant: Unsupported NextRequest type'); + } + } + static fromNodeNextRequest(request, signal) { + // HEAD and GET requests can not have a body. + let body = null; + if (request.method !== 'GET' && request.method !== 'HEAD' && request.body) { + // @ts-expect-error - this is handled by undici, when streams/web land use it instead + body = request.body; + } + let url; + if (request.url.startsWith('http')) { + url = new URL(request.url); + } else { + // Grab the full URL from the request metadata. + const base = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getRequestMeta"])(request, 'initURL'); + if (!base || !base.startsWith('http')) { + // Because the URL construction relies on the fact that the URL provided + // is absolute, we need to provide a base URL. We can't use the request + // URL because it's relative, so we use a dummy URL instead. + url = new URL(request.url, 'http://n'); + } else { + url = new URL(request.url, base); + } + } + return new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextRequest"](url, { + method: request.method, + headers: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["fromNodeOutgoingHttpHeaders"])(request.headers), + duplex: 'half', + signal, + // geo + // ip + // nextConfig + // body can not be passed if request was aborted + // or we get a Request body was disturbed error + ...signal.aborted ? {} : { + body + } + }); + } + static fromWebNextRequest(request) { + // HEAD and GET requests can not have a body. + let body = null; + if (request.method !== 'GET' && request.method !== 'HEAD') { + body = request.body; + } + return new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$request$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextRequest"](request.url, { + method: request.method, + headers: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["fromNodeOutgoingHttpHeaders"])(request.headers), + duplex: 'half', + signal: request.request.signal, + // geo + // ip + // nextConfig + // body can not be passed if request was aborted + // or we get a Request body was disturbed error + ...request.request.signal.aborted ? {} : { + body + } + }); + } +} +}), +"[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/reflect.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ReflectAdapter", + ()=>ReflectAdapter +]); +class ReflectAdapter { + static get(target, prop, receiver) { + const value = Reflect.get(target, prop, receiver); + if (typeof value === 'function') { + return value.bind(target); + } + return value; + } + static set(target, prop, value, receiver) { + return Reflect.set(target, prop, value, receiver); + } + static has(target, prop) { + return Reflect.has(target, prop); + } + static deleteProperty(target, prop) { + return Reflect.deleteProperty(target, prop); + } +} +}), +"[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/request-cookies.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "MutableRequestCookiesAdapter", + ()=>MutableRequestCookiesAdapter, + "ReadonlyRequestCookiesError", + ()=>ReadonlyRequestCookiesError, + "RequestCookiesAdapter", + ()=>RequestCookiesAdapter, + "appendMutableCookies", + ()=>appendMutableCookies, + "areCookiesMutableInCurrentPhase", + ()=>areCookiesMutableInCurrentPhase, + "createCookiesWithMutableAccessCheck", + ()=>createCookiesWithMutableAccessCheck, + "getModifiedCookieValues", + ()=>getModifiedCookieValues, + "responseCookiesToRequestCookies", + ()=>responseCookiesToRequestCookies +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/cookies.js [middleware] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/reflect.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$action$2d$revalidation$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/action-revalidation-kind.js [middleware] (ecmascript)"); +; +; +; +; +; +class ReadonlyRequestCookiesError extends Error { + constructor(){ + super('Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options'); + } + static callable() { + throw new ReadonlyRequestCookiesError(); + } +} +class RequestCookiesAdapter { + static seal(cookies) { + return new Proxy(cookies, { + get (target, prop, receiver) { + switch(prop){ + case 'clear': + case 'delete': + case 'set': + return ReadonlyRequestCookiesError.callable; + default: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + } + }); + } + /** + * @param cookies + * @returns A fresh object identity backed by the original value + */ static fresh(cookies) { + return new Proxy(cookies, { + get (target, prop, receiver) { + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + }); + } +} +const SYMBOL_MODIFY_COOKIE_VALUES = Symbol.for('next.mutated.cookies'); +function getModifiedCookieValues(cookies) { + const modified = cookies[SYMBOL_MODIFY_COOKIE_VALUES]; + if (!modified || !Array.isArray(modified) || modified.length === 0) { + return []; + } + return modified; +} +function appendMutableCookies(headers, mutableCookies) { + const modifiedCookieValues = getModifiedCookieValues(mutableCookies); + if (modifiedCookieValues.length === 0) { + return false; + } + // Return a new response that extends the response with + // the modified cookies as fallbacks. `res` cookies + // will still take precedence. + const resCookies = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ResponseCookies"](headers); + const returnedCookies = resCookies.getAll(); + // Set the modified cookies as fallbacks. + for (const cookie of modifiedCookieValues){ + resCookies.set(cookie); + } + // Set the original cookies as the final values. + for (const cookie of returnedCookies){ + resCookies.set(cookie); + } + return true; +} +class MutableRequestCookiesAdapter { + static wrap(cookies, onUpdateCookies) { + const responseCookies = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ResponseCookies"](new Headers()); + for (const cookie of cookies.getAll()){ + responseCookies.set(cookie); + } + let modifiedValues = []; + const modifiedCookies = new Set(); + const updateResponseCookies = ()=>{ + // TODO-APP: change method of getting workStore + const workStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workAsyncStorage"].getStore(); + if (workStore) { + workStore.pathWasRevalidated = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$action$2d$revalidation$2d$kind$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ActionDidRevalidateStaticAndDynamic"]; + } + const allCookies = responseCookies.getAll(); + modifiedValues = allCookies.filter((c)=>modifiedCookies.has(c.name)); + if (onUpdateCookies) { + const serializedCookies = []; + for (const cookie of modifiedValues){ + const tempCookies = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ResponseCookies"](new Headers()); + tempCookies.set(cookie); + serializedCookies.push(tempCookies.toString()); + } + onUpdateCookies(serializedCookies); + } + }; + const wrappedCookies = new Proxy(responseCookies, { + get (target, prop, receiver) { + switch(prop){ + // A special symbol to get the modified cookie values + case SYMBOL_MODIFY_COOKIE_VALUES: + return modifiedValues; + // TODO: Throw error if trying to set a cookie after the response + // headers have been set. + case 'delete': + return function(...args) { + modifiedCookies.add(typeof args[0] === 'string' ? args[0] : args[0].name); + try { + target.delete(...args); + return wrappedCookies; + } finally{ + updateResponseCookies(); + } + }; + case 'set': + return function(...args) { + modifiedCookies.add(typeof args[0] === 'string' ? args[0] : args[0].name); + try { + target.set(...args); + return wrappedCookies; + } finally{ + updateResponseCookies(); + } + }; + default: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + } + }); + return wrappedCookies; + } +} +function createCookiesWithMutableAccessCheck(requestStore) { + const wrappedCookies = new Proxy(requestStore.mutableCookies, { + get (target, prop, receiver) { + switch(prop){ + case 'delete': + return function(...args) { + ensureCookiesAreStillMutable(requestStore, 'cookies().delete'); + target.delete(...args); + return wrappedCookies; + }; + case 'set': + return function(...args) { + ensureCookiesAreStillMutable(requestStore, 'cookies().set'); + target.set(...args); + return wrappedCookies; + }; + default: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + } + }); + return wrappedCookies; +} +function areCookiesMutableInCurrentPhase(requestStore) { + return requestStore.phase === 'action'; +} +/** Ensure that cookies() starts throwing on mutation + * if we changed phases and can no longer mutate. + * + * This can happen when going: + * 'render' -> 'after' + * 'action' -> 'render' + * */ function ensureCookiesAreStillMutable(requestStore, _callingExpression) { + if (!areCookiesMutableInCurrentPhase(requestStore)) { + // TODO: maybe we can give a more precise error message based on callingExpression? + throw new ReadonlyRequestCookiesError(); + } +} +function responseCookiesToRequestCookies(responseCookies) { + const requestCookies = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RequestCookies"](new Headers()); + for (const cookie of responseCookies.getAll()){ + requestCookies.set(cookie); + } + return requestCookies; +} +}), +"[project]/node_modules/next/dist/esm/server/web/spec-extension/cookies.js [middleware] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [middleware] (ecmascript)"); +; +}), +"[project]/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "NextFetchEvent", + ()=>NextFetchEvent, + "getWaitUntilPromiseFromEvent", + ()=>getWaitUntilPromiseFromEvent +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/error.js [middleware] (ecmascript)"); +; +const responseSymbol = Symbol('response'); +const passThroughSymbol = Symbol('passThrough'); +const waitUntilSymbol = Symbol('waitUntil'); +class FetchEvent { + constructor(_request, waitUntil){ + this[passThroughSymbol] = false; + this[waitUntilSymbol] = waitUntil ? { + kind: 'external', + function: waitUntil + } : { + kind: 'internal', + promises: [] + }; + } + // TODO: is this dead code? NextFetchEvent never lets this get called + respondWith(response) { + if (!this[responseSymbol]) { + this[responseSymbol] = Promise.resolve(response); + } + } + // TODO: is this dead code? passThroughSymbol is unused + passThroughOnException() { + this[passThroughSymbol] = true; + } + waitUntil(promise) { + if (this[waitUntilSymbol].kind === 'external') { + // if we received an external waitUntil, we delegate to it + // TODO(after): this will make us not go through `getServerError(error, 'edge-server')` in `sandbox` + const waitUntil = this[waitUntilSymbol].function; + return waitUntil(promise); + } else { + // if we didn't receive an external waitUntil, we make it work on our own + // (and expect the caller to do something with the promises) + this[waitUntilSymbol].promises.push(promise); + } + } +} +function getWaitUntilPromiseFromEvent(event) { + return event[waitUntilSymbol].kind === 'internal' ? Promise.all(event[waitUntilSymbol].promises).then(()=>{}) : undefined; +} +class NextFetchEvent extends FetchEvent { + constructor(params){ + var _params_context; + super(params.request, (_params_context = params.context) == null ? void 0 : _params_context.waitUntil); + this.sourcePage = params.page; + } + /** + * @deprecated The `request` is now the first parameter and the API is now async. + * + * Read more: https://nextjs.org/docs/messages/middleware-new-signature + */ get request() { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PageSignatureError"]({ + page: this.sourcePage + }); + } + /** + * @deprecated Using `respondWith` is no longer needed. + * + * Read more: https://nextjs.org/docs/messages/middleware-new-signature + */ respondWith() { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PageSignatureError"]({ + page: this.sourcePage + }); + } +} +}), +"[project]/node_modules/next/dist/esm/server/web/spec-extension/request.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "INTERNALS", + ()=>INTERNALS, + "NextRequest", + ()=>NextRequest +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/next-url.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/cookies.js [middleware] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [middleware] (ecmascript)"); +; +; +; +; +const INTERNALS = Symbol('internal request'); +class NextRequest extends Request { + constructor(input, init = {}){ + const url = typeof input !== 'string' && 'url' in input ? input.url : String(input); + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["validateURL"])(url); + // node Request instance requires duplex option when a body + // is present or it errors, we don't handle this for + // Request being passed in since it would have already + // errored if this wasn't configured + if ("TURBOPACK compile-time truthy", 1) { + if (init.body && init.duplex !== 'half') { + init.duplex = 'half'; + } + } + if (input instanceof Request) super(input, init); + else super(url, init); + const nextUrl = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextURL"](url, { + headers: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["toNodeOutgoingHttpHeaders"])(this.headers), + nextConfig: init.nextConfig + }); + this[INTERNALS] = { + cookies: new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RequestCookies"](this.headers), + nextUrl, + url: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : nextUrl.toString() + }; + } + [Symbol.for('edge-runtime.inspect.custom')]() { + return { + cookies: this.cookies, + nextUrl: this.nextUrl, + url: this.url, + // rest of props come from Request + bodyUsed: this.bodyUsed, + cache: this.cache, + credentials: this.credentials, + destination: this.destination, + headers: Object.fromEntries(this.headers), + integrity: this.integrity, + keepalive: this.keepalive, + method: this.method, + mode: this.mode, + redirect: this.redirect, + referrer: this.referrer, + referrerPolicy: this.referrerPolicy, + signal: this.signal + }; + } + get cookies() { + return this[INTERNALS].cookies; + } + get nextUrl() { + return this[INTERNALS].nextUrl; + } + /** + * @deprecated + * `page` has been deprecated in favour of `URLPattern`. + * Read more: https://nextjs.org/docs/messages/middleware-request-page + */ get page() { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RemovedPageError"](); + } + /** + * @deprecated + * `ua` has been removed in favour of \`userAgent\` function. + * Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent + */ get ua() { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["RemovedUAError"](); + } + get url() { + return this[INTERNALS].url; + } +} +}), +"[project]/node_modules/next/dist/esm/server/web/spec-extension/response.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "NextResponse", + ()=>NextResponse +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$cookies$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/cookies.js [middleware] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/next-url.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/reflect.js [middleware] (ecmascript)"); +; +; +; +; +; +const INTERNALS = Symbol('internal response'); +const REDIRECTS = new Set([ + 301, + 302, + 303, + 307, + 308 +]); +function handleMiddlewareField(init, headers) { + var _init_request; + if (init == null ? void 0 : (_init_request = init.request) == null ? void 0 : _init_request.headers) { + if (!(init.request.headers instanceof Headers)) { + throw new Error('request.headers must be an instance of Headers'); + } + const keys = []; + for (const [key, value] of init.request.headers){ + headers.set('x-middleware-request-' + key, value); + keys.push(key); + } + headers.set('x-middleware-override-headers', keys.join(',')); + } +} +class NextResponse extends Response { + constructor(body, init = {}){ + super(body, init); + const headers = this.headers; + const cookies = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ResponseCookies"](headers); + const cookiesProxy = new Proxy(cookies, { + get (target, prop, receiver) { + switch(prop){ + case 'delete': + case 'set': + { + return (...args)=>{ + const result = Reflect.apply(target[prop], target, args); + const newHeaders = new Headers(headers); + if (result instanceof __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ResponseCookies"]) { + headers.set('x-middleware-set-cookie', result.getAll().map((cookie)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["stringifyCookie"])(cookie)).join(',')); + } + handleMiddlewareField(init, newHeaders); + return result; + }; + } + default: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + } + }); + this[INTERNALS] = { + cookies: cookiesProxy, + url: init.url ? new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NextURL"](init.url, { + headers: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["toNodeOutgoingHttpHeaders"])(headers), + nextConfig: init.nextConfig + }) : undefined + }; + } + [Symbol.for('edge-runtime.inspect.custom')]() { + return { + cookies: this.cookies, + url: this.url, + // rest of props come from Response + body: this.body, + bodyUsed: this.bodyUsed, + headers: Object.fromEntries(this.headers), + ok: this.ok, + redirected: this.redirected, + status: this.status, + statusText: this.statusText, + type: this.type + }; + } + get cookies() { + return this[INTERNALS].cookies; + } + static json(body, init) { + const response = Response.json(body, init); + return new NextResponse(response.body, response); + } + static redirect(url, init) { + const status = typeof init === 'number' ? init : (init == null ? void 0 : init.status) ?? 307; + if (!REDIRECTS.has(status)) { + throw new RangeError('Failed to execute "redirect" on "response": Invalid status code'); + } + const initObj = typeof init === 'object' ? init : {}; + const headers = new Headers(initObj == null ? void 0 : initObj.headers); + headers.set('Location', (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["validateURL"])(url)); + return new NextResponse(null, { + ...initObj, + headers, + status + }); + } + static rewrite(destination, init) { + const headers = new Headers(init == null ? void 0 : init.headers); + headers.set('x-middleware-rewrite', (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["validateURL"])(destination)); + handleMiddlewareField(init, headers); + return new NextResponse(null, { + ...init, + headers + }); + } + static next(init) { + const headers = new Headers(init == null ? void 0 : init.headers); + headers.set('x-middleware-next', '1'); + handleMiddlewareField(init, headers); + return new NextResponse(null, { + ...init, + headers + }); + } +} +}), +"[project]/node_modules/next/dist/esm/server/web/utils.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "fromNodeOutgoingHttpHeaders", + ()=>fromNodeOutgoingHttpHeaders, + "normalizeNextQueryParam", + ()=>normalizeNextQueryParam, + "splitCookiesString", + ()=>splitCookiesString, + "toNodeOutgoingHttpHeaders", + ()=>toNodeOutgoingHttpHeaders, + "validateURL", + ()=>validateURL +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [middleware] (ecmascript)"); +; +function fromNodeOutgoingHttpHeaders(nodeHeaders) { + const headers = new Headers(); + for (let [key, value] of Object.entries(nodeHeaders)){ + const values = Array.isArray(value) ? value : [ + value + ]; + for (let v of values){ + if (typeof v === 'undefined') continue; + if (typeof v === 'number') { + v = v.toString(); + } + headers.append(key, v); + } + } + return headers; +} +function splitCookiesString(cookiesString) { + var cookiesStrings = []; + var pos = 0; + var start; + var ch; + var lastComma; + var nextStart; + var cookiesSeparatorFound; + function skipWhitespace() { + while(pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))){ + pos += 1; + } + return pos < cookiesString.length; + } + function notSpecialChar() { + ch = cookiesString.charAt(pos); + return ch !== '=' && ch !== ';' && ch !== ','; + } + while(pos < cookiesString.length){ + start = pos; + cookiesSeparatorFound = false; + while(skipWhitespace()){ + ch = cookiesString.charAt(pos); + if (ch === ',') { + // ',' is a cookie separator if we have later first '=', not ';' or ',' + lastComma = pos; + pos += 1; + skipWhitespace(); + nextStart = pos; + while(pos < cookiesString.length && notSpecialChar()){ + pos += 1; + } + // currently special character + if (pos < cookiesString.length && cookiesString.charAt(pos) === '=') { + // we found cookies separator + cookiesSeparatorFound = true; + // pos is inside the next cookie, so back up and return it. + pos = nextStart; + cookiesStrings.push(cookiesString.substring(start, lastComma)); + start = pos; + } else { + // in param ',' or param separator ';', + // we continue from that comma + pos = lastComma + 1; + } + } else { + pos += 1; + } + } + if (!cookiesSeparatorFound || pos >= cookiesString.length) { + cookiesStrings.push(cookiesString.substring(start, cookiesString.length)); + } + } + return cookiesStrings; +} +function toNodeOutgoingHttpHeaders(headers) { + const nodeHeaders = {}; + const cookies = []; + if (headers) { + for (const [key, value] of headers.entries()){ + if (key.toLowerCase() === 'set-cookie') { + // We may have gotten a comma joined string of cookies, or multiple + // set-cookie headers. We need to merge them into one header array + // to represent all the cookies. + cookies.push(...splitCookiesString(value)); + nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies; + } else { + nodeHeaders[key] = value; + } + } + } + return nodeHeaders; +} +function validateURL(url) { + try { + return String(new URL(String(url))); + } catch (error) { + throw new Error(`URL is malformed "${String(url)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, { + cause: error + }); + } +} +function normalizeNextQueryParam(key) { + const prefixes = [ + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_QUERY_PARAM_PREFIX"], + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_INTERCEPTION_MARKER_PREFIX"] + ]; + for (const prefix of prefixes){ + if (key !== prefix && key.startsWith(prefix)) { + return key.substring(prefix.length); + } + } + return null; +} +}), +"[project]/node_modules/next/dist/esm/server/web/web-on-close.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** Monitor when the consumer finishes reading the response body. +that's as close as we can get to `res.on('close')` using web APIs. +*/ __turbopack_context__.s([ + "CloseController", + ()=>CloseController, + "trackBodyConsumed", + ()=>trackBodyConsumed, + "trackStreamConsumed", + ()=>trackStreamConsumed +]); +function trackBodyConsumed(body, onEnd) { + if (typeof body === 'string') { + const generator = async function* generate() { + const encoder = new TextEncoder(); + yield encoder.encode(body); + onEnd(); + }; + // @ts-expect-error BodyInit typings doesn't seem to include AsyncIterables even though it's supported in practice + return generator(); + } else { + return trackStreamConsumed(body, onEnd); + } +} +function trackStreamConsumed(stream, onEnd) { + // NOTE: This function must handle `stream` being aborted or cancelled, + // so it can't just be this: + // + // return stream.pipeThrough(new TransformStream({ flush() { onEnd() } })) + // + // because that doesn't handle cancellations. + // (and cancellation handling via `Transformer.cancel` is only available in node >20) + const dest = new TransformStream(); + const runOnEnd = ()=>onEnd(); + stream.pipeTo(dest.writable).then(runOnEnd, runOnEnd); + return dest.readable; +} +class CloseController { + onClose(callback) { + if (this.isClosed) { + throw new Error('Cannot subscribe to a closed CloseController'); + } + this.target.addEventListener('close', callback); + this.listeners++; + } + dispatchClose() { + if (this.isClosed) { + throw new Error('Cannot close a CloseController multiple times'); + } + if (this.listeners > 0) { + this.target.dispatchEvent(new Event('close')); + } + this.isClosed = true; + } + constructor(){ + this.target = new EventTarget(); + this.listeners = 0; + this.isClosed = false; + } +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/action-revalidation-kind.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ActionDidNotRevalidate", + ()=>ActionDidNotRevalidate, + "ActionDidRevalidateDynamicOnly", + ()=>ActionDidRevalidateDynamicOnly, + "ActionDidRevalidateStaticAndDynamic", + ()=>ActionDidRevalidateStaticAndDynamic +]); +const ActionDidNotRevalidate = 0; +const ActionDidRevalidateStaticAndDynamic = 1; +const ActionDidRevalidateDynamicOnly = 2; +}), +"[project]/node_modules/next/dist/esm/shared/lib/errors/constants.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "MISSING_ROOT_TAGS_ERROR", + ()=>MISSING_ROOT_TAGS_ERROR +]); +const MISSING_ROOT_TAGS_ERROR = 'NEXT_MISSING_ROOT_TAGS'; +}), +"[project]/node_modules/next/dist/esm/shared/lib/escape-regexp.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "escapeStringRegexp", + ()=>escapeStringRegexp +]); +// regexp is based on https://github.com/sindresorhus/escape-string-regexp +const reHasRegExp = /[|\\{}()[\]^$+*?.-]/; +const reReplaceRegExp = /[|\\{}()[\]^$+*?.-]/g; +function escapeStringRegexp(str) { + // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23 + if (reHasRegExp.test(str)) { + return str.replace(reReplaceRegExp, '\\$&'); + } + return str; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/get-hostname.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Takes an object with a hostname property (like a parsed URL) and some + * headers that may contain Host and returns the preferred hostname. + * @param parsed An object containing a hostname property. + * @param headers A dictionary with headers containing a `host`. + */ __turbopack_context__.s([ + "getHostname", + ()=>getHostname +]); +function getHostname(parsed, headers) { + // Get the hostname from the headers if it exists, otherwise use the parsed + // hostname. + let hostname; + if (headers?.host && !Array.isArray(headers.host)) { + hostname = headers.host.toString().split(':', 1)[0]; + } else if (parsed.hostname) { + hostname = parsed.hostname; + } else return; + return hostname.toLowerCase(); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/hash.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +// http://www.cse.yorku.ca/~oz/hash.html +// More specifically, 32-bit hash via djbxor +// (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765) +// This is due to number type differences between rust for turbopack to js number types, +// where rust does not have easy way to repreesnt js's 53-bit float number type for the matching +// overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation +// as can gaurantee determinstic output from 32bit hash. +__turbopack_context__.s([ + "djb2Hash", + ()=>djb2Hash, + "hexHash", + ()=>hexHash +]); +function djb2Hash(str) { + let hash = 5381; + for(let i = 0; i < str.length; i++){ + const char = str.charCodeAt(i); + hash = (hash << 5) + hash + char & 0xffffffff; + } + return hash >>> 0; +} +function hexHash(str) { + return djb2Hash(str).toString(36).slice(0, 5); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "detectDomainLocale", + ()=>detectDomainLocale +]); +function detectDomainLocale(domainItems, hostname, detectedLocale) { + if (!domainItems) return; + if (detectedLocale) { + detectedLocale = detectedLocale.toLowerCase(); + } + for (const item of domainItems){ + // remove port if present + const domainHostname = item.domain?.split(':', 1)[0].toLowerCase(); + if (hostname === domainHostname || detectedLocale === item.defaultLocale.toLowerCase() || item.locales?.some((locale)=>locale.toLowerCase() === detectedLocale)) { + return item; + } + } +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "normalizeLocalePath", + ()=>normalizeLocalePath +]); +/** + * A cache of lowercased locales for each list of locales. This is stored as a + * WeakMap so if the locales are garbage collected, the cache entry will be + * removed as well. + */ const cache = new WeakMap(); +function normalizeLocalePath(pathname, locales) { + // If locales is undefined, return the pathname as is. + if (!locales) return { + pathname + }; + // Get the cached lowercased locales or create a new cache entry. + let lowercasedLocales = cache.get(locales); + if (!lowercasedLocales) { + lowercasedLocales = locales.map((locale)=>locale.toLowerCase()); + cache.set(locales, lowercasedLocales); + } + let detectedLocale; + // The first segment will be empty, because it has a leading `/`. If + // there is no further segment, there is no locale (or it's the default). + const segments = pathname.split('/', 2); + // If there's no second segment (ie, the pathname is just `/`), there's no + // locale. + if (!segments[1]) return { + pathname + }; + // The second segment will contain the locale part if any. + const segment = segments[1].toLowerCase(); + // See if the segment matches one of the locales. If it doesn't, there is + // no locale (or it's the default). + const index = lowercasedLocales.indexOf(segment); + if (index < 0) return { + pathname + }; + // Return the case-sensitive locale. + detectedLocale = locales[index]; + // Remove the `/${locale}` part of the pathname. + pathname = pathname.slice(detectedLocale.length + 1) || '/'; + return { + pathname, + detectedLocale + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "InvariantError", + ()=>InvariantError +]); +class InvariantError extends Error { + constructor(message, options){ + super(`Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`, options); + this.name = 'InvariantError'; + } +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/is-thenable.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Check to see if a value is Thenable. + * + * @param promise the maybe-thenable value + * @returns true if the value is thenable + */ __turbopack_context__.s([ + "isThenable", + ()=>isThenable +]); +function isThenable(promise) { + return promise !== null && typeof promise === 'object' && 'then' in promise && typeof promise.then === 'function'; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/page-path/ensure-leading-slash.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * For a given page path, this function ensures that there is a leading slash. + * If there is not a leading slash, one is added, otherwise it is noop. + */ __turbopack_context__.s([ + "ensureLeadingSlash", + ()=>ensureLeadingSlash +]); +function ensureLeadingSlash(path) { + return path.startsWith('/') ? path : `/${path}`; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/page-path/normalize-page-path.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "normalizePagePath", + ()=>normalizePagePath +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$ensure$2d$leading$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/page-path/ensure-leading-slash.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/index.js [middleware] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$dynamic$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/is-dynamic.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/utils.js [middleware] (ecmascript)"); +; +; +; +function normalizePagePath(page) { + const normalized = /^\/index(\/|$)/.test(page) && !(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$dynamic$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isDynamicRoute"])(page) ? `/index${page}` : page === '/' ? '/index' : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$ensure$2d$leading$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ensureLeadingSlash"])(page); + if ("TURBOPACK compile-time truthy", 1) { + const { posix } = __turbopack_context__.r("[externals]/path [external] (path, cjs)"); + const resolvedPage = posix.normalize(normalized); + if (resolvedPage !== normalized) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NormalizeError"](`Requested and resolved page mismatch: ${normalized} ${resolvedPage}`); + } + } + return normalized; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/promise-with-resolvers.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "createPromiseWithResolvers", + ()=>createPromiseWithResolvers +]); +function createPromiseWithResolvers() { + // Shim of Stage 4 Promise.withResolvers proposal + let resolve; + let reject; + const promise = new Promise((res, rej)=>{ + resolve = res; + reject = rej; + }); + return { + resolve: resolve, + reject: reject, + promise + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/routes/app.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "isInterceptionAppRoute", + ()=>isInterceptionAppRoute, + "isNormalizedAppRoute", + ()=>isNormalizedAppRoute, + "parseAppRouteSegment", + ()=>parseAppRouteSegment, + "parseAppRouteWithSlots", + ()=>parseAppRouteWithSlots, + "parseNormalizedAppRoute", + ()=>parseNormalizedAppRoute +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$segment$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/get-segment-param.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [middleware] (ecmascript)"); +; +; +; +function normalizeEncodedDynamicPlaceholder(segment) { + if (!/%5b|%5d/i.test(segment)) { + return segment; + } + try { + const decodedSegment = decodeURIComponent(segment); + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$segment$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getSegmentParam"])(decodedSegment) ? decodedSegment : segment; + } catch { + return segment; + } +} +function parseAppRouteSegment(segment) { + if (segment === '') { + return null; + } + // Check if the segment starts with an interception marker + const interceptionMarker = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["INTERCEPTION_ROUTE_MARKERS"].find((m)=>segment.startsWith(m)); + const param = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$segment$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getSegmentParam"])(segment); + if (param) { + return { + type: 'dynamic', + name: segment, + param, + interceptionMarker + }; + } else if (segment.startsWith('(') && segment.endsWith(')')) { + return { + type: 'route-group', + name: segment, + interceptionMarker + }; + } else if (segment.startsWith('@')) { + return { + type: 'parallel-route', + name: segment, + interceptionMarker + }; + } else { + return { + type: 'static', + name: segment, + interceptionMarker + }; + } +} +function isNormalizedAppRoute(route) { + return route.normalized; +} +function isInterceptionAppRoute(route) { + return route.interceptionMarker !== undefined && route.interceptingRoute !== undefined && route.interceptedRoute !== undefined; +} +// Bitmask for which non-URL segment types to allow during parsing. +// By default, route groups and parallel routes are rejected because +// they should have been stripped by normalizeAppPath. These flags +// let callers opt in to allowing specific types. +const OnlyRoutableSegments = /* */ 0; +const AllowParallelSegments = /* */ 1; +const AllowGroupSegments = /* */ 2; +function parseAppRouteImpl(pathname, allowedTypes) { + const pathnameSegments = pathname.split('/').filter(Boolean); + // Build segments array with static and dynamic segments + const segments = []; + // Parse if this is an interception route. + let interceptionMarker; + let interceptingRoute; + let interceptedRoute; + for (const segment of pathnameSegments){ + const normalizedSegment = normalizeEncodedDynamicPlaceholder(segment); + // Parse the segment into an AppSegment. + const appSegment = parseAppRouteSegment(normalizedSegment); + if (!appSegment) { + continue; + } + if (appSegment.type === 'route-group' && !(allowedTypes & AllowGroupSegments)) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"](`${pathname} is being parsed as a normalized route, but it has a route group segment.`); + } + if (appSegment.type === 'parallel-route' && !(allowedTypes & AllowParallelSegments)) { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"](`${pathname} is being parsed as a normalized route, but it has a parallel route segment.`); + } + segments.push(appSegment); + if (appSegment.interceptionMarker) { + const parts = pathname.split(appSegment.interceptionMarker); + if (parts.length !== 2) { + throw new Error(`Invalid interception route: ${pathname}`); + } + interceptingRoute = parseAppRouteImpl(parts[0], allowedTypes); + interceptedRoute = parseAppRouteImpl(parts[1], allowedTypes); + interceptionMarker = appSegment.interceptionMarker; + } + } + const dynamicSegments = segments.filter((segment)=>segment.type === 'dynamic'); + return { + normalized: allowedTypes === OnlyRoutableSegments, + pathname, + segments, + dynamicSegments, + interceptionMarker, + interceptingRoute, + interceptedRoute + }; +} +function parseNormalizedAppRoute(pathname) { + return parseAppRouteImpl(pathname, OnlyRoutableSegments); +} +function parseAppRouteWithSlots(pathname) { + return parseAppRouteImpl(pathname, AllowParallelSegments); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "addLocale", + ()=>addLocale +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js [middleware] (ecmascript)"); +; +; +function addLocale(path, locale, defaultLocale, ignorePrefix) { + // If no locale was given or the locale is the default locale, we don't need + // to prefix the path. + if (!locale || locale === defaultLocale) return path; + const lower = path.toLowerCase(); + // If the path is an API path or the path already has the locale prefix, we + // don't need to prefix the path. + if (!ignorePrefix) { + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pathHasPrefix"])(lower, '/api')) return path; + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pathHasPrefix"])(lower, `/${locale.toLowerCase()}`)) return path; + } + // Add the locale prefix to the path. + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["addPathPrefix"])(path, `/${locale}`); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "addPathPrefix", + ()=>addPathPrefix +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js [middleware] (ecmascript)"); +; +function addPathPrefix(path, prefix) { + if (!path.startsWith('/') || !prefix) { + return path; + } + const { pathname, query, hash } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parsePath"])(path); + return `${prefix}${pathname}${query}${hash}`; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "addPathSuffix", + ()=>addPathSuffix +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js [middleware] (ecmascript)"); +; +function addPathSuffix(path, suffix) { + if (!path.startsWith('/') || !suffix) { + return path; + } + const { pathname, query, hash } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parsePath"])(path); + return `${pathname}${suffix}${query}${hash}`; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "compareAppPaths", + ()=>compareAppPaths, + "normalizeAppPath", + ()=>normalizeAppPath, + "normalizeRscURL", + ()=>normalizeRscURL, + "selectAppPageEntry", + ()=>selectAppPageEntry +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$ensure$2d$leading$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/page-path/ensure-leading-slash.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$segment$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/segment.js [middleware] (ecmascript)"); +; +; +function normalizeAppPath(route) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$ensure$2d$leading$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["ensureLeadingSlash"])(route.split('/').reduce((pathname, segment, index, segments)=>{ + // Empty segments are ignored. + if (!segment) { + return pathname; + } + // Groups are ignored. + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$segment$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isGroupSegment"])(segment)) { + return pathname; + } + // Parallel segments are ignored. + if (segment[0] === '@') { + return pathname; + } + // The last segment (if it's a leaf) should be ignored. + if ((segment === 'page' || segment === 'route') && index === segments.length - 1) { + return pathname; + } + return `${pathname}/${segment}`; + }, '')); +} +function compareAppPaths(a, b) { + const aHasSlot = a.includes('/@'); + const bHasSlot = b.includes('/@'); + if (aHasSlot && !bHasSlot) return -1; + if (!aHasSlot && bHasSlot) return 1; + return a.localeCompare(b); +} +function normalizeAppPageEntryPathname(appPath) { + // Webpack app entries preserve escaped underscore segments as `%5F`, while + // normalized request pathnames expose the decoded `_` segment. + return normalizeAppPath(appPath).replace(/%5F/g, '_'); +} +function selectAppPageEntry(pathname, appPaths, normalizePathname = normalizeAppPageEntryPathname) { + let entry; + for (const appPath of appPaths){ + if (normalizePathname(appPath) !== pathname) continue; + if (entry === undefined || compareAppPaths(entry, appPath) < 0) { + entry = appPath; + } + } + if (entry === undefined) { + throw new Error(`Invariant: no direct app page entry found for ${pathname}`); + } + return entry; +} +function normalizeRscURL(url) { + return url.replace(/\.rsc($|\?)/, '$1'); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/cache-busting-search-param.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "computeCacheBustingSearchParam", + ()=>computeCacheBustingSearchParam, + "computeLegacyCacheBustingSearchParam", + ()=>computeLegacyCacheBustingSearchParam +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$hash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/hash.js [middleware] (ecmascript)"); +; +const CACHE_BUSTING_SEARCH_PARAM_DIGEST_BYTES = 12; +const textEncoder = new TextEncoder(); +function encodeCacheBustingSearchParam(bytes) { + let binary = ''; + for(let i = 0; i < bytes.length; i++){ + binary += String.fromCharCode(bytes[i]); + } + return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, ''); +} +function normalizeCacheBustingInput(value) { + if (value === undefined) { + return '0'; + } + return Array.isArray(value) ? value.join(',') : value; +} +function createCacheBustingSearchParamInput(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader) { + if ((prefetchHeader === undefined || prefetchHeader === '0') && segmentPrefetchHeader === undefined && stateTreeHeader === undefined && nextUrlHeader === undefined) { + return null; + } + return [ + prefetchHeader ?? '0', + normalizeCacheBustingInput(segmentPrefetchHeader), + normalizeCacheBustingInput(stateTreeHeader), + normalizeCacheBustingInput(nextUrlHeader) + ].join(','); +} +async function computeCacheBustingSearchParamFromInput(input) { + // Truncate SHA-256 to 96 bits to keep `_rsc` compact + const digest = await globalThis.crypto.subtle.digest('SHA-256', textEncoder.encode(input)); + return encodeCacheBustingSearchParam(new Uint8Array(digest).subarray(0, CACHE_BUSTING_SEARCH_PARAM_DIGEST_BYTES)); +} +async function computeCacheBustingSearchParam(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader) { + const input = createCacheBustingSearchParamInput(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader); + if (input === null) { + return ''; + } + return computeCacheBustingSearchParamFromInput(input); +} +function computeLegacyCacheBustingSearchParam(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader) { + const input = createCacheBustingSearchParamInput(prefetchHeader, segmentPrefetchHeader, stateTreeHeader, nextUrlHeader); + if (input === null) { + return ''; + } + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$hash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["hexHash"])(input); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "formatNextPathnameInfo", + ()=>formatNextPathnameInfo +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$suffix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$locale$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js [middleware] (ecmascript)"); +; +; +; +; +function formatNextPathnameInfo(info) { + let pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$locale$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["addLocale"])(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix); + if (info.buildId || !info.trailingSlash) { + pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(pathname); + } + if (info.buildId) { + pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$suffix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["addPathSuffix"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["addPathPrefix"])(pathname, `/_next/data/${info.buildId}`), info.pathname === '/' ? 'index.json' : '.json'); + } + pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["addPathPrefix"])(pathname, info.basePath); + return !info.buildId && info.trailingSlash ? !pathname.endsWith('/') ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$suffix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["addPathSuffix"])(pathname, '/') : pathname : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(pathname); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/format-url.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "formatUrl", + ()=>formatUrl, + "formatWithValidation", + ()=>formatWithValidation, + "urlObjectKeys", + ()=>urlObjectKeys +]); +// Format function modified from nodejs +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$querystring$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/querystring.js [middleware] (ecmascript)"); +; +const slashedProtocols = /https?|ftp|gopher|file/; +function formatUrl(urlObj) { + let { auth, hostname } = urlObj; + let protocol = urlObj.protocol || ''; + let pathname = urlObj.pathname || ''; + let hash = urlObj.hash || ''; + let query = urlObj.query || ''; + let host = false; + auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : ''; + if (urlObj.host) { + host = auth + urlObj.host; + } else if (hostname) { + host = auth + (~hostname.indexOf(':') ? `[${hostname}]` : hostname); + if (urlObj.port) { + host += ':' + urlObj.port; + } + } + if (query && typeof query === 'object') { + query = String(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$querystring$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["urlQueryToSearchParams"](query)); + } + let search = urlObj.search || query && `?${query}` || ''; + if (protocol && !protocol.endsWith(':')) protocol += ':'; + if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) { + host = '//' + (host || ''); + if (pathname && pathname[0] !== '/') pathname = '/' + pathname; + } else if (!host) { + host = ''; + } + if (hash && hash[0] !== '#') hash = '#' + hash; + if (search && search[0] !== '?') search = '?' + search; + pathname = pathname.replace(/[?#]/g, encodeURIComponent); + search = search.replace('#', '%23'); + return `${protocol}${host}${pathname}${search}${hash}`; +} +const urlObjectKeys = [ + 'auth', + 'hash', + 'host', + 'hostname', + 'href', + 'path', + 'pathname', + 'port', + 'protocol', + 'query', + 'search', + 'slashes' +]; +function formatWithValidation(url) { + if ("TURBOPACK compile-time truthy", 1) { + if (url !== null && typeof url === 'object') { + Object.keys(url).forEach((key)=>{ + if (!urlObjectKeys.includes(key)) { + console.warn(`Unknown key passed via urlObject into url.format: ${key}`); + } + }); + } + } + return formatUrl(url); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/get-dynamic-param.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "PARAMETER_PATTERN", + ()=>PARAMETER_PATTERN, + "getDynamicParam", + ()=>getDynamicParam, + "interpolateParallelRouteParams", + ()=>interpolateParallelRouteParams, + "parseMatchedParameter", + ()=>parseMatchedParameter, + "parseParameter", + ()=>parseParameter +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$loader$2d$tree$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-loader-tree.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$routes$2f$app$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/routes/app.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$resolve$2d$param$2d$value$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/resolve-param-value.js [middleware] (ecmascript)"); +; +; +; +; +/** + * Gets the value of a param from the params object. This correctly handles the + * case where the param is a fallback route param and encodes the resulting + * value. + * + * @param interpolatedParams - The params object. + * @param segmentKey - The key of the segment. + * @param fallbackRouteParams - The fallback route params. + * @returns The value of the param. + */ function getParamValue(interpolatedParams, segmentKey, fallbackRouteParams) { + let value = interpolatedParams[segmentKey]; + if (fallbackRouteParams?.has(segmentKey)) { + // We know that the fallback route params has the segment key because we + // checked that above. + const placeholder = fallbackRouteParams.get(segmentKey); + value = placeholder; + } else if (Array.isArray(value)) { + value = value.map((i)=>encodeURIComponent(i)); + } else if (typeof value === 'string') { + value = encodeURIComponent(value); + } + return value; +} +function interpolateParallelRouteParams(loaderTree, params, pagePath, fallbackRouteParams) { + const interpolated = structuredClone(params); + // Stack-based traversal with depth tracking + const stack = [ + { + tree: loaderTree, + depth: 0 + } + ]; + // Parse the route from the provided page path. + const route = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$routes$2f$app$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseNormalizedAppRoute"])(pagePath); + while(stack.length > 0){ + const { tree, depth } = stack.pop(); + const { segment, parallelRoutes } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$loader$2d$tree$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseLoaderTree"])(tree); + const appSegment = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$routes$2f$app$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseAppRouteSegment"])(segment); + if (appSegment?.type === 'dynamic' && !interpolated.hasOwnProperty(appSegment.param.paramName) && // If the param is in the fallback route params, we don't need to + // interpolate it because it's already marked as being unknown. + !fallbackRouteParams?.has(appSegment.param.paramName)) { + const { paramName, paramType } = appSegment.param; + const paramValue = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$resolve$2d$param$2d$value$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["resolveParamValue"])(paramName, paramType, depth, route, interpolated); + if (paramValue !== undefined) { + interpolated[paramName] = paramValue; + } else if (paramType !== 'optional-catchall') { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"](`Could not resolve param value for segment: ${paramName}`); + } + } + // Calculate next depth - increment if this is not a route group and not empty + let nextDepth = depth; + if (appSegment && appSegment.type !== 'route-group' && appSegment.type !== 'parallel-route') { + nextDepth++; + } + // Add all parallel routes to the stack for processing + for (const parallelRoute of Object.values(parallelRoutes)){ + stack.push({ + tree: parallelRoute, + depth: nextDepth + }); + } + } + return interpolated; +} +function getDynamicParam(interpolatedParams, segmentKey, dynamicParamType, fallbackRouteParams, staticSiblings) { + let value = getParamValue(interpolatedParams, segmentKey, fallbackRouteParams); + // handle the case where an optional catchall does not have a value, + // e.g. `/dashboard/[[...slug]]` when requesting `/dashboard` + if (!value || value.length === 0) { + if (dynamicParamType === 'oc') { + return { + param: segmentKey, + value: null, + type: dynamicParamType, + treeSegment: [ + segmentKey, + '', + dynamicParamType, + staticSiblings + ] + }; + } + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"](`Missing value for segment key: "${segmentKey}" with dynamic param type: ${dynamicParamType}`); + } + const paramCacheKey = Array.isArray(value) ? value.join('/') : value; + return { + param: segmentKey, + // The value that is passed to user code. + value, + // The value that is rendered in the router tree. + // TODO: If the number of static siblings exceeds some threshold (e.g., + // dozens or hundreds), consider sending a Bloom filter instead of the full + // array to reduce payload size. The client would then use the Bloom filter + // to check membership with a small false positive rate. + treeSegment: [ + segmentKey, + paramCacheKey, + dynamicParamType, + staticSiblings + ], + type: dynamicParamType + }; +} +const PARAMETER_PATTERN = /^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/; +function parseParameter(param) { + const match = param.match(PARAMETER_PATTERN); + if (!match) { + return parseMatchedParameter(param); + } + return parseMatchedParameter(match[2]); +} +function parseMatchedParameter(param) { + const optional = param.startsWith('[') && param.endsWith(']'); + if (optional) { + param = param.slice(1, -1); + } + const repeat = param.startsWith('...'); + if (repeat) { + param = param.slice(3); + } + return { + key: param, + repeat, + optional + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getNextPathnameInfo", + ()=>getNextPathnameInfo +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$path$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js [middleware] (ecmascript)"); +; +; +; +function getNextPathnameInfo(pathname, options) { + const { basePath, i18n, trailingSlash } = options.nextConfig ?? {}; + const info = { + pathname, + trailingSlash: pathname !== '/' ? pathname.endsWith('/') : trailingSlash + }; + if (basePath && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pathHasPrefix"])(info.pathname, basePath)) { + info.pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$path$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["removePathPrefix"])(info.pathname, basePath); + info.basePath = basePath; + } + let pathnameNoDataPrefix = info.pathname; + if (info.pathname.startsWith('/_next/data/') && info.pathname.endsWith('.json')) { + const paths = info.pathname.replace(/^\/_next\/data\//, '').replace(/\.json$/, '').split('/'); + const buildId = paths[0]; + info.buildId = buildId; + pathnameNoDataPrefix = paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/'; + // update pathname with normalized if enabled although + // we use normalized to populate locale info still + if (options.parseData === true) { + info.pathname = pathnameNoDataPrefix; + } + } + // If provided, use the locale route normalizer to detect the locale instead + // of the function below. + if (i18n) { + let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeLocalePath"])(info.pathname, i18n.locales); + info.locale = result.detectedLocale; + info.pathname = result.pathname ?? info.pathname; + if (!result.detectedLocale && info.buildId) { + result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeLocalePath"])(pathnameNoDataPrefix, i18n.locales); + if (result.detectedLocale) { + info.locale = result.detectedLocale; + } + } + } + return info; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/get-segment-param.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getParamProperties", + ()=>getParamProperties, + "getSegmentParam", + ()=>getSegmentParam, + "isCatchAll", + ()=>isCatchAll +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [middleware] (ecmascript)"); +; +function getSegmentParam(segment) { + const interceptionMarker = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["INTERCEPTION_ROUTE_MARKERS"].find((marker)=>segment.startsWith(marker)); + // if an interception marker is part of the path segment, we need to jump ahead + // to the relevant portion for param parsing + if (interceptionMarker) { + segment = segment.slice(interceptionMarker.length); + } + if (segment.startsWith('[[...') && segment.endsWith(']]')) { + return { + // TODO-APP: Optional catchall does not currently work with parallel routes, + // so for now aren't handling a potential interception marker. + paramType: 'optional-catchall', + paramName: segment.slice(5, -2) + }; + } + if (segment.startsWith('[...') && segment.endsWith(']')) { + return { + paramType: interceptionMarker ? `catchall-intercepted-${interceptionMarker}` : 'catchall', + paramName: segment.slice(4, -1) + }; + } + if (segment.startsWith('[') && segment.endsWith(']')) { + return { + paramType: interceptionMarker ? `dynamic-intercepted-${interceptionMarker}` : 'dynamic', + paramName: segment.slice(1, -1) + }; + } + return null; +} +function isCatchAll(type) { + return type === 'catchall' || type === 'catchall-intercepted-(..)(..)' || type === 'catchall-intercepted-(.)' || type === 'catchall-intercepted-(..)' || type === 'catchall-intercepted-(...)' || type === 'optional-catchall'; +} +function getParamProperties(paramType) { + let repeat = false; + let optional = false; + switch(paramType){ + case 'catchall': + case 'catchall-intercepted-(..)(..)': + case 'catchall-intercepted-(.)': + case 'catchall-intercepted-(..)': + case 'catchall-intercepted-(...)': + repeat = true; + break; + case 'optional-catchall': + repeat = true; + optional = true; + break; + case 'dynamic': + case 'dynamic-intercepted-(..)(..)': + case 'dynamic-intercepted-(.)': + case 'dynamic-intercepted-(..)': + case 'dynamic-intercepted-(...)': + break; + default: + paramType; + } + return { + repeat, + optional + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/index.js [middleware] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$dynamic$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/is-dynamic.js [middleware] (ecmascript)"); +; +; +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-prefix-from-param-type.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "interceptionPrefixFromParamType", + ()=>interceptionPrefixFromParamType +]); +function interceptionPrefixFromParamType(paramType) { + switch(paramType){ + case 'catchall-intercepted-(..)(..)': + case 'dynamic-intercepted-(..)(..)': + return '(..)(..)'; + case 'catchall-intercepted-(.)': + case 'dynamic-intercepted-(.)': + return '(.)'; + case 'catchall-intercepted-(..)': + case 'dynamic-intercepted-(..)': + return '(..)'; + case 'catchall-intercepted-(...)': + case 'dynamic-intercepted-(...)': + return '(...)'; + case 'catchall': + case 'dynamic': + case 'optional-catchall': + default: + return null; + } +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "INTERCEPTION_ROUTE_MARKERS", + ()=>INTERCEPTION_ROUTE_MARKERS, + "extractInterceptionRouteInformation", + ()=>extractInterceptionRouteInformation, + "findMissingCanonicalInterceptionRoutes", + ()=>findMissingCanonicalInterceptionRoutes, + "isInterceptionRouteAppPath", + ()=>isInterceptionRouteAppPath +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [middleware] (ecmascript)"); +; +const INTERCEPTION_ROUTE_MARKERS = [ + '(..)(..)', + '(.)', + '(..)', + '(...)' +]; +function parseRoutePattern(route) { + const segments = route.split('/').filter(Boolean); + const tail = segments.at(-1); + const isOptionalCatchAll = tail !== undefined && tail.startsWith('[[...') && tail.endsWith(']]'); + const isCatchAll = tail !== undefined && tail.startsWith('[...') && tail.endsWith(']'); + const unbounded = isOptionalCatchAll || isCatchAll; + const prefixSegments = unbounded ? segments.slice(0, -1) : segments; + return { + prefix: prefixSegments.map((segment)=>segment.startsWith('[') && segment.endsWith(']') ? null : segment), + minLength: prefixSegments.length + (isCatchAll && !isOptionalCatchAll ? 1 : 0), + unbounded + }; +} +function acceptsLength(pattern, length) { + return pattern.unbounded ? length >= pattern.minLength : length === pattern.minLength; +} +function prefixCovers(canonical, intercepted) { + return canonical.prefix.every((canonicalSegment, index)=>{ + if (canonicalSegment === null) return true; + const interceptedSegment = intercepted.prefix[index]; + return interceptedSegment !== undefined && interceptedSegment !== null && canonicalSegment === interceptedSegment; + }); +} +function patternCoversAtLength(canonical, intercepted, length) { + return acceptsLength(canonical, length) && acceptsLength(intercepted, length) && prefixCovers(canonical, intercepted); +} +/** Returns whether ordinary route patterns cover every URL in `route`. */ function isRoutePatternCovered(route, ordinaryRoutes) { + const intercepted = parseRoutePattern(route); + if (!intercepted.unbounded) { + return ordinaryRoutes.some((pattern)=>patternCoversAtLength(pattern, intercepted, intercepted.minLength)); + } + let unboundedCoverageStart = Infinity; + for (const pattern of ordinaryRoutes){ + if (pattern.unbounded && prefixCovers(pattern, intercepted)) { + unboundedCoverageStart = Math.min(unboundedCoverageStart, Math.max(intercepted.minLength, pattern.minLength)); + } + } + if (unboundedCoverageStart === Infinity) return false; + // An optional or required catchall can have its shorter paths covered by + // fixed routes before another catchall takes over the remaining suffix. + for(let length = intercepted.minLength; length < unboundedCoverageStart; length++){ + if (!ordinaryRoutes.some((pattern)=>patternCoversAtLength(pattern, intercepted, length))) { + return false; + } + } + return true; +} +function isInterceptionRouteAppPath(path) { + // TODO-APP: add more serious validation + return path.split('/').find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined; +} +function extractInterceptionRouteInformation(path) { + let interceptingRoute; + let marker; + let interceptedRoute; + for (const segment of path.split('/')){ + marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m)); + if (marker) { + ; + [interceptingRoute, interceptedRoute] = path.split(marker, 2); + break; + } + } + if (!interceptingRoute || !marker || !interceptedRoute) { + throw new Error(`Invalid interception route: ${path}. Must be in the format //(..|...|..)(..)/`); + } + interceptingRoute = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeAppPath"])(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed + ; + switch(marker){ + case '(.)': + // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route + if (interceptingRoute === '/') { + interceptedRoute = `/${interceptedRoute}`; + } else { + interceptedRoute = interceptingRoute + '/' + interceptedRoute; + } + break; + case '(..)': + // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route + if (interceptingRoute === '/') { + throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`); + } + interceptedRoute = interceptingRoute.split('/').slice(0, -1).concat(interceptedRoute).join('/'); + break; + case '(...)': + // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route + interceptedRoute = '/' + interceptedRoute; + break; + case '(..)(..)': + // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route + const splitInterceptingRoute = interceptingRoute.split('/'); + if (splitInterceptingRoute.length <= 2) { + throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`); + } + interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join('/'); + break; + default: + throw new Error('Invariant: unexpected marker'); + } + return { + interceptingRoute, + interceptedRoute + }; +} +function findMissingCanonicalInterceptionRoutes(appPaths) { + const canonicalRoutes = Object.keys(appPaths).filter((route)=>!isInterceptionRouteAppPath(route)); + const canonicalRoutePatterns = canonicalRoutes.map(parseRoutePattern); + return Object.keys(appPaths).filter(isInterceptionRouteAppPath).map((interceptionRoute)=>({ + interceptionRoute, + canonicalRoute: extractInterceptionRouteInformation(interceptionRoute).interceptedRoute + })).filter(({ canonicalRoute })=>!isRoutePatternCovered(canonicalRoute, canonicalRoutePatterns)).sort((a, b)=>a.interceptionRoute.localeCompare(b.interceptionRoute)); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/is-dynamic.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "isDynamicRoute", + ()=>isDynamicRoute +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [middleware] (ecmascript)"); +; +// Identify /.*[param].*/ in route string +const TEST_ROUTE = /\/[^/]*\[[^/]+\][^/]*(?=\/|$)/; +// Identify /[param]/ in route string +const TEST_STRICT_ROUTE = /\/\[[^/]+\](?=\/|$)/; +function isDynamicRoute(route, strict = true) { + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isInterceptionRouteAppPath"])(route)) { + route = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["extractInterceptionRouteInformation"])(route).interceptedRoute; + } + if (strict) { + return TEST_STRICT_ROUTE.test(route); + } + return TEST_ROUTE.test(route); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-loader-tree.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "parseLoaderTree", + ()=>parseLoaderTree +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$segment$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/segment.js [middleware] (ecmascript)"); +; +function parseLoaderTree(tree) { + const [segment, parallelRoutes, modules, staticSiblings] = tree; + const { layout, template } = modules; + let { page } = modules; + // a __DEFAULT__ segment means that this route didn't match any of the + // segments in the route, so we should use the default page + page = segment === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$segment$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["DEFAULT_SEGMENT_KEY"] ? modules.defaultPage : page; + const conventionPath = layout?.[1] || template?.[1] || page?.[1]; + return { + page, + segment, + modules, + /* it can be either layout / template / page */ conventionPath, + parallelRoutes, + staticSiblings + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Given a path this function will find the pathname, query and hash and return + * them. This is useful to parse full paths on the client side. + * @param path A path to parse e.g. /foo/bar?id=1#hash + */ __turbopack_context__.s([ + "parsePath", + ()=>parsePath +]); +function parsePath(path) { + const hashIndex = path.indexOf('#'); + const queryIndex = path.indexOf('?'); + const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex); + if (hasQuery || hashIndex > -1) { + return { + pathname: path.substring(0, hasQuery ? queryIndex : hashIndex), + query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : '', + hash: hashIndex > -1 ? path.slice(hashIndex) : '' + }; + } + return { + pathname: path, + query: '', + hash: '' + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-relative-url.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "parseRelativeUrl", + ()=>parseRelativeUrl +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$querystring$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/querystring.js [middleware] (ecmascript)"); +; +; +function parseRelativeUrl(url, base, parseQuery = true) { + const globalBase = new URL(("TURBOPACK compile-time truthy", 1) ? 'http://n' : "TURBOPACK unreachable"); + const resolvedBase = base ? new URL(base, globalBase) : url.startsWith('.') ? new URL(("TURBOPACK compile-time truthy", 1) ? 'http://n' : "TURBOPACK unreachable") : globalBase; + const { pathname, searchParams, search, hash, href, origin } = url.startsWith('/') ? // Not using `origin` to support other protocols + new URL(`${resolvedBase.protocol}//${resolvedBase.host}${url}`) : new URL(url, resolvedBase); + if (origin !== globalBase.origin) { + throw new Error(`invariant: invalid relative URL, router received ${url}`); + } + return { + auth: null, + host: null, + hostname: null, + pathname, + port: null, + protocol: null, + query: parseQuery ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$querystring$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["searchParamsToUrlQuery"])(searchParams) : undefined, + search, + hash, + href: href.slice(origin.length), + // We don't know for relative URLs at this point since we set a custom, internal + // base that isn't surfaced to users. + slashes: null + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-url.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "parseUrl", + ()=>parseUrl +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$querystring$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/querystring.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$relative$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-relative-url.js [middleware] (ecmascript)"); +; +; +function parseUrl(url) { + if (url.startsWith('/')) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$relative$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseRelativeUrl"])(url); + } + const parsedURL = new URL(url); + const username = parsedURL.username; + const password = parsedURL.password; + const auth = username ? password ? `${username}:${password}` : username : null; + const pathname = parsedURL.pathname; + const search = parsedURL.search; + return { + auth, + hash: parsedURL.hash, + hostname: parsedURL.hostname, + href: parsedURL.href, + pathname, + port: parsedURL.port, + protocol: parsedURL.protocol, + query: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$querystring$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["searchParamsToUrlQuery"])(parsedURL.searchParams), + search, + origin: parsedURL.origin, + slashes: parsedURL.href.slice(parsedURL.protocol.length, parsedURL.protocol.length + 2) === '//' + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "pathHasPrefix", + ()=>pathHasPrefix +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js [middleware] (ecmascript)"); +; +function pathHasPrefix(path, prefix) { + if (typeof path !== 'string') { + return false; + } + const { pathname } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parsePath"])(path); + return pathname === prefix || pathname.startsWith(prefix + '/'); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/path-match.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getPathMatch", + ()=>getPathMatch +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/path-to-regexp/index.js [middleware] (ecmascript)"); +; +; +function getPathMatch(path, options) { + const keys = []; + const regexp = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pathToRegexp"])(path, keys, { + delimiter: '/', + sensitive: typeof options?.sensitive === 'boolean' ? options.sensitive : false, + strict: options?.strict + }); + const matcher = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["regexpToFunction"])(options?.regexModifier ? new RegExp(options.regexModifier(regexp.source), regexp.flags) : regexp, keys); + /** + * A matcher function that will check if a given pathname matches the path + * given in the builder function. When the path does not match it will return + * `false` but if it does it will return an object with the matched params + * merged with the params provided in the second argument. + */ return (pathname, params)=>{ + // If no pathname is provided it's not a match. + if (typeof pathname !== 'string') return false; + const match = matcher(pathname); + // If the path did not match `false` will be returned. + if (!match) return false; + /** + * If unnamed params are not allowed they must be removed from + * the matched parameters. path-to-regexp uses "string" for named and + * "number" for unnamed parameters. + */ if (options?.removeUnnamedParams) { + for (const key of keys){ + if (typeof key.name === 'number') { + delete match.params[key.name]; + } + } + } + return { + ...params, + ...match.params + }; + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/prepare-destination.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "compileNonPath", + ()=>compileNonPath, + "matchHas", + ()=>matchHas, + "parseDestination", + ()=>parseDestination, + "prepareDestination", + ()=>prepareDestination +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/escape-regexp.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-url.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$get$2d$cookie$2d$parser$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/api-utils/get-cookie-parser.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$match$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/route-match-utils.js [middleware] (ecmascript)"); +; +; +; +; +; +/** + * Ensure only a-zA-Z are used for param names for proper interpolating + * with path-to-regexp + */ function getSafeParamName(paramName) { + let newParamName = ''; + for(let i = 0; i < paramName.length; i++){ + const charCode = paramName.charCodeAt(i); + if (charCode > 64 && charCode < 91 || // A-Z + charCode > 96 && charCode < 123 // a-z + ) { + newParamName += paramName[i]; + } + } + return newParamName; +} +function escapeSegment(str, segmentName) { + return str.replace(new RegExp(`:${(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["escapeStringRegexp"])(segmentName)}`, 'g'), `__ESC_COLON_${segmentName}`); +} +function unescapeSegments(str) { + return str.replace(/__ESC_COLON_/gi, ':'); +} +function matchHas(req, query, has = [], missing = []) { + const params = {}; + const hasMatch = (hasItem)=>{ + let value; + let key = hasItem.key; + switch(hasItem.type){ + case 'header': + { + key = key.toLowerCase(); + value = req.headers[key]; + break; + } + case 'cookie': + { + if ('cookies' in req) { + value = req.cookies[hasItem.key]; + } else { + const cookies = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$get$2d$cookie$2d$parser$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["getCookieParser"])(req.headers)(); + value = cookies[hasItem.key]; + } + break; + } + case 'query': + { + value = query[key]; + break; + } + case 'host': + { + const { host } = req?.headers || {}; + // remove port from host if present + const hostname = host?.split(':', 1)[0].toLowerCase(); + value = hostname; + break; + } + default: + { + break; + } + } + if (!hasItem.value && value) { + params[getSafeParamName(key)] = value; + return true; + } else if (value) { + const matcher = new RegExp(`^${hasItem.value}$`); + const matches = Array.isArray(value) ? value.slice(-1)[0].match(matcher) : value.match(matcher); + if (matches) { + if (Array.isArray(matches)) { + if (matches.groups) { + Object.keys(matches.groups).forEach((groupKey)=>{ + params[groupKey] = matches.groups[groupKey]; + }); + } else if (hasItem.type === 'host' && matches[0]) { + params.host = matches[0]; + } + } + return true; + } + } + return false; + }; + const allMatch = has.every((item)=>hasMatch(item)) && !missing.some((item)=>hasMatch(item)); + if (allMatch) { + return params; + } + return false; +} +function compileNonPath(value, params) { + if (!value.includes(':')) { + return value; + } + for (const key of Object.keys(params)){ + if (value.includes(`:${key}`)) { + value = value.replace(new RegExp(`:${key}\\*`, 'g'), `:${key}--ESCAPED_PARAM_ASTERISKS`).replace(new RegExp(`:${key}\\?`, 'g'), `:${key}--ESCAPED_PARAM_QUESTION`).replace(new RegExp(`:${key}\\+`, 'g'), `:${key}--ESCAPED_PARAM_PLUS`).replace(new RegExp(`:${key}(?!\\w)`, 'g'), `--ESCAPED_PARAM_COLON${key}`); + } + } + value = value.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g, '\\$1').replace(/--ESCAPED_PARAM_PLUS/g, '+').replace(/--ESCAPED_PARAM_COLON/g, ':').replace(/--ESCAPED_PARAM_QUESTION/g, '?').replace(/--ESCAPED_PARAM_ASTERISKS/g, '*'); + // the value needs to start with a forward-slash to be compiled + // correctly + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$match$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["safeCompile"])(`/${value}`, { + validate: false + })(params).slice(1); +} +function parseDestination(args) { + let escaped = args.destination; + for (const param of Object.keys({ + ...args.params, + ...args.query + })){ + if (!param) continue; + escaped = escapeSegment(escaped, param); + } + const parsed = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$url$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseUrl"])(escaped); + let pathname = parsed.pathname; + if (pathname) { + pathname = unescapeSegments(pathname); + } + let href = parsed.href; + if (href) { + href = unescapeSegments(href); + } + let hostname = parsed.hostname; + if (hostname) { + hostname = unescapeSegments(hostname); + } + let hash = parsed.hash; + if (hash) { + hash = unescapeSegments(hash); + } + let search = parsed.search; + if (search) { + search = unescapeSegments(search); + } + let origin = parsed.origin; + if (origin) { + origin = unescapeSegments(origin); + } + return { + ...parsed, + pathname, + hostname, + href, + hash, + search, + origin + }; +} +function prepareDestination(args) { + const parsedDestination = parseDestination(args); + const { hostname: destHostname, query: destQuery, search: destSearch } = parsedDestination; + // The following code assumes that the pathname here includes the hash if it's + // present. + let destPath = parsedDestination.pathname; + if (parsedDestination.hash) { + destPath = `${destPath}${parsedDestination.hash}`; + } + const destParams = []; + const destPathParamKeys = []; + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$match$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["safePathToRegexp"])(destPath, destPathParamKeys); + for (const key of destPathParamKeys){ + destParams.push(key.name); + } + if (destHostname) { + const destHostnameParamKeys = []; + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$match$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["safePathToRegexp"])(destHostname, destHostnameParamKeys); + for (const key of destHostnameParamKeys){ + destParams.push(key.name); + } + } + const destPathCompiler = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$match$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["safeCompile"])(destPath, // have already validated before we got to this point and validating + // breaks compiling destinations with named pattern params from the source + // e.g. /something:hello(.*) -> /another/:hello is broken with validation + // since compile validation is meant for reversing and not for inserting + // params from a separate path-regex into another + { + validate: false + }); + let destHostnameCompiler; + if (destHostname) { + destHostnameCompiler = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$match$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["safeCompile"])(destHostname, { + validate: false, + encode: encodeURIComponent + }); + } + // update any params in query values + for (const [key, strOrArray] of Object.entries(destQuery)){ + // the value needs to start with a forward-slash to be compiled + // correctly + if (Array.isArray(strOrArray)) { + destQuery[key] = strOrArray.map((value)=>compileNonPath(unescapeSegments(value), args.params)); + } else if (typeof strOrArray === 'string') { + destQuery[key] = compileNonPath(unescapeSegments(strOrArray), args.params); + } + } + // add path params to query if it's not a redirect and not + // already defined in destination query or path + let paramKeys = Object.keys(args.params).filter((name)=>name !== 'nextInternalLocale'); + if (args.appendParamsToQuery && !paramKeys.some((key)=>destParams.includes(key))) { + for (const key of paramKeys){ + if (!(key in destQuery)) { + destQuery[key] = args.params[key]; + } + } + } + let newUrl; + // The compiler also that the interception route marker is an unnamed param, hence '0', + // so we need to add it to the params object. + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["isInterceptionRouteAppPath"])(destPath)) { + for (const segment of destPath.split('/')){ + const marker = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["INTERCEPTION_ROUTE_MARKERS"].find((m)=>segment.startsWith(m)); + if (marker) { + if (marker === '(..)(..)') { + args.params['0'] = '(..)'; + args.params['1'] = '(..)'; + } else { + args.params['0'] = marker; + } + break; + } + } + } + try { + newUrl = destPathCompiler(args.params); + const [pathname, hash] = newUrl.split('#', 2); + if (destHostnameCompiler) { + parsedDestination.hostname = destHostnameCompiler(args.params); + } + parsedDestination.pathname = pathname; + parsedDestination.hash = `${hash ? '#' : ''}${hash || ''}`; + parsedDestination.search = destSearch ? compileNonPath(destSearch, args.params) : ''; + } catch (err) { + if (err.message.match(/Expected .*? to not repeat, but got an array/)) { + throw new Error(`To use a multi-match in the destination you must add \`*\` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match`); + } + throw err; + } + // Query merge order lowest priority to highest + // 1. initial URL query values + // 2. path segment values + // 3. destination specified query values + parsedDestination.query = { + ...args.query, + ...parsedDestination.query + }; + return { + newUrl, + destQuery, + parsedDestination + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/querystring.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "assign", + ()=>assign, + "getRenderedSearch", + ()=>getRenderedSearch, + "searchParamsToUrlQuery", + ()=>searchParamsToUrlQuery, + "urlQueryToSearchParams", + ()=>urlQueryToSearchParams +]); +function getRenderedSearch(query) { + // Inlined implementation of querystring.encode, which is not available in + // the Edge runtime. + const pairs = []; + for(const key in query){ + const value = query[key]; + if (value == null) continue; + if (Array.isArray(value)) { + for (const v of value){ + pairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`); + } + } else { + pairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`); + } + } + // The result should match the format of a web URL's `search` property, since + // this is the format that's stored in the App Router state. + // TODO: We're a bit inconsistent about this. The x-nextjs-rewritten-query + // header omits the leading question mark. Should refactor to always do + // that instead. + if (pairs.length === 0) { + // If the search string is empty, return an empty string. + return ''; + } + // Prepend '?' to the search params string. + return '?' + pairs.join('&'); +} +function searchParamsToUrlQuery(searchParams) { + const query = {}; + for (const [key, value] of searchParams.entries()){ + const existing = query[key]; + if (typeof existing === 'undefined') { + query[key] = value; + } else if (Array.isArray(existing)) { + existing.push(value); + } else { + query[key] = [ + existing, + value + ]; + } + } + return query; +} +function stringifyUrlQueryParam(param) { + if (typeof param === 'string') { + return param; + } + if (typeof param === 'number' && !isNaN(param) || typeof param === 'boolean') { + return String(param); + } else { + return ''; + } +} +function urlQueryToSearchParams(query) { + const searchParams = new URLSearchParams(); + for (const [key, value] of Object.entries(query)){ + if (Array.isArray(value)) { + for (const item of value){ + searchParams.append(key, stringifyUrlQueryParam(item)); + } + } else { + searchParams.set(key, stringifyUrlQueryParam(value)); + } + } + return searchParams; +} +function assign(target, ...searchParamsList) { + for (const searchParams of searchParamsList){ + for (const key of searchParams.keys()){ + target.delete(key); + } + for (const [key, value] of searchParams.entries()){ + target.append(key, value); + } + } + return target; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * The result of parsing a URL relative to a base URL. + */ __turbopack_context__.s([ + "getRelativeURL", + ()=>getRelativeURL, + "parseRelativeURL", + ()=>parseRelativeURL +]); +function parseRelativeURL(url, base) { + const baseURL = typeof base === 'string' ? new URL(base) : base; + const relative = new URL(url, base); + // The URL is relative if the origin is the same as the base URL. + const isRelative = relative.origin === baseURL.origin; + return { + url: isRelative ? relative.toString().slice(baseURL.origin.length) : relative.toString(), + isRelative + }; +} +function getRelativeURL(url, base) { + const relative = parseRelativeURL(url, base); + return relative.url; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "removePathPrefix", + ()=>removePathPrefix +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js [middleware] (ecmascript)"); +; +function removePathPrefix(path, prefix) { + // If the path doesn't start with the prefix we can return it as is. This + // protects us from situations where the prefix is a substring of the path + // prefix such as: + // + // For prefix: /blog + // + // /blog -> true + // /blog/ -> true + // /blog/1 -> true + // /blogging -> false + // /blogging/ -> false + // /blogging/1 -> false + if (!(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pathHasPrefix"])(path, prefix)) { + return path; + } + // Remove the prefix from the path via slicing. + const withoutPrefix = path.slice(prefix.length); + // If the path without the prefix starts with a `/` we can return it as is. + if (withoutPrefix.startsWith('/')) { + return withoutPrefix; + } + // If the path without the prefix doesn't start with a `/` we need to add it + // back to the path to make sure it's a valid path. + return `/${withoutPrefix}`; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Removes the trailing slash for a given route or page path. Examples: + * - `/foo/bar/` -> `/foo/bar` + * - `/foo/bar` -> `/foo/bar` + * + * Uses charCodeAt (47 === '/') instead of regex to avoid the overhead of + * compiling and executing a RegExp on every call (~3-5x faster). + */ __turbopack_context__.s([ + "removeTrailingSlash", + ()=>removeTrailingSlash +]); +function removeTrailingSlash(route) { + return route.charCodeAt(route.length - 1) === 47 && route.length > 1 ? route.slice(0, -1) : route; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/resolve-param-value.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "resolveParamValue", + ()=>resolveParamValue +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$prefix$2d$from$2d$param$2d$type$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-prefix-from-param-type.js [middleware] (ecmascript)"); +; +; +/** + * Extracts the param value from a path segment, handling interception markers + * based on the expected param type. + * + * @param pathSegment - The path segment to extract the value from + * @param params - The current params object for resolving dynamic param references + * @param paramType - The expected param type which may include interception marker info + * @returns The extracted param value + */ function getParamValueFromSegment(pathSegment, params, paramType) { + // If the segment is dynamic, resolve it from the params object + if (pathSegment.type === 'dynamic') { + return params[pathSegment.param.paramName]; + } + // If the paramType indicates this is an intercepted param, strip the marker + // that matches the interception marker in the param type + const interceptionPrefix = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$prefix$2d$from$2d$param$2d$type$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["interceptionPrefixFromParamType"])(paramType); + if (interceptionPrefix === pathSegment.interceptionMarker) { + return pathSegment.name.replace(pathSegment.interceptionMarker, ''); + } + // For static segments, use the name + return pathSegment.name; +} +function resolveParamValue(paramName, paramType, depth, route, params) { + switch(paramType){ + case 'catchall': + case 'optional-catchall': + case 'catchall-intercepted-(..)(..)': + case 'catchall-intercepted-(.)': + case 'catchall-intercepted-(..)': + case 'catchall-intercepted-(...)': + // For catchall routes, derive from pathname using depth to determine + // which segments to use + const processedSegments = []; + // Process segments to handle any embedded dynamic params + for(let index = depth; index < route.segments.length; index++){ + const pathSegment = route.segments[index]; + if (pathSegment.type === 'static') { + let value = pathSegment.name; + // For intercepted catch-all params, strip the marker from the first segment + const interceptionPrefix = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$prefix$2d$from$2d$param$2d$type$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["interceptionPrefixFromParamType"])(paramType); + if (interceptionPrefix && index === depth && interceptionPrefix === pathSegment.interceptionMarker) { + // Strip the interception marker from the value + value = value.replace(pathSegment.interceptionMarker, ''); + } + processedSegments.push(value); + } else { + // If the segment is a param placeholder, check if we have its value + if (!params.hasOwnProperty(pathSegment.param.paramName)) { + // If the segment is an optional catchall, we can break out of the + // loop because it's optional! + if (pathSegment.param.paramType === 'optional-catchall') { + break; + } + // Unknown param placeholder in pathname - can't derive full value + return undefined; + } + // If the segment matches a param, use the param value + // We don't encode values here as that's handled during retrieval. + const paramValue = params[pathSegment.param.paramName]; + if (Array.isArray(paramValue)) { + processedSegments.push(...paramValue); + } else { + processedSegments.push(paramValue); + } + } + } + if (processedSegments.length > 0) { + return processedSegments; + } else if (paramType === 'optional-catchall') { + return undefined; + } else { + // We shouldn't be able to match a catchall segment without any path + // segments if it's not an optional catchall + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["InvariantError"](`Unexpected empty path segments match for a route "${route.pathname}" with param "${paramName}" of type "${paramType}"`); + } + case 'dynamic': + case 'dynamic-intercepted-(..)(..)': + case 'dynamic-intercepted-(.)': + case 'dynamic-intercepted-(..)': + case 'dynamic-intercepted-(...)': + // For regular dynamic parameters, take the segment at this depth + if (depth < route.segments.length) { + const pathSegment = route.segments[depth]; + // Check if the segment at this depth is a placeholder for an unknown param + if (pathSegment.type === 'dynamic' && !params.hasOwnProperty(pathSegment.param.paramName)) { + // The segment is a placeholder like [category] and we don't have the value + return undefined; + } + // If the segment matches a param, use the param value from params object + // Otherwise it's a static segment, just use it directly + // We don't encode values here as that's handled during retrieval + return getParamValueFromSegment(pathSegment, params, paramType); + } + return undefined; + default: + paramType; + } +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/route-match-utils.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "safeCompile", + ()=>safeCompile, + "safePathToRegexp", + ()=>safePathToRegexp, + "safeRegexpToFunction", + ()=>safeRegexpToFunction, + "safeRouteMatcher", + ()=>safeRouteMatcher +]); +/** + * Client-safe utilities for route matching that don't import server-side + * utilities to avoid bundling issues with Turbopack + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/path-to-regexp/index.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/route-pattern-normalizer.js [middleware] (ecmascript)"); +; +; +function safePathToRegexp(route, keys, options) { + if (typeof route !== 'string') { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pathToRegexp"])(route, keys, options); + } + // Check if normalization is needed and cache the result + const needsNormalization = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["hasAdjacentParameterIssues"])(route); + const routeToUse = needsNormalization ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeAdjacentParameters"])(route) : route; + try { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pathToRegexp"])(routeToUse, keys, options); + } catch (error) { + // Only try normalization if we haven't already normalized + if (!needsNormalization) { + try { + const normalizedRoute = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeAdjacentParameters"])(route); + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["pathToRegexp"])(normalizedRoute, keys, options); + } catch (retryError) { + // If that doesn't work, fall back to original error + throw error; + } + } + throw error; + } +} +function safeCompile(route, options) { + // Check if normalization is needed and cache the result + const needsNormalization = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["hasAdjacentParameterIssues"])(route); + const routeToUse = needsNormalization ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeAdjacentParameters"])(route) : route; + try { + const compiler = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["compile"])(routeToUse, options); + // If we normalized the route, wrap the compiler to strip separators from output + // The normalization inserts _NEXTSEP_ as a literal string in the pattern to satisfy + // path-to-regexp validation, but we don't want it in the final compiled URL + if (needsNormalization) { + return (params)=>{ + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["stripNormalizedSeparators"])(compiler(params)); + }; + } + return compiler; + } catch (error) { + // Only try normalization if we haven't already normalized + if (!needsNormalization) { + try { + const normalizedRoute = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["normalizeAdjacentParameters"])(route); + const compiler = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["compile"])(normalizedRoute, options); + // Wrap the compiler to strip separators from output + return (params)=>{ + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["stripNormalizedSeparators"])(compiler(params)); + }; + } catch (retryError) { + // If that doesn't work, fall back to original error + throw error; + } + } + throw error; + } +} +function safeRegexpToFunction(regexp, keys) { + const originalMatcher = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$path$2d$to$2d$regexp$2f$index$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["regexpToFunction"])(regexp, keys || []); + return (pathname)=>{ + const result = originalMatcher(pathname); + if (!result) return false; + // Clean parameters before returning + return { + ...result, + params: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["stripParameterSeparators"])(result.params) + }; + }; +} +function safeRouteMatcher(matcherFn) { + return (pathname)=>{ + const result = matcherFn(pathname); + if (!result) return false; + // Clean parameters before returning + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$route$2d$pattern$2d$normalizer$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["stripParameterSeparators"])(result); + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/route-matcher.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getRouteMatcher", + ()=>getRouteMatcher +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/utils.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$match$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/route-match-utils.js [middleware] (ecmascript)"); +; +; +function getRouteMatcher({ re, groups }) { + const rawMatcher = (pathname)=>{ + const routeMatch = re.exec(pathname); + if (!routeMatch) return false; + const decode = (param)=>{ + try { + return decodeURIComponent(param); + } catch { + throw new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["DecodeError"]('failed to decode param'); + } + }; + const params = {}; + for (const [key, group] of Object.entries(groups)){ + const match = routeMatch[group.pos]; + if (match !== undefined) { + if (group.repeat) { + params[key] = match.split('/').map((entry)=>decode(entry)); + } else { + params[key] = decode(match); + } + } + } + return params; + }; + // Wrap with safe matcher to handle parameter cleaning + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$route$2d$match$2d$utils$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["safeRouteMatcher"])(rawMatcher); +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/route-regex.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getNamedMiddlewareRegex", + ()=>getNamedMiddlewareRegex, + "getNamedRouteRegex", + ()=>getNamedRouteRegex, + "getRouteRegex", + ()=>getRouteRegex +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/escape-regexp.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js [middleware] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$dynamic$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/get-dynamic-param.js [middleware] (ecmascript)"); +; +; +; +; +; +function getParametrizedRoute(route, includeSuffix, includePrefix) { + const groups = {}; + let groupIndex = 1; + const segments = []; + for (const segment of (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(route).slice(1).split('/')){ + const markerMatch = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["INTERCEPTION_ROUTE_MARKERS"].find((m)=>segment.startsWith(m)); + const paramMatches = segment.match(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$dynamic$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PARAMETER_PATTERN"]) // Check for parameters + ; + if (markerMatch && paramMatches && paramMatches[2]) { + const { key, optional, repeat } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$dynamic$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseMatchedParameter"])(paramMatches[2]); + groups[key] = { + pos: groupIndex++, + repeat, + optional + }; + segments.push(`/${(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["escapeStringRegexp"])(markerMatch)}([^/]+?)`); + } else if (paramMatches && paramMatches[2]) { + const { key, repeat, optional } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$dynamic$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseMatchedParameter"])(paramMatches[2]); + groups[key] = { + pos: groupIndex++, + repeat, + optional + }; + if (includePrefix && paramMatches[1]) { + segments.push(`/${(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["escapeStringRegexp"])(paramMatches[1])}`); + } + let s = repeat ? optional ? '(?:/(.+?))?' : '/(.+?)' : '/([^/]+?)'; + // Remove the leading slash if includePrefix already added it. + if (includePrefix && paramMatches[1]) { + s = s.substring(1); + } + segments.push(s); + } else { + segments.push(`/${(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["escapeStringRegexp"])(segment)}`); + } + // If there's a suffix, add it to the segments if it's enabled. + if (includeSuffix && paramMatches && paramMatches[3]) { + segments.push((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["escapeStringRegexp"])(paramMatches[3])); + } + } + return { + parameterizedRoute: segments.join(''), + groups + }; +} +function getRouteRegex(normalizedRoute, { includeSuffix = false, includePrefix = false, excludeOptionalTrailingSlash = false } = {}) { + const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute, includeSuffix, includePrefix); + let re = parameterizedRoute; + if (!excludeOptionalTrailingSlash) { + re += '(?:/)?'; + } + return { + re: new RegExp(`^${re}$`), + groups: groups + }; +} +/** + * Builds a function to generate a minimal routeKey using only a-z and minimal + * number of characters. + */ function buildGetSafeRouteKey() { + let i = 0; + return ()=>{ + let routeKey = ''; + let j = ++i; + while(j > 0){ + routeKey += String.fromCharCode(97 + (j - 1) % 26); + j = Math.floor((j - 1) / 26); + } + return routeKey; + }; +} +function getSafeKeyFromSegment({ interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix, backreferenceDuplicateKeys }) { + const { key, optional, repeat } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$dynamic$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["parseMatchedParameter"])(segment); + // replace any non-word characters since they can break + // the named regex + let cleanedKey = key.replace(/\W/g, ''); + if (keyPrefix) { + cleanedKey = `${keyPrefix}${cleanedKey}`; + } + let invalidKey = false; + // check if the key is still invalid and fallback to using a known + // safe key + if (cleanedKey.length === 0 || cleanedKey.length > 30) { + invalidKey = true; + } + if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) { + invalidKey = true; + } + if (invalidKey) { + cleanedKey = getSafeRouteKey(); + } + const duplicateKey = cleanedKey in routeKeys; + if (keyPrefix) { + routeKeys[cleanedKey] = `${keyPrefix}${key}`; + } else { + routeKeys[cleanedKey] = key; + } + // if the segment has an interception marker, make sure that's part of the regex pattern + // this is to ensure that the route with the interception marker doesn't incorrectly match + // the non-intercepted route (ie /app/(.)[username] should not match /app/[username]) + const interceptionPrefix = interceptionMarker ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["escapeStringRegexp"])(interceptionMarker) : ''; + let pattern; + if (duplicateKey && backreferenceDuplicateKeys) { + // Use a backreference to the key to ensure that the key is the same value + // in each of the placeholders. + pattern = `\\k<${cleanedKey}>`; + } else if (repeat) { + pattern = `(?<${cleanedKey}>.+?)`; + } else { + pattern = `(?<${cleanedKey}>[^/]+?)`; + } + return { + key, + pattern: optional ? `(?:/${interceptionPrefix}${pattern})?` : `/${interceptionPrefix}${pattern}`, + cleanedKey: cleanedKey, + optional, + repeat + }; +} +function getNamedParametrizedRoute(route, prefixRouteKeys, includeSuffix, includePrefix, backreferenceDuplicateKeys, reference = { + names: {}, + intercepted: {} +}) { + const getSafeRouteKey = buildGetSafeRouteKey(); + const routeKeys = {}; + const segments = []; + const inverseParts = []; + // Ensure we don't mutate the original reference object. + reference = structuredClone(reference); + for (const segment of (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(route).slice(1).split('/')){ + const hasInterceptionMarker = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["INTERCEPTION_ROUTE_MARKERS"].some((m)=>segment.startsWith(m)); + const paramMatches = segment.match(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$dynamic$2d$param$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["PARAMETER_PATTERN"]) // Check for parameters + ; + const interceptionMarker = hasInterceptionMarker ? paramMatches?.[1] : undefined; + let keyPrefix; + if (interceptionMarker && paramMatches?.[2]) { + keyPrefix = prefixRouteKeys ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_INTERCEPTION_MARKER_PREFIX"] : undefined; + reference.intercepted[paramMatches[2]] = interceptionMarker; + } else if (paramMatches?.[2] && reference.intercepted[paramMatches[2]]) { + keyPrefix = prefixRouteKeys ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_INTERCEPTION_MARKER_PREFIX"] : undefined; + } else { + keyPrefix = prefixRouteKeys ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["NEXT_QUERY_PARAM_PREFIX"] : undefined; + } + if (interceptionMarker && paramMatches && paramMatches[2]) { + // If there's an interception marker, add it to the segments. + const { key, pattern, cleanedKey, repeat, optional } = getSafeKeyFromSegment({ + getSafeRouteKey, + interceptionMarker, + segment: paramMatches[2], + routeKeys, + keyPrefix, + backreferenceDuplicateKeys + }); + segments.push(pattern); + inverseParts.push(`/${paramMatches[1]}:${reference.names[key] ?? cleanedKey}${repeat ? optional ? '*' : '+' : ''}`); + reference.names[key] ??= cleanedKey; + } else if (paramMatches && paramMatches[2]) { + // If there's a prefix, add it to the segments if it's enabled. + if (includePrefix && paramMatches[1]) { + segments.push(`/${(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["escapeStringRegexp"])(paramMatches[1])}`); + inverseParts.push(`/${paramMatches[1]}`); + } + const { key, pattern, cleanedKey, repeat, optional } = getSafeKeyFromSegment({ + getSafeRouteKey, + segment: paramMatches[2], + routeKeys, + keyPrefix, + backreferenceDuplicateKeys + }); + // Remove the leading slash if includePrefix already added it. + let s = pattern; + if (includePrefix && paramMatches[1]) { + s = s.substring(1); + } + segments.push(s); + inverseParts.push(`/:${reference.names[key] ?? cleanedKey}${repeat ? optional ? '*' : '+' : ''}`); + reference.names[key] ??= cleanedKey; + } else { + segments.push(`/${(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["escapeStringRegexp"])(segment)}`); + inverseParts.push(`/${segment}`); + } + // If there's a suffix, add it to the segments if it's enabled. + if (includeSuffix && paramMatches && paramMatches[3]) { + segments.push((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$escape$2d$regexp$2e$js__$5b$middleware$5d$__$28$ecmascript$29$__["escapeStringRegexp"])(paramMatches[3])); + inverseParts.push(paramMatches[3]); + } + } + return { + namedParameterizedRoute: segments.join(''), + routeKeys, + pathToRegexpPattern: inverseParts.join(''), + reference + }; +} +function getNamedRouteRegex(normalizedRoute, options) { + const result = getNamedParametrizedRoute(normalizedRoute, options.prefixRouteKeys, options.includeSuffix ?? false, options.includePrefix ?? false, options.backreferenceDuplicateKeys ?? false, options.reference); + let namedRegex = result.namedParameterizedRoute; + if (!options.excludeOptionalTrailingSlash) { + namedRegex += '(?:/)?'; + } + return { + ...getRouteRegex(normalizedRoute, options), + namedRegex: `^${namedRegex}$`, + routeKeys: result.routeKeys, + pathToRegexpPattern: result.pathToRegexpPattern, + reference: result.reference + }; +} +function getNamedMiddlewareRegex(normalizedRoute, options) { + const { parameterizedRoute } = getParametrizedRoute(normalizedRoute, false, false); + const { catchAll = true } = options; + if (parameterizedRoute === '/') { + let catchAllRegex = catchAll ? '.*' : ''; + return { + namedRegex: `^/${catchAllRegex}$` + }; + } + const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false, false, false, false, undefined); + let catchAllGroupedRegex = catchAll ? '(?:(/.*)?)' : ''; + return { + namedRegex: `^${namedParameterizedRoute}${catchAllGroupedRegex}$` + }; +} +}), +"[project]/node_modules/next/dist/esm/shared/lib/segment.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "DEFAULT_SEGMENT_KEY", + ()=>DEFAULT_SEGMENT_KEY, + "NOT_FOUND_SEGMENT_KEY", + ()=>NOT_FOUND_SEGMENT_KEY, + "PAGE_SEGMENT_KEY", + ()=>PAGE_SEGMENT_KEY, + "computeSelectedLayoutSegment", + ()=>computeSelectedLayoutSegment, + "getSegmentValue", + ()=>getSegmentValue, + "getSelectedLayoutSegmentPath", + ()=>getSelectedLayoutSegmentPath, + "isGroupSegment", + ()=>isGroupSegment, + "isParallelRouteSegment", + ()=>isParallelRouteSegment +]); +function getSegmentValue(segment) { + return Array.isArray(segment) ? segment[1] : segment; +} +function isGroupSegment(segment) { + // Use array[0] for performant purpose + return segment[0] === '(' && segment.endsWith(')'); +} +function isParallelRouteSegment(segment) { + return segment.startsWith('@') && segment !== '@children'; +} +function computeSelectedLayoutSegment(segments, parallelRouteKey) { + if (!segments || segments.length === 0) { + return null; + } + // For 'children', use first segment; for other parallel routes, use last segment + const rawSegment = parallelRouteKey === 'children' ? segments[0] : segments[segments.length - 1]; + // If the default slot is showing, return null since it's not technically "selected" (it's a fallback) + // Returning an internal value like `__DEFAULT__` would be confusing + return rawSegment === DEFAULT_SEGMENT_KEY ? null : rawSegment; +} +function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first = true, segmentPath = []) { + let node; + if (first) { + // Use the provided parallel route key on the first parallel route + node = tree[1][parallelRouteKey]; + } else { + // After first parallel route prefer children, if there's no children pick the first parallel route. + const parallelRoutes = tree[1]; + node = parallelRoutes.children ?? Object.values(parallelRoutes)[0]; + } + if (!node) return segmentPath; + const segment = node[0]; + let segmentValue = getSegmentValue(segment); + if (!segmentValue || segmentValue === PAGE_SEGMENT_KEY) { + return segmentPath; + } + segmentPath.push(segmentValue); + return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath); +} +const PAGE_SEGMENT_KEY = '__PAGE__'; +const DEFAULT_SEGMENT_KEY = '__DEFAULT__'; +const NOT_FOUND_SEGMENT_KEY = '/_not-found'; +}), +"[project]/node_modules/next/dist/esm/shared/lib/utils.js [middleware] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team. + * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting + */ __turbopack_context__.s([ + "DecodeError", + ()=>DecodeError, + "MiddlewareNotFoundError", + ()=>MiddlewareNotFoundError, + "MissingStaticPage", + ()=>MissingStaticPage, + "NormalizeError", + ()=>NormalizeError, + "PageNotFoundError", + ()=>PageNotFoundError, + "SP", + ()=>SP, + "ST", + ()=>ST, + "WEB_VITALS", + ()=>WEB_VITALS, + "execOnce", + ()=>execOnce, + "getDisplayName", + ()=>getDisplayName, + "getLocationOrigin", + ()=>getLocationOrigin, + "getURL", + ()=>getURL, + "isAbsoluteUrl", + ()=>isAbsoluteUrl, + "isResSent", + ()=>isResSent, + "loadGetInitialProps", + ()=>loadGetInitialProps, + "normalizeRepeatedSlashes", + ()=>normalizeRepeatedSlashes, + "stringifyError", + ()=>stringifyError +]); +const WEB_VITALS = [ + 'CLS', + 'FCP', + 'INP', + 'LCP', + 'TTFB' +]; +function execOnce(fn) { + let used = false; + let result; + return (...args)=>{ + if (!used) { + used = true; + result = fn(...args); + } + return result; + }; +} +// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 +// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 +const ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/; +const isAbsoluteUrl = (url)=>{ + // Fast path: an absolute URL must start with a letter (the scheme). + // Check for a-z and A-Z without the cost of the regex. + const c = url.charCodeAt(0); + const isLetter = c >= 65 /* A */ && c <= 90 || c >= 97 /* a */ && c <= 122; + /* z */ if (!isLetter) { + return false; + } + return ABSOLUTE_URL_REGEX.test(url); +}; +function getLocationOrigin() { + const { protocol, hostname, port } = window.location; + return `${protocol}//${hostname}${port ? ':' + port : ''}`; +} +function getURL() { + const { href } = window.location; + const origin = getLocationOrigin(); + return href.substring(origin.length); +} +function getDisplayName(Component) { + return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown'; +} +function isResSent(res) { + return res.finished || res.headersSent; +} +function normalizeRepeatedSlashes(url) { + const urlParts = url.split('?'); + const urlNoQuery = urlParts[0]; + return urlNoQuery // first we replace any non-encoded backslashes with forward + // then normalize repeated forward slashes + .replace(/\\/g, '/').replace(/\/\/+/g, '/') + (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : ''); +} +async function loadGetInitialProps(App, ctx) { + if ("TURBOPACK compile-time truthy", 1) { + if (App.prototype?.getInitialProps) { + const message = `"${getDisplayName(App)}.getInitialProps()" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`; + throw new Error(message); + } + } + // when called from _app `ctx` is nested in `ctx` + const res = ctx.res || ctx.ctx && ctx.ctx.res; + if (!App.getInitialProps) { + if (ctx.ctx && ctx.Component) { + // @ts-ignore pageProps default + return { + pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx) + }; + } + return {}; + } + const props = await App.getInitialProps(ctx); + if (res && isResSent(res)) { + return props; + } + if (!props) { + const message = `"${getDisplayName(App)}.getInitialProps()" should resolve to an object. But found "${props}" instead.`; + throw new Error(message); + } + if ("TURBOPACK compile-time truthy", 1) { + if (Object.keys(props).length === 0 && !ctx.ctx) { + console.warn(`${getDisplayName(App)} returned an empty object from \`getInitialProps\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`); + } + } + return props; +} +const SP = typeof performance !== 'undefined'; +const ST = SP && [ + 'mark', + 'measure', + 'getEntriesByName' +].every((method)=>typeof performance[method] === 'function'); +class DecodeError extends Error { +} +class NormalizeError extends Error { +} +class PageNotFoundError extends Error { + constructor(page){ + super(); + this.code = 'ENOENT'; + this.name = 'PageNotFoundError'; + this.message = `Cannot find module for page: ${page}`; + } +} +class MissingStaticPage extends Error { + constructor(page, message){ + super(); + this.message = `Failed to load static file for page: ${page} ${message}`; + } +} +class MiddlewareNotFoundError extends Error { + constructor(){ + super(); + this.code = 'ENOENT'; + this.message = `Cannot find the middleware module`; + } +} +function stringifyError(error) { + return JSON.stringify({ + message: error.message, + stack: error.stack + }); +} +}), +"[project]/node_modules/next/dist/experimental/testmode/context.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + getTestReqInfo: null, + withRequest: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + getTestReqInfo: function() { + return getTestReqInfo; + }, + withRequest: function() { + return withRequest; + } +}); +const _nodeasync_hooks = __turbopack_context__.r("[externals]/node:async_hooks [external] (node:async_hooks, cjs)"); +const testStorage = new _nodeasync_hooks.AsyncLocalStorage(); +function extractTestInfoFromRequest(req, reader) { + const proxyPortHeader = reader.header(req, 'next-test-proxy-port'); + if (!proxyPortHeader) { + return undefined; + } + const url = reader.url(req); + const proxyPort = Number(proxyPortHeader); + const testData = reader.header(req, 'next-test-data') || ''; + return { + url, + proxyPort, + testData + }; +} +function withRequest(req, reader, fn) { + const testReqInfo = extractTestInfoFromRequest(req, reader); + if (!testReqInfo) { + return fn(); + } + return testStorage.run(testReqInfo, fn); +} +function getTestReqInfo(req, reader) { + const testReqInfo = testStorage.getStore(); + if (testReqInfo) { + return testReqInfo; + } + if (req && reader) { + return extractTestInfoFromRequest(req, reader); + } + return undefined; +} +}), +"[project]/node_modules/next/dist/experimental/testmode/fetch.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + handleFetch: null, + interceptFetch: null, + reader: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + handleFetch: function() { + return handleFetch; + }, + interceptFetch: function() { + return interceptFetch; + }, + reader: function() { + return reader; + } +}); +const _context = __turbopack_context__.r("[project]/node_modules/next/dist/experimental/testmode/context.js [middleware] (ecmascript)"); +const reader = { + url (req) { + return req.url; + }, + header (req, name) { + return req.headers.get(name); + } +}; +function getTestStack() { + let stack = (new Error().stack ?? '').split('\n'); + // Skip the first line and find first non-empty line. + for(let i = 1; i < stack.length; i++){ + if (stack[i].length > 0) { + stack = stack.slice(i); + break; + } + } + // Filter out franmework lines. + stack = stack.filter((f)=>!f.includes('/next/dist/')); + // At most 5 lines. + stack = stack.slice(0, 5); + // Cleanup some internal info and trim. + stack = stack.map((s)=>s.replace('webpack-internal:///(rsc)/', '').trim()); + return stack.join(' '); +} +async function buildProxyRequest(testData, request) { + const { url, method, headers, body, cache, credentials, integrity, mode, redirect, referrer, referrerPolicy } = request; + return { + testData, + api: 'fetch', + request: { + url, + method, + headers: [ + ...Array.from(headers), + [ + 'next-test-stack', + getTestStack() + ] + ], + body: body ? Buffer.from(await request.arrayBuffer()).toString('base64') : null, + cache, + credentials, + integrity, + mode, + redirect, + referrer, + referrerPolicy + } + }; +} +function buildResponse(proxyResponse) { + const { status, headers, body } = proxyResponse.response; + return new Response(body ? Buffer.from(body, 'base64') : null, { + status, + headers: new Headers(headers) + }); +} +function passthroughFetch(originalFetch, request) { + // Mark the request so the ClientRequest interception in `httpget.ts` sends it + // to the real server instead of intercepting it again. @mswjs/interceptors + // intercepts at the TCP level, so an unmarked passthrough would re-enter the + // interception listener from within itself, recursing indefinitely. + request.headers.set('next-test-internal', '1'); + return originalFetch(request); +} +async function handleFetch(originalFetch, request) { + const testInfo = (0, _context.getTestReqInfo)(request, reader); + if (!testInfo) { + // Passthrough non-test requests. + return passthroughFetch(originalFetch, request); + } + const { testData, proxyPort } = testInfo; + const proxyRequest = await buildProxyRequest(testData, request); + const resp = await originalFetch(`http://localhost:${proxyPort}`, { + method: 'POST', + body: JSON.stringify(proxyRequest), + // The header lets the ClientRequest interception in `httpget.ts` identify + // this request as part of the test proxy protocol. @mswjs/interceptors + // intercepts at the TCP level, so this request would otherwise be + // intercepted again when it's sent from within an interception listener, + // recursing indefinitely. + headers: { + 'next-test-internal': '1' + }, + next: { + // @ts-ignore + internal: true + } + }); + if (!resp.ok) { + throw new Error(`Proxy request failed: ${resp.status}`); + } + const proxyResponse = await resp.json(); + const { api } = proxyResponse; + switch(api){ + case 'continue': + return passthroughFetch(originalFetch, request); + case 'abort': + case 'unhandled': + throw new Error(`Proxy request aborted [${request.method} ${request.url}]`); + case 'fetch': + return buildResponse(proxyResponse); + default: + return api; + } +} +function interceptFetch(originalFetch) { + /*TURBOPACK member replacement*/ __turbopack_context__.g.fetch = function testFetch(input, init) { + var _init_next; + // Passthrough internal requests. + // @ts-ignore + if (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next.internal) { + return originalFetch(input, init); + } + return handleFetch(originalFetch, new Request(input, init)); + }; + return ()=>{ + /*TURBOPACK member replacement*/ __turbopack_context__.g.fetch = originalFetch; + }; +} +}), +"[project]/node_modules/next/dist/experimental/testmode/server-edge.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + interceptTestApis: null, + wrapRequestHandler: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + interceptTestApis: function() { + return interceptTestApis; + }, + wrapRequestHandler: function() { + return wrapRequestHandler; + } +}); +const _context = __turbopack_context__.r("[project]/node_modules/next/dist/experimental/testmode/context.js [middleware] (ecmascript)"); +const _fetch = __turbopack_context__.r("[project]/node_modules/next/dist/experimental/testmode/fetch.js [middleware] (ecmascript)"); +function interceptTestApis() { + return (0, _fetch.interceptFetch)(/*TURBOPACK member replacement*/ __turbopack_context__.g.fetch); +} +function wrapRequestHandler(handler) { + return (req, fn)=>(0, _context.withRequest)(req, _fetch.reader, ()=>handler(req, fn)); +} +}), +"[project]/node_modules/next/dist/lib/constants.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + ACTION_SUFFIX: null, + APP_DIR_ALIAS: null, + CACHE_ONE_YEAR_SECONDS: null, + DOT_NEXT_ALIAS: null, + ESLINT_DEFAULT_DIRS: null, + GSP_NO_RETURNED_VALUE: null, + GSSP_COMPONENT_MEMBER_ERROR: null, + GSSP_NO_RETURNED_VALUE: null, + HTML_CONTENT_TYPE_HEADER: null, + INFINITE_CACHE: null, + INSTRUMENTATION_HOOK_FILENAME: null, + JSON_CONTENT_TYPE_HEADER: null, + MATCHED_PATH_HEADER: null, + MIDDLEWARE_FILENAME: null, + MIDDLEWARE_LOCATION_REGEXP: null, + NEXT_BODY_SUFFIX: null, + NEXT_CACHE_IMPLICIT_TAG_ID: null, + NEXT_CACHE_REVALIDATED_TAGS_HEADER: null, + NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER: null, + NEXT_CACHE_ROOT_PARAM_TAG_ID: null, + NEXT_CACHE_SOFT_TAG_MAX_LENGTH: null, + NEXT_CACHE_TAGS_HEADER: null, + NEXT_CACHE_TAG_MAX_ITEMS: null, + NEXT_CACHE_TAG_MAX_LENGTH: null, + NEXT_DATA_SUFFIX: null, + NEXT_INTERCEPTION_MARKER_PREFIX: null, + NEXT_META_SUFFIX: null, + NEXT_NAV_DEPLOYMENT_ID_HEADER: null, + NEXT_QUERY_PARAM_PREFIX: null, + NEXT_RESUME_HEADER: null, + NEXT_RESUME_STATE_LENGTH_HEADER: null, + NON_STANDARD_NODE_ENV: null, + PAGES_DIR_ALIAS: null, + PRERENDER_REVALIDATE_HEADER: null, + PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER: null, + PROXY_FILENAME: null, + PROXY_LOCATION_REGEXP: null, + PUBLIC_DIR_MIDDLEWARE_CONFLICT: null, + ROOT_DIR_ALIAS: null, + RSC_ACTION_CLIENT_WRAPPER_ALIAS: null, + RSC_ACTION_ENCRYPTION_ALIAS: null, + RSC_ACTION_PROXY_ALIAS: null, + RSC_ACTION_VALIDATE_ALIAS: null, + RSC_CACHE_WRAPPER_ALIAS: null, + RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS: null, + RSC_MOD_REF_PROXY_ALIAS: null, + RSC_SEGMENTS_DIR_SUFFIX: null, + RSC_SEGMENT_SUFFIX: null, + RSC_SUFFIX: null, + SERVER_PROPS_EXPORT_ERROR: null, + SERVER_PROPS_GET_INIT_PROPS_CONFLICT: null, + SERVER_PROPS_SSG_CONFLICT: null, + SERVER_RUNTIME: null, + SSG_FALLBACK_EXPORT_ERROR: null, + SSG_GET_INITIAL_PROPS_CONFLICT: null, + STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR: null, + TEXT_PLAIN_CONTENT_TYPE_HEADER: null, + UNSTABLE_REVALIDATE_RENAME_ERROR: null, + WEBPACK_LAYERS: null, + WEBPACK_RESOURCE_QUERIES: null, + WEB_SOCKET_MAX_RECONNECTIONS: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + ACTION_SUFFIX: function() { + return ACTION_SUFFIX; + }, + APP_DIR_ALIAS: function() { + return APP_DIR_ALIAS; + }, + CACHE_ONE_YEAR_SECONDS: function() { + return CACHE_ONE_YEAR_SECONDS; + }, + DOT_NEXT_ALIAS: function() { + return DOT_NEXT_ALIAS; + }, + ESLINT_DEFAULT_DIRS: function() { + return ESLINT_DEFAULT_DIRS; + }, + GSP_NO_RETURNED_VALUE: function() { + return GSP_NO_RETURNED_VALUE; + }, + GSSP_COMPONENT_MEMBER_ERROR: function() { + return GSSP_COMPONENT_MEMBER_ERROR; + }, + GSSP_NO_RETURNED_VALUE: function() { + return GSSP_NO_RETURNED_VALUE; + }, + HTML_CONTENT_TYPE_HEADER: function() { + return HTML_CONTENT_TYPE_HEADER; + }, + INFINITE_CACHE: function() { + return INFINITE_CACHE; + }, + INSTRUMENTATION_HOOK_FILENAME: function() { + return INSTRUMENTATION_HOOK_FILENAME; + }, + JSON_CONTENT_TYPE_HEADER: function() { + return JSON_CONTENT_TYPE_HEADER; + }, + MATCHED_PATH_HEADER: function() { + return MATCHED_PATH_HEADER; + }, + MIDDLEWARE_FILENAME: function() { + return MIDDLEWARE_FILENAME; + }, + MIDDLEWARE_LOCATION_REGEXP: function() { + return MIDDLEWARE_LOCATION_REGEXP; + }, + NEXT_BODY_SUFFIX: function() { + return NEXT_BODY_SUFFIX; + }, + NEXT_CACHE_IMPLICIT_TAG_ID: function() { + return NEXT_CACHE_IMPLICIT_TAG_ID; + }, + NEXT_CACHE_REVALIDATED_TAGS_HEADER: function() { + return NEXT_CACHE_REVALIDATED_TAGS_HEADER; + }, + NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER: function() { + return NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER; + }, + NEXT_CACHE_ROOT_PARAM_TAG_ID: function() { + return NEXT_CACHE_ROOT_PARAM_TAG_ID; + }, + NEXT_CACHE_SOFT_TAG_MAX_LENGTH: function() { + return NEXT_CACHE_SOFT_TAG_MAX_LENGTH; + }, + NEXT_CACHE_TAGS_HEADER: function() { + return NEXT_CACHE_TAGS_HEADER; + }, + NEXT_CACHE_TAG_MAX_ITEMS: function() { + return NEXT_CACHE_TAG_MAX_ITEMS; + }, + NEXT_CACHE_TAG_MAX_LENGTH: function() { + return NEXT_CACHE_TAG_MAX_LENGTH; + }, + NEXT_DATA_SUFFIX: function() { + return NEXT_DATA_SUFFIX; + }, + NEXT_INTERCEPTION_MARKER_PREFIX: function() { + return NEXT_INTERCEPTION_MARKER_PREFIX; + }, + NEXT_META_SUFFIX: function() { + return NEXT_META_SUFFIX; + }, + NEXT_NAV_DEPLOYMENT_ID_HEADER: function() { + return NEXT_NAV_DEPLOYMENT_ID_HEADER; + }, + NEXT_QUERY_PARAM_PREFIX: function() { + return NEXT_QUERY_PARAM_PREFIX; + }, + NEXT_RESUME_HEADER: function() { + return NEXT_RESUME_HEADER; + }, + NEXT_RESUME_STATE_LENGTH_HEADER: function() { + return NEXT_RESUME_STATE_LENGTH_HEADER; + }, + NON_STANDARD_NODE_ENV: function() { + return NON_STANDARD_NODE_ENV; + }, + PAGES_DIR_ALIAS: function() { + return PAGES_DIR_ALIAS; + }, + PRERENDER_REVALIDATE_HEADER: function() { + return PRERENDER_REVALIDATE_HEADER; + }, + PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER: function() { + return PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER; + }, + PROXY_FILENAME: function() { + return PROXY_FILENAME; + }, + PROXY_LOCATION_REGEXP: function() { + return PROXY_LOCATION_REGEXP; + }, + PUBLIC_DIR_MIDDLEWARE_CONFLICT: function() { + return PUBLIC_DIR_MIDDLEWARE_CONFLICT; + }, + ROOT_DIR_ALIAS: function() { + return ROOT_DIR_ALIAS; + }, + RSC_ACTION_CLIENT_WRAPPER_ALIAS: function() { + return RSC_ACTION_CLIENT_WRAPPER_ALIAS; + }, + RSC_ACTION_ENCRYPTION_ALIAS: function() { + return RSC_ACTION_ENCRYPTION_ALIAS; + }, + RSC_ACTION_PROXY_ALIAS: function() { + return RSC_ACTION_PROXY_ALIAS; + }, + RSC_ACTION_VALIDATE_ALIAS: function() { + return RSC_ACTION_VALIDATE_ALIAS; + }, + RSC_CACHE_WRAPPER_ALIAS: function() { + return RSC_CACHE_WRAPPER_ALIAS; + }, + RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS: function() { + return RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS; + }, + RSC_MOD_REF_PROXY_ALIAS: function() { + return RSC_MOD_REF_PROXY_ALIAS; + }, + RSC_SEGMENTS_DIR_SUFFIX: function() { + return RSC_SEGMENTS_DIR_SUFFIX; + }, + RSC_SEGMENT_SUFFIX: function() { + return RSC_SEGMENT_SUFFIX; + }, + RSC_SUFFIX: function() { + return RSC_SUFFIX; + }, + SERVER_PROPS_EXPORT_ERROR: function() { + return SERVER_PROPS_EXPORT_ERROR; + }, + SERVER_PROPS_GET_INIT_PROPS_CONFLICT: function() { + return SERVER_PROPS_GET_INIT_PROPS_CONFLICT; + }, + SERVER_PROPS_SSG_CONFLICT: function() { + return SERVER_PROPS_SSG_CONFLICT; + }, + SERVER_RUNTIME: function() { + return SERVER_RUNTIME; + }, + SSG_FALLBACK_EXPORT_ERROR: function() { + return SSG_FALLBACK_EXPORT_ERROR; + }, + SSG_GET_INITIAL_PROPS_CONFLICT: function() { + return SSG_GET_INITIAL_PROPS_CONFLICT; + }, + STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR: function() { + return STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR; + }, + TEXT_PLAIN_CONTENT_TYPE_HEADER: function() { + return TEXT_PLAIN_CONTENT_TYPE_HEADER; + }, + UNSTABLE_REVALIDATE_RENAME_ERROR: function() { + return UNSTABLE_REVALIDATE_RENAME_ERROR; + }, + WEBPACK_LAYERS: function() { + return WEBPACK_LAYERS; + }, + WEBPACK_RESOURCE_QUERIES: function() { + return WEBPACK_RESOURCE_QUERIES; + }, + WEB_SOCKET_MAX_RECONNECTIONS: function() { + return WEB_SOCKET_MAX_RECONNECTIONS; + } +}); +const TEXT_PLAIN_CONTENT_TYPE_HEADER = 'text/plain'; +const HTML_CONTENT_TYPE_HEADER = 'text/html; charset=utf-8'; +const JSON_CONTENT_TYPE_HEADER = 'application/json; charset=utf-8'; +const NEXT_QUERY_PARAM_PREFIX = 'nxtP'; +const NEXT_INTERCEPTION_MARKER_PREFIX = 'nxtI'; +const MATCHED_PATH_HEADER = 'x-matched-path'; +const PRERENDER_REVALIDATE_HEADER = 'x-prerender-revalidate'; +const PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = 'x-prerender-revalidate-if-generated'; +const RSC_SEGMENTS_DIR_SUFFIX = '.segments'; +const RSC_SEGMENT_SUFFIX = '.segment.rsc'; +const RSC_SUFFIX = '.rsc'; +const ACTION_SUFFIX = '.action'; +const NEXT_DATA_SUFFIX = '.json'; +const NEXT_META_SUFFIX = '.meta'; +const NEXT_BODY_SUFFIX = '.body'; +const NEXT_NAV_DEPLOYMENT_ID_HEADER = 'x-nextjs-deployment-id'; +const NEXT_CACHE_TAGS_HEADER = 'x-next-cache-tags'; +const NEXT_CACHE_REVALIDATED_TAGS_HEADER = 'x-next-revalidated-tags'; +const NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = 'x-next-revalidate-tag-token'; +const NEXT_RESUME_HEADER = 'next-resume'; +const NEXT_RESUME_STATE_LENGTH_HEADER = 'x-next-resume-state-length'; +const NEXT_CACHE_TAG_MAX_ITEMS = 128; +const NEXT_CACHE_TAG_MAX_LENGTH = 256; +const NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024; +const NEXT_CACHE_IMPLICIT_TAG_ID = '_N_T_'; +const NEXT_CACHE_ROOT_PARAM_TAG_ID = '_N_RP_'; +const CACHE_ONE_YEAR_SECONDS = 31536000; +const INFINITE_CACHE = 0xfffffffe; +const MIDDLEWARE_FILENAME = 'middleware'; +const MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`; +const PROXY_FILENAME = 'proxy'; +const PROXY_LOCATION_REGEXP = `(?:src/)?${PROXY_FILENAME}`; +const INSTRUMENTATION_HOOK_FILENAME = 'instrumentation'; +const PAGES_DIR_ALIAS = 'private-next-pages'; +const DOT_NEXT_ALIAS = 'private-dot-next'; +const ROOT_DIR_ALIAS = 'private-next-root-dir'; +const APP_DIR_ALIAS = 'private-next-app-dir'; +const RSC_MOD_REF_PROXY_ALIAS = 'private-next-rsc-mod-ref-proxy'; +const RSC_ACTION_VALIDATE_ALIAS = 'private-next-rsc-action-validate'; +const RSC_ACTION_PROXY_ALIAS = 'private-next-rsc-server-reference'; +const RSC_CACHE_WRAPPER_ALIAS = 'private-next-rsc-cache-wrapper'; +const RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS = 'private-next-rsc-track-dynamic-import'; +const RSC_ACTION_ENCRYPTION_ALIAS = 'private-next-rsc-action-encryption'; +const RSC_ACTION_CLIENT_WRAPPER_ALIAS = 'private-next-rsc-action-client-wrapper'; +const PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`; +const SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`; +const SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`; +const SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`; +const STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`; +const SERVER_PROPS_EXPORT_ERROR = `pages with \`getServerSideProps\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`; +const GSP_NO_RETURNED_VALUE = 'Your `getStaticProps` function did not return an object. Did you forget to add a `return`?'; +const GSSP_NO_RETURNED_VALUE = 'Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?'; +const UNSTABLE_REVALIDATE_RENAME_ERROR = 'The `unstable_revalidate` property is available for general use.\n' + 'Please use `revalidate` instead.'; +const GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`; +const NON_STANDARD_NODE_ENV = `You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`; +const SSG_FALLBACK_EXPORT_ERROR = `Pages with \`fallback\` enabled in \`getStaticPaths\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`; +const ESLINT_DEFAULT_DIRS = [ + 'app', + 'pages', + 'components', + 'lib', + 'src' +]; +const SERVER_RUNTIME = { + edge: 'edge', + experimentalEdge: 'experimental-edge', + nodejs: 'nodejs' +}; +const WEB_SOCKET_MAX_RECONNECTIONS = 12; +/** + * The names of the webpack layers. These layers are the primitives for the + * webpack chunks. + */ const WEBPACK_LAYERS_NAMES = { + /** + * The layer for the shared code between the client and server bundles. + */ shared: 'shared', + /** + * The layer for server-only runtime and picking up `react-server` export conditions. + * Including app router RSC pages and app router custom routes and metadata routes. + */ reactServerComponents: 'rsc', + /** + * Server Side Rendering layer for app (ssr). + */ serverSideRendering: 'ssr', + /** + * The browser client bundle layer for actions. + */ actionBrowser: 'action-browser', + /** + * The Node.js bundle layer for the API routes. + */ apiNode: 'api-node', + /** + * The Edge Lite bundle layer for the API routes. + */ apiEdge: 'api-edge', + /** + * The layer for the middleware code. + */ middleware: 'middleware', + /** + * The layer for the instrumentation hooks. + */ instrument: 'instrument', + /** + * The layer for assets on the edge. + */ edgeAsset: 'edge-asset', + /** + * The browser client bundle layer for App directory. + */ appPagesBrowser: 'app-pages-browser', + /** + * The browser client bundle layer for Pages directory. + */ pagesDirBrowser: 'pages-dir-browser', + /** + * The Edge Lite bundle layer for Pages directory. + */ pagesDirEdge: 'pages-dir-edge', + /** + * The Node.js bundle layer for Pages directory. + */ pagesDirNode: 'pages-dir-node' +}; +const WEBPACK_LAYERS = { + ...WEBPACK_LAYERS_NAMES, + GROUP: { + builtinReact: [ + WEBPACK_LAYERS_NAMES.reactServerComponents, + WEBPACK_LAYERS_NAMES.actionBrowser + ], + serverOnly: [ + WEBPACK_LAYERS_NAMES.reactServerComponents, + WEBPACK_LAYERS_NAMES.actionBrowser, + WEBPACK_LAYERS_NAMES.instrument, + WEBPACK_LAYERS_NAMES.middleware + ], + neutralTarget: [ + // pages api + WEBPACK_LAYERS_NAMES.apiNode, + WEBPACK_LAYERS_NAMES.apiEdge + ], + clientOnly: [ + WEBPACK_LAYERS_NAMES.serverSideRendering, + WEBPACK_LAYERS_NAMES.appPagesBrowser + ], + bundled: [ + WEBPACK_LAYERS_NAMES.reactServerComponents, + WEBPACK_LAYERS_NAMES.actionBrowser, + WEBPACK_LAYERS_NAMES.serverSideRendering, + WEBPACK_LAYERS_NAMES.appPagesBrowser, + WEBPACK_LAYERS_NAMES.shared, + WEBPACK_LAYERS_NAMES.instrument, + WEBPACK_LAYERS_NAMES.middleware + ], + appPages: [ + // app router pages and layouts + WEBPACK_LAYERS_NAMES.reactServerComponents, + WEBPACK_LAYERS_NAMES.serverSideRendering, + WEBPACK_LAYERS_NAMES.appPagesBrowser, + WEBPACK_LAYERS_NAMES.actionBrowser + ] + } +}; +const WEBPACK_RESOURCE_QUERIES = { + edgeSSREntry: '__next_edge_ssr_entry__', + metadata: '__next_metadata__', + metadataRoute: '__next_metadata_route__', + metadataImageMeta: '__next_metadata_image_meta__' +}; +}), +"[project]/node_modules/next/dist/lib/framework/boundary-constants.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + METADATA_BOUNDARY_NAME: null, + OUTLET_BOUNDARY_NAME: null, + ROOT_LAYOUT_BOUNDARY_NAME: null, + VIEWPORT_BOUNDARY_NAME: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + METADATA_BOUNDARY_NAME: function() { + return METADATA_BOUNDARY_NAME; + }, + OUTLET_BOUNDARY_NAME: function() { + return OUTLET_BOUNDARY_NAME; + }, + ROOT_LAYOUT_BOUNDARY_NAME: function() { + return ROOT_LAYOUT_BOUNDARY_NAME; + }, + VIEWPORT_BOUNDARY_NAME: function() { + return VIEWPORT_BOUNDARY_NAME; + } +}); +const METADATA_BOUNDARY_NAME = '__next_metadata_boundary__'; +const VIEWPORT_BOUNDARY_NAME = '__next_viewport_boundary__'; +const OUTLET_BOUNDARY_NAME = '__next_outlet_boundary__'; +const ROOT_LAYOUT_BOUNDARY_NAME = '__next_root_layout_boundary__'; +}), +"[project]/node_modules/next/dist/lib/scheduler.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + atLeastOneTask: null, + scheduleImmediate: null, + scheduleOnNextTick: null, + waitAtLeastOneReactRenderTask: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + atLeastOneTask: function() { + return atLeastOneTask; + }, + scheduleImmediate: function() { + return scheduleImmediate; + }, + scheduleOnNextTick: function() { + return scheduleOnNextTick; + }, + waitAtLeastOneReactRenderTask: function() { + return waitAtLeastOneReactRenderTask; + } +}); +const scheduleOnNextTick = (cb)=>{ + // We use Promise.resolve().then() here so that the operation is scheduled at + // the end of the promise job queue, we then add it to the next process tick + // to ensure it's evaluated afterwards. + // + // This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255 + // + Promise.resolve().then(()=>{ + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + process.nextTick(cb); + } + }); +}; +const scheduleImmediate = (cb)=>{ + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + setImmediate(cb); + } +}; +function atLeastOneTask() { + return new Promise((resolve)=>scheduleImmediate(resolve)); +} +function waitAtLeastOneReactRenderTask() { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + return new Promise((r)=>setImmediate(r)); + } +} +}), +"[project]/node_modules/next/dist/server/after/after.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "after", { + enumerable: true, + get: function() { + return after; + } +}); +const _workasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +const _workunitasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)"); +function after(task) { + const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); + const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); + if (!workStore || !workUnitStore) { + // TODO(after): the linked docs page talks about *dynamic* APIs, which after soon won't be anymore + throw new Error('`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context'); + } + const { afterContext } = workStore; + return afterContext.after(task, workUnitStore); +} +}), +"[project]/node_modules/next/dist/server/after/index.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && __export(__turbopack_context__.r("[project]/node_modules/next/dist/server/after/after.js [middleware] (ecmascript)")); +_export_star(__turbopack_context__.r("[project]/node_modules/next/dist/server/after/after.js [middleware] (ecmascript)"), exports); +function _export_star(from, to) { + Object.keys(from).forEach(function(k) { + if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) { + Object.defineProperty(to, k, { + enumerable: true, + get: function() { + return from[k]; + } + }); + } + }); + return from; +} +}), +"[project]/node_modules/next/dist/server/app-render/blocking-route-messages.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + createDynamicBodyError: null, + createDynamicBodyErrorInNavigation: null, + createDynamicBodyErrorInStaticRoute: null, + createDynamicMetadataError: null, + createDynamicMetadataErrorInStaticRoute: null, + createDynamicOrRuntimeBodyError: null, + createDynamicOrRuntimeMetadataError: null, + createDynamicOrRuntimeViewportError: null, + createDynamicViewportError: null, + createDynamicViewportErrorInStaticRoute: null, + createLinkBodyErrorInNavigation: null, + createLinkMetadataError: null, + createLinkViewportError: null, + createNavigationBodyErrorInNavigation: null, + createNavigationMetadataError: null, + createNavigationViewportError: null, + createNonPrerenderableBodyErrorInStaticRoute: null, + createNonPrerenderableMetadataErrorInStaticRoute: null, + createNonPrerenderableViewportErrorInStaticRoute: null, + createPrefetchBodyErrorInNavigation: null, + createPrefetchMetadataError: null, + createPrefetchViewportError: null, + createRuntimeBodyError: null, + createRuntimeBodyErrorInNavigation: null, + createRuntimeBodyErrorInStaticRoute: null, + createRuntimeMetadataError: null, + createRuntimeMetadataErrorInStaticRoute: null, + createRuntimeViewportError: null, + createRuntimeViewportErrorInStaticRoute: null, + logBuildDebugHint: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + createDynamicBodyError: function() { + return createDynamicBodyError; + }, + createDynamicBodyErrorInNavigation: function() { + return createDynamicBodyErrorInNavigation; + }, + createDynamicBodyErrorInStaticRoute: function() { + return createDynamicBodyErrorInStaticRoute; + }, + createDynamicMetadataError: function() { + return createDynamicMetadataError; + }, + createDynamicMetadataErrorInStaticRoute: function() { + return createDynamicMetadataErrorInStaticRoute; + }, + createDynamicOrRuntimeBodyError: function() { + return createDynamicOrRuntimeBodyError; + }, + createDynamicOrRuntimeMetadataError: function() { + return createDynamicOrRuntimeMetadataError; + }, + createDynamicOrRuntimeViewportError: function() { + return createDynamicOrRuntimeViewportError; + }, + createDynamicViewportError: function() { + return createDynamicViewportError; + }, + createDynamicViewportErrorInStaticRoute: function() { + return createDynamicViewportErrorInStaticRoute; + }, + createLinkBodyErrorInNavigation: function() { + return createLinkBodyErrorInNavigation; + }, + createLinkMetadataError: function() { + return createLinkMetadataError; + }, + createLinkViewportError: function() { + return createLinkViewportError; + }, + createNavigationBodyErrorInNavigation: function() { + return createNavigationBodyErrorInNavigation; + }, + createNavigationMetadataError: function() { + return createNavigationMetadataError; + }, + createNavigationViewportError: function() { + return createNavigationViewportError; + }, + createNonPrerenderableBodyErrorInStaticRoute: function() { + return createNonPrerenderableBodyErrorInStaticRoute; + }, + createNonPrerenderableMetadataErrorInStaticRoute: function() { + return createNonPrerenderableMetadataErrorInStaticRoute; + }, + createNonPrerenderableViewportErrorInStaticRoute: function() { + return createNonPrerenderableViewportErrorInStaticRoute; + }, + createPrefetchBodyErrorInNavigation: function() { + return createPrefetchBodyErrorInNavigation; + }, + createPrefetchMetadataError: function() { + return createPrefetchMetadataError; + }, + createPrefetchViewportError: function() { + return createPrefetchViewportError; + }, + createRuntimeBodyError: function() { + return createRuntimeBodyError; + }, + createRuntimeBodyErrorInNavigation: function() { + return createRuntimeBodyErrorInNavigation; + }, + createRuntimeBodyErrorInStaticRoute: function() { + return createRuntimeBodyErrorInStaticRoute; + }, + createRuntimeMetadataError: function() { + return createRuntimeMetadataError; + }, + createRuntimeMetadataErrorInStaticRoute: function() { + return createRuntimeMetadataErrorInStaticRoute; + }, + createRuntimeViewportError: function() { + return createRuntimeViewportError; + }, + createRuntimeViewportErrorInStaticRoute: function() { + return createRuntimeViewportErrorInStaticRoute; + }, + logBuildDebugHint: function() { + return logBuildDebugHint; + } +}); +function createRuntimeBodyError(route) { + return new Error(`Route "${route}": Next.js encountered runtime data during prerendering.\n\n` + `\`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed outside of \`\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [stream] Provide a placeholder with \`\` around the data access\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-runtime`); +} +function createDynamicBodyError(route) { + return new Error(`Route "${route}": Next.js encountered uncached data during prerendering.\n\n` + `\`fetch(...)\` or \`connection()\` accessed outside of \`\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [stream] Provide a placeholder with \`\` around the data access\n` + ` - [cache] Cache the data access with \`"use cache"\` (does not apply to \`connection()\`)\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`); +} +function createRuntimeBodyErrorInNavigation(route) { + return new Error(`Route "${route}": Next.js encountered runtime data during prerendering or a navigation.\n\n` + `\`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed outside of \`\` prevents the route from being prerendered or the navigation from being instant, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [stream] Provide a placeholder with \`\` around the data access\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-runtime`); +} +function createLinkBodyErrorInNavigation(route) { + return new Error(`Route "${route}": Next.js encountered URL data during prerendering or a navigation.\n\n` + `\`params\` or \`searchParams\` accessed outside of \`\` may prevent the navigation from being instant, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [stream] Provide a placeholder with \`\` around the data access\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/instant-shell-url-data`); +} +function createNavigationBodyErrorInNavigation(route) { + return new Error(`Route "${route}": Next.js encountered \`navigation()\` during prerendering or a navigation.\n\n` + `\`navigation()\` called outside of \`\` may prevent the navigation from being instant, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [stream] Provide a placeholder with \`\` around the component that calls \`navigation()\`\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage`); +} +function createPrefetchBodyErrorInNavigation(route) { + return new Error(`Route "${route}": Next.js encountered \`prefetch()\` during prerendering or a navigation.\n\n` + `\`prefetch()\` called outside of \`\` may prevent the navigation from being instant, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [stream] Provide a placeholder with \`\` around the component that calls \`prefetch()\`\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage`); +} +function createDynamicBodyErrorInNavigation(route) { + return new Error(`Route "${route}": Next.js encountered uncached data during prerendering or a navigation.\n\n` + `\`fetch(...)\` or \`connection()\` accessed outside of \`\` prevents the route from being prerendered or the navigation from being instant, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [stream] Provide a placeholder with \`\` around the data access\n` + ` - [cache] Cache the data access with \`"use cache"\` (does not apply to \`connection()\`)\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`); +} +function createDynamicOrRuntimeBodyError(route) { + return new Error(`Route "${route}": Next.js encountered uncached or runtime data during prerendering.\n\n` + `\`fetch(...)\`, \`cookies()\`, \`headers()\`, \`params\`, \`searchParams\`, or \`connection()\` accessed outside of \`\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [stream] Provide a placeholder with \`\` around the data access\n` + ` - [cache] For uncached data (\`fetch\`, database calls): cache the access with \`"use cache"\` (does not apply to \`connection()\`)\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`); +} +function createLinkMetadataError(route) { + return new Error(`Route "${route}": Next.js encountered URL data in \`generateMetadata()\`.\n\n` + `This route's metadata is blocked, but the rest of its content can be prefetched. \`params\` or \`searchParams\` accessed in \`generateMetadata()\` prevent it from being prefetched.\n\n` + `Ways to fix this:\n` + ` - [static] Use a static metadata export instead of \`generateMetadata()\`\n` + ` - [dynamic] Render a marker component that calls \`await connection()\` inside \`\` on the page\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`); +} +function createRuntimeMetadataError(route) { + return new Error(`Route "${route}": Next.js encountered runtime data in \`generateMetadata()\`.\n\n` + `This route's metadata is blocked, but the rest of its content can be prerendered. \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed in \`generateMetadata()\` cause it to run dynamically.\n\n` + `Ways to fix this:\n` + ` - [static] Use a static metadata export instead of \`generateMetadata()\`\n` + ` - [dynamic] Render a marker component that calls \`await connection()\` inside \`\` on the page\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`); +} +function createNavigationMetadataError(route) { + return new Error(`Route "${route}": Next.js encountered \`navigation()\` in \`generateMetadata()\`.\n\n` + `Metadata can already stream without blocking the route's UI, so delaying it until navigation may be unintentional.\n\n` + `Ways to fix this:\n` + ` - [remove] Remove \`navigation()\` from \`generateMetadata()\`\n` + ` - [mark] Render a marker component that calls \`await navigation()\` inside \`\` on the page\n\n` + `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage-metadata`); +} +function createPrefetchMetadataError(route) { + return new Error(`Route "${route}": Next.js encountered \`prefetch()\` in \`generateMetadata()\`.\n\n` + `Metadata can already stream without blocking the route's UI, so delaying it until a per-link prefetch or navigation may be unintentional.\n\n` + `Ways to fix this:\n` + ` - [remove] Remove \`prefetch()\` from \`generateMetadata()\`\n` + ` - [mark] Render a marker component that calls \`await prefetch()\` inside \`\` on the page\n\n` + `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage-metadata`); +} +function createDynamicMetadataError(route) { + return new Error(`Route "${route}": Next.js encountered uncached data in \`generateMetadata()\`.\n\n` + `This route's metadata is blocked, but the rest of its content can be prerendered. \`fetch(...)\` or \`connection()\` accessed in \`generateMetadata()\` cause it to run dynamically.\n\n` + `Ways to fix this:\n` + ` - [cache] Cache the metadata with \`"use cache"\` in \`generateMetadata()\` (does not apply to \`connection()\`)\n` + ` - [dynamic] Render a marker component that calls \`await connection()\` inside \`\` on the page\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-dynamic`); +} +function createLinkViewportError(route) { + return new Error(`Route "${route}": Next.js encountered URL data in \`generateViewport()\`.\n\n` + `\`params\` or \`searchParams\` in \`generateViewport()\` prevents the page from being prerendered, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [static] Use a static viewport export instead of \`generateViewport()\`\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-runtime`); +} +function createRuntimeViewportError(route) { + return new Error(`Route "${route}": Next.js encountered runtime data in \`generateViewport()\`.\n\n` + `\`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` in \`generateViewport()\` prevents the page from being prerendered, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [static] Use a static viewport export instead of \`generateViewport()\`\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-runtime`); +} +function createNavigationViewportError(route) { + return new Error(`Route "${route}": Next.js encountered \`navigation()\` in \`generateViewport()\`.\n\n` + `This prevents Next.js from creating the App Shell, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [remove] Remove \`navigation()\` from \`generateViewport()\`\n` + ` - [ignore] Set \`export const instant = false\` to disable validation for this segment\n\n` + `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage-viewport`); +} +function createPrefetchViewportError(route) { + return new Error(`Route "${route}": Next.js encountered \`prefetch()\` in \`generateViewport()\`.\n\n` + `This prevents Next.js from creating the App Shell, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [remove] Remove \`prefetch()\` from \`generateViewport()\`\n` + ` - [ignore] Set \`export const instant = false\` to disable validation for this segment\n\n` + `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage-viewport`); +} +function createDynamicViewportError(route) { + return new Error(`Route "${route}": Next.js encountered uncached data in \`generateViewport()\`.\n\n` + `\`fetch(...)\` or \`connection()\` in \`generateViewport()\` prevents the page from being prerendered, leading to a slower user experience.\n\n` + `Ways to fix this:\n` + ` - [cache] Cache the viewport data with \`"use cache"\` in \`generateViewport()\` (does not apply to \`connection()\`)\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-dynamic`); +} +function createDynamicOrRuntimeViewportError(route) { + return new Error(`Route "${route}": Next.js encountered uncached or runtime data in \`generateViewport()\`.\n\n` + `This prevents the page from being prerendered, leading to a slower user experience. Unlike metadata, viewport cannot be streamed behind \`\` because it affects the initial page load.\n\n` + `Ways to fix this:\n` + ` - [static] Use a static viewport export instead of \`generateViewport()\`\n` + ` - [cache] For uncached data (\`fetch\`, database calls): cache the viewport with \`"use cache"\` in \`generateViewport()\` (does not apply to \`connection()\`)\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-runtime`); +} +function createDynamicOrRuntimeMetadataError(route) { + return new Error(`Route "${route}": Next.js encountered uncached or runtime data in \`generateMetadata()\`.\n\n` + `This route's metadata is blocked, but the rest of its content can be prerendered.\n\n` + `Ways to fix this:\n` + ` - [static] Use a static metadata export instead of \`generateMetadata()\`\n` + ` - [cache] Cache the metadata with \`"use cache"\` in \`generateMetadata()\` (does not apply to \`connection()\`)\n` + ` - [dynamic] Render a marker component that calls \`await connection()\` inside \`\` on the page\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`); +} +function createRuntimeBodyErrorInStaticRoute(route) { + return new Error(`Route "${route}": Next.js encountered runtime data on a route that must be fully static.\n\n` + `This route is configured to be fully static, but runtime data from \`cookies()\`, \`headers()\`, \`params\`, \`searchParams\`, or a short-lived cache requires rendering at request time.\n\n` + `Ways to fix this:\n` + ` - [remove] Remove the data access\n` + ` - [client] Read the data on the client\n\n` + `Learn more: https://nextjs.org/docs/messages/static-route-runtime`); +} +function createDynamicBodyErrorInStaticRoute(route) { + return new Error(`Route "${route}": Next.js encountered uncached data on a route that must be fully static.\n\n` + `This route is configured to be fully static, but an uncached \`fetch(...)\`, database call, or \`connection()\` requires rendering at request time.\n\n` + `Ways to fix this:\n` + ` - [cache] Cache the data access with \`"use cache"\` (does not apply to \`connection()\`)\n` + ` - [remove] Remove the data access\n` + ` - [client] Read the data on the client\n\n` + `Learn more: https://nextjs.org/docs/messages/static-route-dynamic`); +} +function createNonPrerenderableBodyErrorInStaticRoute(route) { + return new Error(`Route "${route}": Next.js encountered uncached or runtime data on a route that must be fully static.\n\n` + `This route is configured to be fully static, but some data requires rendering at request time.\n\n` + `Ways to fix this:\n` + ` - [cache] For uncached data (\`fetch\`, database calls): cache the access with \`"use cache"\` (does not apply to \`connection()\`)\n` + ` - [remove] Remove the data access\n` + ` - [client] Read the data on the client\n\n` + `Learn more: https://nextjs.org/docs/messages/static-route-dynamic`); +} +function createRuntimeMetadataErrorInStaticRoute(route) { + return new Error(`Route "${route}": Next.js encountered runtime data in \`generateMetadata()\` on a route that must be fully static.\n\n` + `This route is configured to be fully static, but runtime data from \`cookies()\`, \`headers()\`, \`params\`, \`searchParams\`, or a short-lived cache requires rendering at request time.\n\n` + `Ways to fix this:\n` + ` - [static] Replace the dynamic data used by \`generateMetadata()\` with static data\n\n` + `Learn more: https://nextjs.org/docs/messages/static-metadata-runtime`); +} +function createDynamicMetadataErrorInStaticRoute(route) { + return new Error(`Route "${route}": Next.js encountered uncached data in \`generateMetadata()\` on a route that must be fully static.\n\n` + `This route is configured to be fully static, but an uncached \`fetch(...)\`, database call, or \`connection()\` requires rendering at request time.\n\n` + `Ways to fix this:\n` + ` - [cache] Cache the data used by \`generateMetadata()\` with \`"use cache"\` (does not apply to \`connection()\`)\n` + ` - [static] Replace the dynamic data used by \`generateMetadata()\` with static data\n\n` + `Learn more: https://nextjs.org/docs/messages/static-metadata-dynamic`); +} +function createNonPrerenderableMetadataErrorInStaticRoute(route) { + return new Error(`Route "${route}": Next.js encountered uncached or runtime data in \`generateMetadata()\` on a route that must be fully static.\n\n` + `This route is configured to be fully static, but some data requires rendering at request time.\n\n` + `Ways to fix this:\n` + ` - [cache] For uncached data: cache the data used by \`generateMetadata()\` with \`"use cache"\` (does not apply to \`connection()\`)\n` + ` - [static] Replace the dynamic data used by \`generateMetadata()\` with static data\n\n` + `Learn more: https://nextjs.org/docs/messages/static-metadata-dynamic`); +} +function createRuntimeViewportErrorInStaticRoute(route) { + return new Error(`Route "${route}": Next.js encountered runtime data in \`generateViewport()\` on a route that must be fully static.\n\n` + `This route is configured to be fully static, but runtime data from \`cookies()\`, \`headers()\`, \`params\`, \`searchParams\`, or a short-lived cache requires rendering at request time.\n\n` + `Ways to fix this:\n` + ` - [static] Replace the dynamic data used by \`generateViewport()\` with static data\n\n` + `Learn more: https://nextjs.org/docs/messages/static-viewport-runtime`); +} +function createDynamicViewportErrorInStaticRoute(route) { + return new Error(`Route "${route}": Next.js encountered uncached data in \`generateViewport()\` on a route that must be fully static.\n\n` + `This route is configured to be fully static, but an uncached \`fetch(...)\`, database call, or \`connection()\` requires rendering at request time.\n\n` + `Ways to fix this:\n` + ` - [cache] Cache the data used by \`generateViewport()\` with \`"use cache"\` (does not apply to \`connection()\`)\n` + ` - [static] Replace the dynamic data used by \`generateViewport()\` with static data\n\n` + `Learn more: https://nextjs.org/docs/messages/static-viewport-dynamic`); +} +function createNonPrerenderableViewportErrorInStaticRoute(route) { + return new Error(`Route "${route}": Next.js encountered uncached or runtime data in \`generateViewport()\` on a route that must be fully static.\n\n` + `This route is configured to be fully static, but some data requires rendering at request time.\n\n` + `Ways to fix this:\n` + ` - [cache] For uncached data: cache the data used by \`generateViewport()\` with \`"use cache"\` (does not apply to \`connection()\`)\n` + ` - [static] Replace the dynamic data used by \`generateViewport()\` with static data\n\n` + `Learn more: https://nextjs.org/docs/messages/static-viewport-dynamic`); +} +function logBuildDebugHint(route) { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; +} +}), +"[project]/node_modules/next/dist/server/app-render/dynamic-rendering.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/** + * The functions provided by this module are used to communicate certain properties + * about the currently running code so that Next.js can make decisions on how to handle + * the current execution in different rendering modes such as pre-rendering, resuming, and SSR. + * + * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering. + * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts + * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of + * Dynamic indications. + * + * The first is simply an intention to be dynamic. unstable_noStore is an example of this where + * the currently executing code simply declares that the current scope is dynamic but if you use it + * inside unstable_cache it can still be cached. This type of indication can be removed if we ever + * make the default dynamic to begin with because the only way you would ever be static is inside + * a cache scope which this indication does not affect. + * + * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic + * because it means that it is inappropriate to cache this at all. using a dynamic data source inside + * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should + * read that data outside the cache and pass it in as an argument to the cached function. + */ Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + DynamicHoleKind: null, + PreludeState: null, + abortAndThrowOnSynchronousRequestDataAccess: null, + abortOnSynchronousPlatformIOAccess: null, + accessedDynamicData: null, + annotateDynamicAccess: null, + consumeDynamicAccess: null, + createDynamicTrackingState: null, + createDynamicValidationState: null, + createHangingInputAbortSignal: null, + createInstantValidationState: null, + formatDynamicAPIAccesses: null, + getDisallowedReasonsInStaticRoute: null, + getFirstDynamicReason: null, + getNavigationDisallowedDynamicReasons: null, + getStaticShellDisallowedDynamicReasons: null, + isPrerenderInterruptedError: null, + logDisallowedDynamicError: null, + markCurrentScopeAsDynamic: null, + throwIfDisallowedDynamic: null, + throwIfDisallowedDynamicInStaticRoute: null, + throwIfSyncIOUsed: null, + throwToInterruptStaticGeneration: null, + trackAllowedDynamicAccess: null, + trackDynamicAccessInStaticRoute: null, + trackDynamicDataInDynamicRender: null, + trackDynamicHoleInNavigation: null, + trackDynamicHoleInStaticShell: null, + trackThrownErrorInNavigation: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + DynamicHoleKind: function() { + return DynamicHoleKind; + }, + PreludeState: function() { + return PreludeState; + }, + abortAndThrowOnSynchronousRequestDataAccess: function() { + return abortAndThrowOnSynchronousRequestDataAccess; + }, + abortOnSynchronousPlatformIOAccess: function() { + return abortOnSynchronousPlatformIOAccess; + }, + accessedDynamicData: function() { + return accessedDynamicData; + }, + annotateDynamicAccess: function() { + return annotateDynamicAccess; + }, + consumeDynamicAccess: function() { + return consumeDynamicAccess; + }, + createDynamicTrackingState: function() { + return createDynamicTrackingState; + }, + createDynamicValidationState: function() { + return createDynamicValidationState; + }, + createHangingInputAbortSignal: function() { + return createHangingInputAbortSignal; + }, + createInstantValidationState: function() { + return createInstantValidationState; + }, + formatDynamicAPIAccesses: function() { + return formatDynamicAPIAccesses; + }, + getDisallowedReasonsInStaticRoute: function() { + return getDisallowedReasonsInStaticRoute; + }, + getFirstDynamicReason: function() { + return getFirstDynamicReason; + }, + getNavigationDisallowedDynamicReasons: function() { + return getNavigationDisallowedDynamicReasons; + }, + getStaticShellDisallowedDynamicReasons: function() { + return getStaticShellDisallowedDynamicReasons; + }, + isPrerenderInterruptedError: function() { + return isPrerenderInterruptedError; + }, + logDisallowedDynamicError: function() { + return logDisallowedDynamicError; + }, + markCurrentScopeAsDynamic: function() { + return markCurrentScopeAsDynamic; + }, + throwIfDisallowedDynamic: function() { + return throwIfDisallowedDynamic; + }, + throwIfDisallowedDynamicInStaticRoute: function() { + return throwIfDisallowedDynamicInStaticRoute; + }, + throwIfSyncIOUsed: function() { + return throwIfSyncIOUsed; + }, + throwToInterruptStaticGeneration: function() { + return throwToInterruptStaticGeneration; + }, + trackAllowedDynamicAccess: function() { + return trackAllowedDynamicAccess; + }, + trackDynamicAccessInStaticRoute: function() { + return trackDynamicAccessInStaticRoute; + }, + trackDynamicDataInDynamicRender: function() { + return trackDynamicDataInDynamicRender; + }, + trackDynamicHoleInNavigation: function() { + return trackDynamicHoleInNavigation; + }, + trackDynamicHoleInStaticShell: function() { + return trackDynamicHoleInStaticShell; + }, + trackThrownErrorInNavigation: function() { + return trackThrownErrorInNavigation; + } +}); +const _react = /*#__PURE__*/ _interop_require_default(__turbopack_context__.r("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js [middleware] (ecmascript)")); +const _hooksservercontext = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/hooks-server-context.js [middleware] (ecmascript)"); +const _staticgenerationbailout = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/static-generation-bailout.js [middleware] (ecmascript)"); +const _workunitasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)"); +const _dynamicrenderingutils = __turbopack_context__.r("[project]/node_modules/next/dist/server/dynamic-rendering-utils.js [middleware] (ecmascript)"); +const _boundaryconstants = __turbopack_context__.r("[project]/node_modules/next/dist/lib/framework/boundary-constants.js [middleware] (ecmascript)"); +const _scheduler = __turbopack_context__.r("[project]/node_modules/next/dist/lib/scheduler.js [middleware] (ecmascript)"); +const _blockingroutemessages = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/blocking-route-messages.js [middleware] (ecmascript)"); +const _invarianterror = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/invariant-error.js [middleware] (ecmascript)"); +const _boundaryconstants1 = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js [middleware] (ecmascript)"); +const _boundarytracking = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js [middleware] (ecmascript)"); +const _instantmessages = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/instant-messages.js [middleware] (ecmascript)"); +const _reactbrowserbailout = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/lazy-dynamic/react-browser-bailout.js [middleware] (ecmascript)"); +function _interop_require_default(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +function createDynamicTrackingState(isDebugDynamicAccesses) { + return { + isDebugDynamicAccesses, + dynamicAccesses: [], + syncDynamicErrorWithStack: null, + syncDynamicErrorWithStackPostMicrotask: false + }; +} +function createDynamicValidationState() { + return { + hasSuspenseAboveBody: false, + hasDynamicMetadata: false, + dynamicMetadata: null, + hasDynamicViewport: false, + hasAllowedDynamic: false, + dynamicErrors: [] + }; +} +function getPendingClientSyncDynamicError(clientDynamic) { + return clientDynamic.syncDynamicErrorWithStackPostMicrotask ? null : clientDynamic.syncDynamicErrorWithStack; +} +function getFirstDynamicReason(trackingState) { + var _trackingState_dynamicAccesses_; + return (_trackingState_dynamicAccesses_ = trackingState.dynamicAccesses[0]) == null ? void 0 : _trackingState_dynamicAccesses_.expression; +} +function markCurrentScopeAsDynamic(store, workUnitStore, expression) { + if (workUnitStore) { + switch(workUnitStore.type){ + case 'cache': + case 'unstable-cache': + // Inside cache scopes, marking a scope as dynamic has no effect, + // because the outer cache scope creates a cache boundary. This is + // subtly different from reading a dynamic data source, which is + // forbidden inside a cache scope. + return; + case 'private-cache': + // A private cache scope is already dynamic by definition. + return; + case 'prerender-legacy': + case 'request': + case 'build-time-generator': + break; + default: + workUnitStore; + } + } + // If we're forcing dynamic rendering or we're forcing static rendering, we + // don't need to do anything here because the entire page is already dynamic + // or it's static and it should not throw or postpone here. + if (store.forceDynamic || store.forceStatic) return; + if (store.dynamicShouldError) { + throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${store.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${expression}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`); + } + if (workUnitStore) { + switch(workUnitStore.type){ + case 'prerender-legacy': + workUnitStore.revalidate = 0; + // We aren't prerendering, but we are generating a static page. We need + // to bail out of static generation. + const err = new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`); + store.dynamicUsageDescription = expression; + store.dynamicUsageStack = err.stack; + throw err; + case 'request': + markRequestStoreAsDynamic(workUnitStore); + break; + case 'build-time-generator': + break; + default: + workUnitStore; + } + } +} +function throwToInterruptStaticGeneration(expression, store, prerenderStore) { + // We aren't prerendering but we are generating a static page. We need to bail out of static generation + const err = new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used \`${expression}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`); + prerenderStore.revalidate = 0; + store.dynamicUsageDescription = expression; + store.dynamicUsageStack = err.stack; + throw err; +} +function trackDynamicDataInDynamicRender(workUnitStore) { + switch(workUnitStore.type){ + case 'cache': + case 'unstable-cache': + // Inside cache scopes, marking a scope as dynamic has no effect, + // because the outer cache scope creates a cache boundary. This is + // subtly different from reading a dynamic data source, which is + // forbidden inside a cache scope. + return; + case 'private-cache': + // A private cache scope is already dynamic by definition. + return; + case 'prerender': + case 'prerender-runtime': + case 'prerender-legacy': + case 'prerender-client': + case 'validation-client': + case 'build-time-generator': + break; + case 'request': + markRequestStoreAsDynamic(workUnitStore); + break; + default: + workUnitStore; + } +} +function markRequestStoreAsDynamic(requestStore) { + if (("TURBOPACK compile-time value", "1") && requestStore.phase === 'render') { + requestStore.usedDynamic = true; + } +} +function abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore) { + const reason = `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`; + const error = createPrerenderInterruptedError(reason); + prerenderStore.controller.abort(error); + const dynamicTracking = prerenderStore.dynamicTracking; + if (dynamicTracking) { + dynamicTracking.dynamicAccesses.push({ + // When we aren't debugging, we don't need to create another error for the + // stack trace. + stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined, + expression + }); + } +} +function abortOnSynchronousPlatformIOAccess(route, expression, errorWithStack, prerenderStore) { + const dynamicTracking = prerenderStore.dynamicTracking; + if (dynamicTracking && dynamicTracking.syncDynamicErrorWithStack === null) { + dynamicTracking.syncDynamicErrorWithStack = errorWithStack; + // React completes the task that is currently rendering before scheduled + // abort cleanup. Client tracking can attribute the sync IO only during + // that current task; server tracking keeps the error regardless. + queueMicrotask(()=>{ + dynamicTracking.syncDynamicErrorWithStackPostMicrotask = true; + }); + } + abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore); +} +function abortAndThrowOnSynchronousRequestDataAccess(route, expression, errorWithStack, prerenderStore) { + const prerenderSignal = prerenderStore.controller.signal; + if (prerenderSignal.aborted === false) { + // TODO it would be better to move this aborted check into the callsite so we can avoid making + // the error object when it isn't relevant to the aborting of the prerender however + // since we need the throw semantics regardless of whether we abort it is easier to land + // this way. See how this was handled with `abortOnSynchronousPlatformIOAccess` for a closer + // to ideal implementation + abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore); + // Preserve the exact server-side dynamic access for final validation after + // interrupting this render. + const dynamicTracking = prerenderStore.dynamicTracking; + if (dynamicTracking) { + if (dynamicTracking.syncDynamicErrorWithStack === null) { + dynamicTracking.syncDynamicErrorWithStack = errorWithStack; + } + } + } + throw createPrerenderInterruptedError(`Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`); +} +const NEXT_PRERENDER_INTERRUPTED = 'NEXT_PRERENDER_INTERRUPTED'; +function createPrerenderInterruptedError(message) { + const error = new Error(message); + error.digest = NEXT_PRERENDER_INTERRUPTED; + return error; +} +function isPrerenderInterruptedError(error) { + return typeof error === 'object' && error !== null && error.digest === NEXT_PRERENDER_INTERRUPTED && 'name' in error && 'message' in error && error instanceof Error; +} +function accessedDynamicData(dynamicAccesses) { + return dynamicAccesses.length > 0; +} +function consumeDynamicAccess(serverDynamic, clientDynamic) { + // We mutate because we only call this once we are no longer writing + // to the dynamicTrackingState and it's more efficient than creating a new + // array. + serverDynamic.dynamicAccesses.push(...clientDynamic.dynamicAccesses); + return serverDynamic.dynamicAccesses; +} +function formatDynamicAPIAccesses(dynamicAccesses) { + return dynamicAccesses.filter((access)=>typeof access.stack === 'string' && access.stack.length > 0).map(({ expression, stack })=>{ + stack = stack.split('\n') // Remove the "Error: " prefix from the first line of the stack trace as + // well as the first 4 lines of the stack trace which is the distance + // from the user code and the `new Error().stack` call. + .slice(4).filter((line)=>{ + // Exclude Next.js internals from the stack trace. + if (line.includes('node_modules/next/')) { + return false; + } + // Exclude anonymous functions from the stack trace. + if (line.includes(' ()')) { + return false; + } + // Exclude Node.js internals from the stack trace. + if (line.includes(' (node:')) { + return false; + } + return true; + }).join('\n'); + return `Dynamic API Usage Debug - ${expression}:\n${stack}`; + }); +} +function createHangingInputAbortSignal(workUnitStore) { + switch(workUnitStore.type){ + case 'prerender': + case 'prerender-runtime': + const controller = new AbortController(); + if (workUnitStore.cacheSignal) { + // If we have a cacheSignal it means we're in a prospective render. If + // the input we're waiting on is coming from another cache, we do want + // to wait for it so that we can resolve this cache entry too. + workUnitStore.cacheSignal.inputReady().then(()=>{ + controller.abort(); + }); + } else { + // Otherwise we're in the final render and we should already have all + // our caches filled. + // If the prerender uses stages, we have wait until the final stage. + // if an input didn't resolve at that point, then we can assume it never will. + // + // We might still be waiting on some microtasks so we + // wait one tick before giving up. When we give up, we still want to + // render the content of this cache as deeply as we can so that we can + // suspend as deeply as possible in the tree or not at all if we don't + // end up waiting for the input. + const stagedRendering = (0, _workunitasyncstorageexternal.getStagedRenderingController)(workUnitStore); + if (stagedRendering && stagedRendering.finalStage !== null) { + stagedRendering.waitForStage(stagedRendering.finalStage).then(()=>(0, _scheduler.scheduleOnNextTick)(()=>controller.abort()), noop); + } else { + (0, _scheduler.scheduleOnNextTick)(()=>controller.abort()); + } + } + return controller.signal; + case 'prerender-client': + case 'validation-client': + case 'prerender-legacy': + case 'request': + case 'cache': + case 'private-cache': + case 'unstable-cache': + case 'build-time-generator': + return undefined; + default: + workUnitStore; + } +} +function noop() {} +function annotateDynamicAccess(expression, prerenderStore) { + const dynamicTracking = prerenderStore.dynamicTracking; + if (dynamicTracking) { + dynamicTracking.dynamicAccesses.push({ + stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined, + expression + }); + } +} +const hasSuspenseRegex = /\n\s+at Suspense \(\)/; +// Common implicit body tags that React will treat as body when placed directly in html +const bodyAndImplicitTags = 'body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6'; +// Detects when RootLayoutBoundary (our framework marker component) appears +// after Suspense in the component stack, indicating the root layout is wrapped +// within a Suspense boundary. Ensures no body/html/implicit-body components are in between. +// +// Example matches: +// at Suspense () +// at __next_root_layout_boundary__ () +// +// Or with other components in between (but not body/html/implicit-body): +// at Suspense () +// at SomeComponent () +// at __next_root_layout_boundary__ () +const hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex = new RegExp(`\\n\\s+at Suspense \\(\\)(?:(?!\\n\\s+at (?:${bodyAndImplicitTags}) \\(\\))[\\s\\S])*?\\n\\s+at ${_boundaryconstants.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`); +const hasMetadataRegex = new RegExp(`\\n\\s+at ${_boundaryconstants.METADATA_BOUNDARY_NAME}[\\n\\s]`); +const hasViewportRegex = new RegExp(`\\n\\s+at ${_boundaryconstants.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`); +const hasOutletRegex = new RegExp(`\\n\\s+at ${_boundaryconstants.OUTLET_BOUNDARY_NAME}[\\n\\s]`); +const hasInstantValidationBoundaryRegex = new RegExp(`\\n\\s+at ${_boundaryconstants1.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`); +const slotMarkerRegex = new RegExp(`\\n\\s+at ${_boundaryconstants1.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${_boundaryconstants1.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`); +/** Look up the config factory for the slot this error belongs to. + * Checks the component stack for a slot marker (__next_instant_slot_N__) + * and returns the config at that index. Falls back to index 0 (root + * config) when no slot marker is found or the slot has no config. */ function resolveInstantStack(componentStack, dynamicValidation) { + const { slotStacks } = dynamicValidation; + if (slotStacks.length > 1) { + const match = slotMarkerRegex.exec(componentStack); + if (match) { + // Slot markers are 0-indexed in the component name but + // slotStacks is 1-indexed (index 0 is the root config). + const slotIndex = parseInt(match[1], 10) + 1; + const slotStack = slotStacks[slotIndex]; + if (slotStack != null) { + return slotStack; + } + } + } + // Fall back to root config (index 0) + return slotStacks[0] ?? null; +} +/** + * Inspects the component stack of an outlet boundary to discover whether the + * user placed a Suspense boundary above the document body, and records the + * opt-in on `dynamicValidation.hasSuspenseAboveBody` if so. + * + * The outlet itself isn't a meaningful source of dynamic — it only resolves + * when metadata/viewport are dynamic, which we track via their own boundaries. + * However, the outlet renders alongside the page content, so its stack passes + * through the user's layout chain (typically reaching into `` via the + * root layout). That makes the outlet stack our best opportunity to spot a + * Suspense boundary above the body, even when no real body content is dynamic. + * Without this, a route whose only dynamic source is `generateViewport()` would + * miss the Suspense-above-body opt-in, because the viewport's stack lives in + * the head and never sees the user's root layout. + * + * We deliberately only set `hasSuspenseAboveBody`, not `hasAllowedDynamic`. The + * latter tracks whether the body has dynamic content that's been wrapped in + * Suspense (i.e., the page is partially dynamic). The outlet rendering tells us + * about the structural opt-in for an empty shell, not about the body being + * partially dynamic. The distinction matters because dynamic metadata is only + * acceptable when the page is partially dynamic (via real body holes), and we + * don't want this outlet-based detection to mask that case. + */ function trackOutletSuspenseAboveBody(componentStack, dynamicValidation) { + if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) { + dynamicValidation.hasSuspenseAboveBody = true; + } +} +function trackDynamicAccessInStaticRoute(dynamicReason, workStore, componentStack, dynamicValidation, clientDynamic, isServerPartial, kind) { + const syncDynamicError = getPendingClientSyncDynamicError(clientDynamic); + if (hasOutletRegex.test(componentStack)) { + trackOutletSuspenseAboveBody(componentStack, dynamicValidation); + return; + } + if (hasMetadataRegex.test(componentStack)) { + dynamicValidation.dynamicErrors.push(addErrorContext(createMetadataErrorInStaticRoute(kind, workStore.route), componentStack, null)); + return; + } + if (hasViewportRegex.test(componentStack)) { + dynamicValidation.dynamicErrors.push(addErrorContext(createViewportErrorInStaticRoute(kind, workStore.route), componentStack, null)); + return; + } + let hasSuspense = false; + if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) { + // this error had a Suspense boundary above it, and it's above the body as well. + dynamicValidation.hasSuspenseAboveBody = true; + hasSuspense = true; + } else if (hasSuspenseRegex.test(componentStack)) { + // this error had a Suspense boundary above it. + hasSuspense = true; + } + if (hasSuspense) { + if (!isServerPartial) { + // If we don't have holes caused by server data, then any holes must be caused + // by client-only code, which is allowed. + dynamicValidation.hasAllowedDynamic = true; + return; + } + // We have holes that may be caused by server data. + if (syncDynamicError || (0, _dynamicrenderingutils.isClientHookDynamicError)(dynamicReason)) { + // We know this hole wasn't caused by server data, so it's allowed + // (because it's wrapped in a Suspense) + dynamicValidation.hasAllowedDynamic = true; + return; + } + // Any remaining hole may be caused by a server hole. + // These are not allowed even with Suspense. + // (NOTE: this may misreport valid client dynamic holes as server holes) + dynamicValidation.dynamicErrors.push(addErrorContext(createBodyErrorInStaticRoute(kind, workStore.route), componentStack, null)); + return; + } + if (syncDynamicError) { + dynamicValidation.dynamicErrors.push(syncDynamicError); + return; + } + if ((0, _dynamicrenderingutils.isClientHookDynamicError)(dynamicReason)) { + dynamicValidation.dynamicErrors.push(addErrorContext(dynamicReason, componentStack, null)); + return; + } + const error = addErrorContext(isServerPartial ? createBodyErrorInStaticRoute(kind, workStore.route) : createBodyError(kind, workStore.route), componentStack, null); + dynamicValidation.dynamicErrors.push(error); +} +function trackAllowedDynamicAccess(dynamicReason, workStore, componentStack, dynamicValidation, clientDynamic) { + const dynamicHoleKind = 6; + const syncDynamicError = getPendingClientSyncDynamicError(clientDynamic); + if (hasOutletRegex.test(componentStack)) { + trackOutletSuspenseAboveBody(componentStack, dynamicValidation); + return; + } else if (hasMetadataRegex.test(componentStack)) { + dynamicValidation.hasDynamicMetadata = true; + return; + } else if (hasViewportRegex.test(componentStack)) { + dynamicValidation.hasDynamicViewport = true; + return; + } else if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) { + // For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule. + // But if you have Suspense above body, the prelude is empty but we allow that because having Suspense + // is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering. + dynamicValidation.hasAllowedDynamic = true; + dynamicValidation.hasSuspenseAboveBody = true; + return; + } else if (hasSuspenseRegex.test(componentStack)) { + // this error had a Suspense boundary above it so we don't need to report it as a source + // of disallowed + dynamicValidation.hasAllowedDynamic = true; + return; + } else if (syncDynamicError) { + dynamicValidation.dynamicErrors.push(syncDynamicError); + return; + } + if ((0, _dynamicrenderingutils.isClientHookDynamicError)(dynamicReason)) { + dynamicValidation.dynamicErrors.push(addErrorContext(dynamicReason, componentStack, null)); + return; + } + const error = addErrorContext(createBodyError(dynamicHoleKind, workStore.route), componentStack, null); + dynamicValidation.dynamicErrors.push(error); + return; +} +var DynamicHoleKind = /*#__PURE__*/ function(DynamicHoleKind) { + /** We know that this hole is caused by runtime data. */ DynamicHoleKind[DynamicHoleKind["Runtime"] = 1] = "Runtime"; + /** We know that this hole is caused by link data. */ DynamicHoleKind[DynamicHoleKind["Link"] = 2] = "Link"; + /** We know that this hole is caused by navigation(). */ DynamicHoleKind[DynamicHoleKind["Navigation"] = 3] = "Navigation"; + /** We know that this hole is caused by prefetch(). */ DynamicHoleKind[DynamicHoleKind["Prefetch"] = 4] = "Prefetch"; + /** We know that this hole is caused by dynamic data. */ DynamicHoleKind[DynamicHoleKind["Dynamic"] = 5] = "Dynamic"; + /** We know that this hole is caused by runtime or dynamic data, but don't know which. */ DynamicHoleKind[DynamicHoleKind["RuntimeOrDynamic"] = 6] = "RuntimeOrDynamic"; + return DynamicHoleKind; +}({}); +function createInstantValidationState(slotStacks) { + return { + hasDynamicMetadata: false, + hasAllowedClientDynamicAboveBoundary: false, + dynamicMetadata: null, + hasDynamicViewport: false, + hasAllowedDynamic: false, + dynamicErrors: [], + validationPreventingErrors: [], + thrownErrorsOutsideBoundary: [], + slotStacks + }; +} +function trackDynamicHoleInNavigation(dynamicReason, workStore, componentStack, dynamicValidation, clientDynamic, kind, boundaryState) { + const syncDynamicError = getPendingClientSyncDynamicError(clientDynamic); + if (hasOutletRegex.test(componentStack)) { + // We don't need to track that this is dynamic. It is only so when something else is also dynamic. + return; + } + // Resolve the config stack for this specific error. If the error + // is inside a slot marker, use that slot's config. Otherwise fall + // back to the default. + const effectiveCreateInstantStack = resolveInstantStack(componentStack, dynamicValidation); + if (hasMetadataRegex.test(componentStack)) { + const error = addErrorContext(createMetadataError(kind, workStore.route), componentStack, effectiveCreateInstantStack); + dynamicValidation.dynamicMetadata = error; + return; + } + if (hasViewportRegex.test(componentStack)) { + const error = addErrorContext(createViewportError(kind, workStore.route), componentStack, effectiveCreateInstantStack); + dynamicValidation.dynamicErrors.push(error); + return; + } + const boundaryLocation = hasInstantValidationBoundaryRegex.exec(componentStack); + if (!boundaryLocation) { + // We don't see the validation boundary in the component stack, + // so this hole must be coming from a shared parent. + // Shared parents are fully resolved and don't have RSC holes, + // but they can still suspend in a client component during SSR. + // If we managed to render all the validation boundaries, that means + // that the client holes aren't blocking validation and we can disregard them. + // Note that we don't even care whether they have suspense or not. + if ((0, _boundarytracking.allRequiredBoundariesRendered)(boundaryState)) { + dynamicValidation.hasAllowedClientDynamicAboveBoundary = true; + dynamicValidation.hasAllowedDynamic = true // Holes outside the boundary contribute to allowing dynamic metadata + ; + return; + } else { + // TODO(instant-validation) TODO(NAR-787) + // If shared parents blocked us from validating, we should only log + // the errors from the innermost (segments), i.e. omit layouts whose + // slots managed to render (because clearly they didn't block validation) + const message = `Route "${workStore.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`; + const error = addErrorContext(new Error(message), componentStack, effectiveCreateInstantStack); + dynamicValidation.validationPreventingErrors.push(error); + return; + } + } else { + // The hole originates inside the validation boundary. + // + // Check if we have a Suspense above the hole, but below the validation boundary. + // If we do, then this dynamic usage wouldn't block a navigation to this subtree. + // Conversely, if the nearest suspense is above the validation boundary, then this subtree would block. + // + // Note that in the component stack, children come before parents. + // + // Valid: + // ... + // at Suspense + // ... + // at __next_prefetch_validation_boundary__ + // + // Invalid: + // ... + // at __next_prefetch_validation_boundary__ + // ... + // at Suspense + // + const suspenseLocation = hasSuspenseRegex.exec(componentStack); + if (suspenseLocation) { + if (suspenseLocation.index < boundaryLocation.index) { + dynamicValidation.hasAllowedDynamic = true; + return; + } else { + // invalid - fallthrough + } + } + } + if (syncDynamicError) { + if (effectiveCreateInstantStack !== null && syncDynamicError.cause === undefined) { + syncDynamicError.cause = effectiveCreateInstantStack(); + } + dynamicValidation.dynamicErrors.push(syncDynamicError); + return; + } + if ((0, _dynamicrenderingutils.isClientHookDynamicError)(dynamicReason)) { + dynamicValidation.dynamicErrors.push(addErrorContext(dynamicReason, componentStack, effectiveCreateInstantStack)); + return; + } + const error = addErrorContext(createBodyErrorInNavigation(kind, workStore.route), componentStack, effectiveCreateInstantStack); + dynamicValidation.dynamicErrors.push(error); + return; +} +function createBodyError(kind, route) { + switch(kind){ + case 1: + return (0, _blockingroutemessages.createRuntimeBodyError)(route); + case 5: + return (0, _blockingroutemessages.createDynamicBodyError)(route); + case 6: + return (0, _blockingroutemessages.createDynamicOrRuntimeBodyError)(route); + } +} +function createBodyErrorInNavigation(kind, route) { + switch(kind){ + case 1: + return (0, _blockingroutemessages.createRuntimeBodyErrorInNavigation)(route); + case 2: + return (0, _blockingroutemessages.createLinkBodyErrorInNavigation)(route); + case 3: + return (0, _blockingroutemessages.createNavigationBodyErrorInNavigation)(route); + case 4: + return (0, _blockingroutemessages.createPrefetchBodyErrorInNavigation)(route); + case 5: + return (0, _blockingroutemessages.createDynamicBodyErrorInNavigation)(route); + } +} +function createMetadataError(kind, route) { + switch(kind){ + case 1: + return (0, _blockingroutemessages.createRuntimeMetadataError)(route); + case 2: + return (0, _blockingroutemessages.createLinkMetadataError)(route); + case 3: + return (0, _blockingroutemessages.createNavigationMetadataError)(route); + case 4: + return (0, _blockingroutemessages.createPrefetchMetadataError)(route); + case 5: + return (0, _blockingroutemessages.createDynamicMetadataError)(route); + case 6: + return (0, _blockingroutemessages.createDynamicOrRuntimeMetadataError)(route); + } +} +function createViewportError(kind, route) { + switch(kind){ + case 1: + return (0, _blockingroutemessages.createRuntimeViewportError)(route); + case 2: + return (0, _blockingroutemessages.createLinkViewportError)(route); + case 3: + return (0, _blockingroutemessages.createNavigationViewportError)(route); + case 4: + return (0, _blockingroutemessages.createPrefetchViewportError)(route); + case 5: + return (0, _blockingroutemessages.createDynamicViewportError)(route); + case 6: + return (0, _blockingroutemessages.createDynamicOrRuntimeViewportError)(route); + } +} +function createBodyErrorInStaticRoute(kind, route) { + switch(kind){ + case 1: + return (0, _blockingroutemessages.createRuntimeBodyErrorInStaticRoute)(route); + case 5: + return (0, _blockingroutemessages.createDynamicBodyErrorInStaticRoute)(route); + case 6: + return (0, _blockingroutemessages.createNonPrerenderableBodyErrorInStaticRoute)(route); + } +} +function createMetadataErrorInStaticRoute(kind, route) { + switch(kind){ + case 1: + return (0, _blockingroutemessages.createRuntimeMetadataErrorInStaticRoute)(route); + case 5: + return (0, _blockingroutemessages.createDynamicMetadataErrorInStaticRoute)(route); + case 6: + return (0, _blockingroutemessages.createNonPrerenderableMetadataErrorInStaticRoute)(route); + } +} +function createViewportErrorInStaticRoute(kind, route) { + switch(kind){ + case 1: + return (0, _blockingroutemessages.createRuntimeViewportErrorInStaticRoute)(route); + case 5: + return (0, _blockingroutemessages.createDynamicViewportErrorInStaticRoute)(route); + case 6: + return (0, _blockingroutemessages.createNonPrerenderableViewportErrorInStaticRoute)(route); + } +} +function trackThrownErrorInNavigation(workStore, dynamicValidation, thrownValue, componentStack, reactBrowserBailout) { + const boundaryLocation = hasInstantValidationBoundaryRegex.exec(componentStack); + if (!boundaryLocation) { + // There's no validation boundary on the component stack. + // This error may have blocked a boundary from rendering. + // Wrap the error to provide component context. + // This helps for errors from node_modules which would otherwise + // have no useful stack information due to ignore-listing, + // e.g. next/dynamic with `ssr: false`. + if (reactBrowserBailout) { + // React preserves Next's branded bailout reason as the error cause. + // Replace the internal wrapper before storing the user-facing diagnostic. + const browserBailoutReason = (0, _reactbrowserbailout.getReactBrowserBailoutReason)(thrownValue); + if (browserBailoutReason !== undefined) { + const browserBailoutError = thrownValue; + browserBailoutError.cause = browserBailoutReason; + } + } + const error = addErrorContext(new Error('An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.', { + cause: thrownValue + }), componentStack, null); + dynamicValidation.thrownErrorsOutsideBoundary.push(error); + } else { + // There's validation boundary on the component stack, + // so we know this error didn't block a validation boundary from rendering. + // However, this error might be hiding be hiding dynamic content that would + // cause validation to fail. + const suspenseLocation = hasSuspenseRegex.exec(componentStack); + if (suspenseLocation) { + if (suspenseLocation.index < boundaryLocation.index) { + // There's a Suspense below the validation boundary but above this error's location. + // This subtree can't fail instant validation because any potential + // dynamic holes would be guarded by the Suspense anyway, + // so we can allow this. + return; + } else { + // invalid - fallthrough + } + } + if (reactBrowserBailout) { + // React preserves Next's branded bailout reason as the error cause. + // Replace the internal wrapper before storing the user-facing diagnostic. + const browserBailoutReason = (0, _reactbrowserbailout.getReactBrowserBailoutReason)(thrownValue); + if (browserBailoutReason !== undefined) { + const browserBailoutError = thrownValue; + browserBailoutError.cause = browserBailoutReason; + } + } + const message = `Route "${workStore.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`; + const error = addErrorContext(new Error(message, { + cause: thrownValue + }), componentStack, null // TODO(instant-validation-build): conflicting use of cause + ); + dynamicValidation.validationPreventingErrors.push(error); + } +} +function trackDynamicHoleInStaticShell(dynamicReason, workStore, componentStack, dynamicValidation, clientDynamic, kind) { + const syncDynamicError = getPendingClientSyncDynamicError(clientDynamic); + if (hasOutletRegex.test(componentStack)) { + trackOutletSuspenseAboveBody(componentStack, dynamicValidation); + return; + } else if (hasMetadataRegex.test(componentStack)) { + const error = addErrorContext(createMetadataError(kind, workStore.route), componentStack, null); + dynamicValidation.dynamicMetadata = error; + return; + } else if (hasViewportRegex.test(componentStack)) { + const error = addErrorContext(createViewportError(kind, workStore.route), componentStack, null); + dynamicValidation.dynamicErrors.push(error); + return; + } else if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) { + // For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule. + // But if you have Suspense above body, the prelude is empty but we allow that because having Suspense + // is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering. + dynamicValidation.hasAllowedDynamic = true; + dynamicValidation.hasSuspenseAboveBody = true; + return; + } else if (hasSuspenseRegex.test(componentStack)) { + // this error had a Suspense boundary above it so we don't need to report it as a source + // of disallowed + dynamicValidation.hasAllowedDynamic = true; + return; + } else if (syncDynamicError) { + dynamicValidation.dynamicErrors.push(syncDynamicError); + return; + } + if ((0, _dynamicrenderingutils.isClientHookDynamicError)(dynamicReason)) { + dynamicValidation.dynamicErrors.push(addErrorContext(dynamicReason, componentStack, null)); + return; + } + const error = addErrorContext(kind === 1 ? (0, _blockingroutemessages.createRuntimeBodyError)(workStore.route) : (0, _blockingroutemessages.createDynamicBodyError)(workStore.route), componentStack, null); + dynamicValidation.dynamicErrors.push(error); + return; +} +/** + * In dev mode, we prefer using the owner stack, otherwise the provided + * component stack is used. + */ function addErrorContext(error, componentStack, createInstantStack) { + const ownerStack = ("TURBOPACK compile-time value", "development") !== 'production' && _react.default.captureOwnerStack ? _react.default.captureOwnerStack() : null; + if (createInstantStack !== null) { + error.cause = createInstantStack(); + } + // TODO go back to owner stack here if available. This is temporarily using componentStack to get the right + // + error.stack = error.name + ': ' + error.message + (ownerStack || componentStack); + return error; +} +var PreludeState = /*#__PURE__*/ function(PreludeState) { + PreludeState[PreludeState["Full"] = 0] = "Full"; + PreludeState[PreludeState["Empty"] = 1] = "Empty"; + PreludeState[PreludeState["Errored"] = 2] = "Errored"; + return PreludeState; +}({}); +function logDisallowedDynamicError(workStore, error) { + console.error(error); + (0, _blockingroutemessages.logBuildDebugHint)(workStore.route); +} +function throwIfSyncIOUsed(workStore, serverDynamic) { + if (serverDynamic.syncDynamicErrorWithStack) { + logDisallowedDynamicError(workStore, serverDynamic.syncDynamicErrorWithStack); + throw new _staticgenerationbailout.StaticGenBailoutError(); + } +} +function throwIfDisallowedDynamic(workStore, prelude, dynamicValidation, serverDynamic, allowEmptyStaticShell) { + const dynamicHoleKind = 6; + throwIfSyncIOUsed(workStore, serverDynamic); + // The dynamic metadata error is a mistake-detection signal. It fires when the + // rest of the shell is otherwise fully static apart from metadata, suggesting + // the dynamic data access in `generateMetadata` was probably unintentional. + // That condition is independent of whether the user or build phase accepted + // an empty shell, so we surface it before any opt-in bypass. + if (prelude === 0 && dynamicValidation.hasAllowedDynamic === false && dynamicValidation.hasDynamicMetadata) { + console.error(createMetadataError(dynamicHoleKind, workStore.route).message); + throw new _staticgenerationbailout.StaticGenBailoutError(); + } + // Either flag expresses "this shell is allowed to be empty/blocking": + // - `allowEmptyStaticShell` covers `instant = false` (user opt-in) + // and the build-phase fallback-shell case. + // - `hasSuspenseAboveBody` is the structural opt-in inside the user's root + // layout. + // Treat them as synonyms for the purpose of bypassing shell-failure errors. + if (allowEmptyStaticShell || dynamicValidation.hasSuspenseAboveBody) { + return; + } + if (prelude !== 0) { + // We didn't have any sync bailouts but there may be user code which + // blocked the root. We would have captured these during the prerender + // and can log them here and then terminate the build/validating render + const dynamicErrors = dynamicValidation.dynamicErrors; + if (dynamicErrors.length > 0) { + for(let i = 0; i < dynamicErrors.length; i++){ + logDisallowedDynamicError(workStore, dynamicErrors[i]); + } + throw new _staticgenerationbailout.StaticGenBailoutError(); + } + // If we got this far then the only other thing that could be blocking + // the root is dynamic Viewport. If this is dynamic then + // you need to opt into that by adding a Suspense boundary above the body + // to indicate your are ok with fully dynamic rendering. + if (dynamicValidation.hasDynamicViewport) { + console.error(createViewportError(dynamicHoleKind, workStore.route).message); + throw new _staticgenerationbailout.StaticGenBailoutError(); + } + if (prelude === 1) { + // If we ever get this far then we messed up the tracking of invalid dynamic. + // We still adhere to the constraint that you must produce a shell but invite the + // user to report this as a bug in Next.js. + console.error(`Route "${workStore.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`); + throw new _staticgenerationbailout.StaticGenBailoutError(); + } + } +} +function throwIfDisallowedDynamicInStaticRoute(workStore, prelude, dynamicValidation, serverDynamic, isFallbackShell, allowEmptyStaticShell, isServerPartial) { + const reasons = getDisallowedReasonsInStaticRoute(workStore, prelude, dynamicValidation, serverDynamic, isFallbackShell, allowEmptyStaticShell, isServerPartial); + if (reasons.length > 0) { + for (const reason of reasons){ + logDisallowedDynamicError(workStore, reason); + } + throw new _staticgenerationbailout.StaticGenBailoutError(); + } +} +function getDisallowedReasonsInStaticRoute(workStore, prelude, dynamicValidation, serverDynamic, isFallbackShell, allowEmptyStaticShell, isServerPartial) { + if (serverDynamic && serverDynamic.syncDynamicErrorWithStack) { + return [ + serverDynamic.syncDynamicErrorWithStack + ]; + } + // We do a fallback shell prerender, but it's not meant to be validated -- + // we just need it to create the relevant prerender outputs. + if (isFallbackShell) { + return []; + } + // Suspense-above-body and `instant = false` bypass reporting + // that the shell is blocked. However, if we have non-prerenderable server + // data, we still have to error, regardless of those two. + if (!isServerPartial && (allowEmptyStaticShell || dynamicValidation.hasSuspenseAboveBody)) { + return []; + } + const { dynamicErrors } = dynamicValidation; + if (dynamicErrors.length > 0) { + return dynamicErrors; + } + // Dynamic data may have been passed into a client component without calling `use()`, + // in which case we wouldn't see it during the prerender, but still need to error. + // Fall back to a generic error message. + if (isServerPartial) { + return [ + new Error(`Route "${workStore.route}": Next.js encountered data that is not available during a static prerender, but is unable to provide a location.`) + ]; + } + if (prelude === 1 || prelude === 2) { + // We've somehow ended up with an empty prelude but no dynamic errors. + // We must've messed up the tracking somehow. + return [ + new _invarianterror.InvariantError(`Route "${workStore.route}" did not produce a static shell and Next.js was unable to determine a reason.`) + ]; + } + return []; +} +function getStaticShellDisallowedDynamicReasons(workStore, prelude, dynamicValidation, allowEmptyStaticShell) { + // The dynamic metadata error is a mistake-detection signal. It fires when the + // rest of the shell is otherwise fully static apart from metadata, suggesting + // the dynamic data access in `generateMetadata` was probably unintentional. + // That condition is independent of whether the user or build phase accepted + // an empty shell, so we surface it before any opt-in bypass. + if (prelude === 0 && dynamicValidation.hasAllowedDynamic === false && dynamicValidation.dynamicErrors.length === 0 && dynamicValidation.dynamicMetadata) { + return [ + dynamicValidation.dynamicMetadata + ]; + } + // Either flag expresses "this shell is allowed to be empty/blocking": + // - `allowEmptyStaticShell` covers `instant = false` (user opt-in) + // and the build-phase fallback-shell case. + // - `hasSuspenseAboveBody` is the structural opt-in inside the user's root + // layout. + // Treat them as synonyms for the purpose of bypassing shell-failure errors. + if (allowEmptyStaticShell || dynamicValidation.hasSuspenseAboveBody) { + return []; + } + if (prelude !== 0) { + // We didn't have any sync bailouts but there may be user code which + // blocked the root. We would have captured these during the prerender + // and can log them here and then terminate the build/validating render + const dynamicErrors = dynamicValidation.dynamicErrors; + if (dynamicErrors.length > 0) { + return dynamicErrors; + } + if (prelude === 1) { + // If we ever get this far then we messed up the tracking of invalid dynamic. + // We still adhere to the constraint that you must produce a shell but invite the + // user to report this as a bug in Next.js. + return [ + new _invarianterror.InvariantError(`Route "${workStore.route}" did not produce a static shell and Next.js was unable to determine a reason.`) + ]; + } + } + // We had a non-empty prelude and there are no dynamic holes + return []; +} +function getNavigationDisallowedDynamicReasons(workStore, prelude, dynamicValidation, validationSampleTracking, boundaryState, devRenderDidError) { + // If we have errors related to missing samples, those should take precedence over everything else. + if (validationSampleTracking) { + const { missingSampleErrors } = validationSampleTracking; + if (missingSampleErrors.length > 0) { + return missingSampleErrors; + } + } + const { validationPreventingErrors } = dynamicValidation; + if (validationPreventingErrors.length > 0) { + if (("TURBOPACK compile-time value", "1") && devRenderDidError) { + // The dev render already surfaced server errors to the user. + // The same errors likely caused validation to be inconclusive, + // so reporting them again as validation failures would be noisy. + return []; + } + return validationPreventingErrors; + } + // NOTE: We don't care about Suspense above body here, + // we're only concerned with the validation boundary + if (prelude !== 0) { + const dynamicErrors = dynamicValidation.dynamicErrors; + if (dynamicErrors.length > 0) { + return dynamicErrors; + } + if (prelude === 1 && !dynamicValidation.hasAllowedClientDynamicAboveBoundary && (0, _boundarytracking.allRequiredBoundariesRendered)(boundaryState)) { + // If we ever get this far then we messed up the tracking of invalid + // dynamic. (When boundaries are missing the deferred fallback below + // will surface a more useful error.) + return new _invarianterror.InvariantError(`Route "${workStore.route}" failed to render during instant validation and Next.js was unable to determine a reason.`); + } + } else { + const dynamicErrors = dynamicValidation.dynamicErrors; + if (dynamicErrors.length > 0) { + return dynamicErrors; + } + if (dynamicValidation.hasAllowedDynamic === false && dynamicValidation.dynamicMetadata) { + return [ + dynamicValidation.dynamicMetadata + ]; + } + } + // Missing boundaries on their own aren't a strong signal — a parent + // layout may legitimately omit a slot. Defer this so the caller can + // try shallower validation depths first; if every depth comes up + // empty we still want to surface this so the user is made aware that + // validation didn't complete. When we add a markers API, the + // marker-based variant of this check can become strict again. + if (!(0, _boundarytracking.allRequiredBoundariesRendered)(boundaryState)) { + const { thrownErrorsOutsideBoundary } = dynamicValidation; + const rootInstantStack = dynamicValidation.slotStacks[0]; + if (thrownErrorsOutsideBoundary.length === 0) { + const missingFiles = []; + for (const [id, filePaths] of boundaryState.requiredIds){ + if (!boundaryState.renderedIds.has(id)) { + for (const filePath of filePaths){ + let normalized = filePath.replace(/^\[project\][\\/]?/, '').replace(process.cwd() + '/', '').replace(process.cwd() + '\\', ''); + missingFiles.push(normalized); + } + } + } + missingFiles.sort(); + return (0, _instantmessages.createUnrenderedSegmentError)(workStore.route, missingFiles); + } else if (("TURBOPACK compile-time value", "1") && devRenderDidError) { + // Errors outside the boundary likely blocked it from rendering, + // but they're already being reported to the user via the dev + // render. Suppress the validation failure to avoid noise. + return []; + } else if (thrownErrorsOutsideBoundary.length === 1) { + const message = `Route "${workStore.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`; + const error = rootInstantStack !== null ? rootInstantStack() : new Error(); + error.name = 'Error'; + error.message = message; + return new AggregateError([ + error, + thrownErrorsOutsideBoundary[0] + ]); + } else { + const message = `Route "${workStore.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`; + const error = rootInstantStack !== null ? rootInstantStack() : new Error(); + error.name = 'Error'; + error.message = message; + return new AggregateError([ + error, + ...thrownErrorsOutsideBoundary + ]); + } + } + // We had a non-empty prelude and there are no dynamic holes + return []; +} +}), +"[project]/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + INSTANT_SLOT_MARKER_PREFIX: null, + INSTANT_SLOT_MARKER_SUFFIX: null, + INSTANT_VALIDATION_BOUNDARY_NAME: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + INSTANT_SLOT_MARKER_PREFIX: function() { + return INSTANT_SLOT_MARKER_PREFIX; + }, + INSTANT_SLOT_MARKER_SUFFIX: function() { + return INSTANT_SLOT_MARKER_SUFFIX; + }, + INSTANT_VALIDATION_BOUNDARY_NAME: function() { + return INSTANT_VALIDATION_BOUNDARY_NAME; + } +}); +const INSTANT_VALIDATION_BOUNDARY_NAME = '__next_instant_validation_boundary__'; +const INSTANT_SLOT_MARKER_PREFIX = '__next_instant_slot_'; +const INSTANT_SLOT_MARKER_SUFFIX = '__'; +}), +"[project]/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + allRequiredBoundariesRendered: null, + createValidationBoundaryTracking: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + allRequiredBoundariesRendered: function() { + return allRequiredBoundariesRendered; + }, + createValidationBoundaryTracking: function() { + return createValidationBoundaryTracking; + } +}); +function createValidationBoundaryTracking(/** Pass if the render is expected to render the same IDs as a previous one. */ matchPrevious) { + return { + requiredIds: matchPrevious ? new Map(matchPrevious.requiredIds) : new Map(), + renderedIds: new Set() + }; +} +function allRequiredBoundariesRendered(state) { + for (const id of state.requiredIds.keys()){ + if (!state.renderedIds.has(id)) { + return false; + } + } + return true; +} +}), +"[project]/node_modules/next/dist/server/app-render/segment-config/ensure-static.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + EnsureStaticLevel: null, + resolveEnsureStaticConfig: null, + resolveEnsureStaticLevel: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + EnsureStaticLevel: function() { + return EnsureStaticLevel; + }, + resolveEnsureStaticConfig: function() { + return resolveEnsureStaticConfig; + }, + resolveEnsureStaticLevel: function() { + return resolveEnsureStaticLevel; + } +}); +const _parseloadertree = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js [middleware] (ecmascript)"); +const _appdirmodule = __turbopack_context__.r("[project]/node_modules/next/dist/server/lib/app-dir-module.js [middleware] (ecmascript)"); +var EnsureStaticLevel = /*#__PURE__*/ function(EnsureStaticLevel) { + /** The route follows standard Partial Prefetching semantics. */ EnsureStaticLevel[EnsureStaticLevel["None"] = 0] = "None"; + /** The route requires that app shells must be statically prerendered. */ EnsureStaticLevel[EnsureStaticLevel["Shell"] = 1] = "Shell"; + /** The route requires that app shells and prefetches must be statically prerendered. */ EnsureStaticLevel[EnsureStaticLevel["Prefetch"] = 2] = "Prefetch"; + /** The route requires that app shells, prefetches, and the whole page must be statically prerendered. */ EnsureStaticLevel[EnsureStaticLevel["Navigation"] = 3] = "Navigation"; + return EnsureStaticLevel; +}({}); +function getEnsureStaticLevel(ensureStatic) { + switch(ensureStatic){ + case 'auto': + case false: + { + return 0; + } + case 'shell': + { + return 1; + } + case 'prefetch': + { + return 2; + } + case 'navigation': + { + return 3; + } + } +} +async function resolveEnsureStaticLevel(tree, partialPrefetching) { + return getEnsureStaticLevel(await resolveEnsureStaticConfig(tree, partialPrefetching)); +} +async function resolveEnsureStaticConfig(tree, partialPrefetching) { + let { config, filePath } = await resolveEnsureStaticConfigImpl(tree); + if (!partialPrefetching) { + // If Partial Prefetching is not enabled for this route, we only support + // a subset of `ensureStatic` values. + // (We error in `getAppPageStaticInfo` if `ensureStatic` is used without enabling + // Cache Components, so we don't have to assert that here) + switch(config){ + case 'auto': + { + // Default to the equivalent of Cache Components prefetching behavior. + config = 'prefetch'; + break; + } + case false: + case 'shell': + { + // Not meaningful in Cache Components without Partial Prefetching + const originalConfig = config; + config = 'prefetch'; + console.warn(`${formatEnsureStaticExport(originalConfig)} has no effect unless the route is using Partial Prefetching.` + `\n (from: ${filePath})`); + break; + } + case 'prefetch': + break; + case 'navigation': + break; + default: + config; + } + } + if (config === false) { + // `false` and "auto" are equivalent once resolved. + return 'auto'; + } else { + return config; + } +} +async function resolveEnsureStaticConfigImpl(tree) { + const { mod: layoutOrPageMod, filePath } = await (0, _appdirmodule.getLayoutOrPageModule)(tree); + const config = getEnsureStaticConfigForModule(layoutOrPageMod); + const parentResult = { + config, + filePath: filePath ?? null + }; + // Walk the slots if any and validate that they don't have incompatible configs + // with each other. If compatible, pick the most constrained value from the slots. + let slotsResult = null; + let slotResultKey = null; + const { parallelRoutes } = (0, _parseloadertree.parseLoaderTree)(tree); + for(const parallelRouteKey in parallelRoutes){ + const parallelRoute = parallelRoutes[parallelRouteKey]; + const childResult = await resolveEnsureStaticConfigImpl(parallelRoute); + if (!slotsResult) { + slotsResult = childResult; + slotResultKey = parallelRouteKey; + } else { + // Check if the child is compatible with the current result for the slots. + switch(compareEnsureStatic(childResult.config, slotsResult.config)){ + case 2: + { + // 'auto' is compatible with anything, but if the current result is 'auto' and the new one isn't, + // we want to use the more specific result. + if (slotsResult.config === 'auto' && childResult.config !== 'auto') { + slotsResult = childResult; + slotResultKey = parallelRouteKey; + } + break; + } + case 4: + case 1: + case 3: + { + throw new Error(`Parallel slots cannot have incompatible \`ensureStatic\`.` + `\n ${formatParallelSlot(slotResultKey)}: ` + `\n ${formatEnsureStaticExport(slotsResult.config)}` + `\n (from: ${slotsResult.filePath})` + `\n` + `\n ${formatParallelSlot(parallelRouteKey)}: ` + `\n ${formatEnsureStaticExport(childResult.config)}` + `\n (from: ${childResult.filePath})` + `\n` + `\n Possible fixes:` + `\n - Remove one of the \`ensureStatic\` exports` + `\n - Change one of the \`ensureStatic\` exports to match the other`); + } + } + } + } + // Child segments can override the config from the parent with a more constrained value, + // but they cannot have a less constrained value. + if (!slotsResult) { + return parentResult; + } else { + const comparison = compareEnsureStatic(slotsResult.config, parentResult.config); + switch(comparison){ + case 2: + { + // 'auto' is compatible with anything, but if the parent result is 'auto' and the slots one isn't, + // we want to use the more constrained result. + if (parentResult.config === 'auto' && slotsResult.config !== 'auto') { + return slotsResult; + } else { + return parentResult; + } + } + case 3: + { + return slotsResult; + } + case 1: + case 4: + { + throw new Error((comparison === 1 ? `A child segment cannot override a parent segment with a less-constrained \`ensureStatic\`.` : `A child segment cannot override a parent segment with an incompatible \`ensureStatic\`.`) + `\n Parent has: ` + `\n ${formatEnsureStaticExport(parentResult.config)}` + `\n (from: ${parentResult.filePath})` + `\n Child has: ` + `\n ${formatEnsureStaticExport(slotsResult.config)}` + `\n (from: ${slotsResult.filePath})` + `\n` + `\n Possible fixes:` + `\n - Remove one of the \`ensureStatic\` exports` + `\n - Change one of the \`ensureStatic\` exports to match the other`); + } + } + } +} +function formatParallelSlot(slot) { + return slot === 'children' ? slot : `@${slot}`; +} +function formatEnsureStaticExport(config) { + return `export const ensureStatic = ${JSON.stringify(config)}`; +} +var Comparison = /*#__PURE__*/ function(Comparison) { + Comparison[Comparison["LessConstrained"] = 1] = "LessConstrained"; + Comparison[Comparison["Compatible"] = 2] = "Compatible"; + Comparison[Comparison["MoreConstrained"] = 3] = "MoreConstrained"; + Comparison[Comparison["Incompatible"] = 4] = "Incompatible"; + return Comparison; +}(Comparison || {}); +const ENSURE_STATIC_ORDER = [ + 'shell', + 'prefetch', + 'navigation' +]; +function compareEnsureStatic(left, right) { + // 'auto' is compatible with everything. + if (left === 'auto' || right === 'auto') { + return 2; + } + // `false` is compatible with false. + if (left === false && right === false) { + return 2; + } + // If only one of the values is `false` (we know it's not both), it's incompatible. + if (left === false || right === false) { + return 4; + } + const leftSort = ENSURE_STATIC_ORDER.indexOf(left); + const rightSort = ENSURE_STATIC_ORDER.indexOf(right); + return leftSort < rightSort ? 1 : leftSort === rightSort ? 2 : 3; +} +function getEnsureStaticConfigForModule(mod) { + return (mod ? mod.ensureStatic : undefined) ?? 'auto'; +} +}), +"[project]/node_modules/next/dist/server/app-render/staged-rendering.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + RENDER_STAGE_ADVANCE_ORDER: null, + RenderStage: null, + StagedRenderingController: null, + SyncIOMode: null, + getNextStage: null, + isAdvanceableRenderStage: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + RENDER_STAGE_ADVANCE_ORDER: function() { + return RENDER_STAGE_ADVANCE_ORDER; + }, + RenderStage: function() { + return RenderStage; + }, + StagedRenderingController: function() { + return StagedRenderingController; + }, + SyncIOMode: function() { + return SyncIOMode; + }, + getNextStage: function() { + return getNextStage; + }, + isAdvanceableRenderStage: function() { + return isAdvanceableRenderStage; + } +}); +const _invarianterror = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/invariant-error.js [middleware] (ecmascript)"); +const _promisewithresolvers = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/promise-with-resolvers.js [middleware] (ecmascript)"); +var RenderStage = /*#__PURE__*/ function(RenderStage) { + RenderStage[RenderStage["Before"] = 1] = "Before"; + // + RenderStage[RenderStage["ShellStatic"] = 10] = "ShellStatic"; + /** Discrimination-only stage: `prefetch()` in validation renders (static) */ RenderStage[RenderStage["PrefetchStatic_prefetchApi"] = 11] = "PrefetchStatic_prefetchApi"; + RenderStage[RenderStage["PrefetchStatic"] = 12] = "PrefetchStatic"; + RenderStage[RenderStage["NavigationStatic"] = 13] = "NavigationStatic"; + RenderStage[RenderStage["Static"] = 14] = "Static"; + // + RenderStage[RenderStage["ShellRuntime"] = 20] = "ShellRuntime"; + /** Discrimination-only stage: `prefetch()` in validation renders (runtime) */ RenderStage[RenderStage["PrefetchRuntime_prefetchApi"] = 21] = "PrefetchRuntime_prefetchApi"; + RenderStage[RenderStage["PrefetchRuntime"] = 22] = "PrefetchRuntime"; + RenderStage[RenderStage["NavigationRuntime"] = 23] = "NavigationRuntime"; + // + RenderStage[RenderStage["Dynamic"] = 30] = "Dynamic"; + RenderStage[RenderStage["Abandoned"] = 40] = "Abandoned"; + return RenderStage; +}({}); +const RENDER_STAGE_ADVANCE_ORDER = [ + 10, + 11, + 12, + 13, + 14, + 20, + 21, + 22, + 23, + 30 +]; +function getNextStage(stage) { + return RENDER_STAGE_ADVANCE_ORDER[RENDER_STAGE_ADVANCE_ORDER.indexOf(stage) + 1]; +} +function isAdvanceableRenderStage(stage) { + return 1 < stage && stage <= 30; +} +var SyncIOMode = /*#__PURE__*/ function(SyncIOMode) { + /** Sync IO does not error in any stage. */ SyncIOMode[SyncIOMode["Untracked"] = 1] = "Untracked"; + /** Before `partialPrefetching`: Sync IO errors in static stages, and is allowed otherwise. */ SyncIOMode[SyncIOMode["AllowedInRuntimeOrDynamic"] = 2] = "AllowedInRuntimeOrDynamic"; + /** After `partialPrefetching`: Sync IO errors in all stages other than dynamic. */ SyncIOMode[SyncIOMode["AllowedInDynamic"] = 3] = "AllowedInDynamic"; + return SyncIOMode; +}({}); +class StagedRenderingController { + constructor({ abortSignal, abandonController, syncIO, finalStage }){ + this.currentStage = 1; + this.syncInterruptReason = null; + this.triggers = createAdvanceableStageTriggers(); + this.abortSignal = abortSignal; + this.abandonController = abandonController; + this.syncIOMode = syncIO; + this.finalStage = finalStage; + if (abortSignal) { + abortSignal.addEventListener('abort', ()=>{ + // Reject all stage promises that haven't already been resolved. + // `cancelStageTrigger` is a noop if the trigger already resolved. + const { reason } = abortSignal; + for (const trigger of Object.values(this.triggers)){ + cancelStageTrigger(trigger, reason); + } + }, { + once: true + }); + } + if (abandonController) { + abandonController.signal.addEventListener('abort', ()=>{ + this.abandonRender(); + }, { + once: true + }); + } + } + /** + * Schedules a callback that will execute synchronously when the controller is advanced + * to `stage` or past it, before any promises for that stage are resolved. + * If the controller is already past `stage`, the callback is executed immediately. + * */ onStage(stage, callback) { + addSyncTriggerListener(this.triggers[stage], callback); + } + shouldTrackSyncInterrupt() { + const { syncIOMode, currentStage } = this; + switch(syncIOMode){ + case 1: + { + return false; + } + case 2: + { + // Legacy: track Sync IO only in static stages. + // Do not track it before the render, or in runtime/dynamic stages. + return currentStage > 1 && currentStage <= 14; + } + case 3: + { + // Track sync IO in all cacheable stages. + // This means all stages except: + // - before the render + // - in the dynamic stage + return currentStage > 1 && currentStage < 30; + } + } + } + /** Note: only call this if `shouldTrackSyncInterrupt()` returned true */ syncInterruptCurrentStageWithReason(reason) { + const { currentStage } = this; + if (currentStage === 1 || currentStage === 30 || currentStage === 40) { + // Not interruptible. Defensive noop. + return; + } + // If Sync IO occurs during an abandonable render, we trigger the abandon. + // The abandon listener will call abandonRender which advances through + // stages to let caches fill before marking as Abandoned. + if (this.abandonController) { + this.abandonController.abort(); + return; + } + if (this.abortSignal) { + // If this is an abortable render, we capture the interruption reason and stop advancing. + // We don't release any more promises. + // The caller is expected to abort the signal. + this.syncInterruptReason = reason; + this.currentStage = 40; + return; + } + // If we're in a non-abandonable & non-abortable render, + // we need to advance to the Dynamic stage and capture the interruption reason. + // (in dev, this will be the restarted render) + this.syncInterruptReason = reason; + this.advanceStage(30); + } + getSyncInterruptReason() { + return this.syncInterruptReason; + } + getStageEndTime(stage) { + return this.triggers[getNextStage(stage)].triggeredAt ?? Infinity; + } + abandonRender() { + // In staged rendering, only the initial render is abandonable. + // We can abandon the initial render if + // 1. We notice a cache miss, and need to wait for caches to fill + // 2. A sync IO error occurs, and the render should be interrupted + // (this might be a lazy intitialization of a module, + // so we still want to restart in this case and see if it still occurs) + // In either case, we'll be doing another render after this one, + // so we only want to unblock the next stage, not Dynamic, because + // unblocking the dynamic stage would likely lead to wasted (uncached) IO. + const { currentStage } = this; + if (currentStage === 1) { + throw new _invarianterror.InvariantError("A render that hasn't started yet cannot be abandoned"); + } + if (currentStage === 30 || currentStage === 40) { + // We shouldn't ever trigger an abandon in these. Defensive noop. + return; + } + // Resolve all stages after the current one, up to runtime (excluding dynamic) + const nextStageIx = RENDER_STAGE_ADVANCE_ORDER.indexOf(currentStage) + 1; + const dynamicStageIx = RENDER_STAGE_ADVANCE_ORDER.indexOf(30); + for(let i = nextStageIx; i < dynamicStageIx; i++){ + this.resolveStage(RENDER_STAGE_ADVANCE_ORDER[i]); + } + this.currentStage = 40; + } + advanceStage(targetStage) { + if (this.finalStage !== null && targetStage > this.finalStage) { + throw new _invarianterror.InvariantError(`Attempted to advance to stage ${RenderStage[targetStage]} but the render is limited to ${RenderStage[this.finalStage]}`); + } + const { currentStage } = this; + if (currentStage === 30 || currentStage === 40) { + // Terminal stages, nowhere left to advance. + return; + } + // If we're already at the target stage or beyond, do nothing. + if (targetStage <= currentStage) { + return; + } + this.currentStage = targetStage; + // Resolve all stages between the current stage and the target. + const nextStageIx = currentStage === 1 ? 0 : RENDER_STAGE_ADVANCE_ORDER.indexOf(currentStage) + 1; + const targetStageIx = RENDER_STAGE_ADVANCE_ORDER.indexOf(targetStage); + for(let i = nextStageIx; i <= targetStageIx; i++){ + this.resolveStage(RENDER_STAGE_ADVANCE_ORDER[i]); + } + } + resolveStage(stage) { + fireStageTrigger(this.triggers[stage]); + } + getStagePromise(stage) { + return this.triggers[stage].promise; + } + waitForStage(stage) { + return this.getStagePromise(stage); + } + delayUntilStage(stage, displayName, resolvedValue) { + const stagePromise = this.getStagePromise(stage); + const promise = ("TURBOPACK compile-time truthy", 1) ? makeDevtoolsIOPromiseFromIOTrigger(stagePromise, displayName, resolvedValue) : "TURBOPACK unreachable"; + // Analogously to `makeDynamicHangingPromise`, we might reject this promise if the signal is invoked. + // (e.g. in the case where we don't want want the render to proceed to the dynamic stage and abort it). + // We shouldn't consider this an unhandled rejection, so we attach a noop catch handler here to suppress this warning. + if (this.abortSignal) { + promise.catch(ignoreReject); + } + return promise; + } +} +function createAdvanceableStageTriggers() { + const triggers = {}; + for (const stage of RENDER_STAGE_ADVANCE_ORDER){ + triggers[stage] = createStageTrigger(); + } + return triggers; +} +function ignoreReject() {} +// TODO(restart-on-cache-miss): the layering of `delayUntilStage`, +// `makeDevtoolsIOPromiseFromIOTrigger` and and `makeDevtoolsIOAwarePromise` +// is confusing, we should clean it up. +function makeDevtoolsIOPromiseFromIOTrigger(ioTrigger, displayName, resolvedValue) { + // If we create a `new Promise` and give it a displayName + // (with no userspace code above us in the stack) + // React Devtools will use it as the IO cause when determining "suspended by". + // In particular, it should shadow any inner IO that resolved/rejected the promise + // (in case of staged rendering, this will be the `setTimeout` that triggers the relevant stage) + const promise = new Promise((resolve, reject)=>{ + ioTrigger.then(resolve.bind(null, resolvedValue), reject); + }); + if (displayName !== undefined) { + // @ts-expect-error + promise.displayName = displayName; + } + return promise; +} +function addSyncTriggerListener(trigger, listener) { + if (trigger.state === 'pending') { + trigger._listeners.push(listener); + } else { + listener(); + } +} +function createStageTrigger() { + const { promise, resolve, reject } = (0, _promisewithresolvers.createPromiseWithResolvers)(); + return { + state: 'pending', + triggeredAt: null, + promise, + _listeners: [], + _resolvePromise: resolve, + _rejectPromise: reject + }; +} +function fireStageTrigger(trigger) { + if (trigger.state !== 'pending') { + return; + } + trigger.state = 'triggered'; + trigger.triggeredAt = performance.now() + performance.timeOrigin; + try { + const { _listeners: listeners } = trigger; + for(let i = 0; i < listeners.length; i++){ + listeners[i](); + } + listeners.length = 0; + } finally{ + trigger._resolvePromise(); + } +} +function cancelStageTrigger(trigger, reason) { + if (trigger.state !== 'pending') { + return; + } + trigger.state = 'cancelled'; + // we didn't trigger, so don't save `triggeredAt`. + // We're not gonna fire the listeners, we may as well free them. + trigger._listeners.length = 0; + // Suppress unhandled rejection warnings for promises that no one is awaiting. + trigger.promise.catch(ignoreReject); + trigger._rejectPromise(reason); +} +}), +"[project]/node_modules/next/dist/server/dynamic-rendering-utils.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + ClientHookDynamicError: null, + RENDER_STAGES_BY_DATA_KIND: null, + applyOwnerStack: null, + createPrerenderDataTracking: null, + finishPrerenderDataTracking: null, + isClientHookDynamicError: null, + isHangingPromiseRejectionError: null, + makeClientHookHangingPromise: null, + makeDevtoolsIOAwarePromise: null, + makeDynamicHangingPromise: null, + makeFallbackParamsHangingPromise: null, + makePrefetchHangingPromise: null, + makePromiseFromTrigger: null, + makeSessionDataHangingPromise: null, + makeURLDataHangingPromise: null, + makeUnknownRuntimeDataHangingPromise: null, + makeUntrackedHangingPromise: null, + trackFallbackParamsAccessed: null, + trackIncompatibleShellContent: null, + trackPromiseUsed: null, + trackURLDataAccessed: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + ClientHookDynamicError: function() { + return ClientHookDynamicError; + }, + RENDER_STAGES_BY_DATA_KIND: function() { + return RENDER_STAGES_BY_DATA_KIND; + }, + applyOwnerStack: function() { + return applyOwnerStack; + }, + createPrerenderDataTracking: function() { + return createPrerenderDataTracking; + }, + finishPrerenderDataTracking: function() { + return finishPrerenderDataTracking; + }, + isClientHookDynamicError: function() { + return isClientHookDynamicError; + }, + isHangingPromiseRejectionError: function() { + return isHangingPromiseRejectionError; + }, + makeClientHookHangingPromise: function() { + return makeClientHookHangingPromise; + }, + makeDevtoolsIOAwarePromise: function() { + return makeDevtoolsIOAwarePromise; + }, + makeDynamicHangingPromise: function() { + return makeDynamicHangingPromise; + }, + makeFallbackParamsHangingPromise: function() { + return makeFallbackParamsHangingPromise; + }, + makePrefetchHangingPromise: function() { + return makePrefetchHangingPromise; + }, + makePromiseFromTrigger: function() { + return makePromiseFromTrigger; + }, + makeSessionDataHangingPromise: function() { + return makeSessionDataHangingPromise; + }, + makeURLDataHangingPromise: function() { + return makeURLDataHangingPromise; + }, + makeUnknownRuntimeDataHangingPromise: function() { + return makeUnknownRuntimeDataHangingPromise; + }, + makeUntrackedHangingPromise: function() { + return makeUntrackedHangingPromise; + }, + trackFallbackParamsAccessed: function() { + return trackFallbackParamsAccessed; + }, + trackIncompatibleShellContent: function() { + return trackIncompatibleShellContent; + }, + trackPromiseUsed: function() { + return trackPromiseUsed; + }, + trackURLDataAccessed: function() { + return trackURLDataAccessed; + } +}); +const _invarianterror = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/invariant-error.js [middleware] (ecmascript)"); +const _promisewithresolvers = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/promise-with-resolvers.js [middleware] (ecmascript)"); +const _ensurestatic = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/segment-config/ensure-static.js [middleware] (ecmascript)"); +const _stagedrendering = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/staged-rendering.js [middleware] (ecmascript)"); +const _workasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +const _workunitasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)"); +const _runtimereactsexternal = __turbopack_context__.r("[externals]/next/dist/server/runtime-reacts.external.js [external] (next/dist/server/runtime-reacts.external.js, cjs)"); +function isHangingPromiseRejectionError(err) { + if (typeof err !== 'object' || err === null || !('digest' in err)) { + return false; + } + return err.digest === HANGING_PROMISE_REJECTION; +} +const HANGING_PROMISE_REJECTION = 'HANGING_PROMISE_REJECTION'; +class HangingPromiseRejectionError extends Error { + constructor(route, expression){ + super(`During prerendering, ${expression} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${expression} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${route}".`), this.route = route, this.expression = expression, this.digest = HANGING_PROMISE_REJECTION; + } +} +const CLIENT_HOOK_DYNAMIC = 'CLIENT_HOOK_DYNAMIC'; +class ClientHookDynamicError extends Error { + constructor(route, expression){ + super(`Route "${route}": Next.js encountered URL data \`${expression}\` in a Client Component outside of \`\`.\n\n` + `This blocks prerendering because the value is only available at runtime.\n\n` + `Ways to fix this:\n` + ` - [stream] Wrap the component in \`\` so the hook value streams in after prerendering\n` + ` - [block] Set \`export const instant = false\` to allow a blocking route\n\n` + `Learn more: https://nextjs.org/docs/messages/blocking-prerender-client-hook`), this.digest = CLIENT_HOOK_DYNAMIC; + } +} +function isClientHookDynamicError(err) { + if (typeof err !== 'object' || err === null || !('digest' in err)) { + return false; + } + return err.digest === CLIENT_HOOK_DYNAMIC; +} +const abortListenersBySignal = new WeakMap(); +function makeDynamicHangingPromise(signal, route, expression) { + return makeHangingPromiseWithError(signal, new HangingPromiseRejectionError(route, expression)); +} +function makeUntrackedHangingPromise(signal, route, expression) { + return makeHangingPromiseWithError(signal, new HangingPromiseRejectionError(route, expression)); +} +function makeSessionDataHangingPromise(signal, route, expression, workUnitStore) { + const promise = makeHangingPromiseWithError(signal, new HangingPromiseRejectionError(route, expression)); + return trackPromiseUsed(promise, trackSessionDataAccessed.bind(null, workUnitStore, expression)); +} +function makeURLDataHangingPromise(signal, route, expression, workUnitStore) { + const promise = makeHangingPromiseWithError(signal, new HangingPromiseRejectionError(route, expression)); + if (workUnitStore === null) { + return promise; + } + return trackPromiseUsed(promise, trackURLDataAccessed.bind(null, workUnitStore, expression)); +} +function makeUnknownRuntimeDataHangingPromise(signal, route, expression, workUnitStore) { + // We don't know if this is session or URL data, i.e. if it should affect the shell + // or only the prefetch. Track it conservatively as affecting both. + return makeSessionDataHangingPromise(signal, route, expression, workUnitStore); +} +function makePrefetchHangingPromise(signal, route, expression) { + return makeUntrackedHangingPromise(signal, route, expression); +} +function makeFallbackParamsHangingPromise(signal, route, expression, workUnitStore) { + const promise = makeHangingPromiseWithError(signal, new HangingPromiseRejectionError(route, expression)); + if (workUnitStore === null) { + return promise; + } + return trackPromiseUsed(promise, trackFallbackParamsAccessed.bind(null, workUnitStore, expression)); +} +function createPrerenderDataTracking() { + return { + runtimeDataAccessed: (0, _promisewithresolvers.createPromiseWithResolvers)(), + shouldAttemptStaticShell: true, + shouldAttemptStaticPrefetch: true + }; +} +function finishPrerenderDataTracking(prerenderDataTracking) { + // If a runtime data access already resolved this promise, this is a no-op. + prerenderDataTracking.runtimeDataAccessed.resolve(false); +} +/** + * Records on a static prerender store that the render accessed a data source + * which would have resolved in a runtime shell (or runtime prefetch). + * No-op for all other store types. + * + * Prefer `makeRuntimeHangingPromise`. Use this function only when implementing + * similar tracking and that one is not enough. + */ function trackSessionDataAccessed(workUnitStore, expression) { + trackRuntimeDataAccessed(workUnitStore, 1, expression); +} +function trackURLDataAccessed(workUnitStore, expression) { + trackRuntimeDataAccessed(workUnitStore, 2, expression); +} +function trackFallbackParamsAccessed(workUnitStore, expression) { + trackRuntimeDataAccessed(workUnitStore, 3, expression); +} +function trackRuntimeDataAccessed(workUnitStore, dataKind, expression) { + switch(workUnitStore.type){ + case 'prerender': + { + const { prerenderDataTracking, stagedRendering } = workUnitStore; + if (!prerenderDataTracking || !stagedRendering) { + return; + } + const { currentStage } = stagedRendering; + if (currentStage === _stagedrendering.RenderStage.Before) { + console.error(new _invarianterror.InvariantError('Unexpected trackRuntimeDataAccessed in the Before stage.')); + return; + } + if (currentStage >= _stagedrendering.RenderStage.NavigationStatic) { + // Ignore any accesses that happen after `navigation()` resolves. + // The purpose of this tracking is to judge whether a runtime prefetch + // would give us a more complete result than a static one. + // But `navigation()` wouldn't have resolved in a runtime prefetch, + // so e.g. `await navigation(); await cookies()` wouldn't have more content + // in those, and we shouldn't count it. + return; + } + const ensureStaticLevel = workUnitStore.ensureStaticLevel ?? _ensurestatic.EnsureStaticLevel.None; + // NOTE: In general, we keep hints in sync with `needsRuntimeRequest`, but they + // don't have to always match. The client re-uses hints for the entire route, + // while `needsRuntimeRequest` can vary across individual prerendered param values + // (e.g. if cookies are accessed depending on a param value). + // Hints can also become outdated if a route only starts using runtime data + // after a revalidation, so we have to expect this and be resilient to it. + // Also see the upgradeable fallback params case below, which deliberately + // puts them out of sync. + switch(dataKind){ + case 1: + { + // Potentially deopt both the shell and the prefetch, + // because if the shell accessed runtime data, so does the prefetch. + // However, if we're already past the shell stage, the shell is not affected. + // (which makes e.g. `await prefetch(); await cookies()` only affect the prefetch) + let firstAffectedStage = null; + if (currentStage <= _stagedrendering.RenderStage.ShellStatic && // Only track if we're not forcing the shell to be static. + ensureStaticLevel < _ensurestatic.EnsureStaticLevel.Shell) { + prerenderDataTracking.shouldAttemptStaticShell = false; + firstAffectedStage ??= _stagedrendering.RenderStage.ShellStatic; + logRuntimeDeopt == null ? void 0 : logRuntimeDeopt(expression, 'shell'); + } + if (currentStage <= _stagedrendering.RenderStage.PrefetchStatic && // Only track if we're not forcing the prefetch to be static. + ensureStaticLevel < _ensurestatic.EnsureStaticLevel.Prefetch) { + prerenderDataTracking.shouldAttemptStaticPrefetch = false; + // NOTE: if the shell is affected, don't override it. + firstAffectedStage ??= _stagedrendering.RenderStage.PrefetchStatic; + logRuntimeDeopt == null ? void 0 : logRuntimeDeopt(expression, 'prefetch'); + } + if (firstAffectedStage !== null) { + markRuntimeDataAccessWhenStageReached(prerenderDataTracking, stagedRendering, firstAffectedStage); + } + break; + } + case 3: + { + if (workUnitStore.isFallbackUpgradeable) { + // An fallback-param access is transient when the route is + // fallback-upgradeable (i.e. ISR later produces the concrete prerender a + // static prefetch would hit) so it does not indicate the need for a runtime + // request and thus does not affect the static hints. + // + // If runtime prefetches are not disallowed by `ensureStatic`, then we still + // set `runtimeDataAccessed` (while keeping the hints static). This means that + // if the concrete prerender isn't ready yet and we served the fallback, then + // the client knows it can use a *runtime* prefetch for speculative links -- + // a runtime prefetch can provide the same content (or more) as the concrete + // prerender would. + if (ensureStaticLevel < _ensurestatic.EnsureStaticLevel.Prefetch) { + markRuntimeDataAccessWhenStageReached(prerenderDataTracking, stagedRendering, _stagedrendering.RenderStage.PrefetchStatic); + logRuntimeUpgradeableFallback == null ? void 0 : logRuntimeUpgradeableFallback(); + } + break; + } + // not an upgradeable fallback param access, so we treat it as URL data. + // intentional fallthrough + } + case 2: + { + // Only deopt the prefetch, not the shell, which cannot access URL data anyway. + if (currentStage <= _stagedrendering.RenderStage.PrefetchStatic && ensureStaticLevel < _ensurestatic.EnsureStaticLevel.Prefetch) { + prerenderDataTracking.shouldAttemptStaticPrefetch = false; + logRuntimeDeopt == null ? void 0 : logRuntimeDeopt(expression, 'prefetch'); + markRuntimeDataAccessWhenStageReached(prerenderDataTracking, stagedRendering, _stagedrendering.RenderStage.PrefetchStatic); + } + break; + } + } + break; + } + case 'prerender-client': + case 'prerender-legacy': + case 'prerender-runtime': + case 'validation-client': + case 'request': + case 'cache': + case 'private-cache': + case 'unstable-cache': + case 'build-time-generator': + break; + default: + workUnitStore; + } +} +/** + * Tracks a runtime data access on the `runtimeDataAccessed` promise, + * but with a delay until `targetStage`. + * + * When we encounter a URL data access like `await params`, we need to mark the + * *prefetch* as needing runtime data, but the *shell* should remain unaffected + * (because it cannot access params anyway). + * + * However, the shell and the prefetch share one `runtimeDataAccessed` promise, + * and it needs to be accurately rewindable by the client + * In other words, we need to make sure that it reads as `false` when rewound + * to a shell, but as `true` in the final response (the prefetch). + * + * This means that if the `await params` is encountered during the shell stage, we + * cannot resolve `runtimeDataAccessed` immediately. + * Instead, we delay the resolution until the PrefetchStatic stage, so the promise + * will remain unresolved when rewound to the shell stage (which reads as `false`). + */ function markRuntimeDataAccessWhenStageReached(prerenderDataTracking, stageController, targetStage) { + const { runtimeDataAccessed } = prerenderDataTracking; + // NOTE: If we're already in or past the target stage, we can avoid allocating a closure, + // because `onStage` would've executed the callback immediately anyway. + if (stageController.currentStage >= targetStage) { + runtimeDataAccessed.resolve(true); + } else { + stageController.onStage(targetStage, runtimeDataAccessed.resolve.bind(null, true)); + } +} +const logRuntimeDeopt = process.env.NEXT_PRIVATE_DEBUG_RUNTIME_DATA ? (expression, kind)=>{ + const { route } = _workasyncstorageexternal.workAsyncStorage.getStore(); + console.log(`Route '${route}': deopting to a runtime ${kind} because it used ${expression}`); +} : undefined; +const logRuntimeUpgradeableFallback = process.env.NEXT_PRIVATE_DEBUG_RUNTIME_DATA ? ()=>{ + const { route } = _workasyncstorageexternal.workAsyncStorage.getStore(); + console.log(`Route '${route}': marking upgradeable fallback as runtime prefetchable`); +} : undefined; +function trackIncompatibleShellContent(workUnitStore, reason) { + const { stagedRendering } = workUnitStore; + if (!stagedRendering) { + return; + } + // TODO(app-shells): optimize this to only consider stages that are relevant for validation. + // We should only track incompatible content when it can affect them. + // For now, we simply exclude everything that happens in the dynamic stage. + // (Note that we also need to account for cache misses that move things to a + // different stage -- those should also preemptively set `hasIncompatibleShellContent` + // because there's a chance that a render with warm caches would set it) + const { currentStage } = stagedRendering; + if (currentStage === _stagedrendering.RenderStage.Dynamic || currentStage === _stagedrendering.RenderStage.Abandoned) { + return; + } + if (process.env.NEXT_PRIVATE_DEBUG_VALIDATION) { + const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); + console.log(`Route ${workStore.route}: Incompatible shell content: ${reason}`); + } + workUnitStore.hasIncompatibleShellContent = true; +} +function makeClientHookHangingPromise(signal, error) { + return makeHangingPromiseWithError(signal, error); +} +function makeHangingPromiseWithError(signal, error) { + if (signal.aborted) { + return Promise.reject(error); + } else { + const hangingPromise = new Promise((_, reject)=>{ + const boundRejection = reject.bind(null, error); + let currentListeners = abortListenersBySignal.get(signal); + if (currentListeners) { + currentListeners.push(boundRejection); + } else { + const listeners = [ + boundRejection + ]; + abortListenersBySignal.set(signal, listeners); + signal.addEventListener('abort', ()=>{ + for(let i = 0; i < listeners.length; i++){ + listeners[i](); + } + }, { + once: true + }); + } + }); + // We are fine if no one actually awaits this promise. We shouldn't consider this an unhandled rejection so + // we attach a noop catch handler here to suppress this warning. If you actually await somewhere or construct + // your own promise out of it you'll need to ensure you handle the error when it rejects. + hangingPromise.catch(ignoreReject); + return hangingPromise; + } +} +function ignoreReject() {} +function makePromiseFromTrigger(trigger, value) { + const promise = trigger.then(()=>value); + promise.catch(ignoreReject); + return promise; +} +function makeDevtoolsIOAwarePromise(underlying, requestStore, stage) { + if (requestStore.stagedRendering) { + // We resolve each stage in a timeout, so React DevTools will pick this up as IO. + return requestStore.stagedRendering.delayUntilStage(stage, undefined, underlying); + } + // in React DevTools if we resolve in a setTimeout we will observe + // the promise resolution as something that can suspend a boundary or root. + return new Promise((resolve)=>{ + // Must use setTimeout to be considered IO React DevTools. setImmediate will not work. + setTimeout(()=>{ + resolve(underlying); + }, 0); + }); +} +function trackPromiseUsed(promise, onUse) { + // We can instrument `.then()/.catch()/.finally()` in one go by using a Promise subclass + // that implements a custom `.then()`, because `catch` and `finally` delegate to it. + // + // Alternative implementation ideas that were tried and rejected: + // + // 1. Patching the methods directly via `promise.then = (..args) => { ... }`: + // doesn't work, because Node does not call the monkeypatched methods for native `await`: + // > Native Promise [...]: The promise is directly used and awaited natively, without calling `then()`. + // > https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await#description + // + // 2. Wrapping in a proxy that returns a custom `then/catch/finally`: + // breaks async stacks in React's IO tracking (stack becomes `Promise.then`) + return TrackedPromise.from(promise, onUse); +} +class TrackedPromise extends Promise { + #onUse; + // We don't need derived promises to also be a TrackedPromise. + // We only care about the first level of `.then()`. + static get [Symbol.species]() { + return Promise; + } + static from(promise, onUse) { + // Whenever the promise we're tracking resolves/rejects, we should follow. + const tracked = new TrackedPromise(promise.then.bind(promise)); + tracked.#onUse = onUse; + // Hanging promises catch rejections when created. Tracked promises are generally derived + // from promises that may hang & reject, so we need to do the same. + // However, we have to bypass the tracking we do in `TrackedPromise.then`. + // (we're using `then` directly, because `catch` ends up delegating `TrackedPromise.then`) + Promise.prototype.then.call(tracked, undefined, ignoreReject); + return tracked; + } + then(onFulfilled, onRejected) { + const onUse = this.#onUse; + if (onUse) { + try { + onUse(); + } catch (err) { + // We don't want to break the method even if our tracking errored. + console.error(err); + } + } + return Promise.prototype.then.call(this, onFulfilled, onRejected); + } + constructor(...args){ + super(...args), this.#onUse = null; + } +} +const RENDER_STAGES_BY_DATA_KIND = { + sessionData: _stagedrendering.RenderStage.ShellRuntime, + /** + * Statically-prerenderable URL data, like static `params`. + * It may need to be pushed to a runtime stage in a runtime prerender, + * but it's semantically distinct from `runtimeUrlData` like `searchParams`, + * which is always excluded from static prerenders. + * */ staticUrlData: { + /** + * From that app's point of view, `prefetch()` is semantically the same as + * `staticUrlData`, because it does not resolve in a shell but resolves in + * a prefetch (even a static one). + * We handle it separately to provide a specialized error in validation renders. + */ prefetchApi: { + static: _stagedrendering.RenderStage.PrefetchStatic_prefetchApi, + runtime: _stagedrendering.RenderStage.PrefetchRuntime_prefetchApi + }, + static: _stagedrendering.RenderStage.PrefetchStatic, + runtime: _stagedrendering.RenderStage.PrefetchRuntime + }, + /** + * URL data that is never statically-prerenderable, like static `searchParams`. + * */ runtimeUrlData: _stagedrendering.RenderStage.PrefetchRuntime +}; +function applyOwnerStack(error) { + if ("TURBOPACK compile-time truthy", 1) { + var _getClientReact_captureOwnerStack, _getClientReact, _getServerReact_captureOwnerStack, _getServerReact; + let ownerStack; + const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); + // captureOwnerStack() returns the owner stack for the current React + // rendering context. Inside a cache scope this only includes the inner + // component tree. The outer owner stack (captured before entering the + // cache boundary in use-cache-wrapper.ts) is stored on the cache store. + // We concatenate both to get the full component tree. + const innerOwnerStack = ((_getClientReact = (0, _runtimereactsexternal.getClientReact)()) == null ? void 0 : (_getClientReact_captureOwnerStack = _getClientReact.captureOwnerStack) == null ? void 0 : _getClientReact_captureOwnerStack.call(_getClientReact)) ?? ((_getServerReact = (0, _runtimereactsexternal.getServerReact)()) == null ? void 0 : (_getServerReact_captureOwnerStack = _getServerReact.captureOwnerStack) == null ? void 0 : _getServerReact_captureOwnerStack.call(_getServerReact)); + switch(workUnitStore == null ? void 0 : workUnitStore.type){ + case 'cache': + case 'private-cache': + ownerStack = (innerOwnerStack || '') + (workUnitStore.outerOwnerStack || '') || undefined; + break; + case 'unstable-cache': + case 'request': + case 'prerender': + case 'prerender-legacy': + case 'prerender-runtime': + case 'prerender-client': + case 'validation-client': + case 'build-time-generator': + case undefined: + ownerStack = innerOwnerStack; + break; + default: + workUnitStore; + } + if (ownerStack) { + let stack = ownerStack; + if (error.stack) { + const frames = []; + for (const frame of error.stack.split('\n').slice(1)){ + if (frame.includes('react_stack_bottom_frame')) { + break; + } + frames.push(frame); + } + stack = '\n' + frames.join('\n') + stack; + } + error.stack = error.name + ': ' + error.message + stack; + } + } + return error; +} +}), +"[project]/node_modules/next/dist/server/lib/app-dir-module.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + getComponentTypeModule: null, + getLayoutOrPageModule: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + getComponentTypeModule: function() { + return getComponentTypeModule; + }, + getLayoutOrPageModule: function() { + return getLayoutOrPageModule; + } +}); +const _segment = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/segment.js [middleware] (ecmascript)"); +async function getLayoutOrPageModule(loaderTree) { + const { layout, page, defaultPage } = loaderTree[2]; + const isLayout = typeof layout !== 'undefined'; + const isPage = typeof page !== 'undefined'; + const isDefaultPage = typeof defaultPage !== 'undefined' && loaderTree[0] === _segment.DEFAULT_SEGMENT_KEY; + let mod = undefined; + let modType = undefined; + let filePath = undefined; + if (isLayout) { + mod = await layout[0](); + modType = 'layout'; + filePath = layout[1]; + } else if (isPage) { + mod = await page[0](); + modType = 'page'; + filePath = page[1]; + } else if (isDefaultPage) { + mod = await defaultPage[0](); + modType = 'page'; + filePath = defaultPage[1]; + } + return { + mod, + modType, + filePath + }; +} +async function getComponentTypeModule(loaderTree, moduleType) { + const { [moduleType]: module1 } = loaderTree[2]; + if (typeof module1 !== 'undefined') { + return await module1[0](); + } + return undefined; +} +}), +"[project]/node_modules/next/dist/server/request/connection.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "connection", { + enumerable: true, + get: function() { + return connection; + } +}); +const _workasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +const _workunitasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)"); +const _dynamicrendering = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/dynamic-rendering.js [middleware] (ecmascript)"); +const _staticgenerationbailout = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/static-generation-bailout.js [middleware] (ecmascript)"); +const _dynamicrenderingutils = __turbopack_context__.r("[project]/node_modules/next/dist/server/dynamic-rendering-utils.js [middleware] (ecmascript)"); +const _utils = __turbopack_context__.r("[project]/node_modules/next/dist/server/request/utils.js [middleware] (ecmascript)"); +const _stagedrendering = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/staged-rendering.js [middleware] (ecmascript)"); +const _invarianterror = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/invariant-error.js [middleware] (ecmascript)"); +const _usecachemessages = __turbopack_context__.r("[project]/node_modules/next/dist/server/use-cache/use-cache-messages.js [middleware] (ecmascript)"); +function connection() { + const callingExpression = 'connection'; + const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); + const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); + if (workStore) { + if (workUnitStore && !(0, _utils.isRequestApiAllowedInCurrentPhase)(workUnitStore)) { + throw new Error(`Route ${workStore.route} used \`connection()\` inside \`after()\` while rendering. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`); + } + if (workStore.forceStatic) { + // When using forceStatic, we override all other logic and always just + // return a resolving promise without tracking. + return Promise.resolve(undefined); + } + if (workStore.dynamicShouldError) { + throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${workStore.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`); + } + if (workUnitStore) { + switch(workUnitStore.type){ + case 'cache': + { + const error = (0, _usecachemessages.createConnectionInPublicUseCacheError)(workStore.route); + Error.captureStackTrace(error, connection); + (0, _dynamicrenderingutils.applyOwnerStack)(error); + workStore.invalidDynamicUsageError ??= error; + throw error; + } + case 'private-cache': + { + // It might not be intuitive to throw for private caches as well, but + // we don't consider runtime prefetches as "actual requests" (in the + // navigation sense), despite allowing them to read cookies. + const error = (0, _usecachemessages.createConnectionInPrivateUseCacheError)(workStore.route); + Error.captureStackTrace(error, connection); + (0, _dynamicrenderingutils.applyOwnerStack)(error); + workStore.invalidDynamicUsageError ??= error; + throw error; + } + case 'unstable-cache': + throw (0, _usecachemessages.createConnectionInUnstableCacheError)(workStore.route); + case 'build-time-generator': + throw new Error(`Route ${workStore.route} used \`connection()\` inside \`${workUnitStore.functionName}\`. This is not supported because \`${workUnitStore.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`); + case 'prerender': + case 'prerender-client': + case 'prerender-runtime': + // We return a promise that never resolves to allow the prerender to + // stall at this point. + return (0, _dynamicrenderingutils.makeDynamicHangingPromise)(workUnitStore.renderSignal, workStore.route, '`connection()`'); + case 'validation-client': + { + // TODO(NAR-789): make this consistent with the actual browser behavior when we change it. + // Until then, erroring is fine. + const exportName = '`connection`'; + throw new _invarianterror.InvariantError(`${exportName} must not be used within a Client Component. Next.js should be preventing ${exportName} from being included in Client Components statically, but did not in this case.`); + } + case 'prerender-legacy': + // We throw an error here to interrupt prerendering to mark the route + // as dynamic + return (0, _dynamicrendering.throwToInterruptStaticGeneration)('connection', workStore, workUnitStore); + case 'request': + (0, _dynamicrendering.trackDynamicDataInDynamicRender)(workUnitStore); + if ("TURBOPACK compile-time truthy", 1) { + // Semantically we only need the dev tracking when running in `next dev` + // but since you would never use next dev with production NODE_ENV we use this + // as a proxy so we can statically exclude this code from production builds. + if (workUnitStore.asyncApiPromises) { + return workUnitStore.asyncApiPromises.connection; + } + return (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(undefined, workUnitStore, _stagedrendering.RenderStage.Dynamic); + } else //TURBOPACK unreachable + ; + default: + workUnitStore; + } + } + } + // If we end up here, there was no work store or work unit store present. + // TODO(NAR-789): connection() is not currently statically prevented from being imported in client components, + // so we always error about a missing work unit store. + (0, _workunitasyncstorageexternal.throwForMissingRequestStore)(callingExpression); +} +}), +"[project]/node_modules/next/dist/server/request/utils.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + isRequestApiAllowedInCurrentPhase: null, + throwForSearchParamsAccessInUseCache: null, + throwWithStaticGenerationBailoutErrorWithDynamicError: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + isRequestApiAllowedInCurrentPhase: function() { + return isRequestApiAllowedInCurrentPhase; + }, + throwForSearchParamsAccessInUseCache: function() { + return throwForSearchParamsAccessInUseCache; + }, + throwWithStaticGenerationBailoutErrorWithDynamicError: function() { + return throwWithStaticGenerationBailoutErrorWithDynamicError; + } +}); +const _staticgenerationbailout = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/static-generation-bailout.js [middleware] (ecmascript)"); +const _actionasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/action-async-storage.external.js [external] (next/dist/server/app-render/action-async-storage.external.js, cjs)"); +const _aftertaskasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/after-task-async-storage.external.js [external] (next/dist/server/app-render/after-task-async-storage.external.js, cjs)"); +const _usecachemessages = __turbopack_context__.r("[project]/node_modules/next/dist/server/use-cache/use-cache-messages.js [middleware] (ecmascript)"); +function throwWithStaticGenerationBailoutErrorWithDynamicError(route, expression) { + throw new _staticgenerationbailout.StaticGenBailoutError(`Route ${route} with \`dynamic = "error"\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`); +} +function throwForSearchParamsAccessInUseCache(workStore, constructorOpt) { + const error = (0, _usecachemessages.createSearchParamsInUseCacheError)(workStore.route); + Error.captureStackTrace(error, constructorOpt); + workStore.invalidDynamicUsageError ??= error; + throw error; +} +function isRequestApiAllowedInCurrentPhase(workUnitStore) { + switch(workUnitStore.phase){ + case 'action': + case 'render': + { + // The request is still in progress. The API may be disallowed for other reasons, + // but not because of phase. + return true; + } + case 'after': + { + // The request has finished. + // If we're in a Route Handler or a Server Action, + // request APIs can be called everywhere, even in after(). + const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore(); + if (actionStore && (actionStore.isAppRoute || actionStore.isAction)) { + return true; + } + const afterTaskStore = _aftertaskasyncstorageexternal.afterTaskAsyncStorage.getStore(); + if (afterTaskStore) { + // We're in an `after` callback. Request APIs are callable if + // the `after()` call happened in an action phase: + // - in a Route Handler + // - in a Server Action's body (but not the render after) + // + // TODO(after): Is it even possible to have `phase === 'action'` but no `actionStore`? + // We should revisit this setup and simplify this. + return afterTaskStore.rootTaskSpawnPhase === 'action'; + } + // Otherwise, we must be in a page, in the `after` phase. + // We don't allow calling request APIs here because we'd miss + // them during prerendering and wouldn't know that the page is dynamic. + return false; + } + } +} +}), +"[project]/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable +; +else { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + if ("TURBOPACK compile-time truthy", 1) { + if ("TURBOPACK compile-time truthy", 1) { + module.exports = __turbopack_context__.r("[externals]/next/dist/compiled/next-server/app-page-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/app-page-turbo.runtime.dev.js, cjs)"); + } else //TURBOPACK unreachable + ; + } else //TURBOPACK unreachable + ; + } +} +}), +"[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +module.exports = __turbopack_context__.r("[project]/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [middleware] (ecmascript)").vendored['react-rsc'].React; +}), +"[project]/node_modules/next/dist/server/use-cache/use-cache-messages.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/** + * Centralized error factories for cached function and revalidation misuse. + * State the scope and constraint, explain non-obvious boundaries, give the + * immediate fix, then link to the relevant docs. + */ Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + createCacheLifeOutsideUseCacheError: null, + createCacheTagOutsideUseCacheError: null, + createConnectionInPrivateUseCacheError: null, + createConnectionInPublicUseCacheError: null, + createConnectionInUnstableCacheError: null, + createCookiesInUnstableCacheError: null, + createCookiesInUseCacheError: null, + createDraftModeMutationInUnstableCacheError: null, + createDraftModeMutationInUseCacheError: null, + createHeadersInUnstableCacheError: null, + createHeadersInUseCacheError: null, + createNestedCacheShortExpireError: null, + createNestedCacheZeroRevalidateError: null, + createRevalidateDuringRenderError: null, + createRevalidateInBuildTimeGeneratorError: null, + createRevalidateInCachedFunctionError: null, + createRouteHandlerRequestInUnstableCacheError: null, + createRouteHandlerRequestInUseCacheError: null, + createSearchParamsInUseCacheError: null, + createUseCachePrivateInsidePublicUseCacheError: null, + createUseCachePrivateInsideUnstableCacheError: null, + createUseCachePrivateOutsideRequestContextError: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + createCacheLifeOutsideUseCacheError: function() { + return createCacheLifeOutsideUseCacheError; + }, + createCacheTagOutsideUseCacheError: function() { + return createCacheTagOutsideUseCacheError; + }, + createConnectionInPrivateUseCacheError: function() { + return createConnectionInPrivateUseCacheError; + }, + createConnectionInPublicUseCacheError: function() { + return createConnectionInPublicUseCacheError; + }, + createConnectionInUnstableCacheError: function() { + return createConnectionInUnstableCacheError; + }, + createCookiesInUnstableCacheError: function() { + return createCookiesInUnstableCacheError; + }, + createCookiesInUseCacheError: function() { + return createCookiesInUseCacheError; + }, + createDraftModeMutationInUnstableCacheError: function() { + return createDraftModeMutationInUnstableCacheError; + }, + createDraftModeMutationInUseCacheError: function() { + return createDraftModeMutationInUseCacheError; + }, + createHeadersInUnstableCacheError: function() { + return createHeadersInUnstableCacheError; + }, + createHeadersInUseCacheError: function() { + return createHeadersInUseCacheError; + }, + createNestedCacheShortExpireError: function() { + return createNestedCacheShortExpireError; + }, + createNestedCacheZeroRevalidateError: function() { + return createNestedCacheZeroRevalidateError; + }, + createRevalidateDuringRenderError: function() { + return createRevalidateDuringRenderError; + }, + createRevalidateInBuildTimeGeneratorError: function() { + return createRevalidateInBuildTimeGeneratorError; + }, + createRevalidateInCachedFunctionError: function() { + return createRevalidateInCachedFunctionError; + }, + createRouteHandlerRequestInUnstableCacheError: function() { + return createRouteHandlerRequestInUnstableCacheError; + }, + createRouteHandlerRequestInUseCacheError: function() { + return createRouteHandlerRequestInUseCacheError; + }, + createSearchParamsInUseCacheError: function() { + return createSearchParamsInUseCacheError; + }, + createUseCachePrivateInsidePublicUseCacheError: function() { + return createUseCachePrivateInsidePublicUseCacheError; + }, + createUseCachePrivateInsideUnstableCacheError: function() { + return createUseCachePrivateInsideUnstableCacheError; + }, + createUseCachePrivateOutsideRequestContextError: function() { + return createUseCachePrivateOutsideRequestContextError; + } +}); +const NEXT_REQUEST_IN_USE_CACHE = 'https://nextjs.org/docs/messages/next-request-in-use-cache'; +const UNSTABLE_CACHE_API_DOCS = 'https://nextjs.org/docs/app/api-reference/functions/unstable_cache'; +const USE_CACHE_PRIVATE_API_DOCS = 'https://nextjs.org/docs/app/api-reference/directives/use-cache-private'; +const CACHE_TAG_OUTSIDE_USE_CACHE = 'https://nextjs.org/docs/messages/cache-tag-outside-use-cache'; +const CACHE_LIFE_OUTSIDE_USE_CACHE = 'https://nextjs.org/docs/messages/cache-life-outside-use-cache'; +const USE_CACHE_PRIVATE_COMPOSITION = 'https://nextjs.org/docs/messages/use-cache-private-composition'; +const REVALIDATE_IN_USE_CACHE = 'https://nextjs.org/docs/messages/revalidate-in-use-cache'; +const NESTED_USE_CACHE_NO_EXPLICIT_CACHELIFE = 'https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife'; +function createCookiesInUseCacheError(route) { + return new Error(`Route "${route}": \`cookies()\` can't be read inside \`"use cache"\`. Read it outside the cached function and pass what you need as an argument.\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`); +} +function createCookiesInUnstableCacheError(route) { + return new Error(`Route "${route}": \`cookies()\` can't be read inside \`unstable_cache()\`. Read it outside the cached function and pass what you need as an argument.\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`); +} +function createHeadersInUseCacheError(route) { + return new Error(`Route "${route}": \`headers()\` can't be read inside \`"use cache"\`. Read it outside the cached function and pass what you need as an argument.\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`); +} +function createHeadersInUnstableCacheError(route) { + return new Error(`Route "${route}": \`headers()\` can't be read inside \`unstable_cache()\`. Read it outside the cached function and pass what you need as an argument.\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`); +} +function createSearchParamsInUseCacheError(route) { + return new Error(`Route "${route}": \`searchParams\` can't be read inside \`"use cache"\`. Await it outside the cached function and pass what you need as an argument.\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`); +} +function createConnectionInPublicUseCacheError(route) { + return new Error(`Route "${route}": \`connection()\` can't be called inside \`"use cache"\` because cached functions may run during prerendering, without an incoming request. Call it outside the cached function.\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`); +} +function createConnectionInPrivateUseCacheError(route) { + return new Error(`Route "${route}": \`connection()\` can't be called inside \`"use cache: private"\` because private cached functions may run during prefetching, without a navigation request. Call it outside the cached function.\nLearn more: ${USE_CACHE_PRIVATE_API_DOCS}`); +} +function createConnectionInUnstableCacheError(route) { + return new Error(`Route "${route}": \`connection()\` can't be called inside \`unstable_cache()\` because cached functions may run during prerendering, without an incoming request. Call it outside the cached function.\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`); +} +function createRouteHandlerRequestInUseCacheError(route, expression) { + return new Error(`Route "${route}": \`${expression}\` can't be read inside \`"use cache"\`. Read it outside the cached function and pass what you need as an argument.\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`); +} +function createRouteHandlerRequestInUnstableCacheError(route, expression) { + return new Error(`Route "${route}": \`${expression}\` can't be read inside \`unstable_cache()\`. Read it outside the cached function and pass what you need as an argument.\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`); +} +function createDraftModeMutationInUseCacheError(route, expression) { + return new Error(`Route "${route}": \`${expression}\` can't be called inside \`"use cache"\`. Draft mode can be read inside a cached function, but enabling or disabling it must happen outside.\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`); +} +function createDraftModeMutationInUnstableCacheError(route, expression) { + return new Error(`Route "${route}": \`${expression}\` can't be called inside \`unstable_cache()\`. Draft mode can be read inside a cached function, but enabling or disabling it must happen outside.\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`); +} +function createRevalidateDuringRenderError(route, expression) { + return new Error(`Route "${route}": \`${expression}\` can't be called during render. Call it from a Server Action or Route Handler instead.\nLearn more: ${REVALIDATE_IN_USE_CACHE}`); +} +function createRevalidateInCachedFunctionError(route, expression) { + return new Error(`Route "${route}": \`${expression}\` can't be called inside a cached function. Call it from a Server Action or Route Handler instead.\nLearn more: ${REVALIDATE_IN_USE_CACHE}`); +} +function createRevalidateInBuildTimeGeneratorError(route, expression, generatorName) { + return new Error(`Route "${route}": \`${expression}\` can't be called inside \`${generatorName}\`. Call it from a Server Action or Route Handler instead.\nLearn more: ${REVALIDATE_IN_USE_CACHE}`); +} +// Cache configuration and nesting +function routePrefix(route) { + return route === undefined ? '' : `Route "${route}": `; +} +function createCacheTagOutsideUseCacheError(route) { + return new Error(`${routePrefix(route)}\`cacheTag()\` can only be called inside a \`"use cache"\` or \`"use cache: private"\` function.\nLearn more: ${CACHE_TAG_OUTSIDE_USE_CACHE}`); +} +function createCacheLifeOutsideUseCacheError(route) { + return new Error(`${routePrefix(route)}\`cacheLife()\` can only be called inside a \`"use cache"\` or \`"use cache: private"\` function.\nLearn more: ${CACHE_LIFE_OUTSIDE_USE_CACHE}`); +} +function createNestedCacheZeroRevalidateError(route, cause) { + return new Error(`Route "${route}": A nested \`"use cache"\` with \`revalidate: 0\` is inside an outer \`"use cache"\` that has no \`cacheLife()\`. Add \`cacheLife()\` to the outer one to choose whether to prerender it with a non-zero \`revalidate\` or keep it dynamic with \`revalidate: 0\`.\nLearn more: ${NESTED_USE_CACHE_NO_EXPLICIT_CACHELIFE}`, { + cause + }); +} +function createNestedCacheShortExpireError(route, cause) { + return new Error(`Route "${route}": A nested \`"use cache"\` with a short \`expire\` (under 5 minutes) is inside an outer \`"use cache"\` that has no \`cacheLife()\`. Add \`cacheLife()\` to the outer one to choose whether to prerender it with a longer \`expire\` or keep it dynamic with a short \`expire\`.\nLearn more: ${NESTED_USE_CACHE_NO_EXPLICIT_CACHELIFE}`, { + cause + }); +} +function createUseCachePrivateInsidePublicUseCacheError(route) { + return new Error(`Route "${route}": \`"use cache: private"\` can't be nested inside \`"use cache"\` because a shared cached function can't depend on private request data. Nest it only inside another \`"use cache: private"\`.\nLearn more: ${USE_CACHE_PRIVATE_COMPOSITION}`); +} +function createUseCachePrivateInsideUnstableCacheError(route) { + return new Error(`Route "${route}": \`"use cache: private"\` can't be used inside \`unstable_cache()\` because \`unstable_cache()\` uses a shared cache that can't contain private request data. Call the private cached function outside \`unstable_cache()\`.\nLearn more: ${USE_CACHE_PRIVATE_COMPOSITION}`); +} +function createUseCachePrivateOutsideRequestContextError(route, functionName) { + return new Error(`Route "${route}": \`"use cache: private"\` needs an active request, so it can't be used during \`${functionName}\` or other build-time contexts. Move it to a request-time component or function.\nLearn more: ${USE_CACHE_PRIVATE_COMPOSITION}`); +} +}), +"[project]/node_modules/next/dist/server/web/error.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + PageSignatureError: null, + RemovedPageError: null, + RemovedUAError: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + PageSignatureError: function() { + return PageSignatureError; + }, + RemovedPageError: function() { + return RemovedPageError; + }, + RemovedUAError: function() { + return RemovedUAError; + } +}); +class PageSignatureError extends Error { + constructor({ page }){ + super(`The middleware "${page}" accepts an async API directly with the form: + + export function middleware(request, event) { + return NextResponse.redirect('/new-location') + } + + Read more: https://nextjs.org/docs/messages/middleware-new-signature + `); + } +} +class RemovedPageError extends Error { + constructor(){ + super(`The request.page has been deprecated in favour of \`URLPattern\`. + Read more: https://nextjs.org/docs/messages/middleware-request-page + `); + } +} +class RemovedUAError extends Error { + constructor(){ + super(`The request.ua has been removed in favour of \`userAgent\` function. + Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent + `); + } +} +}), +"[project]/node_modules/next/dist/server/web/next-url.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "NextURL", { + enumerable: true, + get: function() { + return NextURL; + } +}); +const _detectdomainlocale = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js [middleware] (ecmascript)"); +const _formatnextpathnameinfo = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js [middleware] (ecmascript)"); +const _gethostname = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/get-hostname.js [middleware] (ecmascript)"); +const _getnextpathnameinfo = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js [middleware] (ecmascript)"); +const REGEX_LOCALHOST_HOSTNAME = /^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/; +function parseURL(url, base) { + const parsed = new URL(String(url), base && String(base)); + if (REGEX_LOCALHOST_HOSTNAME.test(parsed.hostname)) { + parsed.hostname = 'localhost'; + } + return parsed; +} +const Internal = Symbol('NextURLInternal'); +class NextURL { + constructor(input, baseOrOpts, opts){ + let base; + let options; + if (typeof baseOrOpts === 'object' && 'pathname' in baseOrOpts || typeof baseOrOpts === 'string') { + base = baseOrOpts; + options = opts || {}; + } else { + options = opts || baseOrOpts || {}; + } + this[Internal] = { + url: parseURL(input, base ?? options.base), + options: options, + basePath: '' + }; + this.analyze(); + } + analyze() { + var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig, _this_Internal_domainLocale, _this_Internal_options_nextConfig_i18n1, _this_Internal_options_nextConfig1; + const info = (0, _getnextpathnameinfo.getNextPathnameInfo)(this[Internal].url.pathname, { + nextConfig: this[Internal].options.nextConfig, + parseData: !("TURBOPACK compile-time value", void 0), + i18nProvider: this[Internal].options.i18nProvider + }); + const hostname = (0, _gethostname.getHostname)(this[Internal].url, this[Internal].options.headers); + this[Internal].domainLocale = this[Internal].options.i18nProvider ? this[Internal].options.i18nProvider.detectDomainLocale(hostname) : (0, _detectdomainlocale.detectDomainLocale)((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.domains, hostname); + const defaultLocale = ((_this_Internal_domainLocale = this[Internal].domainLocale) == null ? void 0 : _this_Internal_domainLocale.defaultLocale) || ((_this_Internal_options_nextConfig1 = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n1 = _this_Internal_options_nextConfig1.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n1.defaultLocale); + this[Internal].url.pathname = info.pathname; + this[Internal].defaultLocale = defaultLocale; + this[Internal].basePath = info.basePath ?? ''; + this[Internal].buildId = info.buildId; + this[Internal].locale = info.locale ?? defaultLocale; + this[Internal].trailingSlash = info.trailingSlash; + } + formatPathname() { + return (0, _formatnextpathnameinfo.formatNextPathnameInfo)({ + basePath: this[Internal].basePath, + buildId: this[Internal].buildId, + defaultLocale: !this[Internal].options.forceLocale ? this[Internal].defaultLocale : undefined, + locale: this[Internal].locale, + pathname: this[Internal].url.pathname, + trailingSlash: this[Internal].trailingSlash + }); + } + formatSearch() { + return this[Internal].url.search; + } + get buildId() { + return this[Internal].buildId; + } + set buildId(buildId) { + this[Internal].buildId = buildId; + } + get locale() { + return this[Internal].locale ?? ''; + } + set locale(locale) { + var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig; + if (!this[Internal].locale || !((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.locales.includes(locale))) { + throw new TypeError(`The NextURL configuration includes no locale "${locale}"`); + } + this[Internal].locale = locale; + } + get defaultLocale() { + return this[Internal].defaultLocale; + } + get domainLocale() { + return this[Internal].domainLocale; + } + get searchParams() { + return this[Internal].url.searchParams; + } + get host() { + return this[Internal].url.host; + } + set host(value) { + this[Internal].url.host = value; + } + get hostname() { + return this[Internal].url.hostname; + } + set hostname(value) { + this[Internal].url.hostname = value; + } + get port() { + return this[Internal].url.port; + } + set port(value) { + this[Internal].url.port = value; + } + get protocol() { + return this[Internal].url.protocol; + } + set protocol(value) { + this[Internal].url.protocol = value; + } + get href() { + const pathname = this.formatPathname(); + const search = this.formatSearch(); + return `${this.protocol}//${this.host}${pathname}${search}${this.hash}`; + } + set href(url) { + this[Internal].url = parseURL(url); + this.analyze(); + } + get origin() { + return this[Internal].url.origin; + } + get pathname() { + return this[Internal].url.pathname; + } + set pathname(value) { + this[Internal].url.pathname = value; + } + get hash() { + return this[Internal].url.hash; + } + set hash(value) { + this[Internal].url.hash = value; + } + get search() { + return this[Internal].url.search; + } + set search(value) { + this[Internal].url.search = value; + } + get password() { + return this[Internal].url.password; + } + set password(value) { + this[Internal].url.password = value; + } + get username() { + return this[Internal].url.username; + } + set username(value) { + this[Internal].url.username = value; + } + get basePath() { + return this[Internal].basePath; + } + set basePath(value) { + this[Internal].basePath = value.startsWith('/') ? value : `/${value}`; + } + toString() { + return this.href; + } + toJSON() { + return this.href; + } + [Symbol.for('edge-runtime.inspect.custom')]() { + return { + href: this.href, + origin: this.origin, + protocol: this.protocol, + username: this.username, + password: this.password, + host: this.host, + hostname: this.hostname, + port: this.port, + pathname: this.pathname, + search: this.search, + searchParams: this.searchParams, + hash: this.hash + }; + } + clone() { + return new NextURL(String(this), this[Internal].options); + } +} +}), +"[project]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "ReflectAdapter", { + enumerable: true, + get: function() { + return ReflectAdapter; + } +}); +class ReflectAdapter { + static get(target, prop, receiver) { + const value = Reflect.get(target, prop, receiver); + if (typeof value === 'function') { + return value.bind(target); + } + return value; + } + static set(target, prop, value, receiver) { + return Reflect.set(target, prop, value, receiver); + } + static has(target, prop) { + return Reflect.has(target, prop); + } + static deleteProperty(target, prop) { + return Reflect.deleteProperty(target, prop); + } +} +}), +"[project]/node_modules/next/dist/server/web/spec-extension/cookies.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + RequestCookies: null, + ResponseCookies: null, + stringifyCookie: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + RequestCookies: function() { + return _cookies.RequestCookies; + }, + ResponseCookies: function() { + return _cookies.ResponseCookies; + }, + stringifyCookie: function() { + return _cookies.stringifyCookie; + } +}); +const _cookies = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [middleware] (ecmascript)"); +}), +"[project]/node_modules/next/dist/server/web/spec-extension/image-response.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/** + * @deprecated ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead. + * Migration with codemods: https://nextjs.org/docs/app/building-your-application/upgrading/codemods#next-og-import + */ Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "ImageResponse", { + enumerable: true, + get: function() { + return ImageResponse; + } +}); +function ImageResponse() { + throw new Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'); +} +}), +"[project]/node_modules/next/dist/server/web/spec-extension/request.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + INTERNALS: null, + NextRequest: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + INTERNALS: function() { + return INTERNALS; + }, + NextRequest: function() { + return NextRequest; + } +}); +const _nexturl = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/next-url.js [middleware] (ecmascript)"); +const _utils = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/utils.js [middleware] (ecmascript)"); +const _error = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/error.js [middleware] (ecmascript)"); +const _cookies = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/cookies.js [middleware] (ecmascript)"); +const INTERNALS = Symbol('internal request'); +class NextRequest extends Request { + constructor(input, init = {}){ + const url = typeof input !== 'string' && 'url' in input ? input.url : String(input); + (0, _utils.validateURL)(url); + // node Request instance requires duplex option when a body + // is present or it errors, we don't handle this for + // Request being passed in since it would have already + // errored if this wasn't configured + if ("TURBOPACK compile-time truthy", 1) { + if (init.body && init.duplex !== 'half') { + init.duplex = 'half'; + } + } + if (input instanceof Request) super(input, init); + else super(url, init); + const nextUrl = new _nexturl.NextURL(url, { + headers: (0, _utils.toNodeOutgoingHttpHeaders)(this.headers), + nextConfig: init.nextConfig + }); + this[INTERNALS] = { + cookies: new _cookies.RequestCookies(this.headers), + nextUrl, + url: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : nextUrl.toString() + }; + } + [Symbol.for('edge-runtime.inspect.custom')]() { + return { + cookies: this.cookies, + nextUrl: this.nextUrl, + url: this.url, + // rest of props come from Request + bodyUsed: this.bodyUsed, + cache: this.cache, + credentials: this.credentials, + destination: this.destination, + headers: Object.fromEntries(this.headers), + integrity: this.integrity, + keepalive: this.keepalive, + method: this.method, + mode: this.mode, + redirect: this.redirect, + referrer: this.referrer, + referrerPolicy: this.referrerPolicy, + signal: this.signal + }; + } + get cookies() { + return this[INTERNALS].cookies; + } + get nextUrl() { + return this[INTERNALS].nextUrl; + } + /** + * @deprecated + * `page` has been deprecated in favour of `URLPattern`. + * Read more: https://nextjs.org/docs/messages/middleware-request-page + */ get page() { + throw new _error.RemovedPageError(); + } + /** + * @deprecated + * `ua` has been removed in favour of \`userAgent\` function. + * Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent + */ get ua() { + throw new _error.RemovedUAError(); + } + get url() { + return this[INTERNALS].url; + } +} +}), +"[project]/node_modules/next/dist/server/web/spec-extension/response.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "NextResponse", { + enumerable: true, + get: function() { + return NextResponse; + } +}); +const _cookies = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/cookies.js [middleware] (ecmascript)"); +const _nexturl = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/next-url.js [middleware] (ecmascript)"); +const _utils = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/utils.js [middleware] (ecmascript)"); +const _reflect = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [middleware] (ecmascript)"); +const _cookies1 = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/cookies.js [middleware] (ecmascript)"); +const INTERNALS = Symbol('internal response'); +const REDIRECTS = new Set([ + 301, + 302, + 303, + 307, + 308 +]); +function handleMiddlewareField(init, headers) { + var _init_request; + if (init == null ? void 0 : (_init_request = init.request) == null ? void 0 : _init_request.headers) { + if (!(init.request.headers instanceof Headers)) { + throw new Error('request.headers must be an instance of Headers'); + } + const keys = []; + for (const [key, value] of init.request.headers){ + headers.set('x-middleware-request-' + key, value); + keys.push(key); + } + headers.set('x-middleware-override-headers', keys.join(',')); + } +} +class NextResponse extends Response { + constructor(body, init = {}){ + super(body, init); + const headers = this.headers; + const cookies = new _cookies1.ResponseCookies(headers); + const cookiesProxy = new Proxy(cookies, { + get (target, prop, receiver) { + switch(prop){ + case 'delete': + case 'set': + { + return (...args)=>{ + const result = Reflect.apply(target[prop], target, args); + const newHeaders = new Headers(headers); + if (result instanceof _cookies1.ResponseCookies) { + headers.set('x-middleware-set-cookie', result.getAll().map((cookie)=>(0, _cookies.stringifyCookie)(cookie)).join(',')); + } + handleMiddlewareField(init, newHeaders); + return result; + }; + } + default: + return _reflect.ReflectAdapter.get(target, prop, receiver); + } + } + }); + this[INTERNALS] = { + cookies: cookiesProxy, + url: init.url ? new _nexturl.NextURL(init.url, { + headers: (0, _utils.toNodeOutgoingHttpHeaders)(headers), + nextConfig: init.nextConfig + }) : undefined + }; + } + [Symbol.for('edge-runtime.inspect.custom')]() { + return { + cookies: this.cookies, + url: this.url, + // rest of props come from Response + body: this.body, + bodyUsed: this.bodyUsed, + headers: Object.fromEntries(this.headers), + ok: this.ok, + redirected: this.redirected, + status: this.status, + statusText: this.statusText, + type: this.type + }; + } + get cookies() { + return this[INTERNALS].cookies; + } + static json(body, init) { + const response = Response.json(body, init); + return new NextResponse(response.body, response); + } + static redirect(url, init) { + const status = typeof init === 'number' ? init : (init == null ? void 0 : init.status) ?? 307; + if (!REDIRECTS.has(status)) { + throw new RangeError('Failed to execute "redirect" on "response": Invalid status code'); + } + const initObj = typeof init === 'object' ? init : {}; + const headers = new Headers(initObj == null ? void 0 : initObj.headers); + headers.set('Location', (0, _utils.validateURL)(url)); + return new NextResponse(null, { + ...initObj, + headers, + status + }); + } + static rewrite(destination, init) { + const headers = new Headers(init == null ? void 0 : init.headers); + headers.set('x-middleware-rewrite', (0, _utils.validateURL)(destination)); + handleMiddlewareField(init, headers); + return new NextResponse(null, { + ...init, + headers + }); + } + static next(init) { + const headers = new Headers(init == null ? void 0 : init.headers); + headers.set('x-middleware-next', '1'); + handleMiddlewareField(init, headers); + return new NextResponse(null, { + ...init, + headers + }); + } +} +}), +"[project]/node_modules/next/dist/server/web/spec-extension/url-pattern.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "URLPattern", { + enumerable: true, + get: function() { + return GlobalURLPattern; + } +}); +const GlobalURLPattern = typeof URLPattern === 'undefined' ? undefined : URLPattern; +}), +"[project]/node_modules/next/dist/server/web/spec-extension/user-agent.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + isBot: null, + userAgent: null, + userAgentFromString: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + isBot: function() { + return isBot; + }, + userAgent: function() { + return userAgent; + }, + userAgentFromString: function() { + return userAgentFromString; + } +}); +const _uaparserjs = /*#__PURE__*/ _interop_require_default(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/ua-parser-js/ua-parser.js [middleware] (ecmascript)")); +function _interop_require_default(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +function isBot(input) { + return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(input); +} +function userAgentFromString(input) { + return { + ...(0, _uaparserjs.default)(input), + isBot: input === undefined ? false : isBot(input) + }; +} +function userAgent({ headers }) { + return userAgentFromString(headers.get('user-agent') || undefined); +} +}), +"[project]/node_modules/next/dist/server/web/utils.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + fromNodeOutgoingHttpHeaders: null, + normalizeNextQueryParam: null, + splitCookiesString: null, + toNodeOutgoingHttpHeaders: null, + validateURL: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + fromNodeOutgoingHttpHeaders: function() { + return fromNodeOutgoingHttpHeaders; + }, + normalizeNextQueryParam: function() { + return normalizeNextQueryParam; + }, + splitCookiesString: function() { + return splitCookiesString; + }, + toNodeOutgoingHttpHeaders: function() { + return toNodeOutgoingHttpHeaders; + }, + validateURL: function() { + return validateURL; + } +}); +const _constants = __turbopack_context__.r("[project]/node_modules/next/dist/lib/constants.js [middleware] (ecmascript)"); +function fromNodeOutgoingHttpHeaders(nodeHeaders) { + const headers = new Headers(); + for (let [key, value] of Object.entries(nodeHeaders)){ + const values = Array.isArray(value) ? value : [ + value + ]; + for (let v of values){ + if (typeof v === 'undefined') continue; + if (typeof v === 'number') { + v = v.toString(); + } + headers.append(key, v); + } + } + return headers; +} +function splitCookiesString(cookiesString) { + var cookiesStrings = []; + var pos = 0; + var start; + var ch; + var lastComma; + var nextStart; + var cookiesSeparatorFound; + function skipWhitespace() { + while(pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))){ + pos += 1; + } + return pos < cookiesString.length; + } + function notSpecialChar() { + ch = cookiesString.charAt(pos); + return ch !== '=' && ch !== ';' && ch !== ','; + } + while(pos < cookiesString.length){ + start = pos; + cookiesSeparatorFound = false; + while(skipWhitespace()){ + ch = cookiesString.charAt(pos); + if (ch === ',') { + // ',' is a cookie separator if we have later first '=', not ';' or ',' + lastComma = pos; + pos += 1; + skipWhitespace(); + nextStart = pos; + while(pos < cookiesString.length && notSpecialChar()){ + pos += 1; + } + // currently special character + if (pos < cookiesString.length && cookiesString.charAt(pos) === '=') { + // we found cookies separator + cookiesSeparatorFound = true; + // pos is inside the next cookie, so back up and return it. + pos = nextStart; + cookiesStrings.push(cookiesString.substring(start, lastComma)); + start = pos; + } else { + // in param ',' or param separator ';', + // we continue from that comma + pos = lastComma + 1; + } + } else { + pos += 1; + } + } + if (!cookiesSeparatorFound || pos >= cookiesString.length) { + cookiesStrings.push(cookiesString.substring(start, cookiesString.length)); + } + } + return cookiesStrings; +} +function toNodeOutgoingHttpHeaders(headers) { + const nodeHeaders = {}; + const cookies = []; + if (headers) { + for (const [key, value] of headers.entries()){ + if (key.toLowerCase() === 'set-cookie') { + // We may have gotten a comma joined string of cookies, or multiple + // set-cookie headers. We need to merge them into one header array + // to represent all the cookies. + cookies.push(...splitCookiesString(value)); + nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies; + } else { + nodeHeaders[key] = value; + } + } + } + return nodeHeaders; +} +function validateURL(url) { + try { + return String(new URL(String(url))); + } catch (error) { + throw new Error(`URL is malformed "${String(url)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, { + cause: error + }); + } +} +function normalizeNextQueryParam(key) { + const prefixes = [ + _constants.NEXT_QUERY_PARAM_PREFIX, + _constants.NEXT_INTERCEPTION_MARKER_PREFIX + ]; + for (const prefix of prefixes){ + if (key !== prefix && key.startsWith(prefix)) { + return key.substring(prefix.length); + } + } + return null; +} +}), +"[project]/node_modules/next/dist/shared/lib/get-hostname.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "getHostname", { + enumerable: true, + get: function() { + return getHostname; + } +}); +function getHostname(parsed, headers) { + // Get the hostname from the headers if it exists, otherwise use the parsed + // hostname. + let hostname; + if (headers?.host && !Array.isArray(headers.host)) { + hostname = headers.host.toString().split(':', 1)[0]; + } else if (parsed.hostname) { + hostname = parsed.hostname; + } else return; + return hostname.toLowerCase(); +} +}), +"[project]/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "detectDomainLocale", { + enumerable: true, + get: function() { + return detectDomainLocale; + } +}); +function detectDomainLocale(domainItems, hostname, detectedLocale) { + if (!domainItems) return; + if (detectedLocale) { + detectedLocale = detectedLocale.toLowerCase(); + } + for (const item of domainItems){ + // remove port if present + const domainHostname = item.domain?.split(':', 1)[0].toLowerCase(); + if (hostname === domainHostname || detectedLocale === item.defaultLocale.toLowerCase() || item.locales?.some((locale)=>locale.toLowerCase() === detectedLocale)) { + return item; + } + } +} +}), +"[project]/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "normalizeLocalePath", { + enumerable: true, + get: function() { + return normalizeLocalePath; + } +}); +/** + * A cache of lowercased locales for each list of locales. This is stored as a + * WeakMap so if the locales are garbage collected, the cache entry will be + * removed as well. + */ const cache = new WeakMap(); +function normalizeLocalePath(pathname, locales) { + // If locales is undefined, return the pathname as is. + if (!locales) return { + pathname + }; + // Get the cached lowercased locales or create a new cache entry. + let lowercasedLocales = cache.get(locales); + if (!lowercasedLocales) { + lowercasedLocales = locales.map((locale)=>locale.toLowerCase()); + cache.set(locales, lowercasedLocales); + } + let detectedLocale; + // The first segment will be empty, because it has a leading `/`. If + // there is no further segment, there is no locale (or it's the default). + const segments = pathname.split('/', 2); + // If there's no second segment (ie, the pathname is just `/`), there's no + // locale. + if (!segments[1]) return { + pathname + }; + // The second segment will contain the locale part if any. + const segment = segments[1].toLowerCase(); + // See if the segment matches one of the locales. If it doesn't, there is + // no locale (or it's the default). + const index = lowercasedLocales.indexOf(segment); + if (index < 0) return { + pathname + }; + // Return the case-sensitive locale. + detectedLocale = locales[index]; + // Remove the `/${locale}` part of the pathname. + pathname = pathname.slice(detectedLocale.length + 1) || '/'; + return { + pathname, + detectedLocale + }; +} +}), +"[project]/node_modules/next/dist/shared/lib/instant-messages.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + createLinkPrefetchPartialError: null, + createUnrenderedSegmentError: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + createLinkPrefetchPartialError: function() { + return createLinkPrefetchPartialError; + }, + createUnrenderedSegmentError: function() { + return createUnrenderedSegmentError; + } +}); +function createUnrenderedSegmentError(route, missingFiles) { + let message = `Route "${route}": Could not validate that a segment in your UI has instant navigation.`; + if (missingFiles.length > 0) { + const label = missingFiles.length === 1 ? 'Dropped segment' : 'Dropped segments'; + message += `\n\nThis segment was dropped from rendering. Issues that would prevent instant navigation will go undetected.` + `\n\n${label}:\n${missingFiles.map((p)=>` ${p}`).join('\n')}` + `\n\nWays to fix this:` + `\n - [render] Render the dropped segment` + `\n - [ignore] Set \`export const instant = false\` to opt the dropped segment out of instant-navigation validation` + `\n\nLearn more: https://nextjs.org/docs/messages/instant-unrendered-segment`; + } + return new Error(message); +} +function createLinkPrefetchPartialError(pathname) { + return new Error(`Next.js encountered dynamic data during prefetching for "${pathname}".\n\n` + `This will lead to slower, more expensive prefetches.\n\n` + `Ways to fix this:\n` + ` - [upgrade] Opt into Partial Prefetching by exporting \`const prefetch = 'partial'\` from the page or layout, or by setting \`partialPrefetching: true\` in next.config to opt the whole app in\n` + ` - [disable] Remove \`prefetch={true}\` from the to use the default prefetch\n` + ` - [ignore] Set \`export const instant = false\` to opt the route out of instant-navigation validation\n\n` + `Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`); +} +}), +"[project]/node_modules/next/dist/shared/lib/invariant-error.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "InvariantError", { + enumerable: true, + get: function() { + return InvariantError; + } +}); +class InvariantError extends Error { + constructor(message, options){ + super(`Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`, options); + this.name = 'InvariantError'; + } +} +}), +"[project]/node_modules/next/dist/shared/lib/lazy-dynamic/react-browser-bailout.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +// This module is bundled separately into user code and the precompiled App +// Router runtime. Use the global symbol registry so both copies recognize the +// same browser bailout reason. +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + createReactBrowserBailoutReason: null, + getReactBrowserBailoutReason: null, + isNextBrowserBailoutError: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + createReactBrowserBailoutReason: function() { + return createReactBrowserBailoutReason; + }, + getReactBrowserBailoutReason: function() { + return getReactBrowserBailoutReason; + }, + isNextBrowserBailoutError: function() { + return isNextBrowserBailoutError; + } +}); +const REACT_BROWSER_BAILOUT_REASON = Symbol.for('next.browser-bailout-reason'); +function createReactBrowserBailoutReason(reason) { + return { + $$typeof: REACT_BROWSER_BAILOUT_REASON, + reason + }; +} +function getReactBrowserBailoutReason(error) { + const cause = error?.cause; + return cause?.$$typeof === REACT_BROWSER_BAILOUT_REASON ? cause.reason : undefined; +} +function isNextBrowserBailoutError(error) { + return getReactBrowserBailoutReason(error) !== undefined; +} +}), +"[project]/node_modules/next/dist/shared/lib/promise-with-resolvers.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "createPromiseWithResolvers", { + enumerable: true, + get: function() { + return createPromiseWithResolvers; + } +}); +function createPromiseWithResolvers() { + // Shim of Stage 4 Promise.withResolvers proposal + let resolve; + let reject; + const promise = new Promise((res, rej)=>{ + resolve = res; + reject = rej; + }); + return { + resolve: resolve, + reject: reject, + promise + }; +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/add-locale.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "addLocale", { + enumerable: true, + get: function() { + return addLocale; + } +}); +const _addpathprefix = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js [middleware] (ecmascript)"); +const _pathhasprefix = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js [middleware] (ecmascript)"); +function addLocale(path, locale, defaultLocale, ignorePrefix) { + // If no locale was given or the locale is the default locale, we don't need + // to prefix the path. + if (!locale || locale === defaultLocale) return path; + const lower = path.toLowerCase(); + // If the path is an API path or the path already has the locale prefix, we + // don't need to prefix the path. + if (!ignorePrefix) { + if ((0, _pathhasprefix.pathHasPrefix)(lower, '/api')) return path; + if ((0, _pathhasprefix.pathHasPrefix)(lower, `/${locale.toLowerCase()}`)) return path; + } + // Add the locale prefix to the path. + return (0, _addpathprefix.addPathPrefix)(path, `/${locale}`); +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "addPathPrefix", { + enumerable: true, + get: function() { + return addPathPrefix; + } +}); +const _parsepath = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/parse-path.js [middleware] (ecmascript)"); +function addPathPrefix(path, prefix) { + if (!path.startsWith('/') || !prefix) { + return path; + } + const { pathname, query, hash } = (0, _parsepath.parsePath)(path); + return `${prefix}${pathname}${query}${hash}`; +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "addPathSuffix", { + enumerable: true, + get: function() { + return addPathSuffix; + } +}); +const _parsepath = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/parse-path.js [middleware] (ecmascript)"); +function addPathSuffix(path, suffix) { + if (!path.startsWith('/') || !suffix) { + return path; + } + const { pathname, query, hash } = (0, _parsepath.parsePath)(path); + return `${pathname}${suffix}${query}${hash}`; +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "formatNextPathnameInfo", { + enumerable: true, + get: function() { + return formatNextPathnameInfo; + } +}); +const _removetrailingslash = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js [middleware] (ecmascript)"); +const _addpathprefix = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js [middleware] (ecmascript)"); +const _addpathsuffix = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js [middleware] (ecmascript)"); +const _addlocale = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/add-locale.js [middleware] (ecmascript)"); +function formatNextPathnameInfo(info) { + let pathname = (0, _addlocale.addLocale)(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix); + if (info.buildId || !info.trailingSlash) { + pathname = (0, _removetrailingslash.removeTrailingSlash)(pathname); + } + if (info.buildId) { + pathname = (0, _addpathsuffix.addPathSuffix)((0, _addpathprefix.addPathPrefix)(pathname, `/_next/data/${info.buildId}`), info.pathname === '/' ? 'index.json' : '.json'); + } + pathname = (0, _addpathprefix.addPathPrefix)(pathname, info.basePath); + return !info.buildId && info.trailingSlash ? !pathname.endsWith('/') ? (0, _addpathsuffix.addPathSuffix)(pathname, '/') : pathname : (0, _removetrailingslash.removeTrailingSlash)(pathname); +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "getNextPathnameInfo", { + enumerable: true, + get: function() { + return getNextPathnameInfo; + } +}); +const _normalizelocalepath = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js [middleware] (ecmascript)"); +const _removepathprefix = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js [middleware] (ecmascript)"); +const _pathhasprefix = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js [middleware] (ecmascript)"); +function getNextPathnameInfo(pathname, options) { + const { basePath, i18n, trailingSlash } = options.nextConfig ?? {}; + const info = { + pathname, + trailingSlash: pathname !== '/' ? pathname.endsWith('/') : trailingSlash + }; + if (basePath && (0, _pathhasprefix.pathHasPrefix)(info.pathname, basePath)) { + info.pathname = (0, _removepathprefix.removePathPrefix)(info.pathname, basePath); + info.basePath = basePath; + } + let pathnameNoDataPrefix = info.pathname; + if (info.pathname.startsWith('/_next/data/') && info.pathname.endsWith('.json')) { + const paths = info.pathname.replace(/^\/_next\/data\//, '').replace(/\.json$/, '').split('/'); + const buildId = paths[0]; + info.buildId = buildId; + pathnameNoDataPrefix = paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/'; + // update pathname with normalized if enabled although + // we use normalized to populate locale info still + if (options.parseData === true) { + info.pathname = pathnameNoDataPrefix; + } + } + // If provided, use the locale route normalizer to detect the locale instead + // of the function below. + if (i18n) { + let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, _normalizelocalepath.normalizeLocalePath)(info.pathname, i18n.locales); + info.locale = result.detectedLocale; + info.pathname = result.pathname ?? info.pathname; + if (!result.detectedLocale && info.buildId) { + result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, _normalizelocalepath.normalizeLocalePath)(pathnameNoDataPrefix, i18n.locales); + if (result.detectedLocale) { + info.locale = result.detectedLocale; + } + } + } + return info; +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "parseLoaderTree", { + enumerable: true, + get: function() { + return parseLoaderTree; + } +}); +const _segment = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/segment.js [middleware] (ecmascript)"); +function parseLoaderTree(tree) { + const [segment, parallelRoutes, modules, staticSiblings] = tree; + const { layout, template } = modules; + let { page } = modules; + // a __DEFAULT__ segment means that this route didn't match any of the + // segments in the route, so we should use the default page + page = segment === _segment.DEFAULT_SEGMENT_KEY ? modules.defaultPage : page; + const conventionPath = layout?.[1] || template?.[1] || page?.[1]; + return { + page, + segment, + modules, + /* it can be either layout / template / page */ conventionPath, + parallelRoutes, + staticSiblings + }; +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/parse-path.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/** + * Given a path this function will find the pathname, query and hash and return + * them. This is useful to parse full paths on the client side. + * @param path A path to parse e.g. /foo/bar?id=1#hash + */ Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "parsePath", { + enumerable: true, + get: function() { + return parsePath; + } +}); +function parsePath(path) { + const hashIndex = path.indexOf('#'); + const queryIndex = path.indexOf('?'); + const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex); + if (hasQuery || hashIndex > -1) { + return { + pathname: path.substring(0, hasQuery ? queryIndex : hashIndex), + query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : '', + hash: hashIndex > -1 ? path.slice(hashIndex) : '' + }; + } + return { + pathname: path, + query: '', + hash: '' + }; +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "pathHasPrefix", { + enumerable: true, + get: function() { + return pathHasPrefix; + } +}); +const _parsepath = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/parse-path.js [middleware] (ecmascript)"); +function pathHasPrefix(path, prefix) { + if (typeof path !== 'string') { + return false; + } + const { pathname } = (0, _parsepath.parsePath)(path); + return pathname === prefix || pathname.startsWith(prefix + '/'); +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "removePathPrefix", { + enumerable: true, + get: function() { + return removePathPrefix; + } +}); +const _pathhasprefix = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js [middleware] (ecmascript)"); +function removePathPrefix(path, prefix) { + // If the path doesn't start with the prefix we can return it as is. This + // protects us from situations where the prefix is a substring of the path + // prefix such as: + // + // For prefix: /blog + // + // /blog -> true + // /blog/ -> true + // /blog/1 -> true + // /blogging -> false + // /blogging/ -> false + // /blogging/1 -> false + if (!(0, _pathhasprefix.pathHasPrefix)(path, prefix)) { + return path; + } + // Remove the prefix from the path via slicing. + const withoutPrefix = path.slice(prefix.length); + // If the path without the prefix starts with a `/` we can return it as is. + if (withoutPrefix.startsWith('/')) { + return withoutPrefix; + } + // If the path without the prefix doesn't start with a `/` we need to add it + // back to the path to make sure it's a valid path. + return `/${withoutPrefix}`; +} +}), +"[project]/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +/** + * Removes the trailing slash for a given route or page path. Examples: + * - `/foo/bar/` -> `/foo/bar` + * - `/foo/bar` -> `/foo/bar` + * + * Uses charCodeAt (47 === '/') instead of regex to avoid the overhead of + * compiling and executing a RegExp on every call (~3-5x faster). + */ Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "removeTrailingSlash", { + enumerable: true, + get: function() { + return removeTrailingSlash; + } +}); +function removeTrailingSlash(route) { + return route.charCodeAt(route.length - 1) === 47 && route.length > 1 ? route.slice(0, -1) : route; +} +}), +"[project]/node_modules/next/dist/shared/lib/segment.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + DEFAULT_SEGMENT_KEY: null, + NOT_FOUND_SEGMENT_KEY: null, + PAGE_SEGMENT_KEY: null, + computeSelectedLayoutSegment: null, + getSegmentValue: null, + getSelectedLayoutSegmentPath: null, + isGroupSegment: null, + isParallelRouteSegment: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + DEFAULT_SEGMENT_KEY: function() { + return DEFAULT_SEGMENT_KEY; + }, + NOT_FOUND_SEGMENT_KEY: function() { + return NOT_FOUND_SEGMENT_KEY; + }, + PAGE_SEGMENT_KEY: function() { + return PAGE_SEGMENT_KEY; + }, + computeSelectedLayoutSegment: function() { + return computeSelectedLayoutSegment; + }, + getSegmentValue: function() { + return getSegmentValue; + }, + getSelectedLayoutSegmentPath: function() { + return getSelectedLayoutSegmentPath; + }, + isGroupSegment: function() { + return isGroupSegment; + }, + isParallelRouteSegment: function() { + return isParallelRouteSegment; + } +}); +function getSegmentValue(segment) { + return Array.isArray(segment) ? segment[1] : segment; +} +function isGroupSegment(segment) { + // Use array[0] for performant purpose + return segment[0] === '(' && segment.endsWith(')'); +} +function isParallelRouteSegment(segment) { + return segment.startsWith('@') && segment !== '@children'; +} +function computeSelectedLayoutSegment(segments, parallelRouteKey) { + if (!segments || segments.length === 0) { + return null; + } + // For 'children', use first segment; for other parallel routes, use last segment + const rawSegment = parallelRouteKey === 'children' ? segments[0] : segments[segments.length - 1]; + // If the default slot is showing, return null since it's not technically "selected" (it's a fallback) + // Returning an internal value like `__DEFAULT__` would be confusing + return rawSegment === DEFAULT_SEGMENT_KEY ? null : rawSegment; +} +function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first = true, segmentPath = []) { + let node; + if (first) { + // Use the provided parallel route key on the first parallel route + node = tree[1][parallelRouteKey]; + } else { + // After first parallel route prefer children, if there's no children pick the first parallel route. + const parallelRoutes = tree[1]; + node = parallelRoutes.children ?? Object.values(parallelRoutes)[0]; + } + if (!node) return segmentPath; + const segment = node[0]; + let segmentValue = getSegmentValue(segment); + if (!segmentValue || segmentValue === PAGE_SEGMENT_KEY) { + return segmentPath; + } + segmentPath.push(segmentValue); + return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath); +} +const PAGE_SEGMENT_KEY = '__PAGE__'; +const DEFAULT_SEGMENT_KEY = '__DEFAULT__'; +const NOT_FOUND_SEGMENT_KEY = '/_not-found'; +}), +]})(), +"[project]/node_modules/next/dist/compiled/@opentelemetry/api/index.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { + +(()=>{ + "use strict"; + var e = { + 912: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.ContextAPI = void 0; + const n = r(108); + const a = r(221); + const o = r(44); + const i = "context"; + const c = new n.NoopContextManager; + class ContextAPI { + constructor(){} + static getInstance() { + if (!this._instance) { + this._instance = new ContextAPI; + } + return this._instance; + } + setGlobalContextManager(e) { + return (0, a.registerGlobal)(i, e, o.DiagAPI.instance()); + } + active() { + return this._getContextManager().active(); + } + with(e, t, r, ...n) { + return this._getContextManager().with(e, t, r, ...n); + } + bind(e, t) { + return this._getContextManager().bind(e, t); + } + _getContextManager() { + return (0, a.getGlobal)(i) || c; + } + disable() { + this._getContextManager().disable(); + (0, a.unregisterGlobal)(i, o.DiagAPI.instance()); + } + } + t.ContextAPI = ContextAPI; + }, + 44: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.DiagAPI = void 0; + const n = r(757); + const a = r(412); + const o = r(711); + const i = r(221); + const c = "diag"; + class DiagAPI { + constructor(){ + function _logProxy(e) { + return function(...t) { + const r = (0, i.getGlobal)("diag"); + if (!r) return; + return r[e](...t); + }; + } + const e = this; + const setLogger = (t, r = { + logLevel: o.DiagLogLevel.INFO + })=>{ + var n, c, s; + if (t === e) { + const t = new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation"); + e.error((n = t.stack) !== null && n !== void 0 ? n : t.message); + return false; + } + if (typeof r === "number") { + r = { + logLevel: r + }; + } + const u = (0, i.getGlobal)("diag"); + const l = (0, a.createLogLevelDiagLogger)((c = r.logLevel) !== null && c !== void 0 ? c : o.DiagLogLevel.INFO, t); + if (u && !r.suppressOverrideMessage) { + const e = (s = (new Error).stack) !== null && s !== void 0 ? s : ""; + u.warn(`Current logger will be overwritten from ${e}`); + l.warn(`Current logger will overwrite one already registered from ${e}`); + } + return (0, i.registerGlobal)("diag", l, e, true); + }; + e.setLogger = setLogger; + e.disable = ()=>{ + (0, i.unregisterGlobal)(c, e); + }; + e.createComponentLogger = (e)=>new n.DiagComponentLogger(e); + e.verbose = _logProxy("verbose"); + e.debug = _logProxy("debug"); + e.info = _logProxy("info"); + e.warn = _logProxy("warn"); + e.error = _logProxy("error"); + } + static instance() { + if (!this._instance) { + this._instance = new DiagAPI; + } + return this._instance; + } + } + t.DiagAPI = DiagAPI; + }, + 262: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.MetricsAPI = void 0; + const n = r(586); + const a = r(221); + const o = r(44); + const i = "metrics"; + class MetricsAPI { + constructor(){} + static getInstance() { + if (!this._instance) { + this._instance = new MetricsAPI; + } + return this._instance; + } + setGlobalMeterProvider(e) { + return (0, a.registerGlobal)(i, e, o.DiagAPI.instance()); + } + getMeterProvider() { + return (0, a.getGlobal)(i) || n.NOOP_METER_PROVIDER; + } + getMeter(e, t, r) { + return this.getMeterProvider().getMeter(e, t, r); + } + disable() { + (0, a.unregisterGlobal)(i, o.DiagAPI.instance()); + } + } + t.MetricsAPI = MetricsAPI; + }, + 25: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.PropagationAPI = void 0; + const n = r(221); + const a = r(19); + const o = r(92); + const i = r(398); + const c = r(504); + const s = r(44); + const u = "propagation"; + const l = new a.NoopTextMapPropagator; + class PropagationAPI { + constructor(){ + this.createBaggage = c.createBaggage; + this.getBaggage = i.getBaggage; + this.getActiveBaggage = i.getActiveBaggage; + this.setBaggage = i.setBaggage; + this.deleteBaggage = i.deleteBaggage; + } + static getInstance() { + if (!this._instance) { + this._instance = new PropagationAPI; + } + return this._instance; + } + setGlobalPropagator(e) { + return (0, n.registerGlobal)(u, e, s.DiagAPI.instance()); + } + inject(e, t, r = o.defaultTextMapSetter) { + return this._getGlobalPropagator().inject(e, t, r); + } + extract(e, t, r = o.defaultTextMapGetter) { + return this._getGlobalPropagator().extract(e, t, r); + } + fields() { + return this._getGlobalPropagator().fields(); + } + disable() { + (0, n.unregisterGlobal)(u, s.DiagAPI.instance()); + } + _getGlobalPropagator() { + return (0, n.getGlobal)(u) || l; + } + } + t.PropagationAPI = PropagationAPI; + }, + 397: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.TraceAPI = void 0; + const n = r(221); + const a = r(498); + const o = r(477); + const i = r(793); + const c = r(44); + const s = "trace"; + class TraceAPI { + constructor(){ + this._proxyTracerProvider = new a.ProxyTracerProvider; + this.wrapSpanContext = o.wrapSpanContext; + this.isSpanContextValid = o.isSpanContextValid; + this.deleteSpan = i.deleteSpan; + this.getSpan = i.getSpan; + this.getActiveSpan = i.getActiveSpan; + this.getSpanContext = i.getSpanContext; + this.setSpan = i.setSpan; + this.setSpanContext = i.setSpanContext; + } + static getInstance() { + if (!this._instance) { + this._instance = new TraceAPI; + } + return this._instance; + } + setGlobalTracerProvider(e) { + const t = (0, n.registerGlobal)(s, this._proxyTracerProvider, c.DiagAPI.instance()); + if (t) { + this._proxyTracerProvider.setDelegate(e); + } + return t; + } + getTracerProvider() { + return (0, n.getGlobal)(s) || this._proxyTracerProvider; + } + getTracer(e, t) { + return this.getTracerProvider().getTracer(e, t); + } + disable() { + (0, n.unregisterGlobal)(s, c.DiagAPI.instance()); + this._proxyTracerProvider = new a.ProxyTracerProvider; + } + } + t.TraceAPI = TraceAPI; + }, + 398: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.deleteBaggage = t.setBaggage = t.getActiveBaggage = t.getBaggage = void 0; + const n = r(912); + const a = r(23); + const o = (0, a.createContextKey)("OpenTelemetry Baggage Key"); + function getBaggage(e) { + return e.getValue(o) || undefined; + } + t.getBaggage = getBaggage; + function getActiveBaggage() { + return getBaggage(n.ContextAPI.getInstance().active()); + } + t.getActiveBaggage = getActiveBaggage; + function setBaggage(e, t) { + return e.setValue(o, t); + } + t.setBaggage = setBaggage; + function deleteBaggage(e) { + return e.deleteValue(o); + } + t.deleteBaggage = deleteBaggage; + }, + 152: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.BaggageImpl = void 0; + class BaggageImpl { + constructor(e){ + this._entries = e ? new Map(e) : new Map; + } + getEntry(e) { + const t = this._entries.get(e); + if (!t) { + return undefined; + } + return Object.assign({}, t); + } + getAllEntries() { + return Array.from(this._entries.entries()).map(([e, t])=>[ + e, + t + ]); + } + setEntry(e, t) { + const r = new BaggageImpl(this._entries); + r._entries.set(e, t); + return r; + } + removeEntry(e) { + const t = new BaggageImpl(this._entries); + t._entries.delete(e); + return t; + } + removeEntries(...e) { + const t = new BaggageImpl(this._entries); + for (const r of e){ + t._entries.delete(r); + } + return t; + } + clear() { + return new BaggageImpl; + } + } + t.BaggageImpl = BaggageImpl; + }, + 647: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.baggageEntryMetadataSymbol = void 0; + t.baggageEntryMetadataSymbol = Symbol("BaggageEntryMetadata"); + }, + 504: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.baggageEntryMetadataFromString = t.createBaggage = void 0; + const n = r(44); + const a = r(152); + const o = r(647); + const i = n.DiagAPI.instance(); + function createBaggage(e = {}) { + return new a.BaggageImpl(new Map(Object.entries(e))); + } + t.createBaggage = createBaggage; + function baggageEntryMetadataFromString(e) { + if (typeof e !== "string") { + i.error(`Cannot create baggage metadata from unknown type: ${typeof e}`); + e = ""; + } + return { + __TYPE__: o.baggageEntryMetadataSymbol, + toString () { + return e; + } + }; + } + t.baggageEntryMetadataFromString = baggageEntryMetadataFromString; + }, + 778: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.context = void 0; + const n = r(912); + t.context = n.ContextAPI.getInstance(); + }, + 108: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.NoopContextManager = void 0; + const n = r(23); + class NoopContextManager { + active() { + return n.ROOT_CONTEXT; + } + with(e, t, r, ...n) { + return t.call(r, ...n); + } + bind(e, t) { + return t; + } + enable() { + return this; + } + disable() { + return this; + } + } + t.NoopContextManager = NoopContextManager; + }, + 23: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.ROOT_CONTEXT = t.createContextKey = void 0; + function createContextKey(e) { + return Symbol.for(e); + } + t.createContextKey = createContextKey; + class BaseContext { + constructor(e){ + const t = this; + t._currentContext = e ? new Map(e) : new Map; + t.getValue = (e)=>t._currentContext.get(e); + t.setValue = (e, r)=>{ + const n = new BaseContext(t._currentContext); + n._currentContext.set(e, r); + return n; + }; + t.deleteValue = (e)=>{ + const r = new BaseContext(t._currentContext); + r._currentContext.delete(e); + return r; + }; + } + } + t.ROOT_CONTEXT = new BaseContext; + }, + 304: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.diag = void 0; + const n = r(44); + t.diag = n.DiagAPI.instance(); + }, + 757: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.DiagComponentLogger = void 0; + const n = r(221); + class DiagComponentLogger { + constructor(e){ + this._namespace = e.namespace || "DiagComponentLogger"; + } + debug(...e) { + return logProxy("debug", this._namespace, e); + } + error(...e) { + return logProxy("error", this._namespace, e); + } + info(...e) { + return logProxy("info", this._namespace, e); + } + warn(...e) { + return logProxy("warn", this._namespace, e); + } + verbose(...e) { + return logProxy("verbose", this._namespace, e); + } + } + t.DiagComponentLogger = DiagComponentLogger; + function logProxy(e, t, r) { + const a = (0, n.getGlobal)("diag"); + if (!a) { + return; + } + r.unshift(t); + return a[e](...r); + } + }, + 83: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.DiagConsoleLogger = void 0; + const r = [ + { + n: "error", + c: "error" + }, + { + n: "warn", + c: "warn" + }, + { + n: "info", + c: "info" + }, + { + n: "debug", + c: "debug" + }, + { + n: "verbose", + c: "trace" + } + ]; + class DiagConsoleLogger { + constructor(){ + function _consoleFunc(e) { + return function(...t) { + if (console) { + let r = console[e]; + if (typeof r !== "function") { + r = console.log; + } + if (typeof r === "function") { + return r.apply(console, t); + } + } + }; + } + for(let e = 0; e < r.length; e++){ + this[r[e].n] = _consoleFunc(r[e].c); + } + } + } + t.DiagConsoleLogger = DiagConsoleLogger; + }, + 412: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.createLogLevelDiagLogger = void 0; + const n = r(711); + function createLogLevelDiagLogger(e, t) { + if (e < n.DiagLogLevel.NONE) { + e = n.DiagLogLevel.NONE; + } else if (e > n.DiagLogLevel.ALL) { + e = n.DiagLogLevel.ALL; + } + t = t || {}; + function _filterFunc(r, n) { + const a = t[r]; + if (typeof a === "function" && e >= n) { + return a.bind(t); + } + return function() {}; + } + return { + error: _filterFunc("error", n.DiagLogLevel.ERROR), + warn: _filterFunc("warn", n.DiagLogLevel.WARN), + info: _filterFunc("info", n.DiagLogLevel.INFO), + debug: _filterFunc("debug", n.DiagLogLevel.DEBUG), + verbose: _filterFunc("verbose", n.DiagLogLevel.VERBOSE) + }; + } + t.createLogLevelDiagLogger = createLogLevelDiagLogger; + }, + 711: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.DiagLogLevel = void 0; + var r; + (function(e) { + e[e["NONE"] = 0] = "NONE"; + e[e["ERROR"] = 30] = "ERROR"; + e[e["WARN"] = 50] = "WARN"; + e[e["INFO"] = 60] = "INFO"; + e[e["DEBUG"] = 70] = "DEBUG"; + e[e["VERBOSE"] = 80] = "VERBOSE"; + e[e["ALL"] = 9999] = "ALL"; + })(r = t.DiagLogLevel || (t.DiagLogLevel = {})); + }, + 221: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.unregisterGlobal = t.getGlobal = t.registerGlobal = void 0; + const n = r(678); + const a = r(652); + const o = r(662); + const i = a.VERSION.split(".")[0]; + const c = Symbol.for(`opentelemetry.js.api.${i}`); + const s = n._globalThis; + function registerGlobal(e, t, r, n = false) { + var o; + const i = s[c] = (o = s[c]) !== null && o !== void 0 ? o : { + version: a.VERSION + }; + if (!n && i[e]) { + const t = new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e}`); + r.error(t.stack || t.message); + return false; + } + if (i.version !== a.VERSION) { + const t = new Error(`@opentelemetry/api: Registration of version v${i.version} for ${e} does not match previously registered API v${a.VERSION}`); + r.error(t.stack || t.message); + return false; + } + i[e] = t; + r.debug(`@opentelemetry/api: Registered a global for ${e} v${a.VERSION}.`); + return true; + } + t.registerGlobal = registerGlobal; + function getGlobal(e) { + var t, r; + const n = (t = s[c]) === null || t === void 0 ? void 0 : t.version; + if (!n || !(0, o.isCompatible)(n)) { + return; + } + return (r = s[c]) === null || r === void 0 ? void 0 : r[e]; + } + t.getGlobal = getGlobal; + function unregisterGlobal(e, t) { + t.debug(`@opentelemetry/api: Unregistering a global for ${e} v${a.VERSION}.`); + const r = s[c]; + if (r) { + delete r[e]; + } + } + t.unregisterGlobal = unregisterGlobal; + }, + 662: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.isCompatible = t._makeCompatibilityCheck = void 0; + const n = r(652); + const a = /^(\d+)\.(\d+)\.(\d+)(-(.+))?$/; + function _makeCompatibilityCheck(e) { + const t = new Set([ + e + ]); + const r = new Set; + const n = e.match(a); + if (!n) { + return ()=>false; + } + const o = { + major: +n[1], + minor: +n[2], + patch: +n[3], + prerelease: n[4] + }; + if (o.prerelease != null) { + return function isExactmatch(t) { + return t === e; + }; + } + function _reject(e) { + r.add(e); + return false; + } + function _accept(e) { + t.add(e); + return true; + } + return function isCompatible(e) { + if (t.has(e)) { + return true; + } + if (r.has(e)) { + return false; + } + const n = e.match(a); + if (!n) { + return _reject(e); + } + const i = { + major: +n[1], + minor: +n[2], + patch: +n[3], + prerelease: n[4] + }; + if (i.prerelease != null) { + return _reject(e); + } + if (o.major !== i.major) { + return _reject(e); + } + if (o.major === 0) { + if (o.minor === i.minor && o.patch <= i.patch) { + return _accept(e); + } + return _reject(e); + } + if (o.minor <= i.minor) { + return _accept(e); + } + return _reject(e); + }; + } + t._makeCompatibilityCheck = _makeCompatibilityCheck; + t.isCompatible = _makeCompatibilityCheck(n.VERSION); + }, + 120: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.metrics = void 0; + const n = r(262); + t.metrics = n.MetricsAPI.getInstance(); + }, + 532: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.ValueType = void 0; + var r; + (function(e) { + e[e["INT"] = 0] = "INT"; + e[e["DOUBLE"] = 1] = "DOUBLE"; + })(r = t.ValueType || (t.ValueType = {})); + }, + 440: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.createNoopMeter = t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = t.NOOP_OBSERVABLE_GAUGE_METRIC = t.NOOP_OBSERVABLE_COUNTER_METRIC = t.NOOP_UP_DOWN_COUNTER_METRIC = t.NOOP_HISTOGRAM_METRIC = t.NOOP_COUNTER_METRIC = t.NOOP_METER = t.NoopObservableUpDownCounterMetric = t.NoopObservableGaugeMetric = t.NoopObservableCounterMetric = t.NoopObservableMetric = t.NoopHistogramMetric = t.NoopUpDownCounterMetric = t.NoopCounterMetric = t.NoopMetric = t.NoopMeter = void 0; + class NoopMeter { + constructor(){} + createHistogram(e, r) { + return t.NOOP_HISTOGRAM_METRIC; + } + createCounter(e, r) { + return t.NOOP_COUNTER_METRIC; + } + createUpDownCounter(e, r) { + return t.NOOP_UP_DOWN_COUNTER_METRIC; + } + createObservableGauge(e, r) { + return t.NOOP_OBSERVABLE_GAUGE_METRIC; + } + createObservableCounter(e, r) { + return t.NOOP_OBSERVABLE_COUNTER_METRIC; + } + createObservableUpDownCounter(e, r) { + return t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC; + } + addBatchObservableCallback(e, t) {} + removeBatchObservableCallback(e) {} + } + t.NoopMeter = NoopMeter; + class NoopMetric { + } + t.NoopMetric = NoopMetric; + class NoopCounterMetric extends NoopMetric { + add(e, t) {} + } + t.NoopCounterMetric = NoopCounterMetric; + class NoopUpDownCounterMetric extends NoopMetric { + add(e, t) {} + } + t.NoopUpDownCounterMetric = NoopUpDownCounterMetric; + class NoopHistogramMetric extends NoopMetric { + record(e, t) {} + } + t.NoopHistogramMetric = NoopHistogramMetric; + class NoopObservableMetric { + addCallback(e) {} + removeCallback(e) {} + } + t.NoopObservableMetric = NoopObservableMetric; + class NoopObservableCounterMetric extends NoopObservableMetric { + } + t.NoopObservableCounterMetric = NoopObservableCounterMetric; + class NoopObservableGaugeMetric extends NoopObservableMetric { + } + t.NoopObservableGaugeMetric = NoopObservableGaugeMetric; + class NoopObservableUpDownCounterMetric extends NoopObservableMetric { + } + t.NoopObservableUpDownCounterMetric = NoopObservableUpDownCounterMetric; + t.NOOP_METER = new NoopMeter; + t.NOOP_COUNTER_METRIC = new NoopCounterMetric; + t.NOOP_HISTOGRAM_METRIC = new NoopHistogramMetric; + t.NOOP_UP_DOWN_COUNTER_METRIC = new NoopUpDownCounterMetric; + t.NOOP_OBSERVABLE_COUNTER_METRIC = new NoopObservableCounterMetric; + t.NOOP_OBSERVABLE_GAUGE_METRIC = new NoopObservableGaugeMetric; + t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = new NoopObservableUpDownCounterMetric; + function createNoopMeter() { + return t.NOOP_METER; + } + t.createNoopMeter = createNoopMeter; + }, + 586: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.NOOP_METER_PROVIDER = t.NoopMeterProvider = void 0; + const n = r(440); + class NoopMeterProvider { + getMeter(e, t, r) { + return n.NOOP_METER; + } + } + t.NoopMeterProvider = NoopMeterProvider; + t.NOOP_METER_PROVIDER = new NoopMeterProvider; + }, + 678: function(e, t, r) { + var n = this && this.__createBinding || (Object.create ? function(e, t, r, n) { + if (n === undefined) n = r; + Object.defineProperty(e, n, { + enumerable: true, + get: function() { + return t[r]; + } + }); + } : function(e, t, r, n) { + if (n === undefined) n = r; + e[n] = t[r]; + }); + var a = this && this.__exportStar || function(e, t) { + for(var r in e)if (r !== "default" && !Object.prototype.hasOwnProperty.call(t, r)) n(t, e, r); + }; + Object.defineProperty(t, "__esModule", { + value: true + }); + a(r(59), t); + }, + 460: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t._globalThis = void 0; + t._globalThis = typeof globalThis === "object" ? globalThis : /*TURBOPACK member replacement*/ __turbopack_context__.g; + }, + 59: function(e, t, r) { + var n = this && this.__createBinding || (Object.create ? function(e, t, r, n) { + if (n === undefined) n = r; + Object.defineProperty(e, n, { + enumerable: true, + get: function() { + return t[r]; + } + }); + } : function(e, t, r, n) { + if (n === undefined) n = r; + e[n] = t[r]; + }); + var a = this && this.__exportStar || function(e, t) { + for(var r in e)if (r !== "default" && !Object.prototype.hasOwnProperty.call(t, r)) n(t, e, r); + }; + Object.defineProperty(t, "__esModule", { + value: true + }); + a(r(460), t); + }, + 27: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.propagation = void 0; + const n = r(25); + t.propagation = n.PropagationAPI.getInstance(); + }, + 19: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.NoopTextMapPropagator = void 0; + class NoopTextMapPropagator { + inject(e, t) {} + extract(e, t) { + return e; + } + fields() { + return []; + } + } + t.NoopTextMapPropagator = NoopTextMapPropagator; + }, + 92: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.defaultTextMapSetter = t.defaultTextMapGetter = void 0; + t.defaultTextMapGetter = { + get (e, t) { + if (e == null) { + return undefined; + } + return e[t]; + }, + keys (e) { + if (e == null) { + return []; + } + return Object.keys(e); + } + }; + t.defaultTextMapSetter = { + set (e, t, r) { + if (e == null) { + return; + } + e[t] = r; + } + }; + }, + 816: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.trace = void 0; + const n = r(397); + t.trace = n.TraceAPI.getInstance(); + }, + 374: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.NonRecordingSpan = void 0; + const n = r(546); + class NonRecordingSpan { + constructor(e = n.INVALID_SPAN_CONTEXT){ + this._spanContext = e; + } + spanContext() { + return this._spanContext; + } + setAttribute(e, t) { + return this; + } + setAttributes(e) { + return this; + } + addEvent(e, t) { + return this; + } + setStatus(e) { + return this; + } + updateName(e) { + return this; + } + end(e) {} + isRecording() { + return false; + } + recordException(e, t) {} + } + t.NonRecordingSpan = NonRecordingSpan; + }, + 637: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.NoopTracer = void 0; + const n = r(912); + const a = r(793); + const o = r(374); + const i = r(477); + const c = n.ContextAPI.getInstance(); + class NoopTracer { + startSpan(e, t, r = c.active()) { + const n = Boolean(t === null || t === void 0 ? void 0 : t.root); + if (n) { + return new o.NonRecordingSpan; + } + const s = r && (0, a.getSpanContext)(r); + if (isSpanContext(s) && (0, i.isSpanContextValid)(s)) { + return new o.NonRecordingSpan(s); + } else { + return new o.NonRecordingSpan; + } + } + startActiveSpan(e, t, r, n) { + let o; + let i; + let s; + if (arguments.length < 2) { + return; + } else if (arguments.length === 2) { + s = t; + } else if (arguments.length === 3) { + o = t; + s = r; + } else { + o = t; + i = r; + s = n; + } + const u = i !== null && i !== void 0 ? i : c.active(); + const l = this.startSpan(e, o, u); + const g = (0, a.setSpan)(u, l); + return c.with(g, s, undefined, l); + } + } + t.NoopTracer = NoopTracer; + function isSpanContext(e) { + return typeof e === "object" && typeof e["spanId"] === "string" && typeof e["traceId"] === "string" && typeof e["traceFlags"] === "number"; + } + }, + 76: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.NoopTracerProvider = void 0; + const n = r(637); + class NoopTracerProvider { + getTracer(e, t, r) { + return new n.NoopTracer; + } + } + t.NoopTracerProvider = NoopTracerProvider; + }, + 779: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.ProxyTracer = void 0; + const n = r(637); + const a = new n.NoopTracer; + class ProxyTracer { + constructor(e, t, r, n){ + this._provider = e; + this.name = t; + this.version = r; + this.options = n; + } + startSpan(e, t, r) { + return this._getTracer().startSpan(e, t, r); + } + startActiveSpan(e, t, r, n) { + const a = this._getTracer(); + return Reflect.apply(a.startActiveSpan, a, arguments); + } + _getTracer() { + if (this._delegate) { + return this._delegate; + } + const e = this._provider.getDelegateTracer(this.name, this.version, this.options); + if (!e) { + return a; + } + this._delegate = e; + return this._delegate; + } + } + t.ProxyTracer = ProxyTracer; + }, + 498: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.ProxyTracerProvider = void 0; + const n = r(779); + const a = r(76); + const o = new a.NoopTracerProvider; + class ProxyTracerProvider { + getTracer(e, t, r) { + var a; + return (a = this.getDelegateTracer(e, t, r)) !== null && a !== void 0 ? a : new n.ProxyTracer(this, e, t, r); + } + getDelegate() { + var e; + return (e = this._delegate) !== null && e !== void 0 ? e : o; + } + setDelegate(e) { + this._delegate = e; + } + getDelegateTracer(e, t, r) { + var n; + return (n = this._delegate) === null || n === void 0 ? void 0 : n.getTracer(e, t, r); + } + } + t.ProxyTracerProvider = ProxyTracerProvider; + }, + 312: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.SamplingDecision = void 0; + var r; + (function(e) { + e[e["NOT_RECORD"] = 0] = "NOT_RECORD"; + e[e["RECORD"] = 1] = "RECORD"; + e[e["RECORD_AND_SAMPLED"] = 2] = "RECORD_AND_SAMPLED"; + })(r = t.SamplingDecision || (t.SamplingDecision = {})); + }, + 793: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.getSpanContext = t.setSpanContext = t.deleteSpan = t.setSpan = t.getActiveSpan = t.getSpan = void 0; + const n = r(23); + const a = r(374); + const o = r(912); + const i = (0, n.createContextKey)("OpenTelemetry Context Key SPAN"); + function getSpan(e) { + return e.getValue(i) || undefined; + } + t.getSpan = getSpan; + function getActiveSpan() { + return getSpan(o.ContextAPI.getInstance().active()); + } + t.getActiveSpan = getActiveSpan; + function setSpan(e, t) { + return e.setValue(i, t); + } + t.setSpan = setSpan; + function deleteSpan(e) { + return e.deleteValue(i); + } + t.deleteSpan = deleteSpan; + function setSpanContext(e, t) { + return setSpan(e, new a.NonRecordingSpan(t)); + } + t.setSpanContext = setSpanContext; + function getSpanContext(e) { + var t; + return (t = getSpan(e)) === null || t === void 0 ? void 0 : t.spanContext(); + } + t.getSpanContext = getSpanContext; + }, + 285: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.TraceStateImpl = void 0; + const n = r(240); + const a = 32; + const o = 512; + const i = ","; + const c = "="; + class TraceStateImpl { + constructor(e){ + this._internalState = new Map; + if (e) this._parse(e); + } + set(e, t) { + const r = this._clone(); + if (r._internalState.has(e)) { + r._internalState.delete(e); + } + r._internalState.set(e, t); + return r; + } + unset(e) { + const t = this._clone(); + t._internalState.delete(e); + return t; + } + get(e) { + return this._internalState.get(e); + } + serialize() { + return this._keys().reduce((e, t)=>{ + e.push(t + c + this.get(t)); + return e; + }, []).join(i); + } + _parse(e) { + if (e.length > o) return; + this._internalState = e.split(i).reverse().reduce((e, t)=>{ + const r = t.trim(); + const a = r.indexOf(c); + if (a !== -1) { + const o = r.slice(0, a); + const i = r.slice(a + 1, t.length); + if ((0, n.validateKey)(o) && (0, n.validateValue)(i)) { + e.set(o, i); + } else {} + } + return e; + }, new Map); + if (this._internalState.size > a) { + this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, a)); + } + } + _keys() { + return Array.from(this._internalState.keys()).reverse(); + } + _clone() { + const e = new TraceStateImpl; + e._internalState = new Map(this._internalState); + return e; + } + } + t.TraceStateImpl = TraceStateImpl; + }, + 240: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.validateValue = t.validateKey = void 0; + const r = "[_0-9a-z-*/]"; + const n = `[a-z]${r}{0,255}`; + const a = `[a-z0-9]${r}{0,240}@[a-z]${r}{0,13}`; + const o = new RegExp(`^(?:${n}|${a})$`); + const i = /^[ -~]{0,255}[!-~]$/; + const c = /,|=/; + function validateKey(e) { + return o.test(e); + } + t.validateKey = validateKey; + function validateValue(e) { + return i.test(e) && !c.test(e); + } + t.validateValue = validateValue; + }, + 87: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.createTraceState = void 0; + const n = r(285); + function createTraceState(e) { + return new n.TraceStateImpl(e); + } + t.createTraceState = createTraceState; + }, + 546: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.INVALID_SPAN_CONTEXT = t.INVALID_TRACEID = t.INVALID_SPANID = void 0; + const n = r(731); + t.INVALID_SPANID = "0000000000000000"; + t.INVALID_TRACEID = "00000000000000000000000000000000"; + t.INVALID_SPAN_CONTEXT = { + traceId: t.INVALID_TRACEID, + spanId: t.INVALID_SPANID, + traceFlags: n.TraceFlags.NONE + }; + }, + 613: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.SpanKind = void 0; + var r; + (function(e) { + e[e["INTERNAL"] = 0] = "INTERNAL"; + e[e["SERVER"] = 1] = "SERVER"; + e[e["CLIENT"] = 2] = "CLIENT"; + e[e["PRODUCER"] = 3] = "PRODUCER"; + e[e["CONSUMER"] = 4] = "CONSUMER"; + })(r = t.SpanKind || (t.SpanKind = {})); + }, + 477: (e, t, r)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.wrapSpanContext = t.isSpanContextValid = t.isValidSpanId = t.isValidTraceId = void 0; + const n = r(546); + const a = r(374); + const o = /^([0-9a-f]{32})$/i; + const i = /^[0-9a-f]{16}$/i; + function isValidTraceId(e) { + return o.test(e) && e !== n.INVALID_TRACEID; + } + t.isValidTraceId = isValidTraceId; + function isValidSpanId(e) { + return i.test(e) && e !== n.INVALID_SPANID; + } + t.isValidSpanId = isValidSpanId; + function isSpanContextValid(e) { + return isValidTraceId(e.traceId) && isValidSpanId(e.spanId); + } + t.isSpanContextValid = isSpanContextValid; + function wrapSpanContext(e) { + return new a.NonRecordingSpan(e); + } + t.wrapSpanContext = wrapSpanContext; + }, + 854: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.SpanStatusCode = void 0; + var r; + (function(e) { + e[e["UNSET"] = 0] = "UNSET"; + e[e["OK"] = 1] = "OK"; + e[e["ERROR"] = 2] = "ERROR"; + })(r = t.SpanStatusCode || (t.SpanStatusCode = {})); + }, + 731: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.TraceFlags = void 0; + var r; + (function(e) { + e[e["NONE"] = 0] = "NONE"; + e[e["SAMPLED"] = 1] = "SAMPLED"; + })(r = t.TraceFlags || (t.TraceFlags = {})); + }, + 652: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + t.VERSION = void 0; + t.VERSION = "1.6.0"; + } + }; + var t = {}; + function __nccwpck_require__(r) { + var n = t[r]; + if (n !== undefined) { + return n.exports; + } + var a = t[r] = { + exports: {} + }; + var o = true; + try { + e[r].call(a.exports, a, a.exports, __nccwpck_require__); + o = false; + } finally{ + if (o) delete t[r]; + } + return a.exports; + } + if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/node_modules/next/dist/compiled/@opentelemetry/api") + "/"; + var r = {}; + (()=>{ + var e = r; + Object.defineProperty(e, "__esModule", { + value: true + }); + e.trace = e.propagation = e.metrics = e.diag = e.context = e.INVALID_SPAN_CONTEXT = e.INVALID_TRACEID = e.INVALID_SPANID = e.isValidSpanId = e.isValidTraceId = e.isSpanContextValid = e.createTraceState = e.TraceFlags = e.SpanStatusCode = e.SpanKind = e.SamplingDecision = e.ProxyTracerProvider = e.ProxyTracer = e.defaultTextMapSetter = e.defaultTextMapGetter = e.ValueType = e.createNoopMeter = e.DiagLogLevel = e.DiagConsoleLogger = e.ROOT_CONTEXT = e.createContextKey = e.baggageEntryMetadataFromString = void 0; + var t = __nccwpck_require__(504); + Object.defineProperty(e, "baggageEntryMetadataFromString", { + enumerable: true, + get: function() { + return t.baggageEntryMetadataFromString; + } + }); + var n = __nccwpck_require__(23); + Object.defineProperty(e, "createContextKey", { + enumerable: true, + get: function() { + return n.createContextKey; + } + }); + Object.defineProperty(e, "ROOT_CONTEXT", { + enumerable: true, + get: function() { + return n.ROOT_CONTEXT; + } + }); + var a = __nccwpck_require__(83); + Object.defineProperty(e, "DiagConsoleLogger", { + enumerable: true, + get: function() { + return a.DiagConsoleLogger; + } + }); + var o = __nccwpck_require__(711); + Object.defineProperty(e, "DiagLogLevel", { + enumerable: true, + get: function() { + return o.DiagLogLevel; + } + }); + var i = __nccwpck_require__(440); + Object.defineProperty(e, "createNoopMeter", { + enumerable: true, + get: function() { + return i.createNoopMeter; + } + }); + var c = __nccwpck_require__(532); + Object.defineProperty(e, "ValueType", { + enumerable: true, + get: function() { + return c.ValueType; + } + }); + var s = __nccwpck_require__(92); + Object.defineProperty(e, "defaultTextMapGetter", { + enumerable: true, + get: function() { + return s.defaultTextMapGetter; + } + }); + Object.defineProperty(e, "defaultTextMapSetter", { + enumerable: true, + get: function() { + return s.defaultTextMapSetter; + } + }); + var u = __nccwpck_require__(779); + Object.defineProperty(e, "ProxyTracer", { + enumerable: true, + get: function() { + return u.ProxyTracer; + } + }); + var l = __nccwpck_require__(498); + Object.defineProperty(e, "ProxyTracerProvider", { + enumerable: true, + get: function() { + return l.ProxyTracerProvider; + } + }); + var g = __nccwpck_require__(312); + Object.defineProperty(e, "SamplingDecision", { + enumerable: true, + get: function() { + return g.SamplingDecision; + } + }); + var p = __nccwpck_require__(613); + Object.defineProperty(e, "SpanKind", { + enumerable: true, + get: function() { + return p.SpanKind; + } + }); + var d = __nccwpck_require__(854); + Object.defineProperty(e, "SpanStatusCode", { + enumerable: true, + get: function() { + return d.SpanStatusCode; + } + }); + var _ = __nccwpck_require__(731); + Object.defineProperty(e, "TraceFlags", { + enumerable: true, + get: function() { + return _.TraceFlags; + } + }); + var f = __nccwpck_require__(87); + Object.defineProperty(e, "createTraceState", { + enumerable: true, + get: function() { + return f.createTraceState; + } + }); + var b = __nccwpck_require__(477); + Object.defineProperty(e, "isSpanContextValid", { + enumerable: true, + get: function() { + return b.isSpanContextValid; + } + }); + Object.defineProperty(e, "isValidTraceId", { + enumerable: true, + get: function() { + return b.isValidTraceId; + } + }); + Object.defineProperty(e, "isValidSpanId", { + enumerable: true, + get: function() { + return b.isValidSpanId; + } + }); + var v = __nccwpck_require__(546); + Object.defineProperty(e, "INVALID_SPANID", { + enumerable: true, + get: function() { + return v.INVALID_SPANID; + } + }); + Object.defineProperty(e, "INVALID_TRACEID", { + enumerable: true, + get: function() { + return v.INVALID_TRACEID; + } + }); + Object.defineProperty(e, "INVALID_SPAN_CONTEXT", { + enumerable: true, + get: function() { + return v.INVALID_SPAN_CONTEXT; + } + }); + const O = __nccwpck_require__(778); + Object.defineProperty(e, "context", { + enumerable: true, + get: function() { + return O.context; + } + }); + const P = __nccwpck_require__(304); + Object.defineProperty(e, "diag", { + enumerable: true, + get: function() { + return P.diag; + } + }); + const N = __nccwpck_require__(120); + Object.defineProperty(e, "metrics", { + enumerable: true, + get: function() { + return N.metrics; + } + }); + const S = __nccwpck_require__(27); + Object.defineProperty(e, "propagation", { + enumerable: true, + get: function() { + return S.propagation; + } + }); + const C = __nccwpck_require__(816); + Object.defineProperty(e, "trace", { + enumerable: true, + get: function() { + return C.trace; + } + }); + e["default"] = { + context: O.context, + diag: P.diag, + metrics: N.metrics, + propagation: S.propagation, + trace: C.trace + }; + })(); + module.exports = r; +})(); +}), +"[project]/node_modules/next/dist/compiled/cookie/index.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { + +(()=>{ + "use strict"; + if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/node_modules/next/dist/compiled/cookie") + "/"; + var e = {}; + (()=>{ + var r = e; + /*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ r.parse = parse; + r.serialize = serialize; + var i = decodeURIComponent; + var t = encodeURIComponent; + var a = /; */; + var n = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; + function parse(e, r) { + if (typeof e !== "string") { + throw new TypeError("argument str must be a string"); + } + var t = {}; + var n = r || {}; + var o = e.split(a); + var s = n.decode || i; + for(var p = 0; p < o.length; p++){ + var f = o[p]; + var u = f.indexOf("="); + if (u < 0) { + continue; + } + var v = f.substr(0, u).trim(); + var c = f.substr(++u, f.length).trim(); + if ('"' == c[0]) { + c = c.slice(1, -1); + } + if (undefined == t[v]) { + t[v] = tryDecode(c, s); + } + } + return t; + } + function serialize(e, r, i) { + var a = i || {}; + var o = a.encode || t; + if (typeof o !== "function") { + throw new TypeError("option encode is invalid"); + } + if (!n.test(e)) { + throw new TypeError("argument name is invalid"); + } + var s = o(r); + if (s && !n.test(s)) { + throw new TypeError("argument val is invalid"); + } + var p = e + "=" + s; + if (null != a.maxAge) { + var f = a.maxAge - 0; + if (isNaN(f) || !isFinite(f)) { + throw new TypeError("option maxAge is invalid"); + } + p += "; Max-Age=" + Math.floor(f); + } + if (a.domain) { + if (!n.test(a.domain)) { + throw new TypeError("option domain is invalid"); + } + p += "; Domain=" + a.domain; + } + if (a.path) { + if (!n.test(a.path)) { + throw new TypeError("option path is invalid"); + } + p += "; Path=" + a.path; + } + if (a.expires) { + if (typeof a.expires.toUTCString !== "function") { + throw new TypeError("option expires is invalid"); + } + p += "; Expires=" + a.expires.toUTCString(); + } + if (a.httpOnly) { + p += "; HttpOnly"; + } + if (a.secure) { + p += "; Secure"; + } + if (a.sameSite) { + var u = typeof a.sameSite === "string" ? a.sameSite.toLowerCase() : a.sameSite; + switch(u){ + case true: + p += "; SameSite=Strict"; + break; + case "lax": + p += "; SameSite=Lax"; + break; + case "strict": + p += "; SameSite=Strict"; + break; + case "none": + p += "; SameSite=None"; + break; + default: + throw new TypeError("option sameSite is invalid"); + } + } + return p; + } + function tryDecode(e, r) { + try { + return r(e); + } catch (r) { + return e; + } + } + })(); + module.exports = e; +})(); +}), +"[project]/node_modules/next/dist/compiled/p-queue/index.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { + +(()=>{ + "use strict"; + var e = { + 234: (e)=>{ + var t = Object.prototype.hasOwnProperty, n = "~"; + function Events() {} + if (Object.create) { + Events.prototype = Object.create(null); + if (!(new Events).__proto__) n = false; + } + function EE(e, t, n) { + this.fn = e; + this.context = t; + this.once = n || false; + } + function addListener(e, t, r, i, s) { + if (typeof r !== "function") { + throw new TypeError("The listener must be a function"); + } + var o = new EE(r, i || e, s), u = n ? n + t : t; + if (!e._events[u]) e._events[u] = o, e._eventsCount++; + else if (!e._events[u].fn) e._events[u].push(o); + else e._events[u] = [ + e._events[u], + o + ]; + return e; + } + function clearEvent(e, t) { + if (--e._eventsCount === 0) e._events = new Events; + else delete e._events[t]; + } + function EventEmitter() { + this._events = new Events; + this._eventsCount = 0; + } + EventEmitter.prototype.eventNames = function eventNames() { + var e = [], r, i; + if (this._eventsCount === 0) return e; + for(i in r = this._events){ + if (t.call(r, i)) e.push(n ? i.slice(1) : i); + } + if (Object.getOwnPropertySymbols) { + return e.concat(Object.getOwnPropertySymbols(r)); + } + return e; + }; + EventEmitter.prototype.listeners = function listeners(e) { + var t = n ? n + e : e, r = this._events[t]; + if (!r) return []; + if (r.fn) return [ + r.fn + ]; + for(var i = 0, s = r.length, o = new Array(s); i < s; i++){ + o[i] = r[i].fn; + } + return o; + }; + EventEmitter.prototype.listenerCount = function listenerCount(e) { + var t = n ? n + e : e, r = this._events[t]; + if (!r) return 0; + if (r.fn) return 1; + return r.length; + }; + EventEmitter.prototype.emit = function emit(e, t, r, i, s, o) { + var u = n ? n + e : e; + if (!this._events[u]) return false; + var a = this._events[u], l = arguments.length, c, h; + if (a.fn) { + if (a.once) this.removeListener(e, a.fn, undefined, true); + switch(l){ + case 1: + return a.fn.call(a.context), true; + case 2: + return a.fn.call(a.context, t), true; + case 3: + return a.fn.call(a.context, t, r), true; + case 4: + return a.fn.call(a.context, t, r, i), true; + case 5: + return a.fn.call(a.context, t, r, i, s), true; + case 6: + return a.fn.call(a.context, t, r, i, s, o), true; + } + for(h = 1, c = new Array(l - 1); h < l; h++){ + c[h - 1] = arguments[h]; + } + a.fn.apply(a.context, c); + } else { + var _ = a.length, f; + for(h = 0; h < _; h++){ + if (a[h].once) this.removeListener(e, a[h].fn, undefined, true); + switch(l){ + case 1: + a[h].fn.call(a[h].context); + break; + case 2: + a[h].fn.call(a[h].context, t); + break; + case 3: + a[h].fn.call(a[h].context, t, r); + break; + case 4: + a[h].fn.call(a[h].context, t, r, i); + break; + default: + if (!c) for(f = 1, c = new Array(l - 1); f < l; f++){ + c[f - 1] = arguments[f]; + } + a[h].fn.apply(a[h].context, c); + } + } + } + return true; + }; + EventEmitter.prototype.on = function on(e, t, n) { + return addListener(this, e, t, n, false); + }; + EventEmitter.prototype.once = function once(e, t, n) { + return addListener(this, e, t, n, true); + }; + EventEmitter.prototype.removeListener = function removeListener(e, t, r, i) { + var s = n ? n + e : e; + if (!this._events[s]) return this; + if (!t) { + clearEvent(this, s); + return this; + } + var o = this._events[s]; + if (o.fn) { + if (o.fn === t && (!i || o.once) && (!r || o.context === r)) { + clearEvent(this, s); + } + } else { + for(var u = 0, a = [], l = o.length; u < l; u++){ + if (o[u].fn !== t || i && !o[u].once || r && o[u].context !== r) { + a.push(o[u]); + } + } + if (a.length) this._events[s] = a.length === 1 ? a[0] : a; + else clearEvent(this, s); + } + return this; + }; + EventEmitter.prototype.removeAllListeners = function removeAllListeners(e) { + var t; + if (e) { + t = n ? n + e : e; + if (this._events[t]) clearEvent(this, t); + } else { + this._events = new Events; + this._eventsCount = 0; + } + return this; + }; + EventEmitter.prototype.off = EventEmitter.prototype.removeListener; + EventEmitter.prototype.addListener = EventEmitter.prototype.on; + EventEmitter.prefixed = n; + EventEmitter.EventEmitter = EventEmitter; + if ("TURBOPACK compile-time truthy", 1) { + e.exports = EventEmitter; + } + }, + 274: (e)=>{ + e.exports = (e, t)=>{ + t = t || (()=>{}); + return e.then((e)=>new Promise((e)=>{ + e(t()); + }).then(()=>e), (e)=>new Promise((e)=>{ + e(t()); + }).then(()=>{ + throw e; + })); + }; + }, + 294: (e, t)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + function lowerBound(e, t, n) { + let r = 0; + let i = e.length; + while(i > 0){ + const s = i / 2 | 0; + let o = r + s; + if (n(e[o], t) <= 0) { + r = ++o; + i -= s + 1; + } else { + i = s; + } + } + return r; + } + t["default"] = lowerBound; + }, + 838: (e, t, n)=>{ + Object.defineProperty(t, "__esModule", { + value: true + }); + const r = n(294); + class PriorityQueue { + constructor(){ + this._queue = []; + } + enqueue(e, t) { + t = Object.assign({ + priority: 0 + }, t); + const n = { + priority: t.priority, + run: e + }; + if (this.size && this._queue[this.size - 1].priority >= t.priority) { + this._queue.push(n); + return; + } + const i = r.default(this._queue, n, (e, t)=>t.priority - e.priority); + this._queue.splice(i, 0, n); + } + dequeue() { + const e = this._queue.shift(); + return e === null || e === void 0 ? void 0 : e.run; + } + filter(e) { + return this._queue.filter((t)=>t.priority === e.priority).map((e)=>e.run); + } + get size() { + return this._queue.length; + } + } + t["default"] = PriorityQueue; + }, + 138: (e, t, n)=>{ + const r = n(274); + class TimeoutError extends Error { + constructor(e){ + super(e); + this.name = "TimeoutError"; + } + } + const pTimeout = (e, t, n)=>new Promise((i, s)=>{ + if (typeof t !== "number" || t < 0) { + throw new TypeError("Expected `milliseconds` to be a positive number"); + } + if (t === Infinity) { + i(e); + return; + } + const o = setTimeout(()=>{ + if (typeof n === "function") { + try { + i(n()); + } catch (e) { + s(e); + } + return; + } + const r = typeof n === "string" ? n : `Promise timed out after ${t} milliseconds`; + const o = n instanceof Error ? n : new TimeoutError(r); + if (typeof e.cancel === "function") { + e.cancel(); + } + s(o); + }, t); + r(e.then(i, s), ()=>{ + clearTimeout(o); + }); + }); + e.exports = pTimeout; + e.exports["default"] = pTimeout; + e.exports.TimeoutError = TimeoutError; + } + }; + var t = {}; + function __nccwpck_require__(n) { + var r = t[n]; + if (r !== undefined) { + return r.exports; + } + var i = t[n] = { + exports: {} + }; + var s = true; + try { + e[n](i, i.exports, __nccwpck_require__); + s = false; + } finally{ + if (s) delete t[n]; + } + return i.exports; + } + if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/node_modules/next/dist/compiled/p-queue") + "/"; + var n = {}; + (()=>{ + var e = n; + Object.defineProperty(e, "__esModule", { + value: true + }); + const t = __nccwpck_require__(234); + const r = __nccwpck_require__(138); + const i = __nccwpck_require__(838); + const empty = ()=>{}; + const s = new r.TimeoutError; + class PQueue extends t { + constructor(e){ + var t, n, r, s; + super(); + this._intervalCount = 0; + this._intervalEnd = 0; + this._pendingCount = 0; + this._resolveEmpty = empty; + this._resolveIdle = empty; + e = Object.assign({ + carryoverConcurrencyCount: false, + intervalCap: Infinity, + interval: 0, + concurrency: Infinity, + autoStart: true, + queueClass: i.default + }, e); + if (!(typeof e.intervalCap === "number" && e.intervalCap >= 1)) { + throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n = (t = e.intervalCap) === null || t === void 0 ? void 0 : t.toString()) !== null && n !== void 0 ? n : ""}\` (${typeof e.intervalCap})`); + } + if (e.interval === undefined || !(Number.isFinite(e.interval) && e.interval >= 0)) { + throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s = (r = e.interval) === null || r === void 0 ? void 0 : r.toString()) !== null && s !== void 0 ? s : ""}\` (${typeof e.interval})`); + } + this._carryoverConcurrencyCount = e.carryoverConcurrencyCount; + this._isIntervalIgnored = e.intervalCap === Infinity || e.interval === 0; + this._intervalCap = e.intervalCap; + this._interval = e.interval; + this._queue = new e.queueClass; + this._queueClass = e.queueClass; + this.concurrency = e.concurrency; + this._timeout = e.timeout; + this._throwOnTimeout = e.throwOnTimeout === true; + this._isPaused = e.autoStart === false; + } + get _doesIntervalAllowAnother() { + return this._isIntervalIgnored || this._intervalCount < this._intervalCap; + } + get _doesConcurrentAllowAnother() { + return this._pendingCount < this._concurrency; + } + _next() { + this._pendingCount--; + this._tryToStartAnother(); + this.emit("next"); + } + _resolvePromises() { + this._resolveEmpty(); + this._resolveEmpty = empty; + if (this._pendingCount === 0) { + this._resolveIdle(); + this._resolveIdle = empty; + this.emit("idle"); + } + } + _onResumeInterval() { + this._onInterval(); + this._initializeIntervalIfNeeded(); + this._timeoutId = undefined; + } + _isIntervalPaused() { + const e = Date.now(); + if (this._intervalId === undefined) { + const t = this._intervalEnd - e; + if (t < 0) { + this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0; + } else { + if (this._timeoutId === undefined) { + this._timeoutId = setTimeout(()=>{ + this._onResumeInterval(); + }, t); + } + return true; + } + } + return false; + } + _tryToStartAnother() { + if (this._queue.size === 0) { + if (this._intervalId) { + clearInterval(this._intervalId); + } + this._intervalId = undefined; + this._resolvePromises(); + return false; + } + if (!this._isPaused) { + const e = !this._isIntervalPaused(); + if (this._doesIntervalAllowAnother && this._doesConcurrentAllowAnother) { + const t = this._queue.dequeue(); + if (!t) { + return false; + } + this.emit("active"); + t(); + if (e) { + this._initializeIntervalIfNeeded(); + } + return true; + } + } + return false; + } + _initializeIntervalIfNeeded() { + if (this._isIntervalIgnored || this._intervalId !== undefined) { + return; + } + this._intervalId = setInterval(()=>{ + this._onInterval(); + }, this._interval); + this._intervalEnd = Date.now() + this._interval; + } + _onInterval() { + if (this._intervalCount === 0 && this._pendingCount === 0 && this._intervalId) { + clearInterval(this._intervalId); + this._intervalId = undefined; + } + this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0; + this._processQueue(); + } + _processQueue() { + while(this._tryToStartAnother()){} + } + get concurrency() { + return this._concurrency; + } + set concurrency(e) { + if (!(typeof e === "number" && e >= 1)) { + throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`); + } + this._concurrency = e; + this._processQueue(); + } + async add(e, t = {}) { + return new Promise((n, i)=>{ + const run = async ()=>{ + this._pendingCount++; + this._intervalCount++; + try { + const o = this._timeout === undefined && t.timeout === undefined ? e() : r.default(Promise.resolve(e()), t.timeout === undefined ? this._timeout : t.timeout, ()=>{ + if (t.throwOnTimeout === undefined ? this._throwOnTimeout : t.throwOnTimeout) { + i(s); + } + return undefined; + }); + n(await o); + } catch (e) { + i(e); + } + this._next(); + }; + this._queue.enqueue(run, t); + this._tryToStartAnother(); + this.emit("add"); + }); + } + async addAll(e, t) { + return Promise.all(e.map(async (e)=>this.add(e, t))); + } + start() { + if (!this._isPaused) { + return this; + } + this._isPaused = false; + this._processQueue(); + return this; + } + pause() { + this._isPaused = true; + } + clear() { + this._queue = new this._queueClass; + } + async onEmpty() { + if (this._queue.size === 0) { + return; + } + return new Promise((e)=>{ + const t = this._resolveEmpty; + this._resolveEmpty = ()=>{ + t(); + e(); + }; + }); + } + async onIdle() { + if (this._pendingCount === 0 && this._queue.size === 0) { + return; + } + return new Promise((e)=>{ + const t = this._resolveIdle; + this._resolveIdle = ()=>{ + t(); + e(); + }; + }); + } + get size() { + return this._queue.size; + } + sizeBy(e) { + return this._queue.filter(e).length; + } + get pending() { + return this._pendingCount; + } + get isPaused() { + return this._isPaused; + } + get timeout() { + return this._timeout; + } + set timeout(e) { + this._timeout = e; + } + } + e["default"] = PQueue; + })(); + module.exports = n; +})(); +}), +"[project]/node_modules/next/dist/compiled/path-to-regexp/index.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { + +(()=>{ + "use strict"; + if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/node_modules/next/dist/compiled/path-to-regexp") + "/"; + var e = {}; + (()=>{ + var n = e; + Object.defineProperty(n, "__esModule", { + value: true + }); + n.pathToRegexp = n.tokensToRegexp = n.regexpToFunction = n.match = n.tokensToFunction = n.compile = n.parse = void 0; + function lexer(e) { + var n = []; + var r = 0; + while(r < e.length){ + var t = e[r]; + if (t === "*" || t === "+" || t === "?") { + n.push({ + type: "MODIFIER", + index: r, + value: e[r++] + }); + continue; + } + if (t === "\\") { + n.push({ + type: "ESCAPED_CHAR", + index: r++, + value: e[r++] + }); + continue; + } + if (t === "{") { + n.push({ + type: "OPEN", + index: r, + value: e[r++] + }); + continue; + } + if (t === "}") { + n.push({ + type: "CLOSE", + index: r, + value: e[r++] + }); + continue; + } + if (t === ":") { + var a = ""; + var i = r + 1; + while(i < e.length){ + var o = e.charCodeAt(i); + if (o >= 48 && o <= 57 || o >= 65 && o <= 90 || o >= 97 && o <= 122 || o === 95) { + a += e[i++]; + continue; + } + break; + } + if (!a) throw new TypeError("Missing parameter name at ".concat(r)); + n.push({ + type: "NAME", + index: r, + value: a + }); + r = i; + continue; + } + if (t === "(") { + var c = 1; + var f = ""; + var i = r + 1; + if (e[i] === "?") { + throw new TypeError('Pattern cannot start with "?" at '.concat(i)); + } + while(i < e.length){ + if (e[i] === "\\") { + f += e[i++] + e[i++]; + continue; + } + if (e[i] === ")") { + c--; + if (c === 0) { + i++; + break; + } + } else if (e[i] === "(") { + c++; + if (e[i + 1] !== "?") { + throw new TypeError("Capturing groups are not allowed at ".concat(i)); + } + } + f += e[i++]; + } + if (c) throw new TypeError("Unbalanced pattern at ".concat(r)); + if (!f) throw new TypeError("Missing pattern at ".concat(r)); + n.push({ + type: "PATTERN", + index: r, + value: f + }); + r = i; + continue; + } + n.push({ + type: "CHAR", + index: r, + value: e[r++] + }); + } + n.push({ + type: "END", + index: r, + value: "" + }); + return n; + } + function parse(e, n) { + if (n === void 0) { + n = {}; + } + var r = lexer(e); + var t = n.prefixes, a = t === void 0 ? "./" : t, i = n.delimiter, o = i === void 0 ? "/#?" : i; + var c = []; + var f = 0; + var u = 0; + var p = ""; + var tryConsume = function(e) { + if (u < r.length && r[u].type === e) return r[u++].value; + }; + var mustConsume = function(e) { + var n = tryConsume(e); + if (n !== undefined) return n; + var t = r[u], a = t.type, i = t.index; + throw new TypeError("Unexpected ".concat(a, " at ").concat(i, ", expected ").concat(e)); + }; + var consumeText = function() { + var e = ""; + var n; + while(n = tryConsume("CHAR") || tryConsume("ESCAPED_CHAR")){ + e += n; + } + return e; + }; + var isSafe = function(e) { + for(var n = 0, r = o; n < r.length; n++){ + var t = r[n]; + if (e.indexOf(t) > -1) return true; + } + return false; + }; + var safePattern = function(e) { + var n = c[c.length - 1]; + var r = e || (n && typeof n === "string" ? n : ""); + if (n && !r) { + throw new TypeError('Must have text between two parameters, missing text after "'.concat(n.name, '"')); + } + if (!r || isSafe(r)) return "[^".concat(escapeString(o), "]+?"); + return "(?:(?!".concat(escapeString(r), ")[^").concat(escapeString(o), "])+?"); + }; + while(u < r.length){ + var v = tryConsume("CHAR"); + var s = tryConsume("NAME"); + var d = tryConsume("PATTERN"); + if (s || d) { + var g = v || ""; + if (a.indexOf(g) === -1) { + p += g; + g = ""; + } + if (p) { + c.push(p); + p = ""; + } + c.push({ + name: s || f++, + prefix: g, + suffix: "", + pattern: d || safePattern(g), + modifier: tryConsume("MODIFIER") || "" + }); + continue; + } + var x = v || tryConsume("ESCAPED_CHAR"); + if (x) { + p += x; + continue; + } + if (p) { + c.push(p); + p = ""; + } + var h = tryConsume("OPEN"); + if (h) { + var g = consumeText(); + var l = tryConsume("NAME") || ""; + var m = tryConsume("PATTERN") || ""; + var T = consumeText(); + mustConsume("CLOSE"); + c.push({ + name: l || (m ? f++ : ""), + pattern: l && !m ? safePattern(g) : m, + prefix: g, + suffix: T, + modifier: tryConsume("MODIFIER") || "" + }); + continue; + } + mustConsume("END"); + } + return c; + } + n.parse = parse; + function compile(e, n) { + return tokensToFunction(parse(e, n), n); + } + n.compile = compile; + function tokensToFunction(e, n) { + if (n === void 0) { + n = {}; + } + var r = flags(n); + var t = n.encode, a = t === void 0 ? function(e) { + return e; + } : t, i = n.validate, o = i === void 0 ? true : i; + var c = e.map(function(e) { + if (typeof e === "object") { + return new RegExp("^(?:".concat(e.pattern, ")$"), r); + } + }); + return function(n) { + var r = ""; + for(var t = 0; t < e.length; t++){ + var i = e[t]; + if (typeof i === "string") { + r += i; + continue; + } + var f = n ? n[i.name] : undefined; + var u = i.modifier === "?" || i.modifier === "*"; + var p = i.modifier === "*" || i.modifier === "+"; + if (Array.isArray(f)) { + if (!p) { + throw new TypeError('Expected "'.concat(i.name, '" to not repeat, but got an array')); + } + if (f.length === 0) { + if (u) continue; + throw new TypeError('Expected "'.concat(i.name, '" to not be empty')); + } + for(var v = 0; v < f.length; v++){ + var s = a(f[v], i); + if (o && !c[t].test(s)) { + throw new TypeError('Expected all "'.concat(i.name, '" to match "').concat(i.pattern, '", but got "').concat(s, '"')); + } + r += i.prefix + s + i.suffix; + } + continue; + } + if (typeof f === "string" || typeof f === "number") { + var s = a(String(f), i); + if (o && !c[t].test(s)) { + throw new TypeError('Expected "'.concat(i.name, '" to match "').concat(i.pattern, '", but got "').concat(s, '"')); + } + r += i.prefix + s + i.suffix; + continue; + } + if (u) continue; + var d = p ? "an array" : "a string"; + throw new TypeError('Expected "'.concat(i.name, '" to be ').concat(d)); + } + return r; + }; + } + n.tokensToFunction = tokensToFunction; + function match(e, n) { + var r = []; + var t = pathToRegexp(e, r, n); + return regexpToFunction(t, r, n); + } + n.match = match; + function regexpToFunction(e, n, r) { + if (r === void 0) { + r = {}; + } + var t = r.decode, a = t === void 0 ? function(e) { + return e; + } : t; + return function(r) { + var t = e.exec(r); + if (!t) return false; + var i = t[0], o = t.index; + var c = Object.create(null); + var _loop_1 = function(e) { + if (t[e] === undefined) return "continue"; + var r = n[e - 1]; + if (r.modifier === "*" || r.modifier === "+") { + c[r.name] = t[e].split(r.prefix + r.suffix).map(function(e) { + return a(e, r); + }); + } else { + c[r.name] = a(t[e], r); + } + }; + for(var f = 1; f < t.length; f++){ + _loop_1(f); + } + return { + path: i, + index: o, + params: c + }; + }; + } + n.regexpToFunction = regexpToFunction; + function escapeString(e) { + return e.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); + } + function flags(e) { + return e && e.sensitive ? "" : "i"; + } + function regexpToRegexp(e, n) { + if (!n) return e; + var r = /\((?:\?<(.*?)>)?(?!\?)/g; + var t = 0; + var a = r.exec(e.source); + while(a){ + n.push({ + name: a[1] || t++, + prefix: "", + suffix: "", + modifier: "", + pattern: "" + }); + a = r.exec(e.source); + } + return e; + } + function arrayToRegexp(e, n, r) { + var t = e.map(function(e) { + return pathToRegexp(e, n, r).source; + }); + return new RegExp("(?:".concat(t.join("|"), ")"), flags(r)); + } + function stringToRegexp(e, n, r) { + return tokensToRegexp(parse(e, r), n, r); + } + function tokensToRegexp(e, n, r) { + if (r === void 0) { + r = {}; + } + var t = r.strict, a = t === void 0 ? false : t, i = r.start, o = i === void 0 ? true : i, c = r.end, f = c === void 0 ? true : c, u = r.encode, p = u === void 0 ? function(e) { + return e; + } : u, v = r.delimiter, s = v === void 0 ? "/#?" : v, d = r.endsWith, g = d === void 0 ? "" : d; + var x = "[".concat(escapeString(g), "]|$"); + var h = "[".concat(escapeString(s), "]"); + var l = o ? "^" : ""; + for(var m = 0, T = e; m < T.length; m++){ + var E = T[m]; + if (typeof E === "string") { + l += escapeString(p(E)); + } else { + var w = escapeString(p(E.prefix)); + var y = escapeString(p(E.suffix)); + if (E.pattern) { + if (n) n.push(E); + if (w || y) { + if (E.modifier === "+" || E.modifier === "*") { + var R = E.modifier === "*" ? "?" : ""; + l += "(?:".concat(w, "((?:").concat(E.pattern, ")(?:").concat(y).concat(w, "(?:").concat(E.pattern, "))*)").concat(y, ")").concat(R); + } else { + l += "(?:".concat(w, "(").concat(E.pattern, ")").concat(y, ")").concat(E.modifier); + } + } else { + if (E.modifier === "+" || E.modifier === "*") { + throw new TypeError('Can not repeat "'.concat(E.name, '" without a prefix and suffix')); + } + l += "(".concat(E.pattern, ")").concat(E.modifier); + } + } else { + l += "(?:".concat(w).concat(y, ")").concat(E.modifier); + } + } + } + if (f) { + if (!a) l += "".concat(h, "?"); + l += !r.endsWith ? "$" : "(?=".concat(x, ")"); + } else { + var A = e[e.length - 1]; + var _ = typeof A === "string" ? h.indexOf(A[A.length - 1]) > -1 : A === undefined; + if (!a) { + l += "(?:".concat(h, "(?=").concat(x, "))?"); + } + if (!_) { + l += "(?=".concat(h, "|").concat(x, ")"); + } + } + return new RegExp(l, flags(r)); + } + n.tokensToRegexp = tokensToRegexp; + function pathToRegexp(e, n, r) { + if (e instanceof RegExp) return regexpToRegexp(e, n); + if (Array.isArray(e)) return arrayToRegexp(e, n, r); + return stringToRegexp(e, n, r); + } + n.pathToRegexp = pathToRegexp; + })(); + module.exports = e; +})(); +}), +"[project]/node_modules/next/dist/compiled/ua-parser-js/ua-parser.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { + +(()=>{ + var i = { + 943: function(i, e) { + (function(o, a) { + "use strict"; + var r = "1.0.35", t = "", n = "?", s = "function", b = "undefined", w = "object", l = "string", d = "major", c = "model", u = "name", p = "type", m = "vendor", f = "version", h = "architecture", v = "console", g = "mobile", k = "tablet", x = "smarttv", _ = "wearable", y = "embedded", q = 350; + var T = "Amazon", S = "Apple", z = "ASUS", N = "BlackBerry", A = "Browser", C = "Chrome", E = "Edge", O = "Firefox", U = "Google", j = "Huawei", P = "LG", R = "Microsoft", M = "Motorola", B = "Opera", V = "Samsung", D = "Sharp", I = "Sony", W = "Viera", F = "Xiaomi", G = "Zebra", H = "Facebook", L = "Chromium OS", Z = "Mac OS"; + var extend = function(i, e) { + var o = {}; + for(var a in i){ + if (e[a] && e[a].length % 2 === 0) { + o[a] = e[a].concat(i[a]); + } else { + o[a] = i[a]; + } + } + return o; + }, enumerize = function(i) { + var e = {}; + for(var o = 0; o < i.length; o++){ + e[i[o].toUpperCase()] = i[o]; + } + return e; + }, has = function(i, e) { + return typeof i === l ? lowerize(e).indexOf(lowerize(i)) !== -1 : false; + }, lowerize = function(i) { + return i.toLowerCase(); + }, majorize = function(i) { + return typeof i === l ? i.replace(/[^\d\.]/g, t).split(".")[0] : a; + }, trim = function(i, e) { + if (typeof i === l) { + i = i.replace(/^\s\s*/, t); + return typeof e === b ? i : i.substring(0, q); + } + }; + var rgxMapper = function(i, e) { + var o = 0, r, t, n, b, l, d; + while(o < e.length && !l){ + var c = e[o], u = e[o + 1]; + r = t = 0; + while(r < c.length && !l){ + if (!c[r]) { + break; + } + l = c[r++].exec(i); + if (!!l) { + for(n = 0; n < u.length; n++){ + d = l[++t]; + b = u[n]; + if (typeof b === w && b.length > 0) { + if (b.length === 2) { + if (typeof b[1] == s) { + this[b[0]] = b[1].call(this, d); + } else { + this[b[0]] = b[1]; + } + } else if (b.length === 3) { + if (typeof b[1] === s && !(b[1].exec && b[1].test)) { + this[b[0]] = d ? b[1].call(this, d, b[2]) : a; + } else { + this[b[0]] = d ? d.replace(b[1], b[2]) : a; + } + } else if (b.length === 4) { + this[b[0]] = d ? b[3].call(this, d.replace(b[1], b[2])) : a; + } + } else { + this[b] = d ? d : a; + } + } + } + } + o += 2; + } + }, strMapper = function(i, e) { + for(var o in e){ + if (typeof e[o] === w && e[o].length > 0) { + for(var r = 0; r < e[o].length; r++){ + if (has(e[o][r], i)) { + return o === n ? a : o; + } + } + } else if (has(e[o], i)) { + return o === n ? a : o; + } + } + return i; + }; + var $ = { + "1.0": "/8", + 1.2: "/1", + 1.3: "/3", + "2.0": "/412", + "2.0.2": "/416", + "2.0.3": "/417", + "2.0.4": "/419", + "?": "/" + }, X = { + ME: "4.90", + "NT 3.11": "NT3.51", + "NT 4.0": "NT4.0", + 2e3: "NT 5.0", + XP: [ + "NT 5.1", + "NT 5.2" + ], + Vista: "NT 6.0", + 7: "NT 6.1", + 8: "NT 6.2", + 8.1: "NT 6.3", + 10: [ + "NT 6.4", + "NT 10.0" + ], + RT: "ARM" + }; + var K = { + browser: [ + [ + /\b(?:crmo|crios)\/([\w\.]+)/i + ], + [ + f, + [ + u, + "Chrome" + ] + ], + [ + /edg(?:e|ios|a)?\/([\w\.]+)/i + ], + [ + f, + [ + u, + "Edge" + ] + ], + [ + /(opera mini)\/([-\w\.]+)/i, + /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, + /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i + ], + [ + u, + f + ], + [ + /opios[\/ ]+([\w\.]+)/i + ], + [ + f, + [ + u, + B + " Mini" + ] + ], + [ + /\bopr\/([\w\.]+)/i + ], + [ + f, + [ + u, + B + ] + ], + [ + /(kindle)\/([\w\.]+)/i, + /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, + /(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i, + /(ba?idubrowser)[\/ ]?([\w\.]+)/i, + /(?:ms|\()(ie) ([\w\.]+)/i, + /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i, + /(heytap|ovi)browser\/([\d\.]+)/i, + /(weibo)__([\d\.]+)/i + ], + [ + u, + f + ], + [ + /(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i + ], + [ + f, + [ + u, + "UC" + A + ] + ], + [ + /microm.+\bqbcore\/([\w\.]+)/i, + /\bqbcore\/([\w\.]+).+microm/i + ], + [ + f, + [ + u, + "WeChat(Win) Desktop" + ] + ], + [ + /micromessenger\/([\w\.]+)/i + ], + [ + f, + [ + u, + "WeChat" + ] + ], + [ + /konqueror\/([\w\.]+)/i + ], + [ + f, + [ + u, + "Konqueror" + ] + ], + [ + /trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i + ], + [ + f, + [ + u, + "IE" + ] + ], + [ + /ya(?:search)?browser\/([\w\.]+)/i + ], + [ + f, + [ + u, + "Yandex" + ] + ], + [ + /(avast|avg)\/([\w\.]+)/i + ], + [ + [ + u, + /(.+)/, + "$1 Secure " + A + ], + f + ], + [ + /\bfocus\/([\w\.]+)/i + ], + [ + f, + [ + u, + O + " Focus" + ] + ], + [ + /\bopt\/([\w\.]+)/i + ], + [ + f, + [ + u, + B + " Touch" + ] + ], + [ + /coc_coc\w+\/([\w\.]+)/i + ], + [ + f, + [ + u, + "Coc Coc" + ] + ], + [ + /dolfin\/([\w\.]+)/i + ], + [ + f, + [ + u, + "Dolphin" + ] + ], + [ + /coast\/([\w\.]+)/i + ], + [ + f, + [ + u, + B + " Coast" + ] + ], + [ + /miuibrowser\/([\w\.]+)/i + ], + [ + f, + [ + u, + "MIUI " + A + ] + ], + [ + /fxios\/([-\w\.]+)/i + ], + [ + f, + [ + u, + O + ] + ], + [ + /\bqihu|(qi?ho?o?|360)browser/i + ], + [ + [ + u, + "360 " + A + ] + ], + [ + /(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i + ], + [ + [ + u, + /(.+)/, + "$1 " + A + ], + f + ], + [ + /(comodo_dragon)\/([\w\.]+)/i + ], + [ + [ + u, + /_/g, + " " + ], + f + ], + [ + /(electron)\/([\w\.]+) safari/i, + /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, + /m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i + ], + [ + u, + f + ], + [ + /(metasr)[\/ ]?([\w\.]+)/i, + /(lbbrowser)/i, + /\[(linkedin)app\]/i + ], + [ + u + ], + [ + /((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i + ], + [ + [ + u, + H + ], + f + ], + [ + /(kakao(?:talk|story))[\/ ]([\w\.]+)/i, + /(naver)\(.*?(\d+\.[\w\.]+).*\)/i, + /safari (line)\/([\w\.]+)/i, + /\b(line)\/([\w\.]+)\/iab/i, + /(chromium|instagram)[\/ ]([-\w\.]+)/i + ], + [ + u, + f + ], + [ + /\bgsa\/([\w\.]+) .*safari\//i + ], + [ + f, + [ + u, + "GSA" + ] + ], + [ + /musical_ly(?:.+app_?version\/|_)([\w\.]+)/i + ], + [ + f, + [ + u, + "TikTok" + ] + ], + [ + /headlesschrome(?:\/([\w\.]+)| )/i + ], + [ + f, + [ + u, + C + " Headless" + ] + ], + [ + / wv\).+(chrome)\/([\w\.]+)/i + ], + [ + [ + u, + C + " WebView" + ], + f + ], + [ + /droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i + ], + [ + f, + [ + u, + "Android " + A + ] + ], + [ + /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i + ], + [ + u, + f + ], + [ + /version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i + ], + [ + f, + [ + u, + "Mobile Safari" + ] + ], + [ + /version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i + ], + [ + f, + u + ], + [ + /webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i + ], + [ + u, + [ + f, + strMapper, + $ + ] + ], + [ + /(webkit|khtml)\/([\w\.]+)/i + ], + [ + u, + f + ], + [ + /(navigator|netscape\d?)\/([-\w\.]+)/i + ], + [ + [ + u, + "Netscape" + ], + f + ], + [ + /mobile vr; rv:([\w\.]+)\).+firefox/i + ], + [ + f, + [ + u, + O + " Reality" + ] + ], + [ + /ekiohf.+(flow)\/([\w\.]+)/i, + /(swiftfox)/i, + /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i, + /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i, + /(firefox)\/([\w\.]+)/i, + /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, + /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i, + /(links) \(([\w\.]+)/i, + /panasonic;(viera)/i + ], + [ + u, + f + ], + [ + /(cobalt)\/([\w\.]+)/i + ], + [ + u, + [ + f, + /master.|lts./, + "" + ] + ] + ], + cpu: [ + [ + /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i + ], + [ + [ + h, + "amd64" + ] + ], + [ + /(ia32(?=;))/i + ], + [ + [ + h, + lowerize + ] + ], + [ + /((?:i[346]|x)86)[;\)]/i + ], + [ + [ + h, + "ia32" + ] + ], + [ + /\b(aarch64|arm(v?8e?l?|_?64))\b/i + ], + [ + [ + h, + "arm64" + ] + ], + [ + /\b(arm(?:v[67])?ht?n?[fl]p?)\b/i + ], + [ + [ + h, + "armhf" + ] + ], + [ + /windows (ce|mobile); ppc;/i + ], + [ + [ + h, + "arm" + ] + ], + [ + /((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i + ], + [ + [ + h, + /ower/, + t, + lowerize + ] + ], + [ + /(sun4\w)[;\)]/i + ], + [ + [ + h, + "sparc" + ] + ], + [ + /((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i + ], + [ + [ + h, + lowerize + ] + ] + ], + device: [ + [ + /\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i + ], + [ + c, + [ + m, + V + ], + [ + p, + k + ] + ], + [ + /\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i, + /samsung[- ]([-\w]+)/i, + /sec-(sgh\w+)/i + ], + [ + c, + [ + m, + V + ], + [ + p, + g + ] + ], + [ + /(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i + ], + [ + c, + [ + m, + S + ], + [ + p, + g + ] + ], + [ + /\((ipad);[-\w\),; ]+apple/i, + /applecoremedia\/[\w\.]+ \((ipad)/i, + /\b(ipad)\d\d?,\d\d?[;\]].+ios/i + ], + [ + c, + [ + m, + S + ], + [ + p, + k + ] + ], + [ + /(macintosh);/i + ], + [ + c, + [ + m, + S + ] + ], + [ + /\b(sh-?[altvz]?\d\d[a-ekm]?)/i + ], + [ + c, + [ + m, + D + ], + [ + p, + g + ] + ], + [ + /\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i + ], + [ + c, + [ + m, + j + ], + [ + p, + k + ] + ], + [ + /(?:huawei|honor)([-\w ]+)[;\)]/i, + /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i + ], + [ + c, + [ + m, + j + ], + [ + p, + g + ] + ], + [ + /\b(poco[\w ]+)(?: bui|\))/i, + /\b; (\w+) build\/hm\1/i, + /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, + /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, + /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i + ], + [ + [ + c, + /_/g, + " " + ], + [ + m, + F + ], + [ + p, + g + ] + ], + [ + /\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i + ], + [ + [ + c, + /_/g, + " " + ], + [ + m, + F + ], + [ + p, + k + ] + ], + [ + /; (\w+) bui.+ oppo/i, + /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i + ], + [ + c, + [ + m, + "OPPO" + ], + [ + p, + g + ] + ], + [ + /vivo (\w+)(?: bui|\))/i, + /\b(v[12]\d{3}\w?[at])(?: bui|;)/i + ], + [ + c, + [ + m, + "Vivo" + ], + [ + p, + g + ] + ], + [ + /\b(rmx[12]\d{3})(?: bui|;|\))/i + ], + [ + c, + [ + m, + "Realme" + ], + [ + p, + g + ] + ], + [ + /\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i, + /\bmot(?:orola)?[- ](\w*)/i, + /((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i + ], + [ + c, + [ + m, + M + ], + [ + p, + g + ] + ], + [ + /\b(mz60\d|xoom[2 ]{0,2}) build\//i + ], + [ + c, + [ + m, + M + ], + [ + p, + k + ] + ], + [ + /((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i + ], + [ + c, + [ + m, + P + ], + [ + p, + k + ] + ], + [ + /(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i, + /\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i, + /\blg-?([\d\w]+) bui/i + ], + [ + c, + [ + m, + P + ], + [ + p, + g + ] + ], + [ + /(ideatab[-\w ]+)/i, + /lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i + ], + [ + c, + [ + m, + "Lenovo" + ], + [ + p, + k + ] + ], + [ + /(?:maemo|nokia).*(n900|lumia \d+)/i, + /nokia[-_ ]?([-\w\.]*)/i + ], + [ + [ + c, + /_/g, + " " + ], + [ + m, + "Nokia" + ], + [ + p, + g + ] + ], + [ + /(pixel c)\b/i + ], + [ + c, + [ + m, + U + ], + [ + p, + k + ] + ], + [ + /droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i + ], + [ + c, + [ + m, + U + ], + [ + p, + g + ] + ], + [ + /droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i + ], + [ + c, + [ + m, + I + ], + [ + p, + g + ] + ], + [ + /sony tablet [ps]/i, + /\b(?:sony)?sgp\w+(?: bui|\))/i + ], + [ + [ + c, + "Xperia Tablet" + ], + [ + m, + I + ], + [ + p, + k + ] + ], + [ + / (kb2005|in20[12]5|be20[12][59])\b/i, + /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i + ], + [ + c, + [ + m, + "OnePlus" + ], + [ + p, + g + ] + ], + [ + /(alexa)webm/i, + /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i, + /(kf[a-z]+)( bui|\)).+silk\//i + ], + [ + c, + [ + m, + T + ], + [ + p, + k + ] + ], + [ + /((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i + ], + [ + [ + c, + /(.+)/g, + "Fire Phone $1" + ], + [ + m, + T + ], + [ + p, + g + ] + ], + [ + /(playbook);[-\w\),; ]+(rim)/i + ], + [ + c, + m, + [ + p, + k + ] + ], + [ + /\b((?:bb[a-f]|st[hv])100-\d)/i, + /\(bb10; (\w+)/i + ], + [ + c, + [ + m, + N + ], + [ + p, + g + ] + ], + [ + /(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i + ], + [ + c, + [ + m, + z + ], + [ + p, + k + ] + ], + [ + / (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i + ], + [ + c, + [ + m, + z + ], + [ + p, + g + ] + ], + [ + /(nexus 9)/i + ], + [ + c, + [ + m, + "HTC" + ], + [ + p, + k + ] + ], + [ + /(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, + /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i, + /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i + ], + [ + m, + [ + c, + /_/g, + " " + ], + [ + p, + g + ] + ], + [ + /droid.+; ([ab][1-7]-?[0178a]\d\d?)/i + ], + [ + c, + [ + m, + "Acer" + ], + [ + p, + k + ] + ], + [ + /droid.+; (m[1-5] note) bui/i, + /\bmz-([-\w]{2,})/i + ], + [ + c, + [ + m, + "Meizu" + ], + [ + p, + g + ] + ], + [ + /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i, + /(hp) ([\w ]+\w)/i, + /(asus)-?(\w+)/i, + /(microsoft); (lumia[\w ]+)/i, + /(lenovo)[-_ ]?([-\w]+)/i, + /(jolla)/i, + /(oppo) ?([\w ]+) bui/i + ], + [ + m, + c, + [ + p, + g + ] + ], + [ + /(kobo)\s(ereader|touch)/i, + /(archos) (gamepad2?)/i, + /(hp).+(touchpad(?!.+tablet)|tablet)/i, + /(kindle)\/([\w\.]+)/i, + /(nook)[\w ]+build\/(\w+)/i, + /(dell) (strea[kpr\d ]*[\dko])/i, + /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, + /(trinity)[- ]*(t\d{3}) bui/i, + /(gigaset)[- ]+(q\w{1,9}) bui/i, + /(vodafone) ([\w ]+)(?:\)| bui)/i + ], + [ + m, + c, + [ + p, + k + ] + ], + [ + /(surface duo)/i + ], + [ + c, + [ + m, + R + ], + [ + p, + k + ] + ], + [ + /droid [\d\.]+; (fp\du?)(?: b|\))/i + ], + [ + c, + [ + m, + "Fairphone" + ], + [ + p, + g + ] + ], + [ + /(u304aa)/i + ], + [ + c, + [ + m, + "AT&T" + ], + [ + p, + g + ] + ], + [ + /\bsie-(\w*)/i + ], + [ + c, + [ + m, + "Siemens" + ], + [ + p, + g + ] + ], + [ + /\b(rct\w+) b/i + ], + [ + c, + [ + m, + "RCA" + ], + [ + p, + k + ] + ], + [ + /\b(venue[\d ]{2,7}) b/i + ], + [ + c, + [ + m, + "Dell" + ], + [ + p, + k + ] + ], + [ + /\b(q(?:mv|ta)\w+) b/i + ], + [ + c, + [ + m, + "Verizon" + ], + [ + p, + k + ] + ], + [ + /\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i + ], + [ + c, + [ + m, + "Barnes & Noble" + ], + [ + p, + k + ] + ], + [ + /\b(tm\d{3}\w+) b/i + ], + [ + c, + [ + m, + "NuVision" + ], + [ + p, + k + ] + ], + [ + /\b(k88) b/i + ], + [ + c, + [ + m, + "ZTE" + ], + [ + p, + k + ] + ], + [ + /\b(nx\d{3}j) b/i + ], + [ + c, + [ + m, + "ZTE" + ], + [ + p, + g + ] + ], + [ + /\b(gen\d{3}) b.+49h/i + ], + [ + c, + [ + m, + "Swiss" + ], + [ + p, + g + ] + ], + [ + /\b(zur\d{3}) b/i + ], + [ + c, + [ + m, + "Swiss" + ], + [ + p, + k + ] + ], + [ + /\b((zeki)?tb.*\b) b/i + ], + [ + c, + [ + m, + "Zeki" + ], + [ + p, + k + ] + ], + [ + /\b([yr]\d{2}) b/i, + /\b(dragon[- ]+touch |dt)(\w{5}) b/i + ], + [ + [ + m, + "Dragon Touch" + ], + c, + [ + p, + k + ] + ], + [ + /\b(ns-?\w{0,9}) b/i + ], + [ + c, + [ + m, + "Insignia" + ], + [ + p, + k + ] + ], + [ + /\b((nxa|next)-?\w{0,9}) b/i + ], + [ + c, + [ + m, + "NextBook" + ], + [ + p, + k + ] + ], + [ + /\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i + ], + [ + [ + m, + "Voice" + ], + c, + [ + p, + g + ] + ], + [ + /\b(lvtel\-)?(v1[12]) b/i + ], + [ + [ + m, + "LvTel" + ], + c, + [ + p, + g + ] + ], + [ + /\b(ph-1) /i + ], + [ + c, + [ + m, + "Essential" + ], + [ + p, + g + ] + ], + [ + /\b(v(100md|700na|7011|917g).*\b) b/i + ], + [ + c, + [ + m, + "Envizen" + ], + [ + p, + k + ] + ], + [ + /\b(trio[-\w\. ]+) b/i + ], + [ + c, + [ + m, + "MachSpeed" + ], + [ + p, + k + ] + ], + [ + /\btu_(1491) b/i + ], + [ + c, + [ + m, + "Rotor" + ], + [ + p, + k + ] + ], + [ + /(shield[\w ]+) b/i + ], + [ + c, + [ + m, + "Nvidia" + ], + [ + p, + k + ] + ], + [ + /(sprint) (\w+)/i + ], + [ + m, + c, + [ + p, + g + ] + ], + [ + /(kin\.[onetw]{3})/i + ], + [ + [ + c, + /\./g, + " " + ], + [ + m, + R + ], + [ + p, + g + ] + ], + [ + /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i + ], + [ + c, + [ + m, + G + ], + [ + p, + k + ] + ], + [ + /droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i + ], + [ + c, + [ + m, + G + ], + [ + p, + g + ] + ], + [ + /smart-tv.+(samsung)/i + ], + [ + m, + [ + p, + x + ] + ], + [ + /hbbtv.+maple;(\d+)/i + ], + [ + [ + c, + /^/, + "SmartTV" + ], + [ + m, + V + ], + [ + p, + x + ] + ], + [ + /(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i + ], + [ + [ + m, + P + ], + [ + p, + x + ] + ], + [ + /(apple) ?tv/i + ], + [ + m, + [ + c, + S + " TV" + ], + [ + p, + x + ] + ], + [ + /crkey/i + ], + [ + [ + c, + C + "cast" + ], + [ + m, + U + ], + [ + p, + x + ] + ], + [ + /droid.+aft(\w)( bui|\))/i + ], + [ + c, + [ + m, + T + ], + [ + p, + x + ] + ], + [ + /\(dtv[\);].+(aquos)/i, + /(aquos-tv[\w ]+)\)/i + ], + [ + c, + [ + m, + D + ], + [ + p, + x + ] + ], + [ + /(bravia[\w ]+)( bui|\))/i + ], + [ + c, + [ + m, + I + ], + [ + p, + x + ] + ], + [ + /(mitv-\w{5}) bui/i + ], + [ + c, + [ + m, + F + ], + [ + p, + x + ] + ], + [ + /Hbbtv.*(technisat) (.*);/i + ], + [ + m, + c, + [ + p, + x + ] + ], + [ + /\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, + /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i + ], + [ + [ + m, + trim + ], + [ + c, + trim + ], + [ + p, + x + ] + ], + [ + /\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i + ], + [ + [ + p, + x + ] + ], + [ + /(ouya)/i, + /(nintendo) ([wids3utch]+)/i + ], + [ + m, + c, + [ + p, + v + ] + ], + [ + /droid.+; (shield) bui/i + ], + [ + c, + [ + m, + "Nvidia" + ], + [ + p, + v + ] + ], + [ + /(playstation [345portablevi]+)/i + ], + [ + c, + [ + m, + I + ], + [ + p, + v + ] + ], + [ + /\b(xbox(?: one)?(?!; xbox))[\); ]/i + ], + [ + c, + [ + m, + R + ], + [ + p, + v + ] + ], + [ + /((pebble))app/i + ], + [ + m, + c, + [ + p, + _ + ] + ], + [ + /(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i + ], + [ + c, + [ + m, + S + ], + [ + p, + _ + ] + ], + [ + /droid.+; (glass) \d/i + ], + [ + c, + [ + m, + U + ], + [ + p, + _ + ] + ], + [ + /droid.+; (wt63?0{2,3})\)/i + ], + [ + c, + [ + m, + G + ], + [ + p, + _ + ] + ], + [ + /(quest( 2| pro)?)/i + ], + [ + c, + [ + m, + H + ], + [ + p, + _ + ] + ], + [ + /(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i + ], + [ + m, + [ + p, + y + ] + ], + [ + /(aeobc)\b/i + ], + [ + c, + [ + m, + T + ], + [ + p, + y + ] + ], + [ + /droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i + ], + [ + c, + [ + p, + g + ] + ], + [ + /droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i + ], + [ + c, + [ + p, + k + ] + ], + [ + /\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i + ], + [ + [ + p, + k + ] + ], + [ + /(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i + ], + [ + [ + p, + g + ] + ], + [ + /(android[-\w\. ]{0,9});.+buil/i + ], + [ + c, + [ + m, + "Generic" + ] + ] + ], + engine: [ + [ + /windows.+ edge\/([\w\.]+)/i + ], + [ + f, + [ + u, + E + "HTML" + ] + ], + [ + /webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i + ], + [ + f, + [ + u, + "Blink" + ] + ], + [ + /(presto)\/([\w\.]+)/i, + /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i, + /ekioh(flow)\/([\w\.]+)/i, + /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, + /(icab)[\/ ]([23]\.[\d\.]+)/i, + /\b(libweb)/i + ], + [ + u, + f + ], + [ + /rv\:([\w\.]{1,9})\b.+(gecko)/i + ], + [ + f, + u + ] + ], + os: [ + [ + /microsoft (windows) (vista|xp)/i + ], + [ + u, + f + ], + [ + /(windows) nt 6\.2; (arm)/i, + /(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i, + /(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i + ], + [ + u, + [ + f, + strMapper, + X + ] + ], + [ + /(win(?=3|9|n)|win 9x )([nt\d\.]+)/i + ], + [ + [ + u, + "Windows" + ], + [ + f, + strMapper, + X + ] + ], + [ + /ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i, + /ios;fbsv\/([\d\.]+)/i, + /cfnetwork\/.+darwin/i + ], + [ + [ + f, + /_/g, + "." + ], + [ + u, + "iOS" + ] + ], + [ + /(mac os x) ?([\w\. ]*)/i, + /(macintosh|mac_powerpc\b)(?!.+haiku)/i + ], + [ + [ + u, + Z + ], + [ + f, + /_/g, + "." + ] + ], + [ + /droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i + ], + [ + f, + u + ], + [ + /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i, + /(blackberry)\w*\/([\w\.]*)/i, + /(tizen|kaios)[\/ ]([\w\.]+)/i, + /\((series40);/i + ], + [ + u, + f + ], + [ + /\(bb(10);/i + ], + [ + f, + [ + u, + N + ] + ], + [ + /(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i + ], + [ + f, + [ + u, + "Symbian" + ] + ], + [ + /mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i + ], + [ + f, + [ + u, + O + " OS" + ] + ], + [ + /web0s;.+rt(tv)/i, + /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i + ], + [ + f, + [ + u, + "webOS" + ] + ], + [ + /watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i + ], + [ + f, + [ + u, + "watchOS" + ] + ], + [ + /crkey\/([\d\.]+)/i + ], + [ + f, + [ + u, + C + "cast" + ] + ], + [ + /(cros) [\w]+(?:\)| ([\w\.]+)\b)/i + ], + [ + [ + u, + L + ], + f + ], + [ + /panasonic;(viera)/i, + /(netrange)mmh/i, + /(nettv)\/(\d+\.[\w\.]+)/i, + /(nintendo|playstation) ([wids345portablevuch]+)/i, + /(xbox); +xbox ([^\);]+)/i, + /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, + /(mint)[\/\(\) ]?(\w*)/i, + /(mageia|vectorlinux)[; ]/i, + /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i, + /(hurd|linux) ?([\w\.]*)/i, + /(gnu) ?([\w\.]*)/i, + /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, + /(haiku) (\w+)/i + ], + [ + u, + f + ], + [ + /(sunos) ?([\w\.\d]*)/i + ], + [ + [ + u, + "Solaris" + ], + f + ], + [ + /((?:open)?solaris)[-\/ ]?([\w\.]*)/i, + /(aix) ((\d)(?=\.|\)| )[\w\.])*/i, + /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, + /(unix) ?([\w\.]*)/i + ], + [ + u, + f + ] + ] + }; + var UAParser = function(i, e) { + if (typeof i === w) { + e = i; + i = a; + } + if (!(this instanceof UAParser)) { + return new UAParser(i, e).getResult(); + } + var r = typeof o !== b && o.navigator ? o.navigator : a; + var n = i || (r && r.userAgent ? r.userAgent : t); + var v = r && r.userAgentData ? r.userAgentData : a; + var x = e ? extend(K, e) : K; + var _ = r && r.userAgent == n; + this.getBrowser = function() { + var i = {}; + i[u] = a; + i[f] = a; + rgxMapper.call(i, n, x.browser); + i[d] = majorize(i[f]); + if (_ && r && r.brave && typeof r.brave.isBrave == s) { + i[u] = "Brave"; + } + return i; + }; + this.getCPU = function() { + var i = {}; + i[h] = a; + rgxMapper.call(i, n, x.cpu); + return i; + }; + this.getDevice = function() { + var i = {}; + i[m] = a; + i[c] = a; + i[p] = a; + rgxMapper.call(i, n, x.device); + if (_ && !i[p] && v && v.mobile) { + i[p] = g; + } + if (_ && i[c] == "Macintosh" && r && typeof r.standalone !== b && r.maxTouchPoints && r.maxTouchPoints > 2) { + i[c] = "iPad"; + i[p] = k; + } + return i; + }; + this.getEngine = function() { + var i = {}; + i[u] = a; + i[f] = a; + rgxMapper.call(i, n, x.engine); + return i; + }; + this.getOS = function() { + var i = {}; + i[u] = a; + i[f] = a; + rgxMapper.call(i, n, x.os); + if (_ && !i[u] && v && v.platform != "Unknown") { + i[u] = v.platform.replace(/chrome os/i, L).replace(/macos/i, Z); + } + return i; + }; + this.getResult = function() { + return { + ua: this.getUA(), + browser: this.getBrowser(), + engine: this.getEngine(), + os: this.getOS(), + device: this.getDevice(), + cpu: this.getCPU() + }; + }; + this.getUA = function() { + return n; + }; + this.setUA = function(i) { + n = typeof i === l && i.length > q ? trim(i, q) : i; + return this; + }; + this.setUA(n); + return this; + }; + UAParser.VERSION = r; + UAParser.BROWSER = enumerize([ + u, + f, + d + ]); + UAParser.CPU = enumerize([ + h + ]); + UAParser.DEVICE = enumerize([ + c, + m, + p, + v, + g, + x, + k, + _, + y + ]); + UAParser.ENGINE = UAParser.OS = enumerize([ + u, + f + ]); + if (typeof e !== b) { + if ("object" !== b && i.exports) { + e = i.exports = UAParser; + } + e.UAParser = UAParser; + } else { + if (typeof define === s && define.amd) { + ((r)=>r !== undefined && __turbopack_context__.v(r))(function() { + return UAParser; + }(__turbopack_context__.r, exports, module)); + } else if (typeof o !== b) { + o.UAParser = UAParser; + } + } + var Q = typeof o !== b && (o.jQuery || o.Zepto); + if (Q && !Q.ua) { + var Y = new UAParser; + Q.ua = Y.getResult(); + Q.ua.get = function() { + return Y.getUA(); + }; + Q.ua.set = function(i) { + Y.setUA(i); + var e = Y.getResult(); + for(var o in e){ + Q.ua[o] = e[o]; + } + }; + } + })(("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : this); + } + }; + var e = {}; + function __nccwpck_require__(o) { + var a = e[o]; + if (a !== undefined) { + return a.exports; + } + var r = e[o] = { + exports: {} + }; + var t = true; + try { + i[o].call(r.exports, r, r.exports, __nccwpck_require__); + t = false; + } finally{ + if (t) delete e[o]; + } + return r.exports; + } + if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/node_modules/next/dist/compiled/ua-parser-js") + "/"; + var o = __nccwpck_require__(943); + module.exports = o; +})(); +}), +"[project]/node_modules/next/dist/esm/shared/lib/isomorphic/path.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { + +/** + * This module is for next.js server internal usage of path module. + * It will use native path module for nodejs runtime. + * It will use path-browserify polyfill for edge runtime. + */ let path; +if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable +; +else { + path = __turbopack_context__.r("[externals]/path [external] (path, cjs)"); +} +module.exports = path; +}), +"[project]/node_modules/next/server.js [middleware] (ecmascript)", ((__turbopack_context__, module, exports) => { + +const serverExports = { + NextRequest: __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/request.js [middleware] (ecmascript)").NextRequest, + NextResponse: __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/response.js [middleware] (ecmascript)").NextResponse, + ImageResponse: __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/image-response.js [middleware] (ecmascript)").ImageResponse, + userAgentFromString: __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/user-agent.js [middleware] (ecmascript)").userAgentFromString, + userAgent: __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/user-agent.js [middleware] (ecmascript)").userAgent, + URLPattern: __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/url-pattern.js [middleware] (ecmascript)").URLPattern, + after: __turbopack_context__.r("[project]/node_modules/next/dist/server/after/index.js [middleware] (ecmascript)").after, + connection: __turbopack_context__.r("[project]/node_modules/next/dist/server/request/connection.js [middleware] (ecmascript)").connection +}; +// https://nodejs.org/api/esm.html#commonjs-namespaces +// When importing CommonJS modules, the module.exports object is provided as the default export +module.exports = serverExports; +// make import { xxx } from 'next/server' work +exports.NextRequest = serverExports.NextRequest; +exports.NextResponse = serverExports.NextResponse; +exports.ImageResponse = serverExports.ImageResponse; +exports.userAgentFromString = serverExports.userAgentFromString; +exports.userAgent = serverExports.userAgent; +exports.URLPattern = serverExports.URLPattern; +exports.after = serverExports.after; +exports.connection = serverExports.connection; +}), +]; + +//# sourceMappingURL=node_modules_next_1s25vz5n-v396._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/node_modules_next_1s25vz5n-v396._.js.map b/e-commerce/.next/dev/server/chunks/node_modules_next_1s25vz5n-v396._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ef231af1ed1a9b1a1b7e6461b2e09a279af0530c --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/node_modules_next_1s25vz5n-v396._.js.map @@ -0,0 +1,179 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 5, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/client/components/hooks-server-context.ts"],"sourcesContent":["const DYNAMIC_ERROR_CODE = 'DYNAMIC_SERVER_USAGE'\n\nexport class DynamicServerError extends Error {\n digest: typeof DYNAMIC_ERROR_CODE = DYNAMIC_ERROR_CODE\n\n constructor(public readonly description: string) {\n super(`Dynamic server usage: ${description}`)\n }\n}\n\nexport function isDynamicServerError(err: unknown): err is DynamicServerError {\n if (\n typeof err !== 'object' ||\n err === null ||\n !('digest' in err) ||\n typeof err.digest !== 'string'\n ) {\n return false\n }\n\n return err.digest === DYNAMIC_ERROR_CODE\n}\n"],"names":["DynamicServerError","isDynamicServerError","DYNAMIC_ERROR_CODE","Error","constructor","description","digest","err"],"mappings":";;;;;;;;;;;;;;IAEaA,kBAAkB,EAAA;eAAlBA;;IAQGC,oBAAoB,EAAA;eAApBA;;;AAVhB,MAAMC,qBAAqB;AAEpB,MAAMF,2BAA2BG;IAGtCC,YAA4BC,WAAmB,CAAE;QAC/C,KAAK,CAAC,CAAC,sBAAsB,EAAEA,aAAa,GAAA,IAAA,CADlBA,WAAAA,GAAAA,aAAAA,IAAAA,CAF5BC,MAAAA,GAAoCJ;IAIpC;AACF;AAEO,SAASD,qBAAqBM,GAAY;IAC/C,IACE,OAAOA,QAAQ,YACfA,QAAQ,QACR,CAAE,CAAA,YAAYA,GAAE,KAChB,OAAOA,IAAID,MAAM,KAAK,UACtB;QACA,OAAO;IACT;IAEA,OAAOC,IAAID,MAAM,KAAKJ;AACxB","ignoreList":[0]}}, + {"offset": {"line": 49, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/client/components/static-generation-bailout.ts"],"sourcesContent":["const NEXT_STATIC_GEN_BAILOUT = 'NEXT_STATIC_GEN_BAILOUT'\n\nexport class StaticGenBailoutError extends Error {\n public readonly code = NEXT_STATIC_GEN_BAILOUT\n}\n\nexport function isStaticGenBailoutError(\n error: unknown\n): error is StaticGenBailoutError {\n if (typeof error !== 'object' || error === null || !('code' in error)) {\n return false\n }\n\n return error.code === NEXT_STATIC_GEN_BAILOUT\n}\n"],"names":["StaticGenBailoutError","isStaticGenBailoutError","NEXT_STATIC_GEN_BAILOUT","Error","code","error"],"mappings":";;;;;;;;;;;;;;IAEaA,qBAAqB,EAAA;eAArBA;;IAIGC,uBAAuB,EAAA;eAAvBA;;;AANhB,MAAMC,0BAA0B;AAEzB,MAAMF,8BAA8BG;;QAApC,KAAA,IAAA,OAAA,IAAA,CACWC,IAAAA,GAAOF;;AACzB;AAEO,SAASD,wBACdI,KAAc;IAEd,IAAI,OAAOA,UAAU,YAAYA,UAAU,QAAQ,CAAE,CAAA,UAAUA,KAAI,GAAI;QACrE,OAAO;IACT;IAEA,OAAOA,MAAMD,IAAI,KAAKF;AACxB","ignoreList":[0]}}, + {"offset": {"line": 93, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n RequestCookies: () => RequestCookies,\n ResponseCookies: () => ResponseCookies,\n parseCookie: () => parseCookie,\n parseSetCookie: () => parseSetCookie,\n stringifyCookie: () => stringifyCookie\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/serialize.ts\nfunction stringifyCookie(c) {\n var _a;\n const attrs = [\n \"path\" in c && c.path && `Path=${c.path}`,\n \"expires\" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === \"number\" ? new Date(c.expires) : c.expires).toUTCString()}`,\n \"maxAge\" in c && typeof c.maxAge === \"number\" && `Max-Age=${c.maxAge}`,\n \"domain\" in c && c.domain && `Domain=${c.domain}`,\n \"secure\" in c && c.secure && \"Secure\",\n \"httpOnly\" in c && c.httpOnly && \"HttpOnly\",\n \"sameSite\" in c && c.sameSite && `SameSite=${c.sameSite}`,\n \"partitioned\" in c && c.partitioned && \"Partitioned\",\n \"priority\" in c && c.priority && `Priority=${c.priority}`\n ].filter(Boolean);\n const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : \"\")}`;\n return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join(\"; \")}`;\n}\nfunction parseCookie(cookie) {\n const map = /* @__PURE__ */ new Map();\n for (const pair of cookie.split(/; */)) {\n if (!pair)\n continue;\n const splitAt = pair.indexOf(\"=\");\n if (splitAt === -1) {\n map.set(pair, \"true\");\n continue;\n }\n const [key, value] = [pair.slice(0, splitAt), pair.slice(splitAt + 1)];\n try {\n map.set(key, decodeURIComponent(value != null ? value : \"true\"));\n } catch {\n }\n }\n return map;\n}\nfunction parseSetCookie(setCookie) {\n if (!setCookie) {\n return void 0;\n }\n const [[name, value], ...attributes] = parseCookie(setCookie);\n const {\n domain,\n expires,\n httponly,\n maxage,\n path,\n samesite,\n secure,\n partitioned,\n priority\n } = Object.fromEntries(\n attributes.map(([key, value2]) => [\n key.toLowerCase().replace(/-/g, \"\"),\n value2\n ])\n );\n const cookie = {\n name,\n value: decodeURIComponent(value),\n domain,\n ...expires && { expires: new Date(expires) },\n ...httponly && { httpOnly: true },\n ...typeof maxage === \"string\" && { maxAge: Number(maxage) },\n path,\n ...samesite && { sameSite: parseSameSite(samesite) },\n ...secure && { secure: true },\n ...priority && { priority: parsePriority(priority) },\n ...partitioned && { partitioned: true }\n };\n return compact(cookie);\n}\nfunction compact(t) {\n const newT = {};\n for (const key in t) {\n if (t[key]) {\n newT[key] = t[key];\n }\n }\n return newT;\n}\nvar SAME_SITE = [\"strict\", \"lax\", \"none\"];\nfunction parseSameSite(string) {\n string = string.toLowerCase();\n return SAME_SITE.includes(string) ? string : void 0;\n}\nvar PRIORITY = [\"low\", \"medium\", \"high\"];\nfunction parsePriority(string) {\n string = string.toLowerCase();\n return PRIORITY.includes(string) ? string : void 0;\n}\nfunction splitCookiesString(cookiesString) {\n if (!cookiesString)\n return [];\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n cookiesSeparatorFound = true;\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n\n// src/request-cookies.ts\nvar RequestCookies = class {\n constructor(requestHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n this._headers = requestHeaders;\n const header = requestHeaders.get(\"cookie\");\n if (header) {\n const parsed = parseCookie(header);\n for (const [name, value] of parsed) {\n this._parsed.set(name, { name, value });\n }\n }\n }\n [Symbol.iterator]() {\n return this._parsed[Symbol.iterator]();\n }\n /**\n * The amount of cookies received from the client\n */\n get size() {\n return this._parsed.size;\n }\n get(...args) {\n const name = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(name);\n }\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed);\n if (!args.length) {\n return all.map(([_, value]) => value);\n }\n const name = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter(([n]) => n === name).map(([_, value]) => value);\n }\n has(name) {\n return this._parsed.has(name);\n }\n set(...args) {\n const [name, value] = args.length === 1 ? [args[0].name, args[0].value] : args;\n const map = this._parsed;\n map.set(name, { name, value });\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value2]) => stringifyCookie(value2)).join(\"; \")\n );\n return this;\n }\n /**\n * Delete the cookies matching the passed name or names in the request.\n */\n delete(names) {\n const map = this._parsed;\n const result = !Array.isArray(names) ? map.delete(names) : names.map((name) => map.delete(name));\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value]) => stringifyCookie(value)).join(\"; \")\n );\n return result;\n }\n /**\n * Delete all the cookies in the cookies in the request.\n */\n clear() {\n this.delete(Array.from(this._parsed.keys()));\n return this;\n }\n /**\n * Format the cookies in the request as a string for logging\n */\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map((v) => `${v.name}=${encodeURIComponent(v.value)}`).join(\"; \");\n }\n};\n\n// src/response-cookies.ts\nvar ResponseCookies = class {\n constructor(responseHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n var _a, _b, _c;\n this._headers = responseHeaders;\n const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get(\"set-cookie\")) != null ? _c : [];\n const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);\n for (const cookieString of cookieStrings) {\n const parsed = parseSetCookie(cookieString);\n if (parsed)\n this._parsed.set(parsed.name, parsed);\n }\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.\n */\n get(...args) {\n const key = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(key);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.\n */\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed.values());\n if (!args.length) {\n return all;\n }\n const key = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter((c) => c.name === key);\n }\n has(name) {\n return this._parsed.has(name);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.\n */\n set(...args) {\n const [name, value, cookie] = args.length === 1 ? [args[0].name, args[0].value, args[0]] : args;\n const map = this._parsed;\n map.set(name, normalizeCookie({ name, value, ...cookie }));\n replace(map, this._headers);\n return this;\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.\n */\n delete(...args) {\n const [name, options] = typeof args[0] === \"string\" ? [args[0]] : [args[0].name, args[0]];\n return this.set({ ...options, name, value: \"\", expires: /* @__PURE__ */ new Date(0) });\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map(stringifyCookie).join(\"; \");\n }\n};\nfunction replace(bag, headers) {\n headers.delete(\"set-cookie\");\n for (const [, value] of bag) {\n const serialized = stringifyCookie(value);\n headers.append(\"set-cookie\", serialized);\n }\n}\nfunction normalizeCookie(cookie = { name: \"\", value: \"\" }) {\n if (typeof cookie.expires === \"number\") {\n cookie.expires = new Date(cookie.expires);\n }\n if (cookie.maxAge) {\n cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);\n }\n if (cookie.path === null || cookie.path === void 0) {\n cookie.path = \"/\";\n }\n return cookie;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n RequestCookies,\n ResponseCookies,\n parseCookie,\n parseSetCookie,\n stringifyCookie\n});\n"],"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","src_exports","RequestCookies","ResponseCookies","parseCookie","parseSetCookie","stringifyCookie","module","exports","c","_a","attrs","path","expires","Date","toUTCString","maxAge","domain","secure","httpOnly","sameSite","partitioned","priority","filter","Boolean","stringified","encodeURIComponent","length","join","cookie","map","Map","pair","split","splitAt","indexOf","set","slice","decodeURIComponent","setCookie","attributes","httponly","maxage","samesite","fromEntries","value2","toLowerCase","replace","Number","parseSameSite","parsePriority","compact","t","newT","SAME_SITE","string","includes","PRIORITY","splitCookiesString","cookiesString","cookiesStrings","pos","start","ch","lastComma","nextStart","cookiesSeparatorFound","skipWhitespace","test","charAt","notSpecialChar","push","substring","requestHeaders","_parsed","_headers","header","parsed","Symbol","iterator","size","args","getAll","Array","_","n","has","delete","names","result","isArray","clear","keys","for","JSON","stringify","toString","values","v","responseHeaders","_b","_c","getSetCookie","cookieStrings","cookieString","normalizeCookie","options","bag","headers","serialized","append","now"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 463, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/build/output/log.ts"],"sourcesContent":["import { bold, green, magenta, red, yellow, white } from '../../lib/picocolors'\nimport { LRUCache } from '../../server/lib/lru-cache'\n\nexport const prefixes = {\n wait: white(bold('○')),\n error: red(bold('⨯')),\n warn: yellow(bold('⚠')),\n ready: '▲', // no color\n info: white(bold(' ')),\n event: green(bold('✓')),\n trace: magenta(bold('»')),\n} as const\n\nconst LOGGING_METHOD = {\n log: 'log',\n warn: 'warn',\n error: 'error',\n} as const\n\nfunction prefixedLog(prefixType: keyof typeof prefixes, ...message: any[]) {\n if ((message[0] === '' || message[0] === undefined) && message.length === 1) {\n message.shift()\n }\n\n const consoleMethod: keyof typeof LOGGING_METHOD =\n prefixType in LOGGING_METHOD\n ? LOGGING_METHOD[prefixType as keyof typeof LOGGING_METHOD]\n : 'log'\n\n const prefix = prefixes[prefixType]\n // If there's no message, don't print the prefix but a new line\n if (message.length === 0) {\n console[consoleMethod]('')\n } else {\n // Ensure if there's ANSI escape codes it's concatenated into one string.\n // Chrome DevTool can only handle color if it's in one string.\n if (message.length === 1 && typeof message[0] === 'string') {\n console[consoleMethod](prefix + ' ' + message[0])\n } else {\n console[consoleMethod](prefix, ...message)\n }\n }\n}\n\nexport function bootstrap(message: string) {\n console.log(message)\n}\n\nexport function wait(...message: any[]) {\n prefixedLog('wait', ...message)\n}\n\nexport function error(...message: any[]) {\n prefixedLog('error', ...message)\n}\n\nexport function warn(...message: any[]) {\n prefixedLog('warn', ...message)\n}\n\nexport function ready(...message: any[]) {\n prefixedLog('ready', ...message)\n}\n\nexport function info(...message: any[]) {\n prefixedLog('info', ...message)\n}\n\nexport function event(...message: any[]) {\n prefixedLog('event', ...message)\n}\n\nexport function trace(...message: any[]) {\n prefixedLog('trace', ...message)\n}\n\nconst warnOnceCache = new LRUCache(10_000, (value) => value.length)\nexport function warnOnce(...message: any[]) {\n const key = message.join(' ')\n if (!warnOnceCache.has(key)) {\n warnOnceCache.set(key, key)\n warn(...message)\n }\n}\n\nconst errorOnceCache = new LRUCache(10_000, (value) => value.length)\nexport function errorOnce(...message: any[]) {\n const key = message.join(' ')\n if (!errorOnceCache.has(key)) {\n errorOnceCache.set(key, key)\n error(...message)\n }\n}\n"],"names":["bold","green","magenta","red","yellow","white","LRUCache","prefixes","wait","error","warn","ready","info","event","trace","LOGGING_METHOD","log","prefixedLog","prefixType","message","undefined","length","shift","consoleMethod","prefix","console","bootstrap","warnOnceCache","value","warnOnce","key","join","has","set","errorOnceCache","errorOnce"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,IAAI,EAAEC,KAAK,EAAEC,OAAO,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,QAAQ,uBAAsB;AAC/E,SAASC,QAAQ,QAAQ,6BAA4B;;;AAE9C,MAAMC,WAAW;IACtBC,UAAMH,iKAAAA,MAAML,gKAAAA,EAAK;IACjBS,WAAON,+JAAAA,MAAIH,gKAAAA,EAAK;IAChBU,UAAMN,kKAAAA,MAAOJ,gKAAAA,EAAK;IAClBW,OAAO;IACPC,UAAMP,iKAAAA,MAAML,gKAAAA,EAAK;IACjBa,WAAOZ,iKAAAA,MAAMD,gKAAAA,EAAK;IAClBc,WAAOZ,mKAAAA,MAAQF,gKAAAA,EAAK;AACtB,EAAU;AAEV,MAAMe,iBAAiB;IACrBC,KAAK;IACLN,MAAM;IACND,OAAO;AACT;AAEA,SAASQ,YAAYC,UAAiC,EAAE,GAAGC,OAAc;IACvE,IAAKA,CAAAA,OAAO,CAAC,EAAE,KAAK,MAAMA,OAAO,CAAC,EAAE,KAAKC,SAAQ,KAAMD,QAAQE,MAAM,KAAK,GAAG;QAC3EF,QAAQG,KAAK;IACf;IAEA,MAAMC,gBACJL,cAAcH,iBACVA,cAAc,CAACG,WAA0C,GACzD;IAEN,MAAMM,SAASjB,QAAQ,CAACW,WAAW;IACnC,+DAA+D;IAC/D,IAAIC,QAAQE,MAAM,KAAK,GAAG;QACxBI,OAAO,CAACF,cAAc,CAAC;IACzB,OAAO;QACL,yEAAyE;QACzE,8DAA8D;QAC9D,IAAIJ,QAAQE,MAAM,KAAK,KAAK,OAAOF,OAAO,CAAC,EAAE,KAAK,UAAU;YAC1DM,OAAO,CAACF,cAAc,CAACC,SAAS,MAAML,OAAO,CAAC,EAAE;QAClD,OAAO;YACLM,OAAO,CAACF,cAAc,CAACC,WAAWL;QACpC;IACF;AACF;AAEO,SAASO,UAAUP,OAAe;IACvCM,QAAQT,GAAG,CAACG;AACd;AAEO,SAASX,KAAK,GAAGW,OAAc;IACpCF,YAAY,WAAWE;AACzB;AAEO,SAASV,MAAM,GAAGU,OAAc;IACrCF,YAAY,YAAYE;AAC1B;AAEO,SAAST,KAAK,GAAGS,OAAc;IACpCF,YAAY,WAAWE;AACzB;AAEO,SAASR,MAAM,GAAGQ,OAAc;IACrCF,YAAY,YAAYE;AAC1B;AAEO,SAASP,KAAK,GAAGO,OAAc;IACpCF,YAAY,WAAWE;AACzB;AAEO,SAASN,MAAM,GAAGM,OAAc;IACrCF,YAAY,YAAYE;AAC1B;AAEO,SAASL,MAAM,GAAGK,OAAc;IACrCF,YAAY,YAAYE;AAC1B;AAEA,MAAMQ,gBAAgB,IAAIrB,gLAAAA,CAAiB,OAAQ,CAACsB,QAAUA,MAAMP,MAAM;AACnE,SAASQ,SAAS,GAAGV,OAAc;IACxC,MAAMW,MAAMX,QAAQY,IAAI,CAAC;IACzB,IAAI,CAACJ,cAAcK,GAAG,CAACF,MAAM;QAC3BH,cAAcM,GAAG,CAACH,KAAKA;QACvBpB,QAAQS;IACV;AACF;AAEA,MAAMe,iBAAiB,IAAI5B,gLAAAA,CAAiB,OAAQ,CAACsB,QAAUA,MAAMP,MAAM;AACpE,SAASc,UAAU,GAAGhB,OAAc;IACzC,MAAMW,MAAMX,QAAQY,IAAI,CAAC;IACzB,IAAI,CAACG,eAAeF,GAAG,CAACF,MAAM;QAC5BI,eAAeD,GAAG,CAACH,KAAKA;QACxBrB,SAASU;IACX;AACF","ignoreList":[0]}}, + {"offset": {"line": 568, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/build/templates/middleware.ts"],"sourcesContent":["import type { AdapterOptions, EdgeHandler } from '../../server/web/adapter'\nimport '../adapter/setup-node-env.external'\nimport '../../server/web/globals'\n\nimport { adapter } from '../../server/web/adapter'\nimport { IncrementalCache } from '../../server/lib/incremental-cache'\ndeclare const incrementalCacheHandler: any\n// OPTIONAL_IMPORT:incrementalCacheHandler\n\n// Import the userland code.\nimport * as _mod from 'VAR_USERLAND'\nimport { edgeInstrumentationOnRequestError } from '../../server/web/globals'\nimport { isNextRouterError } from '../../client/components/is-next-router-error'\nimport { toNodeOutgoingHttpHeaders } from '../../server/web/utils'\nimport type { RequestMeta } from '../../server/request-meta'\n\nconst mod = { ..._mod }\n\nconst page: string = 'VAR_DEFINITION_PAGE'\nconst isProxy = page === '/proxy' || page === '/src/proxy'\nconst handlerUserland = (isProxy ? mod.proxy : mod.middleware) || mod.default\n\nclass ProxyMissingExportError extends Error {\n constructor(message: string) {\n super(message)\n // Stack isn't useful here, remove it considering it spams logs during development.\n this.stack = ''\n }\n}\n\n// TODO: This spams logs during development. Find a better way to handle this.\n// Removing this will spam \"fn is not a function\" logs which is worse.\nif (typeof handlerUserland !== 'function') {\n throw new ProxyMissingExportError(\n `The ${isProxy ? 'Proxy' : 'Middleware'} file \"${page}\" must export a function named \\`${isProxy ? 'proxy' : 'middleware'}\\` or a default function.`\n )\n}\n\n// Proxy will only sent out the FetchEvent to next server,\n// so load instrumentation module here and track the error inside proxy module.\nfunction errorHandledHandler(fn: AdapterOptions['handler']) {\n return async (...args: Parameters) => {\n try {\n return await fn(...args)\n } catch (err) {\n // In development, error the navigation API usage in runtime,\n // since it's not allowed to be used in proxy as it's outside of react component tree.\n if (process.env.NODE_ENV !== 'production') {\n if (isNextRouterError(err)) {\n err.message = `Next.js navigation API is not allowed to be used in ${isProxy ? 'Proxy' : 'Middleware'}.`\n throw err\n }\n }\n const req = args[0]\n const url = new URL(req.url)\n const resource = url.pathname + url.search\n await edgeInstrumentationOnRequestError(\n err,\n {\n path: resource,\n method: req.method,\n headers: Object.fromEntries(req.headers.entries()),\n },\n {\n routerKind: 'Pages Router',\n routePath: '/proxy',\n routeType: 'proxy',\n revalidateReason: undefined,\n }\n )\n\n throw err\n }\n }\n}\n\nconst internalHandler: EdgeHandler = async (opts) => {\n if (process.env.NEXT_RUNTIME !== 'edge') {\n // This mirrors what `RouteModule#prepare` does for routes\n // edge runtime handles loading instrumentation at the edge adapter level\n const { join, relative } =\n require('node:path') as typeof import('node:path')\n const { ensureInstrumentationRegistered } =\n require('../../server/lib/router-utils/instrumentation-globals.external') as typeof import('../../server/lib/router-utils/instrumentation-globals.external')\n const absoluteProjectDir = join(\n /* turbopackIgnore: true */\n process.cwd(),\n opts.request.requestMeta?.relativeProjectDir || ''\n )\n const absoluteDistDir = opts.request.requestMeta?.distDir\n const distDir = absoluteDistDir\n ? relative(absoluteProjectDir, absoluteDistDir)\n : '.next'\n\n await ensureInstrumentationRegistered(absoluteProjectDir, distDir)\n }\n\n return adapter({\n ...opts,\n IncrementalCache,\n incrementalCacheHandler,\n page,\n handler: errorHandledHandler(handlerUserland),\n })\n}\n\nexport async function handler(\n request: Request,\n ctx: {\n waitUntil?: (prom: Promise) => void\n signal?: AbortSignal\n requestMeta?: RequestMeta\n }\n): Promise {\n const result = await internalHandler({\n request: {\n url: request.url,\n method: request.method,\n headers: toNodeOutgoingHttpHeaders(request.headers),\n nextConfig: {\n basePath: process.env.__NEXT_BASE_PATH,\n i18n: process.env.__NEXT_I18N_CONFIG as any,\n trailingSlash: Boolean(process.env.__NEXT_TRAILING_SLASH),\n experimental: {\n cacheLife: process.env.__NEXT_CACHE_LIFE as any,\n authInterrupts: Boolean(\n process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS\n ),\n clientParamParsingOrigins: process.env\n .__NEXT_CLIENT_PARAM_PARSING_ORIGINS as any,\n },\n },\n page: {\n name: page,\n },\n body:\n request.method !== 'GET' && request.method !== 'HEAD'\n ? (request.body ?? undefined)\n : undefined,\n waitUntil: ctx.waitUntil,\n requestMeta: ctx.requestMeta,\n signal: ctx.signal || new AbortController().signal,\n },\n })\n\n ctx.waitUntil?.(result.waitUntil)\n\n return result.response\n}\n\n// backwards compat for non-adapter setups\nexport default internalHandler\n"],"names":["adapter","IncrementalCache","_mod","edgeInstrumentationOnRequestError","isNextRouterError","toNodeOutgoingHttpHeaders","mod","page","isProxy","handlerUserland","proxy","middleware","default","ProxyMissingExportError","Error","constructor","message","stack","errorHandledHandler","fn","args","err","process","env","NODE_ENV","req","url","URL","resource","pathname","search","path","method","headers","Object","fromEntries","entries","routerKind","routePath","routeType","revalidateReason","undefined","internalHandler","opts","NEXT_RUNTIME","join","relative","require","ensureInstrumentationRegistered","absoluteProjectDir","cwd","request","requestMeta","relativeProjectDir","absoluteDistDir","distDir","incrementalCacheHandler","handler","ctx","result","nextConfig","basePath","__NEXT_BASE_PATH","i18n","__NEXT_I18N_CONFIG","trailingSlash","Boolean","__NEXT_TRAILING_SLASH","experimental","cacheLife","__NEXT_CACHE_LIFE","authInterrupts","__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS","clientParamParsingOrigins","__NEXT_CLIENT_PARAM_PARSING_ORIGINS","name","body","waitUntil","signal","AbortController","response"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 730, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/client/components/app-router-headers.ts"],"sourcesContent":["export const RSC_HEADER = 'rsc' as const\nexport const ACTION_HEADER = 'next-action' as const\n// TODO: Instead of sending the full router state, we only need to send the\n// segment path. Saves bytes. Then we could also use this field for segment\n// prefetches, which also need to specify a particular segment.\nexport const NEXT_ROUTER_STATE_TREE_HEADER = 'next-router-state-tree' as const\nexport const NEXT_ROUTER_PREFETCH_HEADER = 'next-router-prefetch' as const\n// This contains the path to the segment being prefetched.\n// TODO: If we change next-router-state-tree to be a segment path, we can use\n// that instead. Then next-router-prefetch and next-router-segment-prefetch can\n// be merged into a single enum.\nexport const NEXT_ROUTER_SEGMENT_PREFETCH_HEADER =\n 'next-router-segment-prefetch' as const\nexport const NEXT_HMR_REFRESH_HEADER = 'next-hmr-refresh' as const\nexport const NEXT_URL = 'next-url' as const\nexport const RSC_CONTENT_TYPE_HEADER = 'text/x-component' as const\n\n// Cookie for the Instant Navigation Testing API. Sent automatically with all\n// requests while a navigation lock is held; the server uses its presence to\n// render only the shell. Not exposed in production builds by default.\nexport const NEXT_INSTANT_TEST_COOKIE =\n 'next-instant-navigation-testing' as const\n\nexport const FLIGHT_HEADERS = [\n RSC_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_ROUTER_PREFETCH_HEADER,\n NEXT_HMR_REFRESH_HEADER,\n NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,\n] as const\n\nexport const NEXT_RSC_UNION_QUERY = '_rsc' as const\n\nexport const NEXT_ROUTER_STALE_TIME_HEADER = 'x-nextjs-stale-time' as const\nexport const NEXT_DID_POSTPONE_HEADER = 'x-nextjs-postponed' as const\nexport const NEXT_REWRITTEN_PATH_HEADER = 'x-nextjs-rewritten-path' as const\nexport const NEXT_REWRITTEN_QUERY_HEADER = 'x-nextjs-rewritten-query' as const\nexport const NEXT_IS_PRERENDER_HEADER = 'x-nextjs-prerender' as const\nexport const NEXT_ACTION_NOT_FOUND_HEADER = 'x-nextjs-action-not-found' as const\nexport const NEXT_REQUEST_ID_HEADER = 'x-nextjs-request-id' as const\nexport const NEXT_HTML_REQUEST_ID_HEADER = 'x-nextjs-html-request-id' as const\n\n// TODO: Should this include nextjs in the name, like the others?\nexport const NEXT_ACTION_REVALIDATED_HEADER = 'x-action-revalidated' as const\n"],"names":["RSC_HEADER","ACTION_HEADER","NEXT_ROUTER_STATE_TREE_HEADER","NEXT_ROUTER_PREFETCH_HEADER","NEXT_ROUTER_SEGMENT_PREFETCH_HEADER","NEXT_HMR_REFRESH_HEADER","NEXT_URL","RSC_CONTENT_TYPE_HEADER","NEXT_INSTANT_TEST_COOKIE","FLIGHT_HEADERS","NEXT_RSC_UNION_QUERY","NEXT_ROUTER_STALE_TIME_HEADER","NEXT_DID_POSTPONE_HEADER","NEXT_REWRITTEN_PATH_HEADER","NEXT_REWRITTEN_QUERY_HEADER","NEXT_IS_PRERENDER_HEADER","NEXT_ACTION_NOT_FOUND_HEADER","NEXT_REQUEST_ID_HEADER","NEXT_HTML_REQUEST_ID_HEADER","NEXT_ACTION_REVALIDATED_HEADER"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,aAAa,MAAc;AACjC,MAAMC,gBAAgB,cAAsB;AAI5C,MAAMC,gCAAgC,yBAAiC;AACvE,MAAMC,8BAA8B,uBAA+B;AAKnE,MAAMC,sCACX,+BAAuC;AAClC,MAAMC,0BAA0B,mBAA2B;AAC3D,MAAMC,WAAW,WAAmB;AACpC,MAAMC,0BAA0B,mBAA2B;AAK3D,MAAMC,2BACX,kCAA0C;AAErC,MAAMC,iBAAiB;IAC5BT;IACAE;IACAC;IACAE;IACAD;CACD,CAAS;AAEH,MAAMM,uBAAuB,OAAe;AAE5C,MAAMC,gCAAgC,sBAA8B;AACpE,MAAMC,2BAA2B,qBAA6B;AAC9D,MAAMC,6BAA6B,0BAAkC;AACrE,MAAMC,8BAA8B,2BAAmC;AACvE,MAAMC,2BAA2B,qBAA6B;AAC9D,MAAMC,+BAA+B,4BAAoC;AACzE,MAAMC,yBAAyB,sBAA8B;AAC7D,MAAMC,8BAA8B,2BAAmC;AAGvE,MAAMC,iCAAiC,uBAA+B","ignoreList":[0]}}, + {"offset": {"line": 802, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/client/components/http-access-fallback/http-access-fallback.ts"],"sourcesContent":["export const HTTPAccessErrorStatus = {\n NOT_FOUND: 404,\n FORBIDDEN: 403,\n UNAUTHORIZED: 401,\n}\n\nconst ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus))\n\nexport const HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK'\n\nexport type HTTPAccessFallbackError = Error & {\n digest: `${typeof HTTP_ERROR_FALLBACK_ERROR_CODE};${string}`\n}\n\n/**\n * Checks an error to determine if it's an error generated by\n * the HTTP navigation APIs `notFound()`, `forbidden()` or `unauthorized()`.\n *\n * @param error the error that may reference a HTTP access error\n * @returns true if the error is a HTTP access error\n */\nexport function isHTTPAccessFallbackError(\n error: unknown\n): error is HTTPAccessFallbackError {\n if (\n typeof error !== 'object' ||\n error === null ||\n !('digest' in error) ||\n typeof error.digest !== 'string'\n ) {\n return false\n }\n const [prefix, httpStatus] = error.digest.split(';')\n\n return (\n prefix === HTTP_ERROR_FALLBACK_ERROR_CODE &&\n ALLOWED_CODES.has(Number(httpStatus))\n )\n}\n\nexport function getAccessFallbackHTTPStatus(\n error: HTTPAccessFallbackError\n): number {\n const httpStatus = error.digest.split(';')[1]\n return Number(httpStatus)\n}\n\nexport function getAccessFallbackErrorTypeByStatus(\n status: number\n): 'not-found' | 'forbidden' | 'unauthorized' | undefined {\n switch (status) {\n case 401:\n return 'unauthorized'\n case 403:\n return 'forbidden'\n case 404:\n return 'not-found'\n default:\n return\n }\n}\n"],"names":["HTTPAccessErrorStatus","NOT_FOUND","FORBIDDEN","UNAUTHORIZED","ALLOWED_CODES","Set","Object","values","HTTP_ERROR_FALLBACK_ERROR_CODE","isHTTPAccessFallbackError","error","digest","prefix","httpStatus","split","has","Number","getAccessFallbackHTTPStatus","getAccessFallbackErrorTypeByStatus","status"],"mappings":";;;;;;;;;;;;AAAO,MAAMA,wBAAwB;IACnCC,WAAW;IACXC,WAAW;IACXC,cAAc;AAChB,EAAC;AAED,MAAMC,gBAAgB,IAAIC,IAAIC,OAAOC,MAAM,CAACP;AAErC,MAAMQ,iCAAiC,2BAA0B;AAajE,SAASC,0BACdC,KAAc;IAEd,IACE,OAAOA,UAAU,YACjBA,UAAU,QACV,CAAE,CAAA,YAAYA,KAAI,KAClB,OAAOA,MAAMC,MAAM,KAAK,UACxB;QACA,OAAO;IACT;IACA,MAAM,CAACC,QAAQC,WAAW,GAAGH,MAAMC,MAAM,CAACG,KAAK,CAAC;IAEhD,OACEF,WAAWJ,kCACXJ,cAAcW,GAAG,CAACC,OAAOH;AAE7B;AAEO,SAASI,4BACdP,KAA8B;IAE9B,MAAMG,aAAaH,MAAMC,MAAM,CAACG,KAAK,CAAC,IAAI,CAAC,EAAE;IAC7C,OAAOE,OAAOH;AAChB;AAEO,SAASK,mCACdC,MAAc;IAEd,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE;IACJ;AACF","ignoreList":[0]}}, + {"offset": {"line": 848, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/client/components/is-next-router-error.ts"],"sourcesContent":["import {\n isHTTPAccessFallbackError,\n type HTTPAccessFallbackError,\n} from './http-access-fallback/http-access-fallback'\nimport { isRedirectError, type RedirectError } from './redirect-error'\n\n/**\n * Returns true if the error is a navigation signal error. These errors are\n * thrown by user code to perform navigation operations and interrupt the React\n * render.\n */\nexport function isNextRouterError(\n error: unknown\n): error is RedirectError | HTTPAccessFallbackError {\n return isRedirectError(error) || isHTTPAccessFallbackError(error)\n}\n"],"names":["isHTTPAccessFallbackError","isRedirectError","isNextRouterError","error"],"mappings":";;;;AAAA,SACEA,yBAAyB,QAEpB,8CAA6C;AACpD,SAASC,eAAe,QAA4B,mBAAkB;;;AAO/D,SAASC,kBACdC,KAAc;IAEd,WAAOF,mMAAAA,EAAgBE,cAAUH,oPAAAA,EAA0BG;AAC7D","ignoreList":[0]}}, + {"offset": {"line": 863, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/client/components/redirect-error.ts"],"sourcesContent":["import { RedirectStatusCode } from './redirect-status-code'\n\nexport const REDIRECT_ERROR_CODE = 'NEXT_REDIRECT'\n\nexport type RedirectType = 'push' | 'replace'\n\nexport type RedirectError = Error & {\n digest: `${typeof REDIRECT_ERROR_CODE};${RedirectType};${string};${RedirectStatusCode};`\n}\n\n/**\n * Checks an error to determine if it's an error generated by the\n * `redirect(url)` helper.\n *\n * @param error the error that may reference a redirect error\n * @returns true if the error is a redirect error\n */\nexport function isRedirectError(error: unknown): error is RedirectError {\n if (\n typeof error !== 'object' ||\n error === null ||\n !('digest' in error) ||\n typeof error.digest !== 'string'\n ) {\n return false\n }\n\n const digest = error.digest.split(';')\n const [errorCode, type] = digest\n const destination = digest.slice(2, -2).join(';')\n const status = digest.at(-2)\n\n const statusCode = Number(status)\n\n return (\n errorCode === REDIRECT_ERROR_CODE &&\n (type === 'replace' || type === 'push') &&\n typeof destination === 'string' &&\n !isNaN(statusCode) &&\n statusCode in RedirectStatusCode\n )\n}\n"],"names":["RedirectStatusCode","REDIRECT_ERROR_CODE","isRedirectError","error","digest","split","errorCode","type","destination","slice","join","status","at","statusCode","Number","isNaN"],"mappings":";;;;;;AAAA,SAASA,kBAAkB,QAAQ,yBAAwB;;AAEpD,MAAMC,sBAAsB,gBAAe;AAe3C,SAASC,gBAAgBC,KAAc;IAC5C,IACE,OAAOA,UAAU,YACjBA,UAAU,QACV,CAAE,CAAA,YAAYA,KAAI,KAClB,OAAOA,MAAMC,MAAM,KAAK,UACxB;QACA,OAAO;IACT;IAEA,MAAMA,SAASD,MAAMC,MAAM,CAACC,KAAK,CAAC;IAClC,MAAM,CAACC,WAAWC,KAAK,GAAGH;IAC1B,MAAMI,cAAcJ,OAAOK,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC;IAC7C,MAAMC,SAASP,OAAOQ,EAAE,CAAC,CAAC;IAE1B,MAAMC,aAAaC,OAAOH;IAE1B,OACEL,cAAcL,uBACbM,CAAAA,SAAS,aAAaA,SAAS,MAAK,KACrC,OAAOC,gBAAgB,YACvB,CAACO,MAAMF,eACPA,cAAcb,+MAAAA;AAElB","ignoreList":[0]}}, + {"offset": {"line": 887, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/client/components/redirect-status-code.ts"],"sourcesContent":["export enum RedirectStatusCode {\n SeeOther = 303,\n TemporaryRedirect = 307,\n PermanentRedirect = 308,\n}\n"],"names":["RedirectStatusCode"],"mappings":";;;;AAAO,IAAKA,qBAAAA,WAAAA,GAAAA,SAAAA,kBAAAA;;;;WAAAA;MAIX","ignoreList":[0]}}, + {"offset": {"line": 901, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/batcher.ts"],"sourcesContent":["import type { SchedulerFn } from './scheduler'\n\nimport { createPromiseWithResolvers } from '../shared/lib/promise-with-resolvers'\n\ntype CacheKeyFn = (\n key: K\n) => PromiseLike | C\n\ntype BatcherOptions = {\n cacheKeyFn?: CacheKeyFn\n schedulerFn?: SchedulerFn\n}\n\ntype WorkFnContext = {\n resolve: (value: V | PromiseLike) => void\n key: K\n}\n\ntype WorkFn = (context: WorkFnContext) => Promise\n\n/**\n * A wrapper for a function that will only allow one call to the function to\n * execute at a time.\n */\nexport class Batcher {\n private readonly pending = new Map>()\n\n protected constructor(\n private readonly cacheKeyFn?: CacheKeyFn,\n /**\n * A function that will be called to schedule the wrapped function to be\n * executed. This defaults to a function that will execute the function\n * immediately.\n */\n private readonly schedulerFn: SchedulerFn = (fn) => fn()\n ) {}\n\n /**\n * Creates a new instance of PendingWrapper. If the key extends a string or\n * number, the key will be used as the cache key. If the key is an object, a\n * cache key function must be provided.\n */\n public static create(\n options?: BatcherOptions\n ): Batcher\n public static create(\n options: BatcherOptions &\n Required, 'cacheKeyFn'>>\n ): Batcher\n public static create(\n options?: BatcherOptions\n ): Batcher {\n return new Batcher(options?.cacheKeyFn, options?.schedulerFn)\n }\n\n /**\n * Wraps a function in a promise that will be resolved or rejected only once\n * for a given key. This will allow multiple calls to the function to be\n * made, but only one will be executed at a time. The result of the first\n * call will be returned to all callers.\n *\n * @param key the key to use for the cache\n * @param fn the function to wrap\n * @returns a promise that resolves to the result of the function\n */\n public async batch(key: K, fn: WorkFn): Promise {\n const cacheKey = (this.cacheKeyFn ? await this.cacheKeyFn(key) : key) as C\n if (cacheKey === null) {\n return fn({ resolve: (value) => Promise.resolve(value), key })\n }\n\n const pending = this.pending.get(cacheKey)\n if (pending) return pending\n\n const { promise, resolve, reject } = createPromiseWithResolvers()\n this.pending.set(cacheKey, promise)\n\n this.schedulerFn(async () => {\n try {\n const result = await fn({ resolve, key })\n\n // Resolving a promise multiple times is a no-op, so we can safely\n // resolve all pending promises with the same result.\n resolve(result)\n } catch (err) {\n reject(err)\n } finally {\n this.pending.delete(cacheKey)\n }\n })\n\n return promise\n }\n}\n"],"names":["createPromiseWithResolvers","Batcher","cacheKeyFn","schedulerFn","fn","pending","Map","create","options","batch","key","cacheKey","resolve","value","Promise","get","promise","reject","set","result","err","delete"],"mappings":";;;;AAEA,SAASA,0BAA0B,QAAQ,uCAAsC;;AAsB1E,MAAMC;IAGX,YACmBC,UAA6B,EAC9C;;;;KAIC,GACgBC,cAAiC,CAACC,KAAOA,IAAI,CAC9D;aAPiBF,UAAAA,GAAAA;aAMAC,WAAAA,GAAAA;aATFE,OAAAA,GAAU,IAAIC;IAU5B;IAcH,OAAcC,OACZC,OAA8B,EACZ;QAClB,OAAO,IAAIP,QAAiBO,WAAAA,OAAAA,KAAAA,IAAAA,QAASN,UAAU,EAAEM,WAAAA,OAAAA,KAAAA,IAAAA,QAASL,WAAW;IACvE;IAEA;;;;;;;;;GASC,GACD,MAAaM,MAAMC,GAAM,EAAEN,EAAgB,EAAc;QACvD,MAAMO,WAAY,IAAI,CAACT,UAAU,GAAG,MAAM,IAAI,CAACA,UAAU,CAACQ,OAAOA;QACjE,IAAIC,aAAa,MAAM;YACrB,OAAOP,GAAG;gBAAEQ,SAAS,CAACC,QAAUC,QAAQF,OAAO,CAACC;gBAAQH;YAAI;QAC9D;QAEA,MAAML,UAAU,IAAI,CAACA,OAAO,CAACU,GAAG,CAACJ;QACjC,IAAIN,SAAS,OAAOA;QAEpB,MAAM,EAAEW,OAAO,EAAEJ,OAAO,EAAEK,MAAM,EAAE,OAAGjB,kNAAAA;QACrC,IAAI,CAACK,OAAO,CAACa,GAAG,CAACP,UAAUK;QAE3B,IAAI,CAACb,WAAW,CAAC;YACf,IAAI;gBACF,MAAMgB,SAAS,MAAMf,GAAG;oBAAEQ;oBAASF;gBAAI;gBAEvC,kEAAkE;gBAClE,qDAAqD;gBACrDE,QAAQO;YACV,EAAE,OAAOC,KAAK;gBACZH,OAAOG;YACT,SAAU;gBACR,IAAI,CAACf,OAAO,CAACgB,MAAM,CAACV;YACtB;QACF;QAEA,OAAOK;IACT;AACF","ignoreList":[0]}}, + {"offset": {"line": 963, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/constants.ts"],"sourcesContent":["import type { ServerRuntime } from '../types'\n\nexport const TEXT_PLAIN_CONTENT_TYPE_HEADER = 'text/plain'\nexport const HTML_CONTENT_TYPE_HEADER = 'text/html; charset=utf-8'\nexport const JSON_CONTENT_TYPE_HEADER = 'application/json; charset=utf-8'\nexport const NEXT_QUERY_PARAM_PREFIX = 'nxtP'\nexport const NEXT_INTERCEPTION_MARKER_PREFIX = 'nxtI'\n\nexport const MATCHED_PATH_HEADER = 'x-matched-path'\nexport const PRERENDER_REVALIDATE_HEADER = 'x-prerender-revalidate'\nexport const PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER =\n 'x-prerender-revalidate-if-generated'\n\nexport const RSC_SEGMENTS_DIR_SUFFIX = '.segments'\nexport const RSC_SEGMENT_SUFFIX = '.segment.rsc'\nexport const RSC_SUFFIX = '.rsc'\nexport const ACTION_SUFFIX = '.action'\nexport const NEXT_DATA_SUFFIX = '.json'\nexport const NEXT_META_SUFFIX = '.meta'\nexport const NEXT_BODY_SUFFIX = '.body'\n\nexport const NEXT_NAV_DEPLOYMENT_ID_HEADER = 'x-nextjs-deployment-id'\n\nexport const NEXT_CACHE_TAGS_HEADER = 'x-next-cache-tags'\nexport const NEXT_CACHE_REVALIDATED_TAGS_HEADER = 'x-next-revalidated-tags'\nexport const NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER =\n 'x-next-revalidate-tag-token'\n\nexport const NEXT_RESUME_HEADER = 'next-resume'\nexport const NEXT_RESUME_STATE_LENGTH_HEADER = 'x-next-resume-state-length'\n\n// if these change make sure we update the related\n// documentation as well\nexport const NEXT_CACHE_TAG_MAX_ITEMS = 128\nexport const NEXT_CACHE_TAG_MAX_LENGTH = 256\nexport const NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024\nexport const NEXT_CACHE_IMPLICIT_TAG_ID = '_N_T_'\nexport const NEXT_CACHE_ROOT_PARAM_TAG_ID = '_N_RP_'\n\n// in seconds\nexport const CACHE_ONE_YEAR_SECONDS = 31536000\n\n// in seconds, represents revalidate=false. I.e. never revaliate.\n// We use this value since it can be represented as a V8 SMI for optimal performance.\n// It can also be serialized as JSON if it ever leaks accidentally as an actual value.\nexport const INFINITE_CACHE = 0xfffffffe\n\n// Patterns to detect middleware files\nexport const MIDDLEWARE_FILENAME = 'middleware'\nexport const MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`\n\n// Patterns to detect proxy files (replacement for middleware)\nexport const PROXY_FILENAME = 'proxy'\nexport const PROXY_LOCATION_REGEXP = `(?:src/)?${PROXY_FILENAME}`\n\n// Pattern to detect instrumentation hooks file\nexport const INSTRUMENTATION_HOOK_FILENAME = 'instrumentation'\n\n// Because on Windows absolute paths in the generated code can break because of numbers, eg 1 in the path,\n// we have to use a private alias\nexport const PAGES_DIR_ALIAS = 'private-next-pages'\nexport const DOT_NEXT_ALIAS = 'private-dot-next'\nexport const ROOT_DIR_ALIAS = 'private-next-root-dir'\nexport const APP_DIR_ALIAS = 'private-next-app-dir'\nexport const RSC_MOD_REF_PROXY_ALIAS = 'private-next-rsc-mod-ref-proxy'\nexport const RSC_ACTION_VALIDATE_ALIAS = 'private-next-rsc-action-validate'\nexport const RSC_ACTION_PROXY_ALIAS = 'private-next-rsc-server-reference'\nexport const RSC_CACHE_WRAPPER_ALIAS = 'private-next-rsc-cache-wrapper'\nexport const RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS =\n 'private-next-rsc-track-dynamic-import'\nexport const RSC_ACTION_ENCRYPTION_ALIAS = 'private-next-rsc-action-encryption'\nexport const RSC_ACTION_CLIENT_WRAPPER_ALIAS =\n 'private-next-rsc-action-client-wrapper'\n\nexport const PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`\n\nexport const SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`\n\nexport const SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`\n\nexport const SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`\n\nexport const STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`\n\nexport const SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`\n\nexport const GSP_NO_RETURNED_VALUE =\n 'Your `getStaticProps` function did not return an object. Did you forget to add a `return`?'\nexport const GSSP_NO_RETURNED_VALUE =\n 'Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?'\n\nexport const UNSTABLE_REVALIDATE_RENAME_ERROR =\n 'The `unstable_revalidate` property is available for general use.\\n' +\n 'Please use `revalidate` instead.'\n\nexport const GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`\n\nexport const NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`\n\nexport const SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`\n\nexport const ESLINT_DEFAULT_DIRS = ['app', 'pages', 'components', 'lib', 'src']\n\nexport const SERVER_RUNTIME: Record = {\n edge: 'edge',\n experimentalEdge: 'experimental-edge',\n nodejs: 'nodejs',\n}\n\nexport const WEB_SOCKET_MAX_RECONNECTIONS = 12\n\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */\nconst WEBPACK_LAYERS_NAMES = {\n /**\n * The layer for the shared code between the client and server bundles.\n */\n shared: 'shared',\n /**\n * The layer for server-only runtime and picking up `react-server` export conditions.\n * Including app router RSC pages and app router custom routes and metadata routes.\n */\n reactServerComponents: 'rsc',\n /**\n * Server Side Rendering layer for app (ssr).\n */\n serverSideRendering: 'ssr',\n /**\n * The browser client bundle layer for actions.\n */\n actionBrowser: 'action-browser',\n /**\n * The Node.js bundle layer for the API routes.\n */\n apiNode: 'api-node',\n /**\n * The Edge Lite bundle layer for the API routes.\n */\n apiEdge: 'api-edge',\n /**\n * The layer for the middleware code.\n */\n middleware: 'middleware',\n /**\n * The layer for the instrumentation hooks.\n */\n instrument: 'instrument',\n /**\n * The layer for assets on the edge.\n */\n edgeAsset: 'edge-asset',\n /**\n * The browser client bundle layer for App directory.\n */\n appPagesBrowser: 'app-pages-browser',\n /**\n * The browser client bundle layer for Pages directory.\n */\n pagesDirBrowser: 'pages-dir-browser',\n /**\n * The Edge Lite bundle layer for Pages directory.\n */\n pagesDirEdge: 'pages-dir-edge',\n /**\n * The Node.js bundle layer for Pages directory.\n */\n pagesDirNode: 'pages-dir-node',\n} as const\n\nexport type WebpackLayerName =\n (typeof WEBPACK_LAYERS_NAMES)[keyof typeof WEBPACK_LAYERS_NAMES]\n\nconst WEBPACK_LAYERS = {\n ...WEBPACK_LAYERS_NAMES,\n GROUP: {\n builtinReact: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n ],\n serverOnly: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.instrument,\n WEBPACK_LAYERS_NAMES.middleware,\n ],\n neutralTarget: [\n // pages api\n WEBPACK_LAYERS_NAMES.apiNode,\n WEBPACK_LAYERS_NAMES.apiEdge,\n ],\n clientOnly: [\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n ],\n bundled: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.shared,\n WEBPACK_LAYERS_NAMES.instrument,\n WEBPACK_LAYERS_NAMES.middleware,\n ],\n appPages: [\n // app router pages and layouts\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n ],\n },\n}\n\nconst WEBPACK_RESOURCE_QUERIES = {\n edgeSSREntry: '__next_edge_ssr_entry__',\n metadata: '__next_metadata__',\n metadataRoute: '__next_metadata_route__',\n metadataImageMeta: '__next_metadata_image_meta__',\n}\n\nexport { WEBPACK_LAYERS, WEBPACK_RESOURCE_QUERIES }\n"],"names":["TEXT_PLAIN_CONTENT_TYPE_HEADER","HTML_CONTENT_TYPE_HEADER","JSON_CONTENT_TYPE_HEADER","NEXT_QUERY_PARAM_PREFIX","NEXT_INTERCEPTION_MARKER_PREFIX","MATCHED_PATH_HEADER","PRERENDER_REVALIDATE_HEADER","PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER","RSC_SEGMENTS_DIR_SUFFIX","RSC_SEGMENT_SUFFIX","RSC_SUFFIX","ACTION_SUFFIX","NEXT_DATA_SUFFIX","NEXT_META_SUFFIX","NEXT_BODY_SUFFIX","NEXT_NAV_DEPLOYMENT_ID_HEADER","NEXT_CACHE_TAGS_HEADER","NEXT_CACHE_REVALIDATED_TAGS_HEADER","NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER","NEXT_RESUME_HEADER","NEXT_RESUME_STATE_LENGTH_HEADER","NEXT_CACHE_TAG_MAX_ITEMS","NEXT_CACHE_TAG_MAX_LENGTH","NEXT_CACHE_SOFT_TAG_MAX_LENGTH","NEXT_CACHE_IMPLICIT_TAG_ID","NEXT_CACHE_ROOT_PARAM_TAG_ID","CACHE_ONE_YEAR_SECONDS","INFINITE_CACHE","MIDDLEWARE_FILENAME","MIDDLEWARE_LOCATION_REGEXP","PROXY_FILENAME","PROXY_LOCATION_REGEXP","INSTRUMENTATION_HOOK_FILENAME","PAGES_DIR_ALIAS","DOT_NEXT_ALIAS","ROOT_DIR_ALIAS","APP_DIR_ALIAS","RSC_MOD_REF_PROXY_ALIAS","RSC_ACTION_VALIDATE_ALIAS","RSC_ACTION_PROXY_ALIAS","RSC_CACHE_WRAPPER_ALIAS","RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS","RSC_ACTION_ENCRYPTION_ALIAS","RSC_ACTION_CLIENT_WRAPPER_ALIAS","PUBLIC_DIR_MIDDLEWARE_CONFLICT","SSG_GET_INITIAL_PROPS_CONFLICT","SERVER_PROPS_GET_INIT_PROPS_CONFLICT","SERVER_PROPS_SSG_CONFLICT","STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR","SERVER_PROPS_EXPORT_ERROR","GSP_NO_RETURNED_VALUE","GSSP_NO_RETURNED_VALUE","UNSTABLE_REVALIDATE_RENAME_ERROR","GSSP_COMPONENT_MEMBER_ERROR","NON_STANDARD_NODE_ENV","SSG_FALLBACK_EXPORT_ERROR","ESLINT_DEFAULT_DIRS","SERVER_RUNTIME","edge","experimentalEdge","nodejs","WEB_SOCKET_MAX_RECONNECTIONS","WEBPACK_LAYERS_NAMES","shared","reactServerComponents","serverSideRendering","actionBrowser","apiNode","apiEdge","middleware","instrument","edgeAsset","appPagesBrowser","pagesDirBrowser","pagesDirEdge","pagesDirNode","WEBPACK_LAYERS","GROUP","builtinReact","serverOnly","neutralTarget","clientOnly","bundled","appPages","WEBPACK_RESOURCE_QUERIES","edgeSSREntry","metadata","metadataRoute","metadataImageMeta"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1252, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/multi-file-writer.ts"],"sourcesContent":["import path from '../shared/lib/isomorphic/path'\nimport type { CacheFs } from '../shared/lib/utils'\n\n/**\n * A task to be written.\n */\ntype Task = [\n /**\n * The directory to create.\n */\n directory: string,\n\n /**\n * The promise to create the directory.\n */\n mkdir: Promise,\n\n /**\n * The promises to write the files that are dependent on the directory being\n * created.\n */\n writeFile: Promise[],\n]\n/**\n * MultiFileWriter is a utility for writing multiple files in parallel that\n * guarantees that all files will be written after their containing directory\n * is created, and that the directory will only be created once.\n */\nexport class MultiFileWriter {\n /**\n * The tasks to be written.\n */\n private readonly tasks: Task[] = []\n\n constructor(\n /**\n * The file system methods to use.\n */\n private readonly fs: Pick\n ) {}\n\n /**\n * Finds or creates a task for a directory.\n *\n * @param directory - The directory to find or create a task for.\n * @returns The task for the directory.\n */\n private findOrCreateTask(directory: string): Task {\n // See if this directory already has a task to create it.\n for (const task of this.tasks) {\n if (task[0] === directory) {\n return task\n }\n }\n\n const promise = this.fs.mkdir(directory)\n\n // Attach a catch handler so that it doesn't throw an unhandled promise\n // rejection warning.\n promise.catch(() => {})\n\n // Otherwise, create a new task for this directory.\n const task: Task = [directory, promise, []]\n this.tasks.push(task)\n\n return task\n }\n\n /**\n * Appends a file to the writer to be written after its containing directory\n * is created. The file writer should be awaited after all the files have been\n * appended. Any async operation that occurs between appending and awaiting\n * may cause an unhandled promise rejection warning and potentially crash the\n * process.\n *\n * @param filePath - The path to the file to write.\n * @param data - The data to write to the file.\n */\n public append(filePath: string, data: Buffer | string): void {\n // Find or create a task for the directory that contains the file.\n const task = this.findOrCreateTask(path.dirname(filePath))\n\n const promise = task[1].then(() => this.fs.writeFile(filePath, data))\n\n // Attach a catch handler so that it doesn't throw an unhandled promise\n // rejection warning.\n promise.catch(() => {})\n\n // Add the file write to the task AFTER the directory promise has resolved.\n task[2].push(promise)\n }\n\n /**\n * Returns a promise that resolves when all the files have been written.\n */\n public wait(): Promise {\n return Promise.all(this.tasks.flatMap((task) => task[2]))\n }\n}\n"],"names":["path","MultiFileWriter","constructor","fs","tasks","findOrCreateTask","directory","task","promise","mkdir","catch","push","append","filePath","data","dirname","then","writeFile","wait","Promise","all","flatMap"],"mappings":";;;;AAAA,OAAOA,UAAU,gCAA+B;;AA4BzC,MAAMC;IAMXC,YACE;;KAEC,GACgBC,EAAwC,CACzD;aADiBA,EAAAA,GAAAA;aANFC,KAAAA,GAAgB,EAAE;IAOhC;IAEH;;;;;GAKC,GACOC,iBAAiBC,SAAiB,EAAQ;QAChD,yDAAyD;QACzD,KAAK,MAAMC,QAAQ,IAAI,CAACH,KAAK,CAAE;YAC7B,IAAIG,IAAI,CAAC,EAAE,KAAKD,WAAW;gBACzB,OAAOC;YACT;QACF;QAEA,MAAMC,UAAU,IAAI,CAACL,EAAE,CAACM,KAAK,CAACH;QAE9B,uEAAuE;QACvE,qBAAqB;QACrBE,QAAQE,KAAK,CAAC,KAAO;QAErB,mDAAmD;QACnD,MAAMH,OAAa;YAACD;YAAWE;YAAS,EAAE;SAAC;QAC3C,IAAI,CAACJ,KAAK,CAACO,IAAI,CAACJ;QAEhB,OAAOA;IACT;IAEA;;;;;;;;;GASC,GACMK,OAAOC,QAAgB,EAAEC,IAAqB,EAAQ;QAC3D,kEAAkE;QAClE,MAAMP,OAAO,IAAI,CAACF,gBAAgB,CAACL,qLAAAA,CAAKe,OAAO,CAACF;QAEhD,MAAML,UAAUD,IAAI,CAAC,EAAE,CAACS,IAAI,CAAC,IAAM,IAAI,CAACb,EAAE,CAACc,SAAS,CAACJ,UAAUC;QAE/D,uEAAuE;QACvE,qBAAqB;QACrBN,QAAQE,KAAK,CAAC,KAAO;QAErB,2EAA2E;QAC3EH,IAAI,CAAC,EAAE,CAACI,IAAI,CAACH;IACf;IAEA;;GAEC,GACMU,OAAyB;QAC9B,OAAOC,QAAQC,GAAG,CAAC,IAAI,CAAChB,KAAK,CAACiB,OAAO,CAAC,CAACd,OAASA,IAAI,CAAC,EAAE;IACzD;AACF","ignoreList":[0]}}, + {"offset": {"line": 1319, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/picocolors.ts"],"sourcesContent":["// ISC License\n\n// Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov\n\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n//\n// https://github.com/alexeyraspopov/picocolors/blob/b6261487e7b81aaab2440e397a356732cad9e342/picocolors.js#L1\n\nconst { env, stdout } = globalThis?.process ?? {}\n\nconst enabled =\n env &&\n !env.NO_COLOR &&\n (env.FORCE_COLOR || (stdout?.isTTY && !env.CI && env.TERM !== 'dumb'))\n\nexport const isColorSupported = Boolean(enabled)\n\n// Whether stdout ends up on a terminal: directly, or through the CLI, which\n// pipes a child's output while the upgrade menu is open.\nexport const stdoutIsTerminal =\n Boolean(stdout?.isTTY) || env.NEXT_PRIVATE_PROMPT_OUTPUT === '1'\n\nconst replaceClose = (\n str: string,\n close: string,\n replace: string,\n index: number\n): string => {\n const start = str.substring(0, index) + replace\n const end = str.substring(index + close.length)\n const nextIndex = end.indexOf(close)\n return ~nextIndex\n ? start + replaceClose(end, close, replace, nextIndex)\n : start + end\n}\n\nconst formatter = (open: string, close: string, replace = open) => {\n if (!enabled) return String\n return (input: string) => {\n const string = '' + input\n const index = string.indexOf(close, open.length)\n return ~index\n ? open + replaceClose(string, close, replace, index) + close\n : open + string + close\n }\n}\n\nexport const reset = enabled ? (s: string) => `\\x1b[0m${s}\\x1b[0m` : String\nexport const bold = formatter('\\x1b[1m', '\\x1b[22m', '\\x1b[22m\\x1b[1m')\nexport const dim = formatter('\\x1b[2m', '\\x1b[22m', '\\x1b[22m\\x1b[2m')\nexport const italic = formatter('\\x1b[3m', '\\x1b[23m')\nexport const underline = formatter('\\x1b[4m', '\\x1b[24m')\nexport const inverse = formatter('\\x1b[7m', '\\x1b[27m')\nexport const hidden = formatter('\\x1b[8m', '\\x1b[28m')\nexport const strikethrough = formatter('\\x1b[9m', '\\x1b[29m')\nexport const black = formatter('\\x1b[30m', '\\x1b[39m')\nexport const red = formatter('\\x1b[31m', '\\x1b[39m')\nexport const green = formatter('\\x1b[32m', '\\x1b[39m')\nexport const yellow = formatter('\\x1b[33m', '\\x1b[39m')\nexport const blue = formatter('\\x1b[34m', '\\x1b[39m')\nexport const magenta = formatter('\\x1b[35m', '\\x1b[39m')\nexport const purple = formatter('\\x1b[38;2;173;127;168m', '\\x1b[39m')\nexport const cyan = formatter('\\x1b[36m', '\\x1b[39m')\nexport const white = formatter('\\x1b[37m', '\\x1b[39m')\nexport const gray = formatter('\\x1b[90m', '\\x1b[39m')\nexport const bgBlack = formatter('\\x1b[40m', '\\x1b[49m')\nexport const bgRed = formatter('\\x1b[41m', '\\x1b[49m')\nexport const bgGreen = formatter('\\x1b[42m', '\\x1b[49m')\nexport const bgYellow = formatter('\\x1b[43m', '\\x1b[49m')\nexport const bgBlue = formatter('\\x1b[44m', '\\x1b[49m')\nexport const bgMagenta = formatter('\\x1b[45m', '\\x1b[49m')\nexport const bgCyan = formatter('\\x1b[46m', '\\x1b[49m')\nexport const bgWhite = formatter('\\x1b[47m', '\\x1b[49m')\n"],"names":["globalThis","env","stdout","process","enabled","NO_COLOR","FORCE_COLOR","isTTY","CI","TERM","isColorSupported","Boolean","stdoutIsTerminal","NEXT_PRIVATE_PROMPT_OUTPUT","replaceClose","str","close","replace","index","start","substring","end","length","nextIndex","indexOf","formatter","open","String","input","string","reset","s","bold","dim","italic","underline","inverse","hidden","strikethrough","black","red","green","yellow","blue","magenta","purple","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1440, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/route-pattern-normalizer.ts"],"sourcesContent":["import type { Token } from 'next/dist/compiled/path-to-regexp'\n\n/**\n * Route pattern normalization utilities for path-to-regexp compatibility.\n *\n * path-to-regexp 6.3.0+ introduced stricter validation that rejects certain\n * patterns commonly used in Next.js interception routes. This module provides\n * normalization functions to make Next.js route patterns compatible with the\n * updated library while preserving all functionality.\n */\n\n/**\n * Internal separator used to normalize adjacent parameter patterns.\n * This unique marker is inserted between adjacent parameters and stripped out\n * during parameter extraction to avoid conflicts with real URL content.\n */\nexport const PARAM_SEPARATOR = '_NEXTSEP_'\n\n/**\n * Detects if a route pattern needs normalization for path-to-regexp compatibility.\n */\nexport function hasAdjacentParameterIssues(route: string): boolean {\n if (typeof route !== 'string') return false\n\n // Check for interception route markers followed immediately by parameters\n // Pattern: /(.):param, /(..):param, /(...):param, /(.)(.):param etc.\n // These patterns cause \"Must have text between two parameters\" errors\n if (/\\/\\(\\.{1,3}\\):[^/\\s]+/.test(route)) {\n return true\n }\n\n // Check for basic adjacent parameters without separators\n // Pattern: :param1:param2 (but not :param* or other URL patterns)\n if (/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(route)) {\n return true\n }\n\n return false\n}\n\n/**\n * Normalizes route patterns that have adjacent parameters without text between them.\n * Inserts a unique separator that can be safely stripped out later.\n */\nexport function normalizeAdjacentParameters(route: string): string {\n let normalized = route\n\n // Handle interception route patterns: (.):param -> (.)_NEXTSEP_:param\n normalized = normalized.replace(\n /(\\([^)]*\\)):([^/\\s]+)/g,\n `$1${PARAM_SEPARATOR}:$2`\n )\n\n // Handle other adjacent parameter patterns: :param1:param2 -> :param1_NEXTSEP_:param2\n normalized = normalized.replace(/:([^:/\\s)]+)(?=:)/g, `:$1${PARAM_SEPARATOR}`)\n\n return normalized\n}\n\n/**\n * Normalizes tokens that have repeating modifiers (* or +) but empty prefix and suffix.\n *\n * path-to-regexp 6.3.0+ introduced validation that throws:\n * \"Can not repeat without prefix/suffix\"\n *\n * This occurs when a token has modifier: '*' or '+' with both prefix: '' and suffix: ''\n */\nexport function normalizeTokensForRegexp(tokens: Token[]): Token[] {\n return tokens.map((token) => {\n // Token union type: Token = string | TokenObject\n // Literal path segments are strings, parameters/wildcards are objects\n if (\n typeof token === 'object' &&\n token !== null &&\n // Not all token objects have 'modifier' property (e.g., simple text tokens)\n 'modifier' in token &&\n // Only repeating modifiers (* or +) cause the validation error\n // Other modifiers like '?' (optional) are fine\n (token.modifier === '*' || token.modifier === '+') &&\n // Token objects can have different shapes depending on route pattern\n 'prefix' in token &&\n 'suffix' in token &&\n // Both prefix and suffix must be empty strings\n // This is what causes the validation error in path-to-regexp\n token.prefix === '' &&\n token.suffix === ''\n ) {\n // Add minimal prefix to satisfy path-to-regexp validation\n // We use '/' as it's the most common path delimiter and won't break route matching\n // The prefix gets used in regex generation but doesn't affect parameter extraction\n return {\n ...token,\n prefix: '/',\n }\n }\n return token\n })\n}\n\n/**\n * Strips normalization separators from compiled pathname.\n * This removes separators that were inserted by normalizeAdjacentParameters\n * to satisfy path-to-regexp validation.\n *\n * Only removes separators in the specific contexts where they were inserted:\n * - After interception route markers: (.)_NEXTSEP_ -> (.)\n *\n * This targeted approach ensures we don't accidentally remove the separator\n * from legitimate user content.\n */\nexport function stripNormalizedSeparators(pathname: string): string {\n // Remove separator after interception route markers\n // Pattern: (.)_NEXTSEP_ -> (.), (..)_NEXTSEP_ -> (..), etc.\n // The separator appears after the closing paren of interception markers\n return pathname.replace(new RegExp(`\\\\)${PARAM_SEPARATOR}`, 'g'), ')')\n}\n\n/**\n * Strips normalization separators from extracted route parameters.\n * Used by both server and client code to clean up parameters after route matching.\n */\nexport function stripParameterSeparators(\n params: Record\n): Record {\n const cleaned: Record = {}\n\n for (const [key, value] of Object.entries(params)) {\n if (typeof value === 'string') {\n // Remove the separator if it appears at the start of parameter values\n cleaned[key] = value.replace(new RegExp(`^${PARAM_SEPARATOR}`), '')\n } else if (Array.isArray(value)) {\n // Handle array parameters (from repeated route segments)\n cleaned[key] = value.map((item) =>\n typeof item === 'string'\n ? item.replace(new RegExp(`^${PARAM_SEPARATOR}`), '')\n : item\n )\n } else {\n cleaned[key] = value\n }\n }\n\n return cleaned\n}\n"],"names":["PARAM_SEPARATOR","hasAdjacentParameterIssues","route","test","normalizeAdjacentParameters","normalized","replace","normalizeTokensForRegexp","tokens","map","token","modifier","prefix","suffix","stripNormalizedSeparators","pathname","RegExp","stripParameterSeparators","params","cleaned","key","value","Object","entries","Array","isArray","item"],"mappings":"AAEA;;;;;;;CAOC,GAED;;;;CAIC,GACD;;;;;;;;;;;;;;AAAO,MAAMA,kBAAkB,YAAW;AAKnC,SAASC,2BAA2BC,KAAa;IACtD,IAAI,OAAOA,UAAU,UAAU,OAAO;IAEtC,0EAA0E;IAC1E,qEAAqE;IACrE,sEAAsE;IACtE,IAAI,wBAAwBC,IAAI,CAACD,QAAQ;QACvC,OAAO;IACT;IAEA,yDAAyD;IACzD,kEAAkE;IAClE,IAAI,iDAAiDC,IAAI,CAACD,QAAQ;QAChE,OAAO;IACT;IAEA,OAAO;AACT;AAMO,SAASE,4BAA4BF,KAAa;IACvD,IAAIG,aAAaH;IAEjB,sEAAsE;IACtEG,aAAaA,WAAWC,OAAO,CAC7B,0BACA,CAAC,EAAE,EAAEN,gBAAgB,GAAG,CAAC;IAG3B,sFAAsF;IACtFK,aAAaA,WAAWC,OAAO,CAAC,sBAAsB,CAAC,GAAG,EAAEN,iBAAiB;IAE7E,OAAOK;AACT;AAUO,SAASE,yBAAyBC,MAAe;IACtD,OAAOA,OAAOC,GAAG,CAAC,CAACC;QACjB,iDAAiD;QACjD,sEAAsE;QACtE,IACE,OAAOA,UAAU,YACjBA,UAAU,QACV,4EAA4E;QAC5E,cAAcA,SACd,+DAA+D;QAC/D,+CAA+C;QAC9CA,CAAAA,MAAMC,QAAQ,KAAK,OAAOD,MAAMC,QAAQ,KAAK,GAAE,KAChD,qEAAqE;QACrE,YAAYD,SACZ,YAAYA,SACZ,+CAA+C;QAC/C,6DAA6D;QAC7DA,MAAME,MAAM,KAAK,MACjBF,MAAMG,MAAM,KAAK,IACjB;YACA,0DAA0D;YAC1D,mFAAmF;YACnF,mFAAmF;YACnF,OAAO;gBACL,GAAGH,KAAK;gBACRE,QAAQ;YACV;QACF;QACA,OAAOF;IACT;AACF;AAaO,SAASI,0BAA0BC,QAAgB;IACxD,oDAAoD;IACpD,4DAA4D;IAC5D,wEAAwE;IACxE,OAAOA,SAAST,OAAO,CAAC,IAAIU,OAAO,CAAC,GAAG,EAAEhB,iBAAiB,EAAE,MAAM;AACpE;AAMO,SAASiB,yBACdC,MAA2B;IAE3B,MAAMC,UAA+B,CAAC;IAEtC,KAAK,MAAM,CAACC,KAAKC,MAAM,IAAIC,OAAOC,OAAO,CAACL,QAAS;QACjD,IAAI,OAAOG,UAAU,UAAU;YAC7B,sEAAsE;YACtEF,OAAO,CAACC,IAAI,GAAGC,MAAMf,OAAO,CAAC,IAAIU,OAAO,CAAC,CAAC,EAAEhB,iBAAiB,GAAG;QAClE,OAAO,IAAIwB,MAAMC,OAAO,CAACJ,QAAQ;YAC/B,yDAAyD;YACzDF,OAAO,CAACC,IAAI,GAAGC,MAAMZ,GAAG,CAAC,CAACiB,OACxB,OAAOA,SAAS,WACZA,KAAKpB,OAAO,CAAC,IAAIU,OAAO,CAAC,CAAC,EAAEhB,iBAAiB,GAAG,MAChD0B;QAER,OAAO;YACLP,OAAO,CAACC,IAAI,GAAGC;QACjB;IACF;IAEA,OAAOF;AACT","ignoreList":[0]}}, + {"offset": {"line": 1536, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/scheduler.ts"],"sourcesContent":["export type ScheduledFn = () => T | PromiseLike\nexport type SchedulerFn = (cb: ScheduledFn) => void\n\n/**\n * Schedules a function to be called on the next tick after the other promises\n * have been resolved.\n *\n * @param cb the function to schedule\n */\nexport const scheduleOnNextTick = (cb: ScheduledFn) => {\n // We use Promise.resolve().then() here so that the operation is scheduled at\n // the end of the promise job queue, we then add it to the next process tick\n // to ensure it's evaluated afterwards.\n //\n // This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255\n //\n Promise.resolve().then(() => {\n if (process.env.NEXT_RUNTIME === 'edge') {\n setTimeout(cb, 0)\n } else {\n process.nextTick(cb)\n }\n })\n}\n\n/**\n * Schedules a function to be called using `setImmediate` or `setTimeout` if\n * `setImmediate` is not available (like in the Edge runtime).\n *\n * @param cb the function to schedule\n */\nexport const scheduleImmediate = (cb: ScheduledFn): void => {\n if (process.env.NEXT_RUNTIME === 'edge') {\n setTimeout(cb, 0)\n } else {\n setImmediate(cb)\n }\n}\n\n/**\n * returns a promise than resolves in a future task. There is no guarantee that the task it resolves in\n * will be the next task but if you await it you can at least be sure that the current task is over and\n * most usefully that the entire microtask queue of the current task has been emptied.\n */\nexport function atLeastOneTask() {\n return new Promise((resolve) => scheduleImmediate(resolve))\n}\n\n/**\n * This utility function is extracted to make it easier to find places where we are doing\n * specific timing tricks to try to schedule work after React has rendered. This is especially\n * important at the moment because Next.js uses the edge builds of React which use setTimeout to\n * schedule work when you might expect that something like setImmediate would do the trick.\n *\n * Long term we should switch to the node versions of React rendering when possible and then\n * update this to use setImmediate rather than setTimeout\n */\nexport function waitAtLeastOneReactRenderTask(): Promise {\n if (process.env.NEXT_RUNTIME === 'edge') {\n return new Promise((r) => setTimeout(r, 0))\n } else {\n return new Promise((r) => setImmediate(r))\n }\n}\n"],"names":["scheduleOnNextTick","cb","Promise","resolve","then","process","env","NEXT_RUNTIME","setTimeout","nextTick","scheduleImmediate","setImmediate","atLeastOneTask","waitAtLeastOneReactRenderTask","r"],"mappings":"AAGA;;;;;CAKC,GACD;;;;;;;;;;AAAO,MAAMA,qBAAqB,CAACC;IACjC,6EAA6E;IAC7E,4EAA4E;IAC5E,uCAAuC;IACvC,EAAE;IACF,kLAAkL;IAClL,EAAE;IACFC,QAAQC,OAAO,GAAGC,IAAI,CAAC;QACrB,IAAIC,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;aAElC;YACLF,QAAQI,QAAQ,CAACR;QACnB;IACF;AACF,EAAC;AAQM,MAAMS,oBAAoB,CAACT;IAChC,IAAII,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;SAElC;QACLI,aAAaV;IACf;AACF,EAAC;AAOM,SAASW;IACd,OAAO,IAAIV,QAAc,CAACC,UAAYO,kBAAkBP;AAC1D;AAWO,SAASU;IACd,IAAIR,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;SAElC;QACL,OAAO,IAAIL,QAAQ,CAACY,IAAMH,aAAaG;IACzC;AACF","ignoreList":[0]}}, + {"offset": {"line": 1587, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/url.ts"],"sourcesContent":["import type { UrlWithParsedQuery } from 'url'\nimport { NEXT_RSC_UNION_QUERY } from '../client/components/app-router-headers'\n\nconst DUMMY_ORIGIN = 'http://n'\n\nexport function isFullStringUrl(url: string) {\n return /https?:\\/\\//.test(url)\n}\n\nexport function parseUrl(url: string): URL | undefined {\n let parsed: URL | undefined = undefined\n try {\n parsed = new URL(url, DUMMY_ORIGIN)\n } catch {}\n return parsed\n}\n\nexport function parseReqUrl(url: string): UrlWithParsedQuery | undefined {\n const parsedUrl: URL | undefined = parseUrl(url)\n\n if (!parsedUrl) {\n return\n }\n\n const query: Record = {}\n\n for (const key of parsedUrl.searchParams.keys()) {\n const values = parsedUrl.searchParams.getAll(key)\n query[key] = values.length > 1 ? values : values[0]\n }\n\n const legacyUrl: UrlWithParsedQuery = {\n query,\n hash: parsedUrl.hash,\n search: parsedUrl.search,\n path: parsedUrl.pathname,\n pathname: parsedUrl.pathname,\n href: `${parsedUrl.pathname}${parsedUrl.search}${parsedUrl.hash}`,\n host: '',\n hostname: '',\n auth: '',\n protocol: '',\n slashes: null,\n port: '',\n }\n return legacyUrl\n}\n\nexport function stripNextRscUnionQuery(relativeUrl: string): string {\n const urlInstance = new URL(relativeUrl, DUMMY_ORIGIN)\n urlInstance.searchParams.delete(NEXT_RSC_UNION_QUERY)\n\n return urlInstance.pathname + urlInstance.search\n}\n"],"names":["NEXT_RSC_UNION_QUERY","DUMMY_ORIGIN","isFullStringUrl","url","test","parseUrl","parsed","undefined","URL","parseReqUrl","parsedUrl","query","key","searchParams","keys","values","getAll","length","legacyUrl","hash","search","path","pathname","href","host","hostname","auth","protocol","slashes","port","stripNextRscUnionQuery","relativeUrl","urlInstance","delete"],"mappings":";;;;;;;;;;AACA,SAASA,oBAAoB,QAAQ,0CAAyC;;AAE9E,MAAMC,eAAe;AAEd,SAASC,gBAAgBC,GAAW;IACzC,OAAO,cAAcC,IAAI,CAACD;AAC5B;AAEO,SAASE,SAASF,GAAW;IAClC,IAAIG,SAA0BC;IAC9B,IAAI;QACFD,SAAS,IAAIE,IAAIL,KAAKF;IACxB,EAAE,OAAM,CAAC;IACT,OAAOK;AACT;AAEO,SAASG,YAAYN,GAAW;IACrC,MAAMO,YAA6BL,SAASF;IAE5C,IAAI,CAACO,WAAW;QACd;IACF;IAEA,MAAMC,QAA2C,CAAC;IAElD,KAAK,MAAMC,OAAOF,UAAUG,YAAY,CAACC,IAAI,GAAI;QAC/C,MAAMC,SAASL,UAAUG,YAAY,CAACG,MAAM,CAACJ;QAC7CD,KAAK,CAACC,IAAI,GAAGG,OAAOE,MAAM,GAAG,IAAIF,SAASA,MAAM,CAAC,EAAE;IACrD;IAEA,MAAMG,YAAgC;QACpCP;QACAQ,MAAMT,UAAUS,IAAI;QACpBC,QAAQV,UAAUU,MAAM;QACxBC,MAAMX,UAAUY,QAAQ;QACxBA,UAAUZ,UAAUY,QAAQ;QAC5BC,MAAM,GAAGb,UAAUY,QAAQ,GAAGZ,UAAUU,MAAM,GAAGV,UAAUS,IAAI,EAAE;QACjEK,MAAM;QACNC,UAAU;QACVC,MAAM;QACNC,UAAU;QACVC,SAAS;QACTC,MAAM;IACR;IACA,OAAOX;AACT;AAEO,SAASY,uBAAuBC,WAAmB;IACxD,MAAMC,cAAc,IAAIxB,IAAIuB,aAAa9B;IACzC+B,YAAYnB,YAAY,CAACoB,MAAM,CAACjC,+MAAAA;IAEhC,OAAOgC,YAAYV,QAAQ,GAAGU,YAAYZ,MAAM;AAClD","ignoreList":[0]}}, + {"offset": {"line": 1645, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/after/after-context.ts"],"sourcesContent":["import PromiseQueue from 'next/dist/compiled/p-queue'\nimport type { RequestLifecycleOpts } from '../base-server'\nimport type { AfterCallback, AfterTask } from './after'\nimport { InvariantError } from '../../shared/lib/invariant-error'\nimport { isThenable } from '../../shared/lib/is-thenable'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { withExecuteRevalidates } from '../revalidation-utils'\nimport { bindSnapshot } from '../app-render/async-local-storage'\nimport type { WorkUnitStore } from '../app-render/work-unit-async-storage.external'\nimport { afterTaskAsyncStorage } from '../app-render/after-task-async-storage.external'\nimport { scheduleImmediate } from '../../lib/scheduler'\n\nexport type AfterContextOpts = {\n waitUntil: RequestLifecycleOpts['waitUntil'] | undefined\n onClose: RequestLifecycleOpts['onClose']\n onTaskError: RequestLifecycleOpts['onAfterTaskError'] | undefined\n}\n\nexport class AfterContext {\n private waitUntil: RequestLifecycleOpts['waitUntil'] | undefined\n private onClose: RequestLifecycleOpts['onClose']\n private onTaskError: RequestLifecycleOpts['onAfterTaskError'] | undefined\n\n private isRequestClosed: boolean = false\n private initialOnCloseError: null | { error: unknown } = null\n\n private runCallbacksOnClosePromise: Promise | undefined\n private callbackQueue: PromiseQueue\n private workUnitStores = new Set()\n\n constructor({ waitUntil, onClose, onTaskError }: AfterContextOpts) {\n this.waitUntil = waitUntil\n this.onClose = onClose\n this.onTaskError = onTaskError\n\n this.callbackQueue = new PromiseQueue()\n this.callbackQueue.pause()\n\n try {\n onClose(() => {\n this.isRequestClosed = true\n\n // TODO(after): it's not ideal that we'll only switch the `phase` of a WorkUnitStore\n // if `after()` was called inside it. We should probably track this whenever a store is created\n for (const workUnitStore of this.workUnitStores) {\n workUnitStore.phase = 'after'\n }\n })\n } catch (err) {\n // If onClose is broken, report errors lazily, when after() is called.\n this.initialOnCloseError = { error: err }\n }\n }\n\n public after(task: AfterTask, workUnitStore: WorkUnitStore): void {\n if (this.initialOnCloseError) {\n throw new InvariantError(\n `An onClose call failed, which means after() can't work correctly.`,\n { cause: this.initialOnCloseError.error }\n )\n }\n\n // Save the workUnitStore so we can switch its phase later.\n this.workUnitStores.add(workUnitStore)\n\n if (isThenable(task)) {\n this.addThenable(task)\n } else if (typeof task === 'function') {\n // TODO(after): implement tracing\n this.addCallback(task, workUnitStore)\n } else {\n throw new Error('`after()`: Argument must be a promise or a function')\n }\n }\n\n private addThenable(thenable: PromiseLike) {\n if (!this.waitUntil) {\n errorWaitUntilNotAvailable()\n }\n this.waitUntil(\n new Promise((resolve) => {\n thenable.then(\n () => {\n resolve()\n },\n (error) => {\n resolve()\n this.reportTaskError('promise', error)\n }\n )\n })\n )\n }\n\n private addCallback(callback: AfterCallback, workUnitStore: WorkUnitStore) {\n // if something is wrong, throw synchronously, bubbling up to the `after` callsite.\n if (!this.waitUntil) {\n errorWaitUntilNotAvailable()\n }\n\n const afterTaskStore = afterTaskAsyncStorage.getStore()\n\n // This is used for checking if request APIs can be called inside `after`.\n // Note that we need to check the phase in which the *topmost* `after` was called (which should be \"action\"),\n // not the current phase (which might be \"after\" if we're in a nested after).\n // Otherwise, we might allow `after(() => headers())`, but not `after(() => after(() => headers()))`.\n const rootTaskSpawnPhase = afterTaskStore\n ? afterTaskStore.rootTaskSpawnPhase // nested after\n : workUnitStore.phase // topmost after\n\n // this should only happen once.\n if (!this.runCallbacksOnClosePromise) {\n this.runCallbacksOnClosePromise = this.runCallbacksOnClose()\n this.waitUntil(this.runCallbacksOnClosePromise)\n }\n\n // Bind the callback to the current execution context (i.e. preserve all currently available ALS-es).\n // We do this because we want all of these to be equivalent in every regard except timing:\n // after(() => x())\n // after(x())\n // await x()\n const wrappedCallback = bindSnapshot(\n // WARNING: Don't make this a named function. It must be anonymous.\n // See: https://github.com/facebook/react/pull/34911\n async () => {\n try {\n await afterTaskAsyncStorage.run({ rootTaskSpawnPhase }, () =>\n callback()\n )\n } catch (error) {\n this.reportTaskError('function', error)\n }\n }\n )\n\n this.callbackQueue.add(wrappedCallback)\n }\n\n private async runCallbacksOnClose() {\n if (!this.isRequestClosed) {\n await new Promise((resolve) => this.onClose(resolve))\n } else {\n // The request is already closed.\n // Avoid running the callbacks too quickly to prevent userspace from\n // e.g. relying on `after` being microtasky somewhere.\n await new Promise((resolve) => scheduleImmediate(resolve))\n }\n return this.runCallbacks()\n }\n\n private async runCallbacks(): Promise {\n if (this.callbackQueue.size === 0) return\n\n const workStore = workAsyncStorage.getStore()\n if (!workStore) {\n throw new InvariantError('Missing workStore in AfterContext.runCallbacks')\n }\n\n return withExecuteRevalidates(workStore, () => {\n this.callbackQueue.start()\n return this.callbackQueue.onIdle()\n })\n }\n\n private reportTaskError(taskKind: 'promise' | 'function', error: unknown) {\n // TODO(after): this is fine for now, but will need better intergration with our error reporting.\n // TODO(after): should we log this if we have a onTaskError callback?\n console.error(\n taskKind === 'promise'\n ? `A promise passed to \\`after()\\` rejected:`\n : `An error occurred in a function passed to \\`after()\\`:`,\n error\n )\n if (this.onTaskError) {\n // this is very defensive, but we really don't want anything to blow up in an error handler\n try {\n this.onTaskError?.(error)\n } catch (handlerError) {\n console.error(\n new InvariantError(\n '`onTaskError` threw while handling an error thrown from an `after` task',\n {\n cause: handlerError,\n }\n )\n )\n }\n }\n }\n}\n\nfunction errorWaitUntilNotAvailable(): never {\n throw new Error(\n '`after()` will not work correctly, because `waitUntil` is not available in the current environment.'\n )\n}\n"],"names":["PromiseQueue","InvariantError","isThenable","workAsyncStorage","withExecuteRevalidates","bindSnapshot","afterTaskAsyncStorage","scheduleImmediate","AfterContext","constructor","waitUntil","onClose","onTaskError","isRequestClosed","initialOnCloseError","workUnitStores","Set","callbackQueue","pause","workUnitStore","phase","err","error","after","task","cause","add","addThenable","addCallback","Error","thenable","errorWaitUntilNotAvailable","Promise","resolve","then","reportTaskError","callback","afterTaskStore","getStore","rootTaskSpawnPhase","runCallbacksOnClosePromise","runCallbacksOnClose","wrappedCallback","run","runCallbacks","size","workStore","start","onIdle","taskKind","console","handlerError"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1801, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/after/builtin-request-context.ts"],"sourcesContent":["import { createAsyncLocalStorage } from '../app-render/async-local-storage'\n\nexport function getBuiltinRequestContext():\n | BuiltinRequestContextValue\n | undefined {\n const _globalThis = globalThis as GlobalThisWithRequestContext\n const ctx = _globalThis[NEXT_REQUEST_CONTEXT_SYMBOL]\n return ctx?.get()\n}\n\nconst NEXT_REQUEST_CONTEXT_SYMBOL = Symbol.for('@next/request-context')\n\ntype GlobalThisWithRequestContext = typeof globalThis & {\n [NEXT_REQUEST_CONTEXT_SYMBOL]?: BuiltinRequestContext\n}\n\n/** A request context provided by the platform. */\nexport type BuiltinRequestContext = {\n get(): BuiltinRequestContextValue | undefined\n}\n\nexport type RunnableBuiltinRequestContext = BuiltinRequestContext & {\n run(value: BuiltinRequestContextValue, callback: () => T): T\n}\n\nexport type BuiltinRequestContextValue = {\n waitUntil?: WaitUntil\n}\nexport type WaitUntil = (promise: Promise) => void\n\n/** \"@next/request-context\" has a different signature from AsyncLocalStorage,\n * matching [AsyncContext.Variable](https://github.com/tc39/proposal-async-context).\n * We don't need a full AsyncContext adapter here, just having `.get()` is enough\n */\nexport function createLocalRequestContext(): RunnableBuiltinRequestContext {\n const storage = createAsyncLocalStorage()\n return {\n get: () => storage.getStore(),\n run: (value, callback) => storage.run(value, callback),\n }\n}\n"],"names":["createAsyncLocalStorage","getBuiltinRequestContext","_globalThis","globalThis","ctx","NEXT_REQUEST_CONTEXT_SYMBOL","get","Symbol","for","createLocalRequestContext","storage","getStore","run","value","callback"],"mappings":";;;;;;AAAA,SAASA,uBAAuB,QAAQ,oCAAmC;;AAEpE,SAASC;IAGd,MAAMC,cAAcC;IACpB,MAAMC,MAAMF,WAAW,CAACG,4BAA4B;IACpD,OAAOD,OAAAA,OAAAA,KAAAA,IAAAA,IAAKE,GAAG;AACjB;AAEA,MAAMD,8BAA8BE,OAAOC,GAAG,CAAC;AAwBxC,SAASC;IACd,MAAMC,cAAUV,sNAAAA;IAChB,OAAO;QACLM,KAAK,IAAMI,QAAQC,QAAQ;QAC3BC,KAAK,CAACC,OAAOC,WAAaJ,QAAQE,GAAG,CAACC,OAAOC;IAC/C;AACF","ignoreList":[0]}}, + {"offset": {"line": 1826, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/api-utils/get-cookie-parser.ts"],"sourcesContent":["import type { NextApiRequestCookies } from '.'\n\n/**\n * Parse cookies from the `headers` of request\n * @param req request object\n */\n\nexport function getCookieParser(headers: {\n [key: string]: string | string[] | null | undefined\n}): () => NextApiRequestCookies {\n return function parseCookie(): NextApiRequestCookies {\n const { cookie } = headers\n\n if (!cookie) {\n return {}\n }\n\n const { parse: parseCookieFn } =\n require('next/dist/compiled/cookie') as typeof import('next/dist/compiled/cookie')\n return parseCookieFn(Array.isArray(cookie) ? cookie.join('; ') : cookie)\n }\n}\n"],"names":["getCookieParser","headers","parseCookie","cookie","parse","parseCookieFn","require","Array","isArray","join"],"mappings":"AAEA;;;CAGC,GAED;;;;AAAO,SAASA,gBAAgBC,OAE/B;IACC,OAAO,SAASC;QACd,MAAM,EAAEC,MAAM,EAAE,GAAGF;QAEnB,IAAI,CAACE,QAAQ;YACX,OAAO,CAAC;QACV;QAEA,MAAM,EAAEC,OAAOC,aAAa,EAAE,GAC5BC,QAAQ;QACV,OAAOD,cAAcE,MAAMC,OAAO,CAACL,UAAUA,OAAOM,IAAI,CAAC,QAAQN;IACnE;AACF","ignoreList":[0]}}, + {"offset": {"line": 1847, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/api-utils/index.ts"],"sourcesContent":["import type { IncomingHttpHeaders, IncomingMessage } from 'http'\nimport type { CookieSerializeOptions } from 'next/dist/compiled/cookie'\nimport type { NextApiResponse } from '../../shared/lib/utils'\n\nimport { HeadersAdapter } from '../web/spec-extension/adapters/headers'\nimport {\n PRERENDER_REVALIDATE_HEADER,\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER,\n} from '../../lib/constants'\nimport { getTracer } from '../lib/trace/tracer'\nimport { NodeSpan } from '../lib/trace/constants'\n\nexport type NextApiRequestCookies = Partial<{ [key: string]: string }>\nexport type NextApiRequestQuery = Partial<{ [key: string]: string | string[] }>\n\nexport type __ApiPreviewProps = {\n previewModeId: string\n previewModeEncryptionKey: string\n previewModeSigningKey: string\n}\n\nexport function wrapApiHandler any>(\n page: string,\n handler: T\n): T {\n return ((...args) => {\n getTracer().setRootSpanAttribute('next.route', page)\n // Call API route method\n return getTracer().trace(\n NodeSpan.runHandler,\n {\n spanName: `executing api route (pages) ${page}`,\n },\n () => handler(...args)\n )\n }) as T\n}\n\n/**\n *\n * @param res response object\n * @param statusCode `HTTP` status code of response\n */\nexport function sendStatusCode(\n res: NextApiResponse,\n statusCode: number\n): NextApiResponse {\n res.statusCode = statusCode\n return res\n}\n\n/**\n *\n * @param res response object\n * @param [statusOrUrl] `HTTP` status code of redirect\n * @param url URL of redirect\n */\nexport function redirect(\n res: NextApiResponse,\n statusOrUrl: string | number,\n url?: string\n): NextApiResponse {\n if (typeof statusOrUrl === 'string') {\n url = statusOrUrl\n statusOrUrl = 307\n }\n if (typeof statusOrUrl !== 'number' || typeof url !== 'string') {\n throw new Error(\n `Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').`\n )\n }\n res.writeHead(statusOrUrl, { Location: url })\n res.write(url)\n res.end()\n return res\n}\n\nexport function checkIsOnDemandRevalidate(\n rawHeaders: Headers | IncomingHttpHeaders,\n previewProps: __ApiPreviewProps\n): {\n isOnDemandRevalidate: boolean\n revalidateOnlyGenerated: boolean\n} {\n // Headers is a plain object for Node.js, Headers object in Edge runtime\n if (typeof rawHeaders.get === 'function') {\n const headers = HeadersAdapter.from(rawHeaders)\n\n const previewModeId = headers.get(PRERENDER_REVALIDATE_HEADER)\n const isOnDemandRevalidate = previewModeId === previewProps.previewModeId\n\n const revalidateOnlyGenerated = headers.has(\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER\n )\n\n return { isOnDemandRevalidate, revalidateOnlyGenerated }\n }\n\n const headers = rawHeaders as IncomingHttpHeaders\n\n const previewModeId = headers[PRERENDER_REVALIDATE_HEADER]\n const isOnDemandRevalidate = previewModeId === previewProps.previewModeId\n\n const revalidateOnlyGenerated = headers.hasOwnProperty(\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER\n )\n\n return { isOnDemandRevalidate, revalidateOnlyGenerated }\n}\n\nexport const COOKIE_NAME_PRERENDER_BYPASS = `__prerender_bypass`\nexport const COOKIE_NAME_PRERENDER_DATA = `__next_preview_data`\n\nexport const RESPONSE_LIMIT_DEFAULT = 4 * 1024 * 1024\n\nexport const SYMBOL_PREVIEW_DATA = Symbol(COOKIE_NAME_PRERENDER_DATA)\nexport const SYMBOL_CLEARED_COOKIES = Symbol(COOKIE_NAME_PRERENDER_BYPASS)\n\nexport function clearPreviewData(\n res: NextApiResponse,\n options: {\n path?: string\n } = {}\n): NextApiResponse {\n if (SYMBOL_CLEARED_COOKIES in res) {\n return res\n }\n\n const { serialize } =\n require('next/dist/compiled/cookie') as typeof import('next/dist/compiled/cookie')\n const previous = res.getHeader('Set-Cookie')\n res.setHeader(`Set-Cookie`, [\n ...(typeof previous === 'string'\n ? [previous]\n : Array.isArray(previous)\n ? previous\n : []),\n serialize(COOKIE_NAME_PRERENDER_BYPASS, '', {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n ...(options.path !== undefined\n ? ({ path: options.path } as CookieSerializeOptions)\n : undefined),\n }),\n serialize(COOKIE_NAME_PRERENDER_DATA, '', {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n ...(options.path !== undefined\n ? ({ path: options.path } as CookieSerializeOptions)\n : undefined),\n }),\n ])\n\n Object.defineProperty(res, SYMBOL_CLEARED_COOKIES, {\n value: true,\n enumerable: false,\n })\n return res\n}\n\n/**\n * Custom error class\n */\nexport class ApiError extends Error {\n readonly statusCode: number\n\n constructor(statusCode: number, message: string) {\n super(message)\n this.statusCode = statusCode\n }\n}\n\n/**\n * Sends error in `response`\n * @param res response object\n * @param statusCode of response\n * @param message of response\n */\nexport function sendError(\n res: NextApiResponse,\n statusCode: number,\n message: string\n): void {\n res.statusCode = statusCode\n res.statusMessage = message\n res.end(message)\n}\n\ninterface LazyProps {\n req: IncomingMessage\n}\n\n/**\n * Execute getter function only if its needed\n * @param LazyProps `req` and `params` for lazyProp\n * @param prop name of property\n * @param getter function to get data\n */\nexport function setLazyProp(\n { req }: LazyProps,\n prop: string,\n getter: () => T\n): void {\n const opts = { configurable: true, enumerable: true }\n const optsReset = { ...opts, writable: true }\n\n Object.defineProperty(req, prop, {\n ...opts,\n get: () => {\n const value = getter()\n // we set the property on the object to avoid recalculating it\n Object.defineProperty(req, prop, { ...optsReset, value })\n return value\n },\n set: (value) => {\n Object.defineProperty(req, prop, { ...optsReset, value })\n },\n })\n}\n"],"names":["HeadersAdapter","PRERENDER_REVALIDATE_HEADER","PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER","getTracer","NodeSpan","wrapApiHandler","page","handler","args","setRootSpanAttribute","trace","runHandler","spanName","sendStatusCode","res","statusCode","redirect","statusOrUrl","url","Error","writeHead","Location","write","end","checkIsOnDemandRevalidate","rawHeaders","previewProps","get","headers","from","previewModeId","isOnDemandRevalidate","revalidateOnlyGenerated","has","hasOwnProperty","COOKIE_NAME_PRERENDER_BYPASS","COOKIE_NAME_PRERENDER_DATA","RESPONSE_LIMIT_DEFAULT","SYMBOL_PREVIEW_DATA","Symbol","SYMBOL_CLEARED_COOKIES","clearPreviewData","options","serialize","require","previous","getHeader","setHeader","Array","isArray","expires","Date","httpOnly","sameSite","process","env","NODE_ENV","secure","path","undefined","Object","defineProperty","value","enumerable","ApiError","constructor","message","sendError","statusMessage","setLazyProp","req","prop","getter","opts","configurable","optsReset","writable","set"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,cAAc,QAAQ,yCAAwC;AACvE,SACEC,2BAA2B,EAC3BC,0CAA0C,QACrC,sBAAqB;AAC5B,SAASC,SAAS,QAAQ,sBAAqB;AAC/C,SAASC,QAAQ,QAAQ,yBAAwB;;;;;AAW1C,SAASC,eACdC,IAAY,EACZC,OAAU;IAEV,OAAQ,CAAC,GAAGC;YACVL,oLAAAA,IAAYM,oBAAoB,CAAC,cAAcH;QAC/C,wBAAwB;QACxB,WAAOH,oLAAAA,IAAYO,KAAK,CACtBN,sLAAAA,CAASO,UAAU,EACnB;YACEC,UAAU,CAAC,4BAA4B,EAAEN,MAAM;QACjD,GACA,IAAMC,WAAWC;IAErB;AACF;AAOO,SAASK,eACdC,GAAoB,EACpBC,UAAkB;IAElBD,IAAIC,UAAU,GAAGA;IACjB,OAAOD;AACT;AAQO,SAASE,SACdF,GAAoB,EACpBG,WAA4B,EAC5BC,GAAY;IAEZ,IAAI,OAAOD,gBAAgB,UAAU;QACnCC,MAAMD;QACNA,cAAc;IAChB;IACA,IAAI,OAAOA,gBAAgB,YAAY,OAAOC,QAAQ,UAAU;QAC9D,MAAM,IAAIC,MACR,CAAC,qKAAqK,CAAC;IAE3K;IACAL,IAAIM,SAAS,CAACH,aAAa;QAAEI,UAAUH;IAAI;IAC3CJ,IAAIQ,KAAK,CAACJ;IACVJ,IAAIS,GAAG;IACP,OAAOT;AACT;AAEO,SAASU,0BACdC,UAAyC,EACzCC,YAA+B;IAK/B,wEAAwE;IACxE,IAAI,OAAOD,WAAWE,GAAG,KAAK,YAAY;QACxC,MAAMC,UAAU5B,kNAAAA,CAAe6B,IAAI,CAACJ;QAEpC,MAAMK,gBAAgBF,QAAQD,GAAG,CAAC1B,sLAAAA;QAClC,MAAM8B,uBAAuBD,kBAAkBJ,aAAaI,aAAa;QAEzE,MAAME,0BAA0BJ,QAAQK,GAAG,CACzC/B,qMAAAA;QAGF,OAAO;YAAE6B;YAAsBC;QAAwB;IACzD;IAEA,MAAMJ,UAAUH;IAEhB,MAAMK,gBAAgBF,OAAO,CAAC3B,sLAAAA,CAA4B;IAC1D,MAAM8B,uBAAuBD,kBAAkBJ,aAAaI,aAAa;IAEzE,MAAME,0BAA0BJ,QAAQM,cAAc,CACpDhC,qMAAAA;IAGF,OAAO;QAAE6B;QAAsBC;IAAwB;AACzD;AAEO,MAAMG,+BAA+B,CAAC,kBAAkB,CAAC,CAAA;AACzD,MAAMC,6BAA6B,CAAC,mBAAmB,CAAC,CAAA;AAExD,MAAMC,yBAAyB,IAAI,OAAO,KAAI;AAE9C,MAAMC,sBAAsBC,OAAOH,4BAA2B;AAC9D,MAAMI,yBAAyBD,OAAOJ,8BAA6B;AAEnE,SAASM,iBACd3B,GAAuB,EACvB4B,UAEI,CAAC,CAAC;IAEN,IAAIF,0BAA0B1B,KAAK;QACjC,OAAOA;IACT;IAEA,MAAM,EAAE6B,SAAS,EAAE,GACjBC,QAAQ;IACV,MAAMC,WAAW/B,IAAIgC,SAAS,CAAC;IAC/BhC,IAAIiC,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE;WACtB,OAAOF,aAAa,WACpB;YAACA;SAAS,GACVG,MAAMC,OAAO,CAACJ,YACZA,WACA,EAAE;QACRF,UAAUR,8BAA8B,IAAI;YAC1C,2DAA2D;YAC3D,oDAAoD;YACpD,wEAAwE;YACxEe,SAAS,IAAIC,KAAK;YAClBC,UAAU;YACVC,UAAUC,QAAQC,GAAG,CAACC,QAAQ,KAAK,aAAgB,0BAAS;YAC5DC,QAAQH,QAAQC,GAAG,CAACC,QAAQ,gCAAK;YACjCE,MAAM;YACN,GAAIhB,QAAQgB,IAAI,KAAKC,YAChB;gBAAED,MAAMhB,QAAQgB,IAAI;YAAC,IACtBC,SAAS;QACf;QACAhB,UAAUP,4BAA4B,IAAI;YACxC,2DAA2D;YAC3D,oDAAoD;YACpD,wEAAwE;YACxEc,SAAS,IAAIC,KAAK;YAClBC,UAAU;YACVC,UAAUC,QAAQC,GAAG,CAACC,QAAQ,KAAK,aAAgB,0BAAS;YAC5DC,QAAQH,QAAQC,GAAG,CAACC,QAAQ,gCAAK;YACjCE,MAAM;YACN,GAAIhB,QAAQgB,IAAI,KAAKC,YAChB;gBAAED,MAAMhB,QAAQgB,IAAI;YAAC,IACtBC,SAAS;QACf;KACD;IAEDC,OAAOC,cAAc,CAAC/C,KAAK0B,wBAAwB;QACjDsB,OAAO;QACPC,YAAY;IACd;IACA,OAAOjD;AACT;AAKO,MAAMkD,iBAAiB7C;IAG5B8C,YAAYlD,UAAkB,EAAEmD,OAAe,CAAE;QAC/C,KAAK,CAACA;QACN,IAAI,CAACnD,UAAU,GAAGA;IACpB;AACF;AAQO,SAASoD,UACdrD,GAAoB,EACpBC,UAAkB,EAClBmD,OAAe;IAEfpD,IAAIC,UAAU,GAAGA;IACjBD,IAAIsD,aAAa,GAAGF;IACpBpD,IAAIS,GAAG,CAAC2C;AACV;AAYO,SAASG,YACd,EAAEC,GAAG,EAAa,EAClBC,IAAY,EACZC,MAAe;IAEf,MAAMC,OAAO;QAAEC,cAAc;QAAMX,YAAY;IAAK;IACpD,MAAMY,YAAY;QAAE,GAAGF,IAAI;QAAEG,UAAU;IAAK;IAE5ChB,OAAOC,cAAc,CAACS,KAAKC,MAAM;QAC/B,GAAGE,IAAI;QACP9C,KAAK;YACH,MAAMmC,QAAQU;YACd,8DAA8D;YAC9DZ,OAAOC,cAAc,CAACS,KAAKC,MAAM;gBAAE,GAAGI,SAAS;gBAAEb;YAAM;YACvD,OAAOA;QACT;QACAe,KAAK,CAACf;YACJF,OAAOC,cAAc,CAACS,KAAKC,MAAM;gBAAE,GAAGI,SAAS;gBAAEb;YAAM;QACzD;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 2023, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/app-render/async-local-storage.ts"],"sourcesContent":["import type { AsyncLocalStorage } from 'async_hooks'\n\nconst sharedAsyncLocalStorageNotAvailableError = new Error(\n 'Invariant: AsyncLocalStorage accessed in runtime where it is not available'\n)\n\nclass FakeAsyncLocalStorage\n implements AsyncLocalStorage\n{\n disable(): void {\n throw sharedAsyncLocalStorageNotAvailableError\n }\n\n getStore(): Store | undefined {\n // This fake implementation of AsyncLocalStorage always returns `undefined`.\n return undefined\n }\n\n run(): R {\n throw sharedAsyncLocalStorageNotAvailableError\n }\n\n exit(): R {\n throw sharedAsyncLocalStorageNotAvailableError\n }\n\n enterWith(): void {\n throw sharedAsyncLocalStorageNotAvailableError\n }\n\n static bind(fn: T): T {\n return fn\n }\n}\n\nconst maybeGlobalAsyncLocalStorage =\n typeof globalThis !== 'undefined' && (globalThis as any).AsyncLocalStorage\n\nexport function createAsyncLocalStorage<\n Store extends {},\n>(): AsyncLocalStorage {\n if (maybeGlobalAsyncLocalStorage) {\n return new maybeGlobalAsyncLocalStorage()\n }\n return new FakeAsyncLocalStorage()\n}\n\n/**\n * Returns the storage registered under `name`, and creates it on first use.\n *\n * These storages must be singletons within a realm. A store that is entered\n * through one reference to a storage must be readable through every other\n * reference to it. If it is not, code that runs inside the scope sees no store\n * at all. Module identity does not guarantee this. A realm can evaluate the\n * same `next` file more than once if the package is reachable through more than\n * one path, and then each evaluation creates a storage of its own. A global\n * symbol keeps the singleton intact for any number of copies. Worker threads\n * and edge sandboxes still get separate storages, because each of them has its\n * own `globalThis`.\n *\n * Module identity broke this way in `next dev`. A bug in Node's\n * `fs.realpathSync` can return a path with its symlinks unresolved, and the\n * module loader keys the module cache on that path. On a pnpm install it then\n * resolves `next/dist/...` through the `node_modules/next` symlink instead of\n * the real path, so the file is evaluated a second time. See\n * https://github.com/nodejs/node/pull/65113. Node versions without that fix\n * stay affected.\n *\n * The key includes the Next.js version, so two different versions of Next.js in\n * the same realm keep separate storages. Their store shapes might not be\n * compatible.\n */\nexport function getOrCreateGlobalAsyncLocalStorage(\n name: string\n): AsyncLocalStorage {\n const key = Symbol.for(`@next/${name}@${process.env.__NEXT_VERSION}`)\n\n const globalStore = globalThis as typeof globalThis & {\n [key: symbol]: AsyncLocalStorage | undefined\n }\n\n return (globalStore[key] ??= createAsyncLocalStorage())\n}\n\nexport function bindSnapshot(\n // WARNING: Don't pass a named function to this argument! See: https://github.com/facebook/react/pull/34911\n fn: T\n): T {\n if (maybeGlobalAsyncLocalStorage) {\n return maybeGlobalAsyncLocalStorage.bind(fn)\n }\n return FakeAsyncLocalStorage.bind(fn)\n}\n\nexport function createSnapshot(): (\n fn: (...args: TArgs) => R,\n ...args: TArgs\n) => R {\n if (maybeGlobalAsyncLocalStorage) {\n return maybeGlobalAsyncLocalStorage.snapshot()\n }\n return function (fn: any, ...args: any[]) {\n return fn(...args)\n }\n}\n"],"names":["sharedAsyncLocalStorageNotAvailableError","Error","FakeAsyncLocalStorage","disable","getStore","undefined","run","exit","enterWith","bind","fn","maybeGlobalAsyncLocalStorage","globalThis","AsyncLocalStorage","createAsyncLocalStorage","getOrCreateGlobalAsyncLocalStorage","name","key","Symbol","for","process","env","__NEXT_VERSION","globalStore","bindSnapshot","createSnapshot","snapshot","args"],"mappings":";;;;;;;;;;AAEA,MAAMA,2CAA2C,IAAIC,MACnD;AAGF,MAAMC;IAGJC,UAAgB;QACd,MAAMH;IACR;IAEAI,WAA8B;QAC5B,4EAA4E;QAC5E,OAAOC;IACT;IAEAC,MAAY;QACV,MAAMN;IACR;IAEAO,OAAa;QACX,MAAMP;IACR;IAEAQ,YAAkB;QAChB,MAAMR;IACR;IAEA,OAAOS,KAAQC,EAAK,EAAK;QACvB,OAAOA;IACT;AACF;AAEA,MAAMC,+BACJ,OAAOC,eAAe,eAAgBA,WAAmBC,iBAAiB;AAErE,SAASC;IAGd,IAAIH,8BAA8B;QAChC,OAAO,IAAIA;IACb;IACA,OAAO,IAAIT;AACb;AA2BO,SAASa,mCACdC,IAAY;IAEZ,MAAMC,MAAMC,OAAOC,GAAG,CAAC,CAAC,MAAM,EAAEH,KAAK,CAAC,EAAEI,QAAQC,EAAAA,CAAG,CAACC,cAAc,EAAE;IAEpE,MAAMC,cAAcX;IAIpB,OAAQW,WAAW,CAACN,IAAI,KAAKH;AAC/B;AAEO,SAASU,aACd,AACAd,EAAK,yGADsG;IAG3G,IAAIC,8BAA8B;QAChC,OAAOA,6BAA6BF,IAAI,CAACC;IAC3C;IACA,OAAOR,sBAAsBO,IAAI,CAACC;AACpC;AAEO,SAASe;IAId,IAAId,8BAA8B;QAChC,OAAOA,6BAA6Be,QAAQ;IAC9C;IACA,OAAO,SAAUhB,EAAO,EAAE,GAAGiB,IAAW;QACtC,OAAOjB,MAAMiB;IACf;AACF","ignoreList":[0]}}, + {"offset": {"line": 2085, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/async-storage/draft-mode-provider.ts"],"sourcesContent":["import type { IncomingHttpHeaders } from 'http'\nimport type { ReadonlyRequestCookies } from '../web/spec-extension/adapters/request-cookies'\nimport type { ResponseCookies } from '../web/spec-extension/cookies'\n\nimport {\n COOKIE_NAME_PRERENDER_BYPASS,\n checkIsOnDemandRevalidate,\n} from '../api-utils'\nimport type { __ApiPreviewProps } from '../api-utils'\n\nexport class DraftModeProvider {\n /**\n * @internal - this declaration is stripped via `tsc --stripInternal`\n */\n private _isEnabled: boolean\n\n /**\n * @internal - this declaration is stripped via `tsc --stripInternal`\n */\n private readonly _previewModeId: string | undefined\n\n /**\n * @internal - this declaration is stripped via `tsc --stripInternal`\n */\n private readonly _mutableCookies: ResponseCookies\n\n constructor(\n previewProps: __ApiPreviewProps | undefined,\n headers: Headers | IncomingHttpHeaders,\n cookies: ReadonlyRequestCookies,\n mutableCookies: ResponseCookies\n ) {\n // The logic for draftMode() is very similar to tryGetPreviewData()\n // but Draft Mode does not have any data associated with it.\n const isOnDemandRevalidate =\n previewProps &&\n checkIsOnDemandRevalidate(headers, previewProps).isOnDemandRevalidate\n\n const cookieValue = cookies.get(COOKIE_NAME_PRERENDER_BYPASS)?.value\n\n this._isEnabled = Boolean(\n !isOnDemandRevalidate &&\n cookieValue &&\n previewProps &&\n (cookieValue === previewProps.previewModeId ||\n // In dev mode, the cookie can be actual hash value preview id but the preview props can still be `development-id`.\n (process.env.NODE_ENV !== 'production' &&\n previewProps.previewModeId === 'development-id'))\n )\n\n this._previewModeId = previewProps?.previewModeId\n this._mutableCookies = mutableCookies\n }\n\n get isEnabled() {\n return this._isEnabled\n }\n\n enable() {\n if (!this._previewModeId) {\n throw new Error(\n 'Invariant: previewProps missing previewModeId this should never happen'\n )\n }\n\n this._mutableCookies.set({\n name: COOKIE_NAME_PRERENDER_BYPASS,\n value: this._previewModeId,\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n })\n\n this._isEnabled = true\n }\n\n disable() {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n this._mutableCookies.set({\n name: COOKIE_NAME_PRERENDER_BYPASS,\n value: '',\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n expires: new Date(0),\n })\n\n this._isEnabled = false\n }\n}\n"],"names":["COOKIE_NAME_PRERENDER_BYPASS","checkIsOnDemandRevalidate","DraftModeProvider","constructor","previewProps","headers","cookies","mutableCookies","isOnDemandRevalidate","cookieValue","get","value","_isEnabled","Boolean","previewModeId","process","env","NODE_ENV","_previewModeId","_mutableCookies","isEnabled","enable","Error","set","name","httpOnly","sameSite","secure","path","disable","expires","Date"],"mappings":";;;;AAIA,SACEA,4BAA4B,EAC5BC,yBAAyB,QACpB,eAAc;;AAGd,MAAMC;IAgBXC,YACEC,YAA2C,EAC3CC,OAAsC,EACtCC,OAA+B,EAC/BC,cAA+B,CAC/B;YAOoBD;QANpB,mEAAmE;QACnE,4DAA4D;QAC5D,MAAME,uBACJJ,oBACAH,mMAAAA,EAA0BI,SAASD,cAAcI,oBAAoB;QAEvE,MAAMC,cAAAA,CAAcH,eAAAA,QAAQI,GAAG,CAACV,sMAAAA,CAAAA,KAAAA,OAAAA,KAAAA,IAAZM,aAA2CK,KAAK;QAEpE,IAAI,CAACC,UAAU,GAAGC,QAChB,CAACL,wBACCC,eACAL,gBACCK,CAAAA,gBAAgBL,aAAaU,aAAa,IACzC,mHAAmH;QAClHC,QAAQC,GAAG,CAACC,QAAQ,gCAAK,gBACxBb,aAAaU,aAAa,KAAK,gBAAgB;QAGvD,IAAI,CAACI,cAAc,GAAGd,gBAAAA,OAAAA,KAAAA,IAAAA,aAAcU,aAAa;QACjD,IAAI,CAACK,eAAe,GAAGZ;IACzB;IAEA,IAAIa,YAAY;QACd,OAAO,IAAI,CAACR,UAAU;IACxB;IAEAS,SAAS;QACP,IAAI,CAAC,IAAI,CAACH,cAAc,EAAE;YACxB,MAAM,IAAII,MACR;QAEJ;QAEA,IAAI,CAACH,eAAe,CAACI,GAAG,CAAC;YACvBC,MAAMxB,sMAAAA;YACNW,OAAO,IAAI,CAACO,cAAc;YAC1BO,UAAU;YACVC,UAAUX,QAAQC,GAAG,CAACC,QAAQ,KAAK,aAAgB,0BAAS;YAC5DU,QAAQZ,QAAQC,GAAG,CAACC,QAAQ,gCAAK;YACjCW,MAAM;QACR;QAEA,IAAI,CAAChB,UAAU,GAAG;IACpB;IAEAiB,UAAU;QACR,2DAA2D;QAC3D,oDAAoD;QACpD,wEAAwE;QACxE,IAAI,CAACV,eAAe,CAACI,GAAG,CAAC;YACvBC,MAAMxB,sMAAAA;YACNW,OAAO;YACPc,UAAU;YACVC,UAAUX,QAAQC,GAAG,CAACC,QAAQ,KAAK,aAAgB,0BAAS;YAC5DU,QAAQZ,QAAQC,GAAG,CAACC,QAAQ,gCAAK;YACjCW,MAAM;YACNE,SAAS,IAAIC,KAAK;QACpB;QAEA,IAAI,CAACnB,UAAU,GAAG;IACpB;AACF","ignoreList":[0]}}, + {"offset": {"line": 2140, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/async-storage/request-store.ts"],"sourcesContent":["import type { BaseNextRequest, BaseNextResponse } from '../base-http'\nimport type { IncomingHttpHeaders } from 'http'\nimport type { RequestStore } from '../app-render/work-unit-async-storage.external'\nimport type { RenderOpts } from '../app-render/types'\nimport type { NextRequest } from '../web/spec-extension/request'\nimport type { __ApiPreviewProps } from '../api-utils'\n\nimport {\n FLIGHT_HEADERS,\n NEXT_HTML_REQUEST_ID_HEADER,\n NEXT_REQUEST_ID_HEADER,\n} from '../../client/components/app-router-headers'\nimport {\n HeadersAdapter,\n type ReadonlyHeaders,\n} from '../web/spec-extension/adapters/headers'\nimport {\n MutableRequestCookiesAdapter,\n RequestCookiesAdapter,\n responseCookiesToRequestCookies,\n createCookiesWithMutableAccessCheck,\n type ReadonlyRequestCookies,\n} from '../web/spec-extension/adapters/request-cookies'\nimport { ResponseCookies, RequestCookies } from '../web/spec-extension/cookies'\nimport { DraftModeProvider } from './draft-mode-provider'\nimport { splitCookiesString } from '../web/utils'\nimport type { ServerComponentsHmrCache } from '../response-cache'\nimport type { ResumeDataCache } from '../resume-data-cache/resume-data-cache'\nimport type { Params } from '../request/params'\nimport type { ImplicitTags } from '../lib/implicit-tags'\n\n/**\n * Internal request headers that userland `headers()` must not expose. They stay\n * on the shared request headers for framework plumbing.\n *\n * Every internal header that the client can send must be listed here. The\n * sealed userland view reads through to the shared request headers, so an\n * omission leaks the header to userland.\n *\n * The names are lowercased because `HeadersAdapter.seal` matches them in\n * lowercase.\n */\nconst HIDDEN_REQUEST_HEADERS: ReadonlySet = new Set(\n [\n ...FLIGHT_HEADERS,\n // The client sends these dev-only request IDs so the server can route debug\n // information back to the originating request. Like the flight headers,\n // they are internal plumbing.\n NEXT_REQUEST_ID_HEADER,\n NEXT_HTML_REQUEST_ID_HEADER,\n ].map((header) => header.toLowerCase())\n)\n\nfunction getHeaders(headers: Headers | IncomingHttpHeaders): ReadonlyHeaders {\n // The sealed userland view must not copy the request headers.\n // `HeadersAdapter.from` returns a `Headers` instance unchanged, so the view\n // reads through to `NextRequest.headers`. A copy detaches `headers()` from\n // the writes that Proxy makes to `NextRequest.headers` afterwards.\n //\n // The view must also not delete the internal headers. Because\n // `HeadersAdapter.from` does not copy, a delete removes them from the shared\n // `req.headers`. The dev server reads the request-id headers from the raw\n // request again, for example when it renders a redirect target after a server\n // action. Their removal breaks the dev debug channel routing.\n return HeadersAdapter.seal(\n HeadersAdapter.from(headers),\n HIDDEN_REQUEST_HEADERS\n )\n}\n\nfunction getMutableCookies(\n headers: Headers | IncomingHttpHeaders,\n onUpdateCookies?: (cookies: string[]) => void\n): ResponseCookies {\n const cookies = new RequestCookies(HeadersAdapter.from(headers))\n return MutableRequestCookiesAdapter.wrap(cookies, onUpdateCookies)\n}\n\nexport type WrapperRenderOpts = Partial> & {\n previewProps?: __ApiPreviewProps\n}\n\ntype RequestContext = RequestResponsePair & {\n /**\n * The URL of the request. This only specifies the pathname and the search\n * part of the URL. This is only undefined when generating static paths (ie,\n * there is no request in progress, nor do we know one).\n */\n url: {\n /**\n * The pathname of the requested URL.\n */\n pathname: string\n\n /**\n * The search part of the requested URL. If the request did not provide a\n * search part, this will be an empty string.\n */\n search?: string\n }\n phase: RequestStore['phase']\n renderOpts?: WrapperRenderOpts\n isHmrRefresh?: boolean\n serverComponentsHmrCache?: ServerComponentsHmrCache\n implicitTags: ImplicitTags\n}\n\ntype RequestResponsePair =\n | { req: BaseNextRequest; res: BaseNextResponse } // for an app page\n | { req: NextRequest; res: undefined } // in an api route or middleware\n\n/**\n * The fields the request store actually reads from `req` / `res`. Decoupling\n * the store's construction from `IncomingMessage` / `BaseNextRequest` /\n * `NextRequest` lets it be built without a real `req`/`res` (e.g. by the `'use\n * cache'` deadlock probe worker, which only has a serializable snapshot of the\n * outer request).\n */\nexport type RequestStoreInputs = {\n phase: RequestStore['phase']\n /**\n * Raw headers, either as a Web `Headers` instance or Node's\n * `IncomingHttpHeaders`.\n */\n headers: Headers | IncomingHttpHeaders\n /**\n * Called whenever userspace mutates cookies (via `cookies().set(...)` etc.).\n * Real renders wire this to `res.setHeader('Set-Cookie', cookies)`. Pass\n * `undefined` for callers without a response (e.g. probe workers). Cookie\n * writes during `'render'` are still gated by\n * `MutableRequestCookiesAdapter`'s phase guard, so leaving this off doesn't\n * silently accept writes that would otherwise be rejected.\n */\n onUpdateCookies: ((cookies: string[]) => void) | undefined\n url: { pathname: string; search?: string }\n rootParams: Params\n implicitTags: ImplicitTags\n resumeDataCache: ResumeDataCache | null\n previewProps: WrapperRenderOpts['previewProps']\n isHmrRefresh: boolean | undefined\n serverComponentsHmrCache: ServerComponentsHmrCache | undefined\n /**\n * The hash of the most recent server component change (dev only). Included in\n * `\"use cache\"` cache keys so that cached entries are revalidated after an\n * edit, for every client, regardless of whether it runs the HMR client.\n */\n hmrRefreshHash: string | undefined\n stagedFallbackParams: ReadonlySet | null | undefined\n}\n\n/**\n * If middleware set cookies in this request (indicated by `x-middleware-set-cookie`),\n * then merge those into the existing cookie object, so that when `cookies()` is accessed\n * it's able to read the newly set cookies.\n */\nfunction mergeMiddlewareCookies(\n headers: Headers | IncomingHttpHeaders,\n existingCookies: RequestCookies | ResponseCookies\n) {\n // TODO: this only fires for `IncomingHttpHeaders`; `Headers` instances\n // silently fall through (the `in` check and bracket access don't reach header\n // values stored in internal slots). Confirm whether edge / Web `Headers`\n // callers need this merge or already handle it elsewhere.\n if (\n 'x-middleware-set-cookie' in headers &&\n typeof headers['x-middleware-set-cookie'] === 'string'\n ) {\n const setCookieValue = headers['x-middleware-set-cookie']\n const responseHeaders = new Headers()\n\n for (const cookie of splitCookiesString(setCookieValue)) {\n responseHeaders.append('set-cookie', cookie)\n }\n\n const responseCookies = new ResponseCookies(responseHeaders)\n\n // Transfer cookies from ResponseCookies to RequestCookies\n for (const cookie of responseCookies.getAll()) {\n existingCookies.set(cookie)\n }\n }\n}\n\nexport function createRequestStoreForRender(\n req: RequestContext['req'],\n res: RequestContext['res'],\n url: RequestContext['url'],\n rootParams: Params,\n implicitTags: RequestContext['implicitTags'],\n onUpdateCookies: RenderOpts['onUpdateCookies'],\n previewProps: WrapperRenderOpts['previewProps'],\n isHmrRefresh: RequestContext['isHmrRefresh'],\n serverComponentsHmrCache: RequestContext['serverComponentsHmrCache'],\n resumeDataCache: ResumeDataCache | null,\n stagedFallbackParams: ReadonlySet | null,\n hmrRefreshHash: string | undefined\n): RequestStore {\n return createRequestStore({\n // Pages start in render phase by default\n phase: 'render',\n headers: req.headers,\n onUpdateCookies:\n onUpdateCookies ??\n (res\n ? (cookies: string[]) => {\n res.setHeader('Set-Cookie', cookies)\n }\n : undefined),\n url,\n rootParams,\n implicitTags,\n resumeDataCache,\n previewProps,\n isHmrRefresh,\n serverComponentsHmrCache,\n hmrRefreshHash,\n stagedFallbackParams,\n })\n}\n\nexport function createRequestStoreForAPI(\n req: RequestContext['req'],\n url: RequestContext['url'],\n implicitTags: RequestContext['implicitTags'],\n onUpdateCookies: RenderOpts['onUpdateCookies'],\n previewProps: WrapperRenderOpts['previewProps'],\n hmrRefreshHash: string | undefined\n): RequestStore {\n return createRequestStore({\n // API routes start in action phase by default\n phase: 'action',\n headers: req.headers,\n onUpdateCookies,\n url,\n rootParams: {},\n implicitTags,\n resumeDataCache: null,\n previewProps,\n isHmrRefresh: false,\n serverComponentsHmrCache: undefined,\n hmrRefreshHash,\n stagedFallbackParams: null,\n })\n}\n\n/**\n * Build a `RequestStore` from a serializable, request-shaped input. Used\n * directly by the existing `createRequestStoreForRender` /\n * `createRequestStoreForAPI` wrappers, and by side-process consumers like the\n * `'use cache'` deadlock probe worker that don't have a real `req`/`res` pair\n * but do have a forwarded snapshot of the outer request's headers etc.\n */\nexport function createRequestStore(inputs: RequestStoreInputs): RequestStore {\n const {\n phase,\n headers,\n onUpdateCookies,\n url,\n rootParams,\n implicitTags,\n resumeDataCache,\n previewProps,\n isHmrRefresh,\n serverComponentsHmrCache,\n hmrRefreshHash,\n stagedFallbackParams,\n } = inputs\n\n const cache: {\n headers?: ReadonlyHeaders\n cookies?: ReadonlyRequestCookies\n mutableCookies?: ResponseCookies\n userspaceMutableCookies?: ResponseCookies\n draftMode?: DraftModeProvider\n } = {}\n\n return {\n type: 'request',\n phase,\n implicitTags,\n // Rather than just using the whole `url` here, we pull the parts we want\n // to ensure we don't use parts of the URL that we shouldn't. This also\n // lets us avoid requiring an empty string for `search` in the type.\n url: { pathname: url.pathname, search: url.search ?? '' },\n rootParams,\n get headers() {\n if (!cache.headers) {\n // Seal the headers object that'll freeze out any methods that could\n // mutate the underlying data.\n cache.headers = getHeaders(headers)\n }\n\n return cache.headers\n },\n get cookies() {\n if (!cache.cookies) {\n // if middleware is setting cookie(s), then include those in\n // the initial cached cookies so they can be read in render\n const requestCookies = new RequestCookies(HeadersAdapter.from(headers))\n\n mergeMiddlewareCookies(headers, requestCookies)\n\n // Seal the cookies object that'll freeze out any methods that could\n // mutate the underlying data.\n cache.cookies = RequestCookiesAdapter.seal(requestCookies)\n }\n\n return cache.cookies\n },\n set cookies(value: ReadonlyRequestCookies) {\n cache.cookies = value\n },\n get mutableCookies() {\n if (!cache.mutableCookies) {\n const mutableCookies = getMutableCookies(headers, onUpdateCookies)\n\n mergeMiddlewareCookies(headers, mutableCookies)\n\n cache.mutableCookies = mutableCookies\n }\n return cache.mutableCookies\n },\n get userspaceMutableCookies() {\n if (!cache.userspaceMutableCookies) {\n const userspaceMutableCookies =\n createCookiesWithMutableAccessCheck(this)\n cache.userspaceMutableCookies = userspaceMutableCookies\n }\n return cache.userspaceMutableCookies\n },\n get draftMode() {\n if (!cache.draftMode) {\n cache.draftMode = new DraftModeProvider(\n previewProps,\n headers,\n this.cookies,\n this.mutableCookies\n )\n }\n\n return cache.draftMode\n },\n resumeDataCache: resumeDataCache ?? null,\n isHmrRefresh,\n serverComponentsHmrCache:\n serverComponentsHmrCache ||\n (globalThis as any).__serverComponentsHmrCache,\n hmrRefreshHash,\n stagedFallbackParams,\n usedDynamic: false,\n }\n}\n\nexport function synchronizeMutableCookies(store: RequestStore) {\n // TODO: does this need to update headers as well?\n store.cookies = RequestCookiesAdapter.seal(\n responseCookiesToRequestCookies(store.mutableCookies)\n )\n}\n"],"names":["FLIGHT_HEADERS","NEXT_HTML_REQUEST_ID_HEADER","NEXT_REQUEST_ID_HEADER","HeadersAdapter","MutableRequestCookiesAdapter","RequestCookiesAdapter","responseCookiesToRequestCookies","createCookiesWithMutableAccessCheck","ResponseCookies","RequestCookies","DraftModeProvider","splitCookiesString","HIDDEN_REQUEST_HEADERS","Set","map","header","toLowerCase","getHeaders","headers","seal","from","getMutableCookies","onUpdateCookies","cookies","wrap","mergeMiddlewareCookies","existingCookies","setCookieValue","responseHeaders","Headers","cookie","append","responseCookies","getAll","set","createRequestStoreForRender","req","res","url","rootParams","implicitTags","previewProps","isHmrRefresh","serverComponentsHmrCache","resumeDataCache","stagedFallbackParams","hmrRefreshHash","createRequestStore","phase","setHeader","undefined","createRequestStoreForAPI","inputs","cache","type","pathname","search","requestCookies","value","mutableCookies","userspaceMutableCookies","draftMode","globalThis","__serverComponentsHmrCache","usedDynamic","synchronizeMutableCookies","store"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 2331, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/async-storage/work-store.ts"],"sourcesContent":["import type { WorkStore } from '../app-render/work-async-storage.external'\nimport type { IncrementalCache } from '../lib/incremental-cache'\nimport type { RenderOpts } from '../app-render/types'\nimport type { FetchMetric } from '../base-http'\nimport type { RequestLifecycleOpts } from '../base-server'\nimport type { AppSegmentConfig } from '../../build/segment-config/app/app-segment-config'\nimport type {\n ValidationLevel,\n ResolvedCacheLifeProfiles,\n} from '../config-shared'\n\nimport { AfterContext } from '../after/after-context'\n\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { createLazyResult, type LazyResult } from '../lib/lazy-result'\nimport { getCacheHandlerEntries } from '../use-cache/handlers'\nimport { createSnapshot } from '../app-render/async-local-storage'\n\nexport type WorkStoreContext = {\n /**\n * The page that is being rendered. This relates to the path to the page file.\n */\n page: string\n\n isPrefetchRequest?: boolean\n nonce?: string\n renderOpts: {\n cacheLifeProfiles: ResolvedCacheLifeProfiles\n staticPageGenerationTimeout: number\n incrementalCache?: IncrementalCache\n /**\n * The hash of the most recent server component change (dev only). Included\n * in `\"use cache\"` cache keys so that cached entries are revalidated after\n * an edit, for every client, regardless of whether it runs the HMR client.\n */\n hmrRefreshHash?: string\n isOnDemandRevalidate?: boolean\n cacheComponents: boolean\n validationLevel: ValidationLevel\n fetchCache?: AppSegmentConfig['fetchCache']\n pendingWaitUntil?: Promise\n experimental: Pick<\n RenderOpts['experimental'],\n | 'isRoutePPREnabled'\n | 'authInterrupts'\n | 'useCacheTimeout'\n | 'durableUseCacheEntries'\n >\n\n /**\n * Fetch metrics attached in patch-fetch.ts\n **/\n fetchMetrics?: FetchMetric[]\n\n /**\n * A hack around accessing the store value outside the context of the\n * request.\n *\n * @internal\n * @deprecated should only be used as a temporary workaround\n */\n // TODO: remove this when we resolve accessing the store outside the execution context\n store?: WorkStore\n } & Pick<\n // Pull some properties from RenderOpts so that the docs are also\n // mirrored.\n RenderOpts,\n | 'assetPrefix'\n | 'isBuildTimePrerendering'\n | 'isDraftMode'\n | 'isDebugDynamicAccesses'\n > &\n RequestLifecycleOpts &\n Partial>\n\n /**\n * The deployment ID of the current build.\n */\n deploymentId: string\n\n /**\n * The build ID of the current build.\n */\n buildId: string\n\n // Tags that were previously revalidated (e.g. by a redirecting server action)\n // and have already been sent to cache handlers.\n previouslyRevalidatedTags: string[]\n}\n\nexport function createWorkStore(context: WorkStoreContext): WorkStore {\n return createWorkStoreImpl(context, !!process.env.__NEXT_DEV_SERVER)\n}\n\nexport function createPrerenderWorkStore(context: WorkStoreContext): WorkStore {\n return createWorkStoreImpl(\n context,\n !!process.env.__NEXT_DEV_SERVER ||\n !!process.env.NEXT_DEBUG_BUILD ||\n process.env.NEXT_SSG_FETCH_METRICS === '1'\n )\n}\n\nfunction createWorkStoreImpl(\n {\n page,\n renderOpts,\n isPrefetchRequest,\n buildId,\n deploymentId,\n previouslyRevalidatedTags,\n nonce,\n }: WorkStoreContext,\n shouldTrackFetchMetrics: boolean\n): WorkStore {\n const store: WorkStore = {\n page,\n route: normalizeAppPath(page),\n incrementalCache:\n // we fallback to a global incremental cache for edge-runtime locally\n // so that it can access the fs cache without mocks\n renderOpts.incrementalCache || (globalThis as any).__incrementalCache,\n cacheLifeProfiles: renderOpts.cacheLifeProfiles,\n useCacheTimeout: renderOpts.experimental.useCacheTimeout,\n durableUseCacheEntries: renderOpts.experimental.durableUseCacheEntries,\n staticPageGenerationTimeout: renderOpts.staticPageGenerationTimeout,\n isBuildTimePrerendering: renderOpts.isBuildTimePrerendering,\n fetchCache: renderOpts.fetchCache,\n isOnDemandRevalidate: renderOpts.isOnDemandRevalidate,\n requestId: undefined,\n htmlRequestId: undefined,\n\n isDraftMode: renderOpts.isDraftMode,\n\n isPrefetchRequest,\n buildId,\n deploymentId,\n reactLoadableManifest: renderOpts?.reactLoadableManifest || {},\n assetPrefix: renderOpts?.assetPrefix || '',\n nonce,\n\n afterContext: createAfterContext(renderOpts),\n cacheComponentsEnabled: renderOpts.cacheComponents,\n validationLevel: renderOpts.validationLevel,\n previouslyRevalidatedTags,\n requestStartTime: performance.timeOrigin + performance.now(),\n refreshTagsByCacheKind: createRefreshTagsByCacheKind(),\n runInCleanSnapshot: createSnapshot(),\n shouldTrackFetchMetrics,\n clientComponentLoadTracker: undefined,\n reactServerErrorsByDigest: new Map(),\n }\n\n // TODO: remove this when we resolve accessing the store outside the execution context\n renderOpts.store = store\n\n return store\n}\n\nfunction createAfterContext(renderOpts: RequestLifecycleOpts): AfterContext {\n const { waitUntil, onClose, onAfterTaskError } = renderOpts\n return new AfterContext({\n waitUntil,\n onClose,\n onTaskError: onAfterTaskError,\n })\n}\n\n/**\n * Creates a map with lazy results that refresh tags for the respective cache\n * kind when they're awaited for the first time.\n */\nfunction createRefreshTagsByCacheKind(): Map> {\n const refreshTagsByCacheKind = new Map>()\n const cacheHandlers = getCacheHandlerEntries()\n\n if (cacheHandlers) {\n for (const [kind, cacheHandler] of cacheHandlers) {\n if ('refreshTags' in cacheHandler) {\n refreshTagsByCacheKind.set(\n kind,\n createLazyResult(async () => cacheHandler.refreshTags())\n )\n }\n }\n }\n\n return refreshTagsByCacheKind\n}\n"],"names":["AfterContext","normalizeAppPath","createLazyResult","getCacheHandlerEntries","createSnapshot","createWorkStore","context","createWorkStoreImpl","process","env","__NEXT_DEV_SERVER","createPrerenderWorkStore","NEXT_DEBUG_BUILD","NEXT_SSG_FETCH_METRICS","page","renderOpts","isPrefetchRequest","buildId","deploymentId","previouslyRevalidatedTags","nonce","shouldTrackFetchMetrics","store","route","incrementalCache","globalThis","__incrementalCache","cacheLifeProfiles","useCacheTimeout","experimental","durableUseCacheEntries","staticPageGenerationTimeout","isBuildTimePrerendering","fetchCache","isOnDemandRevalidate","requestId","undefined","htmlRequestId","isDraftMode","reactLoadableManifest","assetPrefix","afterContext","createAfterContext","cacheComponentsEnabled","cacheComponents","validationLevel","requestStartTime","performance","timeOrigin","now","refreshTagsByCacheKind","createRefreshTagsByCacheKind","runInCleanSnapshot","clientComponentLoadTracker","reactServerErrorsByDigest","Map","waitUntil","onClose","onAfterTaskError","onTaskError","cacheHandlers","kind","cacheHandler","set","refreshTags"],"mappings":";;;;;;AAWA,SAASA,YAAY,QAAQ,yBAAwB;AAErD,SAASC,gBAAgB,QAAQ,0CAAyC;AAC1E,SAASC,gBAAgB,QAAyB,qBAAoB;AACtE,SAASC,sBAAsB,QAAQ,wBAAuB;AAC9D,SAASC,cAAc,QAAQ,oCAAmC;;;;;;AA0E3D,SAASC,gBAAgBC,OAAyB;IACvD,OAAOC,oBAAoBD,SAAS,CAAC,CAACE,QAAQC,GAAG,CAACC,iBAAiB;AACrE;AAEO,SAASC,yBAAyBL,OAAyB;IAChE,OAAOC,oBACLD,SACA,CAAC,CAACE,QAAQC,GAAG,CAACC,iBAAiB,YAC7B,CAAC,CAACF,QAAQC,GAAG,CAACG,gBAAgB,IAC9BJ,QAAQC,GAAG,CAACI,sBAAsB,KAAK;AAE7C;AAEA,SAASN,oBACP,EACEO,IAAI,EACJC,UAAU,EACVC,iBAAiB,EACjBC,OAAO,EACPC,YAAY,EACZC,yBAAyB,EACzBC,KAAK,EACY,EACnBC,uBAAgC;IAEhC,MAAMC,QAAmB;QACvBR;QACAS,WAAOtB,2MAAAA,EAAiBa;QACxBU,kBACE,AACA,mDAAmD,kBADkB;QAErET,WAAWS,gBAAgB,IAAKC,WAAmBC,kBAAkB;QACvEC,mBAAmBZ,WAAWY,iBAAiB;QAC/CC,iBAAiBb,WAAWc,YAAY,CAACD,eAAe;QACxDE,wBAAwBf,WAAWc,YAAY,CAACC,sBAAsB;QACtEC,6BAA6BhB,WAAWgB,2BAA2B;QACnEC,yBAAyBjB,WAAWiB,uBAAuB;QAC3DC,YAAYlB,WAAWkB,UAAU;QACjCC,sBAAsBnB,WAAWmB,oBAAoB;QACrDC,WAAWC;QACXC,eAAeD;QAEfE,aAAavB,WAAWuB,WAAW;QAEnCtB;QACAC;QACAC;QACAqB,uBAAuBxB,CAAAA,cAAAA,OAAAA,KAAAA,IAAAA,WAAYwB,qBAAqB,KAAI,CAAC;QAC7DC,aAAazB,CAAAA,cAAAA,OAAAA,KAAAA,IAAAA,WAAYyB,WAAW,KAAI;QACxCpB;QAEAqB,cAAcC,mBAAmB3B;QACjC4B,wBAAwB5B,WAAW6B,eAAe;QAClDC,iBAAiB9B,WAAW8B,eAAe;QAC3C1B;QACA2B,kBAAkBC,YAAYC,UAAU,GAAGD,YAAYE,GAAG;QAC1DC,wBAAwBC;QACxBC,wBAAoBhD,6MAAAA;QACpBiB;QACAgC,4BAA4BjB;QAC5BkB,2BAA2B,IAAIC;IACjC;IAEA,sFAAsF;IACtFxC,WAAWO,KAAK,GAAGA;IAEnB,OAAOA;AACT;AAEA,SAASoB,mBAAmB3B,UAAgC;IAC1D,MAAM,EAAEyC,SAAS,EAAEC,OAAO,EAAEC,gBAAgB,EAAE,GAAG3C;IACjD,OAAO,IAAIf,0LAAAA,CAAa;QACtBwD;QACAC;QACAE,aAAaD;IACf;AACF;AAEA;;;CAGC,GACD,SAASP;IACP,MAAMD,yBAAyB,IAAIK;IACnC,MAAMK,oBAAgBzD,mMAAAA;IAEtB,IAAIyD,eAAe;QACjB,KAAK,MAAM,CAACC,MAAMC,aAAa,IAAIF,cAAe;YAChD,IAAI,iBAAiBE,cAAc;gBACjCZ,uBAAuBa,GAAG,CACxBF,UACA3D,0LAAAA,EAAiB,UAAY4D,aAAaE,WAAW;YAEzD;QACF;IACF;IAEA,OAAOd;AACT","ignoreList":[0]}}, + {"offset": {"line": 2417, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/base-http/helpers.ts"],"sourcesContent":["import type { BaseNextRequest, BaseNextResponse } from './'\nimport type { NodeNextRequest, NodeNextResponse } from './node'\nimport type { WebNextRequest, WebNextResponse } from './web'\n\n/**\n * This file provides some helpers that should be used in conjunction with\n * explicit environment checks. When combined with the environment checks, it\n * will ensure that the correct typings are used as well as enable code\n * elimination.\n */\n\n/**\n * Type guard to determine if a request is a WebNextRequest. This does not\n * actually check the type of the request, but rather the runtime environment.\n * It's expected that when the runtime environment is the edge runtime, that any\n * base request is a WebNextRequest.\n */\nexport const isWebNextRequest = (req: BaseNextRequest): req is WebNextRequest =>\n process.env.NEXT_RUNTIME === 'edge'\n\n/**\n * Type guard to determine if a response is a WebNextResponse. This does not\n * actually check the type of the response, but rather the runtime environment.\n * It's expected that when the runtime environment is the edge runtime, that any\n * base response is a WebNextResponse.\n */\nexport const isWebNextResponse = (\n res: BaseNextResponse\n): res is WebNextResponse => process.env.NEXT_RUNTIME === 'edge'\n\n/**\n * Type guard to determine if a request is a NodeNextRequest. This does not\n * actually check the type of the request, but rather the runtime environment.\n * It's expected that when the runtime environment is the node runtime, that any\n * base request is a NodeNextRequest.\n */\nexport const isNodeNextRequest = (\n req: BaseNextRequest\n): req is NodeNextRequest => process.env.NEXT_RUNTIME !== 'edge'\n\n/**\n * Type guard to determine if a response is a NodeNextResponse. This does not\n * actually check the type of the response, but rather the runtime environment.\n * It's expected that when the runtime environment is the node runtime, that any\n * base response is a NodeNextResponse.\n */\nexport const isNodeNextResponse = (\n res: BaseNextResponse\n): res is NodeNextResponse => process.env.NEXT_RUNTIME !== 'edge'\n"],"names":["isWebNextRequest","req","process","env","NEXT_RUNTIME","isWebNextResponse","res","isNodeNextRequest","isNodeNextResponse"],"mappings":"AAIA;;;;;CAKC,GAED;;;;;CAKC,GACD;;;;;;;;;;AAAO,MAAMA,mBAAmB,CAACC,MAC/BC,QAAQC,GAAG,CAACC,YAAY,uBAAK,OAAM;AAQ9B,MAAMC,oBAAoB,CAC/BC,MAC2BJ,QAAQC,GAAG,CAACC,YAAY,uBAAK,OAAM;AAQzD,MAAMG,oBAAoB,CAC/BN,MAC2BC,QAAQC,GAAG,CAACC,YAAY,uBAAK,OAAM;AAQzD,MAAMI,qBAAqB,CAChCF,MAC4BJ,QAAQC,GAAG,CAACC,YAAY,uBAAK,OAAM","ignoreList":[0]}}, + {"offset": {"line": 2445, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/internal-utils.ts"],"sourcesContent":["import type { NextParsedUrlQuery } from './request-meta'\n\nimport { NEXT_RSC_UNION_QUERY } from '../client/components/app-router-headers'\n\nconst INTERNAL_QUERY_NAMES = [NEXT_RSC_UNION_QUERY] as const\n\nexport function stripInternalQueries(query: NextParsedUrlQuery) {\n for (const name of INTERNAL_QUERY_NAMES) {\n delete query[name]\n }\n}\n\nexport function stripInternalSearchParams(url: T): T {\n const isStringUrl = typeof url === 'string'\n const instance = isStringUrl ? new URL(url) : (url as URL)\n\n instance.searchParams.delete(NEXT_RSC_UNION_QUERY)\n\n return (isStringUrl ? instance.toString() : instance) as T\n}\n"],"names":["NEXT_RSC_UNION_QUERY","INTERNAL_QUERY_NAMES","stripInternalQueries","query","name","stripInternalSearchParams","url","isStringUrl","instance","URL","searchParams","delete","toString"],"mappings":";;;;;;AAEA,SAASA,oBAAoB,QAAQ,0CAAyC;;AAE9E,MAAMC,uBAAuB;IAACD,+MAAAA;CAAqB;AAE5C,SAASE,qBAAqBC,KAAyB;IAC5D,KAAK,MAAMC,QAAQH,qBAAsB;QACvC,OAAOE,KAAK,CAACC,KAAK;IACpB;AACF;AAEO,SAASC,0BAAkDC,GAAM;IACtE,MAAMC,cAAc,OAAOD,QAAQ;IACnC,MAAME,WAAWD,cAAc,IAAIE,IAAIH,OAAQA;IAE/CE,SAASE,YAAY,CAACC,MAAM,CAACX,+MAAAA;IAE7B,OAAQO,cAAcC,SAASI,QAAQ,KAAKJ;AAC9C","ignoreList":[0]}}, + {"offset": {"line": 2471, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/cache-handlers/default.ts"],"sourcesContent":["/**\n * This is the default \"use cache\" handler it defaults to an in-memory store.\n * In-memory caches are fragile and should not use stale-while-revalidate\n * semantics on the caches because it's not worth warming up an entry that's\n * likely going to get evicted before we get to use it anyway. However, we also\n * don't want to reuse a stale entry for too long so stale entries should be\n * considered expired/missing in such cache handlers.\n *\n * The dev server (`next dev`) is the exception: to keep reloads fast it serves\n * stale entries until they expire, relying on the wrapper's\n * stale-while-revalidate path to warm a fresh entry in the background. See\n * `get` for where this branches.\n */\n\nimport { LRUCache } from '../lru-cache'\nimport type { CacheEntry, CacheHandler } from './types'\nimport {\n areTagsExpired,\n areTagsStale,\n tagsManifest,\n type TagManifestEntry,\n} from '../incremental-cache/tags-manifest.external'\nimport { MIN_PRERENDERABLE_EXPIRE } from '../../use-cache/constants'\nimport {\n streamFromBuffer,\n streamToBuffer,\n} from '../../stream-utils/node-web-streams-helper'\n\ntype PrivateCacheEntry = {\n entry: Omit\n value: Buffer\n\n // For the default cache we store errored cache\n // entries and allow them to be used up to 3 times\n // after that we want to dispose it and try for fresh\n\n // If an entry is errored we return no entry\n // three times so that we retry hitting origin (MISS)\n // and then if it still fails to set after the third we\n // return the errored content and use expiration of\n // Math.min(30, entry.expiration)\n isErrored: boolean\n errorRetryCount: number\n\n // compute size on set since we need to read size\n // of the ReadableStream for LRU evicting\n size: number\n}\n\nexport function createDefaultCacheHandler(maxSize: number): CacheHandler {\n // If the max size is 0, return a cache handler that doesn't cache anything,\n // this avoids an unnecessary LRUCache instance and potential memory\n // allocation.\n if (maxSize === 0) {\n return {\n get: () => Promise.resolve(undefined),\n set: () => Promise.resolve(),\n refreshTags: () => Promise.resolve(),\n getExpiration: () => Promise.resolve(0),\n updateTags: () => Promise.resolve(),\n }\n }\n\n const memoryCache = new LRUCache(\n maxSize,\n (entry, cacheKey) => entry.size + cacheKey.length\n )\n const pendingSets = new Map>()\n\n const debug = process.env.NEXT_PRIVATE_DEBUG_CACHE\n ? console.debug.bind(console, 'DefaultCacheHandler:')\n : undefined\n\n return {\n async get(cacheKey) {\n const pendingPromise = pendingSets.get(cacheKey)\n\n if (pendingPromise) {\n debug?.('get', cacheKey, 'pending')\n await pendingPromise\n }\n\n const privateEntry = memoryCache.get(cacheKey)\n\n if (!privateEntry) {\n debug?.('get', cacheKey, 'not found')\n return undefined\n }\n\n const entry = privateEntry.entry\n\n // A negative `expire` is an eviction sentinel: the tiered cache handler\n // (dev-only) marks a front entry for deletion by overwriting it with a\n // negative `expire`, since the cache-handler interface has no per-key\n // delete. Treat it as missing here, independently of the minimum\n // retention below (which would otherwise keep it alive). This is distinct\n // from `revalidate = -1` below, which keeps serving the entry but forces\n // a revalidation.\n if (entry.expire < 0) {\n debug?.('get', cacheKey, 'evicted')\n return undefined\n }\n\n // The dev server serves stale entries until they expire (see the file\n // overview); production drops them once past the revalidate time. In dev,\n // an entry is retained for at least `MIN_PRERENDERABLE_EXPIRE` so that\n // entries with a short `expire` (for example a `cacheLife({ expire: 0 })`\n // client-only cache) still linger long enough that a reload hits the\n // cache. That minimum is the same threshold below which the \"use cache\"\n // wrapper treats an entry as dynamic, so it only extends the retention of\n // entries that are dynamic anyway. It affects retention only; the\n // returned entry keeps its real `expire`, so staging decisions are\n // unchanged.\n const maxAgeSeconds = process.env.__NEXT_DEV_SERVER\n ? Math.max(entry.expire, MIN_PRERENDERABLE_EXPIRE)\n : entry.revalidate\n\n if (\n performance.timeOrigin + performance.now() >\n entry.timestamp + maxAgeSeconds * 1000\n ) {\n debug?.('get', cacheKey, 'expired')\n\n return undefined\n }\n\n let revalidate = entry.revalidate\n\n if (areTagsExpired(entry.tags, entry.timestamp)) {\n debug?.('get', cacheKey, 'had expired tag')\n return undefined\n }\n\n if (areTagsStale(entry.tags, entry.timestamp)) {\n debug?.('get', cacheKey, 'had stale tag')\n revalidate = -1\n }\n\n debug?.('get', cacheKey, 'found', {\n tags: entry.tags,\n timestamp: entry.timestamp,\n expire: entry.expire,\n revalidate,\n stale: entry.stale,\n })\n\n return {\n ...entry,\n revalidate,\n value: streamFromBuffer(privateEntry.value),\n }\n },\n\n async set(cacheKey, pendingEntry) {\n debug?.('set', cacheKey, 'start')\n\n let resolvePending: () => void = () => {}\n const pendingPromise = new Promise((resolve) => {\n resolvePending = resolve\n })\n pendingSets.set(cacheKey, pendingPromise)\n\n const entry = await pendingEntry\n\n try {\n // In production an `expire: 0` entry is dynamic: the \"use cache\"\n // wrapper regenerates it on every read instead of serving the stored\n // copy, so persisting it would be a wasted write of a value that is\n // never served back. Skip storing it so the next read is a plain miss.\n // The dev server keeps it, because its minimum retention serves the\n // previously cached value across reloads. The `finally` below still\n // resolves the pending set.\n if (!process.env.__NEXT_DEV_SERVER && entry.expire === 0) {\n debug?.('set', cacheKey, 'skipped dynamic entry')\n return\n }\n\n const value = await streamToBuffer(entry.value)\n const { value: _, ...entryMetadata } = entry\n\n memoryCache.set(cacheKey, {\n entry: entryMetadata,\n value,\n isErrored: false,\n errorRetryCount: 0,\n size: value.byteLength,\n })\n\n debug?.('set', cacheKey, 'done')\n } catch (err) {\n // TODO: store partial buffer with error after we retry 3 times\n debug?.('set', cacheKey, 'failed', err)\n } finally {\n resolvePending()\n pendingSets.delete(cacheKey)\n }\n },\n\n async refreshTags() {\n // Nothing to do for an in-memory cache handler.\n },\n\n async getExpiration(tags) {\n const expirations = tags.map((tag) => {\n const entry = tagsManifest.get(tag)\n if (!entry) return 0\n // Return the most recent timestamp (either expired or stale)\n return entry.expired || 0\n })\n\n const expiration = Math.max(...expirations, 0)\n\n debug?.('getExpiration', { tags, expiration })\n\n return expiration\n },\n\n async updateTags(tags, durations) {\n const now = Math.round(performance.timeOrigin + performance.now())\n debug?.('updateTags', { tags, timestamp: now })\n\n for (const tag of tags) {\n // TODO: update file-system-cache?\n const existingEntry = tagsManifest.get(tag) || {}\n\n if (durations) {\n // Use provided durations directly\n const updates: TagManifestEntry = { ...existingEntry }\n\n // mark as stale immediately\n updates.stale = now\n\n if (durations.expire !== undefined) {\n updates.expired = now + durations.expire * 1000 // Convert seconds to ms\n }\n\n tagsManifest.set(tag, updates)\n } else {\n // Update expired field for immediate expiration (default behavior when no durations provided)\n tagsManifest.set(tag, { ...existingEntry, expired: now })\n }\n }\n },\n }\n}\n"],"names":["LRUCache","areTagsExpired","areTagsStale","tagsManifest","MIN_PRERENDERABLE_EXPIRE","streamFromBuffer","streamToBuffer","createDefaultCacheHandler","maxSize","get","Promise","resolve","undefined","set","refreshTags","getExpiration","updateTags","memoryCache","entry","cacheKey","size","length","pendingSets","Map","debug","process","env","NEXT_PRIVATE_DEBUG_CACHE","console","bind","pendingPromise","privateEntry","expire","maxAgeSeconds","__NEXT_DEV_SERVER","Math","max","revalidate","performance","timeOrigin","now","timestamp","tags","stale","value","pendingEntry","resolvePending","_","entryMetadata","isErrored","errorRetryCount","byteLength","err","delete","expirations","map","tag","expired","expiration","durations","round","existingEntry","updates"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 2661, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/decode-query-path-parameter.ts"],"sourcesContent":["/**\n * Decodes a query path parameter.\n *\n * @param value - The value to decode.\n * @returns The decoded value.\n */\nexport function decodeQueryPathParameter(value: string) {\n // When deployed to Vercel, the value may be encoded, so this attempts to\n // decode it and returns the original value if it fails.\n try {\n return decodeURIComponent(value)\n } catch {\n return value\n }\n}\n"],"names":["decodeQueryPathParameter","value","decodeURIComponent"],"mappings":"AAAA;;;;;CAKC,GACD;;;;AAAO,SAASA,yBAAyBC,KAAa;IACpD,yEAAyE;IACzE,wDAAwD;IACxD,IAAI;QACF,OAAOC,mBAAmBD;IAC5B,EAAE,OAAM;QACN,OAAOA;IACT;AACF","ignoreList":[0]}}, + {"offset": {"line": 2683, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/encode-header-safe.ts"],"sourcesContent":["/**\n * Percent-encode every character other than horizontal tab and printable ASCII\n * so a value can be safely serialized into an HTTP header.\n *\n * Node's `validateHeaderValue` and `fetch`'s ByteString conversion accept\n * different character ranges. Restricting values to `\\t\\x20-\\x7e` produces a\n * conservative representation that both can serialize. Characters outside a\n * transport's accepted range (Hebrew, Arabic, Chinese, emoji, …) would\n * otherwise throw `ERR_INVALID_CHAR` or a `TypeError`, which crashes ISR or\n * fails a cache read on every affected request.\n *\n * Cache tags are encoded at the public boundaries — tag construction\n * (`getImplicitTags`, `validateTags`) and invalidation input\n * (`revalidatePath`, `revalidateTag`, `updateTag`) — so storage, comparison,\n * and the wire all see the same canonical form.\n *\n * The class is narrower than either transport accepts. Everything inside it\n * passes through byte-for-byte, including `,`, `/`, `%`, `[`, `]`, `_`, `-` and\n * `\\t`, which preserves the comma-separated header format and the\n * dynamic-segment markers in derived tags (`_N_T_/[slug]/page`).\n *\n * Properties:\n * - Fast-path: input that already fits the class is returned unchanged. This\n * makes the encoder idempotent on already-encoded `%xx` sequences.\n * - Matches *runs* of out-of-class code units so surrogate pairs (e.g. an\n * emoji) are handed to `encodeURIComponent` as a complete code point — a\n * per-code-unit regex would split the pair and throw `URIError`.\n */\nconst OUT_OF_CLASS_CHAR = /[^\\t\\x20-\\x7e]/\nconst OUT_OF_CLASS_RUN = /[^\\t\\x20-\\x7e]+/g\n\nexport function encodeHeaderSafe(value: string): string {\n return OUT_OF_CLASS_CHAR.test(value)\n ? value.replace(OUT_OF_CLASS_RUN, (run) => encodeURIComponent(run))\n : value\n}\n"],"names":["OUT_OF_CLASS_CHAR","OUT_OF_CLASS_RUN","encodeHeaderSafe","value","test","replace","run","encodeURIComponent"],"mappings":";;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GACD,MAAMA,oBAAoB;AAC1B,MAAMC,mBAAmB;AAElB,SAASC,iBAAiBC,KAAa;IAC5C,OAAOH,kBAAkBI,IAAI,CAACD,SAC1BA,MAAME,OAAO,CAACJ,kBAAkB,CAACK,MAAQC,mBAAmBD,QAC5DH;AACN","ignoreList":[0]}}, + {"offset": {"line": 2723, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/implicit-tags.ts"],"sourcesContent":["import { NEXT_CACHE_IMPLICIT_TAG_ID } from '../../lib/constants'\nimport type { OpaqueFallbackRouteParams } from '../request/fallback-params'\nimport { getCacheHandlerEntries } from '../use-cache/handlers'\nimport { encodeHeaderSafe } from './encode-header-safe'\nimport { createLazyResult, type LazyResult } from './lazy-result'\n\nexport interface ImplicitTags {\n /**\n * For legacy usage, the implicit tags are passed to the incremental cache\n * handler in `get` calls.\n */\n readonly tags: string[]\n\n /**\n * Modern cache handlers don't receive implicit tags. Instead, the implicit\n * tags' expirations are stored in the work unit store, and used to compare\n * with a cache entry's timestamp.\n *\n * Note: This map contains lazy results so that we can evaluate them when the\n * first cache entry is read. It allows us to skip fetching the expiration\n * values if no caches are read at all.\n */\n readonly expirationsByCacheKind: Map>\n}\n\nconst getDerivedTags = (pathname: string): string[] => {\n const derivedTags: string[] = [`/layout`]\n\n // we automatically add the current path segments as tags\n // for revalidatePath handling\n if (pathname.startsWith('/')) {\n let end = pathname.indexOf('/', 1)\n\n while (true) {\n if (end === -1) {\n end = pathname.length\n }\n\n let curPathname = pathname.slice(0, end)\n if (curPathname) {\n // all derived tags other than the page are layout tags\n if (!curPathname.endsWith('/page') && !curPathname.endsWith('/route')) {\n curPathname = `${curPathname}${\n !curPathname.endsWith('/') ? '/' : ''\n }layout`\n }\n derivedTags.push(curPathname)\n }\n\n if (end === pathname.length) {\n break\n }\n end = pathname.indexOf('/', end + 1)\n }\n }\n return derivedTags\n}\n\n/**\n * Creates a map with lazy results that fetch the expiration value for the given\n * tags and respective cache kind when they're awaited for the first time.\n */\nfunction createTagsExpirationsByCacheKind(\n tags: string[]\n): Map> {\n const expirationsByCacheKind = new Map>()\n const cacheHandlers = getCacheHandlerEntries()\n\n if (cacheHandlers) {\n for (const [kind, cacheHandler] of cacheHandlers) {\n if ('getExpiration' in cacheHandler) {\n expirationsByCacheKind.set(\n kind,\n createLazyResult(async () => cacheHandler.getExpiration(tags))\n )\n }\n }\n }\n\n return expirationsByCacheKind\n}\n\nexport async function getImplicitTags(\n page: string,\n pathname: string,\n fallbackRouteParams: null | OpaqueFallbackRouteParams\n): Promise {\n const tags = new Set()\n\n // Add the derived tags from the page. Encode each tag so a non-ASCII\n // pathname doesn't trip header validation when written to\n // `x-next-cache-tags`. Idempotent on already-ASCII input.\n const derivedTags = getDerivedTags(page)\n for (let tag of derivedTags) {\n tag = encodeHeaderSafe(`${NEXT_CACHE_IMPLICIT_TAG_ID}${tag}`)\n tags.add(tag)\n }\n\n // Add the tags from the pathname. If the route has unknown params, we don't\n // want to add the pathname as a tag, as it will be invalid.\n if (pathname && (!fallbackRouteParams || fallbackRouteParams.size === 0)) {\n const tag = encodeHeaderSafe(`${NEXT_CACHE_IMPLICIT_TAG_ID}${pathname}`)\n tags.add(tag)\n }\n\n if (tags.has(`${NEXT_CACHE_IMPLICIT_TAG_ID}/`)) {\n tags.add(`${NEXT_CACHE_IMPLICIT_TAG_ID}/index`)\n }\n\n if (tags.has(`${NEXT_CACHE_IMPLICIT_TAG_ID}/index`)) {\n tags.add(`${NEXT_CACHE_IMPLICIT_TAG_ID}/`)\n }\n\n const tagsArray = Array.from(tags)\n return {\n tags: tagsArray,\n expirationsByCacheKind: createTagsExpirationsByCacheKind(tagsArray),\n }\n}\n"],"names":["NEXT_CACHE_IMPLICIT_TAG_ID","getCacheHandlerEntries","encodeHeaderSafe","createLazyResult","getDerivedTags","pathname","derivedTags","startsWith","end","indexOf","length","curPathname","slice","endsWith","push","createTagsExpirationsByCacheKind","tags","expirationsByCacheKind","Map","cacheHandlers","kind","cacheHandler","set","getExpiration","getImplicitTags","page","fallbackRouteParams","Set","tag","add","size","has","tagsArray","Array","from"],"mappings":";;;;AAAA,SAASA,0BAA0B,QAAQ,sBAAqB;AAEhE,SAASC,sBAAsB,QAAQ,wBAAuB;AAC9D,SAASC,gBAAgB,QAAQ,uBAAsB;AACvD,SAASC,gBAAgB,QAAyB,gBAAe;;;;;AAqBjE,MAAMC,iBAAiB,CAACC;IACtB,MAAMC,cAAwB;QAAC,CAAC,OAAO,CAAC;KAAC;IAEzC,yDAAyD;IACzD,8BAA8B;IAC9B,IAAID,SAASE,UAAU,CAAC,MAAM;QAC5B,IAAIC,MAAMH,SAASI,OAAO,CAAC,KAAK;QAEhC,MAAO,KAAM;YACX,IAAID,QAAQ,CAAC,GAAG;gBACdA,MAAMH,SAASK,MAAM;YACvB;YAEA,IAAIC,cAAcN,SAASO,KAAK,CAAC,GAAGJ;YACpC,IAAIG,aAAa;gBACf,uDAAuD;gBACvD,IAAI,CAACA,YAAYE,QAAQ,CAAC,YAAY,CAACF,YAAYE,QAAQ,CAAC,WAAW;oBACrEF,cAAc,GAAGA,cACf,CAACA,YAAYE,QAAQ,CAAC,OAAO,MAAM,GACpC,MAAM,CAAC;gBACV;gBACAP,YAAYQ,IAAI,CAACH;YACnB;YAEA,IAAIH,QAAQH,SAASK,MAAM,EAAE;gBAC3B;YACF;YACAF,MAAMH,SAASI,OAAO,CAAC,KAAKD,MAAM;QACpC;IACF;IACA,OAAOF;AACT;AAEA;;;CAGC,GACD,SAASS,iCACPC,IAAc;IAEd,MAAMC,yBAAyB,IAAIC;IACnC,MAAMC,oBAAgBlB,mMAAAA;IAEtB,IAAIkB,eAAe;QACjB,KAAK,MAAM,CAACC,MAAMC,aAAa,IAAIF,cAAe;YAChD,IAAI,mBAAmBE,cAAc;gBACnCJ,uBAAuBK,GAAG,CACxBF,UACAjB,0LAAAA,EAAiB,UAAYkB,aAAaE,aAAa,CAACP;YAE5D;QACF;IACF;IAEA,OAAOC;AACT;AAEO,eAAeO,gBACpBC,IAAY,EACZpB,QAAgB,EAChBqB,mBAAqD;IAErD,MAAMV,OAAO,IAAIW;IAEjB,qEAAqE;IACrE,0DAA0D;IAC1D,0DAA0D;IAC1D,MAAMrB,cAAcF,eAAeqB;IACnC,KAAK,IAAIG,OAAOtB,YAAa;QAC3BsB,UAAM1B,oMAAAA,EAAiB,GAAGF,qLAAAA,GAA6B4B,KAAK;QAC5DZ,KAAKa,GAAG,CAACD;IACX;IAEA,4EAA4E;IAC5E,4DAA4D;IAC5D,IAAIvB,YAAa,CAAA,CAACqB,uBAAuBA,oBAAoBI,IAAI,KAAK,CAAA,GAAI;QACxE,MAAMF,UAAM1B,oMAAAA,EAAiB,GAAGF,qLAAAA,GAA6BK,UAAU;QACvEW,KAAKa,GAAG,CAACD;IACX;IAEA,IAAIZ,KAAKe,GAAG,CAAC,GAAG/B,qLAAAA,CAA2B,CAAC,CAAC,GAAG;QAC9CgB,KAAKa,GAAG,CAAC,GAAG7B,qLAAAA,CAA2B,MAAM,CAAC;IAChD;IAEA,IAAIgB,KAAKe,GAAG,CAAC,GAAG/B,qLAAAA,CAA2B,MAAM,CAAC,GAAG;QACnDgB,KAAKa,GAAG,CAAC,GAAG7B,qLAAAA,CAA2B,CAAC,CAAC;IAC3C;IAEA,MAAMgC,YAAYC,MAAMC,IAAI,CAAClB;IAC7B,OAAO;QACLA,MAAMgB;QACNf,wBAAwBF,iCAAiCiB;IAC3D;AACF","ignoreList":[0]}}, + {"offset": {"line": 2810, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/incremental-cache/file-system-cache.ts"],"sourcesContent":["import { getRouteCacheKey, ROUTE_CACHE_DIRECTORY } from '../route-cache-key'\nimport type { RouteMetadata } from '../../../export/routes/types'\nimport type { CacheHandler, CacheHandlerContext, CacheHandlerValue } from '.'\nimport type { CacheFs } from '../../../shared/lib/utils'\nimport type { TagManifestEntry } from './tags-manifest.external'\nimport {\n CachedRouteKind,\n IncrementalCacheKind,\n type CachedFetchValue,\n type IncrementalCacheValue,\n type GetIncrementalResponseCacheHandlerContext,\n type SetIncrementalFetchCacheContext,\n type SetIncrementalResponseCacheHandlerContext,\n} from '../../response-cache'\n\nimport type { LRUCache } from '../lru-cache'\nimport path from '../../../shared/lib/isomorphic/path'\nimport {\n NEXT_CACHE_TAGS_HEADER,\n NEXT_DATA_SUFFIX,\n NEXT_META_SUFFIX,\n RSC_SEGMENT_SUFFIX,\n RSC_SEGMENTS_DIR_SUFFIX,\n RSC_SUFFIX,\n} from '../../../lib/constants'\nimport { areTagsExpired, tagsManifest } from './tags-manifest.external'\nimport { MultiFileWriter } from '../../../lib/multi-file-writer'\nimport { getMemoryCache } from './memory-cache.external'\n\ntype FileSystemCacheContext = Omit<\n CacheHandlerContext,\n 'fs' | 'serverDistDir'\n> & {\n fs: CacheFs\n serverDistDir: string\n}\n\nexport default class FileSystemCache implements CacheHandler {\n private fs: FileSystemCacheContext['fs']\n private flushToDisk?: FileSystemCacheContext['flushToDisk']\n private serverDistDir: FileSystemCacheContext['serverDistDir']\n private revalidatedTags: string[]\n private static debug: boolean = !!process.env.NEXT_PRIVATE_DEBUG_CACHE\n private static memoryCache: LRUCache | undefined\n private static readonly seedReads = new Map<\n string,\n { readers: number; version: number; promotion?: Promise }\n >()\n\n constructor(ctx: FileSystemCacheContext) {\n this.fs = ctx.fs\n this.flushToDisk = ctx.flushToDisk\n this.serverDistDir = ctx.serverDistDir\n this.revalidatedTags = ctx.revalidatedTags\n\n if (ctx.maxMemoryCacheSize) {\n if (!FileSystemCache.memoryCache) {\n if (FileSystemCache.debug) {\n console.log('FileSystemCache: using memory store for fetch cache')\n }\n\n FileSystemCache.memoryCache = getMemoryCache(ctx.maxMemoryCacheSize)\n } else if (FileSystemCache.debug) {\n console.log('FileSystemCache: memory store already initialized')\n }\n } else if (FileSystemCache.debug) {\n console.log('FileSystemCache: not using memory store for fetch cache')\n }\n }\n\n public resetRequestCache(): void {}\n\n private getSeedReadState(key: string) {\n return FileSystemCache.seedReads.get(`${this.serverDistDir}:${key}`)\n }\n\n private beginSeedRead(key: string) {\n const stateKey = `${this.serverDistDir}:${key}`\n let state = FileSystemCache.seedReads.get(stateKey)\n if (!state) {\n state = { readers: 0, version: 0 }\n FileSystemCache.seedReads.set(stateKey, state)\n }\n state.readers++\n return { stateKey, state, version: state.version }\n }\n\n private finishSeedRead(\n stateKey: string,\n state: { readers: number; version: number; promotion?: Promise }\n ) {\n state.readers--\n if (state.readers === 0 && !state.promotion) {\n FileSystemCache.seedReads.delete(stateKey)\n }\n }\n\n public async revalidateTag(\n tags: string | string[],\n durations?: { expire?: number }\n ) {\n tags = typeof tags === 'string' ? [tags] : tags\n\n if (FileSystemCache.debug) {\n console.log('FileSystemCache: revalidateTag', tags, durations)\n }\n\n if (tags.length === 0) {\n return\n }\n\n const now = Date.now()\n\n for (const tag of tags) {\n const existingEntry = tagsManifest.get(tag) || {}\n\n if (durations) {\n // Use provided durations directly\n const updates: TagManifestEntry = { ...existingEntry }\n\n // mark as stale immediately\n updates.stale = now\n\n if (durations.expire !== undefined) {\n updates.expired = now + durations.expire * 1000 // Convert seconds to ms\n }\n\n tagsManifest.set(tag, updates)\n } else {\n // Update expired field for immediate expiration (default behavior when no durations provided)\n tagsManifest.set(tag, { ...existingEntry, expired: now })\n }\n }\n }\n\n public async get(...args: Parameters) {\n const [key, ctx] = args\n const { kind } = ctx\n let readKey = key\n let seedRead: ReturnType | undefined\n\n let data = FileSystemCache.memoryCache?.get(key)\n\n const activePromotion = this.getSeedReadState(key)?.promotion\n if (!data && activePromotion) {\n await activePromotion\n data = FileSystemCache.memoryCache?.get(key)\n }\n\n if (FileSystemCache.debug) {\n if (kind === IncrementalCacheKind.FETCH) {\n console.log('FileSystemCache: get', key, ctx.tags, kind, !!data)\n } else {\n console.log('FileSystemCache: get', key, kind, !!data)\n }\n }\n\n const isResponse =\n kind === IncrementalCacheKind.PAGES ||\n kind === IncrementalCacheKind.APP_PAGE ||\n kind === IncrementalCacheKind.APP_ROUTE\n\n if (\n !data &&\n isResponse &&\n key.startsWith(`/${ROUTE_CACHE_DIRECTORY}/`) &&\n process.env.NEXT_RUNTIME !== 'edge'\n ) {\n const primaryPath = this.getFilePath(\n kind === IncrementalCacheKind.APP_ROUTE ? `${key}.body` : `${key}.html`,\n kind\n )\n if (!this.fs.existsSync(primaryPath)) {\n const marker = key.indexOf('/$/')\n if (marker !== -1) {\n const legacyKey = key.slice(marker + 2)\n const legacyMetaPath = this.getFilePath(\n `${legacyKey}${NEXT_META_SUFFIX}`,\n kind\n )\n try {\n const meta = JSON.parse(\n this.fs.readFileSync(legacyMetaPath, 'utf8')\n ) as RouteMetadata\n const namespaceEnd = key.indexOf('/$/')\n const ownerKey = meta.routeCache\n ? getRouteCacheKey('/', meta.routeCache.owner)\n : undefined\n if (\n meta.routeCache?.key === key &&\n (meta.routeCache.isFallback === Boolean(ctx.isFallback) ||\n // PPR also reads fallback shells through ordinary response and\n // navigation resume-data lookups, which set isFallback: false.\n (kind === IncrementalCacheKind.APP_PAGE &&\n ctx.isRoutePPREnabled &&\n meta.postponed != null)) &&\n ownerKey?.slice(0, ownerKey.indexOf('/$/')) ===\n key.slice(0, namespaceEnd)\n ) {\n readKey = legacyKey\n seedRead = this.beginSeedRead(key)\n }\n } catch {}\n }\n }\n }\n\n // Check the scoped disk entry first, or a verified immutable build seed\n // only when its scoped primary payload is genuinely absent.\n if (!data && process.env.NEXT_RUNTIME !== 'edge') {\n try {\n if (kind === IncrementalCacheKind.APP_ROUTE) {\n const filePath = this.getFilePath(\n `${readKey}.body`,\n IncrementalCacheKind.APP_ROUTE\n )\n const fileData = await this.fs.readFile(filePath)\n const { mtime } = await this.fs.stat(filePath)\n\n const meta = JSON.parse(\n await this.fs.readFile(\n filePath.replace(/\\.body$/, NEXT_META_SUFFIX),\n 'utf8'\n )\n )\n\n data = {\n lastModified: meta.routeCacheLastModified ?? mtime.getTime(),\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n body: fileData,\n headers: meta.headers,\n status: meta.status,\n },\n cacheControl: meta.cacheControl,\n }\n } else {\n const filePath = this.getFilePath(\n kind === IncrementalCacheKind.FETCH ? readKey : `${readKey}.html`,\n kind\n )\n\n const fileData = await this.fs.readFile(filePath, 'utf8')\n const { mtime } = await this.fs.stat(filePath)\n\n if (kind === IncrementalCacheKind.FETCH) {\n const { tags, fetchIdx, fetchUrl } = ctx\n\n if (!this.flushToDisk) return null\n\n const lastModified = mtime.getTime()\n const parsedData: CachedFetchValue = JSON.parse(fileData)\n data = {\n lastModified,\n value: parsedData,\n }\n\n if (data.value?.kind === CachedRouteKind.FETCH) {\n const storedTags = data.value?.tags\n\n // update stored tags if a new one is being added\n // TODO: remove this when we can send the tags\n // via header on GET same as SET\n if (!tags?.every((tag) => storedTags?.includes(tag))) {\n if (FileSystemCache.debug) {\n console.log(\n 'FileSystemCache: tags vs storedTags mismatch',\n tags,\n storedTags\n )\n }\n await this.set(key, data.value, {\n fetchCache: true,\n tags,\n fetchIdx,\n fetchUrl,\n })\n }\n }\n } else if (kind === IncrementalCacheKind.APP_PAGE) {\n // Metadata is required for both normal entries and fallback shells.\n // Promoted entries publish their primary payload last, so a missing\n // sidecar means the scoped entry is incomplete.\n const meta: RouteMetadata = JSON.parse(\n await this.fs.readFile(\n filePath.replace(/\\.html$/, NEXT_META_SUFFIX),\n 'utf8'\n )\n )\n\n let maybeSegmentData: Map | undefined\n if (meta?.segmentPaths) {\n // Collect all the segment data for this page.\n // TODO: To optimize file system reads, we should consider creating\n // separate cache entries for each segment, rather than storing them\n // all on the page's entry. Though the behavior is\n // identical regardless.\n const segmentData: Map = new Map()\n maybeSegmentData = segmentData\n const segmentsDir = readKey + RSC_SEGMENTS_DIR_SUFFIX\n await Promise.all(\n meta.segmentPaths.map(async (segmentPath: string) => {\n const segmentDataFilePath = this.getFilePath(\n segmentsDir + segmentPath + RSC_SEGMENT_SUFFIX,\n IncrementalCacheKind.APP_PAGE\n )\n try {\n segmentData.set(\n segmentPath,\n await this.fs.readFile(segmentDataFilePath)\n )\n } catch {\n // This shouldn't happen, but if for some reason we fail to\n // load a segment from the filesystem, treat it the same as if\n // the segment is dynamic and does not have a prefetch.\n }\n })\n )\n }\n\n let rscData: Buffer | undefined\n if (\n !ctx.isFallback &&\n (!ctx.isRoutePPREnabled || meta?.postponed == null)\n ) {\n rscData = await this.fs.readFile(\n this.getFilePath(\n `${readKey}${RSC_SUFFIX}`,\n IncrementalCacheKind.APP_PAGE\n )\n )\n }\n\n data = {\n lastModified: meta.routeCacheLastModified ?? mtime.getTime(),\n value: {\n kind: CachedRouteKind.APP_PAGE,\n html: fileData,\n rscData,\n postponed: meta?.postponed,\n headers: meta?.headers,\n status: meta?.status,\n segmentData: maybeSegmentData,\n },\n cacheControl: meta?.cacheControl,\n }\n } else if (kind === IncrementalCacheKind.PAGES) {\n const meta: RouteMetadata = JSON.parse(\n await this.fs.readFile(\n filePath.replace(/\\.html$/, NEXT_META_SUFFIX),\n 'utf8'\n )\n )\n let pageData: string | object = {}\n\n if (!ctx.isFallback) {\n pageData = JSON.parse(\n await this.fs.readFile(\n this.getFilePath(\n `${readKey}${NEXT_DATA_SUFFIX}`,\n IncrementalCacheKind.PAGES\n ),\n 'utf8'\n )\n )\n }\n\n data = {\n lastModified: meta.routeCacheLastModified ?? mtime.getTime(),\n value: {\n kind: CachedRouteKind.PAGES,\n html: fileData,\n pageData,\n headers: meta?.headers,\n status: meta?.status,\n },\n }\n } else {\n throw new Error(\n `Invariant: Unexpected route kind ${kind} in file system cache.`\n )\n }\n }\n\n if (data) {\n if (!seedRead) {\n FileSystemCache.memoryCache?.set(key, data)\n }\n }\n } catch {\n if (seedRead) {\n this.finishSeedRead(seedRead.stateKey, seedRead.state)\n }\n return null\n }\n }\n\n if (\n data?.value?.kind === CachedRouteKind.APP_PAGE ||\n data?.value?.kind === CachedRouteKind.APP_ROUTE ||\n data?.value?.kind === CachedRouteKind.PAGES\n ) {\n const tagsHeader = data.value.headers?.[NEXT_CACHE_TAGS_HEADER]\n if (typeof tagsHeader === 'string') {\n const cacheTags = tagsHeader.split(',')\n\n // we trigger a blocking validation if an ISR page\n // had a tag revalidated, if we want to be a background\n // revalidation instead we return data.lastModified = -1\n if (\n cacheTags.length > 0 &&\n areTagsExpired(cacheTags, data.lastModified)\n ) {\n if (FileSystemCache.debug) {\n console.log('FileSystemCache: expired tags', cacheTags)\n }\n\n if (seedRead) {\n this.finishSeedRead(seedRead.stateKey, seedRead.state)\n }\n return null\n }\n }\n } else if (data?.value?.kind === CachedRouteKind.FETCH) {\n const combinedTags =\n ctx.kind === IncrementalCacheKind.FETCH\n ? [...(ctx.tags || []), ...(ctx.softTags || [])]\n : []\n\n // When revalidate tag is called we don't return stale data so it's\n // updated right away.\n if (combinedTags.some((tag) => this.revalidatedTags.includes(tag))) {\n if (FileSystemCache.debug) {\n console.log('FileSystemCache: was revalidated', combinedTags)\n }\n\n return null\n }\n\n if (areTagsExpired(combinedTags, data.lastModified)) {\n if (FileSystemCache.debug) {\n console.log('FileSystemCache: expired tags', combinedTags)\n }\n\n return null\n }\n }\n\n if (seedRead && data) {\n const { stateKey, state, version } = seedRead\n try {\n if (state.version === version) {\n await this.promoteSeed(\n key,\n readKey,\n data,\n ctx as GetIncrementalResponseCacheHandlerContext,\n stateKey,\n state,\n version\n )\n if (\n state.version === version &&\n !FileSystemCache.memoryCache?.get(key)\n ) {\n FileSystemCache.memoryCache?.set(key, data)\n }\n }\n } finally {\n this.finishSeedRead(stateKey, state)\n }\n }\n\n return data ?? null\n }\n\n private async promoteSeed(\n key: string,\n seedKey: string,\n data: CacheHandlerValue,\n ctx: GetIncrementalResponseCacheHandlerContext,\n stateKey: string,\n state: { readers: number; version: number; promotion?: Promise },\n version: number\n ) {\n const writeFileAtomic = this.fs.writeFileAtomic\n if (!this.flushToDisk || !writeFileAtomic || !data.value) return\n\n if (state.promotion) {\n await state.promotion\n return\n }\n\n const promotion = (async () => {\n const value = data.value\n if (\n !value ||\n state.version !== version ||\n (value.kind !== CachedRouteKind.PAGES &&\n value.kind !== CachedRouteKind.APP_PAGE &&\n value.kind !== CachedRouteKind.APP_ROUTE)\n ) {\n return\n }\n\n const kind = ctx.kind\n const primaryPath = this.getFilePath(\n value.kind === CachedRouteKind.APP_ROUTE\n ? `${key}.body`\n : `${key}.html`,\n kind\n )\n if (this.fs.existsSync(primaryPath)) return\n\n const seedPrimaryPath = this.getFilePath(\n value.kind === CachedRouteKind.APP_ROUTE\n ? `${seedKey}.body`\n : `${seedKey}.html`,\n kind\n )\n const seedMetaPath = seedPrimaryPath.replace(\n value.kind === CachedRouteKind.APP_ROUTE ? /\\.body$/ : /\\.html$/,\n NEXT_META_SUFFIX\n )\n const meta = JSON.parse(\n await this.fs.readFile(seedMetaPath, 'utf8')\n ) as RouteMetadata\n meta.routeCacheLastModified = data.lastModified\n\n // Copy every ancillary seed file first. The scoped primary payload is\n // the publication marker and is written only after metadata is complete.\n const ancillaryFiles: Array<{ path: string; data: Buffer | string }> = []\n if (value.kind === CachedRouteKind.PAGES && !ctx.isFallback) {\n ancillaryFiles.push({\n path: this.getFilePath(`${key}${NEXT_DATA_SUFFIX}`, kind),\n data: await this.fs.readFile(\n this.getFilePath(`${seedKey}${NEXT_DATA_SUFFIX}`, kind)\n ),\n })\n } else if (value.kind === CachedRouteKind.APP_PAGE) {\n if (\n !ctx.isFallback &&\n (!ctx.isRoutePPREnabled || meta.postponed == null)\n ) {\n ancillaryFiles.push({\n path: this.getFilePath(`${key}${RSC_SUFFIX}`, kind),\n data: await this.fs.readFile(\n this.getFilePath(`${seedKey}${RSC_SUFFIX}`, kind)\n ),\n })\n }\n ancillaryFiles.push(\n ...(await Promise.all(\n (meta.segmentPaths ?? []).map(async (segmentPath) => ({\n path: this.getFilePath(\n key +\n RSC_SEGMENTS_DIR_SUFFIX +\n segmentPath +\n RSC_SEGMENT_SUFFIX,\n kind\n ),\n data: await this.fs.readFile(\n this.getFilePath(\n seedKey +\n RSC_SEGMENTS_DIR_SUFFIX +\n segmentPath +\n RSC_SEGMENT_SUFFIX,\n kind\n )\n ),\n }))\n ))\n )\n }\n\n const writer = new MultiFileWriter(this.fs)\n for (const file of ancillaryFiles) writer.append(file.path, file.data)\n await writer.wait()\n if (state.version !== version) return\n\n const metaPath = primaryPath.replace(\n value.kind === CachedRouteKind.APP_ROUTE ? /\\.body$/ : /\\.html$/,\n NEXT_META_SUFFIX\n )\n await this.fs.mkdir(path.dirname(metaPath))\n await this.fs.writeFile(metaPath, JSON.stringify(meta))\n if (state.version !== version || this.fs.existsSync(primaryPath)) return\n\n await writeFileAtomic.call(\n this.fs,\n primaryPath,\n await this.fs.readFile(seedPrimaryPath)\n )\n })()\n\n state.promotion = promotion.catch((error) => {\n if (FileSystemCache.debug) {\n console.log('FileSystemCache: failed to promote build seed', error)\n }\n })\n try {\n await state.promotion\n } finally {\n if (state.promotion) state.promotion = undefined\n if (state.readers === 0) FileSystemCache.seedReads.delete(stateKey)\n }\n }\n\n public async set(\n key: string,\n data: IncrementalCacheValue | null,\n ctx:\n | SetIncrementalFetchCacheContext\n | SetIncrementalResponseCacheHandlerContext\n ) {\n const cacheControl = ctx.fetchCache ? undefined : ctx.cacheControl\n const seedState = this.getSeedReadState(key)\n if (seedState) seedState.version++\n\n FileSystemCache.memoryCache?.set(key, {\n value: data,\n lastModified: Date.now(),\n cacheControl,\n })\n\n if (FileSystemCache.debug) {\n console.log('FileSystemCache: set', key)\n }\n\n if (!this.flushToDisk || !data) return\n\n await seedState?.promotion\n\n // Create a new writer that will prepare to write all the files to disk\n // after their containing directory is created.\n const writer = new MultiFileWriter(this.fs)\n\n if (data.kind === CachedRouteKind.APP_ROUTE) {\n const filePath = this.getFilePath(\n `${key}.body`,\n IncrementalCacheKind.APP_ROUTE\n )\n\n writer.append(filePath, data.body)\n\n const meta: RouteMetadata = {\n headers: data.headers,\n status: data.status,\n postponed: undefined,\n segmentPaths: undefined,\n prefetchHints: undefined,\n cacheControl,\n }\n\n writer.append(\n filePath.replace(/\\.body$/, NEXT_META_SUFFIX),\n JSON.stringify(meta, null, 2)\n )\n } else if (\n data.kind === CachedRouteKind.PAGES ||\n data.kind === CachedRouteKind.APP_PAGE\n ) {\n const isAppPath = data.kind === CachedRouteKind.APP_PAGE\n const htmlPath = this.getFilePath(\n `${key}.html`,\n isAppPath ? IncrementalCacheKind.APP_PAGE : IncrementalCacheKind.PAGES\n )\n\n writer.append(htmlPath, data.html)\n\n // Fallbacks don't generate a data file.\n if (!ctx.fetchCache && !ctx.isFallback && !ctx.isRoutePPREnabled) {\n writer.append(\n this.getFilePath(\n `${key}${isAppPath ? RSC_SUFFIX : NEXT_DATA_SUFFIX}`,\n isAppPath\n ? IncrementalCacheKind.APP_PAGE\n : IncrementalCacheKind.PAGES\n ),\n isAppPath ? data.rscData! : JSON.stringify(data.pageData)\n )\n }\n\n if (data?.kind === CachedRouteKind.APP_PAGE) {\n let segmentPaths: string[] | undefined\n if (data.segmentData) {\n segmentPaths = []\n const segmentsDir = htmlPath.replace(\n /\\.html$/,\n RSC_SEGMENTS_DIR_SUFFIX\n )\n\n for (const [segmentPath, buffer] of data.segmentData) {\n segmentPaths.push(segmentPath)\n const segmentDataFilePath =\n segmentsDir + segmentPath + RSC_SEGMENT_SUFFIX\n writer.append(segmentDataFilePath, buffer)\n }\n }\n\n const meta: RouteMetadata = {\n headers: data.headers,\n status: data.status,\n postponed: data.postponed,\n segmentPaths,\n prefetchHints: undefined,\n cacheControl,\n }\n\n writer.append(\n htmlPath.replace(/\\.html$/, NEXT_META_SUFFIX),\n JSON.stringify(meta)\n )\n } else {\n const meta: RouteMetadata = {\n headers: data.headers,\n status: data.status,\n postponed: undefined,\n segmentPaths: undefined,\n prefetchHints: undefined,\n }\n writer.append(\n htmlPath.replace(/\\.html$/, NEXT_META_SUFFIX),\n JSON.stringify(meta)\n )\n }\n } else if (data.kind === CachedRouteKind.FETCH) {\n const filePath = this.getFilePath(key, IncrementalCacheKind.FETCH)\n writer.append(\n filePath,\n JSON.stringify({\n ...data,\n tags: ctx.fetchCache ? ctx.tags : [],\n })\n )\n }\n\n // Wait for all FS operations to complete.\n await writer.wait()\n }\n\n private getFilePath(key: string, kind: IncrementalCacheKind): string {\n let rootDir: string\n switch (kind) {\n case IncrementalCacheKind.FETCH:\n // we store in .next/cache/fetch-cache so it can be persisted\n // across deploys\n rootDir = path.join(this.serverDistDir, '..', 'cache', 'fetch-cache')\n break\n case IncrementalCacheKind.PAGES:\n rootDir = path.join(this.serverDistDir, 'pages')\n break\n case IncrementalCacheKind.IMAGE:\n case IncrementalCacheKind.APP_PAGE:\n case IncrementalCacheKind.APP_ROUTE:\n rootDir = path.join(this.serverDistDir, 'app')\n break\n default:\n throw new Error(`Unexpected file path kind: ${kind}`)\n }\n\n // Scoped response artifacts live outside the compiled route and ASO files.\n if (\n (kind === IncrementalCacheKind.PAGES ||\n kind === IncrementalCacheKind.APP_PAGE ||\n kind === IncrementalCacheKind.APP_ROUTE) &&\n key.startsWith(`/${ROUTE_CACHE_DIRECTORY}/`)\n ) {\n rootDir = path.join(this.serverDistDir, '.')\n }\n\n const filePath = path.join(rootDir, key)\n if (!(filePath.startsWith(rootDir + path.sep) || filePath === rootDir)) {\n throw new Error(`Invalid file path: ${filePath}`)\n }\n\n return filePath\n }\n}\n"],"names":["getRouteCacheKey","ROUTE_CACHE_DIRECTORY","CachedRouteKind","IncrementalCacheKind","path","NEXT_CACHE_TAGS_HEADER","NEXT_DATA_SUFFIX","NEXT_META_SUFFIX","RSC_SEGMENT_SUFFIX","RSC_SEGMENTS_DIR_SUFFIX","RSC_SUFFIX","areTagsExpired","tagsManifest","MultiFileWriter","getMemoryCache","FileSystemCache","debug","process","env","NEXT_PRIVATE_DEBUG_CACHE","seedReads","Map","constructor","ctx","fs","flushToDisk","serverDistDir","revalidatedTags","maxMemoryCacheSize","memoryCache","console","log","resetRequestCache","getSeedReadState","key","get","beginSeedRead","stateKey","state","readers","version","set","finishSeedRead","promotion","delete","revalidateTag","tags","durations","length","now","Date","tag","existingEntry","updates","stale","expire","undefined","expired","args","data","kind","readKey","seedRead","activePromotion","FETCH","isResponse","PAGES","APP_PAGE","APP_ROUTE","startsWith","NEXT_RUNTIME","primaryPath","getFilePath","existsSync","marker","indexOf","legacyKey","slice","legacyMetaPath","meta","JSON","parse","readFileSync","namespaceEnd","ownerKey","routeCache","owner","isFallback","Boolean","isRoutePPREnabled","postponed","filePath","fileData","readFile","mtime","stat","replace","lastModified","routeCacheLastModified","getTime","value","body","headers","status","cacheControl","fetchIdx","fetchUrl","parsedData","storedTags","every","includes","fetchCache","maybeSegmentData","segmentPaths","segmentData","segmentsDir","Promise","all","map","segmentPath","segmentDataFilePath","rscData","html","pageData","Error","tagsHeader","cacheTags","split","combinedTags","softTags","some","promoteSeed","seedKey","writeFileAtomic","seedPrimaryPath","seedMetaPath","ancillaryFiles","push","writer","file","append","wait","metaPath","mkdir","dirname","writeFile","stringify","call","catch","error","seedState","prefetchHints","isAppPath","htmlPath","buffer","rootDir","join","IMAGE","sep"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 3309, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/incremental-cache/index.ts"],"sourcesContent":["import { getRouteCacheKey, isRouteCacheOwner } from '../route-cache-key'\nimport type { CacheFs } from '../../../shared/lib/utils'\nimport type { PrerenderManifest } from '../../../build'\nimport {\n type IncrementalCacheValue,\n type IncrementalCacheEntry,\n type IncrementalCache as IncrementalCacheType,\n IncrementalCacheKind,\n CachedRouteKind,\n type IncrementalResponseCacheEntry,\n type IncrementalFetchCacheEntry,\n type GetIncrementalFetchCacheContext,\n type GetIncrementalResponseCacheContext,\n type GetIncrementalResponseCacheHandlerContext,\n type GetIncrementalImageCacheContext,\n type CachedFetchValue,\n type SetIncrementalFetchCacheContext,\n type SetIncrementalResponseCacheContext,\n type SetIncrementalResponseCacheHandlerContext,\n type SetIncrementalImageCacheContext,\n} from '../../response-cache'\nimport type { DeepReadonly } from '../../../shared/lib/deep-readonly'\nimport FileSystemCache from './file-system-cache'\n\nimport {\n CACHE_ONE_YEAR_SECONDS,\n NEXT_CACHE_TAGS_HEADER,\n PRERENDER_REVALIDATE_HEADER,\n} from '../../../lib/constants'\nimport { SharedCacheControls } from './shared-cache-controls.external'\nimport {\n getResumeDataCache,\n workUnitAsyncStorage,\n} from '../../app-render/work-unit-async-storage.external'\nimport { InvariantError } from '../../../shared/lib/invariant-error'\nimport type { CacheControl, Revalidate } from '../cache-control'\nimport { getPreviouslyRevalidatedTags } from '../../server-utils'\nimport { workAsyncStorage } from '../../app-render/work-async-storage.external'\nimport { createPromiseWithResolvers } from '../../../shared/lib/promise-with-resolvers'\nimport { areTagsExpired, areTagsStale } from './tags-manifest.external'\nimport type { __ApiPreviewProps } from '../../api-utils'\n\nexport interface CacheHandlerContext {\n fs?: CacheFs\n dev?: boolean\n flushToDisk?: boolean\n serverDistDir?: string\n maxMemoryCacheSize?: number\n fetchCacheKeyPrefix?: string\n prerenderManifest?: PrerenderManifest\n revalidatedTags: string[]\n _requestHeaders: IncrementalCache['requestHeaders']\n}\n\nexport interface CacheHandlerValue {\n lastModified: number\n age?: number\n cacheState?: string\n value: IncrementalCacheValue | null\n /**\n * The entry's cache lifetime, as passed to `set()` in `ctx.cacheControl`.\n * A cache handler that stores it and returns it here lets any instance serve\n * the entry with its lifetime, including one that did not render it (another\n * server sharing the cache, or the same server after a restart).\n */\n cacheControl?: CacheControl\n}\n\nfunction toHex(buffer: ArrayBufferView | ArrayBuffer): string {\n // Hex-encode body bytes losslessly: decoding as UTF-8 would collapse\n // distinct bytes (0xff/0xfe to U+FFFD) and collide; Buffer isn't on edge.\n const bytes = isArrayBuffer(buffer)\n ? new Uint8Array(buffer)\n : new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength)\n let hex = ''\n for (const byte of bytes) {\n hex += byte.toString(16).padStart(2, '0')\n }\n return hex\n}\n\ntype Body = NonNullable\n\n// Duck typing to support Edge runtime\n// TODO: Switch to instanceof checks once Edge runtime is removed.\n\nfunction isArrayBuffer(\n buffer: ArrayBuffer | ArrayBufferView\n): buffer is ArrayBuffer {\n return !('buffer' in buffer)\n}\n\nfunction isBodyByteSequence(\n body: Body\n): body is ArrayBufferView | ArrayBuffer {\n return typeof body === 'object' && 'byteLength' in body\n}\n\nfunction isBodyReadableStream(body: Body): body is ReadableStream {\n return typeof (body as any).getReader === 'function'\n}\n\nfunction isBodyFormDataOrURLSearchParams(\n body: Body\n): body is FormData | URLSearchParams {\n return typeof (body as any).keys === 'function'\n}\n\nfunction isBodyBlob(body: Body): body is Blob {\n return typeof (body as any).arrayBuffer === 'function'\n}\n\nexport class CacheHandler {\n // eslint-disable-next-line\n constructor(_ctx: CacheHandlerContext) {}\n\n public async get(\n _cacheKey: string,\n _ctx:\n | GetIncrementalFetchCacheContext\n | GetIncrementalResponseCacheHandlerContext\n | GetIncrementalImageCacheContext\n ): Promise {\n return {} as any\n }\n\n public async set(\n _cacheKey: string,\n _data: IncrementalCacheValue | null,\n _ctx:\n | SetIncrementalFetchCacheContext\n | SetIncrementalResponseCacheHandlerContext\n | SetIncrementalImageCacheContext\n ): Promise {}\n\n public async revalidateTag(\n _tags: string | string[],\n _durations?: { expire?: number }\n ): Promise {}\n\n public resetRequestCache(): void {}\n}\n\nasync function hashString(cacheString: string): Promise {\n if (process.env.NEXT_RUNTIME === 'edge') {\n const encoder = new TextEncoder()\n const buffer = encoder.encode(cacheString)\n return toHex(await crypto.subtle.digest('SHA-256', buffer))\n } else {\n const crypto = require('crypto') as typeof import('crypto')\n return crypto.createHash('sha256').update(cacheString).digest('hex')\n }\n}\n\n// this should be bumped anytime a fix is made to cache entries\n// that should bust the cache\nconst MAIN_KEY_PREFIX = 'v4'\n\nexport class IncrementalCache implements IncrementalCacheType {\n readonly dev?: boolean\n readonly disableForTestmode?: boolean\n readonly cacheHandler?: CacheHandler\n readonly hasCustomCacheHandler: boolean\n readonly previewProps: DeepReadonly<__ApiPreviewProps>\n readonly prerenderManifest: DeepReadonly\n readonly requestHeaders: Record\n readonly allowedRevalidateHeaderKeys?: string[]\n readonly minimalMode?: boolean\n readonly fetchCacheKeyPrefix?: string\n readonly isOnDemandRevalidate?: boolean\n readonly revalidatedTags?: readonly string[]\n\n private static readonly debug: boolean =\n !!process.env.NEXT_PRIVATE_DEBUG_CACHE\n private readonly locks = new Map>()\n\n /**\n * The cache controls for routes. This will source the values from the\n * prerender manifest until the in-memory cache is updated with new values.\n */\n private readonly cacheControls: SharedCacheControls\n private readonly locales?: readonly string[]\n\n constructor({\n fs,\n dev,\n flushToDisk,\n minimalMode,\n serverDistDir,\n requestHeaders,\n maxMemoryCacheSize,\n previewProps,\n prerenderManifest,\n fetchCacheKeyPrefix,\n CurCacheHandler,\n allowedRevalidateHeaderKeys,\n locales,\n }: {\n fs?: CacheFs\n dev: boolean\n minimalMode?: boolean\n serverDistDir?: string\n flushToDisk?: boolean\n allowedRevalidateHeaderKeys?: string[]\n locales?: readonly string[]\n requestHeaders: IncrementalCache['requestHeaders']\n maxMemoryCacheSize?: number\n previewProps: DeepReadonly<__ApiPreviewProps>\n prerenderManifest: DeepReadonly\n fetchCacheKeyPrefix?: string\n CurCacheHandler?: typeof CacheHandler\n }) {\n this.hasCustomCacheHandler = Boolean(CurCacheHandler)\n\n const cacheHandlersSymbol = Symbol.for('@next/cache-handlers')\n const _globalThis: typeof globalThis & {\n [cacheHandlersSymbol]?: {\n FetchCache?: typeof CacheHandler\n }\n } = globalThis\n\n if (!CurCacheHandler) {\n // if we have a global cache handler available leverage it\n const globalCacheHandler = _globalThis[cacheHandlersSymbol]\n\n if (globalCacheHandler?.FetchCache) {\n CurCacheHandler = globalCacheHandler.FetchCache\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: using global FetchCache cache handler')\n }\n } else {\n if (fs && serverDistDir) {\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: using filesystem cache handler')\n }\n CurCacheHandler = FileSystemCache\n }\n }\n } else if (IncrementalCache.debug) {\n console.log(\n 'IncrementalCache: using custom cache handler',\n CurCacheHandler.name\n )\n }\n\n if (process.env.__NEXT_TEST_MAX_ISR_CACHE) {\n // Allow cache size to be overridden for testing purposes\n maxMemoryCacheSize = parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE, 10)\n }\n this.dev = dev\n this.disableForTestmode = process.env.NEXT_PRIVATE_TEST_PROXY === 'true'\n // this is a hack to avoid Webpack knowing this is equal to this.minimalMode\n // because we replace this.minimalMode to true in production bundles.\n const minimalModeKey = 'minimalMode'\n this[minimalModeKey] = minimalMode\n this.requestHeaders = requestHeaders\n this.allowedRevalidateHeaderKeys = allowedRevalidateHeaderKeys\n this.previewProps = previewProps\n this.prerenderManifest = prerenderManifest\n this.locales = locales\n this.cacheControls = new SharedCacheControls(\n this.prerenderManifest,\n locales\n )\n this.fetchCacheKeyPrefix = fetchCacheKeyPrefix\n let revalidatedTags: string[] = []\n\n if (\n requestHeaders[PRERENDER_REVALIDATE_HEADER] ===\n this.previewProps.previewModeId\n ) {\n this.isOnDemandRevalidate = true\n }\n\n if (minimalMode) {\n revalidatedTags = this.revalidatedTags = getPreviouslyRevalidatedTags(\n requestHeaders,\n this.previewProps.previewModeId\n )\n }\n\n if (CurCacheHandler) {\n this.cacheHandler = new CurCacheHandler({\n dev,\n fs,\n flushToDisk,\n serverDistDir,\n revalidatedTags,\n maxMemoryCacheSize,\n _requestHeaders: requestHeaders,\n fetchCacheKeyPrefix,\n })\n }\n }\n\n private calculateRevalidate(\n cacheControl: CacheControl | undefined,\n fromTime: number,\n dev: boolean,\n isFallback: boolean | undefined\n ): Revalidate {\n // in development we don't have a prerender-manifest\n // and default to always revalidating to allow easier debugging\n if (dev)\n return Math.floor(performance.timeOrigin + performance.now() - 1000)\n\n // if an entry isn't present in routes we fallback to a default\n // of revalidating after 1 second unless it's a fallback request.\n const initialRevalidateSeconds = cacheControl\n ? cacheControl.revalidate\n : isFallback\n ? false\n : 1\n\n const revalidateAfter =\n typeof initialRevalidateSeconds === 'number'\n ? initialRevalidateSeconds * 1000 + fromTime\n : initialRevalidateSeconds\n\n return revalidateAfter\n }\n\n resetRequestCache() {\n this.cacheHandler?.resetRequestCache?.()\n }\n\n async lock(cacheKey: string): Promise<() => Promise | void> {\n // Wait for any existing lock on this cache key to be released\n // This implements a simple queue-based locking mechanism\n while (true) {\n const lock = this.locks.get(cacheKey)\n\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: lock get', cacheKey, !!lock)\n }\n\n // If no lock exists, we can proceed to acquire it\n if (!lock) break\n\n // Wait for the existing lock to be released before trying again\n await lock\n }\n\n // Create a new detached promise that will represent this lock\n // The resolve function (unlock) will be returned to the caller\n const { resolve, promise } = createPromiseWithResolvers()\n\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: successfully locked', cacheKey)\n }\n\n // Store the lock promise in the locks map\n this.locks.set(cacheKey, promise)\n\n return () => {\n // Resolve the promise to release the lock.\n resolve()\n\n // Remove the lock from the map once it's released so that future gets\n // can acquire the lock.\n this.locks.delete(cacheKey)\n }\n }\n\n async revalidateTag(\n tags: string | string[],\n durations?: { expire?: number }\n ): Promise {\n return this.cacheHandler?.revalidateTag(tags, durations)\n }\n\n async generateSimpleCacheKey(input: string): Promise {\n const cacheString = JSON.stringify([\n MAIN_KEY_PREFIX,\n this.fetchCacheKeyPrefix || '',\n input,\n ])\n\n return hashString(cacheString)\n }\n\n // x-ref: https://github.com/facebook/react/blob/2655c9354d8e1c54ba888444220f63e836925caa/packages/react/src/ReactFetch.js#L23\n async generateCacheKey(\n url: string,\n init: RequestInit | Request = {}\n ): Promise {\n const bodyChunks: string[] = []\n\n const encoder = new TextEncoder()\n\n // Will be set implementing https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n let bodyType: string | null = null\n const body = init.body\n if (body) {\n if (isBodyByteSequence(body)) {\n bodyChunks.push(`bytes:${toHex(body)}`)\n ;(init as any)._ogBody = body\n } else if (isBodyReadableStream(body)) {\n const readableBody = body\n\n const chunks: Uint8Array[] = []\n\n try {\n await readableBody.pipeTo(\n new WritableStream({\n write(chunk) {\n chunks.push(\n typeof chunk === 'string' ? encoder.encode(chunk) : chunk\n )\n },\n })\n )\n\n // Create a new buffer with all the chunks.\n const length = chunks.reduce((total, arr) => total + arr.length, 0)\n const arrayBuffer = new Uint8Array(length)\n\n // Push each of the chunks into the new array buffer.\n let offset = 0\n for (const chunk of chunks) {\n arrayBuffer.set(chunk, offset)\n offset += chunk.length\n }\n\n bodyChunks.push(`bytes:${toHex(arrayBuffer)}`)\n ;(init as any)._ogBody = arrayBuffer\n } catch (err) {\n console.error('Problem reading body', err)\n }\n } else if (isBodyFormDataOrURLSearchParams(body)) {\n bodyType =\n String(body) === '[object FormData]'\n ? // We don't need a boundary because we're not actually using this for a Content-Type header\n 'multipart/form-data; boundary='\n : 'application/x-www-form-urlencoded;charset=UTF-8'\n const iterable = body\n ;(init as any)._ogBody = body\n // Separate, tagged chunks so `[\"a\",\"b\"]` can't collide with `[\"a,b\"]`.\n for (const [key, val] of iterable.entries()) {\n bodyChunks.push(`key:${key}`)\n if (typeof val === 'string') {\n bodyChunks.push(`str:${val}`)\n } else {\n bodyChunks.push(\n 'file',\n val.name,\n val.type,\n `bytes:${toHex(await val.arrayBuffer())}`\n )\n }\n }\n // handle blob body\n } else if (isBodyBlob(body)) {\n const blob = body\n const arrayBuffer = await blob.arrayBuffer()\n bodyChunks.push('blob', blob.type, `bytes:${toHex(arrayBuffer)}`)\n ;(init as any)._ogBody = new Blob([arrayBuffer], { type: blob.type })\n bodyType = blob.type\n } else if (typeof body === 'string') {\n bodyChunks.push(`str:${body}`)\n ;(init as any)._ogBody = body\n bodyType = 'text/plain;charset=UTF-8'\n } else {\n body satisfies never\n throw new Error(`Unsupported body type: ${typeof body}`)\n }\n }\n\n const headers =\n typeof (init.headers || {}).keys === 'function'\n ? Object.fromEntries(init.headers as Headers)\n : Object.assign({} as Record, init.headers)\n\n // w3c trace context headers can break request caching and deduplication\n // so we remove them from the cache key\n if ('traceparent' in headers) delete headers['traceparent']\n if ('tracestate' in headers) delete headers['tracestate']\n\n const cacheString = JSON.stringify([\n MAIN_KEY_PREFIX,\n this.fetchCacheKeyPrefix || '',\n url,\n init.method,\n // Ensures default Content-Type is part of the cache key\n // TODO: Only necessary when headers are not used from the Request instance\n bodyType,\n headers,\n init.mode,\n init.redirect,\n init.credentials,\n init.referrer,\n init.referrerPolicy,\n init.integrity,\n init.cache,\n bodyChunks,\n ])\n\n return hashString(cacheString)\n }\n\n async get(\n cacheKey: string,\n ctx: GetIncrementalFetchCacheContext\n ): Promise\n async get(\n cacheKey: string,\n ctx: GetIncrementalResponseCacheContext | GetIncrementalImageCacheContext\n ): Promise\n async get(\n cacheKey: string,\n ctx:\n | GetIncrementalFetchCacheContext\n | GetIncrementalResponseCacheContext\n | GetIncrementalImageCacheContext\n ): Promise {\n if (ctx.kind === IncrementalCacheKind.IMAGE) {\n throw new InvariantError('Images must use the image optimizer cache')\n }\n // Unlike other caches if we have a resume data cache, we use it even if\n // testmode would normally disable it or if requestHeaders say 'no-cache'.\n if (ctx.kind === IncrementalCacheKind.FETCH) {\n const workUnitStore = workUnitAsyncStorage.getStore()\n const resumeDataCache = workUnitStore\n ? getResumeDataCache(workUnitStore)\n : null\n if (resumeDataCache) {\n const memoryCacheData = resumeDataCache.fetch.get(cacheKey)\n if (memoryCacheData?.kind === CachedRouteKind.FETCH) {\n // Check if any tags were recently revalidated before returning RDC entry.\n // When a server action calls updateTag(), the re-render should see fresh\n // data instead of stale RDC data.\n const workStore = workAsyncStorage.getStore()\n const combinedTags = [...(ctx.tags || []), ...(ctx.softTags || [])]\n const hasRevalidatedTag = combinedTags.some(\n (tag) =>\n this.revalidatedTags?.includes(tag) ||\n workStore?.pendingRevalidatedTags?.some(\n (item) => item.tag === tag\n )\n )\n\n if (hasRevalidatedTag) {\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: rdc:revalidated-tag', cacheKey)\n }\n // Fall through to cacheHandler lookup\n } else {\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: rdc:hit', cacheKey)\n }\n\n return { isStale: false, value: memoryCacheData }\n }\n } else if (IncrementalCache.debug) {\n console.log('IncrementalCache: rdc:miss', cacheKey)\n }\n } else {\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: rdc:no-resume-data')\n }\n }\n }\n\n // we don't leverage the prerender cache in dev mode\n // so that getStaticProps is always called for easier debugging\n if (\n this.disableForTestmode ||\n (this.dev &&\n (ctx.kind !== IncrementalCacheKind.FETCH ||\n this.requestHeaders['cache-control'] === 'no-cache'))\n ) {\n return null\n }\n\n let storageKey = cacheKey\n let handlerContext: Parameters[1] = ctx\n if (ctx.kind !== IncrementalCacheKind.FETCH) {\n // Ownership scopes the key and metadata inside Next.js. Storage handlers\n // only need the resulting key and the existing cache options.\n const { route, ...responseContext } = ctx\n storageKey = getRouteCacheKey(cacheKey, route)\n handlerContext = responseContext\n }\n const cacheData = await this.cacheHandler?.get(storageKey, handlerContext)\n\n if (ctx.kind === IncrementalCacheKind.FETCH) {\n if (!cacheData) {\n return null\n }\n\n if (cacheData.value?.kind !== CachedRouteKind.FETCH) {\n throw new InvariantError(\n `Expected cached value for cache key ${JSON.stringify(cacheKey)} to be a \"FETCH\" kind, got ${JSON.stringify(cacheData.value?.kind)} instead.`\n )\n }\n\n const workStore = workAsyncStorage.getStore()\n const combinedTags = [...(ctx.tags || []), ...(ctx.softTags || [])]\n // if a tag was revalidated we don't return stale data\n if (\n combinedTags.some(\n (tag) =>\n this.revalidatedTags?.includes(tag) ||\n workStore?.pendingRevalidatedTags?.some((item) => item.tag === tag)\n )\n ) {\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: expired tag', cacheKey)\n }\n\n return null\n }\n\n // As we're able to get the cache entry for this fetch, and the prerender\n // resume data cache (RDC) is available, it must have been populated by a\n // previous fetch, but was not yet present in the in-memory cache. This\n // could be the case when performing multiple renders in parallel during\n // build time where we de-duplicate the fetch calls.\n //\n // We add it to the RDC so that the next fetch call will be able to use it\n // and it won't have to reach into the fetch cache implementation.\n const workUnitStore = workUnitAsyncStorage.getStore()\n if (workUnitStore) {\n const resumeDataCache = getResumeDataCache(workUnitStore)\n if (resumeDataCache?.mutable) {\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: rdc:set', cacheKey)\n }\n\n resumeDataCache.fetch.set(cacheKey, cacheData.value)\n }\n }\n\n const revalidate = ctx.revalidate || cacheData.value.revalidate\n const age =\n (performance.timeOrigin +\n performance.now() -\n (cacheData.lastModified || 0)) /\n 1000\n\n let isStale = age > revalidate\n const data = cacheData.value.data\n\n if (areTagsExpired(combinedTags, cacheData.lastModified)) {\n return null\n } else if (areTagsStale(combinedTags, cacheData.lastModified)) {\n isStale = true\n }\n\n return {\n isStale,\n value: { kind: CachedRouteKind.FETCH, data, revalidate },\n }\n } else if (cacheData?.value?.kind === CachedRouteKind.FETCH) {\n throw new InvariantError(\n `Expected cached value for cache key ${JSON.stringify(cacheKey)} not to be a ${JSON.stringify(ctx.kind)} kind, got \"FETCH\" instead.`\n )\n }\n\n let entry: IncrementalResponseCacheEntry | null = null\n const { isFallback } = ctx\n let cacheControl = this.cacheControls.get(cacheKey, ctx.route)\n\n // The stored lifetime belongs to this entry, which another instance may\n // have replaced with a different lifetime. Prefer it over this process's\n // remembered lifetime, and update the route so revalidation uses it too.\n if (cacheData?.cacheControl) {\n cacheControl = cacheData.cacheControl\n this.cacheControls.set(storageKey, cacheControl)\n }\n\n let isStale: boolean | -1 | undefined\n let revalidateAfter: Revalidate\n\n if (cacheData?.lastModified === -1) {\n isStale = -1\n revalidateAfter = -1 * CACHE_ONE_YEAR_SECONDS * 1000\n } else {\n const now = performance.timeOrigin + performance.now()\n const lastModified = cacheData?.lastModified || now\n\n revalidateAfter = this.calculateRevalidate(\n cacheControl,\n lastModified,\n this.dev ?? false,\n ctx.isFallback\n )\n\n // If the route's `expire` time has passed, force a blocking revalidation\n // by signalling `isStale = -1`. The response cache treats `-1` as \"skip\n // the early SWR resolve\" and awaits a fresh render before the user sees a\n // response.\n const expireAfter =\n typeof cacheControl?.expire === 'number'\n ? cacheControl.expire * 1000 + lastModified\n : undefined\n\n if (expireAfter !== undefined && expireAfter < now) {\n isStale = -1\n } else {\n isStale =\n revalidateAfter !== false && revalidateAfter < now ? true : undefined\n\n // If the stale time couldn't be determined based on the revalidation\n // time, we check if the tags are expired or stale.\n if (\n isStale === undefined &&\n (cacheData?.value?.kind === CachedRouteKind.APP_PAGE ||\n cacheData?.value?.kind === CachedRouteKind.APP_ROUTE)\n ) {\n const tagsHeader = cacheData.value.headers?.[NEXT_CACHE_TAGS_HEADER]\n\n if (typeof tagsHeader === 'string') {\n const cacheTags = tagsHeader.split(',')\n\n if (cacheTags.length > 0) {\n if (areTagsExpired(cacheTags, lastModified)) {\n isStale = -1\n } else if (areTagsStale(cacheTags, lastModified)) {\n isStale = true\n }\n }\n }\n }\n }\n }\n\n if (cacheData) {\n entry = {\n isStale,\n cacheControl,\n revalidateAfter,\n value: cacheData.value,\n isFallback,\n }\n }\n\n if (\n !cacheData &&\n this.prerenderManifest.notFoundRoutes.includes(cacheKey) &&\n isRouteCacheOwner(\n cacheKey,\n ctx.route,\n this.prerenderManifest.routes[cacheKey],\n this.locales\n )\n ) {\n // for the first hit after starting the server the cache\n // may not have a way to save notFound: true so if\n // the prerender-manifest marks this as notFound then we\n // return that entry and trigger a cache set to give it a\n // chance to update in-memory entries\n entry = {\n isStale,\n value: null,\n cacheControl,\n revalidateAfter,\n isFallback,\n }\n this.set(cacheKey, entry.value, { ...ctx, cacheControl })\n }\n return entry\n }\n\n async set(\n pathname: string,\n data: CachedFetchValue | null,\n ctx: SetIncrementalFetchCacheContext\n ): Promise\n async set(\n pathname: string,\n data: Exclude | null,\n ctx: SetIncrementalResponseCacheContext | SetIncrementalImageCacheContext\n ): Promise\n async set(\n pathname: string,\n data: IncrementalCacheValue | null,\n ctx:\n | SetIncrementalFetchCacheContext\n | SetIncrementalResponseCacheContext\n | SetIncrementalImageCacheContext\n ): Promise {\n if ('kind' in ctx && ctx.kind === IncrementalCacheKind.IMAGE) {\n throw new InvariantError('Images must use the image optimizer cache')\n }\n // Even if we otherwise disable caching for testMode or if no fetchCache is\n // configured we still always stash results in the resume data cache if one\n // exists. This is because this is a transient in memory cache that\n // populates caches ahead of a dynamic render in dev mode to allow the RSC\n // debug info to have the right environment associated to it.\n if (data?.kind === CachedRouteKind.FETCH) {\n const workUnitStore = workUnitAsyncStorage.getStore()\n const resumeDataCache = workUnitStore\n ? getResumeDataCache(workUnitStore)\n : null\n if (resumeDataCache?.mutable) {\n if (IncrementalCache.debug) {\n console.log('IncrementalCache: rdc:set', pathname)\n }\n\n resumeDataCache.fetch.set(pathname, data)\n }\n }\n\n if (this.disableForTestmode || (this.dev && !ctx.fetchCache)) return\n\n let storageKey = pathname\n let handlerContext: Parameters[2] = ctx\n if (!ctx.fetchCache) {\n const { route, ...responseContext } = ctx\n if (!route) {\n throw new InvariantError('Response cache requires a source route')\n }\n storageKey = getRouteCacheKey(pathname, route)\n handlerContext = responseContext\n }\n\n // FetchCache has upper limit of 2MB per-entry currently\n const itemSize = JSON.stringify(data).length\n if (\n ctx.fetchCache &&\n itemSize > 2 * 1024 * 1024 &&\n // We ignore the size limit when custom cache handler is being used, as it\n // might not have this limit\n !this.hasCustomCacheHandler &&\n // We also ignore the size limit when it's an implicit build-time-only\n // caching that the user isn't even aware of.\n !ctx.isImplicitBuildTimeCache\n ) {\n const warningText = `Failed to set Next.js data cache for ${ctx.fetchUrl || pathname}, items over 2MB can not be cached (${itemSize} bytes)`\n\n if (this.dev) {\n throw new Error(warningText)\n }\n console.warn(warningText)\n return\n }\n\n try {\n if (!ctx.fetchCache && ctx.cacheControl) {\n this.cacheControls.set(storageKey, ctx.cacheControl)\n }\n\n await this.cacheHandler?.set(storageKey, data, handlerContext)\n } catch (error) {\n console.warn('Failed to update prerender cache for', pathname, error)\n }\n }\n}\n"],"names":["getRouteCacheKey","isRouteCacheOwner","IncrementalCacheKind","CachedRouteKind","FileSystemCache","CACHE_ONE_YEAR_SECONDS","NEXT_CACHE_TAGS_HEADER","PRERENDER_REVALIDATE_HEADER","SharedCacheControls","getResumeDataCache","workUnitAsyncStorage","InvariantError","getPreviouslyRevalidatedTags","workAsyncStorage","createPromiseWithResolvers","areTagsExpired","areTagsStale","toHex","buffer","bytes","isArrayBuffer","Uint8Array","byteOffset","byteLength","hex","byte","toString","padStart","isBodyByteSequence","body","isBodyReadableStream","getReader","isBodyFormDataOrURLSearchParams","keys","isBodyBlob","arrayBuffer","CacheHandler","constructor","_ctx","get","_cacheKey","set","_data","revalidateTag","_tags","_durations","resetRequestCache","hashString","cacheString","process","env","NEXT_RUNTIME","encoder","TextEncoder","encode","crypto","subtle","digest","require","createHash","update","MAIN_KEY_PREFIX","IncrementalCache","debug","NEXT_PRIVATE_DEBUG_CACHE","fs","dev","flushToDisk","minimalMode","serverDistDir","requestHeaders","maxMemoryCacheSize","previewProps","prerenderManifest","fetchCacheKeyPrefix","CurCacheHandler","allowedRevalidateHeaderKeys","locales","locks","Map","hasCustomCacheHandler","Boolean","cacheHandlersSymbol","Symbol","for","_globalThis","globalThis","globalCacheHandler","FetchCache","console","log","name","__NEXT_TEST_MAX_ISR_CACHE","parseInt","disableForTestmode","NEXT_PRIVATE_TEST_PROXY","minimalModeKey","cacheControls","revalidatedTags","previewModeId","isOnDemandRevalidate","cacheHandler","_requestHeaders","calculateRevalidate","cacheControl","fromTime","isFallback","Math","floor","performance","timeOrigin","now","initialRevalidateSeconds","revalidate","revalidateAfter","lock","cacheKey","resolve","promise","delete","tags","durations","generateSimpleCacheKey","input","JSON","stringify","generateCacheKey","url","init","bodyChunks","bodyType","push","_ogBody","readableBody","chunks","pipeTo","WritableStream","write","chunk","length","reduce","total","arr","offset","err","error","String","iterable","key","val","entries","type","blob","Blob","Error","headers","Object","fromEntries","assign","method","mode","redirect","credentials","referrer","referrerPolicy","integrity","cache","ctx","cacheData","kind","IMAGE","FETCH","workUnitStore","getStore","resumeDataCache","memoryCacheData","fetch","workStore","combinedTags","softTags","hasRevalidatedTag","some","tag","includes","pendingRevalidatedTags","item","isStale","value","storageKey","handlerContext","route","responseContext","mutable","age","lastModified","data","entry","expireAfter","expire","undefined","APP_PAGE","APP_ROUTE","tagsHeader","cacheTags","split","notFoundRoutes","routes","pathname","fetchCache","itemSize","isImplicitBuildTimeCache","warningText","fetchUrl","warn"],"mappings":";;;;;;AAAA,SAASA,gBAAgB,EAAEC,iBAAiB,QAAQ,qBAAoB;;AAGxE,SAIEC,oBAAoB,EACpBC,eAAe,QAYV,uBAAsB;AAE7B,OAAOC,qBAAqB,sBAAqB;AAEjD,SACEC,sBAAsB,EACtBC,sBAAsB,EACtBC,2BAA2B,QACtB,yBAAwB;AAC/B,SAASC,mBAAmB,QAAQ,mCAAkC;AACtE,SACEC,kBAAkB,EAClBC,oBAAoB,QACf,oDAAmD;AAC1D,SAASC,cAAc,QAAQ,sCAAqC;AAEpE,SAASC,4BAA4B,QAAQ,qBAAoB;AACjE,SAASC,gBAAgB,QAAQ,+CAA8C;AAC/E,SAASC,0BAA0B,QAAQ,6CAA4C;AACvF,SAASC,cAAc,EAAEC,YAAY,QAAQ,2BAA0B;;;;;;;;;;;;AA6BvE,SAASC,MAAMC,MAAqC;IAClD,qEAAqE;IACrE,0EAA0E;IAC1E,MAAMC,QAAQC,cAAcF,UACxB,IAAIG,WAAWH,UACf,IAAIG,WAAWH,OAAOA,MAAM,EAAEA,OAAOI,UAAU,EAAEJ,OAAOK,UAAU;IACtE,IAAIC,MAAM;IACV,KAAK,MAAMC,QAAQN,MAAO;QACxBK,OAAOC,KAAKC,QAAQ,CAAC,IAAIC,QAAQ,CAAC,GAAG;IACvC;IACA,OAAOH;AACT;AAIA,sCAAsC;AACtC,kEAAkE;AAElE,SAASJ,cACPF,MAAqC;IAErC,OAAO,CAAE,CAAA,YAAYA,MAAK;AAC5B;AAEA,SAASU,mBACPC,IAAU;IAEV,OAAO,OAAOA,SAAS,YAAY,gBAAgBA;AACrD;AAEA,SAASC,qBAAqBD,IAAU;IACtC,OAAO,OAAQA,KAAaE,SAAS,KAAK;AAC5C;AAEA,SAASC,gCACPH,IAAU;IAEV,OAAO,OAAQA,KAAaI,IAAI,KAAK;AACvC;AAEA,SAASC,WAAWL,IAAU;IAC5B,OAAO,OAAQA,KAAaM,WAAW,KAAK;AAC9C;AAEO,MAAMC;IACX,2BAA2B;IAC3BC,YAAYC,IAAyB,CAAE,CAAC;IAExC,MAAaC,IACXC,SAAiB,EACjBF,IAGmC,EACA;QACnC,OAAO,CAAC;IACV;IAEA,MAAaG,IACXD,SAAiB,EACjBE,KAAmC,EACnCJ,IAGmC,EACpB,CAAC;IAElB,MAAaK,cACXC,KAAwB,EACxBC,UAAgC,EACjB,CAAC;IAEXC,oBAA0B,CAAC;AACpC;AAEA,eAAeC,WAAWC,WAAmB;IAC3C,IAAIC,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;SAIlC;QACL,MAAMI,UAASG,QAAQ;QACvB,OAAOH,QAAOI,UAAU,CAAC,UAAUC,MAAM,CAACZ,aAAaS,MAAM,CAAC;IAChE;AACF;AAEA,+DAA+D;AAC/D,6BAA6B;AAC7B,MAAMI,kBAAkB;AAEjB,MAAMC;qBAcaC,KAAAA,GACtB,CAAC,CAACd,QAAQC,GAAG,CAACc,wBAAwB,CAAA;IAUxC3B,YAAY,EACV4B,EAAE,EACFC,GAAG,EACHC,WAAW,EACXC,WAAW,EACXC,aAAa,EACbC,cAAc,EACdC,kBAAkB,EAClBC,YAAY,EACZC,iBAAiB,EACjBC,mBAAmB,EACnBC,eAAe,EACfC,2BAA2B,EAC3BC,OAAO,EAeR,CAAE;aArCcC,KAAAA,GAAQ,IAAIC;QAsC3B,IAAI,CAACC,qBAAqB,GAAGC,QAAQN;QAErC,MAAMO,sBAAsBC,OAAOC,GAAG,CAAC;QACvC,MAAMC,cAIFC;QAEJ,IAAI,CAACX,iBAAiB;YACpB,0DAA0D;YAC1D,MAAMY,qBAAqBF,WAAW,CAACH,oBAAoB;YAE3D,IAAIK,sBAAAA,OAAAA,KAAAA,IAAAA,mBAAoBC,UAAU,EAAE;gBAClCb,kBAAkBY,mBAAmBC,UAAU;gBAC/C,IAAI1B,iBAAiBC,KAAK,EAAE;oBAC1B0B,QAAQC,GAAG,CAAC;gBACd;YACF,OAAO;gBACL,IAAIzB,MAAMI,eAAe;oBACvB,IAAIP,iBAAiBC,KAAK,EAAE;wBAC1B0B,QAAQC,GAAG,CAAC;oBACd;oBACAf,kBAAkBvE,kNAAAA;gBACpB;YACF;QACF,OAAO,IAAI0D,iBAAiBC,KAAK,EAAE;YACjC0B,QAAQC,GAAG,CACT,gDACAf,gBAAgBgB,IAAI;QAExB;QAEA,IAAI1C,QAAQC,GAAG,CAAC0C,yBAAyB,EAAE;YACzC,yDAAyD;YACzDrB,qBAAqBsB,SAAS5C,QAAQC,GAAG,CAAC0C,yBAAyB,EAAE;QACvE;QACA,IAAI,CAAC1B,GAAG,GAAGA;QACX,IAAI,CAAC4B,kBAAkB,GAAG7C,QAAQC,GAAG,CAAC6C,uBAAuB,KAAK;QAClE,4EAA4E;QAC5E,qEAAqE;QACrE,MAAMC,iBAAiB;QACvB,IAAI,CAACA,eAAe,GAAG5B;QACvB,IAAI,CAACE,cAAc,GAAGA;QACtB,IAAI,CAACM,2BAA2B,GAAGA;QACnC,IAAI,CAACJ,YAAY,GAAGA;QACpB,IAAI,CAACC,iBAAiB,GAAGA;QACzB,IAAI,CAACI,OAAO,GAAGA;QACf,IAAI,CAACoB,aAAa,GAAG,IAAIzF,4TAAAA,CACvB,IAAI,CAACiE,iBAAiB,EACtBI;QAEF,IAAI,CAACH,mBAAmB,GAAGA;QAC3B,IAAIwB,kBAA4B,EAAE;QAElC,IACE5B,cAAc,CAAC/D,sLAAAA,CAA4B,KAC3C,IAAI,CAACiE,YAAY,CAAC2B,aAAa,EAC/B;YACA,IAAI,CAACC,oBAAoB,GAAG;QAC9B;QAEA,IAAIhC,aAAa;YACf8B,kBAAkB,IAAI,CAACA,eAAe,OAAGtF,gMAAAA,EACvC0D,gBACA,IAAI,CAACE,YAAY,CAAC2B,aAAa;QAEnC;QAEA,IAAIxB,iBAAiB;YACnB,IAAI,CAAC0B,YAAY,GAAG,IAAI1B,gBAAgB;gBACtCT;gBACAD;gBACAE;gBACAE;gBACA6B;gBACA3B;gBACA+B,iBAAiBhC;gBACjBI;YACF;QACF;IACF;IAEQ6B,oBACNC,YAAsC,EACtCC,QAAgB,EAChBvC,GAAY,EACZwC,UAA+B,EACnB;QACZ,oDAAoD;QACpD,+DAA+D;QAC/D,IAAIxC,KACF,OAAOyC,KAAKC,KAAK,CAACC,YAAYC,UAAU,GAAGD,YAAYE,GAAG,KAAK;QAEjE,+DAA+D;QAC/D,iEAAiE;QACjE,MAAMC,2BAA2BR,eAC7BA,aAAaS,UAAU,GACvBP,aACE,QACA;QAEN,MAAMQ,kBACJ,OAAOF,6BAA6B,WAChCA,2BAA2B,OAAOP,WAClCO;QAEN,OAAOE;IACT;IAEApE,oBAAoB;YAClB,sCAAA;SAAA,qBAAA,IAAI,CAACuD,YAAY,KAAA,OAAA,KAAA,IAAA,CAAjB,uCAAA,mBAAmBvD,iBAAiB,KAAA,OAAA,KAAA,IAApC,qCAAA,IAAA,CAAA;IACF;IAEA,MAAMqE,KAAKC,QAAgB,EAAuC;QAChE,8DAA8D;QAC9D,yDAAyD;QACzD,MAAO,KAAM;YACX,MAAMD,OAAO,IAAI,CAACrC,KAAK,CAACvC,GAAG,CAAC6E;YAE5B,IAAItD,iBAAiBC,KAAK,EAAE;gBAC1B0B,QAAQC,GAAG,CAAC,8BAA8B0B,UAAU,CAAC,CAACD;YACxD;YAEA,kDAAkD;YAClD,IAAI,CAACA,MAAM;YAEX,gEAAgE;YAChE,MAAMA;QACR;QAEA,8DAA8D;QAC9D,+DAA+D;QAC/D,MAAM,EAAEE,OAAO,EAAEC,OAAO,EAAE,OAAGxG,kNAAAA;QAE7B,IAAIgD,iBAAiBC,KAAK,EAAE;YAC1B0B,QAAQC,GAAG,CAAC,yCAAyC0B;QACvD;QAEA,0CAA0C;QAC1C,IAAI,CAACtC,KAAK,CAACrC,GAAG,CAAC2E,UAAUE;QAEzB,OAAO;YACL,2CAA2C;YAC3CD;YAEA,sEAAsE;YACtE,wBAAwB;YACxB,IAAI,CAACvC,KAAK,CAACyC,MAAM,CAACH;QACpB;IACF;IAEA,MAAMzE,cACJ6E,IAAuB,EACvBC,SAA+B,EAChB;YACR;QAAP,OAAA,CAAO,qBAAA,IAAI,CAACpB,YAAY,KAAA,OAAA,KAAA,IAAjB,mBAAmB1D,aAAa,CAAC6E,MAAMC;IAChD;IAEA,MAAMC,uBAAuBC,KAAa,EAAmB;QAC3D,MAAM3E,cAAc4E,KAAKC,SAAS,CAAC;YACjChE;YACA,IAAI,CAACa,mBAAmB,IAAI;YAC5BiD;SACD;QAED,OAAO5E,WAAWC;IACpB;IAEA,8HAA8H;IAC9H,MAAM8E,iBACJC,GAAW,EACXC,OAA8B,CAAC,CAAC,EACf;QACjB,MAAMC,aAAuB,EAAE;QAE/B,MAAM7E,UAAU,IAAIC;QAEpB,mFAAmF;QACnF,IAAI6E,WAA0B;QAC9B,MAAMrG,OAAOmG,KAAKnG,IAAI;QACtB,IAAIA,MAAM;YACR,IAAID,mBAAmBC,OAAO;gBAC5BoG,WAAWE,IAAI,CAAC,CAAC,MAAM,EAAElH,MAAMY,OAAO;gBACpCmG,KAAaI,OAAO,GAAGvG;YAC3B,OAAO,IAAIC,qBAAqBD,OAAO;gBACrC,MAAMwG,eAAexG;gBAErB,MAAMyG,SAAuB,EAAE;gBAE/B,IAAI;oBACF,MAAMD,aAAaE,MAAM,CACvB,IAAIC,eAAe;wBACjBC,OAAMC,KAAK;4BACTJ,OAAOH,IAAI,CACT,OAAOO,UAAU,WAAWtF,QAAQE,MAAM,CAACoF,SAASA;wBAExD;oBACF;oBAGF,2CAA2C;oBAC3C,MAAMC,SAASL,OAAOM,MAAM,CAAC,CAACC,OAAOC,MAAQD,QAAQC,IAAIH,MAAM,EAAE;oBACjE,MAAMxG,cAAc,IAAId,WAAWsH;oBAEnC,qDAAqD;oBACrD,IAAII,SAAS;oBACb,KAAK,MAAML,SAASJ,OAAQ;wBAC1BnG,YAAYM,GAAG,CAACiG,OAAOK;wBACvBA,UAAUL,MAAMC,MAAM;oBACxB;oBAEAV,WAAWE,IAAI,CAAC,CAAC,MAAM,EAAElH,MAAMkB,cAAc;oBAC3C6F,KAAaI,OAAO,GAAGjG;gBAC3B,EAAE,OAAO6G,KAAK;oBACZvD,QAAQwD,KAAK,CAAC,wBAAwBD;gBACxC;YACF,OAAO,IAAIhH,gCAAgCH,OAAO;gBAChDqG,WACEgB,OAAOrH,UAAU,sBAEb,mCACA;gBACN,MAAMsH,WAAWtH;gBACfmG,KAAaI,OAAO,GAAGvG;gBACzB,uEAAuE;gBACvE,KAAK,MAAM,CAACuH,KAAKC,IAAI,IAAIF,SAASG,OAAO,GAAI;oBAC3CrB,WAAWE,IAAI,CAAC,CAAC,IAAI,EAAEiB,KAAK;oBAC5B,IAAI,OAAOC,QAAQ,UAAU;wBAC3BpB,WAAWE,IAAI,CAAC,CAAC,IAAI,EAAEkB,KAAK;oBAC9B,OAAO;wBACLpB,WAAWE,IAAI,CACb,QACAkB,IAAI1D,IAAI,EACR0D,IAAIE,IAAI,EACR,CAAC,MAAM,EAAEtI,MAAM,MAAMoI,IAAIlH,WAAW,KAAK;oBAE7C;gBACF;YACA,mBAAmB;YACrB,OAAO,IAAID,WAAWL,OAAO;gBAC3B,MAAM2H,OAAO3H;gBACb,MAAMM,cAAc,MAAMqH,KAAKrH,WAAW;gBAC1C8F,WAAWE,IAAI,CAAC,QAAQqB,KAAKD,IAAI,EAAE,CAAC,MAAM,EAAEtI,MAAMkB,cAAc;gBAC9D6F,KAAaI,OAAO,GAAG,IAAIqB,KAAK;oBAACtH;iBAAY,EAAE;oBAAEoH,MAAMC,KAAKD,IAAI;gBAAC;gBACnErB,WAAWsB,KAAKD,IAAI;YACtB,OAAO,IAAI,OAAO1H,SAAS,UAAU;gBACnCoG,WAAWE,IAAI,CAAC,CAAC,IAAI,EAAEtG,MAAM;gBAC3BmG,KAAaI,OAAO,GAAGvG;gBACzBqG,WAAW;YACb,OAAO;gBACLrG;gBACA,MAAM,IAAI6H,MAAM,CAAC,uBAAuB,EAAE,OAAO7H,MAAM;YACzD;QACF;QAEA,MAAM8H,UACJ,OAAQ3B,CAAAA,KAAK2B,OAAO,IAAI,CAAC,CAAA,EAAG1H,IAAI,KAAK,aACjC2H,OAAOC,WAAW,CAAC7B,KAAK2B,OAAO,IAC/BC,OAAOE,MAAM,CAAC,CAAC,GAA6B9B,KAAK2B,OAAO;QAE9D,wEAAwE;QACxE,uCAAuC;QACvC,IAAI,iBAAiBA,SAAS,OAAOA,OAAO,CAAC,cAAc;QAC3D,IAAI,gBAAgBA,SAAS,OAAOA,OAAO,CAAC,aAAa;QAEzD,MAAM3G,cAAc4E,KAAKC,SAAS,CAAC;YACjChE;YACA,IAAI,CAACa,mBAAmB,IAAI;YAC5BqD;YACAC,KAAK+B,MAAM;YACX,wDAAwD;YACxD,2EAA2E;YAC3E7B;YACAyB;YACA3B,KAAKgC,IAAI;YACThC,KAAKiC,QAAQ;YACbjC,KAAKkC,WAAW;YAChBlC,KAAKmC,QAAQ;YACbnC,KAAKoC,cAAc;YACnBpC,KAAKqC,SAAS;YACdrC,KAAKsC,KAAK;YACVrC;SACD;QAED,OAAOlF,WAAWC;IACpB;IAUA,MAAMT,IACJ6E,QAAgB,EAChBmD,GAGmC,EACI;YAqEf,oBAsEbC;QA1IX,IAAID,IAAIE,IAAI,KAAKvK,mMAAAA,CAAqBwK,KAAK,EAAE;YAC3C,MAAM,IAAI/J,4LAAAA,CAAe;QAC3B;QACA,wEAAwE;QACxE,0EAA0E;QAC1E,IAAI4J,IAAIE,IAAI,KAAKvK,mMAAAA,CAAqByK,KAAK,EAAE;YAC3C,MAAMC,gBAAgBlK,2SAAAA,CAAqBmK,QAAQ;YACnD,MAAMC,kBAAkBF,oBACpBnK,ySAAAA,EAAmBmK,iBACnB;YACJ,IAAIE,iBAAiB;gBACnB,MAAMC,kBAAkBD,gBAAgBE,KAAK,CAACzI,GAAG,CAAC6E;gBAClD,IAAI2D,CAAAA,mBAAAA,OAAAA,KAAAA,IAAAA,gBAAiBN,IAAI,MAAKtK,8LAAAA,CAAgBwK,KAAK,EAAE;oBACnD,0EAA0E;oBAC1E,yEAAyE;oBACzE,kCAAkC;oBAClC,MAAMM,YAAYpK,uRAAAA,CAAiBgK,QAAQ;oBAC3C,MAAMK,eAAe;2BAAKX,IAAI/C,IAAI,IAAI,EAAE;2BAAO+C,IAAIY,QAAQ,IAAI,EAAE;qBAAE;oBACnE,MAAMC,oBAAoBF,aAAaG,IAAI,CACzC,CAACC;4BACC,uBACAL;+BADA,CAAA,CAAA,wBAAA,IAAI,CAAC/E,eAAe,KAAA,OAAA,KAAA,IAApB,sBAAsBqF,QAAQ,CAACD,IAAAA,KAAAA,CAC/BL,aAAAA,OAAAA,KAAAA,IAAAA,CAAAA,oCAAAA,UAAWO,sBAAsB,KAAA,OAAA,KAAA,IAAjCP,kCAAmCI,IAAI,CACrC,CAACI,OAASA,KAAKH,GAAG,KAAKA,IAAAA;;oBAI7B,IAAIF,mBAAmB;wBACrB,IAAItH,iBAAiBC,KAAK,EAAE;4BAC1B0B,QAAQC,GAAG,CAAC,yCAAyC0B;wBACvD;oBACA,sCAAsC;oBACxC,OAAO;wBACL,IAAItD,iBAAiBC,KAAK,EAAE;4BAC1B0B,QAAQC,GAAG,CAAC,6BAA6B0B;wBAC3C;wBAEA,OAAO;4BAAEsE,SAAS;4BAAOC,OAAOZ;wBAAgB;oBAClD;gBACF,OAAO,IAAIjH,iBAAiBC,KAAK,EAAE;oBACjC0B,QAAQC,GAAG,CAAC,8BAA8B0B;gBAC5C;YACF,OAAO;gBACL,IAAItD,iBAAiBC,KAAK,EAAE;oBAC1B0B,QAAQC,GAAG,CAAC;gBACd;YACF;QACF;QAEA,oDAAoD;QACpD,+DAA+D;QAC/D,IACE,IAAI,CAACI,kBAAkB,IACtB,IAAI,CAAC5B,GAAG,IACNqG,CAAAA,IAAIE,IAAI,KAAKvK,mMAAAA,CAAqByK,KAAK,IACtC,IAAI,CAACrG,cAAc,CAAC,gBAAgB,KAAK,UAAS,GACtD;YACA,OAAO;QACT;QAEA,IAAIsH,aAAaxE;QACjB,IAAIyE,iBAAqDtB;QACzD,IAAIA,IAAIE,IAAI,KAAKvK,mMAAAA,CAAqByK,KAAK,EAAE;YAC3C,yEAAyE;YACzE,8DAA8D;YAC9D,MAAM,EAAEmB,KAAK,EAAE,GAAGC,iBAAiB,GAAGxB;YACtCqB,iBAAa5L,iMAAAA,EAAiBoH,UAAU0E;YACxCD,iBAAiBE;QACnB;QACA,MAAMvB,YAAY,MAAA,CAAA,CAAM,qBAAA,IAAI,CAACnE,YAAY,KAAA,OAAA,KAAA,IAAjB,mBAAmB9D,GAAG,CAACqJ,YAAYC,eAAAA;QAE3D,IAAItB,IAAIE,IAAI,KAAKvK,mMAAAA,CAAqByK,KAAK,EAAE;gBAKvCH;YAJJ,IAAI,CAACA,WAAW;gBACd,OAAO;YACT;YAEA,IAAIA,CAAAA,CAAAA,oBAAAA,UAAUmB,KAAK,KAAA,OAAA,KAAA,IAAfnB,kBAAiBC,IAAI,MAAKtK,8LAAAA,CAAgBwK,KAAK,EAAE;oBAE2DH;gBAD9G,MAAM,IAAI7J,4LAAAA,CACR,CAAC,oCAAoC,EAAEiH,KAAKC,SAAS,CAACT,UAAU,2BAA2B,EAAEQ,KAAKC,SAAS,CAAA,CAAC2C,oBAAAA,UAAUmB,KAAK,KAAA,OAAA,KAAA,IAAfnB,kBAAiBC,IAAI,EAAE,SAAS,CAAC;YAEjJ;YAEA,MAAMQ,YAAYpK,uRAAAA,CAAiBgK,QAAQ;YAC3C,MAAMK,eAAe;mBAAKX,IAAI/C,IAAI,IAAI,EAAE;mBAAO+C,IAAIY,QAAQ,IAAI,EAAE;aAAE;YACnE,sDAAsD;YACtD,IACED,aAAaG,IAAI,CACf,CAACC;oBACC,uBACAL;uBADA,CAAA,CAAA,wBAAA,IAAI,CAAC/E,eAAe,KAAA,OAAA,KAAA,IAApB,sBAAsBqF,QAAQ,CAACD,IAAAA,KAAAA,CAC/BL,aAAAA,OAAAA,KAAAA,IAAAA,CAAAA,oCAAAA,UAAWO,sBAAsB,KAAA,OAAA,KAAA,IAAjCP,kCAAmCI,IAAI,CAAC,CAACI,OAASA,KAAKH,GAAG,KAAKA,IAAAA;gBAEnE;gBACA,IAAIxH,iBAAiBC,KAAK,EAAE;oBAC1B0B,QAAQC,GAAG,CAAC,iCAAiC0B;gBAC/C;gBAEA,OAAO;YACT;YAEA,yEAAyE;YACzE,yEAAyE;YACzE,uEAAuE;YACvE,wEAAwE;YACxE,oDAAoD;YACpD,EAAE;YACF,0EAA0E;YAC1E,kEAAkE;YAClE,MAAMwD,gBAAgBlK,2SAAAA,CAAqBmK,QAAQ;YACnD,IAAID,eAAe;gBACjB,MAAME,sBAAkBrK,ySAAAA,EAAmBmK;gBAC3C,IAAIE,mBAAAA,OAAAA,KAAAA,IAAAA,gBAAiBkB,OAAO,EAAE;oBAC5B,IAAIlI,iBAAiBC,KAAK,EAAE;wBAC1B0B,QAAQC,GAAG,CAAC,6BAA6B0B;oBAC3C;oBAEA0D,gBAAgBE,KAAK,CAACvI,GAAG,CAAC2E,UAAUoD,UAAUmB,KAAK;gBACrD;YACF;YAEA,MAAM1E,aAAasD,IAAItD,UAAU,IAAIuD,UAAUmB,KAAK,CAAC1E,UAAU;YAC/D,MAAMgF,MACHpF,CAAAA,YAAYC,UAAU,GACrBD,YAAYE,GAAG,KACdyD,CAAAA,UAAU0B,YAAY,IAAI,CAAA,CAAC,IAC9B;YAEF,IAAIR,UAAUO,MAAMhF;YACpB,MAAMkF,OAAO3B,UAAUmB,KAAK,CAACQ,IAAI;YAEjC,QAAIpL,iSAAAA,EAAemK,cAAcV,UAAU0B,YAAY,GAAG;gBACxD,OAAO;YACT,OAAO,QAAIlL,+RAAAA,EAAakK,cAAcV,UAAU0B,YAAY,GAAG;gBAC7DR,UAAU;YACZ;YAEA,OAAO;gBACLA;gBACAC,OAAO;oBAAElB,MAAMtK,8LAAAA,CAAgBwK,KAAK;oBAAEwB;oBAAMlF;gBAAW;YACzD;QACF,OAAO,IAAIuD,CAAAA,aAAAA,OAAAA,KAAAA,IAAAA,CAAAA,mBAAAA,UAAWmB,KAAK,KAAA,OAAA,KAAA,IAAhBnB,iBAAkBC,IAAI,MAAKtK,8LAAAA,CAAgBwK,KAAK,EAAE;YAC3D,MAAM,IAAIhK,4LAAAA,CACR,CAAC,oCAAoC,EAAEiH,KAAKC,SAAS,CAACT,UAAU,aAAa,EAAEQ,KAAKC,SAAS,CAAC0C,IAAIE,IAAI,EAAE,2BAA2B,CAAC;QAExI;QAEA,IAAI2B,QAA8C;QAClD,MAAM,EAAE1F,UAAU,EAAE,GAAG6D;QACvB,IAAI/D,eAAe,IAAI,CAACP,aAAa,CAAC1D,GAAG,CAAC6E,UAAUmD,IAAIuB,KAAK;QAE7D,wEAAwE;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,IAAItB,aAAAA,OAAAA,KAAAA,IAAAA,UAAWhE,YAAY,EAAE;YAC3BA,eAAegE,UAAUhE,YAAY;YACrC,IAAI,CAACP,aAAa,CAACxD,GAAG,CAACmJ,YAAYpF;QACrC;QAEA,IAAIkF;QACJ,IAAIxE;QAEJ,IAAIsD,CAAAA,aAAAA,OAAAA,KAAAA,IAAAA,UAAW0B,YAAY,MAAK,CAAC,GAAG;YAClCR,UAAU,CAAC;YACXxE,kBAAkB,CAAC,IAAI7G,iLAAAA,GAAyB;QAClD,OAAO;YACL,MAAM0G,MAAMF,YAAYC,UAAU,GAAGD,YAAYE,GAAG;YACpD,MAAMmF,eAAe1B,CAAAA,aAAAA,OAAAA,KAAAA,IAAAA,UAAW0B,YAAY,KAAInF;YAEhDG,kBAAkB,IAAI,CAACX,mBAAmB,CACxCC,cACA0F,cACA,IAAI,CAAChI,GAAG,IAAI,OACZqG,IAAI7D,UAAU;YAGhB,yEAAyE;YACzE,wEAAwE;YACxE,0EAA0E;YAC1E,YAAY;YACZ,MAAM2F,cACJ,OAAA,CAAO7F,gBAAAA,OAAAA,KAAAA,IAAAA,aAAc8F,MAAM,MAAK,WAC5B9F,aAAa8F,MAAM,GAAG,OAAOJ,eAC7BK;YAEN,IAAIF,gBAAgBE,aAAaF,cAActF,KAAK;gBAClD2E,UAAU,CAAC;YACb,OAAO;oBAQFlB,mBACCA;gBARJkB,UACExE,oBAAoB,SAASA,kBAAkBH,MAAM,OAAOwF;gBAE9D,qEAAqE;gBACrE,mDAAmD;gBACnD,IACEb,YAAYa,aACX/B,CAAAA,CAAAA,aAAAA,OAAAA,KAAAA,IAAAA,CAAAA,oBAAAA,UAAWmB,KAAK,KAAA,OAAA,KAAA,IAAhBnB,kBAAkBC,IAAI,MAAKtK,8LAAAA,CAAgBqM,QAAQ,IAClDhC,CAAAA,aAAAA,OAAAA,KAAAA,IAAAA,CAAAA,oBAAAA,UAAWmB,KAAK,KAAA,OAAA,KAAA,IAAhBnB,kBAAkBC,IAAI,MAAKtK,8LAAAA,CAAgBsM,SAAQ,GACrD;wBACmBjC;oBAAnB,MAAMkC,aAAAA,CAAalC,2BAAAA,UAAUmB,KAAK,CAAChC,OAAO,KAAA,OAAA,KAAA,IAAvBa,wBAAyB,CAAClK,iLAAAA,CAAuB;oBAEpE,IAAI,OAAOoM,eAAe,UAAU;wBAClC,MAAMC,YAAYD,WAAWE,KAAK,CAAC;wBAEnC,IAAID,UAAUhE,MAAM,GAAG,GAAG;4BACxB,QAAI5H,iSAAAA,EAAe4L,WAAWT,eAAe;gCAC3CR,UAAU,CAAC;4BACb,OAAO,QAAI1K,+RAAAA,EAAa2L,WAAWT,eAAe;gCAChDR,UAAU;4BACZ;wBACF;oBACF;gBACF;YACF;QACF;QAEA,IAAIlB,WAAW;YACb4B,QAAQ;gBACNV;gBACAlF;gBACAU;gBACAyE,OAAOnB,UAAUmB,KAAK;gBACtBjF;YACF;QACF;QAEA,IACE,CAAC8D,aACD,IAAI,CAAC/F,iBAAiB,CAACoI,cAAc,CAACtB,QAAQ,CAACnE,iBAC/CnH,kMAAAA,EACEmH,UACAmD,IAAIuB,KAAK,EACT,IAAI,CAACrH,iBAAiB,CAACqI,MAAM,CAAC1F,SAAS,EACvC,IAAI,CAACvC,OAAO,GAEd;YACA,wDAAwD;YACxD,kDAAkD;YAClD,wDAAwD;YACxD,yDAAyD;YACzD,qCAAqC;YACrCuH,QAAQ;gBACNV;gBACAC,OAAO;gBACPnF;gBACAU;gBACAR;YACF;YACA,IAAI,CAACjE,GAAG,CAAC2E,UAAUgF,MAAMT,KAAK,EAAE;gBAAE,GAAGpB,GAAG;gBAAE/D;YAAa;QACzD;QACA,OAAO4F;IACT;IAYA,MAAM3J,IACJsK,QAAgB,EAChBZ,IAAkC,EAClC5B,GAGmC,EACpB;QACf,IAAI,UAAUA,OAAOA,IAAIE,IAAI,KAAKvK,mMAAAA,CAAqBwK,KAAK,EAAE;YAC5D,MAAM,IAAI/J,4LAAAA,CAAe;QAC3B;QACA,2EAA2E;QAC3E,2EAA2E;QAC3E,mEAAmE;QACnE,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAIwL,CAAAA,QAAAA,OAAAA,KAAAA,IAAAA,KAAM1B,IAAI,MAAKtK,8LAAAA,CAAgBwK,KAAK,EAAE;YACxC,MAAMC,gBAAgBlK,2SAAAA,CAAqBmK,QAAQ;YACnD,MAAMC,kBAAkBF,oBACpBnK,ySAAAA,EAAmBmK,iBACnB;YACJ,IAAIE,mBAAAA,OAAAA,KAAAA,IAAAA,gBAAiBkB,OAAO,EAAE;gBAC5B,IAAIlI,iBAAiBC,KAAK,EAAE;oBAC1B0B,QAAQC,GAAG,CAAC,6BAA6BqH;gBAC3C;gBAEAjC,gBAAgBE,KAAK,CAACvI,GAAG,CAACsK,UAAUZ;YACtC;QACF;QAEA,IAAI,IAAI,CAACrG,kBAAkB,IAAK,IAAI,CAAC5B,GAAG,IAAI,CAACqG,IAAIyC,UAAU,EAAG;QAE9D,IAAIpB,aAAamB;QACjB,IAAIlB,iBAAqDtB;QACzD,IAAI,CAACA,IAAIyC,UAAU,EAAE;YACnB,MAAM,EAAElB,KAAK,EAAE,GAAGC,iBAAiB,GAAGxB;YACtC,IAAI,CAACuB,OAAO;gBACV,MAAM,IAAInL,4LAAAA,CAAe;YAC3B;YACAiL,iBAAa5L,iMAAAA,EAAiB+M,UAAUjB;YACxCD,iBAAiBE;QACnB;QAEA,wDAAwD;QACxD,MAAMkB,WAAWrF,KAAKC,SAAS,CAACsE,MAAMxD,MAAM;QAC5C,IACE4B,IAAIyC,UAAU,IACdC,WAAW,IAAI,OAAO,QACtB,0EAA0E;QAC1E,4BAA4B;QAC5B,CAAC,IAAI,CAACjI,qBAAqB,IAC3B,sEAAsE;QACtE,6CAA6C;QAC7C,CAACuF,IAAI2C,wBAAwB,EAC7B;YACA,MAAMC,cAAc,CAAC,qCAAqC,EAAE5C,IAAI6C,QAAQ,IAAIL,SAAS,oCAAoC,EAAEE,SAAS,OAAO,CAAC;YAE5I,IAAI,IAAI,CAAC/I,GAAG,EAAE;gBACZ,MAAM,IAAIwF,MAAMyD;YAClB;YACA1H,QAAQ4H,IAAI,CAACF;YACb;QACF;QAEA,IAAI;gBAKI;YAJN,IAAI,CAAC5C,IAAIyC,UAAU,IAAIzC,IAAI/D,YAAY,EAAE;gBACvC,IAAI,CAACP,aAAa,CAACxD,GAAG,CAACmJ,YAAYrB,IAAI/D,YAAY;YACrD;YAEA,MAAA,CAAA,CAAM,qBAAA,IAAI,CAACH,YAAY,KAAA,OAAA,KAAA,IAAjB,mBAAmB5D,GAAG,CAACmJ,YAAYO,MAAMN,eAAAA;QACjD,EAAE,OAAO5C,OAAO;YACdxD,QAAQ4H,IAAI,CAAC,wCAAwCN,UAAU9D;QACjE;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 3856, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/is-rsc-request.ts"],"sourcesContent":["/**\n * Normalizes the raw RSC header value. Only the literal string \"1\" is treated\n * as a valid RSC request marker; malformed or repeated values are ignored.\n */\nexport function isRSCRequestHeader(\n value: string | string[] | null | undefined\n): boolean {\n return value === '1'\n}\n"],"names":["isRSCRequestHeader","value"],"mappings":"AAAA;;;CAGC,GACD;;;;AAAO,SAASA,mBACdC,KAA2C;IAE3C,OAAOA,UAAU;AACnB","ignoreList":[0]}}, + {"offset": {"line": 3870, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/lazy-result.ts"],"sourcesContent":["export type LazyResult = PromiseLike & { value?: TValue }\nexport type ResolvedLazyResult = PromiseLike & { value: TValue }\n\n/**\n * Calls the given function only when the returned promise-like object is\n * awaited. Afterwards, it provides the resolved value synchronously as `value`\n * property.\n */\nexport function createLazyResult(\n fn: () => Promise | TValue\n): LazyResult {\n let pendingResult: Promise | undefined\n\n const result: LazyResult = {\n then(onfulfilled, onrejected) {\n if (!pendingResult) {\n pendingResult = Promise.resolve(fn())\n }\n\n pendingResult\n .then((value) => {\n result.value = value\n })\n .catch(() => {\n // The externally awaited result will be rejected via `onrejected`. We\n // don't need to handle it here. But we do want to avoid an unhandled\n // rejection.\n })\n\n return pendingResult.then(onfulfilled, onrejected)\n },\n }\n\n return result\n}\n\nexport function isResolvedLazyResult(\n result: LazyResult\n): result is ResolvedLazyResult {\n return result.hasOwnProperty('value')\n}\n"],"names":["createLazyResult","fn","pendingResult","result","then","onfulfilled","onrejected","Promise","resolve","value","catch","isResolvedLazyResult","hasOwnProperty"],"mappings":"AAGA;;;;CAIC,GACD;;;;;;AAAO,SAASA,iBACdC,EAAkC;IAElC,IAAIC;IAEJ,MAAMC,SAA6B;QACjCC,MAAKC,WAAW,EAAEC,UAAU;YAC1B,IAAI,CAACJ,eAAe;gBAClBA,gBAAgBK,QAAQC,OAAO,CAACP;YAClC;YAEAC,cACGE,IAAI,CAAC,CAACK;gBACLN,OAAOM,KAAK,GAAGA;YACjB,GACCC,KAAK,CAAC;YACL,sEAAsE;YACtE,qEAAqE;YACrE,aAAa;YACf;YAEF,OAAOR,cAAcE,IAAI,CAACC,aAAaC;QACzC;IACF;IAEA,OAAOH;AACT;AAEO,SAASQ,qBACdR,MAA0B;IAE1B,OAAOA,OAAOS,cAAc,CAAC;AAC/B","ignoreList":[0]}}, + {"offset": {"line": 3906, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/lru-cache.ts"],"sourcesContent":["/**\n * Node in the doubly-linked list used for LRU tracking.\n * Each node represents a cache entry with bidirectional pointers.\n */\nclass LRUNode {\n public readonly key: string\n public data: T\n public size: number\n public prev: LRUNode | SentinelNode | null = null\n public next: LRUNode | SentinelNode | null = null\n\n constructor(key: string, data: T, size: number) {\n this.key = key\n this.data = data\n this.size = size\n }\n}\n\n/**\n * Sentinel node used for head/tail boundaries.\n * These nodes don't contain actual cache data but simplify list operations.\n */\nclass SentinelNode {\n public prev: LRUNode | SentinelNode | null = null\n public next: LRUNode | SentinelNode | null = null\n}\n\n/**\n * LRU (Least Recently Used) Cache implementation using a doubly-linked list\n * and hash map for O(1) operations.\n *\n * Algorithm:\n * - Uses a doubly-linked list to maintain access order (most recent at head)\n * - Hash map provides O(1) key-to-node lookup\n * - Sentinel head/tail nodes simplify edge case handling\n * - Size-based eviction supports custom size calculation functions\n *\n * Data Structure Layout:\n * HEAD <-> [most recent] <-> ... <-> [least recent] <-> TAIL\n *\n * Operations:\n * - get(): Move accessed node to head (mark as most recent)\n * - set(): Add new node at head, evict from tail if over capacity\n * - Eviction: Remove least recent node (tail.prev) when size exceeds limit\n */\nexport class LRUCache {\n private readonly cache: Map> = new Map()\n private readonly head: SentinelNode\n private readonly tail: SentinelNode\n private totalSize: number = 0\n private readonly maxSize: number\n private readonly calculateSize:\n | ((value: T, key: string) => number)\n | undefined\n private readonly onEvict: ((key: string, value: T) => void) | undefined\n\n constructor(\n maxSize: number,\n calculateSize?: (value: T, key: string) => number,\n onEvict?: (key: string, value: T) => void\n ) {\n this.maxSize = maxSize\n this.calculateSize = calculateSize\n this.onEvict = onEvict\n\n // Create sentinel nodes to simplify doubly-linked list operations\n // HEAD <-> TAIL (empty list)\n this.head = new SentinelNode()\n this.tail = new SentinelNode()\n this.head.next = this.tail\n this.tail.prev = this.head\n }\n\n /**\n * Adds a node immediately after the head (marks as most recently used).\n * Used when inserting new items or when an item is accessed.\n * PRECONDITION: node must be disconnected (prev/next should be null)\n */\n private addToHead(node: LRUNode): void {\n node.prev = this.head\n node.next = this.head.next\n // head.next is always non-null (points to tail or another node)\n this.head.next!.prev = node\n this.head.next = node\n }\n\n /**\n * Removes a node from its current position in the doubly-linked list.\n * Updates the prev/next pointers of adjacent nodes to maintain list integrity.\n * PRECONDITION: node must be connected (prev/next are non-null)\n */\n private removeNode(node: LRUNode): void {\n // Connected nodes always have non-null prev/next\n node.prev!.next = node.next\n node.next!.prev = node.prev\n }\n\n /**\n * Moves an existing node to the head position (marks as most recently used).\n * This is the core LRU operation - accessed items become most recent.\n */\n private moveToHead(node: LRUNode): void {\n this.removeNode(node)\n this.addToHead(node)\n }\n\n /**\n * Removes and returns the least recently used node (the one before tail).\n * This is called during eviction when the cache exceeds capacity.\n * PRECONDITION: cache is not empty (ensured by caller)\n */\n private removeTail(): LRUNode {\n const lastNode = this.tail.prev as LRUNode\n // tail.prev is always non-null and always LRUNode when cache is not empty\n this.removeNode(lastNode)\n return lastNode\n }\n\n /**\n * Sets a key-value pair in the cache.\n * If the key exists, updates the value and moves to head.\n * If new, adds at head and evicts from tail if necessary.\n *\n * Time Complexity:\n * - O(1) for uniform item sizes\n * - O(k) where k is the number of items evicted (can be O(N) for variable sizes)\n */\n public set(key: string, value: T): boolean {\n const size = this.calculateSize?.(value, key) ?? 1\n if (size <= 0) {\n throw new Error(\n `LRUCache: calculateSize returned ${size}, but size must be > 0. ` +\n `Items with size 0 would never be evicted, causing unbounded cache growth.`\n )\n }\n if (size > this.maxSize) {\n console.warn('Single item size exceeds maxSize')\n return false\n }\n\n const existing = this.cache.get(key)\n if (existing) {\n // Update existing node: adjust size and move to head (most recent)\n existing.data = value\n this.totalSize = this.totalSize - existing.size + size\n existing.size = size\n this.moveToHead(existing)\n } else {\n // Add new node at head (most recent position)\n const newNode = new LRUNode(key, value, size)\n this.cache.set(key, newNode)\n this.addToHead(newNode)\n this.totalSize += size\n }\n\n // Evict least recently used items until under capacity\n while (this.totalSize > this.maxSize && this.cache.size > 0) {\n const tail = this.removeTail()\n this.cache.delete(tail.key)\n this.totalSize -= tail.size\n this.onEvict?.(tail.key, tail.data)\n }\n\n return true\n }\n\n /**\n * Checks if a key exists in the cache.\n * This is a pure query operation - does NOT update LRU order.\n *\n * Time Complexity: O(1)\n */\n public has(key: string): boolean {\n return this.cache.has(key)\n }\n\n /**\n * Retrieves a value by key and marks it as most recently used.\n * Moving to head maintains the LRU property for future evictions.\n *\n * Time Complexity: O(1)\n */\n public get(key: string): T | undefined {\n const node = this.cache.get(key)\n if (!node) return undefined\n\n // Mark as most recently used by moving to head\n this.moveToHead(node)\n\n return node.data\n }\n\n /**\n * Returns an iterator over the cache entries. The order is outputted in the\n * order of most recently used to least recently used.\n */\n public *[Symbol.iterator](): IterableIterator<[string, T]> {\n let current = this.head.next\n while (current && current !== this.tail) {\n // Between head and tail, current is always LRUNode\n const node = current as LRUNode\n yield [node.key, node.data]\n current = current.next\n }\n }\n\n /**\n * Removes a specific key from the cache.\n * Updates both the hash map and doubly-linked list.\n *\n * Note: This is an explicit removal and does NOT trigger the `onEvict`\n * callback. Use this for intentional deletions where eviction tracking\n * is not needed.\n *\n * Time Complexity: O(1)\n */\n public remove(key: string): void {\n const node = this.cache.get(key)\n if (!node) return\n\n this.removeNode(node)\n this.cache.delete(key)\n this.totalSize -= node.size\n }\n\n /**\n * Returns the number of items in the cache.\n */\n public get size(): number {\n return this.cache.size\n }\n\n /**\n * Returns the current total size of all cached items.\n * This uses the custom size calculation if provided.\n */\n public get currentSize(): number {\n return this.totalSize\n }\n}\n"],"names":["LRUNode","constructor","key","data","size","prev","next","SentinelNode","LRUCache","maxSize","calculateSize","onEvict","cache","Map","totalSize","head","tail","addToHead","node","removeNode","moveToHead","removeTail","lastNode","set","value","Error","console","warn","existing","get","newNode","delete","has","undefined","Symbol","iterator","current","remove","currentSize"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 4089, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/route-cache-key.ts"],"sourcesContent":["import type { RouteDefinition } from '../route-definitions/route-definition'\nimport type {\n DynamicPrerenderManifestRoute,\n PrerenderManifestRoute,\n} from '../../build'\nimport { normalizePagePath } from '../../shared/lib/page-path/normalize-page-path'\nimport { normalizeLocalePath } from '../../shared/lib/i18n/normalize-locale-path'\nimport { InvariantError } from '../../shared/lib/invariant-error'\nimport { AppPathnameNormalizer } from '../normalizers/built/app/app-pathname-normalizer'\nimport { RouteKind } from '../route-kind'\n\nexport const ROUTE_CACHE_DIRECTORY = 'route-cache'\n\nexport type ResponseCacheOwner = {\n readonly kind: RouteKind\n /** Canonical Pages pathname or full App module name, including groups and slots. */\n readonly sourceRoute: string\n}\n\nconst appPathnameNormalizer = new AppPathnameNormalizer()\n\n/** Convert a runtime route definition to the identity used by response caches. */\nexport function getResponseCacheOwner(\n definition: Pick\n): ResponseCacheOwner {\n return {\n kind: definition.kind,\n // Pages module names can include a trailing /index in Turbopack. Their\n // pathname matches the manifest's source in both bundlers. App modules\n // retain groups and parallel slots in their cache identity.\n sourceRoute:\n definition.kind === RouteKind.PAGES\n ? definition.pathname\n : definition.page,\n }\n}\n\n/**\n * Prerender metadata already identifies its source route. Compare that source\n * with the selected module before using its metadata, including negative\n * entries and partially specialized fallback shells. Cache storage continues\n * to use the full module identity, including groups and parallel slots.\n */\nexport function isRouteCacheOwner(\n pathname: string,\n owner: ResponseCacheOwner,\n prerender:\n | Pick\n | Pick\n | undefined,\n locales?: readonly string[]\n): boolean {\n if (!prerender) {\n return false\n }\n\n // Pages have JSON data routes, App Pages have RSC data routes, and App\n // Route Handlers have no separate data route.\n const kind =\n prerender.dataRoute === null\n ? RouteKind.APP_ROUTE\n : prerender.dataRoute.endsWith('.json')\n ? RouteKind.PAGES\n : prerender.dataRoute.endsWith('.rsc')\n ? RouteKind.APP_PAGE\n : undefined\n if (kind !== owner.kind) {\n return false\n }\n\n const source =\n 'srcRoute' in prerender ? prerender.srcRoute : prerender.fallbackSourceRoute\n const prerenderOwner =\n source ??\n (kind === RouteKind.PAGES\n ? normalizeLocalePath(pathname, locales).pathname\n : pathname)\n\n return (\n prerenderOwner ===\n (kind === RouteKind.PAGES\n ? owner.sourceRoute\n : appPathnameNormalizer.normalize(owner.sourceRoute))\n )\n}\n\n/**\n * Response keys are opaque to cache handlers. Hash the source route into one\n * fixed-length directory, preserving App groups and slots without expanding\n * Unicode names or repeating the source directory hierarchy on disk. The\n * pathname stays readable and is normalized exactly once before namespacing.\n */\nexport function getRouteCacheKey(\n pathname: string,\n owner: ResponseCacheOwner\n): string {\n if (!owner) {\n throw new InvariantError('Response cache requires a source route')\n }\n const { sourceRoute } = owner\n let source: string\n if (process.env.NEXT_RUNTIME === 'edge') {\n const sha256 =\n require('next/dist/compiled/hash.js/sha256') as typeof import('next/dist/compiled/hash.js/sha256')\n source = sha256()\n .update(new TextEncoder().encode(sourceRoute))\n .digest('hex')\n } else {\n const { createHash } = require('crypto') as typeof import('crypto')\n source = createHash('sha256').update(sourceRoute).digest('hex')\n }\n return `/${ROUTE_CACHE_DIRECTORY}/${owner.kind}/${source}/$${normalizePagePath(pathname)}`\n}\n"],"names":["normalizePagePath","normalizeLocalePath","InvariantError","AppPathnameNormalizer","RouteKind","ROUTE_CACHE_DIRECTORY","appPathnameNormalizer","getResponseCacheOwner","definition","kind","sourceRoute","PAGES","pathname","page","isRouteCacheOwner","owner","prerender","locales","dataRoute","APP_ROUTE","endsWith","APP_PAGE","undefined","source","srcRoute","fallbackSourceRoute","prerenderOwner","normalize","getRouteCacheKey","process","env","NEXT_RUNTIME","sha256","require","update","TextEncoder","encode","digest","createHash"],"mappings":";;;;;;;;;;AAKA,SAASA,iBAAiB,QAAQ,iDAAgD;AAClF,SAASC,mBAAmB,QAAQ,8CAA6C;AACjF,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,qBAAqB,QAAQ,mDAAkD;AACxF,SAASC,SAAS,QAAQ,gBAAe;;;;;;AAElC,MAAMC,wBAAwB,cAAa;AAQlD,MAAMC,wBAAwB,IAAIH,sOAAAA;AAG3B,SAASI,sBACdC,UAA+D;IAE/D,OAAO;QACLC,MAAMD,WAAWC,IAAI;QACrB,uEAAuE;QACvE,uEAAuE;QACvE,4DAA4D;QAC5DC,aACEF,WAAWC,IAAI,KAAKL,2KAAAA,CAAUO,KAAK,GAC/BH,WAAWI,QAAQ,GACnBJ,WAAWK,IAAI;IACvB;AACF;AAQO,SAASC,kBACdF,QAAgB,EAChBG,KAAyB,EACzBC,SAGa,EACbC,OAA2B;IAE3B,IAAI,CAACD,WAAW;QACd,OAAO;IACT;IAEA,uEAAuE;IACvE,8CAA8C;IAC9C,MAAMP,OACJO,UAAUE,SAAS,KAAK,OACpBd,2KAAAA,CAAUe,SAAS,GACnBH,UAAUE,SAAS,CAACE,QAAQ,CAAC,WAC3BhB,2KAAAA,CAAUO,KAAK,GACfK,UAAUE,SAAS,CAACE,QAAQ,CAAC,UAC3BhB,2KAAAA,CAAUiB,QAAQ,GAClBC;IACV,IAAIb,SAASM,MAAMN,IAAI,EAAE;QACvB,OAAO;IACT;IAEA,MAAMc,SACJ,cAAcP,YAAYA,UAAUQ,QAAQ,GAAGR,UAAUS,mBAAmB;IAC9E,MAAMC,iBACJH,UACCd,CAAAA,SAASL,2KAAAA,CAAUO,KAAK,OACrBV,kNAAAA,EAAoBW,UAAUK,SAASL,QAAQ,GAC/CA,QAAO;IAEb,OACEc,mBACCjB,CAAAA,SAASL,2KAAAA,CAAUO,KAAK,GACrBI,MAAML,WAAW,GACjBJ,sBAAsBqB,SAAS,CAACZ,MAAML,WAAW,CAAA;AAEzD;AAQO,SAASkB,iBACdhB,QAAgB,EAChBG,KAAyB;IAEzB,IAAI,CAACA,OAAO;QACV,MAAM,IAAIb,4LAAAA,CAAe;IAC3B;IACA,MAAM,EAAEQ,WAAW,EAAE,GAAGK;IACxB,IAAIQ;IACJ,IAAIM,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;SAMlC;QACL,MAAM,EAAEO,UAAU,EAAE,GAAGL,QAAQ;QAC/BV,SAASe,WAAW,UAAUJ,MAAM,CAACxB,aAAa2B,MAAM,CAAC;IAC3D;IACA,OAAO,CAAC,CAAC,EAAEhC,sBAAsB,CAAC,EAAEU,MAAMN,IAAI,CAAC,CAAC,EAAEc,OAAO,EAAE,MAAEvB,sNAAAA,EAAkBY,WAAW;AAC5F","ignoreList":[0]}}, + {"offset": {"line": 4152, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/trace/constants.ts"],"sourcesContent":["/**\n * Contains predefined constants for the trace span name in next/server.\n *\n * Currently, next/server/tracer is internal implementation only for tracking\n * next.js's implementation only with known span names defined here.\n **/\n\n// eslint typescript has a bug with TS enums\n\nenum BaseServerSpan {\n handleRequest = 'BaseServer.handleRequest',\n run = 'BaseServer.run',\n pipe = 'BaseServer.pipe',\n getStaticHTML = 'BaseServer.getStaticHTML',\n render = 'BaseServer.render',\n renderToResponseWithComponents = 'BaseServer.renderToResponseWithComponents',\n renderToResponse = 'BaseServer.renderToResponse',\n renderToHTML = 'BaseServer.renderToHTML',\n renderError = 'BaseServer.renderError',\n renderErrorToResponse = 'BaseServer.renderErrorToResponse',\n renderErrorToHTML = 'BaseServer.renderErrorToHTML',\n render404 = 'BaseServer.render404',\n}\n\nenum LoadComponentsSpan {\n loadDefaultErrorComponents = 'LoadComponents.loadDefaultErrorComponents',\n loadComponents = 'LoadComponents.loadComponents',\n loadRouteModule = 'LoadComponents.loadRouteModule',\n}\n\nenum InstrumentationSpan {\n loadModule = 'Instrumentation.loadModule',\n register = 'Instrumentation.register',\n}\n\nenum NextServerSpan {\n getRequestHandler = 'NextServer.getRequestHandler',\n getRequestHandlerWithMetadata = 'NextServer.getRequestHandlerWithMetadata',\n getServer = 'NextServer.getServer',\n getServerRequestHandler = 'NextServer.getServerRequestHandler',\n createServer = 'createServer.createServer',\n}\n\nenum NextNodeServerSpan {\n compression = 'NextNodeServer.compression',\n getBuildId = 'NextNodeServer.getBuildId',\n createComponentTree = 'NextNodeServer.createComponentTree',\n clientComponentLoading = 'NextNodeServer.clientComponentLoading',\n getLayoutOrPageModule = 'NextNodeServer.getLayoutOrPageModule',\n generateStaticRoutes = 'NextNodeServer.generateStaticRoutes',\n generateFsStaticRoutes = 'NextNodeServer.generateFsStaticRoutes',\n generatePublicRoutes = 'NextNodeServer.generatePublicRoutes',\n generateImageRoutes = 'NextNodeServer.generateImageRoutes.route',\n sendRenderResult = 'NextNodeServer.sendRenderResult',\n proxyRequest = 'NextNodeServer.proxyRequest',\n runApi = 'NextNodeServer.runApi',\n render = 'NextNodeServer.render',\n renderHTML = 'NextNodeServer.renderHTML',\n imageOptimizer = 'NextNodeServer.imageOptimizer',\n getPagePath = 'NextNodeServer.getPagePath',\n getRoutesManifest = 'NextNodeServer.getRoutesManifest',\n findPageComponents = 'NextNodeServer.findPageComponents',\n getFontManifest = 'NextNodeServer.getFontManifest',\n getServerComponentManifest = 'NextNodeServer.getServerComponentManifest',\n getRequestHandler = 'NextNodeServer.getRequestHandler',\n renderToHTML = 'NextNodeServer.renderToHTML',\n renderError = 'NextNodeServer.renderError',\n renderErrorToHTML = 'NextNodeServer.renderErrorToHTML',\n render404 = 'NextNodeServer.render404',\n startResponse = 'NextNodeServer.startResponse',\n\n // nested inner span, does not require parent scope name\n route = 'route',\n onProxyReq = 'onProxyReq',\n apiResolver = 'apiResolver',\n internalFetch = 'internalFetch',\n}\n\nenum StartServerSpan {\n startServer = 'startServer.startServer',\n}\n\nenum RenderSpan {\n getServerSideProps = 'Render.getServerSideProps',\n getStaticProps = 'Render.getStaticProps',\n renderToString = 'Render.renderToString',\n renderDocument = 'Render.renderDocument',\n createBodyResult = 'Render.createBodyResult',\n}\n\nenum AppRenderSpan {\n renderToString = 'AppRender.renderToString',\n renderToReadableStream = 'AppRender.renderToReadableStream',\n getBodyResult = 'AppRender.getBodyResult',\n fetch = 'AppRender.fetch',\n waitShellReady = 'AppRender.waitShellReady',\n renderToNodeFizzStream = 'AppRender.renderToNodeFizzStream',\n instantInsights = 'AppRender.instantInsights',\n instantInsightsPrepareValidation = 'AppRender.instantInsights.prepareValidation',\n instantInsightsRunValidation = 'AppRender.instantInsights.runValidation',\n}\n\nenum DevBundlerServiceSpan {\n ensurePage = 'DevBundlerService.ensurePage',\n}\n\nenum RouterSpan {\n executeRoute = 'Router.executeRoute',\n}\n\nenum NodeSpan {\n runHandler = 'Node.runHandler',\n}\n\nenum AppRouteRouteHandlersSpan {\n runHandler = 'AppRouteRouteHandlers.runHandler',\n}\n\nenum AppRouteRouteModuleSpan {\n loadUserland = 'AppRouteRouteModule.loadUserland',\n}\n\nenum RouteModuleSpan {\n prepare = 'RouteModule.prepare',\n loadManifests = 'RouteModule.loadManifests',\n}\nenum ResolveMetadataSpan {\n generateMetadata = 'ResolveMetadata.generateMetadata',\n generateViewport = 'ResolveMetadata.generateViewport',\n}\n\nenum MiddlewareSpan {\n execute = 'Middleware.execute',\n}\n\ntype SpanTypes =\n | `${BaseServerSpan}`\n | `${LoadComponentsSpan}`\n | `${InstrumentationSpan}`\n | `${NextServerSpan}`\n | `${StartServerSpan}`\n | `${NextNodeServerSpan}`\n | `${RenderSpan}`\n | `${RouterSpan}`\n | `${AppRenderSpan}`\n | `${DevBundlerServiceSpan}`\n | `${NodeSpan}`\n | `${AppRouteRouteHandlersSpan}`\n | `${AppRouteRouteModuleSpan}`\n | `${RouteModuleSpan}`\n | `${ResolveMetadataSpan}`\n | `${MiddlewareSpan}`\n\n// This list is used to filter out spans that are not relevant to the user\nexport const NextVanillaSpanAllowlist = new Set([\n MiddlewareSpan.execute,\n BaseServerSpan.handleRequest,\n RenderSpan.getServerSideProps,\n RenderSpan.getStaticProps,\n AppRenderSpan.fetch,\n AppRenderSpan.getBodyResult,\n LoadComponentsSpan.loadRouteModule,\n RenderSpan.renderDocument,\n NodeSpan.runHandler,\n AppRouteRouteHandlersSpan.runHandler,\n AppRouteRouteModuleSpan.loadUserland,\n RouteModuleSpan.prepare,\n InstrumentationSpan.loadModule,\n InstrumentationSpan.register,\n ResolveMetadataSpan.generateMetadata,\n ResolveMetadataSpan.generateViewport,\n NextNodeServerSpan.createComponentTree,\n NextNodeServerSpan.findPageComponents,\n NextNodeServerSpan.getLayoutOrPageModule,\n NextNodeServerSpan.startResponse,\n NextNodeServerSpan.clientComponentLoading,\n])\n\n// These Spans are allowed to be always logged\n// when the otel log prefix env is set\nexport const LogSpanAllowList = new Set([\n NextNodeServerSpan.findPageComponents,\n NextNodeServerSpan.createComponentTree,\n NextNodeServerSpan.clientComponentLoading,\n])\n\nexport {\n BaseServerSpan,\n LoadComponentsSpan,\n InstrumentationSpan,\n NextServerSpan,\n NextNodeServerSpan,\n StartServerSpan,\n RenderSpan,\n RouterSpan,\n AppRenderSpan,\n DevBundlerServiceSpan,\n NodeSpan,\n AppRouteRouteHandlersSpan,\n AppRouteRouteModuleSpan,\n RouteModuleSpan,\n ResolveMetadataSpan,\n MiddlewareSpan,\n}\n\nexport type { SpanTypes }\n"],"names":["BaseServerSpan","LoadComponentsSpan","InstrumentationSpan","NextServerSpan","NextNodeServerSpan","StartServerSpan","RenderSpan","AppRenderSpan","DevBundlerServiceSpan","RouterSpan","NodeSpan","AppRouteRouteHandlersSpan","AppRouteRouteModuleSpan","RouteModuleSpan","ResolveMetadataSpan","MiddlewareSpan","NextVanillaSpanAllowlist","Set","LogSpanAllowList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;EAKE,GAEF,4CAA4C;AAE5C,IAAKA,iBAAAA,WAAAA,GAAAA,SAAAA,cAAAA;;;;;;;;;;;;;WAAAA;EAAAA,kBAAAA,CAAAA;AAeL,IAAKC,qBAAAA,WAAAA,GAAAA,SAAAA,kBAAAA;;;;WAAAA;EAAAA,sBAAAA,CAAAA;AAML,IAAKC,sBAAAA,WAAAA,GAAAA,SAAAA,mBAAAA;;;WAAAA;EAAAA,uBAAAA,CAAAA;AAKL,IAAKC,iBAAAA,WAAAA,GAAAA,SAAAA,cAAAA;;;;;;WAAAA;EAAAA,kBAAAA,CAAAA;AAQL,IAAKC,qBAAAA,WAAAA,GAAAA,SAAAA,kBAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BH,wDAAwD;;;;;WA5BrDA;EAAAA,sBAAAA,CAAAA;AAmCL,IAAKC,kBAAAA,WAAAA,GAAAA,SAAAA,eAAAA;;WAAAA;EAAAA,mBAAAA,CAAAA;AAIL,IAAKC,aAAAA,WAAAA,GAAAA,SAAAA,UAAAA;;;;;;WAAAA;EAAAA,cAAAA,CAAAA;AAQL,IAAKC,gBAAAA,WAAAA,GAAAA,SAAAA,aAAAA;;;;;;;;;;WAAAA;EAAAA,iBAAAA,CAAAA;AAYL,IAAKC,wBAAAA,WAAAA,GAAAA,SAAAA,qBAAAA;;WAAAA;EAAAA,yBAAAA,CAAAA;AAIL,IAAKC,aAAAA,WAAAA,GAAAA,SAAAA,UAAAA;;WAAAA;EAAAA,cAAAA,CAAAA;AAIL,IAAKC,WAAAA,WAAAA,GAAAA,SAAAA,QAAAA;;WAAAA;EAAAA,YAAAA,CAAAA;AAIL,IAAKC,4BAAAA,WAAAA,GAAAA,SAAAA,yBAAAA;;WAAAA;EAAAA,6BAAAA,CAAAA;AAIL,IAAKC,0BAAAA,WAAAA,GAAAA,SAAAA,uBAAAA;;WAAAA;EAAAA,2BAAAA,CAAAA;AAIL,IAAKC,kBAAAA,WAAAA,GAAAA,SAAAA,eAAAA;;;WAAAA;EAAAA,mBAAAA,CAAAA;AAIL,IAAKC,sBAAAA,WAAAA,GAAAA,SAAAA,mBAAAA;;;WAAAA;EAAAA,uBAAAA,CAAAA;AAKL,IAAKC,iBAAAA,WAAAA,GAAAA,SAAAA,cAAAA;;WAAAA;EAAAA,kBAAAA,CAAAA;AAuBE,MAAMC,2BAA2B,IAAIC,IAAI;;;;;;;;;;;;;;;;;;;;;;CAsB/C,EAAC;AAIK,MAAMC,mBAAmB,IAAID,IAAI;;;;CAIvC,EAAC","ignoreList":[0]}}, + {"offset": {"line": 4355, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/trace/tracer.ts"],"sourcesContent":["import type { FetchEventResult } from '../../web/types'\nimport type { TextMapSetter } from '@opentelemetry/api'\nimport type { SpanTypes } from './constants'\nimport type { LocalSpanRecorder } from './local-span-recorder'\nimport { LogSpanAllowList, NextVanillaSpanAllowlist } from './constants'\n\nimport type {\n Context,\n ContextAPI,\n Span,\n SpanOptions,\n Tracer,\n AttributeValue,\n TextMapGetter,\n} from 'next/dist/compiled/@opentelemetry/api'\nimport { isThenable } from '../../../shared/lib/is-thenable'\n\nconst NEXT_OTEL_PERFORMANCE_PREFIX = process.env.NEXT_OTEL_PERFORMANCE_PREFIX\nconst LOCAL_SPAN_RECORDER_KEY = Symbol.for('@next/local-span-recorder')\n\ntype GlobalWithLocalSpanRecorder = typeof globalThis & {\n [LOCAL_SPAN_RECORDER_KEY]?: LocalSpanRecorder\n}\n\nlet api: typeof import('next/dist/compiled/@opentelemetry/api')\n\nfunction getLocalSpanRecorder() {\n if (process.env.__NEXT_DEV_SERVER) {\n return (globalThis as GlobalWithLocalSpanRecorder)[LOCAL_SPAN_RECORDER_KEY]\n } else {\n return undefined\n }\n}\n\n// we want to allow users to use their own version of @opentelemetry/api if they\n// want to, so we try to require it first, and if it fails we fall back to the\n// version that is bundled with Next.js\n// this is because @opentelemetry/api has to be synced with the version of\n// @opentelemetry/tracing that is used, and we don't want to force users to use\n// the version that is bundled with Next.js.\n// the API is ~stable, so this should be fine\nif (process.env.NEXT_RUNTIME === 'edge') {\n api = require('@opentelemetry/api') as typeof import('@opentelemetry/api')\n} else {\n try {\n api = require('@opentelemetry/api') as typeof import('@opentelemetry/api')\n } catch (err) {\n api =\n require('next/dist/compiled/@opentelemetry/api') as typeof import('next/dist/compiled/@opentelemetry/api')\n }\n}\n\nconst { context, propagation, trace, SpanStatusCode, SpanKind, ROOT_CONTEXT } =\n api\n\nexport class BubbledError extends Error {\n constructor(\n public readonly bubble?: boolean,\n public readonly result?: FetchEventResult\n ) {\n super()\n }\n}\n\nexport function isBubbledError(error: unknown): error is BubbledError {\n if (typeof error !== 'object' || error === null) return false\n return error instanceof BubbledError\n}\n\nconst closeSpanWithError = (\n span: Span,\n error?: Error,\n endTime?: Parameters[0]\n) => {\n if (isBubbledError(error) && error.bubble) {\n span.setAttribute('next.bubble', true)\n } else {\n if (error) {\n span.recordException(error)\n span.setAttribute('error.type', error.name)\n }\n span.setStatus({ code: SpanStatusCode.ERROR, message: error?.message })\n }\n span.end(endTime)\n}\n\ntype TracerSpanOptions = Omit & {\n endTime?: Parameters[0]\n parentSpan?: Span\n spanName?: string\n attributes?: Partial>\n hideSpan?: boolean\n}\n\ninterface NextTracer {\n getContext(): ContextAPI\n\n /**\n * Instruments a function by automatically creating a span activated on its\n * scope.\n *\n * The span will automatically be finished when one of these conditions is\n * met:\n *\n * * The function returns a promise, in which case the span will finish when\n * the promise is resolved or rejected.\n * * The function takes a callback as its second parameter, in which case the\n * span will finish when that callback is called.\n * * The function doesn't accept a callback and doesn't return a promise, in\n * which case the span will finish at the end of the function execution.\n *\n */\n trace(\n type: SpanTypes,\n fn: (span?: Span, done?: (error?: Error) => any) => Promise\n ): Promise\n trace(\n type: SpanTypes,\n fn: (span?: Span, done?: (error?: Error) => any) => T\n ): T\n trace(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: (span?: Span, done?: (error?: Error) => any) => Promise\n ): Promise\n trace(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: (span?: Span, done?: (error?: Error) => any) => T\n ): T\n\n /**\n * Wrap a function to automatically create a span activated on its\n * scope when it's called.\n *\n * The span will automatically be finished when one of these conditions is\n * met:\n *\n * * The function returns a promise, in which case the span will finish when\n * the promise is resolved or rejected.\n * * The function takes a callback as its last parameter, in which case the\n * span will finish when that callback is called.\n * * The function doesn't accept a callback and doesn't return a promise, in\n * which case the span will finish at the end of the function execution.\n */\n wrap) => any>(type: SpanTypes, fn: T): T\n wrap) => any>(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: T\n ): T\n wrap) => any>(\n type: SpanTypes,\n options: (...args: any[]) => TracerSpanOptions,\n fn: T\n ): T\n\n /**\n * Starts and returns a new Span representing a logical unit of work.\n *\n * This method do NOT modify the current Context by default. In result, any inner span will not\n * automatically set its parent context to the span created by this method unless manually activate\n * context via `tracer.getContext().with`. `trace`, or `wrap` is generally recommended as it gracefully\n * handles context activation. (ref: https://github.com/open-telemetry/opentelemetry-js/issues/1923)\n */\n startSpan(type: SpanTypes): Span\n startSpan(type: SpanTypes, options: TracerSpanOptions): Span\n\n /**\n * Returns currently activated span if current context is in the scope of the span.\n * Returns undefined otherwise.\n */\n getActiveScopeSpan(): Span | undefined\n\n /**\n * Returns trace propagation data for the currently active context. The format is equal to data provided\n * through the OpenTelemetry propagator API.\n */\n getTracePropagationData(): ClientTraceDataEntry[]\n\n /**\n * Executes a function with the given span set as the active span in the context.\n * This allows child spans created within the function to automatically parent to this span.\n */\n withSpan(span: Span, fn: () => T): T\n}\n\ntype NextAttributeNames =\n | 'next.route'\n | 'next.page'\n | 'next.rsc'\n | 'next.segment'\n | 'next.span_category'\n | 'next.span_name'\n | 'next.span_type'\n | 'next.clientComponentLoadCount'\ntype OTELAttributeNames = `http.${string}` | `net.${string}`\ntype AttributeNames = NextAttributeNames | OTELAttributeNames\n\n/** we use this map to propagate attributes from nested spans to the top span */\nconst rootSpanAttributesStore = new Map<\n number,\n Map\n>()\nconst rootSpanIdKey = api.createContextKey('next.rootSpanId')\nlet lastSpanId = 0\nconst getSpanId = () => lastSpanId++\n\nexport interface ClientTraceDataEntry {\n key: string\n value: string\n}\n\nconst clientTraceDataSetter: TextMapSetter = {\n set(carrier, key, value) {\n carrier.push({\n key,\n value,\n })\n },\n}\n\nclass NextTracerImpl implements NextTracer {\n /**\n * Returns an instance to the trace with configured name.\n * Since wrap / trace can be defined in any place prior to actual trace subscriber initialization,\n * This should be lazily evaluated.\n */\n private getTracerInstance(): Tracer {\n return trace.getTracer('next.js', process.env.__NEXT_VERSION)\n }\n\n private isOpenTelemetryEnabled(): boolean {\n const activeSpan = trace.getSpan(context.active())\n if (activeSpan?.isRecording()) {\n return true\n }\n\n const tracerProvider = trace.getTracerProvider() as {\n getDelegate?: () => { constructor?: { name?: string } } | undefined\n }\n\n if (!('getDelegate' in tracerProvider)) {\n return true\n }\n\n return (\n tracerProvider.getDelegate?.()?.constructor?.name !== 'NoopTracerProvider'\n )\n }\n\n public getContext(): ContextAPI {\n return context\n }\n\n public getTracePropagationData(): ClientTraceDataEntry[] {\n const activeContext = context.active()\n const entries: ClientTraceDataEntry[] = []\n propagation.inject(activeContext, entries, clientTraceDataSetter)\n return entries\n }\n\n public getActiveScopeSpan(): Span | undefined {\n const localSpanRecorder = getLocalSpanRecorder()\n const activeLocalSpan = localSpanRecorder?.getActiveLocalSpan()\n if (\n activeLocalSpan &&\n localSpanRecorder?.isOpenTelemetryIsolatedSpan(activeLocalSpan)\n ) {\n return activeLocalSpan\n }\n\n const activeSpan = trace.getSpan(context.active())\n if (activeSpan || !process.env.__NEXT_DEV_SERVER) {\n return activeSpan\n }\n return activeLocalSpan\n }\n\n /**\n * Run `fn` with the active span cleared, so spans created inside become new\n * roots (or parent to incoming propagated context). Used for in-process\n * Node.js middleware so its span is a sibling of the request span, matching\n * edge middleware which runs in a detached sandbox.\n */\n public runWithDetachedContext(fn: () => T): T {\n if (!NEXT_OTEL_PERFORMANCE_PREFIX && !this.isOpenTelemetryEnabled()) {\n return fn()\n }\n return context.with(ROOT_CONTEXT, fn)\n }\n\n public withPropagatedContext(\n carrier: C,\n fn: () => T,\n getter?: TextMapGetter,\n force = false\n ): T {\n const activeContext = context.active()\n\n if (\n !NEXT_OTEL_PERFORMANCE_PREFIX &&\n !this.isOpenTelemetryEnabled() &&\n !trace.getSpanContext(activeContext)\n ) {\n return fn()\n }\n\n if (force) {\n const remoteContext = propagation.extract(ROOT_CONTEXT, carrier, getter)\n\n if (trace.getSpanContext(remoteContext)) {\n return context.with(remoteContext, fn)\n }\n\n // Preserve the current active span while still merging any extracted\n // baggage/context values from the carrier.\n const mergedContext = propagation.extract(activeContext, carrier, getter)\n return context.with(mergedContext, fn)\n }\n\n if (trace.getSpanContext(activeContext)) {\n // Active span is already set, too late to propagate.\n return fn()\n }\n\n const remoteContext = propagation.extract(activeContext, carrier, getter)\n return context.with(remoteContext, fn)\n }\n\n // Trace, wrap implementation is inspired by datadog trace implementation\n // (https://datadoghq.dev/dd-trace-js/interfaces/tracer.html#trace).\n public trace(\n type: SpanTypes,\n fn: (span?: Span, done?: (error?: Error) => any) => Promise\n ): Promise\n public trace(\n type: SpanTypes,\n fn: (span?: Span, done?: (error?: Error) => any) => T\n ): T\n public trace(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: (span?: Span, done?: (error?: Error) => any) => Promise\n ): Promise\n public trace(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: (span?: Span, done?: (error?: Error) => any) => T\n ): T\n public trace(...args: Array) {\n const [type, fnOrOptions, fnOrEmpty] = args\n const tracingEnabled =\n Boolean(NEXT_OTEL_PERFORMANCE_PREFIX) || this.isOpenTelemetryEnabled()\n const localSpanRecorder = getLocalSpanRecorder()\n const localSpanRecordingEnabled =\n localSpanRecorder?.isLocalSpanRecordingEnabled() ?? false\n\n if (!tracingEnabled && !localSpanRecordingEnabled) {\n return typeof fnOrOptions === 'function' ? fnOrOptions() : fnOrEmpty()\n }\n\n // coerce options form overload\n const {\n fn,\n options,\n }: {\n fn: (span?: Span, done?: (error?: Error) => any) => T | Promise\n options: TracerSpanOptions\n } =\n typeof fnOrOptions === 'function'\n ? {\n fn: fnOrOptions,\n options: {},\n }\n : {\n fn: fnOrEmpty,\n options: { ...fnOrOptions },\n }\n\n const spanName = options.spanName ?? type\n\n const parentSpan = options.parentSpan ?? this.getActiveScopeSpan()\n const isolatedParentSpan =\n parentSpan && localSpanRecorder?.isOpenTelemetryIsolatedSpan(parentSpan)\n ? parentSpan\n : undefined\n const shouldDelegateSpan =\n !isolatedParentSpan &&\n (NextVanillaSpanAllowlist.has(type) ||\n process.env.NEXT_OTEL_VERBOSE === '1')\n const shouldTraceSpan =\n shouldDelegateSpan ||\n (localSpanRecorder?.isRequestInsightsEnabled() ?? false)\n\n if (!shouldTraceSpan || options.hideSpan) {\n return fn()\n }\n\n // Trying to get active scoped span to assign parent. If option specifies parent span manually, will try to use it.\n let spanContext = isolatedParentSpan\n ? context.active()\n : this.getSpanContext(parentSpan)\n\n if (!spanContext) {\n spanContext = context?.active() ?? ROOT_CONTEXT\n }\n // Check if there's already a root span in the store for this trace\n // We are intentionally not checking whether there is an active context\n // from outside of nextjs to ensure that we can provide the same level\n // of telemetry when using a custom server\n const existingRootSpanId = spanContext.getValue(rootSpanIdKey)\n const isRootSpan =\n typeof existingRootSpanId !== 'number' ||\n !rootSpanAttributesStore.has(existingRootSpanId)\n\n const spanId = getSpanId()\n\n options.attributes = {\n 'next.span_category': 'nextjs',\n 'next.span_name': spanName,\n 'next.span_type': type,\n ...options.attributes,\n }\n\n return context.with(spanContext.setValue(rootSpanIdKey, spanId), () =>\n this.runWithActiveSpan(\n spanName,\n options,\n spanContext,\n tracingEnabled && shouldDelegateSpan,\n localSpanRecordingEnabled,\n isolatedParentSpan,\n (span: Span) => {\n let startTime: number | undefined\n if (\n NEXT_OTEL_PERFORMANCE_PREFIX &&\n type &&\n LogSpanAllowList.has(type)\n ) {\n startTime =\n 'performance' in globalThis && 'measure' in performance\n ? globalThis.performance.now()\n : undefined\n }\n\n let cleanedUp = false\n const onCleanup = () => {\n if (cleanedUp) return\n cleanedUp = true\n rootSpanAttributesStore.delete(spanId)\n if (startTime) {\n performance.measure(\n `${NEXT_OTEL_PERFORMANCE_PREFIX}:next-${(\n type.split('.').pop() || ''\n ).replace(\n /[A-Z]/g,\n (match: string) => '-' + match.toLowerCase()\n )}`,\n {\n start: startTime,\n end: performance.now(),\n }\n )\n }\n }\n\n if (isRootSpan) {\n rootSpanAttributesStore.set(\n spanId,\n new Map(\n Object.entries(options.attributes ?? {}) as [\n AttributeNames,\n AttributeValue | undefined,\n ][]\n )\n )\n }\n if (fn.length > 1) {\n try {\n return fn(span, (err) => {\n if (err) {\n closeSpanWithError(span, err, options.endTime)\n } else {\n span.end(options.endTime)\n }\n })\n } catch (err: any) {\n closeSpanWithError(span, err, options.endTime)\n throw err\n } finally {\n onCleanup()\n }\n }\n\n try {\n const result = fn(span)\n if (isThenable(result)) {\n // If there's error make sure it throws\n return result\n .then((res) => {\n span.end(options.endTime)\n // Need to pass down the promise result,\n // it could be react stream response with error { error, stream }\n return res\n })\n .catch((err) => {\n closeSpanWithError(span, err, options.endTime)\n throw err\n })\n .finally(onCleanup)\n } else {\n span.end(options.endTime)\n onCleanup()\n }\n\n return result\n } catch (err: any) {\n closeSpanWithError(span, err, options.endTime)\n onCleanup()\n throw err\n }\n }\n )\n )\n }\n\n private runWithActiveSpan(\n spanName: string,\n options: TracerSpanOptions,\n parentContext: Context,\n tracingEnabled: boolean,\n localSpanRecordingEnabled: boolean,\n isolatedParentSpan: Span | undefined,\n fn: (span: Span) => T\n ): T {\n if (tracingEnabled) {\n return this.getTracerInstance().startActiveSpan(\n spanName,\n options,\n (span: Span) =>\n fn(\n localSpanRecordingEnabled\n ? this.createLocalRecordingSpan(\n spanName,\n options,\n parentContext,\n span,\n isolatedParentSpan\n )\n : span\n )\n )\n }\n\n const span = this.createLocalRecordingSpan(\n spanName,\n options,\n parentContext,\n undefined,\n isolatedParentSpan\n )\n const localSpanRecorder = getLocalSpanRecorder()!\n return localSpanRecorder.withLocalSpan(span, () =>\n localSpanRecorder.isOpenTelemetryIsolatedSpan(span)\n ? fn(span)\n : context.with(\n trace.setSpan(context.active(), span),\n fn,\n undefined,\n span\n )\n )\n }\n\n private createLocalRecordingSpan(\n name: string,\n options: TracerSpanOptions,\n parentContext: Context,\n delegateSpan?: Span,\n isolatedParentSpan?: Span\n ): Span {\n const parentSpanContext =\n isolatedParentSpan?.spanContext() ?? trace.getSpanContext(parentContext)\n const delegateSpanContext = delegateSpan?.spanContext()\n\n return getLocalSpanRecorder()!.createLocalSpan({\n name,\n attributes: options.attributes,\n links: options.links,\n startTime: options.startTime,\n delegateSpan,\n traceId: delegateSpanContext?.traceId ?? parentSpanContext?.traceId,\n spanId: delegateSpanContext?.spanId,\n parentSpanId: parentSpanContext?.spanId,\n isolateOpenTelemetry: isolatedParentSpan !== undefined,\n })\n }\n\n public wrap) => any>(type: SpanTypes, fn: T): T\n public wrap) => any>(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: T\n ): T\n public wrap) => any>(\n type: SpanTypes,\n options: (...args: any[]) => TracerSpanOptions,\n fn: T\n ): T\n public wrap(...args: Array) {\n const tracer = this\n const [name, options, fn] =\n args.length === 3 ? args : [args[0], {}, args[1]]\n\n if (\n !NextVanillaSpanAllowlist.has(name) &&\n process.env.NEXT_OTEL_VERBOSE !== '1' &&\n !process.env.__NEXT_DEV_SERVER\n ) {\n return fn\n }\n\n return function (this: any) {\n let optionsObj = options\n if (typeof optionsObj === 'function' && typeof fn === 'function') {\n optionsObj = optionsObj.apply(this, arguments)\n }\n\n const lastArgId = arguments.length - 1\n const cb = arguments[lastArgId]\n\n if (typeof cb === 'function') {\n const scopeBoundCb = tracer.getContext().bind(context.active(), cb)\n return tracer.trace(name, optionsObj, (_span, done) => {\n arguments[lastArgId] = function (err: any) {\n done?.(err)\n return scopeBoundCb.apply(this, arguments)\n }\n\n return fn.apply(this, arguments)\n })\n } else {\n return tracer.trace(name, optionsObj, () => fn.apply(this, arguments))\n }\n }\n }\n\n public startSpan(type: SpanTypes): Span\n public startSpan(type: SpanTypes, options: TracerSpanOptions): Span\n public startSpan(...args: Array): Span {\n const [type, passedOptions]: [string, TracerSpanOptions | undefined] =\n args as any\n const options: TracerSpanOptions = passedOptions\n ? {\n ...passedOptions,\n attributes: {\n 'next.span_category': 'nextjs',\n ...passedOptions.attributes,\n },\n }\n : { attributes: { 'next.span_category': 'nextjs' } }\n\n const localSpanRecorder = getLocalSpanRecorder()\n const parentSpan = options.parentSpan ?? this.getActiveScopeSpan()\n const isolatedParentSpan =\n parentSpan && localSpanRecorder?.isOpenTelemetryIsolatedSpan(parentSpan)\n ? parentSpan\n : undefined\n const parentContext =\n (isolatedParentSpan ? undefined : this.getSpanContext(parentSpan)) ??\n context.active()\n const localSpanRecordingEnabled =\n localSpanRecorder?.isLocalSpanRecordingEnabled() ?? false\n\n if (!localSpanRecordingEnabled) {\n return this.getTracerInstance().startSpan(type, options, parentContext)\n }\n\n const delegateSpan =\n !isolatedParentSpan && this.isOpenTelemetryEnabled()\n ? this.getTracerInstance().startSpan(type, options, parentContext)\n : undefined\n\n return this.createLocalRecordingSpan(\n type,\n options,\n parentContext,\n delegateSpan,\n isolatedParentSpan\n )\n }\n\n private getSpanContext(parentSpan?: Span) {\n const spanContext = parentSpan\n ? trace.setSpan(context.active(), parentSpan)\n : undefined\n\n return spanContext\n }\n\n public getRootSpanAttributes() {\n const spanId = context.active().getValue(rootSpanIdKey) as number\n return rootSpanAttributesStore.get(spanId)\n }\n\n public setRootSpanAttribute(key: AttributeNames, value: AttributeValue) {\n const spanId = context.active().getValue(rootSpanIdKey) as number\n const attributes = rootSpanAttributesStore.get(spanId)\n if (attributes && !attributes.has(key)) {\n attributes.set(key, value)\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n const localSpan = getLocalSpanRecorder()?.getActiveLocalSpan()\n if (localSpan) {\n localSpan.setAttribute(key, value)\n }\n }\n }\n\n public withSpan(span: Span, fn: () => T): T {\n const recorder = getLocalSpanRecorder()\n if (recorder?.isLocalRecordingSpan(span)) {\n return recorder.withLocalSpan(span, () =>\n recorder.isOpenTelemetryIsolatedSpan(span)\n ? fn()\n : context.with(trace.setSpan(context.active(), span), fn)\n )\n }\n return context.with(trace.setSpan(context.active(), span), fn)\n }\n}\n\nconst getTracer = (() => {\n const tracer = new NextTracerImpl()\n\n return () => tracer\n})()\n\nexport { getTracer, SpanStatusCode, SpanKind }\nexport type { NextTracer, Span, SpanOptions, ContextAPI, TracerSpanOptions }\n"],"names":["LogSpanAllowList","NextVanillaSpanAllowlist","isThenable","NEXT_OTEL_PERFORMANCE_PREFIX","process","env","LOCAL_SPAN_RECORDER_KEY","Symbol","for","api","getLocalSpanRecorder","__NEXT_DEV_SERVER","globalThis","undefined","NEXT_RUNTIME","require","err","context","propagation","trace","SpanStatusCode","SpanKind","ROOT_CONTEXT","BubbledError","Error","constructor","bubble","result","isBubbledError","error","closeSpanWithError","span","endTime","setAttribute","recordException","name","setStatus","code","ERROR","message","end","rootSpanAttributesStore","Map","rootSpanIdKey","createContextKey","lastSpanId","getSpanId","clientTraceDataSetter","set","carrier","key","value","push","NextTracerImpl","getTracerInstance","getTracer","__NEXT_VERSION","isOpenTelemetryEnabled","tracerProvider","activeSpan","getSpan","active","isRecording","getTracerProvider","getDelegate","getContext","getTracePropagationData","activeContext","entries","inject","getActiveScopeSpan","localSpanRecorder","activeLocalSpan","getActiveLocalSpan","isOpenTelemetryIsolatedSpan","runWithDetachedContext","fn","with","withPropagatedContext","getter","force","getSpanContext","remoteContext","extract","mergedContext","args","type","fnOrOptions","fnOrEmpty","tracingEnabled","Boolean","localSpanRecordingEnabled","isLocalSpanRecordingEnabled","options","spanName","parentSpan","isolatedParentSpan","shouldDelegateSpan","has","NEXT_OTEL_VERBOSE","shouldTraceSpan","isRequestInsightsEnabled","hideSpan","spanContext","existingRootSpanId","getValue","isRootSpan","spanId","attributes","setValue","runWithActiveSpan","startTime","performance","now","cleanedUp","onCleanup","delete","measure","split","pop","replace","match","toLowerCase","start","Object","length","then","res","catch","finally","parentContext","startActiveSpan","createLocalRecordingSpan","withLocalSpan","setSpan","delegateSpan","parentSpanContext","delegateSpanContext","createLocalSpan","links","traceId","parentSpanId","isolateOpenTelemetry","wrap","tracer","optionsObj","apply","arguments","lastArgId","cb","scopeBoundCb","bind","_span","done","startSpan","passedOptions","getRootSpanAttributes","get","setRootSpanAttribute","localSpan","withSpan","recorder","isLocalRecordingSpan"],"mappings":";;;;;;;;;;;;AAIA,SAASA,gBAAgB,EAAEC,wBAAwB,QAAQ,cAAa;AAWxE,SAASC,UAAU,QAAQ,kCAAiC;;;AAE5D,MAAMC,+BAA+BC,QAAQC,GAAG,CAACF,4BAA4B;AAC7E,MAAMG,0BAA0BC,OAAOC,GAAG,CAAC;AAM3C,IAAIC;AAEJ,SAASC;IACP,IAAIN,QAAQC,GAAG,CAACM,iBAAiB,OAAE;QACjC,OAAQC,UAA0C,CAACN,wBAAwB;IAC7E,OAAO;;AAGT;AAEA,gFAAgF;AAChF,8EAA8E;AAC9E,uCAAuC;AACvC,0EAA0E;AAC1E,+EAA+E;AAC/E,4CAA4C;AAC5C,6CAA6C;AAC7C,IAAIF,QAAQC,GAAG,CAACS,YAAY,KAAK,QAAQ;;KAElC;IACL,IAAI;QACFL,MAAMM,QAAQ;IAChB,EAAE,OAAOC,KAAK;QACZP,MACEM,QAAQ;IACZ;AACF;AAEA,MAAM,EAAEE,OAAO,EAAEC,WAAW,EAAEC,KAAK,EAAEC,cAAc,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAC3Eb;AAEK,MAAMc,qBAAqBC;IAChCC,YACkBC,MAAgB,EAChBC,MAAyB,CACzC;QACA,KAAK,IAAA,IAAA,CAHWD,MAAAA,GAAAA,QAAAA,IAAAA,CACAC,MAAAA,GAAAA;IAGlB;AACF;AAEO,SAASC,eAAeC,KAAc;IAC3C,IAAI,OAAOA,UAAU,YAAYA,UAAU,MAAM,OAAO;IACxD,OAAOA,iBAAiBN;AAC1B;AAEA,MAAMO,qBAAqB,CACzBC,MACAF,OACAG;IAEA,IAAIJ,eAAeC,UAAUA,MAAMH,MAAM,EAAE;QACzCK,KAAKE,YAAY,CAAC,eAAe;IACnC,OAAO;QACL,IAAIJ,OAAO;YACTE,KAAKG,eAAe,CAACL;YACrBE,KAAKE,YAAY,CAAC,cAAcJ,MAAMM,IAAI;QAC5C;QACAJ,KAAKK,SAAS,CAAC;YAAEC,MAAMjB,eAAekB,KAAK;YAAEC,OAAO,EAAEV,SAAAA,OAAAA,KAAAA,IAAAA,MAAOU,OAAO;QAAC;IACvE;IACAR,KAAKS,GAAG,CAACR;AACX;AAmHA,8EAA8E,GAC9E,MAAMS,0BAA0B,IAAIC;AAIpC,MAAMC,gBAAgBlC,IAAImC,gBAAgB,CAAC;AAC3C,IAAIC,aAAa;AACjB,MAAMC,YAAY,IAAMD;AAOxB,MAAME,wBAA+D;IACnEC,KAAIC,OAAO,EAAEC,GAAG,EAAEC,KAAK;QACrBF,QAAQG,IAAI,CAAC;YACXF;YACAC;QACF;IACF;AACF;AAEA,MAAME;IACJ;;;;GAIC,GACOC,oBAA4B;QAClC,OAAOnC,MAAMoC,SAAS,CAAC,WAAWnD,QAAQC,GAAG,CAACmD,cAAc;IAC9D;IAEQC,yBAAkC;YAetCC,yCAAAA;QAdF,MAAMC,aAAaxC,MAAMyC,OAAO,CAAC3C,QAAQ4C,MAAM;QAC/C,IAAIF,cAAAA,OAAAA,KAAAA,IAAAA,WAAYG,WAAW,IAAI;YAC7B,OAAO;QACT;QAEA,MAAMJ,iBAAiBvC,MAAM4C,iBAAiB;QAI9C,IAAI,CAAE,CAAA,iBAAiBL,cAAa,GAAI;YACtC,OAAO;QACT;QAEA,OACEA,CAAAA,eAAeM,WAAW,IAAA,OAAA,KAAA,IAAA,CAA1BN,8BAAAA,eAAeM,WAAW,CAAA,IAAA,CAA1BN,eAAAA,KAAAA,OAAAA,KAAAA,IAAAA,CAAAA,0CAAAA,4BAAgCjC,WAAW,KAAA,OAAA,KAAA,IAA3CiC,wCAA6CvB,IAAI,MAAK;IAE1D;IAEO8B,aAAyB;QAC9B,OAAOhD;IACT;IAEOiD,0BAAkD;QACvD,MAAMC,gBAAgBlD,QAAQ4C,MAAM;QACpC,MAAMO,UAAkC,EAAE;QAC1ClD,YAAYmD,MAAM,CAACF,eAAeC,SAASrB;QAC3C,OAAOqB;IACT;IAEOE,qBAAuC;QAC5C,MAAMC,oBAAoB7D;QAC1B,MAAM8D,kBAAkBD,qBAAAA,OAAAA,KAAAA,IAAAA,kBAAmBE,kBAAkB;QAC7D,IACED,mBAAAA,CACAD,qBAAAA,OAAAA,KAAAA,IAAAA,kBAAmBG,2BAA2B,CAACF,gBAAAA,GAC/C;YACA,OAAOA;QACT;QAEA,MAAMb,aAAaxC,MAAMyC,OAAO,CAAC3C,QAAQ4C,MAAM;QAC/C,IAAIF,cAAc,CAACvD,QAAQC,GAAG,CAACM,iBAAiB,UAAE;YAChD,OAAOgD;QACT;QACA,OAAOa;IACT;IAEA;;;;;GAKC,GACMG,uBAA0BC,EAAW,EAAK;QAC/C,IAAI,CAACzE,gCAAgC,CAAC,IAAI,CAACsD,sBAAsB,IAAI;YACnE,OAAOmB;QACT;QACA,OAAO3D,QAAQ4D,IAAI,CAACvD,cAAcsD;IACpC;IAEOE,sBACL7B,OAAU,EACV2B,EAAW,EACXG,MAAyB,EACzBC,QAAQ,KAAK,EACV;QACH,MAAMb,gBAAgBlD,QAAQ4C,MAAM;QAEpC,IACE,CAAC1D,gCACD,CAAC,IAAI,CAACsD,sBAAsB,MAC5B,CAACtC,MAAM8D,cAAc,CAACd,gBACtB;YACA,OAAOS;QACT;QAEA,IAAII,OAAO;YACT,MAAME,gBAAgBhE,YAAYiE,OAAO,CAAC7D,cAAc2B,SAAS8B;YAEjE,IAAI5D,MAAM8D,cAAc,CAACC,gBAAgB;gBACvC,OAAOjE,QAAQ4D,IAAI,CAACK,eAAeN;YACrC;YAEA,qEAAqE;YACrE,2CAA2C;YAC3C,MAAMQ,gBAAgBlE,YAAYiE,OAAO,CAAChB,eAAelB,SAAS8B;YAClE,OAAO9D,QAAQ4D,IAAI,CAACO,eAAeR;QACrC;QAEA,IAAIzD,MAAM8D,cAAc,CAACd,gBAAgB;YACvC,qDAAqD;YACrD,OAAOS;QACT;QAEA,MAAMM,gBAAgBhE,YAAYiE,OAAO,CAAChB,eAAelB,SAAS8B;QAClE,OAAO9D,QAAQ4D,IAAI,CAACK,eAAeN;IACrC;IAsBOzD,MAAS,GAAGkE,IAAgB,EAAE;QACnC,MAAM,CAACC,MAAMC,aAAaC,UAAU,GAAGH;QACvC,MAAMI,iBACJC,QAAQvF,iCAAiC,IAAI,CAACsD,sBAAsB;QACtE,MAAMc,oBAAoB7D;QAC1B,MAAMiF,4BACJpB,CAAAA,qBAAAA,OAAAA,KAAAA,IAAAA,kBAAmBqB,2BAA2B,EAAA,KAAM;QAEtD,IAAI,CAACH,kBAAkB,CAACE,2BAA2B;YACjD,OAAO,OAAOJ,gBAAgB,aAAaA,gBAAgBC;QAC7D;QAEA,+BAA+B;QAC/B,MAAM,EACJZ,EAAE,EACFiB,OAAO,EACR,GAIC,OAAON,gBAAgB,aACnB;YACEX,IAAIW;YACJM,SAAS,CAAC;QACZ,IACA;YACEjB,IAAIY;YACJK,SAAS;gBAAE,GAAGN,WAAW;YAAC;QAC5B;QAEN,MAAMO,WAAWD,QAAQC,QAAQ,IAAIR;QAErC,MAAMS,aAAaF,QAAQE,UAAU,IAAI,IAAI,CAACzB,kBAAkB;QAChE,MAAM0B,qBACJD,cAAAA,CAAcxB,qBAAAA,OAAAA,KAAAA,IAAAA,kBAAmBG,2BAA2B,CAACqB,WAAAA,IACzDA,aACAlF;QACN,MAAMoF,qBACJ,CAACD,sBACA/F,CAAAA,sMAAAA,CAAyBiG,GAAG,CAACZ,SAC5BlF,QAAQC,GAAG,CAAC8F,iBAAiB,KAAK,GAAE;QACxC,MAAMC,kBACJH,sBACC1B,CAAAA,CAAAA,qBAAAA,OAAAA,KAAAA,IAAAA,kBAAmB8B,wBAAwB,EAAA,KAAM,KAAI;QAExD,IAAI,CAACD,mBAAmBP,QAAQS,QAAQ,EAAE;YACxC,OAAO1B;QACT;QAEA,mHAAmH;QACnH,IAAI2B,cAAcP,qBACd/E,QAAQ4C,MAAM,KACd,IAAI,CAACoB,cAAc,CAACc;QAExB,IAAI,CAACQ,aAAa;YAChBA,cAActF,CAAAA,WAAAA,OAAAA,KAAAA,IAAAA,QAAS4C,MAAM,EAAA,KAAMvC;QACrC;QACA,mEAAmE;QACnE,uEAAuE;QACvE,sEAAsE;QACtE,0CAA0C;QAC1C,MAAMkF,qBAAqBD,YAAYE,QAAQ,CAAC9D;QAChD,MAAM+D,aACJ,OAAOF,uBAAuB,YAC9B,CAAC/D,wBAAwByD,GAAG,CAACM;QAE/B,MAAMG,SAAS7D;QAEf+C,QAAQe,UAAU,GAAG;YACnB,sBAAsB;YACtB,kBAAkBd;YAClB,kBAAkBR;YAClB,GAAGO,QAAQe,UAAU;QACvB;QAEA,OAAO3F,QAAQ4D,IAAI,CAAC0B,YAAYM,QAAQ,CAAClE,eAAegE,SAAS,IAC/D,IAAI,CAACG,iBAAiB,CACpBhB,UACAD,SACAU,aACAd,kBAAkBQ,oBAClBN,2BACAK,oBACA,CAACjE;gBACC,IAAIgF;gBACJ,IACE5G,gCACAmF,QACAtF,8LAAAA,CAAiBkG,GAAG,CAACZ,OACrB;oBACAyB,YACE,iBAAiBnG,cAAc,aAAaoG,cACxCpG,WAAWoG,WAAW,CAACC,GAAG,KAC1BpG;gBACR;gBAEA,IAAIqG,YAAY;gBAChB,MAAMC,YAAY;oBAChB,IAAID,WAAW;oBACfA,YAAY;oBACZzE,wBAAwB2E,MAAM,CAACT;oBAC/B,IAAII,WAAW;wBACbC,YAAYK,OAAO,CACjB,GAAGlH,6BAA6B,MAAM,EACpCmF,CAAAA,KAAKgC,KAAK,CAAC,KAAKC,GAAG,MAAM,EAAC,EAC1BC,OAAO,CACP,UACA,CAACC,QAAkB,MAAMA,MAAMC,WAAW,KACzC,EACH;4BACEC,OAAOZ;4BACPvE,KAAKwE,YAAYC,GAAG;wBACtB;oBAEJ;gBACF;gBAEA,IAAIP,YAAY;oBACdjE,wBAAwBO,GAAG,CACzB2D,QACA,IAAIjE,IACFkF,OAAOxD,OAAO,CAACyB,QAAQe,UAAU,IAAI,CAAC;gBAM5C;gBACA,IAAIhC,GAAGiD,MAAM,GAAG,GAAG;oBACjB,IAAI;wBACF,OAAOjD,GAAG7C,MAAM,CAACf;4BACf,IAAIA,KAAK;gCACPc,mBAAmBC,MAAMf,KAAK6E,QAAQ7D,OAAO;4BAC/C,OAAO;gCACLD,KAAKS,GAAG,CAACqD,QAAQ7D,OAAO;4BAC1B;wBACF;oBACF,EAAE,OAAOhB,KAAU;wBACjBc,mBAAmBC,MAAMf,KAAK6E,QAAQ7D,OAAO;wBAC7C,MAAMhB;oBACR,SAAU;wBACRmG;oBACF;gBACF;gBAEA,IAAI;oBACF,MAAMxF,SAASiD,GAAG7C;oBAClB,QAAI7B,oLAAAA,EAAWyB,SAAS;wBACtB,uCAAuC;wBACvC,OAAOA,OACJmG,IAAI,CAAC,CAACC;4BACLhG,KAAKS,GAAG,CAACqD,QAAQ7D,OAAO;4BACxB,wCAAwC;4BACxC,iEAAiE;4BACjE,OAAO+F;wBACT,GACCC,KAAK,CAAC,CAAChH;4BACNc,mBAAmBC,MAAMf,KAAK6E,QAAQ7D,OAAO;4BAC7C,MAAMhB;wBACR,GACCiH,OAAO,CAACd;oBACb,OAAO;wBACLpF,KAAKS,GAAG,CAACqD,QAAQ7D,OAAO;wBACxBmF;oBACF;oBAEA,OAAOxF;gBACT,EAAE,OAAOX,KAAU;oBACjBc,mBAAmBC,MAAMf,KAAK6E,QAAQ7D,OAAO;oBAC7CmF;oBACA,MAAMnG;gBACR;YACF;IAGN;IAEQ8F,kBACNhB,QAAgB,EAChBD,OAA0B,EAC1BqC,aAAsB,EACtBzC,cAAuB,EACvBE,yBAAkC,EAClCK,kBAAoC,EACpCpB,EAAqB,EAClB;QACH,IAAIa,gBAAgB;YAClB,OAAO,IAAI,CAACnC,iBAAiB,GAAG6E,eAAe,CAC7CrC,UACAD,SACA,CAAC9D,OACC6C,GACEe,4BACI,IAAI,CAACyC,wBAAwB,CAC3BtC,UACAD,SACAqC,eACAnG,MACAiE,sBAEFjE;QAGZ;QAEA,MAAMA,OAAO,IAAI,CAACqG,wBAAwB,CACxCtC,UACAD,SACAqC,eACArH,WACAmF;QAEF,MAAMzB,oBAAoB7D;QAC1B,OAAO6D,kBAAkB8D,aAAa,CAACtG,MAAM,IAC3CwC,kBAAkBG,2BAA2B,CAAC3C,QAC1C6C,GAAG7C,QACHd,QAAQ4D,IAAI,CACV1D,MAAMmH,OAAO,CAACrH,QAAQ4C,MAAM,IAAI9B,OAChC6C,IACA/D,WACAkB;IAGV;IAEQqG,yBACNjG,IAAY,EACZ0D,OAA0B,EAC1BqC,aAAsB,EACtBK,YAAmB,EACnBvC,kBAAyB,EACnB;QACN,MAAMwC,oBACJxC,CAAAA,sBAAAA,OAAAA,KAAAA,IAAAA,mBAAoBO,WAAW,EAAA,KAAMpF,MAAM8D,cAAc,CAACiD;QAC5D,MAAMO,sBAAsBF,gBAAAA,OAAAA,KAAAA,IAAAA,aAAchC,WAAW;QAErD,OAAO7F,uBAAwBgI,eAAe,CAAC;YAC7CvG;YACAyE,YAAYf,QAAQe,UAAU;YAC9B+B,OAAO9C,QAAQ8C,KAAK;YACpB5B,WAAWlB,QAAQkB,SAAS;YAC5BwB;YACAK,SAASH,CAAAA,uBAAAA,OAAAA,KAAAA,IAAAA,oBAAqBG,OAAO,KAAA,CAAIJ,qBAAAA,OAAAA,KAAAA,IAAAA,kBAAmBI,OAAO;YACnEjC,MAAM,EAAE8B,uBAAAA,OAAAA,KAAAA,IAAAA,oBAAqB9B,MAAM;YACnCkC,YAAY,EAAEL,qBAAAA,OAAAA,KAAAA,IAAAA,kBAAmB7B,MAAM;YACvCmC,sBAAsB9C,uBAAuBnF;QAC/C;IACF;IAaOkI,KAAK,GAAG1D,IAAgB,EAAE;QAC/B,MAAM2D,SAAS,IAAI;QACnB,MAAM,CAAC7G,MAAM0D,SAASjB,GAAG,GACvBS,KAAKwC,MAAM,KAAK,IAAIxC,OAAO;YAACA,IAAI,CAAC,EAAE;YAAE,CAAC;YAAGA,IAAI,CAAC,EAAE;SAAC;QAEnD,IACE,CAACpF,sMAAAA,CAAyBiG,GAAG,CAAC/D,SAC9B/B,QAAQC,GAAG,CAAC8F,iBAAiB,KAAK,OAClC,CAAC/F,QAAQC,GAAG,CAACM,iBAAiB,EAC9B;;QAIF,OAAO;YACL,IAAIsI,aAAapD;YACjB,IAAI,OAAOoD,eAAe,cAAc,OAAOrE,OAAO,YAAY;gBAChEqE,aAAaA,WAAWC,KAAK,CAAC,IAAI,EAAEC;YACtC;YAEA,MAAMC,YAAYD,UAAUtB,MAAM,GAAG;YACrC,MAAMwB,KAAKF,SAAS,CAACC,UAAU;YAE/B,IAAI,OAAOC,OAAO,YAAY;gBAC5B,MAAMC,eAAeN,OAAO/E,UAAU,GAAGsF,IAAI,CAACtI,QAAQ4C,MAAM,IAAIwF;gBAChE,OAAOL,OAAO7H,KAAK,CAACgB,MAAM8G,YAAY,CAACO,OAAOC;oBAC5CN,SAAS,CAACC,UAAU,GAAG,SAAUpI,GAAQ;wBACvCyI,QAAAA,OAAAA,KAAAA,IAAAA,KAAOzI;wBACP,OAAOsI,aAAaJ,KAAK,CAAC,IAAI,EAAEC;oBAClC;oBAEA,OAAOvE,GAAGsE,KAAK,CAAC,IAAI,EAAEC;gBACxB;YACF,OAAO;gBACL,OAAOH,OAAO7H,KAAK,CAACgB,MAAM8G,YAAY,IAAMrE,GAAGsE,KAAK,CAAC,IAAI,EAAEC;YAC7D;QACF;IACF;IAIOO,UAAU,GAAGrE,IAAgB,EAAQ;QAC1C,MAAM,CAACC,MAAMqE,cAAc,GACzBtE;QACF,MAAMQ,UAA6B8D,gBAC/B;YACE,GAAGA,aAAa;YAChB/C,YAAY;gBACV,sBAAsB;gBACtB,GAAG+C,cAAc/C,UAAU;YAC7B;QACF,IACA;YAAEA,YAAY;gBAAE,sBAAsB;YAAS;QAAE;QAErD,MAAMrC,oBAAoB7D;QAC1B,MAAMqF,aAAaF,QAAQE,UAAU,IAAI,IAAI,CAACzB,kBAAkB;QAChE,MAAM0B,qBACJD,cAAAA,CAAcxB,qBAAAA,OAAAA,KAAAA,IAAAA,kBAAmBG,2BAA2B,CAACqB,WAAAA,IACzDA,aACAlF;QACN,MAAMqH,gBACHlC,CAAAA,qBAAqBnF,YAAY,IAAI,CAACoE,cAAc,CAACc,WAAU,KAChE9E,QAAQ4C,MAAM;QAChB,MAAM8B,4BACJpB,CAAAA,qBAAAA,OAAAA,KAAAA,IAAAA,kBAAmBqB,2BAA2B,EAAA,KAAM;QAEtD,IAAI,CAACD,2BAA2B;YAC9B,OAAO,IAAI,CAACrC,iBAAiB,GAAGoG,SAAS,CAACpE,MAAMO,SAASqC;QAC3D;QAEA,MAAMK,eACJ,CAACvC,sBAAsB,IAAI,CAACvC,sBAAsB,KAC9C,IAAI,CAACH,iBAAiB,GAAGoG,SAAS,CAACpE,MAAMO,SAASqC,iBAClDrH;QAEN,OAAO,IAAI,CAACuH,wBAAwB,CAClC9C,MACAO,SACAqC,eACAK,cACAvC;IAEJ;IAEQf,eAAec,UAAiB,EAAE;QACxC,MAAMQ,cAAcR,aAChB5E,MAAMmH,OAAO,CAACrH,QAAQ4C,MAAM,IAAIkC,cAChClF;QAEJ,OAAO0F;IACT;IAEOqD,wBAAwB;QAC7B,MAAMjD,SAAS1F,QAAQ4C,MAAM,GAAG4C,QAAQ,CAAC9D;QACzC,OAAOF,wBAAwBoH,GAAG,CAAClD;IACrC;IAEOmD,qBAAqB5G,GAAmB,EAAEC,KAAqB,EAAE;QACtE,MAAMwD,SAAS1F,QAAQ4C,MAAM,GAAG4C,QAAQ,CAAC9D;QACzC,MAAMiE,aAAanE,wBAAwBoH,GAAG,CAAClD;QAC/C,IAAIC,cAAc,CAACA,WAAWV,GAAG,CAAChD,MAAM;YACtC0D,WAAW5D,GAAG,CAACE,KAAKC;QACtB;QAEA,IAAI/C,QAAQC,GAAG,CAACM,iBAAiB,OAAE;gBACfD;YAAlB,MAAMqJ,YAAAA,CAAYrJ,wBAAAA,sBAAAA,KAAAA,OAAAA,KAAAA,IAAAA,sBAAwB+D,kBAAkB;YAC5D,IAAIsF,WAAW;gBACbA,UAAU9H,YAAY,CAACiB,KAAKC;YAC9B;QACF;IACF;IAEO6G,SAAYjI,IAAU,EAAE6C,EAAW,EAAK;QAC7C,MAAMqF,WAAWvJ;QACjB,IAAIuJ,YAAAA,OAAAA,KAAAA,IAAAA,SAAUC,oBAAoB,CAACnI,OAAO;YACxC,OAAOkI,SAAS5B,aAAa,CAACtG,MAAM,IAClCkI,SAASvF,2BAA2B,CAAC3C,QACjC6C,OACA3D,QAAQ4D,IAAI,CAAC1D,MAAMmH,OAAO,CAACrH,QAAQ4C,MAAM,IAAI9B,OAAO6C;QAE5D;QACA,OAAO3D,QAAQ4D,IAAI,CAAC1D,MAAMmH,OAAO,CAACrH,QAAQ4C,MAAM,IAAI9B,OAAO6C;IAC7D;AACF;AAEA,MAAMrB,YAAa,CAAA;IACjB,MAAMyF,SAAS,IAAI3F;IAEnB,OAAO,IAAM2F;AACf,CAAA","ignoreList":[0]}}, + {"offset": {"line": 4728, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/normalizers/built/app/app-pathname-normalizer.ts"],"sourcesContent":["import { normalizeAppPath } from '../../../../shared/lib/router/utils/app-paths'\nimport { Normalizers } from '../../normalizers'\nimport { wrapNormalizerFn } from '../../wrap-normalizer-fn'\nimport { UnderscoreNormalizer } from '../../underscore-normalizer'\nimport type { Normalizer } from '../../normalizer'\n\nexport class AppPathnameNormalizer extends Normalizers {\n constructor() {\n super([\n // The pathname to match should have the trailing `/page` and other route\n // group information stripped from it.\n wrapNormalizerFn(normalizeAppPath),\n // The page should have the `%5F` characters replaced with `_` characters.\n new UnderscoreNormalizer(),\n ])\n }\n\n public normalize(page: string): string {\n return super.normalize(page)\n }\n}\n\nexport class DevAppPathnameNormalizer extends Normalizers {\n constructor(pageNormalizer: Normalizer) {\n super([\n // This should normalize the filename to a page.\n pageNormalizer,\n // Normalize the app page to a pathname.\n new AppPathnameNormalizer(),\n ])\n }\n\n public normalize(filename: string): string {\n return super.normalize(filename)\n }\n}\n"],"names":["normalizeAppPath","Normalizers","wrapNormalizerFn","UnderscoreNormalizer","AppPathnameNormalizer","constructor","normalize","page","DevAppPathnameNormalizer","pageNormalizer","filename"],"mappings":";;;;;;AAAA,SAASA,gBAAgB,QAAQ,gDAA+C;AAChF,SAASC,WAAW,QAAQ,oBAAmB;AAC/C,SAASC,gBAAgB,QAAQ,2BAA0B;AAC3D,SAASC,oBAAoB,QAAQ,8BAA6B;;;;;AAG3D,MAAMC,8BAA8BH,0LAAAA;IACzCI,aAAc;QACZ,KAAK,CAAC;YACJ,yEAAyE;YACzE,sCAAsC;gBACtCH,4MAAAA,EAAiBF,2MAAAA;YACjB,0EAA0E;YAC1E,IAAIG,gNAAAA;SACL;IACH;IAEOG,UAAUC,IAAY,EAAU;QACrC,OAAO,KAAK,CAACD,UAAUC;IACzB;AACF;AAEO,MAAMC,iCAAiCP,0LAAAA;IAC5CI,YAAYI,cAA0B,CAAE;QACtC,KAAK,CAAC;YACJ,gDAAgD;YAChDA;YACA,wCAAwC;YACxC,IAAIL;SACL;IACH;IAEOE,UAAUI,QAAgB,EAAU;QACzC,OAAO,KAAK,CAACJ,UAAUI;IACzB;AACF","ignoreList":[0]}}, + {"offset": {"line": 4773, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/normalizers/normalizers.ts"],"sourcesContent":["import type { Normalizer } from './normalizer'\n\n/**\n * Normalizers combines many normalizers into a single normalizer interface that\n * will normalize the inputted pathname with each normalizer in order.\n */\nexport class Normalizers implements Normalizer {\n constructor(private readonly normalizers: Array = []) {}\n\n public push(normalizer: Normalizer) {\n this.normalizers.push(normalizer)\n }\n\n public normalize(pathname: string): string {\n return this.normalizers.reduce(\n (normalized, normalizer) => normalizer.normalize(normalized),\n pathname\n )\n }\n}\n"],"names":["Normalizers","constructor","normalizers","push","normalizer","normalize","pathname","reduce","normalized"],"mappings":"AAEA;;;CAGC,GACD;;;;AAAO,MAAMA;IACXC,YAA6BC,cAAiC,EAAE,CAAE;aAArCA,WAAAA,GAAAA;IAAsC;IAE5DC,KAAKC,UAAsB,EAAE;QAClC,IAAI,CAACF,WAAW,CAACC,IAAI,CAACC;IACxB;IAEOC,UAAUC,QAAgB,EAAU;QACzC,OAAO,IAAI,CAACJ,WAAW,CAACK,MAAM,CAC5B,CAACC,YAAYJ,aAAeA,WAAWC,SAAS,CAACG,aACjDF;IAEJ;AACF","ignoreList":[0]}}, + {"offset": {"line": 4795, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/normalizers/underscore-normalizer.ts"],"sourcesContent":["import type { Normalizer } from './normalizer'\n\n/**\n * UnderscoreNormalizer replaces all instances of %5F with _.\n */\nexport class UnderscoreNormalizer implements Normalizer {\n public normalize(pathname: string): string {\n return pathname.replace(/%5F/g, '_')\n }\n}\n"],"names":["UnderscoreNormalizer","normalize","pathname","replace"],"mappings":"AAEA;;CAEC,GACD;;;;AAAO,MAAMA;IACJC,UAAUC,QAAgB,EAAU;QACzC,OAAOA,SAASC,OAAO,CAAC,QAAQ;IAClC;AACF","ignoreList":[0]}}, + {"offset": {"line": 4810, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/normalizers/wrap-normalizer-fn.ts"],"sourcesContent":["import type { Normalizer } from './normalizer'\n\nexport function wrapNormalizerFn(fn: (pathname: string) => string): Normalizer {\n return { normalize: fn }\n}\n"],"names":["wrapNormalizerFn","fn","normalize"],"mappings":";;;;AAEO,SAASA,iBAAiBC,EAAgC;IAC/D,OAAO;QAAEC,WAAWD;IAAG;AACzB","ignoreList":[0]}}, + {"offset": {"line": 4823, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/pipe-readable.ts"],"sourcesContent":["import type { ServerResponse } from 'node:http'\nimport type { Readable } from 'node:stream'\n\nimport {\n ResponseAbortedName,\n createAbortController,\n} from './web/spec-extension/adapters/next-request'\nimport { createPromiseWithResolvers } from '../shared/lib/promise-with-resolvers'\nimport { getTracer } from './lib/trace/tracer'\nimport { NextNodeServerSpan } from './lib/trace/constants'\nimport type { ClientComponentLoadTracker } from './client-component-renderer-logger'\n\nexport function isAbortError(e: any): e is Error & { name: 'AbortError' } {\n return e?.name === 'AbortError' || e?.name === ResponseAbortedName\n}\n\nconst HAS_CLIENT_COMPONENT_METRICS_ENABLED =\n 'performance' in globalThis && process.env.NEXT_OTEL_PERFORMANCE_PREFIX\n\nfunction createWriterFromResponse(\n res: ServerResponse,\n waitUntilForEnd?: Promise,\n clientComponentLoadTracker?: ClientComponentLoadTracker\n): WritableStream {\n let started = false\n\n // Create a promise that will resolve once the response has drained. See\n // https://nodejs.org/api/stream.html#stream_event_drain\n let drained = createPromiseWithResolvers()\n function onDrain() {\n drained.resolve()\n }\n res.on('drain', onDrain)\n\n // If the finish event fires, it means we shouldn't block and wait for the\n // drain event.\n res.once('close', () => {\n res.off('drain', onDrain)\n drained.resolve()\n })\n\n // Create a promise that will resolve once the response has finished. See\n // https://nodejs.org/api/http.html#event-finish_1\n const finished = createPromiseWithResolvers()\n res.once('finish', () => {\n finished.resolve()\n })\n\n // Create a writable stream that will write to the response.\n return new WritableStream({\n write: async (chunk) => {\n // You'd think we'd want to use `start` instead of placing this in `write`\n // but this ensures that we don't actually flush the headers until we've\n // started writing chunks.\n if (!started) {\n started = true\n\n if (HAS_CLIENT_COMPONENT_METRICS_ENABLED) {\n const metrics = clientComponentLoadTracker?.snapshot()\n if (metrics) {\n performance.measure(\n `${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,\n {\n start: metrics.clientComponentLoadStart,\n end:\n metrics.clientComponentLoadStart +\n metrics.clientComponentLoadTimes,\n }\n )\n }\n }\n\n res.flushHeaders()\n getTracer().trace(\n NextNodeServerSpan.startResponse,\n {\n spanName: 'start response',\n },\n () => undefined\n )\n }\n\n try {\n const ok = res.write(chunk)\n\n // Added by the `compression` middleware, this is a function that will\n // flush the partially-compressed response to the client.\n if ('flush' in res && typeof res.flush === 'function') {\n res.flush()\n }\n\n // If the write returns false, it means there's some backpressure, so\n // wait until it's streamed before continuing.\n if (!ok) {\n await drained.promise\n\n // Reset the drained promise so that we can wait for the next drain event.\n drained = createPromiseWithResolvers()\n }\n } catch (err) {\n res.end()\n throw new Error('failed to write chunk to response', { cause: err })\n }\n },\n abort: (err) => {\n if (res.writableFinished) return\n\n res.destroy(err)\n },\n close: async () => {\n // if a waitUntil promise was passed, wait for it to resolve before\n // ending the response.\n if (waitUntilForEnd) {\n await waitUntilForEnd\n }\n\n if (res.writableFinished) return\n\n res.end()\n return finished.promise\n },\n })\n}\n\nexport async function pipeToNodeResponse(\n readable: ReadableStream,\n res: ServerResponse,\n waitUntilForEnd?: Promise,\n clientComponentLoadTracker?: ClientComponentLoadTracker\n) {\n try {\n // If the response has already errored, then just return now.\n const { errored, destroyed } = res\n if (errored || destroyed) return\n\n // Create a new AbortController so that we can abort the readable if the\n // client disconnects.\n const controller = createAbortController(res)\n\n const writer = createWriterFromResponse(\n res,\n waitUntilForEnd,\n clientComponentLoadTracker\n )\n\n await readable.pipeTo(writer, { signal: controller.signal })\n } catch (err: any) {\n // If this isn't related to an abort error, re-throw it.\n if (isAbortError(err)) return\n\n throw new Error('failed to pipe response', { cause: err })\n }\n}\n\nexport async function pipeNodeReadableToNodeResponse(\n readable: Readable,\n res: ServerResponse,\n waitUntilForEnd?: Promise,\n clientComponentLoadTracker?: ClientComponentLoadTracker\n) {\n try {\n const { errored, destroyed } = res\n if (errored || destroyed) return\n\n let started = false\n\n const finished = createPromiseWithResolvers()\n\n // One `drain` listener for the whole response, as in\n // `createWriterFromResponse` above. It must not be `res.once('drain')` per\n // backpressured write: the `compression` middleware forwards `res.on` to\n // its zlib stream but leaves `removeListener` pointing at the response, so\n // a `once` listener is never removed from the stream it was added to. Each\n // backpressured write would leak one, and past ten Node reports the stream\n // as a probable leak via `MaxListenersExceededWarning`.\n //\n // TODO: the upstream fix for that asymmetry is\n // https://github.com/expressjs/compression/pull/153, which intercepts\n // `removeListener` so it reaches the zlib stream. It has been open since\n // 2019 and is not in upstream 1.8.1; we vendor 1.7.4. If it ever lands and\n // we upgrade, `res.off('drain', onDrain)` below would start working with\n // compression active and the caveat on the `close` handler could go away.\n let paused = false\n const onDrain = () => {\n // The listener outlives the readable: `off` below cannot reach the zlib\n // stream either, so a late drain can arrive after teardown.\n if (!paused || readable.destroyed) return\n\n paused = false\n readable.resume()\n }\n res.on('drain', onDrain)\n\n res.once('close', () => {\n // Only removes the listener when compression is inactive, which is the\n // case where it was added to the response itself. Otherwise it lives on\n // the zlib stream, which is released with the response.\n res.off('drain', onDrain)\n readable.destroy()\n finished.resolve()\n })\n\n readable.on('data', (chunk: Buffer) => {\n if (!started) {\n started = true\n\n if (\n 'performance' in globalThis &&\n process.env.NEXT_OTEL_PERFORMANCE_PREFIX\n ) {\n const metrics = clientComponentLoadTracker?.snapshot()\n if (metrics) {\n performance.measure(\n `${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,\n {\n start: metrics.clientComponentLoadStart,\n end:\n metrics.clientComponentLoadStart +\n metrics.clientComponentLoadTimes,\n }\n )\n }\n }\n\n res.flushHeaders()\n getTracer().trace(\n NextNodeServerSpan.startResponse,\n {\n spanName: 'start response',\n },\n () => undefined\n )\n }\n\n const ok = res.write(chunk)\n\n if ('flush' in res && typeof res.flush === 'function') {\n res.flush()\n }\n\n if (!ok) {\n paused = true\n readable.pause()\n }\n })\n\n readable.on('end', async () => {\n if (waitUntilForEnd) {\n await waitUntilForEnd\n }\n\n if (!res.writableFinished) {\n res.end()\n }\n\n finished.resolve()\n })\n\n readable.on('error', (err) => {\n if (isAbortError(err)) {\n finished.resolve()\n return\n }\n\n res.destroy(err)\n finished.resolve()\n })\n\n await finished.promise\n } catch (err: any) {\n if (isAbortError(err)) return\n\n throw new Error('failed to pipe response', { cause: err })\n }\n}\n"],"names":["ResponseAbortedName","createAbortController","createPromiseWithResolvers","getTracer","NextNodeServerSpan","isAbortError","e","name","HAS_CLIENT_COMPONENT_METRICS_ENABLED","globalThis","process","env","NEXT_OTEL_PERFORMANCE_PREFIX","createWriterFromResponse","res","waitUntilForEnd","clientComponentLoadTracker","started","drained","onDrain","resolve","on","once","off","finished","WritableStream","write","chunk","metrics","snapshot","performance","measure","start","clientComponentLoadStart","end","clientComponentLoadTimes","flushHeaders","trace","startResponse","spanName","undefined","ok","flush","promise","err","Error","cause","abort","writableFinished","destroy","close","pipeToNodeResponse","readable","errored","destroyed","controller","writer","pipeTo","signal","pipeNodeReadableToNodeResponse","paused","resume","pause"],"mappings":";;;;;;;;AAGA,SACEA,mBAAmB,EACnBC,qBAAqB,QAChB,6CAA4C;AACnD,SAASC,0BAA0B,QAAQ,uCAAsC;AACjF,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,kBAAkB,QAAQ,wBAAuB;;;;;AAGnD,SAASC,aAAaC,CAAM;IACjC,OAAOA,CAAAA,KAAAA,OAAAA,KAAAA,IAAAA,EAAGC,IAAI,MAAK,gBAAgBD,CAAAA,KAAAA,OAAAA,KAAAA,IAAAA,EAAGC,IAAI,MAAKP,+NAAAA;AACjD;AAEA,MAAMQ,uCACJ,iBAAiBC,cAAcC,QAAQC,GAAG,CAACC,4BAA4B;AAEzE,SAASC,yBACPC,GAAmB,EACnBC,eAAkC,EAClCC,0BAAuD;IAEvD,IAAIC,UAAU;IAEd,wEAAwE;IACxE,wDAAwD;IACxD,IAAIC,cAAUhB,kNAAAA;IACd,SAASiB;QACPD,QAAQE,OAAO;IACjB;IACAN,IAAIO,EAAE,CAAC,SAASF;IAEhB,0EAA0E;IAC1E,eAAe;IACfL,IAAIQ,IAAI,CAAC,SAAS;QAChBR,IAAIS,GAAG,CAAC,SAASJ;QACjBD,QAAQE,OAAO;IACjB;IAEA,yEAAyE;IACzE,kDAAkD;IAClD,MAAMI,eAAWtB,kNAAAA;IACjBY,IAAIQ,IAAI,CAAC,UAAU;QACjBE,SAASJ,OAAO;IAClB;IAEA,4DAA4D;IAC5D,OAAO,IAAIK,eAA2B;QACpCC,OAAO,OAAOC;YACZ,0EAA0E;YAC1E,wEAAwE;YACxE,0BAA0B;YAC1B,IAAI,CAACV,SAAS;gBACZA,UAAU;gBAEV,IAAIT,sCAAsC;oBACxC,MAAMoB,UAAUZ,8BAAAA,OAAAA,KAAAA,IAAAA,2BAA4Ba,QAAQ;oBACpD,IAAID,SAAS;wBACXE,YAAYC,OAAO,CACjB,GAAGrB,QAAQC,GAAG,CAACC,4BAA4B,CAAC,8BAA8B,CAAC,EAC3E;4BACEoB,OAAOJ,QAAQK,wBAAwB;4BACvCC,KACEN,QAAQK,wBAAwB,GAChCL,QAAQO,wBAAwB;wBACpC;oBAEJ;gBACF;gBAEArB,IAAIsB,YAAY;oBAChBjC,oLAAAA,IAAYkC,KAAK,CACfjC,gMAAAA,CAAmBkC,aAAa,EAChC;oBACEC,UAAU;gBACZ,GACA,IAAMC;YAEV;YAEA,IAAI;gBACF,MAAMC,KAAK3B,IAAIY,KAAK,CAACC;gBAErB,sEAAsE;gBACtE,yDAAyD;gBACzD,IAAI,WAAWb,OAAO,OAAOA,IAAI4B,KAAK,KAAK,YAAY;oBACrD5B,IAAI4B,KAAK;gBACX;gBAEA,qEAAqE;gBACrE,8CAA8C;gBAC9C,IAAI,CAACD,IAAI;oBACP,MAAMvB,QAAQyB,OAAO;oBAErB,0EAA0E;oBAC1EzB,cAAUhB,kNAAAA;gBACZ;YACF,EAAE,OAAO0C,KAAK;gBACZ9B,IAAIoB,GAAG;gBACP,MAAM,IAAIW,MAAM,qCAAqC;oBAAEC,OAAOF;gBAAI;YACpE;QACF;QACAG,OAAO,CAACH;YACN,IAAI9B,IAAIkC,gBAAgB,EAAE;YAE1BlC,IAAImC,OAAO,CAACL;QACd;QACAM,OAAO;YACL,mEAAmE;YACnE,uBAAuB;YACvB,IAAInC,iBAAiB;gBACnB,MAAMA;YACR;YAEA,IAAID,IAAIkC,gBAAgB,EAAE;YAE1BlC,IAAIoB,GAAG;YACP,OAAOV,SAASmB,OAAO;QACzB;IACF;AACF;AAEO,eAAeQ,mBACpBC,QAAoC,EACpCtC,GAAmB,EACnBC,eAAkC,EAClCC,0BAAuD;IAEvD,IAAI;QACF,6DAA6D;QAC7D,MAAM,EAAEqC,OAAO,EAAEC,SAAS,EAAE,GAAGxC;QAC/B,IAAIuC,WAAWC,WAAW;QAE1B,wEAAwE;QACxE,sBAAsB;QACtB,MAAMC,iBAAatD,iOAAAA,EAAsBa;QAEzC,MAAM0C,SAAS3C,yBACbC,KACAC,iBACAC;QAGF,MAAMoC,SAASK,MAAM,CAACD,QAAQ;YAAEE,QAAQH,WAAWG,MAAM;QAAC;IAC5D,EAAE,OAAOd,KAAU;QACjB,wDAAwD;QACxD,IAAIvC,aAAauC,MAAM;QAEvB,MAAM,IAAIC,MAAM,2BAA2B;YAAEC,OAAOF;QAAI;IAC1D;AACF;AAEO,eAAee,+BACpBP,QAAkB,EAClBtC,GAAmB,EACnBC,eAAkC,EAClCC,0BAAuD;IAEvD,IAAI;QACF,MAAM,EAAEqC,OAAO,EAAEC,SAAS,EAAE,GAAGxC;QAC/B,IAAIuC,WAAWC,WAAW;QAE1B,IAAIrC,UAAU;QAEd,MAAMO,eAAWtB,kNAAAA;QAEjB,qDAAqD;QACrD,2EAA2E;QAC3E,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,wDAAwD;QACxD,EAAE;QACF,+CAA+C;QAC/C,sEAAsE;QACtE,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI0D,SAAS;QACb,MAAMzC,UAAU;YACd,wEAAwE;YACxE,4DAA4D;YAC5D,IAAI,CAACyC,UAAUR,SAASE,SAAS,EAAE;YAEnCM,SAAS;YACTR,SAASS,MAAM;QACjB;QACA/C,IAAIO,EAAE,CAAC,SAASF;QAEhBL,IAAIQ,IAAI,CAAC,SAAS;YAChB,uEAAuE;YACvE,wEAAwE;YACxE,wDAAwD;YACxDR,IAAIS,GAAG,CAAC,SAASJ;YACjBiC,SAASH,OAAO;YAChBzB,SAASJ,OAAO;QAClB;QAEAgC,SAAS/B,EAAE,CAAC,QAAQ,CAACM;YACnB,IAAI,CAACV,SAAS;gBACZA,UAAU;gBAEV,IACE,iBAAiBR,cACjBC,QAAQC,GAAG,CAACC,4BAA4B,EACxC;oBACA,MAAMgB,UAAUZ,8BAAAA,OAAAA,KAAAA,IAAAA,2BAA4Ba,QAAQ;oBACpD,IAAID,SAAS;wBACXE,YAAYC,OAAO,CACjB,GAAGrB,QAAQC,GAAG,CAACC,4BAA4B,CAAC,8BAA8B,CAAC,EAC3E;4BACEoB,OAAOJ,QAAQK,wBAAwB;4BACvCC,KACEN,QAAQK,wBAAwB,GAChCL,QAAQO,wBAAwB;wBACpC;oBAEJ;gBACF;gBAEArB,IAAIsB,YAAY;oBAChBjC,oLAAAA,IAAYkC,KAAK,CACfjC,gMAAAA,CAAmBkC,aAAa,EAChC;oBACEC,UAAU;gBACZ,GACA,IAAMC;YAEV;YAEA,MAAMC,KAAK3B,IAAIY,KAAK,CAACC;YAErB,IAAI,WAAWb,OAAO,OAAOA,IAAI4B,KAAK,KAAK,YAAY;gBACrD5B,IAAI4B,KAAK;YACX;YAEA,IAAI,CAACD,IAAI;gBACPmB,SAAS;gBACTR,SAASU,KAAK;YAChB;QACF;QAEAV,SAAS/B,EAAE,CAAC,OAAO;YACjB,IAAIN,iBAAiB;gBACnB,MAAMA;YACR;YAEA,IAAI,CAACD,IAAIkC,gBAAgB,EAAE;gBACzBlC,IAAIoB,GAAG;YACT;YAEAV,SAASJ,OAAO;QAClB;QAEAgC,SAAS/B,EAAE,CAAC,SAAS,CAACuB;YACpB,IAAIvC,aAAauC,MAAM;gBACrBpB,SAASJ,OAAO;gBAChB;YACF;YAEAN,IAAImC,OAAO,CAACL;YACZpB,SAASJ,OAAO;QAClB;QAEA,MAAMI,SAASmB,OAAO;IACxB,EAAE,OAAOC,KAAU;QACjB,IAAIvC,aAAauC,MAAM;QAEvB,MAAM,IAAIC,MAAM,2BAA2B;YAAEC,OAAOF;QAAI;IAC1D;AACF","ignoreList":[0]}}, + {"offset": {"line": 5035, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/render-result.ts"],"sourcesContent":["import type { OutgoingHttpHeaders, ServerResponse } from 'http'\nimport type { Readable } from 'stream'\nimport type { CacheControl } from './lib/cache-control'\nimport type { FetchMetrics } from './base-http'\nimport type { PrefetchHints } from '../shared/lib/app-router-types'\nimport type { ClientComponentLoadTracker } from './client-component-renderer-logger'\n\nimport {\n chainStreams,\n streamFromBuffer,\n streamFromString,\n streamToString,\n} from './stream-utils/node-web-streams-helper'\nimport {\n isAbortError,\n pipeToNodeResponse,\n pipeNodeReadableToNodeResponse,\n} from './pipe-readable'\nimport type { RenderResumeDataCache } from './resume-data-cache/resume-data-cache'\nimport { InvariantError } from '../shared/lib/invariant-error'\nimport type {\n HTML_CONTENT_TYPE_HEADER,\n JSON_CONTENT_TYPE_HEADER,\n TEXT_PLAIN_CONTENT_TYPE_HEADER,\n} from '../lib/constants'\nimport type { RSC_CONTENT_TYPE_HEADER } from '../client/components/app-router-headers'\n\ntype ContentTypeOption =\n | typeof RSC_CONTENT_TYPE_HEADER // For App Page RSC responses\n | typeof HTML_CONTENT_TYPE_HEADER // For App Page, Pages HTML responses\n | typeof JSON_CONTENT_TYPE_HEADER // For API routes, Next.js data requests\n | typeof TEXT_PLAIN_CONTENT_TYPE_HEADER // For simplified errors\n\nexport type AppPageRenderResultMetadata = {\n /** Request-local metrics for the first response write. Never cache this. */\n clientComponentLoadTracker?: ClientComponentLoadTracker\n flightData?: Buffer\n cacheControl?: CacheControl\n staticBailoutInfo?: {\n stack?: string\n description?: string\n }\n\n /**\n * The postponed state if the render had postponed and needs to be resumed.\n */\n postponed?: string\n\n /**\n * Whether the prerender left any UI pending in a Suspense boundary. This is\n * reported directly by React's prerender result before Next.js resumes\n * client-only boundaries.\n */\n hasPendingUi?: boolean\n\n /**\n * The headers to set on the response that were added by the render.\n */\n headers?: OutgoingHttpHeaders\n statusCode?: number\n fetchTags?: string\n fetchMetrics?: FetchMetrics\n\n segmentData?: Map\n\n /**\n * Per-route prefetch hints computed at build time (e.g. segment inlining\n * decisions based on gzip sizes). Written to prefetch-hints.json by the\n * build pipeline.\n */\n prefetchHints?: PrefetchHints\n\n /**\n * In development, the resume data cache is warmed up before the render. This\n * is attached to the metadata so that it can be used during the render. When\n * prerendering, the filled resume data cache is also attached to the metadata\n * so that it can be used when prerendering matching fallback shells.\n */\n renderResumeDataCache?: RenderResumeDataCache\n}\n\nexport type PrerenderFailure = {\n readonly error: Error\n readonly result: RenderResult<\n Pick<\n AppPageRenderResultMetadata,\n 'headers' | 'flightData' | 'fetchMetrics' | 'postponed'\n >\n >\n}\n\nexport type PrerenderResult =\n | RenderResult\n | PrerenderFailure\n\nexport type PagesRenderResultMetadata = {\n pageData?: any\n cacheControl?: CacheControl\n isNotFound?: boolean\n isRedirect?: boolean\n}\n\nexport type StaticRenderResultMetadata = {}\n\nexport type RenderResultMetadata = AppPageRenderResultMetadata &\n PagesRenderResultMetadata &\n StaticRenderResultMetadata\n\nexport type RenderResultResponse =\n | ReadableStream[]\n | ReadableStream\n | Readable\n | string\n | Buffer\n | null\n\nexport type RenderResultOptions<\n Metadata extends RenderResultMetadata = RenderResultMetadata,\n> = {\n contentType: ContentTypeOption | null\n waitUntil?: Promise\n metadata: Metadata\n}\n\nfunction isNodeReadable(value: unknown): value is Readable {\n return (\n value !== null &&\n typeof value === 'object' &&\n typeof (value as Record).pipe === 'function' &&\n typeof (value as Record).on === 'function' &&\n !(value instanceof ReadableStream)\n )\n}\n\nexport default class RenderResult<\n Metadata extends RenderResultMetadata = RenderResultMetadata,\n> {\n /**\n * The detected content type for the response. This is used to set the\n * `Content-Type` header.\n */\n public readonly contentType: ContentTypeOption | null\n\n /**\n * The metadata for the response. This is used to set the revalidation times\n * and other metadata.\n */\n public readonly metadata: Readonly\n\n /**\n * The response itself. This can be a string, a stream, or null. If it's a\n * string, then it's a static response. If it's a stream, then it's a\n * dynamic response. If it's null, then the response was not found or was\n * already sent.\n */\n private response: RenderResultResponse\n\n /**\n * A render result that represents an empty response. This is used to\n * represent a response that was not found or was already sent.\n */\n public static readonly EMPTY = new RenderResult(\n null,\n { metadata: {}, contentType: null }\n )\n\n /**\n * Creates a new RenderResult instance from a static response.\n *\n * @param value the static response value\n * @param contentType the content type of the response\n * @returns a new RenderResult instance\n */\n public static fromStatic(\n value: string | Buffer,\n contentType: ContentTypeOption\n ) {\n return new RenderResult(value, {\n metadata: {},\n contentType,\n })\n }\n\n private readonly waitUntil?: Promise\n\n constructor(\n response: RenderResultResponse,\n { contentType, waitUntil, metadata }: RenderResultOptions\n ) {\n this.response = response\n this.contentType = contentType\n this.metadata = metadata\n this.waitUntil = waitUntil\n }\n\n public assignMetadata(metadata: Metadata) {\n Object.assign(this.metadata, metadata)\n }\n\n /**\n * Returns true if the response is null. It can be null if the response was\n * not found or was already sent.\n */\n public get isNull(): boolean {\n return this.response === null\n }\n\n /**\n * Returns false if the response is a string. It can be a string if the page\n * was prerendered. If it's not, then it was generated dynamically.\n */\n public get isDynamic(): boolean {\n return typeof this.response !== 'string'\n }\n\n /**\n * Returns the response if it is a string. If the page was dynamic, this will\n * return a promise if the `stream` option is true, or it will throw an error.\n *\n * @param stream Whether or not to return a promise if the response is dynamic\n * @returns The response as a string\n */\n public toUnchunkedString(stream?: false): string\n public toUnchunkedString(stream: true): Promise\n public toUnchunkedString(stream = false): Promise | string {\n if (this.response === null) {\n // If the response is null, return an empty string. This behavior is\n // intentional as we're now providing the `RenderResult.EMPTY` value.\n return ''\n }\n\n if (typeof this.response !== 'string') {\n if (!stream) {\n throw new InvariantError(\n 'dynamic responses cannot be unchunked. This is a bug in Next.js'\n )\n }\n\n return streamToString(this.readable)\n }\n\n return this.response\n }\n\n /**\n * Returns a readable stream of the response.\n */\n private get readable(): ReadableStream {\n if (this.response === null) {\n // If the response is null, return an empty stream. This behavior is\n // intentional as we're now providing the `RenderResult.EMPTY` value.\n return new ReadableStream({\n start(controller) {\n controller.close()\n },\n })\n }\n\n if (typeof this.response === 'string') {\n return streamFromString(this.response)\n }\n\n if (Buffer.isBuffer(this.response)) {\n return streamFromBuffer(this.response)\n }\n\n // If the response is an array of streams, then chain them together.\n if (Array.isArray(this.response)) {\n return chainStreams(...this.response)\n }\n\n if (isNodeReadable(this.response)) {\n if (process.env.NEXT_RUNTIME === 'edge') {\n throw new InvariantError(\n 'Node.js Readable cannot be converted to a web stream in the edge runtime'\n )\n } else {\n let Readable: typeof import('node:stream').Readable\n if (process.env.TURBOPACK) {\n Readable = (require('node:stream') as typeof import('node:stream'))\n .Readable\n } else {\n Readable = (\n __non_webpack_require__(\n 'node:stream'\n ) as typeof import('node:stream')\n ).Readable\n }\n return Readable.toWeb(this.response) as ReadableStream\n }\n }\n\n return this.response\n }\n\n /**\n * Coerces the response to an array of streams. This will convert the response\n * to an array of streams if it is not already one.\n *\n * @returns An array of streams\n */\n private coerce(): ReadableStream[] {\n if (this.response === null) {\n // If the response is null, return an empty stream. This behavior is\n // intentional as we're now providing the `RenderResult.EMPTY` value.\n return []\n }\n\n if (typeof this.response === 'string') {\n return [streamFromString(this.response)]\n } else if (Array.isArray(this.response)) {\n return this.response\n } else if (Buffer.isBuffer(this.response)) {\n return [streamFromBuffer(this.response)]\n } else if (isNodeReadable(this.response)) {\n if (process.env.NEXT_RUNTIME === 'edge') {\n throw new InvariantError(\n 'Node.js Readable cannot be converted to a web stream in the edge runtime'\n )\n } else {\n let Readable: typeof import('node:stream').Readable\n if (process.env.TURBOPACK) {\n Readable = (require('node:stream') as typeof import('node:stream'))\n .Readable\n } else {\n Readable = (\n __non_webpack_require__(\n 'node:stream'\n ) as typeof import('node:stream')\n ).Readable\n }\n return [Readable.toWeb(this.response) as ReadableStream]\n }\n } else {\n return [this.response]\n }\n }\n\n /**\n * Pipes the response through a transform stream. This converts the response\n * to a single readable stream (chaining if needed) and pipes it through the\n * provided transform.\n *\n * @param transform The transform stream to pipe through\n */\n public pipeThrough(transform: TransformStream): void {\n this.response = this.readable.pipeThrough(transform)\n }\n\n /**\n * Unshifts a new stream to the response. This will convert the response to an\n * array of streams if it is not already one and will add the new stream to\n * the start of the array. When this response is piped, all of the streams\n * will be piped one after the other.\n *\n * @param readable The new stream to unshift\n */\n public unshift(readable: ReadableStream): void {\n // Coerce the response to an array of streams.\n this.response = this.coerce()\n\n // Add the new stream to the start of the array.\n this.response.unshift(readable)\n }\n\n /**\n * Chains a new stream to the response. This will convert the response to an\n * array of streams if it is not already one and will add the new stream to\n * the end. When this response is piped, all of the streams will be piped\n * one after the other.\n *\n * @param readable The new stream to chain\n */\n public push(readable: ReadableStream): void {\n // Coerce the response to an array of streams.\n this.response = this.coerce()\n\n // Add the new stream to the end of the array.\n this.response.push(readable)\n }\n\n /**\n * Pipes the response to a writable stream. This will close/cancel the\n * writable stream if an error is encountered. If this doesn't throw, then\n * the writable stream will be closed or aborted.\n *\n * @param writable Writable stream to pipe the response to\n */\n public async pipeTo(writable: WritableStream): Promise {\n try {\n await this.readable.pipeTo(writable, {\n // We want to close the writable stream ourselves so that we can wait\n // for the waitUntil promise to resolve before closing it. If an error\n // is encountered, we'll abort the writable stream if we swallowed the\n // error.\n preventClose: true,\n })\n\n // If there is a waitUntil promise, wait for it to resolve before\n // closing the writable stream.\n if (this.waitUntil) await this.waitUntil\n\n // Close the writable stream.\n await writable.close()\n } catch (err) {\n // If this is an abort error, we should abort the writable stream (as we\n // took ownership of it when we started piping). We don't need to re-throw\n // because we handled the error.\n if (isAbortError(err)) {\n // Abort the writable stream if an error is encountered.\n await writable.abort(err)\n\n return\n }\n\n // We're not aborting the writer here as when this method throws it's not\n // clear as to how so the caller should assume it's their responsibility\n // to clean up the writer.\n throw err\n }\n }\n\n /**\n * Pipes the response to a node response. This will close/cancel the node\n * response if an error is encountered.\n *\n * @param res\n */\n public async pipeToNodeResponse(res: ServerResponse) {\n if (\n this.response !== null &&\n typeof this.response !== 'string' &&\n !Buffer.isBuffer(this.response) &&\n !Array.isArray(this.response) &&\n isNodeReadable(this.response)\n ) {\n await pipeNodeReadableToNodeResponse(\n this.response,\n res,\n this.waitUntil,\n this.metadata.clientComponentLoadTracker\n )\n return\n }\n await pipeToNodeResponse(\n this.readable,\n res,\n this.waitUntil,\n this.metadata.clientComponentLoadTracker\n )\n }\n}\n"],"names":["chainStreams","streamFromBuffer","streamFromString","streamToString","isAbortError","pipeToNodeResponse","pipeNodeReadableToNodeResponse","InvariantError","isNodeReadable","value","pipe","on","ReadableStream","RenderResult","EMPTY","metadata","contentType","fromStatic","constructor","response","waitUntil","assignMetadata","Object","assign","isNull","isDynamic","toUnchunkedString","stream","readable","start","controller","close","Buffer","isBuffer","Array","isArray","process","env","NEXT_RUNTIME","Readable","TURBOPACK","require","__non_webpack_require__","toWeb","coerce","pipeThrough","transform","unshift","push","pipeTo","writable","preventClose","err","abort","res","clientComponentLoadTracker"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5266, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/request-meta.ts"],"sourcesContent":["import type { IncomingMessage, ServerResponse } from 'http'\nimport type { ParsedUrlQuery } from 'querystring'\nimport type { UrlWithParsedQuery } from 'url'\nimport type { BaseNextRequest } from './base-http'\nimport type { CloneableBody } from './body-streams'\nimport type { RouteMatch } from './route-matches/route-match'\nimport type { NEXT_RSC_UNION_QUERY } from '../client/components/app-router-headers'\nimport type {\n ResponseCacheEntry,\n ServerComponentsHmrCache,\n} from './response-cache'\nimport type { PagesDevOverlayBridgeType } from '../next-devtools/userspace/pages/pages-dev-overlay-setup'\nimport type { OpaqueFallbackRouteParams } from './request/fallback-params'\nimport type { IncrementalCache } from './lib/incremental-cache'\nimport type { RevalidateFn } from './lib/router-utils/router-server-context'\nimport type { NextRequest } from './web/exports'\n\n// FIXME: (wyattjoh) this is a temporary solution to allow us to pass data between bundled modules\nexport const NEXT_REQUEST_META = Symbol.for('NextInternalRequestMeta')\n\nexport type NextIncomingMessage = (\n | BaseNextRequest\n | IncomingMessage\n | NextRequest\n) & {\n [NEXT_REQUEST_META]?: RequestMeta\n}\n\n/**\n * The callback function to call when a response cache entry was generated or\n * looked up in the cache. When it returns true, the server assumes that the\n * handler has already responded to the request and will not do so itself.\n */\nexport type OnCacheEntryHandler = (\n /**\n * The response cache entry that was generated or looked up in the cache.\n */\n cacheEntry: ResponseCacheEntry,\n\n /**\n * The request metadata.\n */\n requestMeta: {\n /**\n * The URL that was used to make the request.\n */\n url: string | undefined\n }\n) => Promise | boolean | void\n\nexport interface RequestMeta {\n /**\n * The query that was used to make the request.\n */\n initQuery?: ParsedUrlQuery\n\n /**\n * The URL that was used to make the request.\n */\n initURL?: string\n\n /**\n * The protocol that was used to make the request.\n */\n initProtocol?: string\n\n /**\n * The body that was read from the request. This is used to allow the body to\n * be read multiple times.\n */\n clonableBody?: CloneableBody\n\n /**\n * True when the request matched a locale domain that was configured in the\n * next.config.js file.\n */\n isLocaleDomain?: boolean\n\n /**\n * True when the request had locale information stripped from the pathname\n * part of the URL.\n */\n didStripLocale?: boolean\n\n /**\n * If the request had its URL rewritten, this is the pathname it was rewritten\n * to (not a full URL, just the pathname).\n */\n rewrittenPathname?: string\n\n /**\n * The cookies that were added by middleware and were added to the response.\n */\n middlewareCookie?: string[]\n\n /**\n * The match on the request for a given route.\n */\n match?: RouteMatch\n\n /**\n * The incremental cache to use for the request.\n */\n incrementalCache?: IncrementalCache\n\n /**\n * The server components HMR cache, only for dev.\n */\n serverComponentsHmrCache?: ServerComponentsHmrCache\n\n /**\n * The hash of the most recent server component change (dev only), set by the\n * router-server from the hot-reloader. Included in `\"use cache\"` cache keys\n * so that cached entries are revalidated after an edit, for every client,\n * regardless of whether it runs the HMR client.\n */\n hmrRefreshHash?: string\n\n /**\n * Equals the segment path that was used for the prefetch RSC request.\n */\n segmentPrefetchRSCRequest?: string\n\n /**\n * True when the request is for the prefetch flight data.\n */\n isPrefetchRSCRequest?: true\n\n /**\n * True when the request is for the flight data.\n */\n isRSCRequest?: true\n\n /**\n * A search param set by the Next.js client when performing RSC requests.\n * Because some CDNs do not vary their cache entries on our custom headers,\n * this search param represents a hash of the header values. For any cached\n * RSC request, we should verify that the hash matches before responding.\n * Otherwise this can lead to cache poisoning.\n * TODO: Consider not using custom request headers at all, and instead encode\n * everything into the search param.\n */\n cacheBustingSearchParam?: string\n\n /**\n * True when the request is for the `/_next/data` route using the pages\n * router.\n */\n isNextDataReq?: true\n\n /**\n * Postponed state to use for resumption. When absent, the request is not a\n * resume request. A non-empty string contains the state to resume, while an\n * empty string represents a resume request without postponed state and\n * signals that the renderer should perform a full dynamic render.\n *\n * There are no guarantees that the page actually postponed, as verifying\n * that would incur an additional cache lookup.\n */\n postponed?: string\n\n /**\n * The action body extracted from a server action request when the postponed\n * state was prepended to the body by the proxy. This allows the action\n * handler to read the action payload without re-reading the consumed stream.\n */\n actionBody?: Buffer\n\n /**\n * If provided, this will be called when a response cache entry was generated\n * or looked up in the cache.\n *\n * @deprecated Use `onCacheEntryV2` instead.\n */\n onCacheEntry?: OnCacheEntryHandler\n\n /**\n * If provided, this will be called when a response cache entry was generated\n * or looked up in the cache.\n */\n onCacheEntryV2?: OnCacheEntryHandler\n\n /**\n * The previous revalidate before rendering 404 page for notFound: true\n */\n notFoundRevalidate?: number | false\n\n /**\n * In development, the original source page that returned a 404.\n */\n developmentNotFoundSourcePage?: string\n\n /**\n * The path we routed to and should be invoked\n */\n invokePath?: string\n\n /**\n * The specific page output we should be matching\n */\n invokeOutput?: string\n\n /**\n * The status we are invoking the request with from routing\n */\n invokeStatus?: number\n\n /**\n * The routing error we are invoking with\n */\n invokeError?: Error\n\n /**\n * The query parsed for the invocation\n */\n invokeQuery?: Record\n\n /**\n * Whether the request is a middleware invocation\n */\n middlewareInvoke?: boolean\n\n /**\n * Whether the request should render the fallback shell or not.\n */\n renderFallbackShell?: boolean\n\n /**\n * Route param keys that were explicitly resolved from partial nxtP*\n * query params during background revalidation. Used by app-page.ts to\n * determine which fallback params should remain deferred vs resolved\n * in intermediate PPR shells.\n */\n resolvedRouteParamKeys?: Set\n\n /**\n * Whether the request is for the custom error page.\n */\n customErrorRender?: true\n\n /**\n * Whether to bubble up the NoFallbackError to the caller when a 404 is\n * returned.\n */\n bubbleNoFallback?: true\n\n /**\n * True when the request had locale information inferred from the default\n * locale.\n */\n localeInferredFromDefault?: true\n\n /**\n * The locale that was inferred or explicitly set for the request.\n */\n locale?: string\n\n /**\n * The default locale that was inferred or explicitly set for the request.\n */\n defaultLocale?: string\n\n /**\n * The relative project dir the server is running in from project root\n */\n relativeProjectDir?: string\n\n /**\n * The dist directory the server is currently using\n */\n distDir?: string\n\n /**\n Optional hostname used by route handlers when constructing absolute URLs.\n hostname: '127.0.0.1',\n */\n hostname?: string\n\n /**\n Optional internal revalidate function to avoid revalidating over the network\n */\n revalidate?: RevalidateFn\n\n /**\n Optional function to render the 404 page for pages router `notFound: true`\n */\n render404?: (\n req: IncomingMessage,\n res: ServerResponse,\n parsedUrl?: UrlWithParsedQuery,\n setHeaders?: boolean\n ) => Promise\n\n /**\n * The query after resolving routes\n */\n query?: ParsedUrlQuery\n\n /**\n * The params after resolving routes\n */\n params?: ParsedUrlQuery\n\n /**\n * ErrorOverlay component to use in development for pages router\n */\n PagesErrorDebug?: PagesDevOverlayBridgeType\n\n /**\n * Whether server is in minimal mode (this will be replaced with more\n * specific flags in future)\n */\n minimalMode?: boolean\n\n /**\n * Staged renders defer these route params until after the static stage. They\n * keep their concrete request values instead of replacing them with\n * placeholders. Dev static-shell validation uses the same set for the\n * selected shell.\n *\n * For `/t2/items/b2` with selected shell `/t2/items/[bottom]`, this map\n * contains only `bottom`:\n * - A layout's `params` containing only `top` can resolve statically.\n * - A page's `params` containing `bottom` waits until after the static stage.\n *\n * A set recorded in postponed state overrides this metadata on a resume,\n * including an explicitly empty set.\n */\n stagedFallbackParams?: OpaqueFallbackRouteParams | null\n\n /**\n * Dev static-shell debug renders use these params to prerender the matched\n * source shell. The Instant Navigation Testing API uses this path too. The\n * prerender substitutes opaque placeholders for these params rather than\n * using their request values.\n *\n * Suppose `generateStaticParams` returns `[{ top: 't1' }]` for\n * `/[top]/items/[bottom]`. A request for `/t2/items/b2` has:\n * - Source `/[top]/items/[bottom]`: `top` and `bottom` are unresolved.\n * - Completed shell `/t2/items/[bottom]`: only `bottom` is unresolved.\n *\n * This map contains the source's `top` and `bottom`. A debug render of that\n * source also uses this map as `stagedFallbackParams`.\n */\n fallbackRouteParams?: OpaqueFallbackRouteParams | null\n\n /** DEV only: parameter matching rejected this request as not found. */\n devParamMatchingRejected?: boolean\n\n /** DEV only: closed parameters, including for successful allowed values. */\n devNotFoundParams?: readonly string[]\n\n /**\n * DEV only: Request timings in process.hrtime.bigint()\n */\n devRequestTimingStart?: bigint\n devRequestTimingMiddlewareStart?: bigint\n devRequestTimingMiddlewareEnd?: bigint\n devRequestTimingInternalsEnd?: bigint\n\n /**\n * DEV only: The duration of getStaticPaths/generateStaticParams in process.hrtime.bigint()\n */\n devGenerateStaticParamsDuration?: bigint\n\n /**\n * DEV only: Server action log info to be logged after the request log\n */\n devServerActionLog?: {\n functionName: string\n args: unknown[]\n location: string\n duration: number\n }\n}\n\n/**\n * Gets the request metadata. If no key is provided, the entire metadata object\n * is returned.\n *\n * @param req the request to get the metadata from\n * @param key the key to get from the metadata (optional)\n * @returns the value for the key or the entire metadata object\n */\nexport function getRequestMeta(\n req: NextIncomingMessage,\n key?: undefined\n): RequestMeta\nexport function getRequestMeta(\n req: NextIncomingMessage,\n key: K\n): RequestMeta[K]\nexport function getRequestMeta(\n req: NextIncomingMessage,\n key?: K\n): RequestMeta | RequestMeta[K] {\n const meta = req[NEXT_REQUEST_META] || {}\n return typeof key === 'string' ? meta[key] : meta\n}\n\n/**\n * Sets the request metadata.\n *\n * @param req the request to set the metadata on\n * @param meta the metadata to set\n * @returns the mutated request metadata\n */\nexport function setRequestMeta(req: NextIncomingMessage, meta: RequestMeta) {\n req[NEXT_REQUEST_META] = meta\n return meta\n}\n\n/**\n * Adds a value to the request metadata.\n *\n * @param request the request to mutate\n * @param key the key to set\n * @param value the value to set\n * @returns the mutated request metadata\n */\nexport function addRequestMeta(\n request: NextIncomingMessage,\n key: K,\n value: RequestMeta[K]\n) {\n const meta = getRequestMeta(request)\n meta[key] = value\n return setRequestMeta(request, meta)\n}\n\n/**\n * Removes a key from the request metadata.\n *\n * @param request the request to mutate\n * @param key the key to remove\n * @returns the mutated request metadata\n */\nexport function removeRequestMeta(\n request: NextIncomingMessage,\n key: K\n) {\n const meta = getRequestMeta(request)\n delete meta[key]\n return setRequestMeta(request, meta)\n}\n\ntype NextQueryMetadata = {\n /**\n * The `_rsc` query parameter used for cache busting to ensure that the RSC\n * requests do not get cached by the browser explicitly.\n */\n [NEXT_RSC_UNION_QUERY]?: string\n}\n\nexport type NextParsedUrlQuery = ParsedUrlQuery & NextQueryMetadata\n\n/**\n * subset of `url.parse` return value\n */\ninterface LegacyUrl {\n auth?: string | null\n hash: string | null\n hostname: string | null\n href: string\n pathname: string | null\n protocol: string | null\n search: string | null\n slashes: boolean | null\n port: string | null\n query: string | null | ParsedUrlQuery\n}\ninterface LegacyUrlWithParsedQuery extends LegacyUrl {\n query: ParsedUrlQuery\n}\n\n// TODO: Remove in favor of WHATWG URLs\nexport interface NextUrlWithParsedQuery extends LegacyUrlWithParsedQuery {\n query: NextParsedUrlQuery\n}\n"],"names":["NEXT_REQUEST_META","Symbol","for","getRequestMeta","req","key","meta","setRequestMeta","addRequestMeta","request","value","removeRequestMeta"],"mappings":"AAiBA,kGAAkG;;;;;;;;;;;;;AAC3F,MAAMA,oBAAoBC,OAAOC,GAAG,CAAC,2BAA0B;AAsX/D,SAASC,eACdC,GAAwB,EACxBC,GAAO;IAEP,MAAMC,OAAOF,GAAG,CAACJ,kBAAkB,IAAI,CAAC;IACxC,OAAO,OAAOK,QAAQ,WAAWC,IAAI,CAACD,IAAI,GAAGC;AAC/C;AASO,SAASC,eAAeH,GAAwB,EAAEE,IAAiB;IACxEF,GAAG,CAACJ,kBAAkB,GAAGM;IACzB,OAAOA;AACT;AAUO,SAASE,eACdC,OAA4B,EAC5BJ,GAAM,EACNK,KAAqB;IAErB,MAAMJ,OAAOH,eAAeM;IAC5BH,IAAI,CAACD,IAAI,GAAGK;IACZ,OAAOH,eAAeE,SAASH;AACjC;AASO,SAASK,kBACdF,OAA4B,EAC5BJ,GAAM;IAEN,MAAMC,OAAOH,eAAeM;IAC5B,OAAOH,IAAI,CAACD,IAAI;IAChB,OAAOE,eAAeE,SAASH;AACjC","ignoreList":[0]}}, + {"offset": {"line": 5302, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/response-cache/index.ts"],"sourcesContent":["import type { ResponseCacheOwner } from '../lib/route-cache-key'\nimport type {\n ResponseCacheResult,\n ResponseGenerator,\n ResponseCacheBase,\n IncrementalResponseCacheEntry,\n IncrementalResponseCache,\n GetIncrementalResponseCacheContext,\n GetIncrementalImageCacheContext,\n} from './types'\nimport { IncrementalCacheKind } from './types'\nimport { InvariantError } from '../../shared/lib/invariant-error'\n\nimport { Batcher } from '../../lib/batcher'\nimport { LRUCache } from '../lib/lru-cache'\nimport { warnOnce } from '../../build/output/log'\nimport { scheduleOnNextTick } from '../../lib/scheduler'\nimport {\n fromResponseCacheEntry,\n routeKindToIncrementalCacheKind,\n toResponseCacheEntry,\n} from './utils'\nimport type { RouteKind } from '../route-kind'\nimport type { PrerenderFailure } from '../render-result'\n\ntype IncrementalResponseCacheResult =\n | IncrementalResponseCacheEntry\n | PrerenderFailure\n | null\n\n/**\n * Parses an environment variable as a positive integer, returning the fallback\n * if the value is missing, not a number, or not positive.\n */\nfunction parsePositiveInt(\n envValue: string | undefined,\n fallback: number\n): number {\n if (!envValue) return fallback\n const parsed = parseInt(envValue, 10)\n return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback\n}\n\n/**\n * Default TTL (in milliseconds) for minimal mode response cache entries.\n * Used for cache hit validation as a fallback for providers that don't\n * send the x-invocation-id header yet.\n *\n * 10 seconds chosen because:\n * - Long enough to dedupe rapid successive requests (e.g., page + data)\n * - Short enough to not serve stale data across unrelated requests\n *\n * Can be configured via `NEXT_PRIVATE_RESPONSE_CACHE_TTL` environment variable.\n */\nconst DEFAULT_TTL_MS = parsePositiveInt(\n process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,\n 10_000\n)\n\n/**\n * Default maximum number of entries in the response cache.\n * Can be configured via `NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE` environment variable.\n */\nconst DEFAULT_MAX_SIZE = parsePositiveInt(\n process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,\n 150\n)\n\n/**\n * Separator used in compound cache keys to join pathname and invocationID.\n * Using null byte (\\0) since it cannot appear in valid URL paths or UUIDs.\n */\nconst KEY_SEPARATOR = '\\0'\n\n/**\n * Sentinel value used for TTL-based cache entries (when invocationID is undefined).\n * Chosen to be a clearly reserved marker for internal cache keys.\n */\nconst TTL_SENTINEL = '__ttl_sentinel__'\n\n/**\n * Entry stored in the LRU cache.\n */\ntype CacheEntry = {\n entry: IncrementalResponseCacheResult\n /**\n * TTL expiration timestamp in milliseconds. Used as a fallback for\n * cache hit validation when providers don't send x-invocation-id.\n * Memory pressure is managed by LRU eviction rather than timers.\n */\n expiresAt: number\n}\n\n/**\n * Creates a compound cache key from pathname and invocationID.\n */\nfunction createCacheKey(\n pathname: string,\n invocationID: string | undefined\n): string {\n return `${pathname}${KEY_SEPARATOR}${invocationID ?? TTL_SENTINEL}`\n}\n\n/**\n * Extracts the invocationID from a compound cache key.\n * Returns undefined if the key used TTL_SENTINEL.\n */\nfunction extractInvocationID(compoundKey: string): string | undefined {\n const separatorIndex = compoundKey.lastIndexOf(KEY_SEPARATOR)\n if (separatorIndex === -1) return undefined\n\n const invocationID = compoundKey.slice(separatorIndex + 1)\n return invocationID === TTL_SENTINEL ? undefined : invocationID\n}\n\nexport * from './types'\n\nexport default class ResponseCache implements ResponseCacheBase {\n // The get and revalidate batchers share pending renders across invocation\n // IDs, including failures. Invocation IDs scope reuse of completed results in\n // the LRU below.\n private readonly getBatcher = Batcher.create<\n { key: string; isOnDemandRevalidate: boolean },\n IncrementalResponseCacheResult,\n string\n >({\n // Ensure on-demand revalidate doesn't block normal requests, it should be\n // safe to run an on-demand revalidate for the same key as a normal request.\n cacheKeyFn: ({ key, isOnDemandRevalidate }) =>\n `${key}-${isOnDemandRevalidate ? '1' : '0'}`,\n // We wait to do any async work until after we've added our promise to\n // `pendingResponses` to ensure that any any other calls will reuse the\n // same promise until we've fully finished our work.\n schedulerFn: scheduleOnNextTick,\n })\n\n private readonly revalidateBatcher = Batcher.create<\n string,\n IncrementalResponseCacheResult\n >({\n // We wait to do any async work until after we've added our promise to\n // `pendingResponses` to ensure that any any other calls will reuse the\n // same promise until we've fully finished our work.\n schedulerFn: scheduleOnNextTick,\n })\n\n /**\n * LRU cache for minimal mode using compound keys (pathname + invocationID).\n * This allows multiple invocations to cache the same pathname without\n * overwriting each other's entries.\n */\n private readonly cache: LRUCache\n\n /**\n * Set of invocation IDs that have had cache entries evicted.\n * Used to detect when the cache size may be too small.\n * Bounded to prevent memory growth.\n */\n private readonly evictedInvocationIDs: Set = new Set()\n\n /**\n * The configured max size, stored for logging.\n */\n private readonly maxSize: number\n\n /**\n * The configured TTL for cache entries in milliseconds.\n */\n private readonly ttl: number\n\n // we don't use minimal_mode name here as this.minimal_mode is\n // statically replace for server runtimes but we need it to\n // be dynamic here\n private minimal_mode?: boolean\n\n private readonly route: ResponseCacheOwner | 'image'\n\n constructor({\n minimalMode,\n route,\n maxSize = DEFAULT_MAX_SIZE,\n ttl = DEFAULT_TTL_MS,\n }: {\n minimalMode: boolean\n route: ResponseCacheOwner | 'image'\n maxSize?: number\n ttl?: number\n }) {\n if (!route) {\n throw new InvariantError('Response cache requires a source route')\n }\n this.route = route\n this.minimal_mode = minimalMode\n this.maxSize = maxSize\n this.ttl = ttl\n\n // Create the LRU cache with eviction tracking\n this.cache = new LRUCache(maxSize, undefined, (compoundKey) => {\n const invocationID = extractInvocationID(compoundKey)\n if (invocationID) {\n // Bound to 100 entries to prevent unbounded memory growth.\n // FIFO eviction is acceptable here because:\n // 1. Invocations are short-lived (single request lifecycle), so older\n // invocations are unlikely to still be active after 100 newer ones\n // 2. This warning mechanism is best-effort for developer guidance—\n // missing occasional eviction warnings doesn't affect correctness\n // 3. If a long-running invocation is somehow evicted and then has\n // another cache entry evicted, it will simply be re-added\n if (this.evictedInvocationIDs.size >= 100) {\n const first = this.evictedInvocationIDs.values().next().value\n if (first) this.evictedInvocationIDs.delete(first)\n }\n this.evictedInvocationIDs.add(invocationID)\n }\n })\n }\n\n /**\n * Gets the response cache entry for the given key.\n *\n * @param key - The key to get the response cache entry for.\n * @param responseGenerator - The response generator to use to generate the response cache entry.\n * @param context - The context for the get request.\n * @returns The response cache entry.\n */\n public async get(\n key: string | null,\n responseGenerator: ResponseGenerator,\n context: {\n routeKind: RouteKind\n isOnDemandRevalidate?: boolean\n isPrefetch?: boolean\n incrementalCache: IncrementalResponseCache\n isRoutePPREnabled?: boolean\n isFallback?: boolean\n waitUntil?: (prom: Promise) => void\n\n /**\n * The invocation ID from the infrastructure. Used to scope the in-memory\n * cache to a single revalidation request in minimal mode. Concurrent\n * invocations can still share a pending render through the batchers.\n */\n invocationID?: string\n }\n ): Promise {\n // If there is no key for the cache, we can't possibly look this up in the\n // cache so just return the result of the response generator.\n if (!key) {\n return responseGenerator({\n hasResolved: false,\n previousCacheEntry: null,\n })\n }\n\n // Check minimal mode cache before doing any other work.\n if (this.minimal_mode) {\n const cacheKey = createCacheKey(key, context.invocationID)\n const cachedItem = this.cache.get(cacheKey)\n\n if (cachedItem) {\n // With invocationID: exact match found - always a hit\n // With TTL mode: must check expiration\n if (context.invocationID !== undefined) {\n return cachedItem.entry !== null && 'error' in cachedItem.entry\n ? cachedItem.entry\n : toResponseCacheEntry(cachedItem.entry)\n }\n\n // TTL entries can be reused by unrelated requests. Exclude failures so\n // those requests can retry instead of receiving a cached error.\n const now = Date.now()\n if (\n (cachedItem.entry === null || !('error' in cachedItem.entry)) &&\n cachedItem.expiresAt > now\n ) {\n return toResponseCacheEntry(cachedItem.entry)\n }\n\n // TTL expired - clean up\n this.cache.remove(cacheKey)\n }\n\n // Warn if this invocation had entries evicted - indicates cache may be too small.\n if (\n context.invocationID &&\n this.evictedInvocationIDs.has(context.invocationID)\n ) {\n warnOnce(\n `Response cache entry was evicted for invocation ${context.invocationID}. ` +\n `Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`\n )\n }\n }\n\n const {\n incrementalCache,\n isOnDemandRevalidate = false,\n isFallback = false,\n isRoutePPREnabled = false,\n isPrefetch = false,\n waitUntil,\n invocationID,\n } = context\n\n const response = await this.getBatcher.batch(\n { key, isOnDemandRevalidate },\n ({ resolve }) => {\n const promise = this.handleGet(\n key,\n responseGenerator,\n {\n incrementalCache,\n isOnDemandRevalidate,\n isFallback,\n isRoutePPREnabled,\n isPrefetch,\n invocationID,\n },\n resolve\n )\n\n // We need to ensure background revalidates are passed to waitUntil.\n if (waitUntil) waitUntil(promise)\n\n return promise\n }\n )\n\n // In minimal mode, each caller with an invocation ID stores the shared\n // failure under its own ID for reuse by related requests. Callers without\n // an invocation ID receive the failure but do not store it in the LRU.\n if (\n this.minimal_mode &&\n response &&\n ('error' in response ? invocationID !== undefined : response.cacheControl)\n ) {\n const cacheKey = createCacheKey(key, invocationID)\n this.cache.set(cacheKey, {\n entry: response,\n expiresAt: Date.now() + this.ttl,\n })\n }\n\n return response !== null && 'error' in response\n ? response\n : toResponseCacheEntry(response)\n }\n\n /**\n * Handles the get request for the response cache.\n *\n * @param key - The key to get the response cache entry for.\n * @param responseGenerator - The response generator to use to generate the response cache entry.\n * @param context - The context for the get request.\n * @param resolve - The resolve function to use to resolve the response cache entry.\n * @returns The response cache entry.\n */\n private async handleGet(\n key: string,\n responseGenerator: ResponseGenerator,\n context: {\n incrementalCache: IncrementalResponseCache\n isOnDemandRevalidate: boolean\n isFallback: boolean\n isRoutePPREnabled: boolean\n isPrefetch: boolean\n invocationID: string | undefined\n },\n resolve: (value: IncrementalResponseCacheResult) => void\n ): Promise {\n let previousIncrementalCacheEntry: IncrementalResponseCacheEntry | null =\n null\n let resolved = false\n\n try {\n // Get the previous cache entry if not in minimal mode\n previousIncrementalCacheEntry = !this.minimal_mode\n ? await context.incrementalCache.get(\n key,\n this.getCacheContext(context.isRoutePPREnabled, context.isFallback)\n )\n : null\n\n // `isStale === -1` signals that the entry is past its `expire` (either\n // via an expired tag or, with `cacheLife({ expire })`, past the route's\n // expire time in the prerender manifest). In that case we must NOT\n // early-resolve with the stale value — instead we fall through to a\n // blocking revalidation so the response returned to the user is fresh.\n if (\n previousIncrementalCacheEntry &&\n !context.isOnDemandRevalidate &&\n previousIncrementalCacheEntry.isStale !== -1\n ) {\n resolve(previousIncrementalCacheEntry)\n resolved = true\n\n if (!previousIncrementalCacheEntry.isStale || context.isPrefetch) {\n // The cached value is still valid, so we don't need to update it yet.\n return previousIncrementalCacheEntry\n }\n }\n\n // Revalidate the cache entry.\n //\n // A prefetch request that missed must run its own response generator\n // rather than joining an in-flight revalidation through the batcher. A\n // background revalidation may be regenerating the concrete (non-fallback)\n // entry for this route — e.g. an ISR fallback-shell upgrade scheduled by\n // an earlier prefetch sub-request. Joining it would serve that concrete\n // result to the prefetch instead of the fallback shell, and which segment\n // wins would depend purely on request timing. Running the generator\n // directly lets every prefetch segment take the same fallback-shell path,\n // independent of any concurrent background upgrade.\n const incrementalResponseCacheEntry =\n context.isPrefetch && previousIncrementalCacheEntry === null\n ? await this.handleRevalidate(\n key,\n context.incrementalCache,\n context.isRoutePPREnabled,\n context.isFallback,\n responseGenerator,\n previousIncrementalCacheEntry,\n resolved\n )\n : await this.revalidate(\n key,\n context.incrementalCache,\n context.isRoutePPREnabled,\n context.isFallback,\n responseGenerator,\n previousIncrementalCacheEntry,\n resolved\n )\n\n if (\n incrementalResponseCacheEntry !== null &&\n 'error' in incrementalResponseCacheEntry &&\n resolved\n ) {\n // The caller already received the stale entry. Report the background\n // failure here, as the catch below does for a thrown error.\n console.error(incrementalResponseCacheEntry.error)\n return null\n }\n\n // Handle null response\n if (!incrementalResponseCacheEntry) {\n // Remove the cache item if it was set so we don't use it again.\n if (this.minimal_mode) {\n const cacheKey = createCacheKey(key, context.invocationID)\n this.cache.remove(cacheKey)\n }\n return null\n }\n\n // Resolve for on-demand revalidation or if not already resolved\n if (context.isOnDemandRevalidate && !resolved) {\n return incrementalResponseCacheEntry\n }\n\n return incrementalResponseCacheEntry\n } catch (err) {\n // If we've already resolved the cache entry, we can't reject as we\n // already resolved the cache entry so log the error here.\n if (resolved) {\n console.error(err)\n return null\n }\n\n throw err\n }\n }\n\n /**\n * Revalidates the cache entry for the given key.\n *\n * @param key - The key to revalidate the cache entry for.\n * @param incrementalCache - The incremental cache to use to revalidate the cache entry.\n * @param isRoutePPREnabled - Whether the route is PPR enabled.\n * @param isFallback - Whether the route is a fallback.\n * @param responseGenerator - The response generator to use to generate the response cache entry.\n * @param previousIncrementalCacheEntry - The previous cache entry to use to revalidate the cache entry.\n * @param hasResolved - Whether the response has been resolved.\n * @param waitUntil - Optional function to register background work.\n * @param invocationID - The invocation ID for cache key scoping.\n * @returns The revalidated cache entry.\n */\n public async revalidate(\n key: string,\n incrementalCache: IncrementalResponseCache,\n isRoutePPREnabled: boolean,\n isFallback: boolean,\n responseGenerator: ResponseGenerator,\n previousIncrementalCacheEntry: IncrementalResponseCacheEntry | null,\n hasResolved: boolean,\n waitUntil?: (prom: Promise) => void\n ) {\n return this.revalidateBatcher.batch(key, () => {\n const promise = this.handleRevalidate(\n key,\n incrementalCache,\n isRoutePPREnabled,\n isFallback,\n responseGenerator,\n previousIncrementalCacheEntry,\n hasResolved\n )\n\n // We need to ensure background revalidates are passed to waitUntil.\n if (waitUntil) waitUntil(promise)\n\n return promise\n })\n }\n\n private async handleRevalidate(\n key: string,\n incrementalCache: IncrementalResponseCache,\n isRoutePPREnabled: boolean,\n isFallback: boolean,\n responseGenerator: ResponseGenerator,\n previousIncrementalCacheEntry: IncrementalResponseCacheEntry | null,\n hasResolved: boolean\n ): Promise {\n let failure: PrerenderFailure\n try {\n // Generate the response cache entry using the response generator.\n const responseCacheEntry = await responseGenerator({\n hasResolved,\n previousCacheEntry: previousIncrementalCacheEntry,\n isRevalidating: true,\n })\n if (!responseCacheEntry) {\n return null\n }\n\n if ('error' in responseCacheEntry) {\n failure = responseCacheEntry\n } else {\n // Convert the response cache entry to an incremental response cache entry.\n const incrementalResponseCacheEntry = await fromResponseCacheEntry({\n ...responseCacheEntry,\n isMiss: !previousIncrementalCacheEntry,\n })\n\n // We want to persist the result only if it has a cache control value\n // defined. The minimal mode LRU write is handled in get() so that every\n // caller, including batched invocations, populates the cache.\n if (incrementalResponseCacheEntry.cacheControl && !this.minimal_mode) {\n await incrementalCache.set(key, incrementalResponseCacheEntry.value, {\n ...this.getCacheContext(isRoutePPREnabled, isFallback),\n cacheControl: incrementalResponseCacheEntry.cacheControl,\n })\n }\n\n return incrementalResponseCacheEntry\n }\n } catch (err) {\n await this.retainPreviousCacheEntry(\n key,\n incrementalCache,\n isRoutePPREnabled,\n isFallback,\n previousIncrementalCacheEntry\n )\n throw err\n }\n\n await this.retainPreviousCacheEntry(\n key,\n incrementalCache,\n isRoutePPREnabled,\n isFallback,\n previousIncrementalCacheEntry\n )\n return failure\n }\n\n // Retain the previous successful value and delay retries after revalidation\n // fails.\n private async retainPreviousCacheEntry(\n key: string,\n incrementalCache: IncrementalResponseCache,\n isRoutePPREnabled: boolean,\n isFallback: boolean,\n previousIncrementalCacheEntry: IncrementalResponseCacheEntry | null\n ): Promise {\n if (previousIncrementalCacheEntry?.cacheControl) {\n const revalidate = Math.min(\n Math.max(previousIncrementalCacheEntry.cacheControl.revalidate || 3, 3),\n 30\n )\n const expire =\n previousIncrementalCacheEntry.cacheControl.expire === undefined\n ? undefined\n : Math.max(\n revalidate + 3,\n previousIncrementalCacheEntry.cacheControl.expire\n )\n\n await incrementalCache.set(key, previousIncrementalCacheEntry.value, {\n ...this.getCacheContext(isRoutePPREnabled, isFallback),\n cacheControl: { revalidate: revalidate, expire: expire },\n })\n }\n }\n\n private getCacheContext(\n isRoutePPREnabled: boolean,\n isFallback: boolean\n ): GetIncrementalResponseCacheContext | GetIncrementalImageCacheContext {\n if (this.route === 'image') {\n return { kind: IncrementalCacheKind.IMAGE, isFallback: false }\n }\n const kind = routeKindToIncrementalCacheKind(this.route.kind)\n if (kind === IncrementalCacheKind.IMAGE) {\n throw new InvariantError('Images must use the image response cache')\n }\n return { route: this.route, kind, isRoutePPREnabled, isFallback }\n }\n}\n"],"names":["IncrementalCacheKind","InvariantError","Batcher","LRUCache","warnOnce","scheduleOnNextTick","fromResponseCacheEntry","routeKindToIncrementalCacheKind","toResponseCacheEntry","parsePositiveInt","envValue","fallback","parsed","parseInt","Number","isFinite","DEFAULT_TTL_MS","process","env","NEXT_PRIVATE_RESPONSE_CACHE_TTL","DEFAULT_MAX_SIZE","NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE","KEY_SEPARATOR","TTL_SENTINEL","createCacheKey","pathname","invocationID","extractInvocationID","compoundKey","separatorIndex","lastIndexOf","undefined","slice","ResponseCache","constructor","minimalMode","route","maxSize","ttl","getBatcher","create","cacheKeyFn","key","isOnDemandRevalidate","schedulerFn","revalidateBatcher","evictedInvocationIDs","Set","minimal_mode","cache","size","first","values","next","value","delete","add","get","responseGenerator","context","hasResolved","previousCacheEntry","cacheKey","cachedItem","entry","now","Date","expiresAt","remove","has","incrementalCache","isFallback","isRoutePPREnabled","isPrefetch","waitUntil","response","batch","resolve","promise","handleGet","cacheControl","set","previousIncrementalCacheEntry","resolved","getCacheContext","isStale","incrementalResponseCacheEntry","handleRevalidate","revalidate","console","error","err","failure","responseCacheEntry","isRevalidating","isMiss","retainPreviousCacheEntry","Math","min","max","expire","kind","IMAGE"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5653, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/response-cache/types.ts"],"sourcesContent":["import type { ResponseCacheOwner } from '../lib/route-cache-key'\nimport type { OutgoingHttpHeaders } from 'http'\nimport type RenderResult from '../render-result'\nimport type { CacheControl, Revalidate } from '../lib/cache-control'\nimport type { RouteKind } from '../route-kind'\nimport type { PrerenderFailure } from '../render-result'\n\nexport interface ResponseCacheBase {\n get(\n key: string | null,\n responseGenerator: ResponseGenerator,\n context: {\n isOnDemandRevalidate?: boolean\n isPrefetch?: boolean\n incrementalCache: IncrementalCache\n /**\n * This is a hint to the cache to help it determine what kind of route\n * this is so it knows where to look up the cache entry from. If not\n * provided it will test the filesystem to check.\n */\n routeKind: RouteKind\n\n /**\n * True if this is a fallback request.\n */\n isFallback?: boolean\n\n /**\n * True if the route is enabled for PPR.\n */\n isRoutePPREnabled?: boolean\n }\n ): Promise\n}\n\n// The server components HMR cache might store other data as well in the future,\n// at which point this should be refactored to a discriminated union type.\nexport interface ServerComponentsHmrCache {\n get(key: string): CachedFetchData | undefined\n set(key: string, data: CachedFetchData): void\n}\n\nexport type CachedFetchData = {\n headers: Record\n body: string\n url: string\n status?: number\n}\n\nexport const enum CachedRouteKind {\n APP_PAGE = 'APP_PAGE',\n APP_ROUTE = 'APP_ROUTE',\n PAGES = 'PAGES',\n FETCH = 'FETCH',\n REDIRECT = 'REDIRECT',\n IMAGE = 'IMAGE',\n}\n\nexport interface CachedFetchValue {\n kind: CachedRouteKind.FETCH\n data: CachedFetchData\n // tags are only present with file-system-cache\n // fetch cache stores tags outside of cache entry\n tags?: string[]\n revalidate: number\n}\n\nexport interface CachedRedirectValue {\n kind: CachedRouteKind.REDIRECT\n props: Object\n}\n\nexport interface CachedAppPageValue {\n kind: CachedRouteKind.APP_PAGE\n // this needs to be a RenderResult so since renderResponse\n // expects that type instead of a string\n html: RenderResult\n rscData: Buffer | undefined\n status: number | undefined\n postponed: string | undefined\n headers: OutgoingHttpHeaders | undefined\n segmentData: Map | undefined\n}\n\nexport interface CachedPageValue {\n kind: CachedRouteKind.PAGES\n // this needs to be a RenderResult so since renderResponse\n // expects that type instead of a string\n html: RenderResult\n pageData: Object\n status: number | undefined\n headers: OutgoingHttpHeaders | undefined\n}\n\nexport interface CachedRouteValue {\n kind: CachedRouteKind.APP_ROUTE\n // this needs to be a RenderResult so since renderResponse\n // expects that type instead of a string\n body: Buffer\n status: number\n headers: OutgoingHttpHeaders\n}\n\nexport interface CachedImageValue {\n kind: CachedRouteKind.IMAGE\n etag: string\n upstreamEtag: string\n buffer: Buffer\n extension: string\n revalidate?: number\n isMiss?: boolean\n isStale?: boolean\n}\n\nexport interface IncrementalCachedAppPageValue {\n kind: CachedRouteKind.APP_PAGE\n // this needs to be a string since the cache expects to store\n // the string value\n html: string\n rscData: Buffer | undefined\n headers: OutgoingHttpHeaders | undefined\n postponed: string | undefined\n status: number | undefined\n segmentData: Map | undefined\n}\n\nexport interface IncrementalCachedPageValue {\n kind: CachedRouteKind.PAGES\n // this needs to be a string since the cache expects to store\n // the string value\n html: string\n pageData: Object\n headers: OutgoingHttpHeaders | undefined\n status: number | undefined\n}\n\nexport interface IncrementalResponseCacheEntry {\n cacheControl?: CacheControl\n /**\n * timestamp in milliseconds to revalidate after\n */\n revalidateAfter?: Revalidate\n /**\n * `-1` here dictates a blocking revalidate should be used\n */\n isStale?: boolean | -1\n isMiss?: boolean\n isFallback?: boolean\n value: Exclude | null\n}\n\nexport interface IncrementalFetchCacheEntry {\n /**\n * `-1` here dictates a blocking revalidate should be used\n */\n isStale?: boolean | -1\n value: CachedFetchValue\n}\n\nexport type IncrementalCacheEntry =\n | IncrementalResponseCacheEntry\n | IncrementalFetchCacheEntry\n\nexport type IncrementalCacheValue =\n | CachedRedirectValue\n | IncrementalCachedPageValue\n | IncrementalCachedAppPageValue\n | CachedImageValue\n | CachedFetchValue\n | CachedRouteValue\n\nexport type ResponseCacheValue =\n | CachedRedirectValue\n | CachedPageValue\n | CachedAppPageValue\n | CachedImageValue\n | CachedRouteValue\n\nexport type ResponseCacheEntry = {\n cacheControl?: CacheControl\n value: ResponseCacheValue | null\n isStale?: boolean | -1\n isMiss?: boolean\n isFallback?: boolean\n}\n\nexport type ResponseCacheResult = ResponseCacheEntry | PrerenderFailure | null\n\n/**\n * @param hasResolved whether the responseGenerator has resolved it's promise\n * @param previousCacheEntry the previous cache entry if it exists or the current\n */\nexport type ResponseGenerator = (state: {\n hasResolved: boolean\n previousCacheEntry?: IncrementalResponseCacheEntry | null\n isRevalidating?: boolean\n span?: any\n\n /**\n * When true, this indicates that the response generator is being called in a\n * context where the response must be generated statically.\n *\n * CRITICAL: This should only currently be used when revalidating due to a\n * dynamic RSC request.\n */\n forceStaticRender?: boolean\n}) => Promise\n\nexport const enum IncrementalCacheKind {\n APP_PAGE = 'APP_PAGE',\n APP_ROUTE = 'APP_ROUTE',\n PAGES = 'PAGES',\n FETCH = 'FETCH',\n IMAGE = 'IMAGE',\n}\n\nexport interface GetIncrementalFetchCacheContext {\n kind: IncrementalCacheKind.FETCH\n revalidate?: Revalidate\n fetchUrl?: string\n fetchIdx?: number\n tags?: string[]\n softTags?: string[]\n}\n\nexport interface GetIncrementalResponseCacheHandlerContext {\n kind: Exclude<\n IncrementalCacheKind,\n IncrementalCacheKind.FETCH | IncrementalCacheKind.IMAGE\n >\n\n /**\n * True if the route is enabled for PPR.\n */\n isRoutePPREnabled?: boolean\n\n /**\n * True if this is a fallback request.\n */\n isFallback: boolean\n}\n\nexport interface GetIncrementalResponseCacheContext\n extends GetIncrementalResponseCacheHandlerContext {\n /** Internal ownership used before invoking the storage handler. */\n route: ResponseCacheOwner\n}\n\nexport interface SetIncrementalFetchCacheContext {\n fetchCache: true\n fetchUrl?: string\n fetchIdx?: number\n tags?: string[]\n isImplicitBuildTimeCache?: boolean\n}\n\nexport interface SetIncrementalResponseCacheHandlerContext {\n fetchCache?: false\n cacheControl?: CacheControl\n\n /**\n * True if the route is enabled for PPR.\n */\n isRoutePPREnabled?: boolean\n\n /**\n * True if this is a fallback request.\n */\n isFallback?: boolean\n}\n\nexport interface SetIncrementalResponseCacheContext\n extends SetIncrementalResponseCacheHandlerContext {\n /** Internal ownership used before invoking the storage handler. */\n route: ResponseCacheOwner\n}\n\nexport interface GetIncrementalImageCacheContext {\n kind: IncrementalCacheKind.IMAGE\n route?: never\n isFallback: false\n isRoutePPREnabled?: false\n}\n\nexport interface SetIncrementalImageCacheContext {\n kind: IncrementalCacheKind.IMAGE\n route?: never\n fetchCache?: false\n cacheControl?: CacheControl\n}\n\nexport interface IncrementalResponseCache {\n get(\n cacheKey: string,\n ctx: GetIncrementalResponseCacheContext | GetIncrementalImageCacheContext\n ): Promise\n set(\n key: string,\n data: Exclude | null,\n ctx: SetIncrementalResponseCacheContext | SetIncrementalImageCacheContext\n ): Promise\n}\n\nexport interface IncrementalCache extends IncrementalResponseCache {\n get(\n cacheKey: string,\n ctx: GetIncrementalFetchCacheContext\n ): Promise\n get(\n cacheKey: string,\n ctx: GetIncrementalResponseCacheContext | GetIncrementalImageCacheContext\n ): Promise\n set(\n key: string,\n data: CachedFetchValue | null,\n ctx: SetIncrementalFetchCacheContext\n ): Promise\n set(\n key: string,\n data: Exclude | null,\n ctx: SetIncrementalResponseCacheContext | SetIncrementalImageCacheContext\n ): Promise\n revalidateTag(\n tags: string | string[],\n durations?: { expire?: number }\n ): Promise\n}\n"],"names":["CachedRouteKind","IncrementalCacheKind"],"mappings":";;;;;;AAiDO,IAAWA,kBAAAA,WAAAA,GAAAA,SAAAA,eAAAA;;;;;;;WAAAA;MAOjB;AAwJM,IAAWC,uBAAAA,WAAAA,GAAAA,SAAAA,oBAAAA;;;;;;WAAAA;MAMjB","ignoreList":[0]}}, + {"offset": {"line": 5680, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/response-cache/utils.ts"],"sourcesContent":["import {\n CachedRouteKind,\n IncrementalCacheKind,\n type CachedAppPageValue,\n type CachedPageValue,\n type IncrementalResponseCacheEntry,\n type ResponseCacheEntry,\n} from './types'\n\nimport RenderResult from '../render-result'\nimport { RouteKind } from '../route-kind'\nimport { HTML_CONTENT_TYPE_HEADER } from '../../lib/constants'\n\nexport async function fromResponseCacheEntry(\n cacheEntry: ResponseCacheEntry\n): Promise {\n return {\n ...cacheEntry,\n value:\n cacheEntry.value?.kind === CachedRouteKind.PAGES\n ? {\n kind: CachedRouteKind.PAGES,\n html: await cacheEntry.value.html.toUnchunkedString(true),\n pageData: cacheEntry.value.pageData,\n headers: cacheEntry.value.headers,\n status: cacheEntry.value.status,\n }\n : cacheEntry.value?.kind === CachedRouteKind.APP_PAGE\n ? {\n kind: CachedRouteKind.APP_PAGE,\n html: await cacheEntry.value.html.toUnchunkedString(true),\n postponed: cacheEntry.value.postponed,\n rscData: cacheEntry.value.rscData,\n headers: cacheEntry.value.headers,\n status: cacheEntry.value.status,\n segmentData: cacheEntry.value.segmentData,\n }\n : cacheEntry.value,\n }\n}\n\nexport async function toResponseCacheEntry(\n response: IncrementalResponseCacheEntry | null\n): Promise {\n if (!response) return null\n\n return {\n isMiss: response.isMiss,\n isStale: response.isStale,\n cacheControl: response.cacheControl,\n isFallback: response.isFallback,\n value:\n response.value?.kind === CachedRouteKind.PAGES\n ? ({\n kind: CachedRouteKind.PAGES,\n html: RenderResult.fromStatic(\n response.value.html,\n HTML_CONTENT_TYPE_HEADER\n ),\n pageData: response.value.pageData,\n headers: response.value.headers,\n status: response.value.status,\n } satisfies CachedPageValue)\n : response.value?.kind === CachedRouteKind.APP_PAGE\n ? ({\n kind: CachedRouteKind.APP_PAGE,\n html: RenderResult.fromStatic(\n response.value.html,\n HTML_CONTENT_TYPE_HEADER\n ),\n rscData: response.value.rscData,\n headers: response.value.headers,\n status: response.value.status,\n postponed: response.value.postponed,\n segmentData: response.value.segmentData,\n } satisfies CachedAppPageValue)\n : response.value,\n }\n}\n\nexport function routeKindToIncrementalCacheKind(\n routeKind: RouteKind\n): Exclude {\n switch (routeKind) {\n case RouteKind.PAGES:\n return IncrementalCacheKind.PAGES\n case RouteKind.APP_PAGE:\n return IncrementalCacheKind.APP_PAGE\n case RouteKind.IMAGE:\n return IncrementalCacheKind.IMAGE\n case RouteKind.APP_ROUTE:\n return IncrementalCacheKind.APP_ROUTE\n case RouteKind.PAGES_API:\n // Pages Router API routes are not cached in the incremental cache.\n throw new Error(`Unexpected route kind ${routeKind}`)\n default:\n return routeKind satisfies never\n }\n}\n"],"names":["CachedRouteKind","IncrementalCacheKind","RenderResult","RouteKind","HTML_CONTENT_TYPE_HEADER","fromResponseCacheEntry","cacheEntry","value","kind","PAGES","html","toUnchunkedString","pageData","headers","status","APP_PAGE","postponed","rscData","segmentData","toResponseCacheEntry","response","isMiss","isStale","cacheControl","isFallback","fromStatic","routeKindToIncrementalCacheKind","routeKind","IMAGE","APP_ROUTE","PAGES_API","Error"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5763, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/revalidation-utils.ts"],"sourcesContent":["import type { WorkStore } from './app-render/work-async-storage.external'\nimport type { IncrementalCache } from './lib/incremental-cache'\nimport { getCacheHandlers } from './use-cache/handlers'\n\n/** Run a callback, and execute any *new* revalidations added during its runtime. */\nexport async function withExecuteRevalidates(\n store: WorkStore | undefined,\n callback: () => Promise\n): Promise {\n if (!store) {\n return callback()\n }\n // If we executed any revalidates during the request, then we don't want to execute them again.\n // save the state so we can check if anything changed after we're done running callbacks.\n const savedRevalidationState = cloneRevalidationState(store)\n try {\n return await callback()\n } finally {\n // Check if we have any new revalidates, and if so, wait until they are all resolved.\n const newRevalidates = diffRevalidationState(\n savedRevalidationState,\n cloneRevalidationState(store)\n )\n await executeRevalidates(store, newRevalidates)\n }\n}\n\ntype RevalidationState = Required<\n Pick<\n WorkStore,\n 'pendingRevalidatedTags' | 'pendingRevalidates' | 'pendingRevalidateWrites'\n >\n>\n\nfunction cloneRevalidationState(store: WorkStore): RevalidationState {\n return {\n // revalidateTag updates revalidatedAt in place when the tag/profile already\n // exists, so snapshot the items as well as the array.\n pendingRevalidatedTags: store.pendingRevalidatedTags\n ? store.pendingRevalidatedTags.map((item) => ({ ...item }))\n : [],\n pendingRevalidates: { ...store.pendingRevalidates },\n pendingRevalidateWrites: store.pendingRevalidateWrites\n ? [...store.pendingRevalidateWrites]\n : [],\n }\n}\n\nfunction diffRevalidationState(\n prev: RevalidationState,\n curr: RevalidationState\n): RevalidationState {\n const prevTagsWithProfile = new Map(\n prev.pendingRevalidatedTags.map((item) => {\n const profileKey =\n typeof item.profile === 'object'\n ? JSON.stringify(item.profile)\n : item.profile || ''\n return [`${item.tag}:${profileKey}`, item.revalidatedAt] as const\n })\n )\n const prevRevalidateWrites = new Set(prev.pendingRevalidateWrites)\n return {\n pendingRevalidatedTags: curr.pendingRevalidatedTags.filter((item) => {\n const profileKey =\n typeof item.profile === 'object'\n ? JSON.stringify(item.profile)\n : item.profile || ''\n const previousRevalidatedAt = prevTagsWithProfile.get(\n `${item.tag}:${profileKey}`\n )\n return (\n previousRevalidatedAt === undefined ||\n item.revalidatedAt > previousRevalidatedAt\n )\n }),\n pendingRevalidates: Object.fromEntries(\n Object.entries(curr.pendingRevalidates).filter(\n ([key]) => !(key in prev.pendingRevalidates)\n )\n ),\n pendingRevalidateWrites: curr.pendingRevalidateWrites.filter(\n (promise) => !prevRevalidateWrites.has(promise)\n ),\n }\n}\n\nasync function revalidateTags(\n tagsWithProfile: Array<{\n tag: string\n profile?: string | { expire?: number }\n }>,\n incrementalCache: IncrementalCache | undefined,\n workStore?: WorkStore\n): Promise {\n if (tagsWithProfile.length === 0) {\n return\n }\n\n const handlers = getCacheHandlers() ?? []\n const promises: Promise[] = []\n\n // Group tags by profile for batch processing\n const tagsByProfile = new Map<\n | string\n | { stale?: number; revalidate?: number; expire?: number }\n | undefined,\n string[]\n >()\n\n for (const item of tagsWithProfile) {\n const profile = item.profile\n // Find existing profile by comparing values\n let existingKey = undefined\n for (const [key] of tagsByProfile) {\n if (\n typeof key === 'string' &&\n typeof profile === 'string' &&\n key === profile\n ) {\n existingKey = key\n break\n }\n if (\n typeof key === 'object' &&\n typeof profile === 'object' &&\n JSON.stringify(key) === JSON.stringify(profile)\n ) {\n existingKey = key\n break\n }\n if (key === profile) {\n existingKey = key\n break\n }\n }\n\n const profileKey = existingKey || profile\n if (!tagsByProfile.has(profileKey)) {\n tagsByProfile.set(profileKey, [])\n }\n tagsByProfile.get(profileKey)!.push(item.tag)\n }\n\n // Process each profile group\n for (const [profile, tagsForProfile] of tagsByProfile) {\n // Look up the cache profile from workStore if available\n let durations: { expire?: number } | undefined\n\n if (profile) {\n let cacheLife:\n | { stale?: number; revalidate?: number; expire?: number }\n | undefined\n\n if (typeof profile === 'object') {\n // Profile is already a cacheLife configuration object\n cacheLife = profile\n } else if (typeof profile === 'string') {\n // Profile is a string key, look it up in workStore\n cacheLife = workStore?.cacheLifeProfiles[profile]\n\n if (!cacheLife) {\n throw new Error(\n `Invalid profile provided \"${profile}\" must be configured under cacheLife in next.config or be \"max\"`\n )\n }\n }\n\n if (cacheLife) {\n durations = {\n expire: cacheLife.expire,\n }\n }\n }\n // If profile is not found and not 'max', durations will be undefined\n // which will trigger immediate expiration in the cache handler\n\n for (const handler of handlers) {\n if (profile) {\n promises.push(handler.updateTags?.(tagsForProfile, durations))\n } else {\n promises.push(handler.updateTags?.(tagsForProfile))\n }\n }\n\n if (incrementalCache) {\n promises.push(incrementalCache.revalidateTag(tagsForProfile, durations))\n }\n }\n\n await Promise.all(promises)\n}\n\nexport function executeRevalidates(\n workStore: WorkStore,\n state?: RevalidationState\n): false | Promise {\n const promises: Promise[] = []\n\n const pendingRevalidatedTags =\n state?.pendingRevalidatedTags ?? workStore.pendingRevalidatedTags ?? []\n\n if (pendingRevalidatedTags.length > 0) {\n promises.push(\n revalidateTags(\n pendingRevalidatedTags,\n workStore.incrementalCache,\n workStore\n )\n )\n }\n\n const pendingRevalidates = Object.values(\n state?.pendingRevalidates ?? workStore.pendingRevalidates ?? {}\n )\n\n promises.push(...pendingRevalidates)\n\n const pendingRevalidateWrites =\n state?.pendingRevalidateWrites ?? workStore.pendingRevalidateWrites ?? []\n\n promises.push(...pendingRevalidateWrites)\n\n if (promises.length === 0) {\n return false\n }\n\n return Promise.all(promises).then(() => undefined)\n}\n"],"names":["getCacheHandlers","withExecuteRevalidates","store","callback","savedRevalidationState","cloneRevalidationState","newRevalidates","diffRevalidationState","executeRevalidates","pendingRevalidatedTags","map","item","pendingRevalidates","pendingRevalidateWrites","prev","curr","prevTagsWithProfile","Map","profileKey","profile","JSON","stringify","tag","revalidatedAt","prevRevalidateWrites","Set","filter","previousRevalidatedAt","get","undefined","Object","fromEntries","entries","key","promise","has","revalidateTags","tagsWithProfile","incrementalCache","workStore","length","handlers","promises","tagsByProfile","existingKey","set","push","tagsForProfile","durations","cacheLife","cacheLifeProfiles","Error","expire","handler","updateTags","revalidateTag","Promise","all","state","values","then"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 5908, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/route-kind.ts"],"sourcesContent":["export const enum RouteKind {\n /**\n * `PAGES` represents all the React pages that are under `pages/`.\n */\n PAGES = 'PAGES',\n /**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */\n PAGES_API = 'PAGES_API',\n /**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */\n APP_PAGE = 'APP_PAGE',\n /**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */\n APP_ROUTE = 'APP_ROUTE',\n\n /**\n * `IMAGE` represents all the images that are generated by `next/image`.\n */\n IMAGE = 'IMAGE',\n}\n"],"names":["RouteKind"],"mappings":";;;;AAAO,IAAWA,YAAAA,WAAAA,GAAAA,SAAAA,SAAAA;IAChB;;GAEC,GAAA,SAAA,CAAA,QAAA,GAAA;IAED;;GAEC,GAAA,SAAA,CAAA,YAAA,GAAA;IAED;;;GAGC,GAAA,SAAA,CAAA,WAAA,GAAA;IAED;;;GAGC,GAAA,SAAA,CAAA,YAAA,GAAA;IAGD;;GAEC,GAAA,SAAA,CAAA,QAAA,GAAA;WAtBeA;MAwBjB","ignoreList":[0]}}, + {"offset": {"line": 5936, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/server-utils.ts"],"sourcesContent":["import type { Rewrite } from '../lib/load-custom-routes'\nimport type { RouteMatchFn } from '../shared/lib/router/utils/route-matcher'\nimport type { NextConfig } from './config'\nimport type { BaseNextRequest } from './base-http'\nimport type { NextUrlWithParsedQuery } from './request-meta'\nimport type { ParsedUrlQuery } from 'querystring'\n\nimport { normalizeLocalePath } from '../shared/lib/i18n/normalize-locale-path'\nimport { getPathMatch } from '../shared/lib/router/utils/path-match'\nimport { getNamedRouteRegex } from '../shared/lib/router/utils/route-regex'\nimport { getRouteMatcher } from '../shared/lib/router/utils/route-matcher'\nimport {\n matchHas,\n prepareDestination,\n} from '../shared/lib/router/utils/prepare-destination'\nimport { removeTrailingSlash } from '../shared/lib/router/utils/remove-trailing-slash'\nimport { normalizeRscURL } from '../shared/lib/router/utils/app-paths'\nimport {\n NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER,\n NEXT_CACHE_REVALIDATED_TAGS_HEADER,\n NEXT_INTERCEPTION_MARKER_PREFIX,\n NEXT_QUERY_PARAM_PREFIX,\n} from '../lib/constants'\nimport { normalizeNextQueryParam } from './web/utils'\nimport type { IncomingHttpHeaders, IncomingMessage } from 'http'\nimport { decodeQueryPathParameter } from './lib/decode-query-path-parameter'\nimport type { DeepReadonly } from '../shared/lib/deep-readonly'\nimport { parseReqUrl } from '../lib/url'\nimport { formatUrl } from '../shared/lib/router/utils/format-url'\n\nfunction filterInternalQuery(\n query: Record,\n paramKeys: string[]\n) {\n // this is used to pass query information in rewrites\n // but should not be exposed in final query\n delete query['nextInternalLocale']\n\n for (const key in query) {\n const isNextQueryPrefix =\n key !== NEXT_QUERY_PARAM_PREFIX && key.startsWith(NEXT_QUERY_PARAM_PREFIX)\n\n const isNextInterceptionMarkerPrefix =\n key !== NEXT_INTERCEPTION_MARKER_PREFIX &&\n key.startsWith(NEXT_INTERCEPTION_MARKER_PREFIX)\n\n if (\n isNextQueryPrefix ||\n isNextInterceptionMarkerPrefix ||\n paramKeys.includes(key)\n ) {\n delete query[key]\n }\n }\n}\n\nexport function normalizeCdnUrl(\n req: BaseNextRequest | IncomingMessage,\n paramKeys: string[]\n) {\n // make sure to normalize req.url from CDNs to strip dynamic and rewrite\n // params from the query which are added during routing\n const _parsedUrl = parseReqUrl(req.url!)\n\n // we can't normalize if we can't parse\n if (!_parsedUrl) {\n return req.url\n }\n delete (_parsedUrl as any).search\n filterInternalQuery(_parsedUrl.query, paramKeys)\n\n req.url = formatUrl(_parsedUrl)\n}\n\nexport function interpolateDynamicPath(\n pathname: string,\n params: ParsedUrlQuery,\n defaultRouteRegex?: ReturnType | undefined\n) {\n if (!defaultRouteRegex) return pathname\n\n for (const param of Object.keys(defaultRouteRegex.groups)) {\n const { optional, repeat } = defaultRouteRegex.groups[param]\n let builtParam = `[${repeat ? '...' : ''}${param}]`\n\n if (optional) {\n builtParam = `[${builtParam}]`\n }\n\n let paramValue: string\n const value = params[param]\n\n if (Array.isArray(value)) {\n paramValue = value.map((v) => v && encodeURIComponent(v)).join('/')\n } else if (value) {\n paramValue = encodeURIComponent(value)\n } else {\n paramValue = ''\n }\n\n if (paramValue || optional) {\n pathname = pathname.replaceAll(builtParam, paramValue)\n }\n }\n\n return pathname\n}\n\nexport function normalizeDynamicRouteParams(\n query: ParsedUrlQuery,\n defaultRouteRegex: ReturnType,\n defaultRouteMatches: ParsedUrlQuery,\n ignoreMissingOptional: boolean\n) {\n const isDefaultValueMatch = (\n candidateValue: string | undefined,\n defaultValue: string\n ) => {\n if (!candidateValue) {\n return false\n }\n\n let normalizedCandidateValue = normalizeRscURL(candidateValue)\n for (let i = 0; i < 3; i++) {\n if (normalizedCandidateValue === defaultValue) {\n return true\n }\n\n const decodedCandidateValue = decodeQueryPathParameter(\n normalizedCandidateValue\n )\n\n if (decodedCandidateValue === normalizedCandidateValue) {\n break\n }\n\n normalizedCandidateValue = decodedCandidateValue\n }\n\n return false\n }\n\n let hasValidParams = true\n let params: ParsedUrlQuery = {}\n\n for (const key of Object.keys(defaultRouteRegex.groups)) {\n let value: string | string[] | undefined = query[key]\n\n if (typeof value === 'string') {\n value = normalizeRscURL(value)\n } else if (Array.isArray(value)) {\n value = value.map(normalizeRscURL)\n }\n\n // if the value matches the default value we can't rely\n // on the parsed params, this is used to signal if we need\n // to parse x-now-route-matches or not\n const defaultValue = defaultRouteMatches![key]\n const isOptional = defaultRouteRegex!.groups[key].optional\n\n const isDefaultValue = Array.isArray(defaultValue)\n ? defaultValue.some((defaultVal) => {\n return Array.isArray(value)\n ? value.some((val) => isDefaultValueMatch(val, defaultVal))\n : isDefaultValueMatch(value, defaultVal)\n })\n : Array.isArray(value)\n ? value.some((val) => isDefaultValueMatch(val, defaultValue as string))\n : isDefaultValueMatch(value, defaultValue as string)\n\n if (\n isDefaultValue ||\n (typeof value === 'undefined' && !(isOptional && ignoreMissingOptional))\n ) {\n return { params: {}, hasValidParams: false }\n }\n\n // non-provided optional values should be undefined so normalize\n // them to undefined\n if (\n isOptional &&\n (!value ||\n (Array.isArray(value) &&\n value.length === 1 &&\n // fallback optional catch-all SSG pages have\n // [[...paramName]] for the root path on Vercel\n (value[0] === 'index' || value[0] === `[[...${key}]]`)) ||\n value === 'index' ||\n value === `[[...${key}]]`)\n ) {\n value = undefined\n delete query[key]\n }\n\n // query values from the proxy aren't already split into arrays\n // so make sure to normalize catch-all values\n if (\n value &&\n typeof value === 'string' &&\n defaultRouteRegex!.groups[key].repeat\n ) {\n value = value.split('/')\n }\n\n if (value) {\n params[key] = value\n }\n }\n\n return {\n params,\n hasValidParams,\n }\n}\n\nexport function getServerUtils({\n page,\n i18n,\n basePath,\n rewrites,\n pageIsDynamic,\n trailingSlash,\n caseSensitive,\n}: {\n page: string\n i18n?: NextConfig['i18n']\n basePath: string\n rewrites: DeepReadonly<{\n fallback?: ReadonlyArray\n afterFiles?: ReadonlyArray\n beforeFiles?: ReadonlyArray\n }>\n pageIsDynamic: boolean\n trailingSlash?: boolean\n caseSensitive: boolean\n}) {\n let defaultRouteRegex: ReturnType | undefined\n let dynamicRouteMatcher: RouteMatchFn | undefined\n let defaultRouteMatches: ParsedUrlQuery | undefined\n\n if (pageIsDynamic) {\n defaultRouteRegex = getNamedRouteRegex(page, {\n prefixRouteKeys: false,\n })\n dynamicRouteMatcher = getRouteMatcher(defaultRouteRegex)\n defaultRouteMatches = dynamicRouteMatcher(page) as ParsedUrlQuery\n }\n\n function handleRewrites(\n req: BaseNextRequest | IncomingMessage,\n parsedUrl: DeepReadonly\n ) {\n // Here we deep clone the parsedUrl to avoid mutating the original. We also\n // cast this to a mutable type so we can mutate it within this scope.\n const rewrittenParsedUrl = structuredClone(\n parsedUrl\n ) as NextUrlWithParsedQuery\n const rewriteParams: Record = {}\n let fsPathname = rewrittenParsedUrl.pathname\n\n const matchesPage = () => {\n const fsPathnameNoSlash = removeTrailingSlash(fsPathname || '')\n return (\n fsPathnameNoSlash === removeTrailingSlash(page) ||\n dynamicRouteMatcher?.(fsPathnameNoSlash)\n )\n }\n\n const checkRewrite = (rewrite: DeepReadonly): boolean => {\n const matcher = getPathMatch(\n rewrite.source + (trailingSlash ? '(/)?' : ''),\n {\n removeUnnamedParams: true,\n strict: true,\n sensitive: !!caseSensitive,\n }\n )\n\n if (!rewrittenParsedUrl.pathname) return false\n\n let params = matcher(rewrittenParsedUrl.pathname)\n\n if ((rewrite.has || rewrite.missing) && params) {\n const hasParams = matchHas(\n req,\n rewrittenParsedUrl.query,\n rewrite.has as Rewrite['has'],\n rewrite.missing as Rewrite['missing']\n )\n\n if (hasParams) {\n Object.assign(params, hasParams)\n } else {\n params = false\n }\n }\n\n if (params) {\n const { parsedDestination, destQuery } = prepareDestination({\n appendParamsToQuery: true,\n destination: rewrite.destination,\n params: params,\n query: rewrittenParsedUrl.query,\n })\n\n // if the rewrite destination is external break rewrite chain\n if (parsedDestination.protocol) {\n return true\n }\n\n Object.assign(rewriteParams, destQuery, params)\n Object.assign(rewrittenParsedUrl.query, parsedDestination.query)\n delete (parsedDestination as any).query\n\n Object.assign(rewrittenParsedUrl, parsedDestination)\n\n fsPathname = rewrittenParsedUrl.pathname\n if (!fsPathname) return false\n\n if (basePath) {\n fsPathname = fsPathname.replace(new RegExp(`^${basePath}`), '') || '/'\n }\n\n if (i18n) {\n const result = normalizeLocalePath(fsPathname, i18n.locales)\n fsPathname = result.pathname\n rewrittenParsedUrl.query.nextInternalLocale =\n result.detectedLocale || params.nextInternalLocale\n }\n\n if (fsPathname === page) {\n return true\n }\n\n if (pageIsDynamic && dynamicRouteMatcher) {\n const dynamicParams = dynamicRouteMatcher(fsPathname)\n if (dynamicParams) {\n rewrittenParsedUrl.query = {\n ...rewrittenParsedUrl.query,\n ...dynamicParams,\n }\n return true\n }\n }\n }\n\n return false\n }\n\n for (const rewrite of rewrites.beforeFiles || []) {\n checkRewrite(rewrite)\n }\n\n if (fsPathname !== page) {\n let finished = false\n\n for (const rewrite of rewrites.afterFiles || []) {\n finished = checkRewrite(rewrite)\n if (finished) break\n }\n\n if (!finished && !matchesPage()) {\n for (const rewrite of rewrites.fallback || []) {\n finished = checkRewrite(rewrite)\n if (finished) break\n }\n }\n }\n\n return { rewriteParams, rewrittenParsedUrl }\n }\n\n function getParamsFromRouteMatches(routeMatchesHeader: string) {\n // If we don't have a default route regex, we can't get params from route\n // matches\n if (!defaultRouteRegex) return null\n\n const { groups, routeKeys } = defaultRouteRegex\n\n const matcher = getRouteMatcher({\n re: {\n // Simulate a RegExp match from the \\`req.url\\` input\n exec: (str: string) => {\n // Normalize all the prefixed query params.\n const obj: Record = Object.fromEntries(\n new URLSearchParams(str)\n )\n for (const [key, value] of Object.entries(obj)) {\n const normalizedKey = normalizeNextQueryParam(key)\n if (!normalizedKey) continue\n\n obj[normalizedKey] = value\n delete obj[key]\n }\n\n // Use all the named route keys.\n const result = {} as RegExpExecArray\n for (const keyName of Object.keys(routeKeys)) {\n const paramName = routeKeys[keyName]\n\n // If this param name is not a valid parameter name, then skip it.\n if (!paramName) continue\n\n const group = groups[paramName]\n const value = obj[keyName]\n\n // When we're missing a required param, we can't match the route.\n if (!group.optional && !value) return null\n\n result[group.pos] = value\n }\n\n return result\n },\n },\n groups,\n })\n\n const routeMatches = matcher(routeMatchesHeader)\n if (!routeMatches) return null\n\n return routeMatches\n }\n\n function normalizeQueryParams(\n query: Record,\n routeParamKeys: Set\n ) {\n // this is used to pass query information in rewrites\n // but should not be exposed in final query\n delete query['nextInternalLocale']\n\n for (const [key, value] of Object.entries(query)) {\n const normalizedKey = normalizeNextQueryParam(key)\n if (!normalizedKey) continue\n\n // Remove the prefixed key from the query params because we want\n // to consume it for the dynamic route matcher.\n delete query[key]\n routeParamKeys.add(normalizedKey)\n\n if (typeof value === 'undefined') continue\n\n query[normalizedKey] = Array.isArray(value)\n ? value.map((v) => decodeQueryPathParameter(v))\n : decodeQueryPathParameter(value)\n }\n }\n\n return {\n handleRewrites,\n defaultRouteRegex,\n dynamicRouteMatcher,\n defaultRouteMatches,\n normalizeQueryParams,\n getParamsFromRouteMatches,\n /**\n * Normalize dynamic route params.\n *\n * @param query - The query params to normalize.\n * @param ignoreMissingOptional - Whether to ignore missing optional params.\n * @returns The normalized params and whether they are valid.\n */\n normalizeDynamicRouteParams: (\n query: ParsedUrlQuery,\n ignoreMissingOptional: boolean\n ) => {\n if (!defaultRouteRegex || !defaultRouteMatches) {\n return { params: {}, hasValidParams: false }\n }\n\n return normalizeDynamicRouteParams(\n query,\n defaultRouteRegex,\n defaultRouteMatches,\n ignoreMissingOptional\n )\n },\n\n normalizeCdnUrl: (\n req: BaseNextRequest | IncomingMessage,\n paramKeys: string[]\n ) => normalizeCdnUrl(req, paramKeys),\n\n interpolateDynamicPath: (\n pathname: string,\n params: Record\n ) => interpolateDynamicPath(pathname, params, defaultRouteRegex),\n\n filterInternalQuery: (query: ParsedUrlQuery, paramKeys: string[]) =>\n filterInternalQuery(query, paramKeys),\n }\n}\n\nexport function getPreviouslyRevalidatedTags(\n headers: IncomingHttpHeaders,\n previewModeId: string | undefined\n): string[] {\n return typeof headers[NEXT_CACHE_REVALIDATED_TAGS_HEADER] === 'string' &&\n headers[NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER] === previewModeId\n ? headers[NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(',')\n : []\n}\n"],"names":["normalizeLocalePath","getPathMatch","getNamedRouteRegex","getRouteMatcher","matchHas","prepareDestination","removeTrailingSlash","normalizeRscURL","NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER","NEXT_CACHE_REVALIDATED_TAGS_HEADER","NEXT_INTERCEPTION_MARKER_PREFIX","NEXT_QUERY_PARAM_PREFIX","normalizeNextQueryParam","decodeQueryPathParameter","parseReqUrl","formatUrl","filterInternalQuery","query","paramKeys","key","isNextQueryPrefix","startsWith","isNextInterceptionMarkerPrefix","includes","normalizeCdnUrl","req","_parsedUrl","url","search","interpolateDynamicPath","pathname","params","defaultRouteRegex","param","Object","keys","groups","optional","repeat","builtParam","paramValue","value","Array","isArray","map","v","encodeURIComponent","join","replaceAll","normalizeDynamicRouteParams","defaultRouteMatches","ignoreMissingOptional","isDefaultValueMatch","candidateValue","defaultValue","normalizedCandidateValue","i","decodedCandidateValue","hasValidParams","isOptional","isDefaultValue","some","defaultVal","val","length","undefined","split","getServerUtils","page","i18n","basePath","rewrites","pageIsDynamic","trailingSlash","caseSensitive","dynamicRouteMatcher","prefixRouteKeys","handleRewrites","parsedUrl","rewrittenParsedUrl","structuredClone","rewriteParams","fsPathname","matchesPage","fsPathnameNoSlash","checkRewrite","rewrite","matcher","source","removeUnnamedParams","strict","sensitive","has","missing","hasParams","assign","parsedDestination","destQuery","appendParamsToQuery","destination","protocol","replace","RegExp","result","locales","nextInternalLocale","detectedLocale","dynamicParams","beforeFiles","finished","afterFiles","fallback","getParamsFromRouteMatches","routeMatchesHeader","routeKeys","re","exec","str","obj","fromEntries","URLSearchParams","entries","normalizedKey","keyName","paramName","group","pos","routeMatches","normalizeQueryParams","routeParamKeys","add","getPreviouslyRevalidatedTags","headers","previewModeId"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 6268, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/stream-utils/encoded-tags.ts"],"sourcesContent":["export const ENCODED_TAGS = {\n // opening tags do not have the closing `>` since they can contain other attributes such as ``\n OPENING: {\n // \n HEAD: new Uint8Array([60, 47, 104, 101, 97, 100, 62]),\n // \n BODY: new Uint8Array([60, 47, 98, 111, 100, 121, 62]),\n // \n HTML: new Uint8Array([60, 47, 104, 116, 109, 108, 62]),\n // \n BODY_AND_HTML: new Uint8Array([\n 60, 47, 98, 111, 100, 121, 62, 60, 47, 104, 116, 109, 108, 62,\n ]),\n },\n META: {\n // Only the match the prefix cause the suffix can be different whether it's xml compatible or not \">\" or \"/>\"\n // (\n ...streams: ReadableStream[]\n): ReadableStream {\n // If we have no streams, return an empty stream. This behavior is\n // intentional as we're now providing the `RenderResult.EMPTY` value.\n if (streams.length === 0) {\n return new ReadableStream({\n start(controller) {\n controller.close()\n },\n })\n }\n\n // If we only have 1 stream we fast path it by returning just this stream\n if (streams.length === 1) {\n return streams[0]\n }\n\n const { readable, writable } = new TransformStream()\n\n // We always initiate pipeTo immediately. We know we have at least 2 streams\n // so we need to avoid closing the writable when this one finishes.\n let promise = streams[0].pipeTo(writable, { preventClose: true })\n\n let i = 1\n for (; i < streams.length - 1; i++) {\n const nextStream = streams[i]\n promise = promise.then(() =>\n nextStream.pipeTo(writable, { preventClose: true })\n )\n }\n\n // We can omit the length check because we halted before the last stream and there\n // is at least two streams so the lastStream here will always be defined\n const lastStream = streams[i]\n promise = promise.then(() => lastStream.pipeTo(writable))\n\n // Catch any errors from the streams and ignore them, they will be handled\n // by whatever is consuming the readable stream.\n promise.catch(voidCatch)\n\n return readable\n}\n\nexport function streamFromString(str: string): ReadableStream {\n return new ReadableStream({\n start(controller) {\n controller.enqueue(encoder.encode(str))\n controller.close()\n },\n })\n}\n\n/**\n * Creates a stream that delivers `chunk` and then closes.\n *\n * The stream is a default stream, and it has to stay one. A byte stream (`type:\n * 'bytes'`) transfers the buffer of each chunk that it receives, which detaches\n * `chunk`. A caller that keeps `chunk` to serve more than one read, such as an\n * in-memory cache handler, loses the data on the first read.\n *\n * Every reader receives the same `chunk` instance. A reader that modifies it\n * changes what later readers see.\n */\nexport function streamFromBuffer(chunk: Buffer): ReadableStream {\n return new ReadableStream({\n start(controller) {\n controller.enqueue(chunk)\n controller.close()\n },\n })\n}\n\nasync function streamToChunks(\n stream: ReadableStream\n): Promise> {\n const reader = stream.getReader()\n const chunks: Array = []\n\n while (true) {\n const { done, value } = await reader.read()\n if (done) {\n break\n }\n\n chunks.push(value)\n }\n\n return chunks\n}\n\nfunction concatUint8Arrays(chunks: Array): Uint8Array {\n const totalLength = chunks.reduce((sum, chunk) => sum + chunk.length, 0)\n const result = new Uint8Array(totalLength)\n let offset = 0\n for (const chunk of chunks) {\n result.set(chunk, offset)\n offset += chunk.length\n }\n return result\n}\n\nexport async function webstreamToUint8Array(\n stream: ReadableStream\n): Promise {\n return concatUint8Arrays(await streamToChunks(stream))\n}\n\nfunction webToReadable(\n stream: ReadableStream | import('node:stream').Readable\n): import('node:stream').Readable {\n if (process.env.NEXT_RUNTIME === 'edge') {\n throw new Error('webToReadable cannot be used in the edge runtime')\n } else {\n let Readable: typeof import('node:stream').Readable\n if (process.env.TURBOPACK) {\n Readable = (require('node:stream') as typeof import('node:stream'))\n .Readable\n } else if (\n process.env.__NEXT_BUNDLER === 'Webpack' ||\n process.env.__NEXT_BUNDLER === 'Rspack'\n ) {\n Readable = (\n __non_webpack_require__('node:stream') as typeof import('node:stream')\n ).Readable\n } else {\n Readable = (require('node:stream') as typeof import('node:stream'))\n .Readable\n }\n if (stream instanceof Readable) {\n return stream\n }\n return Readable.fromWeb(stream as import('stream/web').ReadableStream)\n }\n}\n\nexport async function nodestreamToUint8Array(\n stream: AnyStream\n): Promise {\n const chunks: Buffer[] = []\n for await (const chunk of webToReadable(stream)) {\n chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk)\n }\n return Buffer.concat(chunks)\n}\n\nexport async function streamToUint8Array(stream: AnyStream) {\n if (process.env.NEXT_RUNTIME === 'edge') {\n // Edge runtime always uses web streams\n return webstreamToUint8Array(stream as ReadableStream)\n } else {\n let Readable: typeof import('node:stream').Readable\n if (process.env.TURBOPACK) {\n Readable = (require('node:stream') as typeof import('node:stream'))\n .Readable\n } else if (\n process.env.__NEXT_BUNDLER === 'Webpack' ||\n process.env.__NEXT_BUNDLER === 'Rspack'\n ) {\n Readable = (\n __non_webpack_require__('node:stream') as typeof import('node:stream')\n ).Readable\n } else {\n Readable = (require('node:stream') as typeof import('node:stream'))\n .Readable\n }\n\n if (stream instanceof Readable) {\n return nodestreamToUint8Array(stream)\n }\n\n return webstreamToUint8Array(stream)\n }\n}\n\nexport async function streamToBuffer(\n stream: ReadableStream\n): Promise {\n return Buffer.concat(await streamToChunks(stream))\n}\n\nexport async function streamToString(\n stream: ReadableStream,\n signal?: AbortSignal\n): Promise {\n const decoder = new TextDecoder('utf-8', { fatal: true })\n let string = ''\n\n for await (const chunk of stream) {\n if (signal?.aborted) {\n return string\n }\n\n string += decoder.decode(chunk, { stream: true })\n }\n\n string += decoder.decode()\n\n return string\n}\n\nexport type BufferedTransformOptions = {\n /**\n * Flush synchronously once the buffer reaches this many bytes.\n */\n readonly maxBufferByteLength?: number\n}\n\nexport function createBufferedTransformStream(\n options: BufferedTransformOptions = {}\n): TransformStream {\n const { maxBufferByteLength = Infinity } = options\n\n let bufferedChunks: Array = []\n let bufferByteLength: number = 0\n let pending: PromiseWithResolvers | undefined\n\n const flush = (controller: TransformStreamDefaultController) => {\n try {\n if (bufferedChunks.length === 0) {\n return\n }\n\n const chunk = new Uint8Array(bufferByteLength)\n let copiedBytes = 0\n\n for (let i = 0; i < bufferedChunks.length; i++) {\n const bufferedChunk = bufferedChunks[i]\n chunk.set(bufferedChunk, copiedBytes)\n copiedBytes += bufferedChunk.byteLength\n }\n // We just wrote all the buffered chunks so we need to reset the bufferedChunks array\n // and our bufferByteLength to prepare for the next round of buffered chunks\n bufferedChunks.length = 0\n bufferByteLength = 0\n controller.enqueue(chunk)\n } catch {\n // If an error occurs while enqueuing, it can't be due to this\n // transformer. It's most likely caused by the controller having been\n // errored (for example, if the stream was cancelled).\n }\n }\n\n const scheduleFlush = (controller: TransformStreamDefaultController) => {\n if (pending) {\n return\n }\n\n const detached = createPromiseWithResolvers()\n pending = detached\n\n scheduleImmediate(() => {\n try {\n flush(controller)\n } finally {\n pending = undefined\n detached.resolve()\n }\n })\n }\n\n return new TransformStream({\n transform(chunk, controller) {\n // Combine the previous buffer with the new chunk.\n bufferedChunks.push(chunk)\n bufferByteLength += chunk.byteLength\n\n if (bufferByteLength >= maxBufferByteLength) {\n flush(controller)\n } else {\n scheduleFlush(controller)\n }\n },\n flush() {\n return pending?.promise\n },\n })\n}\n\n// TODO this is currently unused but once we add proper output:export support, it needs to be\n// revisited. See https://github.com/vercel/next.js/pull/89478 for more details\n//\n// function createPrefetchCommentStream(\n// isBuildTimePrerendering: boolean,\n// buildId: string\n// ): TransformStream {\n// // Insert an extra comment at the beginning of the HTML document. This must\n// // come after the DOCTYPE, which is inserted by React.\n// //\n// // The first chunk sent by React will contain the doctype. After that, we can\n// // pass through the rest of the chunks as-is.\n// let didTransformFirstChunk = false\n// return new TransformStream({\n// transform(chunk, controller) {\n// if (isBuildTimePrerendering && !didTransformFirstChunk) {\n// didTransformFirstChunk = true\n// const decoder = new TextDecoder('utf-8', { fatal: true })\n// const chunkStr = decoder.decode(chunk, {\n// stream: true,\n// })\n// const updatedChunkStr = insertBuildIdComment(chunkStr, buildId)\n// controller.enqueue(encoder.encode(updatedChunkStr))\n// return\n// }\n// controller.enqueue(chunk)\n// },\n// })\n// }\n\nexport function renderToInitialFizzStream({\n ReactDOMServer,\n element,\n streamOptions,\n}: {\n ReactDOMServer: {\n renderToReadableStream: typeof import('react-dom/server').renderToReadableStream\n }\n element: React.ReactElement\n streamOptions?: Parameters[1]\n}): Promise {\n return getTracer().trace(AppRenderSpan.renderToReadableStream, async () =>\n ReactDOMServer.renderToReadableStream(element, streamOptions)\n )\n}\n\nexport function createMetadataTransformStream(\n insert: () => Promise | string\n): TransformStream {\n let chunkIndex = -1\n let isMarkRemoved = false\n\n return new TransformStream({\n async transform(chunk, controller) {\n let iconMarkIndex = -1\n let closedHeadIndex = -1\n chunkIndex++\n\n if (isMarkRemoved) {\n controller.enqueue(chunk)\n return\n }\n let iconMarkLength = 0\n // Only search for the closed head tag once\n if (iconMarkIndex === -1) {\n iconMarkIndex = indexOfUint8Array(chunk, ENCODED_TAGS.META.ICON_MARK)\n if (iconMarkIndex === -1) {\n controller.enqueue(chunk)\n return\n } else {\n // When we found the `` or `>`, checking the next char to ensure we cover both cases.\n iconMarkLength = ENCODED_TAGS.META.ICON_MARK.length\n // Check if next char is /, this is for xml mode.\n if (chunk[iconMarkIndex + iconMarkLength] === 47) {\n iconMarkLength += 2\n } else {\n // The last char is `>`\n iconMarkLength++\n }\n }\n }\n\n // Check if icon mark is inside tag in the first chunk.\n if (chunkIndex === 0) {\n closedHeadIndex = indexOfUint8Array(chunk, ENCODED_TAGS.CLOSED.HEAD)\n if (iconMarkIndex !== -1) {\n // The mark icon is located in the 1st chunk before the head tag.\n // We do not need to insert the script tag in this case because it's in the head.\n // Just remove the icon mark from the chunk.\n if (iconMarkIndex < closedHeadIndex) {\n const replaced = new Uint8Array(chunk.length - iconMarkLength)\n\n // Remove the icon mark from the chunk.\n replaced.set(chunk.subarray(0, iconMarkIndex))\n replaced.set(\n chunk.subarray(iconMarkIndex + iconMarkLength),\n iconMarkIndex\n )\n chunk = replaced\n } else {\n // The icon mark is after the head tag, replace and insert the script tag at that position.\n const insertion = await insert()\n const encodedInsertion = encoder.encode(insertion)\n const insertionLength = encodedInsertion.length\n const replaced = new Uint8Array(\n chunk.length - iconMarkLength + insertionLength\n )\n replaced.set(chunk.subarray(0, iconMarkIndex))\n replaced.set(encodedInsertion, iconMarkIndex)\n replaced.set(\n chunk.subarray(iconMarkIndex + iconMarkLength),\n iconMarkIndex + insertionLength\n )\n chunk = replaced\n }\n isMarkRemoved = true\n }\n // If there's no icon mark located, it will be handled later when if present in the following chunks.\n } else {\n // When it's appeared in the following chunks, we'll need to\n // remove the mark and then insert the script tag at that position.\n const insertion = await insert()\n const encodedInsertion = encoder.encode(insertion)\n const insertionLength = encodedInsertion.length\n // Replace the icon mark with the hoist script or empty string.\n const replaced = new Uint8Array(\n chunk.length - iconMarkLength + insertionLength\n )\n // Set the first part of the chunk, before the icon mark.\n replaced.set(chunk.subarray(0, iconMarkIndex))\n // Set the insertion after the icon mark.\n replaced.set(encodedInsertion, iconMarkIndex)\n\n // Set the rest of the chunk after the icon mark.\n replaced.set(\n chunk.subarray(iconMarkIndex + iconMarkLength),\n iconMarkIndex + insertionLength\n )\n chunk = replaced\n isMarkRemoved = true\n }\n controller.enqueue(chunk)\n },\n })\n}\n\nexport function createHeadInsertionTransformStream(\n insert: () => Promise\n): TransformStream {\n let inserted = false\n\n // We need to track if this transform saw any bytes because if it didn't\n // we won't want to insert any server HTML at all\n let hasBytes = false\n\n return new TransformStream({\n async transform(chunk, controller) {\n hasBytes = true\n\n const insertion = await insert()\n if (inserted) {\n if (insertion) {\n const encodedInsertion = encoder.encode(insertion)\n controller.enqueue(encodedInsertion)\n }\n controller.enqueue(chunk)\n } else {\n // TODO (@Ethan-Arrowood): Replace the generic `indexOfUint8Array` method with something finely tuned for the subset of things actually being checked for.\n const index = indexOfUint8Array(chunk, ENCODED_TAGS.CLOSED.HEAD)\n // In fully static rendering or non PPR rendering cases:\n // `/head>` will always be found in the chunk in first chunk rendering.\n if (index !== -1) {\n if (insertion) {\n const encodedInsertion = encoder.encode(insertion)\n // Get the total count of the bytes in the chunk and the insertion\n // e.g.\n // chunk = \n // insertion = \n // output = [ ] \n const insertedHeadContent = new Uint8Array(\n chunk.length + encodedInsertion.length\n )\n // Append the first part of the chunk, before the head tag\n insertedHeadContent.set(chunk.slice(0, index))\n // Append the server inserted content\n insertedHeadContent.set(encodedInsertion, index)\n // Append the rest of the chunk\n insertedHeadContent.set(\n chunk.slice(index),\n index + encodedInsertion.length\n )\n controller.enqueue(insertedHeadContent)\n } else {\n controller.enqueue(chunk)\n }\n inserted = true\n } else {\n // This will happens in PPR rendering during next start, when the page is partially rendered.\n // When the page resumes, the head tag will be found in the middle of the chunk.\n // Where we just need to append the insertion and chunk to the current stream.\n // e.g.\n // PPR-static: ... [ resume content ] \n // PPR-resume: [ insertion ] [ rest content ]\n if (insertion) {\n controller.enqueue(encoder.encode(insertion))\n }\n controller.enqueue(chunk)\n inserted = true\n }\n }\n },\n async flush(controller) {\n // Check before closing if there's anything remaining to insert.\n if (hasBytes) {\n const insertion = await insert()\n if (insertion) {\n controller.enqueue(encoder.encode(insertion))\n }\n }\n },\n })\n}\n\nasync function createClientResumeScriptInsertionTransformStream(): Promise<\n TransformStream\n> {\n const segmentPath = '/_full'\n const cacheBustingHeader = await computeCacheBustingSearchParam(\n '1', // headers[NEXT_ROUTER_PREFETCH_HEADER]\n '/_full', // headers[NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]\n undefined, // headers[NEXT_ROUTER_STATE_TREE_HEADER]\n undefined // headers[NEXT_URL]\n )\n const searchStr = `${NEXT_RSC_UNION_QUERY}=${cacheBustingHeader}`\n const NEXT_CLIENT_RESUME_SCRIPT = ``\n\n let didAlreadyInsert = false\n return new TransformStream({\n transform(chunk, controller) {\n if (didAlreadyInsert) {\n // Already inserted the script into the head. Pass through.\n controller.enqueue(chunk)\n return\n }\n // TODO (@Ethan-Arrowood): Replace the generic `indexOfUint8Array` method with something finely tuned for the subset of things actually being checked for.\n const headClosingTagIndex = indexOfUint8Array(\n chunk,\n ENCODED_TAGS.CLOSED.HEAD\n )\n\n if (headClosingTagIndex === -1) {\n // In fully static rendering or non PPR rendering cases:\n // `/head>` will always be found in the chunk in first chunk rendering.\n controller.enqueue(chunk)\n return\n }\n\n const encodedInsertion = encoder.encode(NEXT_CLIENT_RESUME_SCRIPT)\n // Get the total count of the bytes in the chunk and the insertion\n // e.g.\n // chunk = \n // insertion = \n // output = [ ] \n const insertedHeadContent = new Uint8Array(\n chunk.length + encodedInsertion.length\n )\n // Append the first part of the chunk, before the head tag\n insertedHeadContent.set(chunk.slice(0, headClosingTagIndex))\n // Append the server inserted content\n insertedHeadContent.set(encodedInsertion, headClosingTagIndex)\n // Append the rest of the chunk\n insertedHeadContent.set(\n chunk.slice(headClosingTagIndex),\n headClosingTagIndex + encodedInsertion.length\n )\n\n controller.enqueue(insertedHeadContent)\n didAlreadyInsert = true\n },\n })\n}\n\n// Suffix after main body content - scripts before ,\n// but wait for the major chunks to be enqueued.\nexport function createDeferredSuffixStream(\n suffix: string\n): TransformStream {\n let flushed = false\n let pending: PromiseWithResolvers | undefined\n\n const flush = (controller: TransformStreamDefaultController) => {\n const detached = createPromiseWithResolvers()\n pending = detached\n\n scheduleImmediate(() => {\n try {\n controller.enqueue(encoder.encode(suffix))\n } catch {\n // If an error occurs while enqueuing it can't be due to this\n // transformers fault. It's likely due to the controller being\n // errored due to the stream being cancelled.\n } finally {\n pending = undefined\n detached.resolve()\n }\n })\n }\n\n return new TransformStream({\n transform(chunk, controller) {\n controller.enqueue(chunk)\n\n // If we've already flushed, we're done.\n if (flushed) return\n\n // Schedule the flush to happen.\n flushed = true\n flush(controller)\n },\n flush(controller) {\n if (pending) return pending.promise\n if (flushed) return\n\n // Flush now.\n controller.enqueue(encoder.encode(suffix))\n },\n })\n}\n\nexport function createFlightDataInjectionTransformStream(\n stream: ReadableStream,\n delayDataUntilFirstHtmlChunk: boolean\n): TransformStream {\n let htmlStreamFinished = false\n\n let pull: Promise | null = null\n let donePulling = false\n\n function startOrContinuePulling(\n controller: TransformStreamDefaultController\n ) {\n if (!pull) {\n pull = startPulling(controller)\n }\n return pull\n }\n\n async function startPulling(controller: TransformStreamDefaultController) {\n const reader = stream.getReader()\n\n if (delayDataUntilFirstHtmlChunk) {\n // NOTE: streaming flush\n // We are buffering here for the inlined data stream because the\n // \"shell\" stream might be chunkenized again by the underlying stream\n // implementation, e.g. with a specific high-water mark. To ensure it's\n // the safe timing to pipe the data stream, this extra tick is\n // necessary.\n\n // We don't start reading until we've left the current Task to ensure\n // that it's inserted after flushing the shell. Note that this implementation\n // might get stale if impl details of Fizz change in the future.\n await atLeastOneTask()\n }\n\n try {\n while (true) {\n const { done, value } = await reader.read()\n if (done) {\n donePulling = true\n return\n }\n\n // We want to prioritize HTML over RSC data.\n // The SSR render is based on the same RSC stream, so when we get a new RSC chunk,\n // we're likely to produce an HTML chunk as well, so give it a chance to flush first.\n if (!delayDataUntilFirstHtmlChunk && !htmlStreamFinished) {\n await atLeastOneTask()\n }\n controller.enqueue(value)\n }\n } catch (err) {\n controller.error(err)\n }\n }\n\n return new TransformStream({\n start(controller) {\n if (!delayDataUntilFirstHtmlChunk) {\n startOrContinuePulling(controller)\n }\n },\n transform(chunk, controller) {\n controller.enqueue(chunk)\n\n // Start the streaming if it hasn't already been started yet.\n if (delayDataUntilFirstHtmlChunk) {\n startOrContinuePulling(controller)\n }\n },\n flush(controller) {\n htmlStreamFinished = true\n if (donePulling) {\n return\n }\n return startOrContinuePulling(controller)\n },\n })\n}\n\nexport const CLOSE_TAG = ''\n\n/**\n * This transform stream moves the suffix to the end of the stream, so results\n * like `` will be transformed to\n * ``.\n */\nexport function createMoveSuffixStream(): TransformStream<\n Uint8Array,\n Uint8Array\n> {\n let foundSuffix = false\n\n return new TransformStream({\n transform(chunk, controller) {\n if (foundSuffix) {\n return controller.enqueue(chunk)\n }\n\n const index = indexOfUint8Array(chunk, ENCODED_TAGS.CLOSED.BODY_AND_HTML)\n if (index > -1) {\n foundSuffix = true\n\n // If the whole chunk is the suffix, then don't write anything, it will\n // be written in the flush.\n if (chunk.length === ENCODED_TAGS.CLOSED.BODY_AND_HTML.length) {\n return\n }\n\n // Write out the part before the suffix.\n const before = chunk.slice(0, index)\n controller.enqueue(before)\n\n // In the case where the suffix is in the middle of the chunk, we need\n // to split the chunk into two parts.\n if (chunk.length > ENCODED_TAGS.CLOSED.BODY_AND_HTML.length + index) {\n // Write out the part after the suffix.\n const after = chunk.slice(\n index + ENCODED_TAGS.CLOSED.BODY_AND_HTML.length\n )\n controller.enqueue(after)\n }\n } else {\n controller.enqueue(chunk)\n }\n },\n flush(controller) {\n // Even if we didn't find the suffix, the HTML is not valid if we don't\n // add it, so insert it at the end.\n controller.enqueue(ENCODED_TAGS.CLOSED.BODY_AND_HTML)\n },\n })\n}\n\nfunction createStripDocumentClosingTagsTransform(): TransformStream<\n Uint8Array,\n Uint8Array\n> {\n return new TransformStream({\n transform(chunk, controller) {\n // We rely on the assumption that chunks will never break across a code unit.\n // This is reasonable because we currently concat all of React's output from a single\n // flush into one chunk before streaming it forward which means the chunk will represent\n // a single coherent utf-8 string. This is not safe to use if we change our streaming to no\n // longer do this large buffered chunk\n if (\n isEquivalentUint8Arrays(chunk, ENCODED_TAGS.CLOSED.BODY_AND_HTML) ||\n isEquivalentUint8Arrays(chunk, ENCODED_TAGS.CLOSED.BODY) ||\n isEquivalentUint8Arrays(chunk, ENCODED_TAGS.CLOSED.HTML)\n ) {\n // the entire chunk is the closing tags; return without enqueueing anything.\n return\n }\n\n // We assume these tags will go at together at the end of the document and that\n // they won't appear anywhere else in the document. This is not really a safe assumption\n // but until we revamp our streaming infra this is a performant way to string the tags\n chunk = removeFromUint8Array(chunk, ENCODED_TAGS.CLOSED.BODY)\n chunk = removeFromUint8Array(chunk, ENCODED_TAGS.CLOSED.HTML)\n\n controller.enqueue(chunk)\n },\n })\n}\n\nexport function createHtmlDataDplIdTransformStream(\n dplId: string\n): TransformStream {\n let didTransform = false\n\n return new TransformStream({\n transform(chunk, controller) {\n if (didTransform) {\n controller.enqueue(chunk)\n return\n }\n\n const htmlTagIndex = indexOfUint8Array(chunk, ENCODED_TAGS.OPENING.HTML)\n if (htmlTagIndex === -1) {\n controller.enqueue(chunk)\n return\n }\n\n // Insert the data-dpl-id attribute right after \" {\n let foundHtml = false\n let foundBody = false\n return new TransformStream({\n async transform(chunk, controller) {\n // Peek into the streamed chunk to see if the tags are present.\n if (\n !foundHtml &&\n indexOfUint8Array(chunk, ENCODED_TAGS.OPENING.HTML) > -1\n ) {\n foundHtml = true\n }\n\n if (\n !foundBody &&\n indexOfUint8Array(chunk, ENCODED_TAGS.OPENING.BODY) > -1\n ) {\n foundBody = true\n }\n\n controller.enqueue(chunk)\n },\n flush(controller) {\n const missingTags: ('html' | 'body')[] = []\n if (!foundHtml) missingTags.push('html')\n if (!foundBody) missingTags.push('body')\n\n if (!missingTags.length) return\n\n controller.enqueue(\n encoder.encode(\n `\n `<${c}>`)\n .join(\n missingTags.length > 1 ? ' and ' : ''\n )} tags in the root layout.\\nRead more at https://nextjs.org/docs/messages/missing-root-layout-tags\"\n data-next-error-digest=\"${MISSING_ROOT_TAGS_ERROR}\"\n data-next-error-stack=\"\"\n >\n `\n )\n )\n },\n })\n}\n\nexport function chainTransformers(\n readable: ReadableStream,\n transformers: ReadonlyArray | null>\n): ReadableStream {\n let stream = readable\n for (const transformer of transformers) {\n if (!transformer) continue\n\n stream = stream.pipeThrough(transformer)\n }\n return stream\n}\n\nexport type ContinueStreamOptions = {\n inlinedDataStream: ReadableStream | undefined\n waitForAllReady: boolean\n deploymentId: string | undefined\n getServerInsertedHTML: () => Promise\n getServerInsertedMetadata: () => Promise\n validateRootLayout?: boolean\n /**\n * Suffix to inject after the buffered data, but before the close tags.\n */\n suffix?: string | undefined\n}\n\nexport async function continueFizzStream(\n renderStream: ReactDOMServerReadableStream,\n {\n suffix,\n inlinedDataStream,\n waitForAllReady,\n deploymentId,\n getServerInsertedHTML,\n getServerInsertedMetadata,\n validateRootLayout,\n }: ContinueStreamOptions\n): Promise> {\n // Suffix itself might contain close tags at the end, so we need to split it.\n const suffixUnclosed = suffix ? suffix.split(CLOSE_TAG, 1)[0] : null\n\n if (waitForAllReady) {\n // Wait for all Suspense boundaries to resolve before continuing.\n await renderStream.allReady\n } else {\n // Otherwise, we want to make sure Fizz is done with all microtasky work\n // before we start pulling the stream and cause a flush.\n await waitAtLeastOneReactRenderTask()\n }\n\n return chainTransformers(renderStream, [\n // Buffer everything to avoid flushing too frequently\n createBufferedTransformStream(),\n\n // Insert data-dpl-id attribute on the html tag\n deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null,\n\n // Transform metadata\n createMetadataTransformStream(getServerInsertedMetadata),\n\n // Insert suffix content\n suffixUnclosed != null && suffixUnclosed.length > 0\n ? createDeferredSuffixStream(suffixUnclosed)\n : null,\n\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n inlinedDataStream\n ? createFlightDataInjectionTransformStream(inlinedDataStream, true)\n : null,\n\n // Validate the root layout for missing html or body tags\n validateRootLayout ? createRootLayoutValidatorStream() : null,\n\n // Close tags should always be deferred to the end\n createMoveSuffixStream(),\n\n // Special head insertions\n // TODO-APP: Insert server side html to end of head in app layout rendering, to avoid\n // hydration errors. Remove this once it's ready to be handled by react itself.\n createHeadInsertionTransformStream(getServerInsertedHTML),\n ])\n}\n\ntype ContinueDynamicPrerenderOptions = {\n getServerInsertedHTML: () => Promise\n getServerInsertedMetadata: () => Promise\n deploymentId: string | undefined\n}\n\nexport async function continueDynamicPrerender(\n prerenderStream: ReadableStream,\n {\n getServerInsertedHTML,\n getServerInsertedMetadata,\n deploymentId,\n }: ContinueDynamicPrerenderOptions\n) {\n return chainTransformers(prerenderStream, [\n // Buffer everything to avoid flushing too frequently\n createBufferedTransformStream(),\n createStripDocumentClosingTagsTransform(),\n // Insert data-dpl-id attribute on the html tag\n deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null,\n // Insert generated tags to head\n createHeadInsertionTransformStream(getServerInsertedHTML),\n // Transform metadata\n createMetadataTransformStream(getServerInsertedMetadata),\n ])\n}\n\ntype ContinueStaticPrerenderOptions = {\n inlinedDataStream: ReadableStream\n getServerInsertedHTML: () => Promise\n getServerInsertedMetadata: () => Promise\n deploymentId: string | undefined\n}\n\nexport async function continueStaticPrerender(\n prerenderStream: ReadableStream,\n {\n inlinedDataStream,\n getServerInsertedHTML,\n getServerInsertedMetadata,\n deploymentId,\n }: ContinueStaticPrerenderOptions\n) {\n return chainTransformers(prerenderStream, [\n // Buffer everything to avoid flushing too frequently\n createBufferedTransformStream(),\n // Add build id comment to start of the HTML document (in export mode)\n // Insert data-dpl-id attribute on the html tag\n deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null,\n // Insert generated tags to head\n createHeadInsertionTransformStream(getServerInsertedHTML),\n // Transform metadata\n createMetadataTransformStream(getServerInsertedMetadata),\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n createFlightDataInjectionTransformStream(inlinedDataStream, true),\n // Close tags should always be deferred to the end\n createMoveSuffixStream(),\n ])\n}\n\nexport async function continueStaticFallbackPrerender(\n prerenderStream: ReadableStream,\n {\n inlinedDataStream,\n getServerInsertedHTML,\n getServerInsertedMetadata,\n deploymentId,\n }: ContinueStaticPrerenderOptions\n) {\n // Same as `continueStaticPrerender`, but also inserts an additional script\n // to instruct the client to start fetching the hydration data as early\n // as possible.\n return chainTransformers(prerenderStream, [\n // Buffer everything to avoid flushing too frequently\n createBufferedTransformStream(),\n // Insert data-dpl-id attribute on the html tag\n deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null,\n // Insert generated tags to head\n createHeadInsertionTransformStream(getServerInsertedHTML),\n // Insert the client resume script into the head\n await createClientResumeScriptInsertionTransformStream(),\n // Transform metadata\n createMetadataTransformStream(getServerInsertedMetadata),\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n createFlightDataInjectionTransformStream(inlinedDataStream, true),\n // Close tags should always be deferred to the end\n createMoveSuffixStream(),\n ])\n}\n\ntype ContinueResumeOptions = {\n inlinedDataStream: ReadableStream\n getServerInsertedHTML: () => Promise\n getServerInsertedMetadata: () => Promise\n delayDataUntilFirstHtmlChunk: boolean\n deploymentId: string | undefined\n}\n\nexport async function continueDynamicHTMLResume(\n renderStream: ReadableStream,\n {\n delayDataUntilFirstHtmlChunk,\n inlinedDataStream,\n getServerInsertedHTML,\n getServerInsertedMetadata,\n deploymentId,\n }: ContinueResumeOptions\n) {\n return chainTransformers(renderStream, [\n // Buffer everything to avoid flushing too frequently\n createBufferedTransformStream(),\n // Insert data-dpl-id attribute on the html tag\n deploymentId ? createHtmlDataDplIdTransformStream(deploymentId) : null,\n // Insert generated tags to head\n createHeadInsertionTransformStream(getServerInsertedHTML),\n // Transform metadata\n createMetadataTransformStream(getServerInsertedMetadata),\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n createFlightDataInjectionTransformStream(\n inlinedDataStream,\n delayDataUntilFirstHtmlChunk\n ),\n // Close tags should always be deferred to the end\n createMoveSuffixStream(),\n ])\n}\n\nexport function createDocumentClosingStream(): ReadableStream {\n return streamFromString(CLOSE_TAG)\n}\n\n// ---------------------------------------------------------------------------\n// Runtime prefetch transform (Web streams)\n// ---------------------------------------------------------------------------\n\n/**\n * Web TransformStream that replaces the runtime prefetch sentinel in an RSC\n * payload stream: `[]` -> `[,]`.\n *\n * This is the web equivalent of createRuntimePrefetchNodeTransform\n * in node-stream-helpers.ts.\n */\nexport function createRuntimePrefetchTransformStream(\n sentinel: number,\n isPartial: boolean,\n staleTime: number\n): TransformStream {\n const enc = new TextEncoder()\n\n // Search for: []\n // Replace with: [,]\n const search = enc.encode(`[${sentinel}]`)\n const first = search[0]\n const replace = enc.encode(`[${isPartial},${staleTime}]`)\n const searchLen = search.length\n\n let currentChunk: Uint8Array | null = null\n let found = false\n\n function processChunk(\n controller: TransformStreamDefaultController,\n nextChunk: null | Uint8Array\n ) {\n if (found) {\n if (nextChunk) {\n controller.enqueue(nextChunk)\n }\n return\n }\n\n if (currentChunk) {\n // We can't search past the index that can contain a full match\n let exclusiveUpperBound = currentChunk.length - (searchLen - 1)\n if (nextChunk) {\n // If we have any overflow bytes we can search up to the chunk's final byte\n exclusiveUpperBound += Math.min(nextChunk.length, searchLen - 1)\n }\n if (exclusiveUpperBound < 1) {\n // we can't match the current chunk.\n controller.enqueue(currentChunk)\n currentChunk = nextChunk // advance so we don't process this chunk again\n return\n }\n\n let currentIndex = currentChunk.indexOf(first)\n\n // check the current candidate match if it is within the bounds of our search space for the currentChunk\n candidateLoop: while (\n -1 < currentIndex &&\n currentIndex < exclusiveUpperBound\n ) {\n // We already know index 0 matches because we used indexOf to find the candidateIndex so we start at index 1\n let matchIndex = 1\n while (matchIndex < searchLen) {\n const candidateIndex = currentIndex + matchIndex\n const candidateValue =\n candidateIndex < currentChunk.length\n ? currentChunk[candidateIndex]\n : // if we ever hit this condition it is because there is a nextChunk we can read from\n nextChunk![candidateIndex - currentChunk.length]\n if (candidateValue !== search[matchIndex]) {\n // No match, reset and continue the search from the next position\n currentIndex = currentChunk.indexOf(first, currentIndex + 1)\n continue candidateLoop\n }\n matchIndex++\n }\n // We found a complete match. currentIndex is our starting point to replace the value.\n found = true\n // enqueue everything up to the match\n controller.enqueue(currentChunk.subarray(0, currentIndex))\n // enqueue the replacement value\n controller.enqueue(replace)\n // If there are bytes in the currentChunk after the match enqueue them\n if (currentIndex + searchLen < currentChunk.length) {\n controller.enqueue(currentChunk.slice(currentIndex + searchLen))\n }\n // If we have a next chunk we enqueue it now\n if (nextChunk) {\n // if replacement spills over to the next chunk we first exclude the replaced bytes\n const overflowBytes = currentIndex + searchLen - currentChunk.length\n const truncatedChunk =\n overflowBytes > 0 ? nextChunk!.subarray(overflowBytes) : nextChunk\n controller.enqueue(truncatedChunk)\n }\n // We are now in found mode and don't need to track currentChunk anymore\n currentChunk = null\n return\n }\n // No match found in this chunk, emit it and wait for the next one\n controller.enqueue(currentChunk)\n }\n\n // Advance to the next chunk\n currentChunk = nextChunk\n }\n\n return new TransformStream({\n transform(chunk, controller) {\n processChunk(controller, chunk)\n },\n flush(controller) {\n processChunk(controller, null)\n },\n })\n}\n"],"names":["getTracer","AppRenderSpan","createPromiseWithResolvers","scheduleImmediate","atLeastOneTask","waitAtLeastOneReactRenderTask","ENCODED_TAGS","indexOfUint8Array","isEquivalentUint8Arrays","removeFromUint8Array","MISSING_ROOT_TAGS_ERROR","RSC_HEADER","NEXT_ROUTER_PREFETCH_HEADER","NEXT_ROUTER_SEGMENT_PREFETCH_HEADER","NEXT_RSC_UNION_QUERY","computeCacheBustingSearchParam","voidCatch","encoder","TextEncoder","chainStreams","streams","length","ReadableStream","start","controller","close","readable","writable","TransformStream","promise","pipeTo","preventClose","i","nextStream","then","lastStream","catch","streamFromString","str","enqueue","encode","streamFromBuffer","chunk","streamToChunks","stream","reader","getReader","chunks","done","value","read","push","concatUint8Arrays","totalLength","reduce","sum","result","Uint8Array","offset","set","webstreamToUint8Array","webToReadable","process","env","NEXT_RUNTIME","Error","Readable","TURBOPACK","require","__NEXT_BUNDLER","__non_webpack_require__","fromWeb","nodestreamToUint8Array","Buffer","from","concat","streamToUint8Array","streamToBuffer","streamToString","signal","decoder","TextDecoder","fatal","string","aborted","decode","createBufferedTransformStream","options","maxBufferByteLength","Infinity","bufferedChunks","bufferByteLength","pending","flush","copiedBytes","bufferedChunk","byteLength","scheduleFlush","detached","undefined","resolve","transform","renderToInitialFizzStream","ReactDOMServer","element","streamOptions","trace","renderToReadableStream","createMetadataTransformStream","insert","chunkIndex","isMarkRemoved","iconMarkIndex","closedHeadIndex","iconMarkLength","META","ICON_MARK","CLOSED","HEAD","replaced","subarray","insertion","encodedInsertion","insertionLength","createHeadInsertionTransformStream","inserted","hasBytes","index","insertedHeadContent","slice","createClientResumeScriptInsertionTransformStream","segmentPath","cacheBustingHeader","searchStr","NEXT_CLIENT_RESUME_SCRIPT","didAlreadyInsert","headClosingTagIndex","createDeferredSuffixStream","suffix","flushed","createFlightDataInjectionTransformStream","delayDataUntilFirstHtmlChunk","htmlStreamFinished","pull","donePulling","startOrContinuePulling","startPulling","err","error","CLOSE_TAG","createMoveSuffixStream","foundSuffix","BODY_AND_HTML","before","after","createStripDocumentClosingTagsTransform","BODY","HTML","createHtmlDataDplIdTransformStream","dplId","didTransform","htmlTagIndex","OPENING","insertionPoint","attribute","encodedAttribute","modifiedChunk","createRootLayoutValidatorStream","foundHtml","foundBody","missingTags","map","c","join","chainTransformers","transformers","transformer","pipeThrough","continueFizzStream","renderStream","inlinedDataStream","waitForAllReady","deploymentId","getServerInsertedHTML","getServerInsertedMetadata","validateRootLayout","suffixUnclosed","split","allReady","continueDynamicPrerender","prerenderStream","continueStaticPrerender","continueStaticFallbackPrerender","continueDynamicHTMLResume","createDocumentClosingStream","createRuntimePrefetchTransformStream","sentinel","isPartial","staleTime","enc","search","first","replace","searchLen","currentChunk","found","processChunk","nextChunk","exclusiveUpperBound","Math","min","currentIndex","indexOf","candidateLoop","matchIndex","candidateIndex","candidateValue","overflowBytes","truncatedChunk"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 7261, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/stream-utils/uint8array-helpers.ts"],"sourcesContent":["/**\n * Find the starting index of Uint8Array `b` within Uint8Array `a`.\n */\nexport function indexOfUint8Array(a: Uint8Array, b: Uint8Array) {\n if (b.length === 0) return 0\n if (a.length === 0 || b.length > a.length) return -1\n\n // Use Node's native implementation when available.\n if (typeof Buffer !== 'undefined') {\n const haystack = Buffer.isBuffer(a)\n ? a\n : Buffer.from(a.buffer, a.byteOffset, a.byteLength)\n return haystack.indexOf(b)\n }\n\n // start iterating through `a`\n for (let i = 0; i <= a.length - b.length; i++) {\n let completeMatch = true\n // from index `i`, iterate through `b` and check for mismatch\n for (let j = 0; j < b.length; j++) {\n // if the values do not match, then this isn't a complete match, exit `b` iteration early and iterate to next index of `a`.\n if (a[i + j] !== b[j]) {\n completeMatch = false\n break\n }\n }\n\n if (completeMatch) {\n return i\n }\n }\n\n return -1\n}\n\n/**\n * Check if two Uint8Arrays are strictly equivalent.\n */\nexport function isEquivalentUint8Arrays(a: Uint8Array, b: Uint8Array) {\n if (a.length !== b.length) return false\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false\n }\n\n return true\n}\n\n/**\n * Remove Uint8Array `b` from Uint8Array `a`.\n *\n * If `b` is not in `a`, `a` is returned unchanged.\n *\n * Otherwise, the function returns a new Uint8Array instance with size `a.length - b.length`\n */\nexport function removeFromUint8Array(a: Uint8Array, b: Uint8Array) {\n const tagIndex = indexOfUint8Array(a, b)\n if (tagIndex === 0) return a.subarray(b.length)\n if (tagIndex > -1) {\n const removed = new Uint8Array(a.length - b.length)\n removed.set(a.subarray(0, tagIndex))\n removed.set(a.subarray(tagIndex + b.length), tagIndex)\n return removed\n } else {\n return a\n }\n}\n"],"names":["indexOfUint8Array","a","b","length","Buffer","haystack","isBuffer","from","buffer","byteOffset","byteLength","indexOf","i","completeMatch","j","isEquivalentUint8Arrays","removeFromUint8Array","tagIndex","subarray","removed","Uint8Array","set"],"mappings":"AAAA;;CAEC,GACD;;;;;;;;AAAO,SAASA,kBAAkBC,CAAa,EAAEC,CAAa;IAC5D,IAAIA,EAAEC,MAAM,KAAK,GAAG,OAAO;IAC3B,IAAIF,EAAEE,MAAM,KAAK,KAAKD,EAAEC,MAAM,GAAGF,EAAEE,MAAM,EAAE,OAAO,CAAC;IAEnD,mDAAmD;IACnD,IAAI,OAAOC,WAAW,aAAa;QACjC,MAAMC,WAAWD,OAAOE,QAAQ,CAACL,KAC7BA,IACAG,OAAOG,IAAI,CAACN,EAAEO,MAAM,EAAEP,EAAEQ,UAAU,EAAER,EAAES,UAAU;QACpD,OAAOL,SAASM,OAAO,CAACT;IAC1B;IAEA,8BAA8B;IAC9B,IAAK,IAAIU,IAAI,GAAGA,KAAKX,EAAEE,MAAM,GAAGD,EAAEC,MAAM,EAAES,IAAK;QAC7C,IAAIC,gBAAgB;QACpB,6DAA6D;QAC7D,IAAK,IAAIC,IAAI,GAAGA,IAAIZ,EAAEC,MAAM,EAAEW,IAAK;YACjC,2HAA2H;YAC3H,IAAIb,CAAC,CAACW,IAAIE,EAAE,KAAKZ,CAAC,CAACY,EAAE,EAAE;gBACrBD,gBAAgB;gBAChB;YACF;QACF;QAEA,IAAIA,eAAe;YACjB,OAAOD;QACT;IACF;IAEA,OAAO,CAAC;AACV;AAKO,SAASG,wBAAwBd,CAAa,EAAEC,CAAa;IAClE,IAAID,EAAEE,MAAM,KAAKD,EAAEC,MAAM,EAAE,OAAO;IAElC,IAAK,IAAIS,IAAI,GAAGA,IAAIX,EAAEE,MAAM,EAAES,IAAK;QACjC,IAAIX,CAAC,CAACW,EAAE,KAAKV,CAAC,CAACU,EAAE,EAAE,OAAO;IAC5B;IAEA,OAAO;AACT;AASO,SAASI,qBAAqBf,CAAa,EAAEC,CAAa;IAC/D,MAAMe,WAAWjB,kBAAkBC,GAAGC;IACtC,IAAIe,aAAa,GAAG,OAAOhB,EAAEiB,QAAQ,CAAChB,EAAEC,MAAM;IAC9C,IAAIc,WAAW,CAAC,GAAG;QACjB,MAAME,UAAU,IAAIC,WAAWnB,EAAEE,MAAM,GAAGD,EAAEC,MAAM;QAClDgB,QAAQE,GAAG,CAACpB,EAAEiB,QAAQ,CAAC,GAAGD;QAC1BE,QAAQE,GAAG,CAACpB,EAAEiB,QAAQ,CAACD,WAAWf,EAAEC,MAAM,GAAGc;QAC7C,OAAOE;IACT,OAAO;QACL,OAAOlB;IACT;AACF","ignoreList":[0]}}, + {"offset": {"line": 7319, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/use-cache/clone-cache-entry.ts"],"sourcesContent":["import type { CacheEntry } from '../lib/cache-handlers/types'\n\n/**\n * Tees a cache entry's single-use value stream into two independent entries.\n * The original entry is mutated to hold one branch of the tee, and a clone is\n * returned holding the other, so both can be consumed independently.\n */\nexport function cloneCacheEntry(entry: CacheEntry): [CacheEntry, CacheEntry] {\n const [streamA, streamB] = entry.value.tee()\n entry.value = streamA\n const clonedEntry: CacheEntry = {\n value: streamB,\n timestamp: entry.timestamp,\n revalidate: entry.revalidate,\n expire: entry.expire,\n stale: entry.stale,\n tags: entry.tags,\n }\n return [entry, clonedEntry]\n}\n"],"names":["cloneCacheEntry","entry","streamA","streamB","value","tee","clonedEntry","timestamp","revalidate","expire","stale","tags"],"mappings":"AAEA;;;;CAIC,GACD;;;;AAAO,SAASA,gBAAgBC,KAAiB;IAC/C,MAAM,CAACC,SAASC,QAAQ,GAAGF,MAAMG,KAAK,CAACC,GAAG;IAC1CJ,MAAMG,KAAK,GAAGF;IACd,MAAMI,cAA0B;QAC9BF,OAAOD;QACPI,WAAWN,MAAMM,SAAS;QAC1BC,YAAYP,MAAMO,UAAU;QAC5BC,QAAQR,MAAMQ,MAAM;QACpBC,OAAOT,MAAMS,KAAK;QAClBC,MAAMV,MAAMU,IAAI;IAClB;IACA,OAAO;QAACV;QAAOK;KAAY;AAC7B","ignoreList":[0]}}, + {"offset": {"line": 7347, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/use-cache/constants.ts"],"sourcesContent":["import { InvariantError } from '../../shared/lib/invariant-error'\n\nexport const MIN_PRERENDERABLE_EXPIRE = 300 // 5 minutes\nexport const MIN_PREFETCHABLE_STALE = 30 // 30 seconds\nexport const MIN_SHELL_STALE = 300 // 5 minutes\n\nif (process.env.NODE_ENV !== 'production') {\n if (MIN_PREFETCHABLE_STALE > MIN_SHELL_STALE) {\n throw new InvariantError(\n 'MIN_PREFETCHABLE_STALE must not exceed MIN_SHELL_STALE.'\n )\n }\n}\n"],"names":["InvariantError","MIN_PRERENDERABLE_EXPIRE","MIN_PREFETCHABLE_STALE","MIN_SHELL_STALE","process","env","NODE_ENV"],"mappings":";;;;;;;;AAAA,SAASA,cAAc,QAAQ,mCAAkC;;AAE1D,MAAMC,2BAA2B,IAAI,YAAY;;AACjD,MAAMC,yBAAyB,GAAG,aAAa;;AAC/C,MAAMC,kBAAkB,IAAI,YAAY;;AAE/C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,WAAc;IACzC,IAAIJ,yBAAyBC,iBAAiB;QAC5C,MAAM,IAAIH,4LAAAA,CACR;IAEJ;AACF","ignoreList":[0]}}, + {"offset": {"line": 7372, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/use-cache/handlers.ts"],"sourcesContent":["import { createDefaultCacheHandler } from '../lib/cache-handlers/default'\nimport type { CacheHandler } from '../lib/cache-handlers/types'\nimport {\n createTieredCacheHandler,\n type CacheReadWriteHandler,\n} from './tiered-cache-handler'\n\nconst debug = process.env.NEXT_PRIVATE_DEBUG_CACHE\n ? (message: string, ...args: any[]) => {\n console.log(`use-cache: ${message}`, ...args)\n }\n : undefined\n\nconst handlersSymbol = Symbol.for('@next/cache-handlers')\nconst handlersMapSymbol = Symbol.for('@next/cache-handlers-map')\nconst handlersSetSymbol = Symbol.for('@next/cache-handlers-set')\nconst customCacheHandlersRegistrationSymbol = Symbol.for(\n '@next/custom-cache-handlers-registration'\n)\nconst privateHandlerSymbol = Symbol.for('@next/cache-handlers-private')\nconst builtInHandlersSymbol = Symbol.for('@next/cache-handlers-built-in')\nconst devFrontHandlersSymbol = Symbol.for('@next/cache-handlers-dev-fronts')\nconst devTieredHandlersSymbol = Symbol.for('@next/cache-handlers-dev-tiered')\nconst memoryCacheDisabledSymbol = Symbol.for(\n '@next/cache-handlers-memory-disabled'\n)\n\n/**\n * The in-memory size used for the dev-only built-in handlers (the private\n * handler, the size-0 replacement, and the per-kind front handlers for custom\n * kinds). Mirrors the framework default so `cacheMaxMemorySize: 0` does not\n * disable caching in development.\n */\nconst DEV_MEMORY_CACHE_SIZE = 50 * 1024 * 1024\n\n/**\n * The reference to the cache handlers. We store the cache handlers on the\n * global object so that we can access the same instance across different\n * boundaries (such as different copies of the same module).\n */\nconst reference: typeof globalThis & {\n [handlersSymbol]?: {\n RemoteCache?: CacheHandler\n DefaultCache?: CacheHandler\n }\n [handlersMapSymbol]?: Map\n [handlersSetSymbol]?: Set\n [customCacheHandlersRegistrationSymbol]?: Promise\n [builtInHandlersSymbol]?: Set\n // DEV-only\n [privateHandlerSymbol]?: CacheHandler\n [devFrontHandlersSymbol]?: Map\n [devTieredHandlersSymbol]?: Map\n [memoryCacheDisabledSymbol]?: boolean\n} = globalThis\n\n/**\n * Initialize the cache handlers.\n * @param cacheMaxMemorySize - The maximum memory size of the cache in bytes, if\n * not provided, the default memory size will be used.\n */\nexport function initializeCacheHandlers(cacheMaxMemorySize: number): void {\n // If the cache handlers have already been initialized, don't do it again.\n if (reference[handlersMapSymbol]) {\n debug?.('cache handlers already initialized')\n return\n }\n\n debug?.('initializing cache handlers')\n const handlersMap = new Map()\n reference[handlersMapSymbol] = handlersMap\n const builtInHandlers = new Set()\n reference[builtInHandlersSymbol] = builtInHandlers\n\n // In development, `cacheMaxMemorySize: 0` would make the built-in default\n // handler a no-op, so every reload would miss. Use a real in-memory size\n // instead so dev stays fast; the \"use cache\" wrapper forces a dynamic cache\n // life for this case so it still behaves close to \"no cache\" (serve stale,\n // regenerate in the background). Production keeps the no-op handler.\n const builtInSize =\n process.env.__NEXT_DEV_SERVER && cacheMaxMemorySize === 0\n ? DEV_MEMORY_CACHE_SIZE\n : cacheMaxMemorySize\n\n // Initialize the cache from the symbol contents first.\n if (reference[handlersSymbol]) {\n let fallback: CacheHandler\n if (reference[handlersSymbol].DefaultCache) {\n debug?.('setting \"default\" cache handler from symbol')\n fallback = reference[handlersSymbol].DefaultCache\n } else {\n debug?.('setting \"default\" cache handler from default')\n fallback = createDefaultCacheHandler(builtInSize)\n builtInHandlers.add(fallback)\n }\n\n handlersMap.set('default', fallback)\n\n if (reference[handlersSymbol].RemoteCache) {\n debug?.('setting \"remote\" cache handler from symbol')\n handlersMap.set('remote', reference[handlersSymbol].RemoteCache)\n } else {\n debug?.('setting \"remote\" cache handler from default')\n handlersMap.set('remote', fallback)\n }\n } else {\n const handler = createDefaultCacheHandler(builtInSize)\n builtInHandlers.add(handler)\n\n debug?.('setting \"default\" cache handler from default')\n handlersMap.set('default', handler)\n debug?.('setting \"remote\" cache handler from default')\n handlersMap.set('remote', handler)\n }\n\n // Create a set of the cache handlers.\n reference[handlersSetSymbol] = new Set(handlersMap.values())\n\n // In development we add dedicated built-in in-memory handlers so that reloads\n // are fast. These are always built-in handlers, never a user-configured one,\n // and are gated on the dev server so production behaves exactly as\n // configured.\n if (process.env.__NEXT_DEV_SERVER) {\n reference[memoryCacheDisabledSymbol] = cacheMaxMemorySize === 0\n\n // Private caches are persisted here so reloads are fast. Private entries\n // can hold data specific to the incoming request (for example, derived from\n // its cookies or headers), so this is never the user-configured `default`\n // alias. Sized so it still caches under `cacheMaxMemorySize: 0` (otherwise\n // it would become the no-op stub and private reloads would miss).\n reference[privateHandlerSymbol] = createDefaultCacheHandler(\n DEV_MEMORY_CACHE_SIZE\n )\n\n // Built-in front handlers, one per custom kind, and the tiered handlers\n // that place a front in front of a (possibly slow or remote) backing\n // handler so cache hits resolve in a microtask, are both created per kind\n // in `setCacheHandler`.\n reference[devFrontHandlersSymbol] = new Map()\n reference[devTieredHandlersSymbol] = new Map()\n }\n}\n\nexport function registerCustomCacheHandlers(\n register: () => Promise\n): Promise {\n let pendingPromise = reference[customCacheHandlersRegistrationSymbol]\n if (!pendingPromise) {\n pendingPromise = register()\n reference[customCacheHandlersRegistrationSymbol] = pendingPromise\n }\n\n return pendingPromise\n}\n\n/**\n * Get a cache handler by kind.\n * @param kind - The kind of cache handler to get.\n * @returns The cache handler, or `undefined` if it does not exist.\n * @throws If the cache handlers are not initialized.\n */\nexport function getCacheHandler(kind: string): CacheHandler | undefined {\n // This should never be called before initializeCacheHandlers.\n if (!reference[handlersMapSymbol]) {\n throw new Error('Cache handlers not initialized')\n }\n\n return reference[handlersMapSymbol].get(kind)\n}\n\n/**\n * Get the dedicated in-memory cache handler that persists private caches in\n * development. Returns `undefined` outside the dev server, where private caches\n * must not be persisted. This is intentionally not part of the kind-keyed\n * handlers map so that it can never be replaced by a user-configured handler.\n */\nexport function getPrivateCacheHandler(): CacheHandler | undefined {\n // This should never be called before initializeCacheHandlers.\n if (!reference[handlersMapSymbol]) {\n throw new Error('Cache handlers not initialized')\n }\n\n return reference[privateHandlerSymbol]\n}\n\n/**\n * Whether the in-memory cache is disabled (`cacheMaxMemorySize: 0`). Dev-only\n * signal used to force a dynamic cache life so that the size-0 case still\n * serves stale and regenerates in the background. Always `false` in production.\n */\nexport function isMemoryCacheDisabled(): boolean {\n return reference[memoryCacheDisabledSymbol] ?? false\n}\n\n/**\n * Whether `kind` is backed by a real user-configured handler rather than the\n * built-in in-memory default. Such a handler may be slow or remote, so in\n * development a built-in front handler is placed in front of it (see\n * `getDevTieredCacheHandler`) to keep cache hits microtask-fast. The presence\n * of a dev front handler is the signal, since front handlers are created\n * exactly for user-registered kinds. Always `false` in production.\n */\nexport function isCustomCacheHandler(kind: string): boolean {\n if (!process.env.__NEXT_DEV_SERVER) {\n return false\n }\n\n return reference[devFrontHandlersSymbol]?.has(kind) ?? false\n}\n\n/**\n * Whether `kind` resolves to one of the in-memory handlers that\n * `initializeCacheHandlers` constructs itself, rather than one supplied by the\n * platform through the `@next/cache-handlers` global or by `cacheHandlers`\n * config. Reads from a built-in handler are map lookups, so repeating one\n * within a request costs nothing; reads from a supplied handler may be a\n * network round trip. Unlike `isCustomCacheHandler`, this holds in production.\n *\n * Tracking the instances rather than the kinds is what keeps aliasing correct:\n * self-hosted, `remote` resolves to the same handler as `default` and so\n * reports as built-in, while a platform-supplied `remote` does not.\n */\nexport function isBuiltInCacheHandler(kind: string): boolean {\n const handler = reference[handlersMapSymbol]?.get(kind)\n\n return (\n handler !== undefined &&\n Boolean(reference[builtInHandlersSymbol]?.has(handler))\n )\n}\n\n/**\n * Get the dev-only tiered cache handler for a custom `kind`: a fast built-in\n * in-memory front handler in front of the user-configured backing handler, so\n * cache hits resolve in a microtask. Returns `undefined` if there is none (a\n * built-in kind, or production).\n */\nexport function getDevTieredCacheHandler(\n kind: string\n): CacheReadWriteHandler | undefined {\n if (!process.env.__NEXT_DEV_SERVER) {\n return undefined\n }\n\n return reference[devTieredHandlersSymbol]?.get(kind)\n}\n\n/**\n * Get the cache handlers. In dev, this also includes the built-in handlers (the\n * private handler and the per-kind front handlers). The built-in handlers are\n * not part of the registered set, but tag operations must still reach them:\n * their `updateTags` writes the shared tags manifest that their `get` consults,\n * so `revalidateTag` can invalidate their entries.\n * @returns The cache handlers, or `undefined` if they are not initialized.\n */\nexport function getCacheHandlers(): CacheHandler[] | undefined {\n const handlersSet = reference[handlersSetSymbol]\n if (!handlersSet) {\n return undefined\n }\n\n const handlers = Array.from(handlersSet)\n\n if (process.env.__NEXT_DEV_SERVER) {\n const privateHandler = reference[privateHandlerSymbol]\n if (privateHandler) {\n handlers.push(privateHandler)\n }\n\n const devFrontHandlers = reference[devFrontHandlersSymbol]\n if (devFrontHandlers) {\n handlers.push(...devFrontHandlers.values())\n }\n }\n\n return handlers\n}\n\n/**\n * Get a map iterator over the cache handlers (keyed by kind).\n * @returns An iterator over the cache handler entries, or `undefined` if they\n * are not initialized.\n * @throws If the cache handlers are not initialized.\n */\nexport function getCacheHandlerEntries():\n | IterableIterator<[string, CacheHandler]>\n | undefined {\n const handlersMap = reference[handlersMapSymbol]\n if (!handlersMap) {\n return undefined\n }\n\n if (process.env.__NEXT_DEV_SERVER) {\n return iterateCacheHandlerEntriesWithDevBuiltIns(handlersMap)\n }\n\n return handlersMap.entries()\n}\n\n/**\n * Yields the registered entries plus the dev-only private handler under its\n * kind, so that per-kind tag operations (`refreshTags` / `getExpiration` for\n * implicit tags) apply to private entries. Custom-kind front handlers are\n * intentionally omitted: the backing handler (already in the map) is\n * authoritative for that kind's `getExpiration`, and a front entry is discarded\n * via that same value.\n */\nfunction* iterateCacheHandlerEntriesWithDevBuiltIns(\n handlersMap: Map\n): IterableIterator<[string, CacheHandler]> {\n yield* handlersMap.entries()\n\n const privateHandler = reference[privateHandlerSymbol]\n if (privateHandler) {\n const privateEntry: [string, CacheHandler] = ['private', privateHandler]\n yield privateEntry\n }\n}\n\n/**\n * Set a cache handler by kind.\n * @param kind - The kind of cache handler to set.\n * @param cacheHandler - The cache handler to set.\n */\nexport function setCacheHandler(\n kind: string,\n cacheHandler: CacheHandler\n): void {\n // This should never be called before initializeCacheHandlers.\n if (!reference[handlersMapSymbol] || !reference[handlersSetSymbol]) {\n throw new Error('Cache handlers not initialized')\n }\n\n debug?.('setting cache handler for \"%s\"', kind)\n reference[handlersMapSymbol].set(kind, cacheHandler)\n reference[handlersSetSymbol].add(cacheHandler)\n\n // A user-configured handler may be slow or remote. In development, give it a\n // dedicated built-in in-memory front handler so cache hits resolve in a\n // microtask, and pair the two into a tiered handler the wrapper reads\n // through. Both are created alongside registration so their lifecycle matches\n // the backing handler's, and the front handler's presence is the signal that\n // this kind is backed by a real handler (see `isCustomCacheHandler`). Being a\n // built-in default handler, the front inherits the dev minimum retention, so\n // a short-`expire` value still hits the front instead of falling through to\n // the slow backing on every read.\n if (process.env.__NEXT_DEV_SERVER) {\n const frontHandler = createDefaultCacheHandler(DEV_MEMORY_CACHE_SIZE)\n reference[devFrontHandlersSymbol]?.set(kind, frontHandler)\n reference[devTieredHandlersSymbol]?.set(\n kind,\n createTieredCacheHandler(frontHandler, cacheHandler)\n )\n }\n}\n"],"names":["createDefaultCacheHandler","createTieredCacheHandler","debug","process","env","NEXT_PRIVATE_DEBUG_CACHE","message","args","console","log","undefined","handlersSymbol","Symbol","for","handlersMapSymbol","handlersSetSymbol","customCacheHandlersRegistrationSymbol","privateHandlerSymbol","builtInHandlersSymbol","devFrontHandlersSymbol","devTieredHandlersSymbol","memoryCacheDisabledSymbol","DEV_MEMORY_CACHE_SIZE","reference","globalThis","initializeCacheHandlers","cacheMaxMemorySize","handlersMap","Map","builtInHandlers","Set","builtInSize","__NEXT_DEV_SERVER","fallback","DefaultCache","add","set","RemoteCache","handler","values","registerCustomCacheHandlers","register","pendingPromise","getCacheHandler","kind","Error","get","getPrivateCacheHandler","isMemoryCacheDisabled","isCustomCacheHandler","has","isBuiltInCacheHandler","Boolean","getDevTieredCacheHandler","getCacheHandlers","handlersSet","handlers","Array","from","privateHandler","push","devFrontHandlers","getCacheHandlerEntries","iterateCacheHandlerEntriesWithDevBuiltIns","entries","privateEntry","setCacheHandler","cacheHandler","frontHandler"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 7606, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/use-cache/tiered-cache-handler.ts"],"sourcesContent":["import type { CacheEntry, CacheHandler } from '../lib/cache-handlers/types'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { cloneCacheEntry } from './clone-cache-entry'\n\n/**\n * The subset of the cache-handler interface used on the per-invocation\n * read/write path in the \"use cache\" wrapper. Tag operations are intentionally\n * excluded: they are applied to the front and backing handlers individually by\n * the registry accessors (`getCacheHandlers` / `getCacheHandlerEntries`), never\n * through this composite, so the composite is never registered.\n */\nexport type CacheReadWriteHandler = Pick\n\n/**\n * Development-only. Puts a fast built-in in-memory `front` handler in front of\n * a slower or persistent user-configured `backing` handler. Its only job is to\n * guarantee that cache hits resolve in a microtask (so they aren't counted as\n * cache misses at a staged-render boundary, which would otherwise surface a\n * cold cache indicator), while keeping the front in sync with the backing.\n *\n * It implements only `get` and `set` because that is all the wrapper calls on\n * its handler. Regeneration is never done here; this only reads, mirrors, and\n * writes through.\n *\n * The handler is a per-kind singleton (the front and backing are both shared),\n * so its in-flight map can serialize background front syncs for a key across\n * concurrent reads, running them one at a time instead of in parallel.\n */\nexport function createTieredCacheHandler(\n front: CacheHandler,\n backing: CacheHandler\n): CacheReadWriteHandler {\n // Holds the in-flight (or chained) background sync per key, so a sync for a\n // key runs after any earlier one for that key rather than in parallel.\n const inFlightSyncs = new Map>()\n\n function scheduleBackgroundSync(\n cacheKey: string,\n sync: () => Promise\n ): void {\n // Serialize syncs per key: chain this one after any in-flight sync rather\n // than running a second in parallel. The trailing sync still re-reads the\n // backing, so the front converges to the latest state; a later read is\n // never dropped in favor of an earlier, possibly stale, in-flight read.\n const previous = inFlightSyncs.get(cacheKey)\n\n let pending: Promise\n if (previous) {\n pending = previous.then(sync)\n } else {\n pending = sync()\n }\n\n pending = pending.finally(() => {\n if (inFlightSyncs.get(cacheKey) === pending) {\n inFlightSyncs.delete(cacheKey)\n }\n })\n\n inFlightSyncs.set(cacheKey, pending)\n\n // Register the sync on the current request's revalidation writes so it is\n // awaited rather than left untracked. Reading the work store here (rather\n // than capturing it at construction) is what lets the handler be a shared\n // singleton; `get` always runs within the request's async context, so the\n // store is present.\n const workStore = workAsyncStorage.getStore()\n if (workStore) {\n workStore.pendingRevalidateWrites ??= []\n workStore.pendingRevalidateWrites.push(pending)\n }\n }\n\n return {\n async get(cacheKey, softTags) {\n const frontEntry = await front.get(cacheKey, softTags)\n\n if (frontEntry) {\n // Cache hit: serve immediately (in a microtask). A background reconcile\n // keeps the front in sync with the backing for the next read;\n // reconciles for the same key are serialized, so concurrent cache hits\n // don't hit the backing in parallel.\n scheduleBackgroundSync(cacheKey, () =>\n reconcileFrontFromBacking(\n front,\n backing,\n cacheKey,\n softTags,\n frontEntry\n )\n )\n\n return frontEntry\n }\n\n // Cold or evicted front entry: we pay the backing latency here (this is a\n // read that may legitimately surface a cold cache indicator). A miss\n // returns undefined and the \"use cache\" wrapper generates the entry and\n // writes it through both tiers via `set`.\n const backingEntry = await backing.get(cacheKey, softTags)\n\n if (!backingEntry) {\n return undefined\n }\n\n // Mirror this freshly read backing entry into the front so the next read\n // hits it. The mirror is serialized per key: if a sync is already\n // running, this chains after it, so the front converges to this read even\n // if the backing changed since that sync started.\n const [servedEntry, mirroredEntry] = cloneCacheEntry(backingEntry)\n scheduleBackgroundSync(cacheKey, () =>\n mirrorIntoFront(front, cacheKey, mirroredEntry)\n )\n\n return servedEntry\n },\n\n async set(cacheKey, pendingEntry) {\n // Write through to both tiers. The entry's value stream is single-use, so\n // tee it into one entry per tier.\n const entry = await pendingEntry\n const [frontEntry, backingEntry] = cloneCacheEntry(entry)\n\n await Promise.all([\n front.set(cacheKey, Promise.resolve(frontEntry)),\n backing.set(cacheKey, Promise.resolve(backingEntry)),\n ])\n },\n }\n}\n\n/**\n * After serving a cache hit from the front, consult the backing and mirror a\n * newer entry into the front for the next read. Runs in the background;\n * failures are non-fatal.\n */\nasync function reconcileFrontFromBacking(\n front: CacheHandler,\n backing: CacheHandler,\n cacheKey: string,\n softTags: string[],\n frontEntry: CacheEntry\n): Promise {\n try {\n const backingEntry = await backing.get(cacheKey, softTags)\n\n if (!backingEntry) {\n // The backing no longer has this entry (it was purged out-of-band). The\n // cache-handler interface has no per-key delete, so evict the front entry\n // by overwriting it with an already-expired copy: the next read sees a\n // front miss, falls through to the (also empty) backing, and the wrapper\n // regenerates. The entry we just served was the last stale read.\n await front.set(cacheKey, Promise.resolve(toExpiredEntry(frontEntry)))\n\n return\n }\n\n if (backingEntry.timestamp > frontEntry.timestamp) {\n await front.set(cacheKey, Promise.resolve(backingEntry))\n } else {\n // The front is already up to date, so the backing entry goes unused. This\n // code releases its stream and does not await the result. The backing\n // handler is user-configured, and it can return one branch of a teed\n // stream. `cancel()` on such a branch settles only after the sibling\n // branch is cancelled too, and the handler retains that sibling, so an\n // await here would hang the reconcile.\n void backingEntry.value.cancel()\n }\n } catch {\n // Background warming; failures are non-fatal.\n }\n}\n\n/**\n * Mirror a backing entry into the front.\n */\nasync function mirrorIntoFront(\n front: CacheHandler,\n cacheKey: string,\n entry: CacheEntry\n): Promise {\n try {\n await front.set(cacheKey, Promise.resolve(entry))\n } catch {\n // Background warming; failures are non-fatal.\n }\n}\n\n/**\n * Build an already-expired copy of an entry, used to evict it from the front\n * handler (which has no per-key delete) once the backing no longer has it. The\n * default handler treats a negative `expire` as an eviction sentinel and\n * reports the entry as missing on the next read. A negative `expire` is used\n * rather than `0` because the dev front handler enforces a minimum retention,\n * so a `0` `expire` would be kept alive by that minimum instead of evicted. The\n * value is never read once the entry is evicted, but it must carry at least one\n * byte because the built-in LRU cache refuses to store size-0 entries.\n */\nfunction toExpiredEntry(entry: CacheEntry): CacheEntry {\n return {\n ...entry,\n expire: -1,\n value: new ReadableStream({\n start(controller) {\n controller.enqueue(new Uint8Array(1))\n controller.close()\n },\n }),\n }\n}\n"],"names":["workAsyncStorage","cloneCacheEntry","createTieredCacheHandler","front","backing","inFlightSyncs","Map","scheduleBackgroundSync","cacheKey","sync","previous","get","pending","then","finally","delete","set","workStore","getStore","pendingRevalidateWrites","push","softTags","frontEntry","reconcileFrontFromBacking","backingEntry","undefined","servedEntry","mirroredEntry","mirrorIntoFront","pendingEntry","entry","Promise","all","resolve","toExpiredEntry","timestamp","value","cancel","expire","ReadableStream","start","controller","enqueue","Uint8Array","close"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 7751, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/adapter.ts"],"sourcesContent":["import type { RequestData, FetchEventResult } from './types'\nimport type { RequestInit } from './spec-extension/request'\nimport { PageSignatureError } from './error'\nimport { fromNodeOutgoingHttpHeaders, normalizeNextQueryParam } from './utils'\nimport {\n NextFetchEvent,\n getWaitUntilPromiseFromEvent,\n} from './spec-extension/fetch-event'\nimport { NextRequest } from './spec-extension/request'\nimport { NextResponse } from './spec-extension/response'\nimport {\n parseRelativeURL,\n getRelativeURL,\n} from '../../shared/lib/router/utils/relativize-url'\nimport { NextURL } from './next-url'\nimport { stripInternalSearchParams } from '../internal-utils'\nimport { normalizeRscURL } from '../../shared/lib/router/utils/app-paths'\nimport {\n FLIGHT_HEADERS,\n NEXT_REWRITTEN_PATH_HEADER,\n NEXT_REWRITTEN_QUERY_HEADER,\n NEXT_RSC_UNION_QUERY,\n RSC_HEADER,\n} from '../../client/components/app-router-headers'\nimport { ensureInstrumentationRegistered } from './globals'\nimport { createRequestStoreForAPI } from '../async-storage/request-store'\nimport { workUnitAsyncStorage } from '../app-render/work-unit-async-storage.external'\nimport { createWorkStore } from '../async-storage/work-store'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { InvariantError } from '../../shared/lib/invariant-error'\nimport type { ResolvedCacheLifeProfiles } from '../config-shared'\nimport { NEXT_ROUTER_PREFETCH_HEADER } from '../../client/components/app-router-headers'\nimport { getTracer } from '../lib/trace/tracer'\nimport type { TextMapGetter } from 'next/dist/compiled/@opentelemetry/api'\nimport { MiddlewareSpan } from '../lib/trace/constants'\nimport { CloseController } from './web-on-close'\nimport { getEdgePreviewProps } from './get-edge-preview-props'\nimport { getBuiltinRequestContext } from '../after/builtin-request-context'\nimport { getImplicitTags } from '../lib/implicit-tags'\nimport { isRSCRequestHeader } from '../lib/is-rsc-request'\nimport { setRequestMeta } from '../request-meta'\n\n// The proxy (middleware) does not support `'use cache'`, so this work store\n// never reaches the code that reads `cacheLife` (and `'use cache'` is\n// disallowed on the edge runtime anyway). This sentinel satisfies the\n// non-optional type while throwing if `default` is ever read, matching the\n// \"never read\" sentinels used for the proxy's other unused renderOpts fields\n// (`staticPageGenerationTimeout: 0`, `useCacheTimeout: 0`). It surfaces loudly\n// rather than silently serving a misleading profile.\nconst proxyCacheLifeProfiles: ResolvedCacheLifeProfiles = {\n get default(): never {\n throw new InvariantError(\n 'Proxy does not support `use cache`, so reading its `default` cacheLife profile is unexpected.'\n )\n },\n}\n\nexport class NextRequestHint extends NextRequest {\n sourcePage: string\n fetchMetrics: FetchEventResult['fetchMetrics'] | undefined\n\n constructor(params: {\n init: RequestInit\n input: Request | string\n page: string\n }) {\n super(params.input, params.init)\n this.sourcePage = params.page\n }\n\n get request() {\n throw new PageSignatureError({ page: this.sourcePage })\n }\n\n respondWith() {\n throw new PageSignatureError({ page: this.sourcePage })\n }\n\n waitUntil() {\n throw new PageSignatureError({ page: this.sourcePage })\n }\n}\n\nconst headersGetter: TextMapGetter = {\n keys: (headers) => Array.from(headers.keys()),\n get: (headers, key) => headers.get(key) ?? undefined,\n}\n\nexport type AdapterOptions = {\n handler: (req: NextRequestHint, event: NextFetchEvent) => Promise\n page: string\n request: RequestData\n IncrementalCache?: typeof import('../lib/incremental-cache').IncrementalCache\n incrementalCacheHandler?: typeof import('../lib/incremental-cache').CacheHandler\n bypassNextUrl?: boolean\n}\n\n// This has to be compatible with what the Vercel builder does as well:\n// https://github.com/vercel/vercel/blob/0e0a6eb9f12216202ae2f5ee37e4ada1796361fd/packages/next/src/edge-function-source/get-edge-function.ts#L112-L136\nexport type EdgeHandler = (opts: {\n request: AdapterOptions['request']\n}) => Promise\n\nlet propagator: (request: NextRequestHint, fn: () => T) => T = (\n request,\n fn\n) => {\n const tracer = getTracer()\n return tracer.withPropagatedContext(request.headers, fn, headersGetter)\n}\n\nlet testApisIntercepted = false\n\nfunction ensureTestApisIntercepted() {\n if (!testApisIntercepted) {\n testApisIntercepted = true\n if (process.env.NEXT_PRIVATE_TEST_PROXY === 'true') {\n const { interceptTestApis, wrapRequestHandler } =\n // eslint-disable-next-line @next/internal/typechecked-require -- experimental/testmode is not built ins next/dist/esm\n require('next/dist/experimental/testmode/server-edge') as typeof import('../../experimental/testmode/server-edge')\n interceptTestApis()\n propagator = wrapRequestHandler(propagator)\n }\n }\n}\n\nexport async function adapter(\n params: AdapterOptions\n): Promise {\n ensureTestApisIntercepted()\n await ensureInstrumentationRegistered()\n\n // TODO-APP: use explicit marker for this\n const isEdgeRendering =\n typeof (globalThis as any).__BUILD_MANIFEST !== 'undefined'\n\n params.request.url = normalizeRscURL(params.request.url)\n\n const requestURL = params.bypassNextUrl\n ? new URL(params.request.url)\n : new NextURL(params.request.url, {\n headers: params.request.headers,\n nextConfig: params.request.nextConfig,\n })\n\n // Iterator uses an index to keep track of the current iteration. Because of deleting and appending below we can't just use the iterator.\n // Instead we use the keys before iteration.\n const keys = [...requestURL.searchParams.keys()]\n for (const key of keys) {\n const value = requestURL.searchParams.getAll(key)\n\n const normalizedKey = normalizeNextQueryParam(key)\n if (normalizedKey) {\n requestURL.searchParams.delete(normalizedKey)\n for (const val of value) {\n requestURL.searchParams.append(normalizedKey, val)\n }\n requestURL.searchParams.delete(key)\n }\n }\n\n // Ensure users only see page requests, never data requests.\n let buildId = process.env.__NEXT_BUILD_ID || ''\n if ('buildId' in requestURL) {\n buildId = (requestURL as NextURL).buildId || ''\n requestURL.buildId = ''\n }\n let deploymentId = process.env.NEXT_DEPLOYMENT_ID\n\n const requestHeaders = fromNodeOutgoingHttpHeaders(params.request.headers)\n const isNextDataRequest = requestHeaders.has('x-nextjs-data')\n const isRSCRequest = isRSCRequestHeader(requestHeaders.get(RSC_HEADER))\n\n if (isNextDataRequest && requestURL.pathname === '/index') {\n requestURL.pathname = '/'\n }\n\n const flightHeaders = new Map()\n\n // Headers should only be stripped for middleware\n if (!isEdgeRendering && !process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE) {\n for (const header of FLIGHT_HEADERS) {\n const value = requestHeaders.get(header)\n if (value !== null) {\n flightHeaders.set(header, value)\n requestHeaders.delete(header)\n }\n }\n }\n\n const normalizeURL = process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE\n ? new URL(params.request.url)\n : requestURL\n\n const rscHash = normalizeURL.searchParams.get(NEXT_RSC_UNION_QUERY)\n\n const request = new NextRequestHint({\n page: params.page,\n // Strip internal query parameters off the request.\n input: process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE\n ? normalizeURL.toString()\n : stripInternalSearchParams(normalizeURL).toString(),\n init: {\n body: params.request.body,\n headers: requestHeaders,\n method: params.request.method,\n nextConfig: params.request.nextConfig,\n signal: params.request.signal,\n },\n })\n\n if (params.request.requestMeta) {\n setRequestMeta(request, params.request.requestMeta)\n }\n\n /**\n * This allows to identify the request as a data request. The user doesn't\n * need to know about this property neither use it. We add it for testing\n * purposes.\n */\n if (isNextDataRequest) {\n Object.defineProperty(request, '__isData', {\n enumerable: false,\n value: true,\n })\n }\n\n if (\n // If we are inside of the next start sandbox\n // leverage the shared instance if not we need\n // to create a fresh cache instance each time\n !(globalThis as any).__incrementalCacheShared &&\n (params as any).IncrementalCache\n ) {\n ;(globalThis as any).__incrementalCache = new (\n params as {\n IncrementalCache: typeof import('../lib/incremental-cache').IncrementalCache\n }\n ).IncrementalCache({\n CurCacheHandler: params.incrementalCacheHandler,\n minimalMode: process.env.NODE_ENV !== 'development',\n fetchCacheKeyPrefix: process.env.__NEXT_FETCH_CACHE_KEY_PREFIX,\n dev: process.env.NODE_ENV === 'development',\n requestHeaders: params.request.headers as any,\n\n previewProps: getEdgePreviewProps(),\n prerenderManifest: {\n version: -1 as any, // letting us know this doesn't conform to spec\n routes: {},\n dynamicRoutes: {},\n notFoundRoutes: [],\n preview: getEdgePreviewProps(),\n },\n })\n }\n\n // if we're in an edge runtime sandbox, we should use the waitUntil\n // that we receive from the enclosing NextServer\n const outerWaitUntil =\n params.request.waitUntil ?? getBuiltinRequestContext()?.waitUntil\n\n const event = new NextFetchEvent({\n request,\n page: params.page,\n context: outerWaitUntil ? { waitUntil: outerWaitUntil } : undefined,\n })\n let response\n let cookiesFromResponse\n\n response = await propagator(request, () => {\n // we only care to make async storage available for middleware\n const isMiddleware =\n params.page === '/middleware' ||\n params.page === '/src/middleware' ||\n params.page === '/proxy' ||\n params.page === '/src/proxy'\n\n if (isMiddleware) {\n // if we're in an edge function, we only get a subset of `nextConfig` (no `experimental`),\n // so we have to inject it via DefinePlugin.\n // in `next start` this will be passed normally (see `NextNodeServer.runMiddleware`).\n\n const waitUntil = event.waitUntil.bind(event)\n const closeController = new CloseController()\n\n return getTracer().trace(\n MiddlewareSpan.execute,\n {\n spanName: `middleware ${request.method}`,\n attributes: {\n 'http.target': request.nextUrl.pathname,\n 'http.method': request.method,\n },\n },\n async () => {\n try {\n const onUpdateCookies = (cookies: Array) => {\n cookiesFromResponse = cookies\n }\n const previewProps = getEdgePreviewProps()\n const page = '/' // Fake Work\n const fallbackRouteParams = null\n\n const implicitTags = await getImplicitTags(\n page,\n request.nextUrl.pathname,\n fallbackRouteParams\n )\n\n const requestStore = createRequestStoreForAPI(\n request,\n request.nextUrl,\n implicitTags,\n onUpdateCookies,\n previewProps,\n // Edge route handlers can't use `\"use cache\"`, so there's no HMR\n // refresh hash to thread through here.\n undefined\n )\n\n const workStore = createWorkStore({\n page,\n renderOpts: {\n cacheLifeProfiles: proxyCacheLifeProfiles,\n // Proxy doesn't do static generation, so this value does not\n // apply here. 0 is a sentinel: if something ever reads it,\n // it'll surface loudly instead of silently using a misleading\n // default.\n staticPageGenerationTimeout: 0,\n cacheComponents: false,\n // Proxy doesn't run instant validation; the level value is\n // irrelevant here.\n // TODO: remove validationLevel and other global config from renderOpts\n validationLevel: 'warning',\n experimental: {\n isRoutePPREnabled: false,\n authInterrupts:\n !!params.request.nextConfig?.experimental?.authInterrupts,\n // Proxy doesn't fill Cache Components entries, so this value\n // is never read. 0 is a sentinel: if something ever reads it,\n // the cache fill will time out immediately and surface the\n // bug.\n useCacheTimeout: 0,\n durableUseCacheEntries: false,\n },\n waitUntil,\n onClose: closeController.onClose.bind(closeController),\n onAfterTaskError: undefined,\n },\n isPrefetchRequest:\n request.headers.get(NEXT_ROUTER_PREFETCH_HEADER) === '1',\n buildId: buildId ?? '',\n deploymentId: deploymentId ?? '',\n previouslyRevalidatedTags: [],\n })\n\n return await workAsyncStorage.run(workStore, () =>\n workUnitAsyncStorage.run(\n requestStore,\n params.handler,\n request,\n event\n )\n )\n } finally {\n // middleware cannot stream, so we can consider the response closed\n // as soon as the handler returns.\n // we can delay running it until a bit later --\n // if it's needed, we'll have a `waitUntil` lock anyway.\n setTimeout(() => {\n closeController.dispatchClose()\n }, 0)\n }\n }\n )\n }\n return params.handler(request, event)\n })\n\n // check if response is a Response object\n if (response && !(response instanceof Response)) {\n throw new TypeError('Expected an instance of Response to be returned')\n }\n\n if (response && cookiesFromResponse) {\n response.headers.set('set-cookie', cookiesFromResponse)\n }\n\n /**\n * For rewrites we must always include the locale in the final pathname\n * so we re-create the NextURL forcing it to include it when the it is\n * an internal rewrite. Also we make sure the outgoing rewrite URL is\n * a data URL if the request was a data request.\n */\n const rewrite = response?.headers.get('x-middleware-rewrite')\n if (response && rewrite && (isRSCRequest || !isEdgeRendering)) {\n const destination = new NextURL(rewrite, {\n forceLocale: true,\n headers: params.request.headers,\n nextConfig: params.request.nextConfig,\n })\n\n if (!process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE && !isEdgeRendering) {\n if (destination.host === request.nextUrl.host) {\n destination.buildId = buildId || destination.buildId\n response.headers.set('x-middleware-rewrite', String(destination))\n }\n }\n\n /**\n * When the request is a data request we must show if there was a rewrite\n * with an internal header so the client knows which component to load\n * from the data request.\n */\n const { url: relativeDestination, isRelative } = parseRelativeURL(\n destination.toString(),\n requestURL.toString()\n )\n\n if (\n !isEdgeRendering &&\n isNextDataRequest &&\n // if the rewrite is external and external rewrite\n // resolving config is enabled don't add this header\n // so the upstream app can set it instead\n !(\n process.env.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE &&\n relativeDestination.match(/http(s)?:\\/\\//)\n )\n ) {\n response.headers.set('x-nextjs-rewrite', relativeDestination)\n }\n\n // Check to see if this is a non-relative rewrite. If it is, we need\n // to check to see if it's an allowed origin to receive the rewritten\n // headers.\n const isAllowedOrigin = !isRelative\n ? params.request.nextConfig?.experimental?.clientParamParsingOrigins?.some(\n (origin) => new RegExp(origin).test(destination.origin)\n )\n : false\n\n // If this is an RSC request, and the pathname or search has changed, and\n // this isn't an external rewrite, we need to set the rewritten pathname and\n // query headers.\n if (isRSCRequest && (isRelative || isAllowedOrigin)) {\n if (requestURL.pathname !== destination.pathname) {\n response.headers.set(NEXT_REWRITTEN_PATH_HEADER, destination.pathname)\n }\n if (requestURL.search !== destination.search) {\n response.headers.set(\n NEXT_REWRITTEN_QUERY_HEADER,\n // remove the leading ? from the search string\n destination.search.slice(1)\n )\n }\n }\n }\n\n /**\n * Always forward the `_rsc` search parameter to the rewritten URL for RSC requests,\n * unless it's already present. This is necessary to ensure that RSC hash validation\n * works correctly after a rewrite. For internal rewrites, the server can validate the\n * RSC hash using the original URL, so forwarding the `_rsc` parameter is less critical.\n * However, for external rewrites (where the request is proxied to another Next.js server),\n * the external server does not have access to the original URL or its search parameters.\n * In these cases, forwarding the `_rsc` parameter is essential so that the external server\n * can perform the correct RSC hash validation.\n */\n if (response && rewrite && isRSCRequest && rscHash) {\n const rewriteURL = new URL(rewrite)\n if (!rewriteURL.searchParams.has(NEXT_RSC_UNION_QUERY)) {\n rewriteURL.searchParams.set(NEXT_RSC_UNION_QUERY, rscHash)\n response.headers.set('x-middleware-rewrite', rewriteURL.toString())\n }\n }\n\n /**\n * For redirects we will not include the locale in case when it is the\n * default and we must also make sure the outgoing URL is a data one if\n * the incoming request was a data request.\n */\n const redirect = response?.headers.get('Location')\n if (response && redirect && !isEdgeRendering) {\n const redirectURL = new NextURL(redirect, {\n forceLocale: false,\n headers: params.request.headers,\n nextConfig: params.request.nextConfig,\n })\n\n /**\n * Responses created from redirects have immutable headers so we have\n * to clone the response to be able to modify it.\n */\n response = new Response(response.body, response)\n\n if (!process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE) {\n if (redirectURL.host === requestURL.host) {\n redirectURL.buildId = buildId || redirectURL.buildId\n response.headers.set(\n 'Location',\n getRelativeURL(redirectURL, requestURL)\n )\n }\n }\n\n /**\n * When the request is a data request we can't use the location header as\n * it may end up with CORS error. Instead we map to an internal header so\n * the client knows the destination.\n */\n if (isNextDataRequest) {\n response.headers.delete('Location')\n response.headers.set(\n 'x-nextjs-redirect',\n getRelativeURL(redirectURL.toString(), requestURL.toString())\n )\n }\n }\n\n const finalResponse = response ? response : NextResponse.next()\n\n // Flight headers are not overridable / removable so they are applied at the end.\n const middlewareOverrideHeaders = finalResponse.headers.get(\n 'x-middleware-override-headers'\n )\n const overwrittenHeaders: string[] = []\n if (middlewareOverrideHeaders) {\n for (const [key, value] of flightHeaders) {\n finalResponse.headers.set(`x-middleware-request-${key}`, value)\n overwrittenHeaders.push(key)\n }\n\n if (overwrittenHeaders.length > 0) {\n finalResponse.headers.set(\n 'x-middleware-override-headers',\n middlewareOverrideHeaders + ',' + overwrittenHeaders.join(',')\n )\n }\n }\n\n return {\n response: finalResponse,\n waitUntil: getWaitUntilPromiseFromEvent(event) ?? Promise.resolve(),\n fetchMetrics: request.fetchMetrics,\n }\n}\n"],"names":["PageSignatureError","fromNodeOutgoingHttpHeaders","normalizeNextQueryParam","NextFetchEvent","getWaitUntilPromiseFromEvent","NextRequest","NextResponse","parseRelativeURL","getRelativeURL","NextURL","stripInternalSearchParams","normalizeRscURL","FLIGHT_HEADERS","NEXT_REWRITTEN_PATH_HEADER","NEXT_REWRITTEN_QUERY_HEADER","NEXT_RSC_UNION_QUERY","RSC_HEADER","ensureInstrumentationRegistered","createRequestStoreForAPI","workUnitAsyncStorage","createWorkStore","workAsyncStorage","InvariantError","NEXT_ROUTER_PREFETCH_HEADER","getTracer","MiddlewareSpan","CloseController","getEdgePreviewProps","getBuiltinRequestContext","getImplicitTags","isRSCRequestHeader","setRequestMeta","proxyCacheLifeProfiles","default","NextRequestHint","constructor","params","input","init","sourcePage","page","request","respondWith","waitUntil","headersGetter","keys","headers","Array","from","get","key","undefined","propagator","fn","tracer","withPropagatedContext","testApisIntercepted","ensureTestApisIntercepted","process","env","NEXT_PRIVATE_TEST_PROXY","interceptTestApis","wrapRequestHandler","require","adapter","isEdgeRendering","globalThis","__BUILD_MANIFEST","url","requestURL","bypassNextUrl","URL","nextConfig","searchParams","value","getAll","normalizedKey","delete","val","append","buildId","__NEXT_BUILD_ID","deploymentId","NEXT_DEPLOYMENT_ID","requestHeaders","isNextDataRequest","has","isRSCRequest","pathname","flightHeaders","Map","__NEXT_NO_MIDDLEWARE_URL_NORMALIZE","header","set","normalizeURL","rscHash","toString","body","method","signal","requestMeta","Object","defineProperty","enumerable","__incrementalCacheShared","IncrementalCache","__incrementalCache","CurCacheHandler","incrementalCacheHandler","minimalMode","NODE_ENV","fetchCacheKeyPrefix","__NEXT_FETCH_CACHE_KEY_PREFIX","dev","previewProps","prerenderManifest","version","routes","dynamicRoutes","notFoundRoutes","preview","outerWaitUntil","event","context","response","cookiesFromResponse","isMiddleware","bind","closeController","trace","execute","spanName","attributes","nextUrl","onUpdateCookies","cookies","fallbackRouteParams","implicitTags","requestStore","workStore","renderOpts","cacheLifeProfiles","staticPageGenerationTimeout","cacheComponents","validationLevel","experimental","isRoutePPREnabled","authInterrupts","useCacheTimeout","durableUseCacheEntries","onClose","onAfterTaskError","isPrefetchRequest","previouslyRevalidatedTags","run","handler","setTimeout","dispatchClose","Response","TypeError","rewrite","destination","forceLocale","host","String","relativeDestination","isRelative","__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE","match","isAllowedOrigin","clientParamParsingOrigins","some","origin","RegExp","test","search","slice","rewriteURL","redirect","redirectURL","finalResponse","next","middlewareOverrideHeaders","overwrittenHeaders","push","length","join","Promise","resolve","fetchMetrics"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 8165, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/error.ts"],"sourcesContent":["export class PageSignatureError extends Error {\n constructor({ page }: { page: string }) {\n super(`The middleware \"${page}\" accepts an async API directly with the form:\n \n export function middleware(request, event) {\n return NextResponse.redirect('/new-location')\n }\n \n Read more: https://nextjs.org/docs/messages/middleware-new-signature\n `)\n }\n}\n\nexport class RemovedPageError extends Error {\n constructor() {\n super(`The request.page has been deprecated in favour of \\`URLPattern\\`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n `)\n }\n}\n\nexport class RemovedUAError extends Error {\n constructor() {\n super(`The request.ua has been removed in favour of \\`userAgent\\` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n `)\n }\n}\n"],"names":["PageSignatureError","Error","constructor","page","RemovedPageError","RemovedUAError"],"mappings":";;;;;;;;AAAO,MAAMA,2BAA2BC;IACtCC,YAAY,EAAEC,IAAI,EAAoB,CAAE;QACtC,KAAK,CAAC,CAAC,gBAAgB,EAAEA,KAAK;;;;;;;EAOhC,CAAC;IACD;AACF;AAEO,MAAMC,yBAAyBH;IACpCC,aAAc;QACZ,KAAK,CAAC,CAAC;;EAET,CAAC;IACD;AACF;AAEO,MAAMG,uBAAuBJ;IAClCC,aAAc;QACZ,KAAK,CAAC,CAAC;;EAET,CAAC;IACD;AACF","ignoreList":[0]}}, + {"offset": {"line": 8203, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/get-edge-preview-props.ts"],"sourcesContent":["/**\n * In edge runtime, these props directly accessed from environment variables.\n * - local: env vars will be injected through edge-runtime as runtime env vars\n * - deployment: env vars will be replaced by edge build pipeline\n */\nexport function getEdgePreviewProps() {\n return {\n previewModeId: process.env.__NEXT_PREVIEW_MODE_ID || '',\n previewModeSigningKey: process.env.__NEXT_PREVIEW_MODE_SIGNING_KEY || '',\n previewModeEncryptionKey:\n process.env.__NEXT_PREVIEW_MODE_ENCRYPTION_KEY || '',\n }\n}\n"],"names":["getEdgePreviewProps","previewModeId","process","env","__NEXT_PREVIEW_MODE_ID","previewModeSigningKey","__NEXT_PREVIEW_MODE_SIGNING_KEY","previewModeEncryptionKey","__NEXT_PREVIEW_MODE_ENCRYPTION_KEY"],"mappings":"AAAA;;;;CAIC,GACD;;;;AAAO,SAASA;IACd,OAAO;QACLC,eAAeC,QAAQC,GAAG,CAACC,sBAAsB,IAAI;QACrDC,uBAAuBH,QAAQC,GAAG,CAACG,+BAA+B,IAAI;QACtEC,0BACEL,QAAQC,GAAG,CAACK,kCAAkC,IAAI;IACtD;AACF","ignoreList":[0]}}, + {"offset": {"line": 8222, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/globals.ts"],"sourcesContent":["import type {\n InstrumentationModule,\n InstrumentationOnRequestError,\n} from '../instrumentation/types'\n\ndeclare const _ENTRIES: any\n\nexport async function getEdgeInstrumentationModule(): Promise<\n InstrumentationModule | undefined\n> {\n const instrumentation =\n '_ENTRIES' in globalThis &&\n _ENTRIES.middleware_instrumentation &&\n (await _ENTRIES.middleware_instrumentation)\n\n return instrumentation\n}\n\nlet instrumentationModulePromise: Promise | null = null\nasync function registerInstrumentation() {\n // Ensure registerInstrumentation is not called in production build\n if (process.env.NEXT_PHASE === 'phase-production-build') return\n if (!instrumentationModulePromise) {\n instrumentationModulePromise = getEdgeInstrumentationModule()\n }\n const instrumentation = await instrumentationModulePromise\n if (instrumentation?.register) {\n try {\n await instrumentation.register()\n } catch (err: any) {\n err.message = `An error occurred while loading instrumentation hook: ${err.message}`\n throw err\n }\n }\n}\n\nexport async function edgeInstrumentationOnRequestError(\n ...args: Parameters\n) {\n const instrumentation = await getEdgeInstrumentationModule()\n try {\n await instrumentation?.onRequestError?.(...args)\n } catch (err) {\n // Log the soft error and continue, since the original error has already been thrown\n console.error('Error in instrumentation.onRequestError:', err)\n }\n}\n\nlet registerInstrumentationPromise: Promise | null = null\nexport function ensureInstrumentationRegistered() {\n if (!registerInstrumentationPromise) {\n registerInstrumentationPromise = registerInstrumentation()\n }\n return registerInstrumentationPromise\n}\n\nfunction getUnsupportedModuleErrorMessage(module: string) {\n // warning: if you change these messages, you must adjust how dev-overlay's middleware detects modules not found\n return `The edge runtime does not support Node.js '${module}' module.\nLearn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`\n}\n\nfunction __import_unsupported(moduleName: string) {\n const proxy: any = new Proxy(function () {}, {\n get(_obj, prop) {\n if (prop === 'then') {\n return {}\n }\n throw new Error(getUnsupportedModuleErrorMessage(moduleName))\n },\n construct() {\n throw new Error(getUnsupportedModuleErrorMessage(moduleName))\n },\n apply(_target, _this, args) {\n if (typeof args[0] === 'function') {\n return args[0](proxy)\n }\n throw new Error(getUnsupportedModuleErrorMessage(moduleName))\n },\n })\n return new Proxy({}, { get: () => proxy })\n}\n\nfunction enhanceGlobals() {\n if (process.env.NEXT_RUNTIME !== 'edge') {\n return\n }\n\n // The condition is true when the \"process\" module is provided\n if (process !== global.process) {\n // prefer local process but global.process has correct \"env\"\n process.env = global.process.env\n global.process = process\n }\n\n // to allow building code that import but does not use node.js modules,\n // webpack will expect this function to exist in global scope\n try {\n Object.defineProperty(globalThis, '__import_unsupported', {\n value: __import_unsupported,\n enumerable: false,\n configurable: false,\n })\n } catch {}\n\n // Eagerly fire instrumentation hook to make the startup faster.\n void ensureInstrumentationRegistered()\n}\n\nenhanceGlobals()\n"],"names":["getEdgeInstrumentationModule","instrumentation","globalThis","_ENTRIES","middleware_instrumentation","instrumentationModulePromise","registerInstrumentation","process","env","NEXT_PHASE","register","err","message","edgeInstrumentationOnRequestError","args","onRequestError","console","error","registerInstrumentationPromise","ensureInstrumentationRegistered","getUnsupportedModuleErrorMessage","module","__import_unsupported","moduleName","proxy","Proxy","get","_obj","prop","Error","construct","apply","_target","_this","enhanceGlobals","NEXT_RUNTIME","global","Object","defineProperty","value","enumerable","configurable"],"mappings":";;;;;;;;AAOO,eAAeA;IAGpB,MAAMC,kBACJ,cAAcC,cACdC,SAASC,0BAA0B,IAClC,MAAMD,SAASC,0BAA0B;IAE5C,OAAOH;AACT;AAEA,IAAII,+BAAoD;AACxD,eAAeC;IACb,mEAAmE;IACnE,IAAIC,QAAQC,GAAG,CAACC,UAAU,KAAK,0BAA0B;IACzD,IAAI,CAACJ,8BAA8B;QACjCA,+BAA+BL;IACjC;IACA,MAAMC,kBAAkB,MAAMI;IAC9B,IAAIJ,mBAAAA,OAAAA,KAAAA,IAAAA,gBAAiBS,QAAQ,EAAE;QAC7B,IAAI;YACF,MAAMT,gBAAgBS,QAAQ;QAChC,EAAE,OAAOC,KAAU;YACjBA,IAAIC,OAAO,GAAG,CAAC,sDAAsD,EAAED,IAAIC,OAAO,EAAE;YACpF,MAAMD;QACR;IACF;AACF;AAEO,eAAeE,kCACpB,GAAGC,IAA+C;IAElD,MAAMb,kBAAkB,MAAMD;IAC9B,IAAI;YACIC;QAAN,MAAA,CAAMA,mBAAAA,OAAAA,KAAAA,IAAAA,CAAAA,kCAAAA,gBAAiBc,cAAc,KAAA,OAAA,KAAA,IAA/Bd,gCAAAA,IAAAA,CAAAA,oBAAqCa,KAAAA;IAC7C,EAAE,OAAOH,KAAK;QACZ,oFAAoF;QACpFK,QAAQC,KAAK,CAAC,4CAA4CN;IAC5D;AACF;AAEA,IAAIO,iCAAuD;AACpD,SAASC;IACd,IAAI,CAACD,gCAAgC;QACnCA,iCAAiCZ;IACnC;IACA,OAAOY;AACT;AAEA,SAASE,iCAAiCC,MAAc;IACtD,gHAAgH;IAChH,OAAO,CAAC,2CAA2C,EAAEA,OAAO;wEACU,CAAC;AACzE;AAEA,SAASC,qBAAqBC,UAAkB;IAC9C,MAAMC,QAAa,IAAIC,MAAM,YAAa,GAAG;QAC3CC,KAAIC,IAAI,EAAEC,IAAI;YACZ,IAAIA,SAAS,QAAQ;gBACnB,OAAO,CAAC;YACV;YACA,MAAM,IAAIC,MAAMT,iCAAiCG;QACnD;QACAO;YACE,MAAM,IAAID,MAAMT,iCAAiCG;QACnD;QACAQ,OAAMC,OAAO,EAAEC,KAAK,EAAEnB,IAAI;YACxB,IAAI,OAAOA,IAAI,CAAC,EAAE,KAAK,YAAY;gBACjC,OAAOA,IAAI,CAAC,EAAE,CAACU;YACjB;YACA,MAAM,IAAIK,MAAMT,iCAAiCG;QACnD;IACF;IACA,OAAO,IAAIE,MAAM,CAAC,GAAG;QAAEC,KAAK,IAAMF;IAAM;AAC1C;AAEA,SAASU;IACP,IAAI3B,QAAQC,GAAG,CAAC2B,YAAY,KAAK,OAAQ;QACvC;IACF;;;AAqBF;AAEAD","ignoreList":[0]}}, + {"offset": {"line": 8307, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/next-url.ts"],"sourcesContent":["import type { OutgoingHttpHeaders } from 'http'\nimport type { DomainLocale, I18NConfig } from '../config-shared'\nimport type { I18NProvider } from '../lib/i18n-provider'\n\nimport { detectDomainLocale } from '../../shared/lib/i18n/detect-domain-locale'\nimport { formatNextPathnameInfo } from '../../shared/lib/router/utils/format-next-pathname-info'\nimport { getHostname } from '../../shared/lib/get-hostname'\nimport { getNextPathnameInfo } from '../../shared/lib/router/utils/get-next-pathname-info'\n\ninterface Options {\n base?: string | URL\n headers?: OutgoingHttpHeaders\n forceLocale?: boolean\n nextConfig?: {\n basePath?: string\n i18n?: I18NConfig | null\n trailingSlash?: boolean\n }\n i18nProvider?: I18NProvider\n}\n\nconst REGEX_LOCALHOST_HOSTNAME =\n /^(?:127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\\[::1\\]|localhost)$/\n\nfunction parseURL(url: string | URL, base?: string | URL) {\n const parsed = new URL(String(url), base && String(base))\n if (REGEX_LOCALHOST_HOSTNAME.test(parsed.hostname)) {\n parsed.hostname = 'localhost'\n }\n return parsed\n}\n\nconst Internal = Symbol('NextURLInternal')\n\nexport class NextURL {\n private [Internal]: {\n basePath: string\n buildId?: string\n flightSearchParameters?: Record\n defaultLocale?: string\n domainLocale?: DomainLocale\n locale?: string\n options: Options\n trailingSlash?: boolean\n url: URL\n }\n\n constructor(input: string | URL, base?: string | URL, opts?: Options)\n constructor(input: string | URL, opts?: Options)\n constructor(\n input: string | URL,\n baseOrOpts?: string | URL | Options,\n opts?: Options\n ) {\n let base: undefined | string | URL\n let options: Options\n\n if (\n (typeof baseOrOpts === 'object' && 'pathname' in baseOrOpts) ||\n typeof baseOrOpts === 'string'\n ) {\n base = baseOrOpts\n options = opts || {}\n } else {\n options = opts || baseOrOpts || {}\n }\n\n this[Internal] = {\n url: parseURL(input, base ?? options.base),\n options: options,\n basePath: '',\n }\n\n this.analyze()\n }\n\n private analyze() {\n const info = getNextPathnameInfo(this[Internal].url.pathname, {\n nextConfig: this[Internal].options.nextConfig,\n parseData: !process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE,\n i18nProvider: this[Internal].options.i18nProvider,\n })\n\n const hostname = getHostname(\n this[Internal].url,\n this[Internal].options.headers\n )\n this[Internal].domainLocale = this[Internal].options.i18nProvider\n ? this[Internal].options.i18nProvider.detectDomainLocale(hostname)\n : detectDomainLocale(\n this[Internal].options.nextConfig?.i18n?.domains,\n hostname\n )\n\n const defaultLocale =\n this[Internal].domainLocale?.defaultLocale ||\n this[Internal].options.nextConfig?.i18n?.defaultLocale\n\n this[Internal].url.pathname = info.pathname\n this[Internal].defaultLocale = defaultLocale\n this[Internal].basePath = info.basePath ?? ''\n this[Internal].buildId = info.buildId\n this[Internal].locale = info.locale ?? defaultLocale\n this[Internal].trailingSlash = info.trailingSlash\n }\n\n private formatPathname() {\n return formatNextPathnameInfo({\n basePath: this[Internal].basePath,\n buildId: this[Internal].buildId,\n defaultLocale: !this[Internal].options.forceLocale\n ? this[Internal].defaultLocale\n : undefined,\n locale: this[Internal].locale,\n pathname: this[Internal].url.pathname,\n trailingSlash: this[Internal].trailingSlash,\n })\n }\n\n private formatSearch() {\n return this[Internal].url.search\n }\n\n public get buildId() {\n return this[Internal].buildId\n }\n\n public set buildId(buildId: string | undefined) {\n this[Internal].buildId = buildId\n }\n\n public get locale() {\n return this[Internal].locale ?? ''\n }\n\n public set locale(locale: string) {\n if (\n !this[Internal].locale ||\n !this[Internal].options.nextConfig?.i18n?.locales.includes(locale)\n ) {\n throw new TypeError(\n `The NextURL configuration includes no locale \"${locale}\"`\n )\n }\n\n this[Internal].locale = locale\n }\n\n get defaultLocale() {\n return this[Internal].defaultLocale\n }\n\n get domainLocale() {\n return this[Internal].domainLocale\n }\n\n get searchParams() {\n return this[Internal].url.searchParams\n }\n\n get host() {\n return this[Internal].url.host\n }\n\n set host(value: string) {\n this[Internal].url.host = value\n }\n\n get hostname() {\n return this[Internal].url.hostname\n }\n\n set hostname(value: string) {\n this[Internal].url.hostname = value\n }\n\n get port() {\n return this[Internal].url.port\n }\n\n set port(value: string) {\n this[Internal].url.port = value\n }\n\n get protocol() {\n return this[Internal].url.protocol\n }\n\n set protocol(value: string) {\n this[Internal].url.protocol = value\n }\n\n get href() {\n const pathname = this.formatPathname()\n const search = this.formatSearch()\n return `${this.protocol}//${this.host}${pathname}${search}${this.hash}`\n }\n\n set href(url: string) {\n this[Internal].url = parseURL(url)\n this.analyze()\n }\n\n get origin() {\n return this[Internal].url.origin\n }\n\n get pathname() {\n return this[Internal].url.pathname\n }\n\n set pathname(value: string) {\n this[Internal].url.pathname = value\n }\n\n get hash() {\n return this[Internal].url.hash\n }\n\n set hash(value: string) {\n this[Internal].url.hash = value\n }\n\n get search() {\n return this[Internal].url.search\n }\n\n set search(value: string) {\n this[Internal].url.search = value\n }\n\n get password() {\n return this[Internal].url.password\n }\n\n set password(value: string) {\n this[Internal].url.password = value\n }\n\n get username() {\n return this[Internal].url.username\n }\n\n set username(value: string) {\n this[Internal].url.username = value\n }\n\n get basePath() {\n return this[Internal].basePath\n }\n\n set basePath(value: string) {\n this[Internal].basePath = value.startsWith('/') ? value : `/${value}`\n }\n\n toString() {\n return this.href\n }\n\n toJSON() {\n return this.href\n }\n\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n href: this.href,\n origin: this.origin,\n protocol: this.protocol,\n username: this.username,\n password: this.password,\n host: this.host,\n hostname: this.hostname,\n port: this.port,\n pathname: this.pathname,\n search: this.search,\n searchParams: this.searchParams,\n hash: this.hash,\n }\n }\n\n clone() {\n return new NextURL(String(this), this[Internal].options)\n }\n}\n"],"names":["detectDomainLocale","formatNextPathnameInfo","getHostname","getNextPathnameInfo","REGEX_LOCALHOST_HOSTNAME","parseURL","url","base","parsed","URL","String","test","hostname","Internal","Symbol","NextURL","constructor","input","baseOrOpts","opts","options","basePath","analyze","info","pathname","nextConfig","parseData","process","env","__NEXT_NO_MIDDLEWARE_URL_NORMALIZE","i18nProvider","headers","domainLocale","i18n","domains","defaultLocale","buildId","locale","trailingSlash","formatPathname","forceLocale","undefined","formatSearch","search","locales","includes","TypeError","searchParams","host","value","port","protocol","href","hash","origin","password","username","startsWith","toString","toJSON","for","clone"],"mappings":";;;;AAIA,SAASA,kBAAkB,QAAQ,6CAA4C;AAC/E,SAASC,sBAAsB,QAAQ,0DAAyD;AAChG,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,SAASC,mBAAmB,QAAQ,uDAAsD;;;;;AAc1F,MAAMC,2BACJ;AAEF,SAASC,SAASC,GAAiB,EAAEC,IAAmB;IACtD,MAAMC,SAAS,IAAIC,IAAIC,OAAOJ,MAAMC,QAAQG,OAAOH;IACnD,IAAIH,yBAAyBO,IAAI,CAACH,OAAOI,QAAQ,GAAG;QAClDJ,OAAOI,QAAQ,GAAG;IACpB;IACA,OAAOJ;AACT;AAEA,MAAMK,WAAWC,OAAO;AAEjB,MAAMC;IAeXC,YACEC,KAAmB,EACnBC,UAAmC,EACnCC,IAAc,CACd;QACA,IAAIZ;QACJ,IAAIa;QAEJ,IACG,OAAOF,eAAe,YAAY,cAAcA,cACjD,OAAOA,eAAe,UACtB;YACAX,OAAOW;YACPE,UAAUD,QAAQ,CAAC;QACrB,OAAO;YACLC,UAAUD,QAAQD,cAAc,CAAC;QACnC;QAEA,IAAI,CAACL,SAAS,GAAG;YACfP,KAAKD,SAASY,OAAOV,QAAQa,QAAQb,IAAI;YACzCa,SAASA;YACTC,UAAU;QACZ;QAEA,IAAI,CAACC,OAAO;IACd;IAEQA,UAAU;YAcV,wCAAA,mCAKJ,6BACA,yCAAA;QAnBF,MAAMC,WAAOpB,iOAAAA,EAAoB,IAAI,CAACU,SAAS,CAACP,GAAG,CAACkB,QAAQ,EAAE;YAC5DC,YAAY,IAAI,CAACZ,SAAS,CAACO,OAAO,CAACK,UAAU;YAC7CC,WAAW,CAACC,QAAQC,GAAG,CAACC,kCAAkC;YAC1DC,cAAc,IAAI,CAACjB,SAAS,CAACO,OAAO,CAACU,YAAY;QACnD;QAEA,MAAMlB,eAAWV,sLAAAA,EACf,IAAI,CAACW,SAAS,CAACP,GAAG,EAClB,IAAI,CAACO,SAAS,CAACO,OAAO,CAACW,OAAO;QAEhC,IAAI,CAAClB,SAAS,CAACmB,YAAY,GAAG,IAAI,CAACnB,SAAS,CAACO,OAAO,CAACU,YAAY,GAC7D,IAAI,CAACjB,SAAS,CAACO,OAAO,CAACU,YAAY,CAAC9B,kBAAkB,CAACY,gBACvDZ,gNAAAA,EAAAA,CACE,oCAAA,IAAI,CAACa,SAAS,CAACO,OAAO,CAACK,UAAU,KAAA,OAAA,KAAA,IAAA,CAAjC,yCAAA,kCAAmCQ,IAAI,KAAA,OAAA,KAAA,IAAvC,uCAAyCC,OAAO,EAChDtB;QAGN,MAAMuB,gBACJ,CAAA,CAAA,8BAAA,IAAI,CAACtB,SAAS,CAACmB,YAAY,KAAA,OAAA,KAAA,IAA3B,4BAA6BG,aAAa,KAAA,CAAA,CAC1C,qCAAA,IAAI,CAACtB,SAAS,CAACO,OAAO,CAACK,UAAU,KAAA,OAAA,KAAA,IAAA,CAAjC,0CAAA,mCAAmCQ,IAAI,KAAA,OAAA,KAAA,IAAvC,wCAAyCE,aAAa;QAExD,IAAI,CAACtB,SAAS,CAACP,GAAG,CAACkB,QAAQ,GAAGD,KAAKC,QAAQ;QAC3C,IAAI,CAACX,SAAS,CAACsB,aAAa,GAAGA;QAC/B,IAAI,CAACtB,SAAS,CAACQ,QAAQ,GAAGE,KAAKF,QAAQ,IAAI;QAC3C,IAAI,CAACR,SAAS,CAACuB,OAAO,GAAGb,KAAKa,OAAO;QACrC,IAAI,CAACvB,SAAS,CAACwB,MAAM,GAAGd,KAAKc,MAAM,IAAIF;QACvC,IAAI,CAACtB,SAAS,CAACyB,aAAa,GAAGf,KAAKe,aAAa;IACnD;IAEQC,iBAAiB;QACvB,WAAOtC,uOAAAA,EAAuB;YAC5BoB,UAAU,IAAI,CAACR,SAAS,CAACQ,QAAQ;YACjCe,SAAS,IAAI,CAACvB,SAAS,CAACuB,OAAO;YAC/BD,eAAe,CAAC,IAAI,CAACtB,SAAS,CAACO,OAAO,CAACoB,WAAW,GAC9C,IAAI,CAAC3B,SAAS,CAACsB,aAAa,GAC5BM;YACJJ,QAAQ,IAAI,CAACxB,SAAS,CAACwB,MAAM;YAC7Bb,UAAU,IAAI,CAACX,SAAS,CAACP,GAAG,CAACkB,QAAQ;YACrCc,eAAe,IAAI,CAACzB,SAAS,CAACyB,aAAa;QAC7C;IACF;IAEQI,eAAe;QACrB,OAAO,IAAI,CAAC7B,SAAS,CAACP,GAAG,CAACqC,MAAM;IAClC;IAEA,IAAWP,UAAU;QACnB,OAAO,IAAI,CAACvB,SAAS,CAACuB,OAAO;IAC/B;IAEA,IAAWA,QAAQA,OAA2B,EAAE;QAC9C,IAAI,CAACvB,SAAS,CAACuB,OAAO,GAAGA;IAC3B;IAEA,IAAWC,SAAS;QAClB,OAAO,IAAI,CAACxB,SAAS,CAACwB,MAAM,IAAI;IAClC;IAEA,IAAWA,OAAOA,MAAc,EAAE;YAG7B,wCAAA;QAFH,IACE,CAAC,IAAI,CAACxB,SAAS,CAACwB,MAAM,IACtB,CAAA,CAAA,CAAC,oCAAA,IAAI,CAACxB,SAAS,CAACO,OAAO,CAACK,UAAU,KAAA,OAAA,KAAA,IAAA,CAAjC,yCAAA,kCAAmCQ,IAAI,KAAA,OAAA,KAAA,IAAvC,uCAAyCW,OAAO,CAACC,QAAQ,CAACR,OAAAA,GAC3D;YACA,MAAM,IAAIS,UACR,CAAC,8CAA8C,EAAET,OAAO,CAAC,CAAC;QAE9D;QAEA,IAAI,CAACxB,SAAS,CAACwB,MAAM,GAAGA;IAC1B;IAEA,IAAIF,gBAAgB;QAClB,OAAO,IAAI,CAACtB,SAAS,CAACsB,aAAa;IACrC;IAEA,IAAIH,eAAe;QACjB,OAAO,IAAI,CAACnB,SAAS,CAACmB,YAAY;IACpC;IAEA,IAAIe,eAAe;QACjB,OAAO,IAAI,CAAClC,SAAS,CAACP,GAAG,CAACyC,YAAY;IACxC;IAEA,IAAIC,OAAO;QACT,OAAO,IAAI,CAACnC,SAAS,CAACP,GAAG,CAAC0C,IAAI;IAChC;IAEA,IAAIA,KAAKC,KAAa,EAAE;QACtB,IAAI,CAACpC,SAAS,CAACP,GAAG,CAAC0C,IAAI,GAAGC;IAC5B;IAEA,IAAIrC,WAAW;QACb,OAAO,IAAI,CAACC,SAAS,CAACP,GAAG,CAACM,QAAQ;IACpC;IAEA,IAAIA,SAASqC,KAAa,EAAE;QAC1B,IAAI,CAACpC,SAAS,CAACP,GAAG,CAACM,QAAQ,GAAGqC;IAChC;IAEA,IAAIC,OAAO;QACT,OAAO,IAAI,CAACrC,SAAS,CAACP,GAAG,CAAC4C,IAAI;IAChC;IAEA,IAAIA,KAAKD,KAAa,EAAE;QACtB,IAAI,CAACpC,SAAS,CAACP,GAAG,CAAC4C,IAAI,GAAGD;IAC5B;IAEA,IAAIE,WAAW;QACb,OAAO,IAAI,CAACtC,SAAS,CAACP,GAAG,CAAC6C,QAAQ;IACpC;IAEA,IAAIA,SAASF,KAAa,EAAE;QAC1B,IAAI,CAACpC,SAAS,CAACP,GAAG,CAAC6C,QAAQ,GAAGF;IAChC;IAEA,IAAIG,OAAO;QACT,MAAM5B,WAAW,IAAI,CAACe,cAAc;QACpC,MAAMI,SAAS,IAAI,CAACD,YAAY;QAChC,OAAO,GAAG,IAAI,CAACS,QAAQ,CAAC,EAAE,EAAE,IAAI,CAACH,IAAI,GAAGxB,WAAWmB,SAAS,IAAI,CAACU,IAAI,EAAE;IACzE;IAEA,IAAID,KAAK9C,GAAW,EAAE;QACpB,IAAI,CAACO,SAAS,CAACP,GAAG,GAAGD,SAASC;QAC9B,IAAI,CAACgB,OAAO;IACd;IAEA,IAAIgC,SAAS;QACX,OAAO,IAAI,CAACzC,SAAS,CAACP,GAAG,CAACgD,MAAM;IAClC;IAEA,IAAI9B,WAAW;QACb,OAAO,IAAI,CAACX,SAAS,CAACP,GAAG,CAACkB,QAAQ;IACpC;IAEA,IAAIA,SAASyB,KAAa,EAAE;QAC1B,IAAI,CAACpC,SAAS,CAACP,GAAG,CAACkB,QAAQ,GAAGyB;IAChC;IAEA,IAAII,OAAO;QACT,OAAO,IAAI,CAACxC,SAAS,CAACP,GAAG,CAAC+C,IAAI;IAChC;IAEA,IAAIA,KAAKJ,KAAa,EAAE;QACtB,IAAI,CAACpC,SAAS,CAACP,GAAG,CAAC+C,IAAI,GAAGJ;IAC5B;IAEA,IAAIN,SAAS;QACX,OAAO,IAAI,CAAC9B,SAAS,CAACP,GAAG,CAACqC,MAAM;IAClC;IAEA,IAAIA,OAAOM,KAAa,EAAE;QACxB,IAAI,CAACpC,SAAS,CAACP,GAAG,CAACqC,MAAM,GAAGM;IAC9B;IAEA,IAAIM,WAAW;QACb,OAAO,IAAI,CAAC1C,SAAS,CAACP,GAAG,CAACiD,QAAQ;IACpC;IAEA,IAAIA,SAASN,KAAa,EAAE;QAC1B,IAAI,CAACpC,SAAS,CAACP,GAAG,CAACiD,QAAQ,GAAGN;IAChC;IAEA,IAAIO,WAAW;QACb,OAAO,IAAI,CAAC3C,SAAS,CAACP,GAAG,CAACkD,QAAQ;IACpC;IAEA,IAAIA,SAASP,KAAa,EAAE;QAC1B,IAAI,CAACpC,SAAS,CAACP,GAAG,CAACkD,QAAQ,GAAGP;IAChC;IAEA,IAAI5B,WAAW;QACb,OAAO,IAAI,CAACR,SAAS,CAACQ,QAAQ;IAChC;IAEA,IAAIA,SAAS4B,KAAa,EAAE;QAC1B,IAAI,CAACpC,SAAS,CAACQ,QAAQ,GAAG4B,MAAMQ,UAAU,CAAC,OAAOR,QAAQ,CAAC,CAAC,EAAEA,OAAO;IACvE;IAEAS,WAAW;QACT,OAAO,IAAI,CAACN,IAAI;IAClB;IAEAO,SAAS;QACP,OAAO,IAAI,CAACP,IAAI;IAClB;IAEA,CAACtC,OAAO8C,GAAG,CAAC,+BAA+B,GAAG;QAC5C,OAAO;YACLR,MAAM,IAAI,CAACA,IAAI;YACfE,QAAQ,IAAI,CAACA,MAAM;YACnBH,UAAU,IAAI,CAACA,QAAQ;YACvBK,UAAU,IAAI,CAACA,QAAQ;YACvBD,UAAU,IAAI,CAACA,QAAQ;YACvBP,MAAM,IAAI,CAACA,IAAI;YACfpC,UAAU,IAAI,CAACA,QAAQ;YACvBsC,MAAM,IAAI,CAACA,IAAI;YACf1B,UAAU,IAAI,CAACA,QAAQ;YACvBmB,QAAQ,IAAI,CAACA,MAAM;YACnBI,cAAc,IAAI,CAACA,YAAY;YAC/BM,MAAM,IAAI,CAACA,IAAI;QACjB;IACF;IAEAQ,QAAQ;QACN,OAAO,IAAI9C,QAAQL,OAAO,IAAI,GAAG,IAAI,CAACG,SAAS,CAACO,OAAO;IACzD;AACF","ignoreList":[0]}}, + {"offset": {"line": 8502, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/adapters/headers.ts"],"sourcesContent":["import type { IncomingHttpHeaders } from 'http'\n\nimport { ReflectAdapter } from './reflect'\n\n/**\n * @internal\n */\nexport class ReadonlyHeadersError extends Error {\n constructor() {\n super(\n 'Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers'\n )\n }\n\n public static callable() {\n throw new ReadonlyHeadersError()\n }\n}\n\nexport type ReadonlyHeaders = Headers & {\n /** @deprecated Method unavailable on `ReadonlyHeaders`. Read more: https://nextjs.org/docs/app/api-reference/functions/headers */\n append(...args: any[]): void\n /** @deprecated Method unavailable on `ReadonlyHeaders`. Read more: https://nextjs.org/docs/app/api-reference/functions/headers */\n set(...args: any[]): void\n /** @deprecated Method unavailable on `ReadonlyHeaders`. Read more: https://nextjs.org/docs/app/api-reference/functions/headers */\n delete(...args: any[]): void\n}\n\n/**\n * The read methods that a sealed view provides itself instead of forwarding to\n * the underlying `Headers`. Deriving the type from `Headers` keeps the\n * implementations in step with the platform signatures.\n */\ntype SealedHeaderMethods = Pick<\n Headers,\n | 'get'\n | 'has'\n | 'getSetCookie'\n | 'keys'\n | 'values'\n | 'entries'\n | 'forEach'\n | typeof Symbol.iterator\n>\n\n/**\n * Builds the read methods for a sealed view that exposes all of `target`.\n */\nfunction createPassThroughMethods(\n target: Headers,\n sealed: ReadonlyHeaders\n): SealedHeaderMethods {\n return {\n get: target.get.bind(target),\n has: target.has.bind(target),\n getSetCookie: target.getSetCookie.bind(target),\n keys: target.keys.bind(target),\n values: target.values.bind(target),\n entries: target.entries.bind(target),\n [Symbol.iterator]: target[Symbol.iterator].bind(target),\n // The native method passes the unsealed target as the callback's `parent`\n // argument. That is a mutable handle on the underlying headers. Pass the\n // sealed view instead.\n forEach(callbackfn, thisArg) {\n for (const [name, value] of target.entries()) {\n callbackfn.call(thisArg, value, name, sealed)\n }\n },\n }\n}\n\n/**\n * Builds the read methods for a sealed view that omits the header names matched\n * by `isHidden`.\n */\nfunction createHidingMethods(\n target: Headers,\n sealed: ReadonlyHeaders,\n isHidden: (name: string) => boolean\n): SealedHeaderMethods {\n function* entries(): HeadersIterator<[string, string]> {\n for (const entry of target.entries()) {\n if (!isHidden(entry[0])) {\n yield entry\n }\n }\n }\n\n return {\n entries,\n [Symbol.iterator]: entries,\n get: (name) => (isHidden(name) ? null : target.get(name)),\n has: (name) => (isHidden(name) ? false : target.has(name)),\n getSetCookie: () => (isHidden('set-cookie') ? [] : target.getSetCookie()),\n *keys(): HeadersIterator {\n for (const name of target.keys()) {\n if (!isHidden(name)) {\n yield name\n }\n }\n },\n *values(): HeadersIterator {\n for (const [, value] of entries()) {\n yield value\n }\n },\n // The native method passes the unsealed target as the callback's `parent`\n // argument. That is a mutable handle on the underlying headers. Pass the\n // sealed view instead.\n forEach(callbackfn, thisArg) {\n for (const [name, value] of entries()) {\n callbackfn.call(thisArg, value, name, sealed)\n }\n },\n }\n}\n\nexport class HeadersAdapter extends Headers {\n private readonly headers: IncomingHttpHeaders\n\n constructor(headers: IncomingHttpHeaders) {\n // We've already overridden the methods that would be called, so we're just\n // calling the super constructor to ensure that the instanceof check works.\n super()\n\n this.headers = new Proxy(headers, {\n get(target, prop, receiver) {\n // Because this is just an object, we expect that all \"get\" operations\n // are for properties. If it's a \"get\" for a symbol, we'll just return\n // the symbol.\n if (typeof prop === 'symbol') {\n return ReflectAdapter.get(target, prop, receiver)\n }\n\n const lowercased = prop.toLowerCase()\n\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find(\n (o) => o.toLowerCase() === lowercased\n )\n\n // If the original casing doesn't exist, return undefined.\n if (typeof original === 'undefined') return\n\n // If the original casing exists, return the value.\n return ReflectAdapter.get(target, original, receiver)\n },\n set(target, prop, value, receiver) {\n if (typeof prop === 'symbol') {\n return ReflectAdapter.set(target, prop, value, receiver)\n }\n\n const lowercased = prop.toLowerCase()\n\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find(\n (o) => o.toLowerCase() === lowercased\n )\n\n // If the original casing doesn't exist, use the prop as the key.\n return ReflectAdapter.set(target, original ?? prop, value, receiver)\n },\n has(target, prop) {\n if (typeof prop === 'symbol') return ReflectAdapter.has(target, prop)\n\n const lowercased = prop.toLowerCase()\n\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find(\n (o) => o.toLowerCase() === lowercased\n )\n\n // If the original casing doesn't exist, return false.\n if (typeof original === 'undefined') return false\n\n // If the original casing exists, return true.\n return ReflectAdapter.has(target, original)\n },\n deleteProperty(target, prop) {\n if (typeof prop === 'symbol')\n return ReflectAdapter.deleteProperty(target, prop)\n\n const lowercased = prop.toLowerCase()\n\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find(\n (o) => o.toLowerCase() === lowercased\n )\n\n // If the original casing doesn't exist, return true.\n if (typeof original === 'undefined') return true\n\n // If the original casing exists, delete the property.\n return ReflectAdapter.deleteProperty(target, original)\n },\n })\n }\n\n /**\n * Seals a Headers instance to prevent modification by throwing an error when\n * any mutating method is called.\n *\n * The sealed view stays live. Later writes to `headers` remain visible\n * through it.\n *\n * `hidden` omits the given header names from every read operation (`get`,\n * `has`, `getSetCookie`, `forEach`, and iteration). The names must be\n * lowercase. The underlying headers are neither copied nor mutated, so hidden\n * headers remain available to the framework.\n */\n public static seal(\n headers: Headers,\n hidden?: ReadonlySet\n ): ReadonlyHeaders {\n const isHidden =\n hidden && hidden.size > 0\n ? (name: string): boolean => hidden.has(name.toLowerCase())\n : null\n\n // The methods are built once per sealed view and reused, so repeated access\n // returns the same function instead of a fresh closure. They are assigned\n // after the proxy exists because `forEach` hands the proxy to its callback.\n // Creating the proxy runs no trap, so nothing can read them before then.\n let methods: SealedHeaderMethods\n\n const sealed: ReadonlyHeaders = new Proxy(headers, {\n get(target, prop, receiver) {\n switch (prop) {\n case 'append':\n case 'delete':\n case 'set':\n return ReadonlyHeadersError.callable\n case Symbol.iterator:\n return methods[Symbol.iterator]\n case 'get':\n case 'has':\n case 'getSetCookie':\n case 'keys':\n case 'values':\n case 'entries':\n case 'forEach':\n return methods[prop]\n default:\n return ReflectAdapter.get(target, prop, receiver)\n }\n },\n })\n\n methods = isHidden\n ? createHidingMethods(headers, sealed, isHidden)\n : createPassThroughMethods(headers, sealed)\n\n return sealed\n }\n\n /**\n * @param headers\n * @returns A fresh object identity backed by the original value\n */\n public static fresh(headers: ReadonlyHeaders): ReadonlyHeaders {\n return new Proxy(headers, {\n get(target, prop, receiver) {\n return ReflectAdapter.get(target, prop, receiver)\n },\n })\n }\n\n /**\n * Merges a header value into a string. This stores multiple values as an\n * array, so we need to merge them into a string.\n *\n * @param value a header value\n * @returns a merged header value (a string)\n */\n private merge(value: string | string[]): string {\n if (Array.isArray(value)) return value.join(', ')\n\n return value\n }\n\n /**\n * Creates a Headers instance from a plain object or a Headers instance.\n *\n * @param headers a plain object or a Headers instance\n * @returns a headers instance\n */\n public static from(headers: IncomingHttpHeaders | Headers): Headers {\n if (headers instanceof Headers) return headers\n\n return new HeadersAdapter(headers)\n }\n\n public append(name: string, value: string): void {\n const existing = this.headers[name]\n if (typeof existing === 'string') {\n this.headers[name] = [existing, value]\n } else if (Array.isArray(existing)) {\n existing.push(value)\n } else {\n this.headers[name] = value\n }\n }\n\n public delete(name: string): void {\n delete this.headers[name]\n }\n\n public get(name: string): string | null {\n const value = this.headers[name]\n if (typeof value !== 'undefined') return this.merge(value)\n\n return null\n }\n\n public has(name: string): boolean {\n return typeof this.headers[name] !== 'undefined'\n }\n\n public set(name: string, value: string): void {\n this.headers[name] = value\n }\n\n public forEach(\n callbackfn: (value: string, name: string, parent: Headers) => void,\n thisArg?: any\n ): void {\n for (const [name, value] of this.entries()) {\n callbackfn.call(thisArg, value, name, this)\n }\n }\n\n public *entries(): HeadersIterator<[string, string]> {\n for (const key of Object.keys(this.headers)) {\n const name = key.toLowerCase()\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(name) as string\n\n yield [name, value] as [string, string]\n }\n }\n\n public *keys(): HeadersIterator {\n for (const key of Object.keys(this.headers)) {\n const name = key.toLowerCase()\n yield name\n }\n }\n\n public *values(): HeadersIterator {\n for (const key of Object.keys(this.headers)) {\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(key) as string\n\n yield value\n }\n }\n\n public [Symbol.iterator](): HeadersIterator<[string, string]> {\n return this.entries()\n }\n}\n"],"names":["ReflectAdapter","ReadonlyHeadersError","Error","constructor","callable","createPassThroughMethods","target","sealed","get","bind","has","getSetCookie","keys","values","entries","Symbol","iterator","forEach","callbackfn","thisArg","name","value","call","createHidingMethods","isHidden","entry","HeadersAdapter","Headers","headers","Proxy","prop","receiver","lowercased","toLowerCase","original","Object","find","o","set","deleteProperty","seal","hidden","size","methods","fresh","merge","Array","isArray","join","from","append","existing","push","delete","key"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 8777, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/adapters/next-request.ts"],"sourcesContent":["import type { BaseNextRequest } from '../../../base-http'\nimport type { NodeNextRequest } from '../../../base-http/node'\nimport type { WebNextRequest } from '../../../base-http/web'\nimport type { Writable } from 'node:stream'\n\nimport { getRequestMeta } from '../../../request-meta'\nimport { fromNodeOutgoingHttpHeaders } from '../../utils'\nimport { NextRequest } from '../request'\nimport { isNodeNextRequest, isWebNextRequest } from '../../../base-http/helpers'\n\nexport const ResponseAbortedName = 'ResponseAborted'\nexport class ResponseAborted extends Error {\n public readonly name = ResponseAbortedName\n}\n\n/**\n * Creates an AbortController tied to the closing of a ServerResponse (or other\n * appropriate Writable).\n *\n * If the `close` event is fired before the `finish` event, then we'll send the\n * `abort` signal.\n */\nexport function createAbortController(response: Writable): AbortController {\n const controller = new AbortController()\n\n // If `finish` fires first, then `res.end()` has been called and the close is\n // just us finishing the stream on our side. If `close` fires first, then we\n // know the client disconnected before we finished.\n response.once('close', () => {\n if (response.writableFinished) return\n\n controller.abort(new ResponseAborted())\n })\n\n return controller\n}\n\n/**\n * Creates an AbortSignal tied to the closing of a ServerResponse (or other\n * appropriate Writable).\n *\n * This cannot be done with the request (IncomingMessage or Readable) because\n * the `abort` event will not fire if to data has been fully read (because that\n * will \"close\" the readable stream and nothing fires after that).\n */\nexport function signalFromNodeResponse(response: Writable): AbortSignal {\n const { errored, destroyed } = response\n if (errored || destroyed) {\n return AbortSignal.abort(errored ?? new ResponseAborted())\n }\n\n const { signal } = createAbortController(response)\n return signal\n}\n\nexport class NextRequestAdapter {\n public static fromBaseNextRequest(\n request: BaseNextRequest,\n signal: AbortSignal\n ): NextRequest {\n if (\n // The type check here ensures that `req` is correctly typed, and the\n // environment variable check provides dead code elimination.\n process.env.NEXT_RUNTIME === 'edge' &&\n isWebNextRequest(request)\n ) {\n return NextRequestAdapter.fromWebNextRequest(request)\n } else if (\n // The type check here ensures that `req` is correctly typed, and the\n // environment variable check provides dead code elimination.\n process.env.NEXT_RUNTIME !== 'edge' &&\n isNodeNextRequest(request)\n ) {\n return NextRequestAdapter.fromNodeNextRequest(request, signal)\n } else {\n throw new Error('Invariant: Unsupported NextRequest type')\n }\n }\n\n public static fromNodeNextRequest(\n request: NodeNextRequest,\n signal: AbortSignal\n ): NextRequest {\n // HEAD and GET requests can not have a body.\n let body: BodyInit | null = null\n if (request.method !== 'GET' && request.method !== 'HEAD' && request.body) {\n // @ts-expect-error - this is handled by undici, when streams/web land use it instead\n body = request.body\n }\n\n let url: URL\n if (request.url.startsWith('http')) {\n url = new URL(request.url)\n } else {\n // Grab the full URL from the request metadata.\n const base = getRequestMeta(request, 'initURL')\n if (!base || !base.startsWith('http')) {\n // Because the URL construction relies on the fact that the URL provided\n // is absolute, we need to provide a base URL. We can't use the request\n // URL because it's relative, so we use a dummy URL instead.\n url = new URL(request.url, 'http://n')\n } else {\n url = new URL(request.url, base)\n }\n }\n\n return new NextRequest(url, {\n method: request.method,\n headers: fromNodeOutgoingHttpHeaders(request.headers),\n duplex: 'half',\n signal,\n // geo\n // ip\n // nextConfig\n\n // body can not be passed if request was aborted\n // or we get a Request body was disturbed error\n ...(signal.aborted\n ? {}\n : {\n body,\n }),\n })\n }\n\n public static fromWebNextRequest(request: WebNextRequest): NextRequest {\n // HEAD and GET requests can not have a body.\n let body: ReadableStream | null = null\n if (request.method !== 'GET' && request.method !== 'HEAD') {\n body = request.body\n }\n\n return new NextRequest(request.url, {\n method: request.method,\n headers: fromNodeOutgoingHttpHeaders(request.headers),\n duplex: 'half',\n signal: request.request.signal,\n // geo\n // ip\n // nextConfig\n\n // body can not be passed if request was aborted\n // or we get a Request body was disturbed error\n ...(request.request.signal.aborted\n ? {}\n : {\n body,\n }),\n })\n }\n}\n"],"names":["getRequestMeta","fromNodeOutgoingHttpHeaders","NextRequest","isNodeNextRequest","isWebNextRequest","ResponseAbortedName","ResponseAborted","Error","name","createAbortController","response","controller","AbortController","once","writableFinished","abort","signalFromNodeResponse","errored","destroyed","AbortSignal","signal","NextRequestAdapter","fromBaseNextRequest","request","process","env","NEXT_RUNTIME","fromWebNextRequest","fromNodeNextRequest","body","method","url","startsWith","URL","base","headers","duplex","aborted"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 8897, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/adapters/reflect.ts"],"sourcesContent":["export class ReflectAdapter {\n static get(\n target: T,\n prop: string | symbol,\n receiver: unknown\n ): any {\n const value = Reflect.get(target, prop, receiver)\n if (typeof value === 'function') {\n return value.bind(target)\n }\n\n return value\n }\n\n static set(\n target: T,\n prop: string | symbol,\n value: any,\n receiver: any\n ): boolean {\n return Reflect.set(target, prop, value, receiver)\n }\n\n static has(target: T, prop: string | symbol): boolean {\n return Reflect.has(target, prop)\n }\n\n static deleteProperty(\n target: T,\n prop: string | symbol\n ): boolean {\n return Reflect.deleteProperty(target, prop)\n }\n}\n"],"names":["ReflectAdapter","get","target","prop","receiver","value","Reflect","bind","set","has","deleteProperty"],"mappings":";;;;AAAO,MAAMA;IACX,OAAOC,IACLC,MAAS,EACTC,IAAqB,EACrBC,QAAiB,EACZ;QACL,MAAMC,QAAQC,QAAQL,GAAG,CAACC,QAAQC,MAAMC;QACxC,IAAI,OAAOC,UAAU,YAAY;YAC/B,OAAOA,MAAME,IAAI,CAACL;QACpB;QAEA,OAAOG;IACT;IAEA,OAAOG,IACLN,MAAS,EACTC,IAAqB,EACrBE,KAAU,EACVD,QAAa,EACJ;QACT,OAAOE,QAAQE,GAAG,CAACN,QAAQC,MAAME,OAAOD;IAC1C;IAEA,OAAOK,IAAsBP,MAAS,EAAEC,IAAqB,EAAW;QACtE,OAAOG,QAAQG,GAAG,CAACP,QAAQC;IAC7B;IAEA,OAAOO,eACLR,MAAS,EACTC,IAAqB,EACZ;QACT,OAAOG,QAAQI,cAAc,CAACR,QAAQC;IACxC;AACF","ignoreList":[0]}}, + {"offset": {"line": 8923, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/adapters/request-cookies.ts"],"sourcesContent":["import { RequestCookies } from '../cookies'\n\nimport { ResponseCookies } from '../cookies'\nimport { ReflectAdapter } from './reflect'\nimport { workAsyncStorage } from '../../../app-render/work-async-storage.external'\nimport type { RequestStore } from '../../../app-render/work-unit-async-storage.external'\nimport { ActionDidRevalidateStaticAndDynamic } from '../../../../shared/lib/action-revalidation-kind'\n\n/**\n * @internal\n */\nexport class ReadonlyRequestCookiesError extends Error {\n constructor() {\n super(\n 'Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options'\n )\n }\n\n public static callable() {\n throw new ReadonlyRequestCookiesError()\n }\n}\n\n// We use this to type some APIs but we don't construct instances directly\nexport type { ResponseCookies }\n\n// The `cookies()` API is a mix of request and response cookies. For `.get()` methods,\n// we want to return the request cookie if it exists. For mutative methods like `.set()`,\n// we want to return the response cookie.\nexport type ReadonlyRequestCookies = Omit<\n RequestCookies,\n 'set' | 'clear' | 'delete'\n> &\n Pick\n\nexport class RequestCookiesAdapter {\n public static seal(cookies: RequestCookies): ReadonlyRequestCookies {\n return new Proxy(cookies as any, {\n get(target, prop, receiver) {\n switch (prop) {\n case 'clear':\n case 'delete':\n case 'set':\n return ReadonlyRequestCookiesError.callable\n default:\n return ReflectAdapter.get(target, prop, receiver)\n }\n },\n })\n }\n\n /**\n * @param cookies\n * @returns A fresh object identity backed by the original value\n */\n public static fresh(cookies: ReadonlyRequestCookies): ReadonlyRequestCookies {\n return new Proxy(cookies, {\n get(target, prop, receiver) {\n return ReflectAdapter.get(target, prop, receiver)\n },\n })\n }\n}\n\nconst SYMBOL_MODIFY_COOKIE_VALUES = Symbol.for('next.mutated.cookies')\n\nexport function getModifiedCookieValues(\n cookies: ResponseCookies\n): ResponseCookie[] {\n const modified: ResponseCookie[] | undefined = (cookies as unknown as any)[\n SYMBOL_MODIFY_COOKIE_VALUES\n ]\n if (!modified || !Array.isArray(modified) || modified.length === 0) {\n return []\n }\n\n return modified\n}\n\ntype SetCookieArgs =\n | [key: string, value: string, cookie?: Partial]\n | [options: ResponseCookie]\n\nexport function appendMutableCookies(\n headers: Headers,\n mutableCookies: ResponseCookies\n): boolean {\n const modifiedCookieValues = getModifiedCookieValues(mutableCookies)\n if (modifiedCookieValues.length === 0) {\n return false\n }\n\n // Return a new response that extends the response with\n // the modified cookies as fallbacks. `res` cookies\n // will still take precedence.\n const resCookies = new ResponseCookies(headers)\n const returnedCookies = resCookies.getAll()\n\n // Set the modified cookies as fallbacks.\n for (const cookie of modifiedCookieValues) {\n resCookies.set(cookie)\n }\n\n // Set the original cookies as the final values.\n for (const cookie of returnedCookies) {\n resCookies.set(cookie)\n }\n\n return true\n}\n\ntype ResponseCookie = NonNullable<\n ReturnType['get']>\n>\n\nexport class MutableRequestCookiesAdapter {\n public static wrap(\n cookies: RequestCookies,\n onUpdateCookies?: (cookies: string[]) => void\n ): ResponseCookies {\n const responseCookies = new ResponseCookies(new Headers())\n for (const cookie of cookies.getAll()) {\n responseCookies.set(cookie)\n }\n\n let modifiedValues: ResponseCookie[] = []\n const modifiedCookies = new Set()\n const updateResponseCookies = () => {\n // TODO-APP: change method of getting workStore\n const workStore = workAsyncStorage.getStore()\n if (workStore) {\n workStore.pathWasRevalidated = ActionDidRevalidateStaticAndDynamic\n }\n\n const allCookies = responseCookies.getAll()\n modifiedValues = allCookies.filter((c) => modifiedCookies.has(c.name))\n if (onUpdateCookies) {\n const serializedCookies: string[] = []\n for (const cookie of modifiedValues) {\n const tempCookies = new ResponseCookies(new Headers())\n tempCookies.set(cookie)\n serializedCookies.push(tempCookies.toString())\n }\n\n onUpdateCookies(serializedCookies)\n }\n }\n\n const wrappedCookies = new Proxy(responseCookies, {\n get(target, prop, receiver) {\n switch (prop) {\n // A special symbol to get the modified cookie values\n case SYMBOL_MODIFY_COOKIE_VALUES:\n return modifiedValues\n\n // TODO: Throw error if trying to set a cookie after the response\n // headers have been set.\n case 'delete':\n return function (...args: [string] | [ResponseCookie]) {\n modifiedCookies.add(\n typeof args[0] === 'string' ? args[0] : args[0].name\n )\n try {\n target.delete(...args)\n return wrappedCookies\n } finally {\n updateResponseCookies()\n }\n }\n case 'set':\n return function (...args: SetCookieArgs) {\n modifiedCookies.add(\n typeof args[0] === 'string' ? args[0] : args[0].name\n )\n try {\n target.set(...args)\n return wrappedCookies\n } finally {\n updateResponseCookies()\n }\n }\n\n default:\n return ReflectAdapter.get(target, prop, receiver)\n }\n },\n })\n\n return wrappedCookies\n }\n}\n\nexport function createCookiesWithMutableAccessCheck(\n requestStore: RequestStore\n): ResponseCookies {\n const wrappedCookies = new Proxy(requestStore.mutableCookies, {\n get(target, prop, receiver) {\n switch (prop) {\n case 'delete':\n return function (...args: [string] | [ResponseCookie]) {\n ensureCookiesAreStillMutable(requestStore, 'cookies().delete')\n target.delete(...args)\n return wrappedCookies\n }\n case 'set':\n return function (...args: SetCookieArgs) {\n ensureCookiesAreStillMutable(requestStore, 'cookies().set')\n target.set(...args)\n return wrappedCookies\n }\n\n default:\n return ReflectAdapter.get(target, prop, receiver)\n }\n },\n })\n return wrappedCookies\n}\n\nexport function areCookiesMutableInCurrentPhase(requestStore: RequestStore) {\n return requestStore.phase === 'action'\n}\n\n/** Ensure that cookies() starts throwing on mutation\n * if we changed phases and can no longer mutate.\n *\n * This can happen when going:\n * 'render' -> 'after'\n * 'action' -> 'render'\n * */\nfunction ensureCookiesAreStillMutable(\n requestStore: RequestStore,\n _callingExpression: string\n) {\n if (!areCookiesMutableInCurrentPhase(requestStore)) {\n // TODO: maybe we can give a more precise error message based on callingExpression?\n throw new ReadonlyRequestCookiesError()\n }\n}\n\nexport function responseCookiesToRequestCookies(\n responseCookies: ResponseCookies\n): RequestCookies {\n const requestCookies = new RequestCookies(new Headers())\n for (const cookie of responseCookies.getAll()) {\n requestCookies.set(cookie)\n }\n return requestCookies\n}\n"],"names":["RequestCookies","ResponseCookies","ReflectAdapter","workAsyncStorage","ActionDidRevalidateStaticAndDynamic","ReadonlyRequestCookiesError","Error","constructor","callable","RequestCookiesAdapter","seal","cookies","Proxy","get","target","prop","receiver","fresh","SYMBOL_MODIFY_COOKIE_VALUES","Symbol","for","getModifiedCookieValues","modified","Array","isArray","length","appendMutableCookies","headers","mutableCookies","modifiedCookieValues","resCookies","returnedCookies","getAll","cookie","set","MutableRequestCookiesAdapter","wrap","onUpdateCookies","responseCookies","Headers","modifiedValues","modifiedCookies","Set","updateResponseCookies","workStore","getStore","pathWasRevalidated","allCookies","filter","c","has","name","serializedCookies","tempCookies","push","toString","wrappedCookies","args","add","delete","createCookiesWithMutableAccessCheck","requestStore","ensureCookiesAreStillMutable","areCookiesMutableInCurrentPhase","phase","_callingExpression","responseCookiesToRequestCookies","requestCookies"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 9124, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/cookies.ts"],"sourcesContent":["export {\n RequestCookies,\n ResponseCookies,\n stringifyCookie,\n} from 'next/dist/compiled/@edge-runtime/cookies'\n"],"names":["RequestCookies","ResponseCookies","stringifyCookie"],"mappings":";AAAA,SACEA,cAAc,EACdC,eAAe,EACfC,eAAe,QACV,2CAA0C","ignoreList":[0]}}, + {"offset": {"line": 9131, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/fetch-event.ts"],"sourcesContent":["import type { WaitUntil } from '../../after/builtin-request-context'\nimport { PageSignatureError } from '../error'\nimport type { NextRequest } from './request'\n\nconst responseSymbol = Symbol('response')\nconst passThroughSymbol = Symbol('passThrough')\nconst waitUntilSymbol = Symbol('waitUntil')\n\nclass FetchEvent {\n // TODO(after): get rid of the 'internal' variant and always use an external waitUntil\n // (this means removing `FetchEventResult.waitUntil` which also requires a builder change)\n readonly [waitUntilSymbol]:\n | { kind: 'internal'; promises: Promise[] }\n | { kind: 'external'; function: WaitUntil };\n\n [responseSymbol]?: Promise;\n [passThroughSymbol] = false\n\n constructor(_request: Request, waitUntil?: WaitUntil) {\n this[waitUntilSymbol] = waitUntil\n ? { kind: 'external', function: waitUntil }\n : { kind: 'internal', promises: [] }\n }\n\n // TODO: is this dead code? NextFetchEvent never lets this get called\n respondWith(response: Response | Promise): void {\n if (!this[responseSymbol]) {\n this[responseSymbol] = Promise.resolve(response)\n }\n }\n\n // TODO: is this dead code? passThroughSymbol is unused\n passThroughOnException(): void {\n this[passThroughSymbol] = true\n }\n\n waitUntil(promise: Promise): void {\n if (this[waitUntilSymbol].kind === 'external') {\n // if we received an external waitUntil, we delegate to it\n // TODO(after): this will make us not go through `getServerError(error, 'edge-server')` in `sandbox`\n const waitUntil = this[waitUntilSymbol].function\n return waitUntil(promise)\n } else {\n // if we didn't receive an external waitUntil, we make it work on our own\n // (and expect the caller to do something with the promises)\n this[waitUntilSymbol].promises.push(promise)\n }\n }\n}\n\nexport function getWaitUntilPromiseFromEvent(\n event: FetchEvent\n): Promise | undefined {\n return event[waitUntilSymbol].kind === 'internal'\n ? Promise.all(event[waitUntilSymbol].promises).then(() => {})\n : undefined\n}\n\nexport class NextFetchEvent extends FetchEvent {\n sourcePage: string\n\n constructor(params: {\n request: NextRequest\n page: string\n context: { waitUntil: WaitUntil } | undefined\n }) {\n super(params.request, params.context?.waitUntil)\n this.sourcePage = params.page\n }\n\n /**\n * @deprecated The `request` is now the first parameter and the API is now async.\n *\n * Read more: https://nextjs.org/docs/messages/middleware-new-signature\n */\n get request() {\n throw new PageSignatureError({\n page: this.sourcePage,\n })\n }\n\n /**\n * @deprecated Using `respondWith` is no longer needed.\n *\n * Read more: https://nextjs.org/docs/messages/middleware-new-signature\n */\n respondWith() {\n throw new PageSignatureError({\n page: this.sourcePage,\n })\n }\n}\n"],"names":["PageSignatureError","responseSymbol","Symbol","passThroughSymbol","waitUntilSymbol","FetchEvent","constructor","_request","waitUntil","kind","function","promises","respondWith","response","Promise","resolve","passThroughOnException","promise","push","getWaitUntilPromiseFromEvent","event","all","then","undefined","NextFetchEvent","params","request","context","sourcePage","page"],"mappings":";;;;;;AACA,SAASA,kBAAkB,QAAQ,WAAU;;AAG7C,MAAMC,iBAAiBC,OAAO;AAC9B,MAAMC,oBAAoBD,OAAO;AACjC,MAAME,kBAAkBF,OAAO;AAE/B,MAAMG;IAUJC,YAAYC,QAAiB,EAAEC,SAAqB,CAAE;YAFtD,CAACL,kBAAkB,GAAG;QAGpB,IAAI,CAACC,gBAAgB,GAAGI,YACpB;YAAEC,MAAM;YAAYC,UAAUF;QAAU,IACxC;YAAEC,MAAM;YAAYE,UAAU,EAAE;QAAC;IACvC;IAEA,qEAAqE;IACrEC,YAAYC,QAAsC,EAAQ;QACxD,IAAI,CAAC,IAAI,CAACZ,eAAe,EAAE;YACzB,IAAI,CAACA,eAAe,GAAGa,QAAQC,OAAO,CAACF;QACzC;IACF;IAEA,uDAAuD;IACvDG,yBAA+B;QAC7B,IAAI,CAACb,kBAAkB,GAAG;IAC5B;IAEAK,UAAUS,OAAqB,EAAQ;QACrC,IAAI,IAAI,CAACb,gBAAgB,CAACK,IAAI,KAAK,YAAY;YAC7C,0DAA0D;YAC1D,oGAAoG;YACpG,MAAMD,YAAY,IAAI,CAACJ,gBAAgB,CAACM,QAAQ;YAChD,OAAOF,UAAUS;QACnB,OAAO;YACL,yEAAyE;YACzE,4DAA4D;YAC5D,IAAI,CAACb,gBAAgB,CAACO,QAAQ,CAACO,IAAI,CAACD;QACtC;IACF;AACF;AAEO,SAASE,6BACdC,KAAiB;IAEjB,OAAOA,KAAK,CAAChB,gBAAgB,CAACK,IAAI,KAAK,aACnCK,QAAQO,GAAG,CAACD,KAAK,CAAChB,gBAAgB,CAACO,QAAQ,EAAEW,IAAI,CAAC,KAAO,KACzDC;AACN;AAEO,MAAMC,uBAAuBnB;IAGlCC,YAAYmB,MAIX,CAAE;YACqBA;QAAtB,KAAK,CAACA,OAAOC,OAAO,EAAA,CAAED,kBAAAA,OAAOE,OAAO,KAAA,OAAA,KAAA,IAAdF,gBAAgBjB,SAAS;QAC/C,IAAI,CAACoB,UAAU,GAAGH,OAAOI,IAAI;IAC/B;IAEA;;;;GAIC,GACD,IAAIH,UAAU;QACZ,MAAM,IAAI1B,mLAAAA,CAAmB;YAC3B6B,MAAM,IAAI,CAACD,UAAU;QACvB;IACF;IAEA;;;;GAIC,GACDhB,cAAc;QACZ,MAAM,IAAIZ,mLAAAA,CAAmB;YAC3B6B,MAAM,IAAI,CAACD,UAAU;QACvB;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 9208, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/request.ts"],"sourcesContent":["import type { I18NConfig } from '../../config-shared'\nimport { NextURL } from '../next-url'\nimport { toNodeOutgoingHttpHeaders, validateURL } from '../utils'\nimport { RemovedUAError, RemovedPageError } from '../error'\nimport { RequestCookies } from './cookies'\n\nexport const INTERNALS = Symbol('internal request')\n\n/**\n * This class extends the [Web `Request` API](https://developer.mozilla.org/docs/Web/API/Request) with additional convenience methods.\n *\n * Read more: [Next.js Docs: `NextRequest`](https://nextjs.org/docs/app/api-reference/functions/next-request)\n */\nexport class NextRequest extends Request {\n /** @internal */\n [INTERNALS]: {\n cookies: RequestCookies\n url: string\n nextUrl: NextURL\n }\n\n constructor(input: URL | RequestInfo, init: RequestInit = {}) {\n const url =\n typeof input !== 'string' && 'url' in input ? input.url : String(input)\n\n validateURL(url)\n\n // node Request instance requires duplex option when a body\n // is present or it errors, we don't handle this for\n // Request being passed in since it would have already\n // errored if this wasn't configured\n if (process.env.NEXT_RUNTIME !== 'edge') {\n if (init.body && init.duplex !== 'half') {\n init.duplex = 'half'\n }\n }\n\n if (input instanceof Request) super(input, init)\n else super(url, init)\n\n const nextUrl = new NextURL(url, {\n headers: toNodeOutgoingHttpHeaders(this.headers),\n nextConfig: init.nextConfig,\n })\n this[INTERNALS] = {\n cookies: new RequestCookies(this.headers),\n nextUrl,\n url: process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE\n ? url\n : nextUrl.toString(),\n }\n }\n\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n cookies: this.cookies,\n nextUrl: this.nextUrl,\n url: this.url,\n // rest of props come from Request\n bodyUsed: this.bodyUsed,\n cache: this.cache,\n credentials: this.credentials,\n destination: this.destination,\n headers: Object.fromEntries(this.headers),\n integrity: this.integrity,\n keepalive: this.keepalive,\n method: this.method,\n mode: this.mode,\n redirect: this.redirect,\n referrer: this.referrer,\n referrerPolicy: this.referrerPolicy,\n signal: this.signal,\n }\n }\n\n public get cookies() {\n return this[INTERNALS].cookies\n }\n\n public get nextUrl() {\n return this[INTERNALS].nextUrl\n }\n\n /**\n * @deprecated\n * `page` has been deprecated in favour of `URLPattern`.\n * Read more: https://nextjs.org/docs/messages/middleware-request-page\n */\n public get page() {\n throw new RemovedPageError()\n }\n\n /**\n * @deprecated\n * `ua` has been removed in favour of \\`userAgent\\` function.\n * Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n */\n public get ua() {\n throw new RemovedUAError()\n }\n\n public get url() {\n return this[INTERNALS].url\n }\n}\n\nexport interface RequestInit extends globalThis.RequestInit {\n nextConfig?: {\n basePath?: string\n i18n?: I18NConfig | null\n trailingSlash?: boolean\n }\n signal?: AbortSignal\n // see https://github.com/whatwg/fetch/pull/1457\n duplex?: 'half'\n}\n"],"names":["NextURL","toNodeOutgoingHttpHeaders","validateURL","RemovedUAError","RemovedPageError","RequestCookies","INTERNALS","Symbol","NextRequest","Request","constructor","input","init","url","String","process","env","NEXT_RUNTIME","body","duplex","nextUrl","headers","nextConfig","cookies","__NEXT_NO_MIDDLEWARE_URL_NORMALIZE","toString","for","bodyUsed","cache","credentials","destination","Object","fromEntries","integrity","keepalive","method","mode","redirect","referrer","referrerPolicy","signal","page","ua"],"mappings":";;;;;;AACA,SAASA,OAAO,QAAQ,cAAa;AACrC,SAASC,yBAAyB,EAAEC,WAAW,QAAQ,WAAU;AACjE,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,WAAU;;AAC3D,SAASC,cAAc,QAAQ,YAAW;;;;;AAEnC,MAAMC,YAAYC,OAAO,oBAAmB;AAO5C,MAAMC,oBAAoBC;IAQ/BC,YAAYC,KAAwB,EAAEC,OAAoB,CAAC,CAAC,CAAE;QAC5D,MAAMC,MACJ,OAAOF,UAAU,YAAY,SAASA,QAAQA,MAAME,GAAG,GAAGC,OAAOH;YAEnET,4KAAAA,EAAYW;QAEZ,2DAA2D;QAC3D,oDAAoD;QACpD,sDAAsD;QACtD,oCAAoC;QACpC,IAAIE,QAAQC,GAAG,CAACC,YAAY,KAAK,OAAQ;YACvC,IAAIL,KAAKM,IAAI,IAAIN,KAAKO,MAAM,KAAK,QAAQ;gBACvCP,KAAKO,MAAM,GAAG;YAChB;QACF;QAEA,IAAIR,iBAAiBF,SAAS,KAAK,CAACE,OAAOC;aACtC,KAAK,CAACC,KAAKD;QAEhB,MAAMQ,UAAU,IAAIpB,8KAAAA,CAAQa,KAAK;YAC/BQ,aAASpB,0LAAAA,EAA0B,IAAI,CAACoB,OAAO;YAC/CC,YAAYV,KAAKU,UAAU;QAC7B;QACA,IAAI,CAAChB,UAAU,GAAG;YAChBiB,SAAS,IAAIlB,mMAAAA,CAAe,IAAI,CAACgB,OAAO;YACxCD;YACAP,KAAKE,QAAQC,GAAG,CAACQ,0BACbX,QAD+C,kBAE/CO,QAAQK,QAAQ;QACtB;IACF;IAEA,CAAClB,OAAOmB,GAAG,CAAC,+BAA+B,GAAG;QAC5C,OAAO;YACLH,SAAS,IAAI,CAACA,OAAO;YACrBH,SAAS,IAAI,CAACA,OAAO;YACrBP,KAAK,IAAI,CAACA,GAAG;YACb,kCAAkC;YAClCc,UAAU,IAAI,CAACA,QAAQ;YACvBC,OAAO,IAAI,CAACA,KAAK;YACjBC,aAAa,IAAI,CAACA,WAAW;YAC7BC,aAAa,IAAI,CAACA,WAAW;YAC7BT,SAASU,OAAOC,WAAW,CAAC,IAAI,CAACX,OAAO;YACxCY,WAAW,IAAI,CAACA,SAAS;YACzBC,WAAW,IAAI,CAACA,SAAS;YACzBC,QAAQ,IAAI,CAACA,MAAM;YACnBC,MAAM,IAAI,CAACA,IAAI;YACfC,UAAU,IAAI,CAACA,QAAQ;YACvBC,UAAU,IAAI,CAACA,QAAQ;YACvBC,gBAAgB,IAAI,CAACA,cAAc;YACnCC,QAAQ,IAAI,CAACA,MAAM;QACrB;IACF;IAEA,IAAWjB,UAAU;QACnB,OAAO,IAAI,CAACjB,UAAU,CAACiB,OAAO;IAChC;IAEA,IAAWH,UAAU;QACnB,OAAO,IAAI,CAACd,UAAU,CAACc,OAAO;IAChC;IAEA;;;;GAIC,GACD,IAAWqB,OAAO;QAChB,MAAM,IAAIrC,iLAAAA;IACZ;IAEA;;;;GAIC,GACD,IAAWsC,KAAK;QACd,MAAM,IAAIvC,+KAAAA;IACZ;IAEA,IAAWU,MAAM;QACf,OAAO,IAAI,CAACP,UAAU,CAACO,GAAG;IAC5B;AACF","ignoreList":[0]}}, + {"offset": {"line": 9298, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/response.ts"],"sourcesContent":["import { stringifyCookie } from '../../web/spec-extension/cookies'\nimport type { I18NConfig } from '../../config-shared'\nimport { NextURL } from '../next-url'\nimport { toNodeOutgoingHttpHeaders, validateURL } from '../utils'\nimport { ReflectAdapter } from './adapters/reflect'\n\nimport { ResponseCookies } from './cookies'\n\nconst INTERNALS = Symbol('internal response')\nconst REDIRECTS = new Set([301, 302, 303, 307, 308])\n\nfunction handleMiddlewareField(\n init: MiddlewareResponseInit | undefined,\n headers: Headers\n) {\n if (init?.request?.headers) {\n if (!(init.request.headers instanceof Headers)) {\n throw new Error('request.headers must be an instance of Headers')\n }\n\n const keys = []\n for (const [key, value] of init.request.headers) {\n headers.set('x-middleware-request-' + key, value)\n keys.push(key)\n }\n\n headers.set('x-middleware-override-headers', keys.join(','))\n }\n}\n\n/**\n * This class extends the [Web `Response` API](https://developer.mozilla.org/docs/Web/API/Response) with additional convenience methods.\n *\n * Read more: [Next.js Docs: `NextResponse`](https://nextjs.org/docs/app/api-reference/functions/next-response)\n */\nexport class NextResponse extends Response {\n [INTERNALS]: {\n cookies: ResponseCookies\n url?: NextURL\n body?: Body\n }\n\n constructor(body?: BodyInit | null, init: ResponseInit = {}) {\n super(body, init)\n\n const headers = this.headers\n const cookies = new ResponseCookies(headers)\n\n const cookiesProxy = new Proxy(cookies, {\n get(target, prop, receiver) {\n switch (prop) {\n case 'delete':\n case 'set': {\n return (...args: [string, string]) => {\n const result = Reflect.apply(target[prop], target, args)\n const newHeaders = new Headers(headers)\n\n if (result instanceof ResponseCookies) {\n headers.set(\n 'x-middleware-set-cookie',\n result\n .getAll()\n .map((cookie) => stringifyCookie(cookie))\n .join(',')\n )\n }\n\n handleMiddlewareField(init, newHeaders)\n return result\n }\n }\n default:\n return ReflectAdapter.get(target, prop, receiver)\n }\n },\n })\n\n this[INTERNALS] = {\n cookies: cookiesProxy,\n url: init.url\n ? new NextURL(init.url, {\n headers: toNodeOutgoingHttpHeaders(headers),\n nextConfig: init.nextConfig,\n })\n : undefined,\n }\n }\n\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n cookies: this.cookies,\n url: this.url,\n // rest of props come from Response\n body: this.body,\n bodyUsed: this.bodyUsed,\n headers: Object.fromEntries(this.headers),\n ok: this.ok,\n redirected: this.redirected,\n status: this.status,\n statusText: this.statusText,\n type: this.type,\n }\n }\n\n public get cookies() {\n return this[INTERNALS].cookies\n }\n\n static json(\n body: JsonBody,\n init?: ResponseInit\n ): NextResponse {\n const response: Response = Response.json(body, init)\n return new NextResponse(response.body, response)\n }\n\n static redirect(url: string | NextURL | URL, init?: number | ResponseInit) {\n const status = typeof init === 'number' ? init : (init?.status ?? 307)\n if (!REDIRECTS.has(status)) {\n throw new RangeError(\n 'Failed to execute \"redirect\" on \"response\": Invalid status code'\n )\n }\n const initObj = typeof init === 'object' ? init : {}\n const headers = new Headers(initObj?.headers)\n headers.set('Location', validateURL(url))\n\n return new NextResponse(null, {\n ...initObj,\n headers,\n status,\n })\n }\n\n static rewrite(\n destination: string | NextURL | URL,\n init?: MiddlewareResponseInit\n ) {\n const headers = new Headers(init?.headers)\n headers.set('x-middleware-rewrite', validateURL(destination))\n\n handleMiddlewareField(init, headers)\n return new NextResponse(null, { ...init, headers })\n }\n\n static next(init?: MiddlewareResponseInit) {\n const headers = new Headers(init?.headers)\n headers.set('x-middleware-next', '1')\n\n handleMiddlewareField(init, headers)\n return new NextResponse(null, { ...init, headers })\n }\n}\n\ninterface ResponseInit extends globalThis.ResponseInit {\n nextConfig?: {\n basePath?: string\n i18n?: I18NConfig\n trailingSlash?: boolean\n }\n url?: string\n}\n\ninterface ModifiedRequest {\n /**\n * If this is set, the request headers will be overridden with this value.\n */\n headers?: Headers\n}\n\ninterface MiddlewareResponseInit extends globalThis.ResponseInit {\n /**\n * These fields will override the request from clients.\n */\n request?: ModifiedRequest\n}\n"],"names":["stringifyCookie","NextURL","toNodeOutgoingHttpHeaders","validateURL","ReflectAdapter","ResponseCookies","INTERNALS","Symbol","REDIRECTS","Set","handleMiddlewareField","init","headers","request","Headers","Error","keys","key","value","set","push","join","NextResponse","Response","constructor","body","cookies","cookiesProxy","Proxy","get","target","prop","receiver","args","result","Reflect","apply","newHeaders","getAll","map","cookie","url","nextConfig","undefined","for","bodyUsed","Object","fromEntries","ok","redirected","status","statusText","type","json","response","redirect","has","RangeError","initObj","rewrite","destination","next"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 9427, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/utils.ts"],"sourcesContent":["import type { OutgoingHttpHeaders } from 'http'\nimport {\n NEXT_INTERCEPTION_MARKER_PREFIX,\n NEXT_QUERY_PARAM_PREFIX,\n} from '../../lib/constants'\n\n/**\n * Converts a Node.js IncomingHttpHeaders object to a Headers object. Any\n * headers with multiple values will be joined with a comma and space. Any\n * headers that have an undefined value will be ignored and others will be\n * coerced to strings.\n *\n * @param nodeHeaders the headers object to convert\n * @returns the converted headers object\n */\nexport function fromNodeOutgoingHttpHeaders(\n nodeHeaders: OutgoingHttpHeaders\n): Headers {\n const headers = new Headers()\n for (let [key, value] of Object.entries(nodeHeaders)) {\n const values = Array.isArray(value) ? value : [value]\n for (let v of values) {\n if (typeof v === 'undefined') continue\n if (typeof v === 'number') {\n v = v.toString()\n }\n\n headers.append(key, v)\n }\n }\n return headers\n}\n\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n \n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nexport function splitCookiesString(cookiesString: string) {\n var cookiesStrings = []\n var pos = 0\n var start\n var ch\n var lastComma\n var nextStart\n var cookiesSeparatorFound\n\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1\n }\n return pos < cookiesString.length\n }\n\n function notSpecialChar() {\n ch = cookiesString.charAt(pos)\n\n return ch !== '=' && ch !== ';' && ch !== ','\n }\n\n while (pos < cookiesString.length) {\n start = pos\n cookiesSeparatorFound = false\n\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos)\n if (ch === ',') {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos\n pos += 1\n\n skipWhitespace()\n nextStart = pos\n\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1\n }\n\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === '=') {\n // we found cookies separator\n cookiesSeparatorFound = true\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart\n cookiesStrings.push(cookiesString.substring(start, lastComma))\n start = pos\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1\n }\n } else {\n pos += 1\n }\n }\n\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length))\n }\n }\n\n return cookiesStrings\n}\n\n/**\n * Converts a Headers object to a Node.js OutgoingHttpHeaders object. This is\n * required to support the set-cookie header, which may have multiple values.\n *\n * @param headers the headers object to convert\n * @returns the converted headers object\n */\nexport function toNodeOutgoingHttpHeaders(\n headers: Headers\n): OutgoingHttpHeaders {\n const nodeHeaders: OutgoingHttpHeaders = {}\n const cookies: string[] = []\n if (headers) {\n for (const [key, value] of headers.entries()) {\n if (key.toLowerCase() === 'set-cookie') {\n // We may have gotten a comma joined string of cookies, or multiple\n // set-cookie headers. We need to merge them into one header array\n // to represent all the cookies.\n cookies.push(...splitCookiesString(value))\n nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies\n } else {\n nodeHeaders[key] = value\n }\n }\n }\n return nodeHeaders\n}\n\n/**\n * Validate the correctness of a user-provided URL.\n */\nexport function validateURL(url: string | URL): string {\n try {\n return String(new URL(String(url)))\n } catch (error: any) {\n throw new Error(\n `URL is malformed \"${String(\n url\n )}\". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,\n { cause: error }\n )\n }\n}\n\n/**\n * Normalizes `nxtP` and `nxtI` query param values to remove the prefix.\n * This function does not mutate the input key.\n */\nexport function normalizeNextQueryParam(key: string): null | string {\n const prefixes = [NEXT_QUERY_PARAM_PREFIX, NEXT_INTERCEPTION_MARKER_PREFIX]\n for (const prefix of prefixes) {\n if (key !== prefix && key.startsWith(prefix)) {\n return key.substring(prefix.length)\n }\n }\n return null\n}\n"],"names":["NEXT_INTERCEPTION_MARKER_PREFIX","NEXT_QUERY_PARAM_PREFIX","fromNodeOutgoingHttpHeaders","nodeHeaders","headers","Headers","key","value","Object","entries","values","Array","isArray","v","toString","append","splitCookiesString","cookiesString","cookiesStrings","pos","start","ch","lastComma","nextStart","cookiesSeparatorFound","skipWhitespace","length","test","charAt","notSpecialChar","push","substring","toNodeOutgoingHttpHeaders","cookies","toLowerCase","validateURL","url","String","URL","error","Error","cause","normalizeNextQueryParam","prefixes","prefix","startsWith"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 9555, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/web-on-close.ts"],"sourcesContent":["/** Monitor when the consumer finishes reading the response body.\nthat's as close as we can get to `res.on('close')` using web APIs.\n*/\nexport function trackBodyConsumed(\n body: string | ReadableStream,\n onEnd: () => void\n): BodyInit {\n if (typeof body === 'string') {\n const generator = async function* generate() {\n const encoder = new TextEncoder()\n yield encoder.encode(body)\n onEnd()\n }\n // @ts-expect-error BodyInit typings doesn't seem to include AsyncIterables even though it's supported in practice\n return generator()\n } else {\n return trackStreamConsumed(body, onEnd)\n }\n}\n\nexport function trackStreamConsumed(\n stream: ReadableStream,\n onEnd: () => void\n): ReadableStream {\n // NOTE: This function must handle `stream` being aborted or cancelled,\n // so it can't just be this:\n //\n // return stream.pipeThrough(new TransformStream({ flush() { onEnd() } }))\n //\n // because that doesn't handle cancellations.\n // (and cancellation handling via `Transformer.cancel` is only available in node >20)\n const dest = new TransformStream()\n const runOnEnd = () => onEnd()\n stream.pipeTo(dest.writable).then(runOnEnd, runOnEnd)\n return dest.readable\n}\n\nexport class CloseController {\n private target = new EventTarget()\n listeners = 0\n isClosed = false\n\n onClose(callback: () => void) {\n if (this.isClosed) {\n throw new Error('Cannot subscribe to a closed CloseController')\n }\n\n this.target.addEventListener('close', callback)\n this.listeners++\n }\n\n dispatchClose() {\n if (this.isClosed) {\n throw new Error('Cannot close a CloseController multiple times')\n }\n if (this.listeners > 0) {\n this.target.dispatchEvent(new Event('close'))\n }\n this.isClosed = true\n }\n}\n"],"names":["trackBodyConsumed","body","onEnd","generator","generate","encoder","TextEncoder","encode","trackStreamConsumed","stream","dest","TransformStream","runOnEnd","pipeTo","writable","then","readable","CloseController","onClose","callback","isClosed","Error","target","addEventListener","listeners","dispatchClose","dispatchEvent","Event","EventTarget"],"mappings":"AAAA;;AAEA,GACA;;;;;;;;AAAO,SAASA,kBACdC,IAA6B,EAC7BC,KAAiB;IAEjB,IAAI,OAAOD,SAAS,UAAU;QAC5B,MAAME,YAAY,gBAAgBC;YAChC,MAAMC,UAAU,IAAIC;YACpB,MAAMD,QAAQE,MAAM,CAACN;YACrBC;QACF;QACA,kHAAkH;QAClH,OAAOC;IACT,OAAO;QACL,OAAOK,oBAAoBP,MAAMC;IACnC;AACF;AAEO,SAASM,oBACdC,MAA8B,EAC9BP,KAAiB;IAEjB,uEAAuE;IACvE,4BAA4B;IAC5B,EAAE;IACF,4EAA4E;IAC5E,EAAE;IACF,6CAA6C;IAC7C,qFAAqF;IACrF,MAAMQ,OAAO,IAAIC;IACjB,MAAMC,WAAW,IAAMV;IACvBO,OAAOI,MAAM,CAACH,KAAKI,QAAQ,EAAEC,IAAI,CAACH,UAAUA;IAC5C,OAAOF,KAAKM,QAAQ;AACtB;AAEO,MAAMC;IAKXC,QAAQC,QAAoB,EAAE;QAC5B,IAAI,IAAI,CAACC,QAAQ,EAAE;YACjB,MAAM,IAAIC,MAAM;QAClB;QAEA,IAAI,CAACC,MAAM,CAACC,gBAAgB,CAAC,SAASJ;QACtC,IAAI,CAACK,SAAS;IAChB;IAEAC,gBAAgB;QACd,IAAI,IAAI,CAACL,QAAQ,EAAE;YACjB,MAAM,IAAIC,MAAM;QAClB;QACA,IAAI,IAAI,CAACG,SAAS,GAAG,GAAG;YACtB,IAAI,CAACF,MAAM,CAACI,aAAa,CAAC,IAAIC,MAAM;QACtC;QACA,IAAI,CAACP,QAAQ,GAAG;IAClB;;aArBQE,MAAAA,GAAS,IAAIM;aACrBJ,SAAAA,GAAY;aACZJ,QAAAA,GAAW;;AAoBb","ignoreList":[0]}}, + {"offset": {"line": 9618, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/action-revalidation-kind.ts"],"sourcesContent":["export type ActionRevalidationKind = 0 | 1 | 2\n\nexport const ActionDidNotRevalidate = 0\nexport const ActionDidRevalidateStaticAndDynamic = 1\nexport const ActionDidRevalidateDynamicOnly = 2\n"],"names":["ActionDidNotRevalidate","ActionDidRevalidateStaticAndDynamic","ActionDidRevalidateDynamicOnly"],"mappings":";;;;;;;;AAEO,MAAMA,yBAAyB,EAAC;AAChC,MAAMC,sCAAsC,EAAC;AAC7C,MAAMC,iCAAiC,EAAC","ignoreList":[0]}}, + {"offset": {"line": 9633, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/errors/constants.ts"],"sourcesContent":["export const MISSING_ROOT_TAGS_ERROR = 'NEXT_MISSING_ROOT_TAGS'\n"],"names":["MISSING_ROOT_TAGS_ERROR"],"mappings":";;;;AAAO,MAAMA,0BAA0B,yBAAwB","ignoreList":[0]}}, + {"offset": {"line": 9642, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/escape-regexp.ts"],"sourcesContent":["// regexp is based on https://github.com/sindresorhus/escape-string-regexp\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g\n\nexport function escapeStringRegexp(str: string) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, '\\\\$&')\n }\n return str\n}\n"],"names":["reHasRegExp","reReplaceRegExp","escapeStringRegexp","str","test","replace"],"mappings":";;;;AAAA,0EAA0E;AAC1E,MAAMA,cAAc;AACpB,MAAMC,kBAAkB;AAEjB,SAASC,mBAAmBC,GAAW;IAC5C,+GAA+G;IAC/G,IAAIH,YAAYI,IAAI,CAACD,MAAM;QACzB,OAAOA,IAAIE,OAAO,CAACJ,iBAAiB;IACtC;IACA,OAAOE;AACT","ignoreList":[0]}}, + {"offset": {"line": 9660, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/get-hostname.ts"],"sourcesContent":["import type { OutgoingHttpHeaders } from 'http'\n\n/**\n * Takes an object with a hostname property (like a parsed URL) and some\n * headers that may contain Host and returns the preferred hostname.\n * @param parsed An object containing a hostname property.\n * @param headers A dictionary with headers containing a `host`.\n */\nexport function getHostname(\n parsed: { hostname?: string | null },\n headers?: OutgoingHttpHeaders\n): string | undefined {\n // Get the hostname from the headers if it exists, otherwise use the parsed\n // hostname.\n let hostname: string\n if (headers?.host && !Array.isArray(headers.host)) {\n hostname = headers.host.toString().split(':', 1)[0]\n } else if (parsed.hostname) {\n hostname = parsed.hostname\n } else return\n\n return hostname.toLowerCase()\n}\n"],"names":["getHostname","parsed","headers","hostname","host","Array","isArray","toString","split","toLowerCase"],"mappings":"AAEA;;;;;CAKC,GACD;;;;AAAO,SAASA,YACdC,MAAoC,EACpCC,OAA6B;IAE7B,2EAA2E;IAC3E,YAAY;IACZ,IAAIC;IACJ,IAAID,SAASE,QAAQ,CAACC,MAAMC,OAAO,CAACJ,QAAQE,IAAI,GAAG;QACjDD,WAAWD,QAAQE,IAAI,CAACG,QAAQ,GAAGC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;IACrD,OAAO,IAAIP,OAAOE,QAAQ,EAAE;QAC1BA,WAAWF,OAAOE,QAAQ;IAC5B,OAAO;IAEP,OAAOA,SAASM,WAAW;AAC7B","ignoreList":[0]}}, + {"offset": {"line": 9684, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/hash.ts"],"sourcesContent":["// http://www.cse.yorku.ca/~oz/hash.html\n// More specifically, 32-bit hash via djbxor\n// (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765)\n// This is due to number type differences between rust for turbopack to js number types,\n// where rust does not have easy way to repreesnt js's 53-bit float number type for the matching\n// overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation\n// as can gaurantee determinstic output from 32bit hash.\nexport function djb2Hash(str: string) {\n let hash = 5381\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i)\n hash = ((hash << 5) + hash + char) & 0xffffffff\n }\n return hash >>> 0\n}\n\nexport function hexHash(str: string) {\n return djb2Hash(str).toString(36).slice(0, 5)\n}\n"],"names":["djb2Hash","str","hash","i","length","char","charCodeAt","hexHash","toString","slice"],"mappings":"AAAA,wCAAwC;AACxC,4CAA4C;AAC5C,iHAAiH;AACjH,wFAAwF;AACxF,gGAAgG;AAChG,wHAAwH;AACxH,wDAAwD;;;;;;;AACjD,SAASA,SAASC,GAAW;IAClC,IAAIC,OAAO;IACX,IAAK,IAAIC,IAAI,GAAGA,IAAIF,IAAIG,MAAM,EAAED,IAAK;QACnC,MAAME,OAAOJ,IAAIK,UAAU,CAACH;QAC5BD,OAASA,CAAAA,QAAQ,CAAA,IAAKA,OAAOG,OAAQ;IACvC;IACA,OAAOH,SAAS;AAClB;AAEO,SAASK,QAAQN,GAAW;IACjC,OAAOD,SAASC,KAAKO,QAAQ,CAAC,IAAIC,KAAK,CAAC,GAAG;AAC7C","ignoreList":[0]}}, + {"offset": {"line": 9712, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/i18n/detect-domain-locale.ts"],"sourcesContent":["import type { DomainLocale } from '../../../server/config-shared'\n\nexport function detectDomainLocale(\n domainItems?: readonly DomainLocale[],\n hostname?: string,\n detectedLocale?: string\n) {\n if (!domainItems) return\n\n if (detectedLocale) {\n detectedLocale = detectedLocale.toLowerCase()\n }\n\n for (const item of domainItems) {\n // remove port if present\n const domainHostname = item.domain?.split(':', 1)[0].toLowerCase()\n if (\n hostname === domainHostname ||\n detectedLocale === item.defaultLocale.toLowerCase() ||\n item.locales?.some((locale) => locale.toLowerCase() === detectedLocale)\n ) {\n return item\n }\n }\n}\n"],"names":["detectDomainLocale","domainItems","hostname","detectedLocale","toLowerCase","item","domainHostname","domain","split","defaultLocale","locales","some","locale"],"mappings":";;;;AAEO,SAASA,mBACdC,WAAqC,EACrCC,QAAiB,EACjBC,cAAuB;IAEvB,IAAI,CAACF,aAAa;IAElB,IAAIE,gBAAgB;QAClBA,iBAAiBA,eAAeC,WAAW;IAC7C;IAEA,KAAK,MAAMC,QAAQJ,YAAa;QAC9B,yBAAyB;QACzB,MAAMK,iBAAiBD,KAAKE,MAAM,EAAEC,MAAM,KAAK,EAAE,CAAC,EAAE,CAACJ;QACrD,IACEF,aAAaI,kBACbH,mBAAmBE,KAAKI,aAAa,CAACL,WAAW,MACjDC,KAAKK,OAAO,EAAEC,KAAK,CAACC,SAAWA,OAAOR,WAAW,OAAOD,iBACxD;YACA,OAAOE;QACT;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 9733, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/i18n/normalize-locale-path.ts"],"sourcesContent":["export interface PathLocale {\n detectedLocale?: string\n pathname: string\n}\n\n/**\n * A cache of lowercased locales for each list of locales. This is stored as a\n * WeakMap so if the locales are garbage collected, the cache entry will be\n * removed as well.\n */\nconst cache = new WeakMap()\n\n/**\n * For a pathname that may include a locale from a list of locales, it\n * removes the locale from the pathname returning it alongside with the\n * detected locale.\n *\n * @param pathname A pathname that may include a locale.\n * @param locales A list of locales.\n * @returns The detected locale and pathname without locale\n */\nexport function normalizeLocalePath(\n pathname: string,\n locales?: readonly string[]\n): PathLocale {\n // If locales is undefined, return the pathname as is.\n if (!locales) return { pathname }\n\n // Get the cached lowercased locales or create a new cache entry.\n let lowercasedLocales = cache.get(locales)\n if (!lowercasedLocales) {\n lowercasedLocales = locales.map((locale) => locale.toLowerCase())\n cache.set(locales, lowercasedLocales)\n }\n\n let detectedLocale: string | undefined\n\n // The first segment will be empty, because it has a leading `/`. If\n // there is no further segment, there is no locale (or it's the default).\n const segments = pathname.split('/', 2)\n\n // If there's no second segment (ie, the pathname is just `/`), there's no\n // locale.\n if (!segments[1]) return { pathname }\n\n // The second segment will contain the locale part if any.\n const segment = segments[1].toLowerCase()\n\n // See if the segment matches one of the locales. If it doesn't, there is\n // no locale (or it's the default).\n const index = lowercasedLocales.indexOf(segment)\n if (index < 0) return { pathname }\n\n // Return the case-sensitive locale.\n detectedLocale = locales[index]\n\n // Remove the `/${locale}` part of the pathname.\n pathname = pathname.slice(detectedLocale.length + 1) || '/'\n\n return { pathname, detectedLocale }\n}\n"],"names":["cache","WeakMap","normalizeLocalePath","pathname","locales","lowercasedLocales","get","map","locale","toLowerCase","set","detectedLocale","segments","split","segment","index","indexOf","slice","length"],"mappings":";;;;AAKA;;;;CAIC,GACD,MAAMA,QAAQ,IAAIC;AAWX,SAASC,oBACdC,QAAgB,EAChBC,OAA2B;IAE3B,sDAAsD;IACtD,IAAI,CAACA,SAAS,OAAO;QAAED;IAAS;IAEhC,iEAAiE;IACjE,IAAIE,oBAAoBL,MAAMM,GAAG,CAACF;IAClC,IAAI,CAACC,mBAAmB;QACtBA,oBAAoBD,QAAQG,GAAG,CAAC,CAACC,SAAWA,OAAOC,WAAW;QAC9DT,MAAMU,GAAG,CAACN,SAASC;IACrB;IAEA,IAAIM;IAEJ,oEAAoE;IACpE,yEAAyE;IACzE,MAAMC,WAAWT,SAASU,KAAK,CAAC,KAAK;IAErC,0EAA0E;IAC1E,UAAU;IACV,IAAI,CAACD,QAAQ,CAAC,EAAE,EAAE,OAAO;QAAET;IAAS;IAEpC,0DAA0D;IAC1D,MAAMW,UAAUF,QAAQ,CAAC,EAAE,CAACH,WAAW;IAEvC,yEAAyE;IACzE,mCAAmC;IACnC,MAAMM,QAAQV,kBAAkBW,OAAO,CAACF;IACxC,IAAIC,QAAQ,GAAG,OAAO;QAAEZ;IAAS;IAEjC,oCAAoC;IACpCQ,iBAAiBP,OAAO,CAACW,MAAM;IAE/B,gDAAgD;IAChDZ,WAAWA,SAASc,KAAK,CAACN,eAAeO,MAAM,GAAG,MAAM;IAExD,OAAO;QAAEf;QAAUQ;IAAe;AACpC","ignoreList":[0]}}, + {"offset": {"line": 9783, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/invariant-error.ts"],"sourcesContent":["export class InvariantError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(\n `Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`,\n options\n )\n this.name = 'InvariantError'\n }\n}\n"],"names":["InvariantError","Error","constructor","message","options","endsWith","name"],"mappings":";;;;AAAO,MAAMA,uBAAuBC;IAClCC,YAAYC,OAAe,EAAEC,OAAsB,CAAE;QACnD,KAAK,CACH,CAAC,WAAW,EAAED,QAAQE,QAAQ,CAAC,OAAOF,UAAUA,UAAU,IAAI,0BAA0B,CAAC,EACzFC;QAEF,IAAI,CAACE,IAAI,GAAG;IACd;AACF","ignoreList":[0]}}, + {"offset": {"line": 9797, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/is-thenable.ts"],"sourcesContent":["/**\n * Check to see if a value is Thenable.\n *\n * @param promise the maybe-thenable value\n * @returns true if the value is thenable\n */\nexport function isThenable(\n promise: Promise | T\n): promise is Promise {\n return (\n promise !== null &&\n typeof promise === 'object' &&\n 'then' in promise &&\n typeof promise.then === 'function'\n )\n}\n"],"names":["isThenable","promise","then"],"mappings":"AAAA;;;;;CAKC,GACD;;;;AAAO,SAASA,WACdC,OAAuB;IAEvB,OACEA,YAAY,QACZ,OAAOA,YAAY,YACnB,UAAUA,WACV,OAAOA,QAAQC,IAAI,KAAK;AAE5B","ignoreList":[0]}}, + {"offset": {"line": 9813, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/page-path/ensure-leading-slash.ts"],"sourcesContent":["/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */\nexport function ensureLeadingSlash(path: string) {\n return path.startsWith('/') ? path : `/${path}`\n}\n"],"names":["ensureLeadingSlash","path","startsWith"],"mappings":"AAAA;;;CAGC,GACD;;;;AAAO,SAASA,mBAAmBC,IAAY;IAC7C,OAAOA,KAAKC,UAAU,CAAC,OAAOD,OAAO,CAAC,CAAC,EAAEA,MAAM;AACjD","ignoreList":[0]}}, + {"offset": {"line": 9827, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/page-path/normalize-page-path.ts"],"sourcesContent":["import { ensureLeadingSlash } from './ensure-leading-slash'\nimport { isDynamicRoute } from '../router/utils'\nimport { NormalizeError } from '../utils'\n\n/**\n * Takes a page and transforms it into its file counterpart ensuring that the\n * output is normalized. Note this function is not idempotent because a page\n * `/index` can be referencing `/index/index.js` and `/index/index` could be\n * referencing `/index/index/index.js`. Examples:\n * - `/` -> `/index`\n * - `/index/foo` -> `/index/index/foo`\n * - `/index` -> `/index/index`\n */\nexport function normalizePagePath(page: string): string {\n const normalized =\n /^\\/index(\\/|$)/.test(page) && !isDynamicRoute(page)\n ? `/index${page}`\n : page === '/'\n ? '/index'\n : ensureLeadingSlash(page)\n\n if (process.env.NEXT_RUNTIME !== 'edge') {\n const { posix } = require('path') as typeof import('path')\n const resolvedPage = posix.normalize(normalized)\n if (resolvedPage !== normalized) {\n throw new NormalizeError(\n `Requested and resolved page mismatch: ${normalized} ${resolvedPage}`\n )\n }\n }\n\n return normalized\n}\n"],"names":["ensureLeadingSlash","isDynamicRoute","NormalizeError","normalizePagePath","page","normalized","test","process","env","NEXT_RUNTIME","posix","require","resolvedPage","normalize"],"mappings":";;;;AAAA,SAASA,kBAAkB,QAAQ,yBAAwB;;AAC3D,SAASC,cAAc,QAAQ,kBAAiB;AAChD,SAASC,cAAc,QAAQ,WAAU;;;;AAWlC,SAASC,kBAAkBC,IAAY;IAC5C,MAAMC,aACJ,iBAAiBC,IAAI,CAACF,SAAS,KAACH,0MAAAA,EAAeG,QAC3C,CAAC,MAAM,EAAEA,MAAM,GACfA,SAAS,MACP,eACAJ,wNAAAA,EAAmBI;IAE3B,IAAIG,QAAQC,GAAG,CAACC,YAAY,KAAK,OAAQ;QACvC,MAAM,EAAEC,KAAK,EAAE,GAAGC,QAAQ;QAC1B,MAAMC,eAAeF,MAAMG,SAAS,CAACR;QACrC,IAAIO,iBAAiBP,YAAY;YAC/B,MAAM,IAAIH,+KAAAA,CACR,CAAC,sCAAsC,EAAEG,WAAW,CAAC,EAAEO,cAAc;QAEzE;IACF;IAEA,OAAOP;AACT","ignoreList":[0]}}, + {"offset": {"line": 9853, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/promise-with-resolvers.ts"],"sourcesContent":["export function createPromiseWithResolvers(): PromiseWithResolvers {\n // Shim of Stage 4 Promise.withResolvers proposal\n let resolve: (value: T | PromiseLike) => void\n let reject: (reason: any) => void\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n })\n return { resolve: resolve!, reject: reject!, promise }\n}\n"],"names":["createPromiseWithResolvers","resolve","reject","promise","Promise","res","rej"],"mappings":";;;;AAAO,SAASA;IACd,iDAAiD;IACjD,IAAIC;IACJ,IAAIC;IACJ,MAAMC,UAAU,IAAIC,QAAW,CAACC,KAAKC;QACnCL,UAAUI;QACVH,SAASI;IACX;IACA,OAAO;QAAEL,SAASA;QAAUC,QAAQA;QAASC;IAAQ;AACvD","ignoreList":[0]}}, + {"offset": {"line": 9875, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/routes/app.ts"],"sourcesContent":["import { InvariantError } from '../../invariant-error'\nimport { getSegmentParam, type SegmentParam } from '../utils/get-segment-param'\nimport {\n INTERCEPTION_ROUTE_MARKERS,\n type InterceptionMarker,\n} from '../utils/interception-routes'\n\nexport type RouteGroupAppRouteSegment = {\n type: 'route-group'\n name: string\n\n /**\n * If present, this segment has an interception marker prefixing it.\n */\n interceptionMarker?: InterceptionMarker\n}\n\nexport type ParallelRouteAppRouteSegment = {\n type: 'parallel-route'\n name: string\n\n /**\n * If present, this segment has an interception marker prefixing it.\n */\n interceptionMarker?: InterceptionMarker\n}\n\nexport type StaticAppRouteSegment = {\n type: 'static'\n name: string\n\n /**\n * If present, this segment has an interception marker prefixing it.\n */\n interceptionMarker?: InterceptionMarker\n}\n\nexport type DynamicAppRouteSegment = {\n type: 'dynamic'\n name: string\n param: SegmentParam\n\n /**\n * If present, this segment has an interception marker prefixing it.\n */\n interceptionMarker?: InterceptionMarker\n}\n\n/**\n * Represents a single segment in a route path.\n * Can be either static (e.g., \"blog\") or dynamic (e.g., \"[slug]\").\n */\nexport type AppRouteSegment =\n | StaticAppRouteSegment\n | DynamicAppRouteSegment\n | RouteGroupAppRouteSegment\n | ParallelRouteAppRouteSegment\n\nexport type NormalizedAppRouteSegment =\n | StaticAppRouteSegment\n | DynamicAppRouteSegment\n\nfunction normalizeEncodedDynamicPlaceholder(segment: string): string {\n if (!/%5b|%5d/i.test(segment)) {\n return segment\n }\n\n try {\n const decodedSegment = decodeURIComponent(segment)\n return getSegmentParam(decodedSegment) ? decodedSegment : segment\n } catch {\n return segment\n }\n}\n\nexport function parseAppRouteSegment(segment: string): AppRouteSegment | null {\n if (segment === '') {\n return null\n }\n\n // Check if the segment starts with an interception marker\n const interceptionMarker = INTERCEPTION_ROUTE_MARKERS.find((m) =>\n segment.startsWith(m)\n )\n\n const param = getSegmentParam(segment)\n if (param) {\n return {\n type: 'dynamic',\n name: segment,\n param,\n interceptionMarker,\n }\n } else if (segment.startsWith('(') && segment.endsWith(')')) {\n return {\n type: 'route-group',\n name: segment,\n interceptionMarker,\n }\n } else if (segment.startsWith('@')) {\n return {\n type: 'parallel-route',\n name: segment,\n interceptionMarker,\n }\n } else {\n return {\n type: 'static',\n name: segment,\n interceptionMarker,\n }\n }\n}\n\nexport type AppRoute = {\n normalized: boolean\n pathname: string\n segments: AppRouteSegment[]\n dynamicSegments: DynamicAppRouteSegment[]\n interceptionMarker: InterceptionMarker | undefined\n interceptingRoute: AppRoute | undefined\n interceptedRoute: AppRoute | undefined\n}\n\nexport type NormalizedAppRoute = Omit & {\n normalized: true\n segments: NormalizedAppRouteSegment[]\n}\n\nexport function isNormalizedAppRoute(\n route: InterceptionAppRoute\n): route is NormalizedInterceptionAppRoute\nexport function isNormalizedAppRoute(\n route: AppRoute | InterceptionAppRoute\n): route is NormalizedAppRoute {\n return route.normalized\n}\n\nexport type InterceptionAppRoute = Omit<\n AppRoute,\n 'interceptionMarker' | 'interceptingRoute' | 'interceptedRoute'\n> & {\n interceptionMarker: InterceptionMarker\n interceptingRoute: AppRoute\n interceptedRoute: AppRoute\n}\n\nexport type NormalizedInterceptionAppRoute = Omit<\n InterceptionAppRoute,\n | 'normalized'\n | 'segments'\n | 'interceptionMarker'\n | 'interceptingRoute'\n | 'interceptedRoute'\n> & {\n normalized: true\n segments: NormalizedAppRouteSegment[]\n interceptionMarker: InterceptionMarker\n interceptingRoute: NormalizedAppRoute\n interceptedRoute: NormalizedAppRoute\n}\n\nexport function isInterceptionAppRoute(\n route: NormalizedAppRoute\n): route is NormalizedInterceptionAppRoute\nexport function isInterceptionAppRoute(\n route: AppRoute\n): route is InterceptionAppRoute {\n return (\n route.interceptionMarker !== undefined &&\n route.interceptingRoute !== undefined &&\n route.interceptedRoute !== undefined\n )\n}\n\n// Bitmask for which non-URL segment types to allow during parsing.\n// By default, route groups and parallel routes are rejected because\n// they should have been stripped by normalizeAppPath. These flags\n// let callers opt in to allowing specific types.\nconst OnlyRoutableSegments = /* */ 0b00\nconst AllowParallelSegments = /* */ 0b01\nconst AllowGroupSegments = /* */ 0b10\n\nfunction parseAppRouteImpl(\n pathname: string,\n allowedTypes: number\n): AppRoute | NormalizedAppRoute {\n const pathnameSegments = pathname.split('/').filter(Boolean)\n\n // Build segments array with static and dynamic segments\n const segments: AppRouteSegment[] = []\n\n // Parse if this is an interception route.\n let interceptionMarker: InterceptionMarker | undefined\n let interceptingRoute: AppRoute | NormalizedAppRoute | undefined\n let interceptedRoute: AppRoute | NormalizedAppRoute | undefined\n\n for (const segment of pathnameSegments) {\n const normalizedSegment = normalizeEncodedDynamicPlaceholder(segment)\n\n // Parse the segment into an AppSegment.\n const appSegment = parseAppRouteSegment(normalizedSegment)\n if (!appSegment) {\n continue\n }\n\n if (\n appSegment.type === 'route-group' &&\n !(allowedTypes & AllowGroupSegments)\n ) {\n throw new InvariantError(\n `${pathname} is being parsed as a normalized route, but it has a route group segment.`\n )\n }\n\n if (\n appSegment.type === 'parallel-route' &&\n !(allowedTypes & AllowParallelSegments)\n ) {\n throw new InvariantError(\n `${pathname} is being parsed as a normalized route, but it has a parallel route segment.`\n )\n }\n\n segments.push(appSegment)\n\n if (appSegment.interceptionMarker) {\n const parts = pathname.split(appSegment.interceptionMarker)\n if (parts.length !== 2) {\n throw new Error(`Invalid interception route: ${pathname}`)\n }\n\n interceptingRoute = parseAppRouteImpl(parts[0], allowedTypes)\n interceptedRoute = parseAppRouteImpl(parts[1], allowedTypes)\n interceptionMarker = appSegment.interceptionMarker\n }\n }\n\n const dynamicSegments = segments.filter(\n (segment) => segment.type === 'dynamic'\n )\n\n return {\n normalized: allowedTypes === OnlyRoutableSegments,\n pathname,\n segments,\n dynamicSegments,\n interceptionMarker,\n interceptingRoute,\n interceptedRoute,\n }\n}\n\n/**\n * Parse an app route that has been fully normalized (no @slot or ()\n * group segments). Throws if either is present.\n */\nexport function parseNormalizedAppRoute(pathname: string): NormalizedAppRoute {\n return parseAppRouteImpl(pathname, OnlyRoutableSegments) as NormalizedAppRoute\n}\n\n/**\n * Parse an app route that may contain @slot segments but not ()\n * group segments. Slot segments are preserved as parallel-route\n * type segments so callers can distinguish routes in different\n * parallel slots.\n */\nexport function parseAppRouteWithSlots(pathname: string): AppRoute {\n return parseAppRouteImpl(pathname, AllowParallelSegments) as AppRoute\n}\n"],"names":["InvariantError","getSegmentParam","INTERCEPTION_ROUTE_MARKERS","normalizeEncodedDynamicPlaceholder","segment","test","decodedSegment","decodeURIComponent","parseAppRouteSegment","interceptionMarker","find","m","startsWith","param","type","name","endsWith","isNormalizedAppRoute","route","normalized","isInterceptionAppRoute","undefined","interceptingRoute","interceptedRoute","OnlyRoutableSegments","AllowParallelSegments","AllowGroupSegments","parseAppRouteImpl","pathname","allowedTypes","pathnameSegments","split","filter","Boolean","segments","normalizedSegment","appSegment","push","parts","length","Error","dynamicSegments","parseNormalizedAppRoute","parseAppRouteWithSlots"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 10004, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/add-locale.ts"],"sourcesContent":["import { addPathPrefix } from './add-path-prefix'\nimport { pathHasPrefix } from './path-has-prefix'\n\n/**\n * For a given path and a locale, if the locale is given, it will prefix the\n * locale. The path shouldn't be an API path. If a default locale is given the\n * prefix will be omitted if the locale is already the default locale.\n */\nexport function addLocale(\n path: string,\n locale?: string | false,\n defaultLocale?: string,\n ignorePrefix?: boolean\n) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path\n\n const lower = path.toLowerCase()\n\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if (pathHasPrefix(lower, '/api')) return path\n if (pathHasPrefix(lower, `/${locale.toLowerCase()}`)) return path\n }\n\n // Add the locale prefix to the path.\n return addPathPrefix(path, `/${locale}`)\n}\n"],"names":["addPathPrefix","pathHasPrefix","addLocale","path","locale","defaultLocale","ignorePrefix","lower","toLowerCase"],"mappings":";;;;AAAA,SAASA,aAAa,QAAQ,oBAAmB;AACjD,SAASC,aAAa,QAAQ,oBAAmB;;;AAO1C,SAASC,UACdC,IAAY,EACZC,MAAuB,EACvBC,aAAsB,EACtBC,YAAsB;IAEtB,4EAA4E;IAC5E,sBAAsB;IACtB,IAAI,CAACF,UAAUA,WAAWC,eAAe,OAAOF;IAEhD,MAAMI,QAAQJ,KAAKK,WAAW;IAE9B,2EAA2E;IAC3E,iCAAiC;IACjC,IAAI,CAACF,cAAc;QACjB,QAAIL,iNAAAA,EAAcM,OAAO,SAAS,OAAOJ;QACzC,QAAIF,iNAAAA,EAAcM,OAAO,CAAC,CAAC,EAAEH,OAAOI,WAAW,IAAI,GAAG,OAAOL;IAC/D;IAEA,qCAAqC;IACrC,WAAOH,iNAAAA,EAAcG,MAAM,CAAC,CAAC,EAAEC,QAAQ;AACzC","ignoreList":[0]}}, + {"offset": {"line": 10030, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/add-path-prefix.ts"],"sourcesContent":["import { parsePath } from './parse-path'\n\n/**\n * Adds the provided prefix to the given path. It first ensures that the path\n * is indeed starting with a slash.\n */\nexport function addPathPrefix(path: string, prefix?: string) {\n if (!path.startsWith('/') || !prefix) {\n return path\n }\n\n const { pathname, query, hash } = parsePath(path)\n return `${prefix}${pathname}${query}${hash}`\n}\n"],"names":["parsePath","addPathPrefix","path","prefix","startsWith","pathname","query","hash"],"mappings":";;;;AAAA,SAASA,SAAS,QAAQ,eAAc;;AAMjC,SAASC,cAAcC,IAAY,EAAEC,MAAe;IACzD,IAAI,CAACD,KAAKE,UAAU,CAAC,QAAQ,CAACD,QAAQ;QACpC,OAAOD;IACT;IAEA,MAAM,EAAEG,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAE,OAAGP,qMAAAA,EAAUE;IAC5C,OAAO,GAAGC,SAASE,WAAWC,QAAQC,MAAM;AAC9C","ignoreList":[0]}}, + {"offset": {"line": 10047, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/add-path-suffix.ts"],"sourcesContent":["import { parsePath } from './parse-path'\n\n/**\n * Similarly to `addPathPrefix`, this function adds a suffix at the end on the\n * provided path. It also works only for paths ensuring the argument starts\n * with a slash.\n */\nexport function addPathSuffix(path: string, suffix?: string) {\n if (!path.startsWith('/') || !suffix) {\n return path\n }\n\n const { pathname, query, hash } = parsePath(path)\n return `${pathname}${suffix}${query}${hash}`\n}\n"],"names":["parsePath","addPathSuffix","path","suffix","startsWith","pathname","query","hash"],"mappings":";;;;AAAA,SAASA,SAAS,QAAQ,eAAc;;AAOjC,SAASC,cAAcC,IAAY,EAAEC,MAAe;IACzD,IAAI,CAACD,KAAKE,UAAU,CAAC,QAAQ,CAACD,QAAQ;QACpC,OAAOD;IACT;IAEA,MAAM,EAAEG,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAE,OAAGP,qMAAAA,EAAUE;IAC5C,OAAO,GAAGG,WAAWF,SAASG,QAAQC,MAAM;AAC9C","ignoreList":[0]}}, + {"offset": {"line": 10064, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/app-paths.ts"],"sourcesContent":["import { ensureLeadingSlash } from '../../page-path/ensure-leading-slash'\nimport { isGroupSegment } from '../../segment'\n\n/**\n * Normalizes an app route so it represents the actual request path. Essentially\n * performing the following transformations:\n *\n * - `/(dashboard)/user/[id]/page` to `/user/[id]`\n * - `/(dashboard)/account/page` to `/account`\n * - `/user/[id]/page` to `/user/[id]`\n * - `/account/page` to `/account`\n * - `/page` to `/`\n * - `/(dashboard)/user/[id]/route` to `/user/[id]`\n * - `/(dashboard)/account/route` to `/account`\n * - `/user/[id]/route` to `/user/[id]`\n * - `/account/route` to `/account`\n * - `/route` to `/`\n * - `/` to `/`\n *\n * @param route the app route to normalize\n * @returns the normalized pathname\n */\nexport function normalizeAppPath(route: string) {\n return ensureLeadingSlash(\n route.split('/').reduce((pathname, segment, index, segments) => {\n // Empty segments are ignored.\n if (!segment) {\n return pathname\n }\n\n // Groups are ignored.\n if (isGroupSegment(segment)) {\n return pathname\n }\n\n // Parallel segments are ignored.\n if (segment[0] === '@') {\n return pathname\n }\n\n // The last segment (if it's a leaf) should be ignored.\n if (\n (segment === 'page' || segment === 'route') &&\n index === segments.length - 1\n ) {\n return pathname\n }\n\n return `${pathname}/${segment}`\n }, '')\n )\n}\n\n/**\n * Comparator for sorting app paths so that parallel slot paths (containing\n * `/@`) come before the children/root page path. This keeps the direct\n * children/root page last so it can be selected as the canonical entry.\n *\n * Without this, route group prefixes like `(group)` (char code 0x28) sort\n * before `@` (0x40), causing the children page to sort first instead of last\n * and leading to a manifest mismatch / 404 in webpack dev mode.\n */\nexport function compareAppPaths(a: string, b: string): number {\n const aHasSlot = a.includes('/@')\n const bHasSlot = b.includes('/@')\n if (aHasSlot && !bHasSlot) return -1\n if (!aHasSlot && bHasSlot) return 1\n return a.localeCompare(b)\n}\n\nfunction normalizeAppPageEntryPathname(appPath: string): string {\n // Webpack app entries preserve escaped underscore segments as `%5F`, while\n // normalized request pathnames expose the decoded `_` segment.\n return normalizeAppPath(appPath).replace(/%5F/g, '_')\n}\n\n/**\n * Selects the app path that owns the compiled entry for a normalized route.\n * Catch-all normalization can add app paths from other routes, so only direct\n * paths are candidates. Among those, compareAppPaths deterministically prefers\n * the children/root page, or a stable slot when the route only has slots.\n */\nexport function selectAppPageEntry(\n pathname: string,\n appPaths: readonly string[],\n normalizePathname: (appPath: string) => string = normalizeAppPageEntryPathname\n): string {\n let entry: string | undefined\n\n for (const appPath of appPaths) {\n if (normalizePathname(appPath) !== pathname) continue\n\n if (entry === undefined || compareAppPaths(entry, appPath) < 0) {\n entry = appPath\n }\n }\n\n if (entry === undefined) {\n throw new Error(`Invariant: no direct app page entry found for ${pathname}`)\n }\n\n return entry\n}\n\n/**\n * Strips the `.rsc` extension if it's in the pathname.\n * Since this function is used on full urls it checks `?` for searchParams handling.\n */\nexport function normalizeRscURL(url: string) {\n return url.replace(\n /\\.rsc($|\\?)/,\n // $1 ensures `?` is preserved\n '$1'\n )\n}\n"],"names":["ensureLeadingSlash","isGroupSegment","normalizeAppPath","route","split","reduce","pathname","segment","index","segments","length","compareAppPaths","a","b","aHasSlot","includes","bHasSlot","localeCompare","normalizeAppPageEntryPathname","appPath","replace","selectAppPageEntry","appPaths","normalizePathname","entry","undefined","Error","normalizeRscURL","url"],"mappings":";;;;;;;;;;AAAA,SAASA,kBAAkB,QAAQ,uCAAsC;AACzE,SAASC,cAAc,QAAQ,gBAAe;;;AAqBvC,SAASC,iBAAiBC,KAAa;IAC5C,WAAOH,wNAAAA,EACLG,MAAMC,KAAK,CAAC,KAAKC,MAAM,CAAC,CAACC,UAAUC,SAASC,OAAOC;QACjD,8BAA8B;QAC9B,IAAI,CAACF,SAAS;YACZ,OAAOD;QACT;QAEA,sBAAsB;QACtB,QAAIL,iLAAAA,EAAeM,UAAU;YAC3B,OAAOD;QACT;QAEA,iCAAiC;QACjC,IAAIC,OAAO,CAAC,EAAE,KAAK,KAAK;YACtB,OAAOD;QACT;QAEA,uDAAuD;QACvD,IACGC,CAAAA,YAAY,UAAUA,YAAY,OAAM,KACzCC,UAAUC,SAASC,MAAM,GAAG,GAC5B;YACA,OAAOJ;QACT;QAEA,OAAO,GAAGA,SAAS,CAAC,EAAEC,SAAS;IACjC,GAAG;AAEP;AAWO,SAASI,gBAAgBC,CAAS,EAAEC,CAAS;IAClD,MAAMC,WAAWF,EAAEG,QAAQ,CAAC;IAC5B,MAAMC,WAAWH,EAAEE,QAAQ,CAAC;IAC5B,IAAID,YAAY,CAACE,UAAU,OAAO,CAAC;IACnC,IAAI,CAACF,YAAYE,UAAU,OAAO;IAClC,OAAOJ,EAAEK,aAAa,CAACJ;AACzB;AAEA,SAASK,8BAA8BC,OAAe;IACpD,2EAA2E;IAC3E,+DAA+D;IAC/D,OAAOjB,iBAAiBiB,SAASC,OAAO,CAAC,QAAQ;AACnD;AAQO,SAASC,mBACdf,QAAgB,EAChBgB,QAA2B,EAC3BC,oBAAiDL,6BAA6B;IAE9E,IAAIM;IAEJ,KAAK,MAAML,WAAWG,SAAU;QAC9B,IAAIC,kBAAkBJ,aAAab,UAAU;QAE7C,IAAIkB,UAAUC,aAAad,gBAAgBa,OAAOL,WAAW,GAAG;YAC9DK,QAAQL;QACV;IACF;IAEA,IAAIK,UAAUC,WAAW;QACvB,MAAM,IAAIC,MAAM,CAAC,8CAA8C,EAAEpB,UAAU;IAC7E;IAEA,OAAOkB;AACT;AAMO,SAASG,gBAAgBC,GAAW;IACzC,OAAOA,IAAIR,OAAO,CAChB,eACA,AACA,8BAD8B;AAGlC","ignoreList":[0]}}, + {"offset": {"line": 10131, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/cache-busting-search-param.ts"],"sourcesContent":["import { hexHash } from '../../hash'\n\nconst CACHE_BUSTING_SEARCH_PARAM_DIGEST_BYTES = 12\nconst textEncoder = new TextEncoder()\n\nfunction encodeCacheBustingSearchParam(bytes: Uint8Array): string {\n let binary = ''\n for (let i = 0; i < bytes.length; i++) {\n binary += String.fromCharCode(bytes[i])\n }\n\n return btoa(binary).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '')\n}\n\nfunction normalizeCacheBustingInput(\n value: string | string[] | undefined\n): string {\n if (value === undefined) {\n return '0'\n }\n return Array.isArray(value) ? value.join(',') : value\n}\n\nfunction createCacheBustingSearchParamInput(\n prefetchHeader: '1' | '2' | '3' | '0' | undefined,\n segmentPrefetchHeader: string | string[] | undefined,\n stateTreeHeader: string | string[] | undefined,\n nextUrlHeader: string | string[] | undefined\n): string | null {\n if (\n (prefetchHeader === undefined || prefetchHeader === '0') &&\n segmentPrefetchHeader === undefined &&\n stateTreeHeader === undefined &&\n nextUrlHeader === undefined\n ) {\n return null\n }\n\n return [\n prefetchHeader ?? '0',\n normalizeCacheBustingInput(segmentPrefetchHeader),\n normalizeCacheBustingInput(stateTreeHeader),\n normalizeCacheBustingInput(nextUrlHeader),\n ].join(',')\n}\n\nasync function computeCacheBustingSearchParamFromInput(\n input: string\n): Promise {\n // Truncate SHA-256 to 96 bits to keep `_rsc` compact\n const digest = await globalThis.crypto.subtle.digest(\n 'SHA-256',\n textEncoder.encode(input)\n )\n return encodeCacheBustingSearchParam(\n new Uint8Array(digest).subarray(0, CACHE_BUSTING_SEARCH_PARAM_DIGEST_BYTES)\n )\n}\n\nexport async function computeCacheBustingSearchParam(\n prefetchHeader: '1' | '2' | '3' | '0' | undefined,\n segmentPrefetchHeader: string | string[] | undefined,\n stateTreeHeader: string | string[] | undefined,\n nextUrlHeader: string | string[] | undefined\n): Promise {\n const input = createCacheBustingSearchParamInput(\n prefetchHeader,\n segmentPrefetchHeader,\n stateTreeHeader,\n nextUrlHeader\n )\n if (input === null) {\n return ''\n }\n\n return computeCacheBustingSearchParamFromInput(input)\n}\n\nexport function computeLegacyCacheBustingSearchParam(\n prefetchHeader: '1' | '2' | '3' | '0' | undefined,\n segmentPrefetchHeader: string | string[] | undefined,\n stateTreeHeader: string | string[] | undefined,\n nextUrlHeader: string | string[] | undefined\n): string {\n const input = createCacheBustingSearchParamInput(\n prefetchHeader,\n segmentPrefetchHeader,\n stateTreeHeader,\n nextUrlHeader\n )\n if (input === null) {\n return ''\n }\n\n return hexHash(input)\n}\n"],"names":["hexHash","CACHE_BUSTING_SEARCH_PARAM_DIGEST_BYTES","textEncoder","TextEncoder","encodeCacheBustingSearchParam","bytes","binary","i","length","String","fromCharCode","btoa","replace","normalizeCacheBustingInput","value","undefined","Array","isArray","join","createCacheBustingSearchParamInput","prefetchHeader","segmentPrefetchHeader","stateTreeHeader","nextUrlHeader","computeCacheBustingSearchParamFromInput","input","digest","globalThis","crypto","subtle","encode","Uint8Array","subarray","computeCacheBustingSearchParam","computeLegacyCacheBustingSearchParam"],"mappings":";;;;;;AAAA,SAASA,OAAO,QAAQ,aAAY;;AAEpC,MAAMC,0CAA0C;AAChD,MAAMC,cAAc,IAAIC;AAExB,SAASC,8BAA8BC,KAAiB;IACtD,IAAIC,SAAS;IACb,IAAK,IAAIC,IAAI,GAAGA,IAAIF,MAAMG,MAAM,EAAED,IAAK;QACrCD,UAAUG,OAAOC,YAAY,CAACL,KAAK,CAACE,EAAE;IACxC;IAEA,OAAOI,KAAKL,QAAQM,OAAO,CAAC,OAAO,KAAKA,OAAO,CAAC,OAAO,KAAKA,OAAO,CAAC,OAAO;AAC7E;AAEA,SAASC,2BACPC,KAAoC;IAEpC,IAAIA,UAAUC,WAAW;QACvB,OAAO;IACT;IACA,OAAOC,MAAMC,OAAO,CAACH,SAASA,MAAMI,IAAI,CAAC,OAAOJ;AAClD;AAEA,SAASK,mCACPC,cAAiD,EACjDC,qBAAoD,EACpDC,eAA8C,EAC9CC,aAA4C;IAE5C,IACGH,CAAAA,mBAAmBL,aAAaK,mBAAmB,GAAE,KACtDC,0BAA0BN,aAC1BO,oBAAoBP,aACpBQ,kBAAkBR,WAClB;QACA,OAAO;IACT;IAEA,OAAO;QACLK,kBAAkB;QAClBP,2BAA2BQ;QAC3BR,2BAA2BS;QAC3BT,2BAA2BU;KAC5B,CAACL,IAAI,CAAC;AACT;AAEA,eAAeM,wCACbC,KAAa;IAEb,qDAAqD;IACrD,MAAMC,SAAS,MAAMC,WAAWC,MAAM,CAACC,MAAM,CAACH,MAAM,CAClD,WACAxB,YAAY4B,MAAM,CAACL;IAErB,OAAOrB,8BACL,IAAI2B,WAAWL,QAAQM,QAAQ,CAAC,GAAG/B;AAEvC;AAEO,eAAegC,+BACpBb,cAAiD,EACjDC,qBAAoD,EACpDC,eAA8C,EAC9CC,aAA4C;IAE5C,MAAME,QAAQN,mCACZC,gBACAC,uBACAC,iBACAC;IAEF,IAAIE,UAAU,MAAM;QAClB,OAAO;IACT;IAEA,OAAOD,wCAAwCC;AACjD;AAEO,SAASS,qCACdd,cAAiD,EACjDC,qBAAoD,EACpDC,eAA8C,EAC9CC,aAA4C;IAE5C,MAAME,QAAQN,mCACZC,gBACAC,uBACAC,iBACAC;IAEF,IAAIE,UAAU,MAAM;QAClB,OAAO;IACT;IAEA,WAAOzB,uKAAAA,EAAQyB;AACjB","ignoreList":[0]}}, + {"offset": {"line": 10188, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/format-next-pathname-info.ts"],"sourcesContent":["import type { NextPathnameInfo } from './get-next-pathname-info'\nimport { removeTrailingSlash } from './remove-trailing-slash'\nimport { addPathPrefix } from './add-path-prefix'\nimport { addPathSuffix } from './add-path-suffix'\nimport { addLocale } from './add-locale'\n\ninterface ExtendedInfo extends NextPathnameInfo {\n defaultLocale?: string\n ignorePrefix?: boolean\n}\n\nexport function formatNextPathnameInfo(info: ExtendedInfo) {\n let pathname = addLocale(\n info.pathname,\n info.locale,\n info.buildId ? undefined : info.defaultLocale,\n info.ignorePrefix\n )\n\n if (info.buildId || !info.trailingSlash) {\n pathname = removeTrailingSlash(pathname)\n }\n\n if (info.buildId) {\n pathname = addPathSuffix(\n addPathPrefix(pathname, `/_next/data/${info.buildId}`),\n info.pathname === '/' ? 'index.json' : '.json'\n )\n }\n\n pathname = addPathPrefix(pathname, info.basePath)\n return !info.buildId && info.trailingSlash\n ? !pathname.endsWith('/')\n ? addPathSuffix(pathname, '/')\n : pathname\n : removeTrailingSlash(pathname)\n}\n"],"names":["removeTrailingSlash","addPathPrefix","addPathSuffix","addLocale","formatNextPathnameInfo","info","pathname","locale","buildId","undefined","defaultLocale","ignorePrefix","trailingSlash","basePath","endsWith"],"mappings":";;;;AACA,SAASA,mBAAmB,QAAQ,0BAAyB;AAC7D,SAASC,aAAa,QAAQ,oBAAmB;AACjD,SAASC,aAAa,QAAQ,oBAAmB;AACjD,SAASC,SAAS,QAAQ,eAAc;;;;;AAOjC,SAASC,uBAAuBC,IAAkB;IACvD,IAAIC,eAAWH,qMAAAA,EACbE,KAAKC,QAAQ,EACbD,KAAKE,MAAM,EACXF,KAAKG,OAAO,GAAGC,YAAYJ,KAAKK,aAAa,EAC7CL,KAAKM,YAAY;IAGnB,IAAIN,KAAKG,OAAO,IAAI,CAACH,KAAKO,aAAa,EAAE;QACvCN,eAAWN,6NAAAA,EAAoBM;IACjC;IAEA,IAAID,KAAKG,OAAO,EAAE;QAChBF,eAAWJ,iNAAAA,MACTD,iNAAAA,EAAcK,UAAU,CAAC,YAAY,EAAED,KAAKG,OAAO,EAAE,GACrDH,KAAKC,QAAQ,KAAK,MAAM,eAAe;IAE3C;IAEAA,eAAWL,iNAAAA,EAAcK,UAAUD,KAAKQ,QAAQ;IAChD,OAAO,CAACR,KAAKG,OAAO,IAAIH,KAAKO,aAAa,GACtC,CAACN,SAASQ,QAAQ,CAAC,WACjBZ,iNAAAA,EAAcI,UAAU,OACxBA,eACFN,6NAAAA,EAAoBM;AAC1B","ignoreList":[0]}}, + {"offset": {"line": 10215, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/format-url.ts"],"sourcesContent":["// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nimport type { UrlObject } from 'url'\nimport type { ParsedUrlQuery } from 'querystring'\nimport * as querystring from './querystring'\n\nconst slashedProtocols = /https?|ftp|gopher|file/\n\nexport function formatUrl(urlObj: UrlObject) {\n let { auth, hostname } = urlObj\n let protocol = urlObj.protocol || ''\n let pathname = urlObj.pathname || ''\n let hash = urlObj.hash || ''\n let query = urlObj.query || ''\n let host: string | false = false\n\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : ''\n\n if (urlObj.host) {\n host = auth + urlObj.host\n } else if (hostname) {\n host = auth + (~hostname.indexOf(':') ? `[${hostname}]` : hostname)\n if (urlObj.port) {\n host += ':' + urlObj.port\n }\n }\n\n if (query && typeof query === 'object') {\n query = String(querystring.urlQueryToSearchParams(query as ParsedUrlQuery))\n }\n\n let search = urlObj.search || (query && `?${query}`) || ''\n\n if (protocol && !protocol.endsWith(':')) protocol += ':'\n\n if (\n urlObj.slashes ||\n ((!protocol || slashedProtocols.test(protocol)) && host !== false)\n ) {\n host = '//' + (host || '')\n if (pathname && pathname[0] !== '/') pathname = '/' + pathname\n } else if (!host) {\n host = ''\n }\n\n if (hash && hash[0] !== '#') hash = '#' + hash\n if (search && search[0] !== '?') search = '?' + search\n\n pathname = pathname.replace(/[?#]/g, encodeURIComponent)\n search = search.replace('#', '%23')\n\n return `${protocol}${host}${pathname}${search}${hash}`\n}\n\nexport const urlObjectKeys = [\n 'auth',\n 'hash',\n 'host',\n 'hostname',\n 'href',\n 'path',\n 'pathname',\n 'port',\n 'protocol',\n 'query',\n 'search',\n 'slashes',\n]\n\nexport function formatWithValidation(url: UrlObject): string {\n if (process.env.NODE_ENV === 'development') {\n if (url !== null && typeof url === 'object') {\n Object.keys(url).forEach((key) => {\n if (!urlObjectKeys.includes(key)) {\n console.warn(\n `Unknown key passed via urlObject into url.format: ${key}`\n )\n }\n })\n }\n }\n\n return formatUrl(url)\n}\n"],"names":["querystring","slashedProtocols","formatUrl","urlObj","auth","hostname","protocol","pathname","hash","query","host","encodeURIComponent","replace","indexOf","port","String","urlQueryToSearchParams","search","endsWith","slashes","test","urlObjectKeys","formatWithValidation","url","process","env","NODE_ENV","Object","keys","forEach","key","includes","console","warn"],"mappings":";;;;;;;;AAAA,uCAAuC;AACvC,sDAAsD;AACtD,EAAE;AACF,0EAA0E;AAC1E,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,4EAA4E;AAC5E,qEAAqE;AACrE,wBAAwB;AACxB,EAAE;AACF,0EAA0E;AAC1E,yDAAyD;AACzD,EAAE;AACF,0EAA0E;AAC1E,6DAA6D;AAC7D,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,yCAAyC;AAIzC,YAAYA,iBAAiB,gBAAe;;AAE5C,MAAMC,mBAAmB;AAElB,SAASC,UAAUC,MAAiB;IACzC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAE,GAAGF;IACzB,IAAIG,WAAWH,OAAOG,QAAQ,IAAI;IAClC,IAAIC,WAAWJ,OAAOI,QAAQ,IAAI;IAClC,IAAIC,OAAOL,OAAOK,IAAI,IAAI;IAC1B,IAAIC,QAAQN,OAAOM,KAAK,IAAI;IAC5B,IAAIC,OAAuB;IAE3BN,OAAOA,OAAOO,mBAAmBP,MAAMQ,OAAO,CAAC,QAAQ,OAAO,MAAM;IAEpE,IAAIT,OAAOO,IAAI,EAAE;QACfA,OAAON,OAAOD,OAAOO,IAAI;IAC3B,OAAO,IAAIL,UAAU;QACnBK,OAAON,OAAQ,CAAA,CAACC,SAASQ,OAAO,CAAC,OAAO,CAAC,CAAC,EAAER,SAAS,CAAC,CAAC,GAAGA,QAAO;QACjE,IAAIF,OAAOW,IAAI,EAAE;YACfJ,QAAQ,MAAMP,OAAOW,IAAI;QAC3B;IACF;IAEA,IAAIL,SAAS,OAAOA,UAAU,UAAU;QACtCA,QAAQM,OAAOf,YAAYgB,oMAAsB,CAACP;IACpD;IAEA,IAAIQ,SAASd,OAAOc,MAAM,IAAKR,SAAS,CAAC,CAAC,EAAEA,OAAO,IAAK;IAExD,IAAIH,YAAY,CAACA,SAASY,QAAQ,CAAC,MAAMZ,YAAY;IAErD,IACEH,OAAOgB,OAAO,IACZ,CAAA,CAACb,YAAYL,iBAAiBmB,IAAI,CAACd,SAAQ,KAAMI,SAAS,OAC5D;QACAA,OAAO,OAAQA,CAAAA,QAAQ,EAAC;QACxB,IAAIH,YAAYA,QAAQ,CAAC,EAAE,KAAK,KAAKA,WAAW,MAAMA;IACxD,OAAO,IAAI,CAACG,MAAM;QAChBA,OAAO;IACT;IAEA,IAAIF,QAAQA,IAAI,CAAC,EAAE,KAAK,KAAKA,OAAO,MAAMA;IAC1C,IAAIS,UAAUA,MAAM,CAAC,EAAE,KAAK,KAAKA,SAAS,MAAMA;IAEhDV,WAAWA,SAASK,OAAO,CAAC,SAASD;IACrCM,SAASA,OAAOL,OAAO,CAAC,KAAK;IAE7B,OAAO,GAAGN,WAAWI,OAAOH,WAAWU,SAAST,MAAM;AACxD;AAEO,MAAMa,gBAAgB;IAC3B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAA;AAEM,SAASC,qBAAqBC,GAAc;IACjD,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,WAAe;QAC1C,IAAIH,QAAQ,QAAQ,OAAOA,QAAQ,UAAU;YAC3CI,OAAOC,IAAI,CAACL,KAAKM,OAAO,CAAC,CAACC;gBACxB,IAAI,CAACT,cAAcU,QAAQ,CAACD,MAAM;oBAChCE,QAAQC,IAAI,CACV,CAAC,kDAAkD,EAAEH,KAAK;gBAE9D;YACF;QACF;IACF;IAEA,OAAO5B,UAAUqB;AACnB","ignoreList":[0]}}, + {"offset": {"line": 10310, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/get-dynamic-param.ts"],"sourcesContent":["import type { DynamicParam } from '../../../../server/app-render/app-render'\nimport type { LoaderTree } from '../../../../server/lib/app-dir-module'\nimport type { OpaqueFallbackRouteParams } from '../../../../server/request/fallback-params'\nimport type { Params } from '../../../../server/request/params'\nimport type { DynamicParamTypesShort } from '../../app-router-types'\nimport { InvariantError } from '../../invariant-error'\nimport { parseLoaderTree } from './parse-loader-tree'\nimport { parseNormalizedAppRoute, parseAppRouteSegment } from '../routes/app'\nimport { resolveParamValue } from './resolve-param-value'\n\n/**\n * Gets the value of a param from the params object. This correctly handles the\n * case where the param is a fallback route param and encodes the resulting\n * value.\n *\n * @param interpolatedParams - The params object.\n * @param segmentKey - The key of the segment.\n * @param fallbackRouteParams - The fallback route params.\n * @returns The value of the param.\n */\nfunction getParamValue(\n interpolatedParams: Params,\n segmentKey: string,\n fallbackRouteParams: OpaqueFallbackRouteParams | null\n) {\n let value = interpolatedParams[segmentKey]\n\n if (fallbackRouteParams?.has(segmentKey)) {\n // We know that the fallback route params has the segment key because we\n // checked that above.\n const placeholder = fallbackRouteParams.get(segmentKey)!\n value = placeholder\n } else if (Array.isArray(value)) {\n value = value.map((i) => encodeURIComponent(i))\n } else if (typeof value === 'string') {\n value = encodeURIComponent(value)\n }\n\n return value\n}\n\nexport function interpolateParallelRouteParams(\n loaderTree: LoaderTree,\n params: Params,\n pagePath: string,\n fallbackRouteParams: OpaqueFallbackRouteParams | null\n): Params {\n const interpolated = structuredClone(params)\n\n // Stack-based traversal with depth tracking\n const stack: Array<{ tree: LoaderTree; depth: number }> = [\n { tree: loaderTree, depth: 0 },\n ]\n\n // Parse the route from the provided page path.\n const route = parseNormalizedAppRoute(pagePath)\n\n while (stack.length > 0) {\n const { tree, depth } = stack.pop()!\n const { segment, parallelRoutes } = parseLoaderTree(tree)\n\n const appSegment = parseAppRouteSegment(segment)\n\n if (\n appSegment?.type === 'dynamic' &&\n !interpolated.hasOwnProperty(appSegment.param.paramName) &&\n // If the param is in the fallback route params, we don't need to\n // interpolate it because it's already marked as being unknown.\n !fallbackRouteParams?.has(appSegment.param.paramName)\n ) {\n const { paramName, paramType } = appSegment.param\n\n const paramValue = resolveParamValue(\n paramName,\n paramType,\n depth,\n route,\n interpolated\n )\n\n if (paramValue !== undefined) {\n interpolated[paramName] = paramValue\n } else if (paramType !== 'optional-catchall') {\n throw new InvariantError(\n `Could not resolve param value for segment: ${paramName}`\n )\n }\n }\n\n // Calculate next depth - increment if this is not a route group and not empty\n let nextDepth = depth\n if (\n appSegment &&\n appSegment.type !== 'route-group' &&\n appSegment.type !== 'parallel-route'\n ) {\n nextDepth++\n }\n\n // Add all parallel routes to the stack for processing\n for (const parallelRoute of Object.values(parallelRoutes)) {\n stack.push({ tree: parallelRoute, depth: nextDepth })\n }\n }\n\n return interpolated\n}\n\n/**\n *\n * Shared logic on client and server for creating a dynamic param value.\n *\n * This code needs to be shared with the client so it can extract dynamic route\n * params from the URL without a server request.\n *\n * Because everything in this module is sent to the client, we should aim to\n * keep this code as simple as possible. The special case handling for catchall\n * and optional is, alas, unfortunate.\n */\nexport function getDynamicParam(\n interpolatedParams: Params,\n segmentKey: string,\n dynamicParamType: DynamicParamTypesShort,\n fallbackRouteParams: OpaqueFallbackRouteParams | null,\n staticSiblings: readonly string[] | null\n): DynamicParam {\n let value: string | string[] | undefined = getParamValue(\n interpolatedParams,\n segmentKey,\n fallbackRouteParams\n )\n\n // handle the case where an optional catchall does not have a value,\n // e.g. `/dashboard/[[...slug]]` when requesting `/dashboard`\n if (!value || value.length === 0) {\n if (dynamicParamType === 'oc') {\n return {\n param: segmentKey,\n value: null,\n type: dynamicParamType,\n treeSegment: [segmentKey, '', dynamicParamType, staticSiblings],\n }\n }\n\n throw new InvariantError(\n `Missing value for segment key: \"${segmentKey}\" with dynamic param type: ${dynamicParamType}`\n )\n }\n\n const paramCacheKey = Array.isArray(value) ? value.join('/') : value\n\n return {\n param: segmentKey,\n // The value that is passed to user code.\n value,\n // The value that is rendered in the router tree.\n // TODO: If the number of static siblings exceeds some threshold (e.g.,\n // dozens or hundreds), consider sending a Bloom filter instead of the full\n // array to reduce payload size. The client would then use the Bloom filter\n // to check membership with a small false positive rate.\n treeSegment: [segmentKey, paramCacheKey, dynamicParamType, staticSiblings],\n type: dynamicParamType,\n }\n}\n\n/**\n * Regular expression pattern used to match route parameters.\n * Matches both single parameters and parameter groups.\n * Examples:\n * - `[[...slug]]` matches parameter group with key 'slug', repeat: true, optional: true\n * - `[...slug]` matches parameter group with key 'slug', repeat: true, optional: false\n * - `[[foo]]` matches parameter with key 'foo', repeat: false, optional: true\n * - `[bar]` matches parameter with key 'bar', repeat: false, optional: false\n */\nexport const PARAMETER_PATTERN = /^([^[]*)\\[((?:\\[[^\\]]*\\])|[^\\]]+)\\](.*)$/\n\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route.\n * Examples:\n * - `[[...slug]]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[[foo]]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `[bar]` -> `{ key: 'bar', repeat: false, optional: false }`\n * - `fizz` -> `{ key: 'fizz', repeat: false, optional: false }`\n * @param param - The parameter to parse.\n * @returns The parsed parameter as a data structure.\n */\nexport function parseParameter(param: string) {\n const match = param.match(PARAMETER_PATTERN)\n\n if (!match) {\n return parseMatchedParameter(param)\n }\n\n return parseMatchedParameter(match[2])\n}\n\n/**\n * Parses a matched parameter from the PARAMETER_PATTERN regex to a data structure that can be used\n * to generate the parametrized route.\n * Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n * @param param - The matched parameter to parse.\n * @returns The parsed parameter as a data structure.\n */\nexport function parseMatchedParameter(param: string) {\n const optional = param.startsWith('[') && param.endsWith(']')\n if (optional) {\n param = param.slice(1, -1)\n }\n const repeat = param.startsWith('...')\n if (repeat) {\n param = param.slice(3)\n }\n return { key: param, repeat, optional }\n}\n"],"names":["InvariantError","parseLoaderTree","parseNormalizedAppRoute","parseAppRouteSegment","resolveParamValue","getParamValue","interpolatedParams","segmentKey","fallbackRouteParams","value","has","placeholder","get","Array","isArray","map","i","encodeURIComponent","interpolateParallelRouteParams","loaderTree","params","pagePath","interpolated","structuredClone","stack","tree","depth","route","length","pop","segment","parallelRoutes","appSegment","type","hasOwnProperty","param","paramName","paramType","paramValue","undefined","nextDepth","parallelRoute","Object","values","push","getDynamicParam","dynamicParamType","staticSiblings","treeSegment","paramCacheKey","join","PARAMETER_PATTERN","parseParameter","match","parseMatchedParameter","optional","startsWith","endsWith","slice","repeat","key"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 10460, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/get-next-pathname-info.ts"],"sourcesContent":["import { normalizeLocalePath } from '../../i18n/normalize-locale-path'\nimport { removePathPrefix } from './remove-path-prefix'\nimport { pathHasPrefix } from './path-has-prefix'\nimport type { I18NProvider } from '../../../../server/lib/i18n-provider'\n\nexport interface NextPathnameInfo {\n /**\n * The base path in case the pathname included it.\n */\n basePath?: string\n /**\n * The buildId for when the parsed URL is a data URL. Parsing it can be\n * disabled with the `parseData` option.\n */\n buildId?: string\n /**\n * If there was a locale in the pathname, this will hold its value.\n */\n locale?: string\n /**\n * The processed pathname without a base path, locale, or data URL elements\n * when parsing it is enabled.\n */\n pathname: string\n /**\n * A boolean telling if the pathname had a trailingSlash. This can be only\n * true if trailingSlash is enabled.\n */\n trailingSlash?: boolean\n}\n\ninterface Options {\n /**\n * When passed to true, this function will also parse Nextjs data URLs.\n */\n parseData?: boolean\n /**\n * A partial of the Next.js configuration to parse the URL.\n */\n nextConfig?: {\n basePath?: string\n i18n?: { locales?: readonly string[] } | null\n trailingSlash?: boolean\n }\n\n /**\n * If provided, this normalizer will be used to detect the locale instead of\n * the default locale detection.\n */\n i18nProvider?: I18NProvider\n}\n\nexport function getNextPathnameInfo(\n pathname: string,\n options: Options\n): NextPathnameInfo {\n const { basePath, i18n, trailingSlash } = options.nextConfig ?? {}\n const info: NextPathnameInfo = {\n pathname,\n trailingSlash: pathname !== '/' ? pathname.endsWith('/') : trailingSlash,\n }\n\n if (basePath && pathHasPrefix(info.pathname, basePath)) {\n info.pathname = removePathPrefix(info.pathname, basePath)\n info.basePath = basePath\n }\n let pathnameNoDataPrefix = info.pathname\n\n if (\n info.pathname.startsWith('/_next/data/') &&\n info.pathname.endsWith('.json')\n ) {\n const paths = info.pathname\n .replace(/^\\/_next\\/data\\//, '')\n .replace(/\\.json$/, '')\n .split('/')\n\n const buildId = paths[0]\n info.buildId = buildId\n pathnameNoDataPrefix =\n paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/'\n\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix\n }\n }\n\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider\n ? options.i18nProvider.analyze(info.pathname)\n : normalizeLocalePath(info.pathname, i18n.locales)\n\n info.locale = result.detectedLocale\n info.pathname = result.pathname ?? info.pathname\n\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider\n ? options.i18nProvider.analyze(pathnameNoDataPrefix)\n : normalizeLocalePath(pathnameNoDataPrefix, i18n.locales)\n\n if (result.detectedLocale) {\n info.locale = result.detectedLocale\n }\n }\n }\n return info\n}\n"],"names":["normalizeLocalePath","removePathPrefix","pathHasPrefix","getNextPathnameInfo","pathname","options","basePath","i18n","trailingSlash","nextConfig","info","endsWith","pathnameNoDataPrefix","startsWith","paths","replace","split","buildId","slice","join","parseData","result","i18nProvider","analyze","locales","locale","detectedLocale"],"mappings":";;;;AAAA,SAASA,mBAAmB,QAAQ,mCAAkC;AACtE,SAASC,gBAAgB,QAAQ,uBAAsB;AACvD,SAASC,aAAa,QAAQ,oBAAmB;;;;AAkD1C,SAASC,oBACdC,QAAgB,EAChBC,OAAgB;IAEhB,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,aAAa,EAAE,GAAGH,QAAQI,UAAU,IAAI,CAAC;IACjE,MAAMC,OAAyB;QAC7BN;QACAI,eAAeJ,aAAa,MAAMA,SAASO,QAAQ,CAAC,OAAOH;IAC7D;IAEA,IAAIF,gBAAYJ,iNAAAA,EAAcQ,KAAKN,QAAQ,EAAEE,WAAW;QACtDI,KAAKN,QAAQ,OAAGH,uNAAAA,EAAiBS,KAAKN,QAAQ,EAAEE;QAChDI,KAAKJ,QAAQ,GAAGA;IAClB;IACA,IAAIM,uBAAuBF,KAAKN,QAAQ;IAExC,IACEM,KAAKN,QAAQ,CAACS,UAAU,CAAC,mBACzBH,KAAKN,QAAQ,CAACO,QAAQ,CAAC,UACvB;QACA,MAAMG,QAAQJ,KAAKN,QAAQ,CACxBW,OAAO,CAAC,oBAAoB,IAC5BA,OAAO,CAAC,WAAW,IACnBC,KAAK,CAAC;QAET,MAAMC,UAAUH,KAAK,CAAC,EAAE;QACxBJ,KAAKO,OAAO,GAAGA;QACfL,uBACEE,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,EAAEA,MAAMI,KAAK,CAAC,GAAGC,IAAI,CAAC,MAAM,GAAG;QAE1D,sDAAsD;QACtD,kDAAkD;QAClD,IAAId,QAAQe,SAAS,KAAK,MAAM;YAC9BV,KAAKN,QAAQ,GAAGQ;QAClB;IACF;IAEA,4EAA4E;IAC5E,yBAAyB;IACzB,IAAIL,MAAM;QACR,IAAIc,SAAShB,QAAQiB,YAAY,GAC7BjB,QAAQiB,YAAY,CAACC,OAAO,CAACb,KAAKN,QAAQ,QAC1CJ,kNAAAA,EAAoBU,KAAKN,QAAQ,EAAEG,KAAKiB,OAAO;QAEnDd,KAAKe,MAAM,GAAGJ,OAAOK,cAAc;QACnChB,KAAKN,QAAQ,GAAGiB,OAAOjB,QAAQ,IAAIM,KAAKN,QAAQ;QAEhD,IAAI,CAACiB,OAAOK,cAAc,IAAIhB,KAAKO,OAAO,EAAE;YAC1CI,SAAShB,QAAQiB,YAAY,GACzBjB,QAAQiB,YAAY,CAACC,OAAO,CAACX,4BAC7BZ,kNAAAA,EAAoBY,sBAAsBL,KAAKiB,OAAO;YAE1D,IAAIH,OAAOK,cAAc,EAAE;gBACzBhB,KAAKe,MAAM,GAAGJ,OAAOK,cAAc;YACrC;QACF;IACF;IACA,OAAOhB;AACT","ignoreList":[0]}}, + {"offset": {"line": 10511, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/get-segment-param.tsx"],"sourcesContent":["import { INTERCEPTION_ROUTE_MARKERS } from './interception-routes'\nimport type { DynamicParamTypes } from '../../app-router-types'\n\nexport type SegmentParam = {\n paramName: string\n paramType: DynamicParamTypes\n}\n\n/**\n * Parse dynamic route segment to type of parameter\n */\nexport function getSegmentParam(segment: string): SegmentParam | null {\n const interceptionMarker = INTERCEPTION_ROUTE_MARKERS.find((marker) =>\n segment.startsWith(marker)\n )\n\n // if an interception marker is part of the path segment, we need to jump ahead\n // to the relevant portion for param parsing\n if (interceptionMarker) {\n segment = segment.slice(interceptionMarker.length)\n }\n\n if (segment.startsWith('[[...') && segment.endsWith(']]')) {\n return {\n // TODO-APP: Optional catchall does not currently work with parallel routes,\n // so for now aren't handling a potential interception marker.\n paramType: 'optional-catchall',\n paramName: segment.slice(5, -2),\n }\n }\n\n if (segment.startsWith('[...') && segment.endsWith(']')) {\n return {\n paramType: interceptionMarker\n ? `catchall-intercepted-${interceptionMarker}`\n : 'catchall',\n paramName: segment.slice(4, -1),\n }\n }\n\n if (segment.startsWith('[') && segment.endsWith(']')) {\n return {\n paramType: interceptionMarker\n ? `dynamic-intercepted-${interceptionMarker}`\n : 'dynamic',\n paramName: segment.slice(1, -1),\n }\n }\n\n return null\n}\n\nexport function isCatchAll(\n type: DynamicParamTypes\n): type is\n | 'catchall'\n | 'catchall-intercepted-(..)(..)'\n | 'catchall-intercepted-(.)'\n | 'catchall-intercepted-(..)'\n | 'catchall-intercepted-(...)'\n | 'optional-catchall' {\n return (\n type === 'catchall' ||\n type === 'catchall-intercepted-(..)(..)' ||\n type === 'catchall-intercepted-(.)' ||\n type === 'catchall-intercepted-(..)' ||\n type === 'catchall-intercepted-(...)' ||\n type === 'optional-catchall'\n )\n}\n\nexport function getParamProperties(paramType: DynamicParamTypes): {\n repeat: boolean\n optional: boolean\n} {\n let repeat = false\n let optional = false\n\n switch (paramType) {\n case 'catchall':\n case 'catchall-intercepted-(..)(..)':\n case 'catchall-intercepted-(.)':\n case 'catchall-intercepted-(..)':\n case 'catchall-intercepted-(...)':\n repeat = true\n break\n case 'optional-catchall':\n repeat = true\n optional = true\n break\n case 'dynamic':\n case 'dynamic-intercepted-(..)(..)':\n case 'dynamic-intercepted-(.)':\n case 'dynamic-intercepted-(..)':\n case 'dynamic-intercepted-(...)':\n break\n default:\n paramType satisfies never\n }\n\n return { repeat, optional }\n}\n"],"names":["INTERCEPTION_ROUTE_MARKERS","getSegmentParam","segment","interceptionMarker","find","marker","startsWith","slice","length","endsWith","paramType","paramName","isCatchAll","type","getParamProperties","repeat","optional"],"mappings":";;;;;;;;AAAA,SAASA,0BAA0B,QAAQ,wBAAuB;;AAW3D,SAASC,gBAAgBC,OAAe;IAC7C,MAAMC,qBAAqBH,+NAAAA,CAA2BI,IAAI,CAAC,CAACC,SAC1DH,QAAQI,UAAU,CAACD;IAGrB,+EAA+E;IAC/E,4CAA4C;IAC5C,IAAIF,oBAAoB;QACtBD,UAAUA,QAAQK,KAAK,CAACJ,mBAAmBK,MAAM;IACnD;IAEA,IAAIN,QAAQI,UAAU,CAAC,YAAYJ,QAAQO,QAAQ,CAAC,OAAO;QACzD,OAAO;YACL,4EAA4E;YAC5E,8DAA8D;YAC9DC,WAAW;YACXC,WAAWT,QAAQK,KAAK,CAAC,GAAG,CAAC;QAC/B;IACF;IAEA,IAAIL,QAAQI,UAAU,CAAC,WAAWJ,QAAQO,QAAQ,CAAC,MAAM;QACvD,OAAO;YACLC,WAAWP,qBACP,CAAC,qBAAqB,EAAEA,oBAAoB,GAC5C;YACJQ,WAAWT,QAAQK,KAAK,CAAC,GAAG,CAAC;QAC/B;IACF;IAEA,IAAIL,QAAQI,UAAU,CAAC,QAAQJ,QAAQO,QAAQ,CAAC,MAAM;QACpD,OAAO;YACLC,WAAWP,qBACP,CAAC,oBAAoB,EAAEA,oBAAoB,GAC3C;YACJQ,WAAWT,QAAQK,KAAK,CAAC,GAAG,CAAC;QAC/B;IACF;IAEA,OAAO;AACT;AAEO,SAASK,WACdC,IAAuB;IAQvB,OACEA,SAAS,cACTA,SAAS,mCACTA,SAAS,8BACTA,SAAS,+BACTA,SAAS,gCACTA,SAAS;AAEb;AAEO,SAASC,mBAAmBJ,SAA4B;IAI7D,IAAIK,SAAS;IACb,IAAIC,WAAW;IAEf,OAAQN;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACHK,SAAS;YACT;QACF,KAAK;YACHA,SAAS;YACTC,WAAW;YACX;QACF,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH;QACF;YACEN;IACJ;IAEA,OAAO;QAAEK;QAAQC;IAAS;AAC5B","ignoreList":[0]}}, + {"offset": {"line": 10586, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/index.ts"],"sourcesContent":["export { getSortedRoutes, getSortedRouteObjects } from './sorted-routes'\nexport { isDynamicRoute } from './is-dynamic'\n"],"names":["getSortedRoutes","getSortedRouteObjects","isDynamicRoute"],"mappings":";AACA,SAASE,cAAc,QAAQ,eAAc","ignoreList":[0]}}, + {"offset": {"line": 10594, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/interception-prefix-from-param-type.ts"],"sourcesContent":["import type { DynamicParamTypes } from '../../app-router-types'\n\nexport function interceptionPrefixFromParamType(\n paramType: DynamicParamTypes\n): string | null {\n switch (paramType) {\n case 'catchall-intercepted-(..)(..)':\n case 'dynamic-intercepted-(..)(..)':\n return '(..)(..)'\n case 'catchall-intercepted-(.)':\n case 'dynamic-intercepted-(.)':\n return '(.)'\n case 'catchall-intercepted-(..)':\n case 'dynamic-intercepted-(..)':\n return '(..)'\n case 'catchall-intercepted-(...)':\n case 'dynamic-intercepted-(...)':\n return '(...)'\n case 'catchall':\n case 'dynamic':\n case 'optional-catchall':\n default:\n return null\n }\n}\n"],"names":["interceptionPrefixFromParamType","paramType"],"mappings":";;;;AAEO,SAASA,gCACdC,SAA4B;IAE5B,OAAQA;QACN,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;QACL,KAAK;QACL;YACE,OAAO;IACX;AACF","ignoreList":[0]}}, + {"offset": {"line": 10623, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/interception-routes.ts"],"sourcesContent":["import { normalizeAppPath } from './app-paths'\n\n// order matters here, the first match will be used\nexport const INTERCEPTION_ROUTE_MARKERS = [\n '(..)(..)',\n '(.)',\n '(..)',\n '(...)',\n] as const\n\nexport type InterceptionMarker = (typeof INTERCEPTION_ROUTE_MARKERS)[number]\n\nexport type MissingCanonicalInterceptionRoute = {\n interceptionRoute: string\n canonicalRoute: string\n}\n\ntype RoutePattern = {\n prefix: Array\n minLength: number\n unbounded: boolean\n}\n\nfunction parseRoutePattern(route: string): RoutePattern {\n const segments = route.split('/').filter(Boolean)\n const tail = segments.at(-1)\n const isOptionalCatchAll =\n tail !== undefined && tail.startsWith('[[...') && tail.endsWith(']]')\n const isCatchAll =\n tail !== undefined && tail.startsWith('[...') && tail.endsWith(']')\n const unbounded = isOptionalCatchAll || isCatchAll\n const prefixSegments = unbounded ? segments.slice(0, -1) : segments\n\n return {\n prefix: prefixSegments.map((segment) =>\n segment.startsWith('[') && segment.endsWith(']') ? null : segment\n ),\n minLength:\n prefixSegments.length + (isCatchAll && !isOptionalCatchAll ? 1 : 0),\n unbounded,\n }\n}\n\nfunction acceptsLength(pattern: RoutePattern, length: number): boolean {\n return pattern.unbounded\n ? length >= pattern.minLength\n : length === pattern.minLength\n}\n\nfunction prefixCovers(\n canonical: RoutePattern,\n intercepted: RoutePattern\n): boolean {\n return canonical.prefix.every((canonicalSegment, index) => {\n if (canonicalSegment === null) return true\n\n const interceptedSegment = intercepted.prefix[index]\n return (\n interceptedSegment !== undefined &&\n interceptedSegment !== null &&\n canonicalSegment === interceptedSegment\n )\n })\n}\n\nfunction patternCoversAtLength(\n canonical: RoutePattern,\n intercepted: RoutePattern,\n length: number\n): boolean {\n return (\n acceptsLength(canonical, length) &&\n acceptsLength(intercepted, length) &&\n prefixCovers(canonical, intercepted)\n )\n}\n\n/** Returns whether ordinary route patterns cover every URL in `route`. */\nfunction isRoutePatternCovered(route: string, ordinaryRoutes: RoutePattern[]) {\n const intercepted = parseRoutePattern(route)\n\n if (!intercepted.unbounded) {\n return ordinaryRoutes.some((pattern) =>\n patternCoversAtLength(pattern, intercepted, intercepted.minLength)\n )\n }\n\n let unboundedCoverageStart = Infinity\n for (const pattern of ordinaryRoutes) {\n if (pattern.unbounded && prefixCovers(pattern, intercepted)) {\n unboundedCoverageStart = Math.min(\n unboundedCoverageStart,\n Math.max(intercepted.minLength, pattern.minLength)\n )\n }\n }\n\n if (unboundedCoverageStart === Infinity) return false\n\n // An optional or required catchall can have its shorter paths covered by\n // fixed routes before another catchall takes over the remaining suffix.\n for (\n let length = intercepted.minLength;\n length < unboundedCoverageStart;\n length++\n ) {\n if (\n !ordinaryRoutes.some((pattern) =>\n patternCoversAtLength(pattern, intercepted, length)\n )\n ) {\n return false\n }\n }\n\n return true\n}\n\nexport function isInterceptionRouteAppPath(path: string): boolean {\n // TODO-APP: add more serious validation\n return (\n path\n .split('/')\n .find((segment) =>\n INTERCEPTION_ROUTE_MARKERS.find((m) => segment.startsWith(m))\n ) !== undefined\n )\n}\n\ntype InterceptionRouteInformation = {\n /**\n * The intercepting route. This is the route that is being intercepted or the\n * route that the user was coming from. This is matched by the Next-Url\n * header.\n */\n interceptingRoute: string\n\n /**\n * The intercepted route. This is the route that is being intercepted or the\n * route that the user is going to. This is matched by the request pathname.\n */\n interceptedRoute: string\n}\n\nexport function extractInterceptionRouteInformation(\n path: string\n): InterceptionRouteInformation {\n let interceptingRoute: string | undefined\n let marker: (typeof INTERCEPTION_ROUTE_MARKERS)[number] | undefined\n let interceptedRoute: string | undefined\n\n for (const segment of path.split('/')) {\n marker = INTERCEPTION_ROUTE_MARKERS.find((m) => segment.startsWith(m))\n if (marker) {\n ;[interceptingRoute, interceptedRoute] = path.split(marker, 2)\n break\n }\n }\n\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(\n `Invalid interception route: ${path}. Must be in the format //(..|...|..)(..)/`\n )\n }\n\n interceptingRoute = normalizeAppPath(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n\n switch (marker) {\n case '(.)':\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === '/') {\n interceptedRoute = `/${interceptedRoute}`\n } else {\n interceptedRoute = interceptingRoute + '/' + interceptedRoute\n }\n break\n case '(..)':\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === '/') {\n throw new Error(\n `Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`\n )\n }\n interceptedRoute = interceptingRoute\n .split('/')\n .slice(0, -1)\n .concat(interceptedRoute)\n .join('/')\n break\n case '(...)':\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = '/' + interceptedRoute\n break\n case '(..)(..)':\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n\n const splitInterceptingRoute = interceptingRoute.split('/')\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(\n `Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`\n )\n }\n\n interceptedRoute = splitInterceptingRoute\n .slice(0, -2)\n .concat(interceptedRoute)\n .join('/')\n break\n default:\n throw new Error('Invariant: unexpected marker')\n }\n\n return { interceptingRoute, interceptedRoute }\n}\n\n/**\n * Finds interception matchers that cannot be loaded as an ordinary request.\n *\n * This must run after catch-all normalization and pruning so `appPaths`\n * contains the final matcher set rather than every possible matcher candidate.\n */\nexport function findMissingCanonicalInterceptionRoutes(\n appPaths: Record\n): MissingCanonicalInterceptionRoute[] {\n const canonicalRoutes = Object.keys(appPaths).filter(\n (route) => !isInterceptionRouteAppPath(route)\n )\n const canonicalRoutePatterns = canonicalRoutes.map(parseRoutePattern)\n\n return Object.keys(appPaths)\n .filter(isInterceptionRouteAppPath)\n .map((interceptionRoute) => ({\n interceptionRoute,\n canonicalRoute:\n extractInterceptionRouteInformation(interceptionRoute).interceptedRoute,\n }))\n .filter(\n ({ canonicalRoute }) =>\n !isRoutePatternCovered(canonicalRoute, canonicalRoutePatterns)\n )\n .sort((a, b) => a.interceptionRoute.localeCompare(b.interceptionRoute))\n}\n"],"names":["normalizeAppPath","INTERCEPTION_ROUTE_MARKERS","parseRoutePattern","route","segments","split","filter","Boolean","tail","at","isOptionalCatchAll","undefined","startsWith","endsWith","isCatchAll","unbounded","prefixSegments","slice","prefix","map","segment","minLength","length","acceptsLength","pattern","prefixCovers","canonical","intercepted","every","canonicalSegment","index","interceptedSegment","patternCoversAtLength","isRoutePatternCovered","ordinaryRoutes","some","unboundedCoverageStart","Infinity","Math","min","max","isInterceptionRouteAppPath","path","find","m","extractInterceptionRouteInformation","interceptingRoute","marker","interceptedRoute","Error","concat","join","splitInterceptingRoute","findMissingCanonicalInterceptionRoutes","appPaths","canonicalRoutes","Object","keys","canonicalRoutePatterns","interceptionRoute","canonicalRoute","sort","a","b","localeCompare"],"mappings":";;;;;;;;;;AAAA,SAASA,gBAAgB,QAAQ,cAAa;;AAGvC,MAAMC,6BAA6B;IACxC;IACA;IACA;IACA;CACD,CAAS;AAeV,SAASC,kBAAkBC,KAAa;IACtC,MAAMC,WAAWD,MAAME,KAAK,CAAC,KAAKC,MAAM,CAACC;IACzC,MAAMC,OAAOJ,SAASK,EAAE,CAAC,CAAC;IAC1B,MAAMC,qBACJF,SAASG,aAAaH,KAAKI,UAAU,CAAC,YAAYJ,KAAKK,QAAQ,CAAC;IAClE,MAAMC,aACJN,SAASG,aAAaH,KAAKI,UAAU,CAAC,WAAWJ,KAAKK,QAAQ,CAAC;IACjE,MAAME,YAAYL,sBAAsBI;IACxC,MAAME,iBAAiBD,YAAYX,SAASa,KAAK,CAAC,GAAG,CAAC,KAAKb;IAE3D,OAAO;QACLc,QAAQF,eAAeG,GAAG,CAAC,CAACC,UAC1BA,QAAQR,UAAU,CAAC,QAAQQ,QAAQP,QAAQ,CAAC,OAAO,OAAOO;QAE5DC,WACEL,eAAeM,MAAM,GAAIR,CAAAA,cAAc,CAACJ,qBAAqB,IAAI,CAAA;QACnEK;IACF;AACF;AAEA,SAASQ,cAAcC,OAAqB,EAAEF,MAAc;IAC1D,OAAOE,QAAQT,SAAS,GACpBO,UAAUE,QAAQH,SAAS,GAC3BC,WAAWE,QAAQH,SAAS;AAClC;AAEA,SAASI,aACPC,SAAuB,EACvBC,WAAyB;IAEzB,OAAOD,UAAUR,MAAM,CAACU,KAAK,CAAC,CAACC,kBAAkBC;QAC/C,IAAID,qBAAqB,MAAM,OAAO;QAEtC,MAAME,qBAAqBJ,YAAYT,MAAM,CAACY,MAAM;QACpD,OACEC,uBAAuBpB,aACvBoB,uBAAuB,QACvBF,qBAAqBE;IAEzB;AACF;AAEA,SAASC,sBACPN,SAAuB,EACvBC,WAAyB,EACzBL,MAAc;IAEd,OACEC,cAAcG,WAAWJ,WACzBC,cAAcI,aAAaL,WAC3BG,aAAaC,WAAWC;AAE5B;AAEA,wEAAwE,GACxE,SAASM,sBAAsB9B,KAAa,EAAE+B,cAA8B;IAC1E,MAAMP,cAAczB,kBAAkBC;IAEtC,IAAI,CAACwB,YAAYZ,SAAS,EAAE;QAC1B,OAAOmB,eAAeC,IAAI,CAAC,CAACX,UAC1BQ,sBAAsBR,SAASG,aAAaA,YAAYN,SAAS;IAErE;IAEA,IAAIe,yBAAyBC;IAC7B,KAAK,MAAMb,WAAWU,eAAgB;QACpC,IAAIV,QAAQT,SAAS,IAAIU,aAAaD,SAASG,cAAc;YAC3DS,yBAAyBE,KAAKC,GAAG,CAC/BH,wBACAE,KAAKE,GAAG,CAACb,YAAYN,SAAS,EAAEG,QAAQH,SAAS;QAErD;IACF;IAEA,IAAIe,2BAA2BC,UAAU,OAAO;IAEhD,yEAAyE;IACzE,wEAAwE;IACxE,IACE,IAAIf,SAASK,YAAYN,SAAS,EAClCC,SAASc,wBACTd,SACA;QACA,IACE,CAACY,eAAeC,IAAI,CAAC,CAACX,UACpBQ,sBAAsBR,SAASG,aAAaL,UAE9C;YACA,OAAO;QACT;IACF;IAEA,OAAO;AACT;AAEO,SAASmB,2BAA2BC,IAAY;IACrD,wCAAwC;IACxC,OACEA,KACGrC,KAAK,CAAC,KACNsC,IAAI,CAAC,CAACvB,UACLnB,2BAA2B0C,IAAI,CAAC,CAACC,IAAMxB,QAAQR,UAAU,CAACgC,SACtDjC;AAEZ;AAiBO,SAASkC,oCACdH,IAAY;IAEZ,IAAII;IACJ,IAAIC;IACJ,IAAIC;IAEJ,KAAK,MAAM5B,WAAWsB,KAAKrC,KAAK,CAAC,KAAM;QACrC0C,SAAS9C,2BAA2B0C,IAAI,CAAC,CAACC,IAAMxB,QAAQR,UAAU,CAACgC;QACnE,IAAIG,QAAQ;;YACT,CAACD,mBAAmBE,iBAAiB,GAAGN,KAAKrC,KAAK,CAAC0C,QAAQ;YAC5D;QACF;IACF;IAEA,IAAI,CAACD,qBAAqB,CAACC,UAAU,CAACC,kBAAkB;QACtD,MAAM,IAAIC,MACR,CAAC,4BAA4B,EAAEP,KAAK,iFAAiF,CAAC;IAE1H;IAEAI,wBAAoB9C,2MAAAA,EAAiB8C,mBAAmB,iDAAiD;;IAEzG,OAAQC;QACN,KAAK;YACH,oIAAoI;YACpI,IAAID,sBAAsB,KAAK;gBAC7BE,mBAAmB,CAAC,CAAC,EAAEA,kBAAkB;YAC3C,OAAO;gBACLA,mBAAmBF,oBAAoB,MAAME;YAC/C;YACA;QACF,KAAK;YACH,uHAAuH;YACvH,IAAIF,sBAAsB,KAAK;gBAC7B,MAAM,IAAIG,MACR,CAAC,4BAA4B,EAAEP,KAAK,4DAA4D,CAAC;YAErG;YACAM,mBAAmBF,kBAChBzC,KAAK,CAAC,KACNY,KAAK,CAAC,GAAG,CAAC,GACViC,MAAM,CAACF,kBACPG,IAAI,CAAC;YACR;QACF,KAAK;YACH,kIAAkI;YAClIH,mBAAmB,MAAMA;YACzB;QACF,KAAK;YACH,iIAAiI;YAEjI,MAAMI,yBAAyBN,kBAAkBzC,KAAK,CAAC;YACvD,IAAI+C,uBAAuB9B,MAAM,IAAI,GAAG;gBACtC,MAAM,IAAI2B,MACR,CAAC,4BAA4B,EAAEP,KAAK,+DAA+D,CAAC;YAExG;YAEAM,mBAAmBI,uBAChBnC,KAAK,CAAC,GAAG,CAAC,GACViC,MAAM,CAACF,kBACPG,IAAI,CAAC;YACR;QACF;YACE,MAAM,IAAIF,MAAM;IACpB;IAEA,OAAO;QAAEH;QAAmBE;IAAiB;AAC/C;AAQO,SAASK,uCACdC,QAAkC;IAElC,MAAMC,kBAAkBC,OAAOC,IAAI,CAACH,UAAUhD,MAAM,CAClD,CAACH,QAAU,CAACsC,2BAA2BtC;IAEzC,MAAMuD,yBAAyBH,gBAAgBpC,GAAG,CAACjB;IAEnD,OAAOsD,OAAOC,IAAI,CAACH,UAChBhD,MAAM,CAACmC,4BACPtB,GAAG,CAAC,CAACwC,oBAAuB,CAAA;YAC3BA;YACAC,gBACEf,oCAAoCc,mBAAmBX,gBAAgB;QAC3E,CAAA,GACC1C,MAAM,CACL,CAAC,EAAEsD,cAAc,EAAE,GACjB,CAAC3B,sBAAsB2B,gBAAgBF,yBAE1CG,IAAI,CAAC,CAACC,GAAGC,IAAMD,EAAEH,iBAAiB,CAACK,aAAa,CAACD,EAAEJ,iBAAiB;AACzE","ignoreList":[0]}}, + {"offset": {"line": 10757, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/is-dynamic.ts"],"sourcesContent":["import {\n extractInterceptionRouteInformation,\n isInterceptionRouteAppPath,\n} from './interception-routes'\n\n// Identify /.*[param].*/ in route string\nconst TEST_ROUTE = /\\/[^/]*\\[[^/]+\\][^/]*(?=\\/|$)/\n\n// Identify /[param]/ in route string\nconst TEST_STRICT_ROUTE = /\\/\\[[^/]+\\](?=\\/|$)/\n\n/**\n * Check if a route is dynamic.\n *\n * @param route - The route to check.\n * @param strict - Whether to use strict mode which prohibits segments with prefixes/suffixes (default: true).\n * @returns Whether the route is dynamic.\n */\nexport function isDynamicRoute(route: string, strict: boolean = true): boolean {\n if (isInterceptionRouteAppPath(route)) {\n route = extractInterceptionRouteInformation(route).interceptedRoute\n }\n\n if (strict) {\n return TEST_STRICT_ROUTE.test(route)\n }\n\n return TEST_ROUTE.test(route)\n}\n"],"names":["extractInterceptionRouteInformation","isInterceptionRouteAppPath","TEST_ROUTE","TEST_STRICT_ROUTE","isDynamicRoute","route","strict","interceptedRoute","test"],"mappings":";;;;AAAA,SACEA,mCAAmC,EACnCC,0BAA0B,QACrB,wBAAuB;;AAE9B,yCAAyC;AACzC,MAAMC,aAAa;AAEnB,qCAAqC;AACrC,MAAMC,oBAAoB;AASnB,SAASC,eAAeC,KAAa,EAAEC,SAAkB,IAAI;IAClE,QAAIL,+NAAAA,EAA2BI,QAAQ;QACrCA,YAAQL,wOAAAA,EAAoCK,OAAOE,gBAAgB;IACrE;IAEA,IAAID,QAAQ;QACV,OAAOH,kBAAkBK,IAAI,CAACH;IAChC;IAEA,OAAOH,WAAWM,IAAI,CAACH;AACzB","ignoreList":[0]}}, + {"offset": {"line": 10780, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/parse-loader-tree.ts"],"sourcesContent":["import { DEFAULT_SEGMENT_KEY } from '../../segment'\nimport type { LoaderTree } from '../../../../server/lib/app-dir-module'\n\nexport function parseLoaderTree(tree: LoaderTree) {\n const [segment, parallelRoutes, modules, staticSiblings] = tree\n const { layout, template } = modules\n let { page } = modules\n // a __DEFAULT__ segment means that this route didn't match any of the\n // segments in the route, so we should use the default page\n page = segment === DEFAULT_SEGMENT_KEY ? modules.defaultPage : page\n\n const conventionPath = layout?.[1] || template?.[1] || page?.[1]\n\n return {\n page,\n segment,\n modules,\n /* it can be either layout / template / page */\n conventionPath,\n parallelRoutes,\n staticSiblings,\n }\n}\n"],"names":["DEFAULT_SEGMENT_KEY","parseLoaderTree","tree","segment","parallelRoutes","modules","staticSiblings","layout","template","page","defaultPage","conventionPath"],"mappings":";;;;AAAA,SAASA,mBAAmB,QAAQ,gBAAe;;AAG5C,SAASC,gBAAgBC,IAAgB;IAC9C,MAAM,CAACC,SAASC,gBAAgBC,SAASC,eAAe,GAAGJ;IAC3D,MAAM,EAAEK,MAAM,EAAEC,QAAQ,EAAE,GAAGH;IAC7B,IAAI,EAAEI,IAAI,EAAE,GAAGJ;IACf,sEAAsE;IACtE,2DAA2D;IAC3DI,OAAON,YAAYH,sLAAAA,GAAsBK,QAAQK,WAAW,GAAGD;IAE/D,MAAME,iBAAiBJ,QAAQ,CAAC,EAAE,IAAIC,UAAU,CAAC,EAAE,IAAIC,MAAM,CAAC,EAAE;IAEhE,OAAO;QACLA;QACAN;QACAE;QACA,6CAA6C,GAC7CM;QACAP;QACAE;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 10807, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/parse-path.ts"],"sourcesContent":["/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */\nexport function parsePath(path: string) {\n const hashIndex = path.indexOf('#')\n const queryIndex = path.indexOf('?')\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex)\n\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery\n ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined)\n : '',\n hash: hashIndex > -1 ? path.slice(hashIndex) : '',\n }\n }\n\n return { pathname: path, query: '', hash: '' }\n}\n"],"names":["parsePath","path","hashIndex","indexOf","queryIndex","hasQuery","pathname","substring","query","undefined","hash","slice"],"mappings":"AAAA;;;;CAIC,GACD;;;;AAAO,SAASA,UAAUC,IAAY;IACpC,MAAMC,YAAYD,KAAKE,OAAO,CAAC;IAC/B,MAAMC,aAAaH,KAAKE,OAAO,CAAC;IAChC,MAAME,WAAWD,aAAa,CAAC,KAAMF,CAAAA,YAAY,KAAKE,aAAaF,SAAQ;IAE3E,IAAIG,YAAYH,YAAY,CAAC,GAAG;QAC9B,OAAO;YACLI,UAAUL,KAAKM,SAAS,CAAC,GAAGF,WAAWD,aAAaF;YACpDM,OAAOH,WACHJ,KAAKM,SAAS,CAACH,YAAYF,YAAY,CAAC,IAAIA,YAAYO,aACxD;YACJC,MAAMR,YAAY,CAAC,IAAID,KAAKU,KAAK,CAACT,aAAa;QACjD;IACF;IAEA,OAAO;QAAEI,UAAUL;QAAMO,OAAO;QAAIE,MAAM;IAAG;AAC/C","ignoreList":[0]}}, + {"offset": {"line": 10836, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/parse-relative-url.ts"],"sourcesContent":["import type { ParsedUrlQuery } from 'querystring'\nimport { getLocationOrigin } from '../../utils'\nimport { searchParamsToUrlQuery } from './querystring'\n\nexport interface ParsedRelativeUrl {\n auth: string | null\n hash: string\n host: string | null\n hostname: string | null\n href: string\n pathname: string\n port: string | null\n protocol: string | null\n query: ParsedUrlQuery\n search: string\n slashes: null\n}\n\n/**\n * Parses path-relative urls (e.g. `/hello/world?foo=bar`). If url isn't path-relative\n * (e.g. `./hello`) then at least base must be.\n * Absolute urls are rejected with one exception, in the browser, absolute urls that are on\n * the current origin will be parsed as relative\n */\nexport function parseRelativeUrl(\n url: string,\n base?: string,\n parseQuery?: true\n): ParsedRelativeUrl\nexport function parseRelativeUrl(\n url: string,\n base: string | undefined,\n parseQuery: false\n): Omit\nexport function parseRelativeUrl(\n url: string,\n base?: string,\n parseQuery = true\n): ParsedRelativeUrl | Omit {\n const globalBase = new URL(\n typeof window === 'undefined' ? 'http://n' : getLocationOrigin()\n )\n\n const resolvedBase = base\n ? new URL(base, globalBase)\n : url.startsWith('.')\n ? new URL(\n typeof window === 'undefined' ? 'http://n' : window.location.href\n )\n : globalBase\n\n const { pathname, searchParams, search, hash, href, origin } = url.startsWith(\n '/'\n )\n ? // 'http://localhost:3000///' would be received as '///' in Node.js' IncomingMessage\n // See https://nodejs.org/api/http.html#messageurl\n // Not using `origin` to support other protocols\n new URL(`${resolvedBase.protocol}//${resolvedBase.host}${url}`)\n : new URL(url, resolvedBase)\n\n if (origin !== globalBase.origin) {\n throw new Error(`invariant: invalid relative URL, router received ${url}`)\n }\n\n return {\n auth: null,\n host: null,\n hostname: null,\n pathname,\n port: null,\n protocol: null,\n query: parseQuery ? searchParamsToUrlQuery(searchParams) : undefined,\n search,\n hash,\n href: href.slice(origin.length),\n // We don't know for relative URLs at this point since we set a custom, internal\n // base that isn't surfaced to users.\n slashes: null,\n }\n}\n"],"names":["getLocationOrigin","searchParamsToUrlQuery","parseRelativeUrl","url","base","parseQuery","globalBase","URL","window","resolvedBase","startsWith","location","href","pathname","searchParams","search","hash","origin","protocol","host","Error","auth","hostname","port","query","undefined","slice","length","slashes"],"mappings":";;;;AAEA,SAASC,sBAAsB,QAAQ,gBAAe;;;AAgC/C,SAASC,iBACdC,GAAW,EACXC,IAAa,EACbC,aAAa,IAAI;IAEjB,MAAMC,aAAa,IAAIC,IACrB,OAAOC,WAAW,qBAAc,aAAaR;IAG/C,MAAMS,eAAeL,OACjB,IAAIG,IAAIH,MAAME,cACdH,IAAIO,UAAU,CAAC,OACb,IAAIH,IACF,OAAOC,WAAW,qBAAc,aAAaA,OAAOG,QAAQ,CAACC,IAAI,OAEnEN;IAEN,MAAM,EAAEO,QAAQ,EAAEC,YAAY,EAAEC,MAAM,EAAEC,IAAI,EAAEJ,IAAI,EAAEK,MAAM,EAAE,GAAGd,IAAIO,UAAU,CAC3E,OAGE,AACA,gDAAgD,EADE;IAElD,IAAIH,IAAI,GAAGE,aAAaS,QAAQ,CAAC,EAAE,EAAET,aAAaU,IAAI,GAAGhB,KAAK,IAC9D,IAAII,IAAIJ,KAAKM;IAEjB,IAAIQ,WAAWX,WAAWW,MAAM,EAAE;QAChC,MAAM,IAAIG,MAAM,CAAC,iDAAiD,EAAEjB,KAAK;IAC3E;IAEA,OAAO;QACLkB,MAAM;QACNF,MAAM;QACNG,UAAU;QACVT;QACAU,MAAM;QACNL,UAAU;QACVM,OAAOnB,iBAAaJ,gNAAAA,EAAuBa,gBAAgBW;QAC3DV;QACAC;QACAJ,MAAMA,KAAKc,KAAK,CAACT,OAAOU,MAAM;QAC9B,gFAAgF;QAChF,qCAAqC;QACrCC,SAAS;IACX;AACF","ignoreList":[0]}}, + {"offset": {"line": 10871, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/parse-url.ts"],"sourcesContent":["import type { ParsedUrlQuery } from 'querystring'\n\nimport { searchParamsToUrlQuery } from './querystring'\nimport { parseRelativeUrl } from './parse-relative-url'\n\nexport interface ParsedUrl {\n auth: string | null\n hash: string\n hostname: string | null\n href: string\n origin?: string | null\n pathname: string\n port: string | null\n protocol: string | null\n query: ParsedUrlQuery\n search: string\n slashes: boolean | null\n}\n\nexport function parseUrl(url: string): ParsedUrl {\n if (url.startsWith('/')) {\n return parseRelativeUrl(url)\n }\n\n const parsedURL = new URL(url)\n const username = parsedURL.username\n const password = parsedURL.password\n const auth = username\n ? password\n ? `${username}:${password}`\n : username\n : null\n const pathname = parsedURL.pathname\n const search = parsedURL.search\n return {\n auth,\n hash: parsedURL.hash,\n hostname: parsedURL.hostname,\n href: parsedURL.href,\n pathname,\n port: parsedURL.port,\n protocol: parsedURL.protocol,\n query: searchParamsToUrlQuery(parsedURL.searchParams),\n search,\n origin: parsedURL.origin,\n slashes:\n parsedURL.href.slice(\n parsedURL.protocol.length,\n parsedURL.protocol.length + 2\n ) === '//',\n }\n}\n"],"names":["searchParamsToUrlQuery","parseRelativeUrl","parseUrl","url","startsWith","parsedURL","URL","username","password","auth","pathname","search","hash","hostname","href","port","protocol","query","searchParams","origin","slashes","slice","length"],"mappings":";;;;AAEA,SAASA,sBAAsB,QAAQ,gBAAe;AACtD,SAASC,gBAAgB,QAAQ,uBAAsB;;;AAgBhD,SAASC,SAASC,GAAW;IAClC,IAAIA,IAAIC,UAAU,CAAC,MAAM;QACvB,WAAOH,uNAAAA,EAAiBE;IAC1B;IAEA,MAAME,YAAY,IAAIC,IAAIH;IAC1B,MAAMI,WAAWF,UAAUE,QAAQ;IACnC,MAAMC,WAAWH,UAAUG,QAAQ;IACnC,MAAMC,OAAOF,WACTC,WACE,GAAGD,SAAS,CAAC,EAAEC,UAAU,GACzBD,WACF;IACJ,MAAMG,WAAWL,UAAUK,QAAQ;IACnC,MAAMC,SAASN,UAAUM,MAAM;IAC/B,OAAO;QACLF;QACAG,MAAMP,UAAUO,IAAI;QACpBC,UAAUR,UAAUQ,QAAQ;QAC5BC,MAAMT,UAAUS,IAAI;QACpBJ;QACAK,MAAMV,UAAUU,IAAI;QACpBC,UAAUX,UAAUW,QAAQ;QAC5BC,WAAOjB,gNAAAA,EAAuBK,UAAUa,YAAY;QACpDP;QACAQ,QAAQd,UAAUc,MAAM;QACxBC,SACEf,UAAUS,IAAI,CAACO,KAAK,CAClBhB,UAAUW,QAAQ,CAACM,MAAM,EACzBjB,UAAUW,QAAQ,CAACM,MAAM,GAAG,OACxB;IACV;AACF","ignoreList":[0]}}, + {"offset": {"line": 10907, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/path-has-prefix.ts"],"sourcesContent":["import { parsePath } from './parse-path'\n\n/**\n * Checks if a given path starts with a given prefix. It ensures it matches\n * exactly without containing extra chars. e.g. prefix /docs should replace\n * for /docs, /docs/, /docs/a but not /docsss\n * @param path The path to check.\n * @param prefix The prefix to check against.\n */\nexport function pathHasPrefix(path: string, prefix: string) {\n if (typeof path !== 'string') {\n return false\n }\n\n const { pathname } = parsePath(path)\n return pathname === prefix || pathname.startsWith(prefix + '/')\n}\n"],"names":["parsePath","pathHasPrefix","path","prefix","pathname","startsWith"],"mappings":";;;;AAAA,SAASA,SAAS,QAAQ,eAAc;;AASjC,SAASC,cAAcC,IAAY,EAAEC,MAAc;IACxD,IAAI,OAAOD,SAAS,UAAU;QAC5B,OAAO;IACT;IAEA,MAAM,EAAEE,QAAQ,EAAE,OAAGJ,qMAAAA,EAAUE;IAC/B,OAAOE,aAAaD,UAAUC,SAASC,UAAU,CAACF,SAAS;AAC7D","ignoreList":[0]}}, + {"offset": {"line": 10924, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/path-match.ts"],"sourcesContent":["import type { Key } from 'next/dist/compiled/path-to-regexp'\nimport { regexpToFunction } from 'next/dist/compiled/path-to-regexp'\nimport { pathToRegexp } from 'next/dist/compiled/path-to-regexp'\n\ninterface Options {\n /**\n * A transformer function that will be applied to the regexp generated\n * from the provided path and path-to-regexp.\n */\n regexModifier?: (regex: string) => string\n /**\n * When true the function will remove all unnamed parameters\n * from the matched parameters.\n */\n removeUnnamedParams?: boolean\n /**\n * When true the regexp won't allow an optional trailing delimiter\n * to match.\n */\n strict?: boolean\n\n /**\n * When true the matcher will be case-sensitive, defaults to false\n */\n sensitive?: boolean\n}\n\nexport type PatchMatcher = (\n pathname: string,\n params?: Record\n) => Record | false\n\n/**\n * Generates a path matcher function for a given path and options based on\n * path-to-regexp. By default the match will be case insensitive, non strict\n * and delimited by `/`.\n */\nexport function getPathMatch(path: string, options?: Options): PatchMatcher {\n const keys: Key[] = []\n const regexp = pathToRegexp(path, keys, {\n delimiter: '/',\n sensitive:\n typeof options?.sensitive === 'boolean' ? options.sensitive : false,\n strict: options?.strict,\n })\n\n const matcher = regexpToFunction>(\n options?.regexModifier\n ? new RegExp(options.regexModifier(regexp.source), regexp.flags)\n : regexp,\n keys\n )\n\n /**\n * A matcher function that will check if a given pathname matches the path\n * given in the builder function. When the path does not match it will return\n * `false` but if it does it will return an object with the matched params\n * merged with the params provided in the second argument.\n */\n return (pathname, params) => {\n // If no pathname is provided it's not a match.\n if (typeof pathname !== 'string') return false\n\n const match = matcher(pathname)\n\n // If the path did not match `false` will be returned.\n if (!match) return false\n\n /**\n * If unnamed params are not allowed they must be removed from\n * the matched parameters. path-to-regexp uses \"string\" for named and\n * \"number\" for unnamed parameters.\n */\n if (options?.removeUnnamedParams) {\n for (const key of keys) {\n if (typeof key.name === 'number') {\n delete match.params[key.name]\n }\n }\n }\n\n return { ...params, ...match.params }\n }\n}\n"],"names":["regexpToFunction","pathToRegexp","getPathMatch","path","options","keys","regexp","delimiter","sensitive","strict","matcher","regexModifier","RegExp","source","flags","pathname","params","match","removeUnnamedParams","key","name"],"mappings":";;;;AACA,SAASA,gBAAgB,QAAQ,oCAAmC;;;AAoC7D,SAASE,aAAaC,IAAY,EAAEC,OAAiB;IAC1D,MAAMC,OAAc,EAAE;IACtB,MAAMC,aAASL,yLAAAA,EAAaE,MAAME,MAAM;QACtCE,WAAW;QACXC,WACE,OAAOJ,SAASI,cAAc,YAAYJ,QAAQI,SAAS,GAAG;QAChEC,QAAQL,SAASK;IACnB;IAEA,MAAMC,cAAUV,6LAAAA,EACdI,SAASO,gBACL,IAAIC,OAAOR,QAAQO,aAAa,CAACL,OAAOO,MAAM,GAAGP,OAAOQ,KAAK,IAC7DR,QACJD;IAGF;;;;;GAKC,GACD,OAAO,CAACU,UAAUC;QAChB,+CAA+C;QAC/C,IAAI,OAAOD,aAAa,UAAU,OAAO;QAEzC,MAAME,QAAQP,QAAQK;QAEtB,sDAAsD;QACtD,IAAI,CAACE,OAAO,OAAO;QAEnB;;;;KAIC,GACD,IAAIb,SAASc,qBAAqB;YAChC,KAAK,MAAMC,OAAOd,KAAM;gBACtB,IAAI,OAAOc,IAAIC,IAAI,KAAK,UAAU;oBAChC,OAAOH,MAAMD,MAAM,CAACG,IAAIC,IAAI,CAAC;gBAC/B;YACF;QACF;QAEA,OAAO;YAAE,GAAGJ,MAAM;YAAE,GAAGC,MAAMD,MAAM;QAAC;IACtC;AACF","ignoreList":[0]}}, + {"offset": {"line": 10971, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/prepare-destination.ts"],"sourcesContent":["import type { IncomingMessage } from 'http'\nimport type { Key } from 'next/dist/compiled/path-to-regexp'\nimport type { NextParsedUrlQuery } from '../../../../server/request-meta'\nimport type { RouteHas } from '../../../../lib/load-custom-routes'\nimport type { BaseNextRequest } from '../../../../server/base-http'\n\nimport { escapeStringRegexp } from '../../escape-regexp'\nimport { parseUrl, type ParsedUrl } from './parse-url'\nimport {\n INTERCEPTION_ROUTE_MARKERS,\n isInterceptionRouteAppPath,\n} from './interception-routes'\nimport { getCookieParser } from '../../../../server/api-utils/get-cookie-parser'\nimport type { Params } from '../../../../server/request/params'\nimport { safePathToRegexp, safeCompile } from './route-match-utils'\n\n/**\n * Ensure only a-zA-Z are used for param names for proper interpolating\n * with path-to-regexp\n */\nfunction getSafeParamName(paramName: string) {\n let newParamName = ''\n\n for (let i = 0; i < paramName.length; i++) {\n const charCode = paramName.charCodeAt(i)\n\n if (\n (charCode > 64 && charCode < 91) || // A-Z\n (charCode > 96 && charCode < 123) // a-z\n ) {\n newParamName += paramName[i]\n }\n }\n return newParamName\n}\n\nfunction escapeSegment(str: string, segmentName: string) {\n return str.replace(\n new RegExp(`:${escapeStringRegexp(segmentName)}`, 'g'),\n `__ESC_COLON_${segmentName}`\n )\n}\n\nfunction unescapeSegments(str: string) {\n return str.replace(/__ESC_COLON_/gi, ':')\n}\n\nexport function matchHas(\n req: BaseNextRequest | IncomingMessage,\n query: Params,\n has: RouteHas[] = [],\n missing: RouteHas[] = []\n): false | Params {\n const params: Params = {}\n\n const hasMatch = (hasItem: RouteHas) => {\n let value\n let key = hasItem.key\n\n switch (hasItem.type) {\n case 'header': {\n key = key!.toLowerCase()\n value = req.headers[key] as string\n break\n }\n case 'cookie': {\n if ('cookies' in req) {\n value = req.cookies[hasItem.key]\n } else {\n const cookies = getCookieParser(req.headers)()\n value = cookies[hasItem.key]\n }\n\n break\n }\n case 'query': {\n value = query[key!]\n break\n }\n case 'host': {\n const { host } = req?.headers || {}\n // remove port from host if present\n const hostname = host?.split(':', 1)[0].toLowerCase()\n value = hostname\n break\n }\n default: {\n break\n }\n }\n\n if (!hasItem.value && value) {\n params[getSafeParamName(key!)] = value\n return true\n } else if (value) {\n const matcher = new RegExp(`^${hasItem.value}$`)\n const matches = Array.isArray(value)\n ? value.slice(-1)[0].match(matcher)\n : value.match(matcher)\n\n if (matches) {\n if (Array.isArray(matches)) {\n if (matches.groups) {\n Object.keys(matches.groups).forEach((groupKey) => {\n params[groupKey] = matches.groups![groupKey]\n })\n } else if (hasItem.type === 'host' && matches[0]) {\n params.host = matches[0]\n }\n }\n return true\n }\n }\n return false\n }\n\n const allMatch =\n has.every((item) => hasMatch(item)) &&\n !missing.some((item) => hasMatch(item))\n\n if (allMatch) {\n return params\n }\n return false\n}\n\nexport function compileNonPath(value: string, params: Params): string {\n if (!value.includes(':')) {\n return value\n }\n\n for (const key of Object.keys(params)) {\n if (value.includes(`:${key}`)) {\n value = value\n .replace(\n new RegExp(`:${key}\\\\*`, 'g'),\n `:${key}--ESCAPED_PARAM_ASTERISKS`\n )\n .replace(\n new RegExp(`:${key}\\\\?`, 'g'),\n `:${key}--ESCAPED_PARAM_QUESTION`\n )\n .replace(new RegExp(`:${key}\\\\+`, 'g'), `:${key}--ESCAPED_PARAM_PLUS`)\n .replace(\n new RegExp(`:${key}(?!\\\\w)`, 'g'),\n `--ESCAPED_PARAM_COLON${key}`\n )\n }\n }\n value = value\n .replace(/(:|\\*|\\?|\\+|\\(|\\)|\\{|\\})/g, '\\\\$1')\n .replace(/--ESCAPED_PARAM_PLUS/g, '+')\n .replace(/--ESCAPED_PARAM_COLON/g, ':')\n .replace(/--ESCAPED_PARAM_QUESTION/g, '?')\n .replace(/--ESCAPED_PARAM_ASTERISKS/g, '*')\n\n // the value needs to start with a forward-slash to be compiled\n // correctly\n return safeCompile(`/${value}`, { validate: false })(params).slice(1)\n}\n\nexport function parseDestination(args: {\n destination: string\n params: Readonly\n query: Readonly\n}): ParsedUrl {\n let escaped = args.destination\n for (const param of Object.keys({ ...args.params, ...args.query })) {\n if (!param) continue\n\n escaped = escapeSegment(escaped, param)\n }\n\n const parsed = parseUrl(escaped)\n\n let pathname = parsed.pathname\n if (pathname) {\n pathname = unescapeSegments(pathname)\n }\n\n let href = parsed.href\n if (href) {\n href = unescapeSegments(href)\n }\n\n let hostname = parsed.hostname\n if (hostname) {\n hostname = unescapeSegments(hostname)\n }\n\n let hash = parsed.hash\n if (hash) {\n hash = unescapeSegments(hash)\n }\n\n let search = parsed.search\n if (search) {\n search = unescapeSegments(search)\n }\n\n let origin = parsed.origin\n if (origin) {\n origin = unescapeSegments(origin)\n }\n\n return {\n ...parsed,\n pathname,\n hostname,\n href,\n hash,\n search,\n origin,\n }\n}\n\nexport function prepareDestination(args: {\n appendParamsToQuery: boolean\n destination: string\n params: Params\n query: NextParsedUrlQuery\n}) {\n const parsedDestination = parseDestination(args)\n\n const {\n hostname: destHostname,\n query: destQuery,\n search: destSearch,\n } = parsedDestination\n\n // The following code assumes that the pathname here includes the hash if it's\n // present.\n let destPath = parsedDestination.pathname\n if (parsedDestination.hash) {\n destPath = `${destPath}${parsedDestination.hash}`\n }\n\n const destParams: (string | number)[] = []\n\n const destPathParamKeys: Key[] = []\n safePathToRegexp(destPath, destPathParamKeys)\n for (const key of destPathParamKeys) {\n destParams.push(key.name)\n }\n\n if (destHostname) {\n const destHostnameParamKeys: Key[] = []\n safePathToRegexp(destHostname, destHostnameParamKeys)\n for (const key of destHostnameParamKeys) {\n destParams.push(key.name)\n }\n }\n\n const destPathCompiler = safeCompile(\n destPath,\n // we don't validate while compiling the destination since we should\n // have already validated before we got to this point and validating\n // breaks compiling destinations with named pattern params from the source\n // e.g. /something:hello(.*) -> /another/:hello is broken with validation\n // since compile validation is meant for reversing and not for inserting\n // params from a separate path-regex into another\n { validate: false }\n )\n\n let destHostnameCompiler\n if (destHostname) {\n destHostnameCompiler = safeCompile(destHostname, {\n validate: false,\n encode: encodeURIComponent,\n })\n }\n\n // update any params in query values\n for (const [key, strOrArray] of Object.entries(destQuery)) {\n // the value needs to start with a forward-slash to be compiled\n // correctly\n if (Array.isArray(strOrArray)) {\n destQuery[key] = strOrArray.map((value) =>\n compileNonPath(unescapeSegments(value), args.params)\n )\n } else if (typeof strOrArray === 'string') {\n destQuery[key] = compileNonPath(unescapeSegments(strOrArray), args.params)\n }\n }\n\n // add path params to query if it's not a redirect and not\n // already defined in destination query or path\n let paramKeys = Object.keys(args.params).filter(\n (name) => name !== 'nextInternalLocale'\n )\n\n if (\n args.appendParamsToQuery &&\n !paramKeys.some((key) => destParams.includes(key))\n ) {\n for (const key of paramKeys) {\n if (!(key in destQuery)) {\n destQuery[key] = args.params[key]\n }\n }\n }\n\n let newUrl\n\n // The compiler also that the interception route marker is an unnamed param, hence '0',\n // so we need to add it to the params object.\n if (isInterceptionRouteAppPath(destPath)) {\n for (const segment of destPath.split('/')) {\n const marker = INTERCEPTION_ROUTE_MARKERS.find((m) =>\n segment.startsWith(m)\n )\n if (marker) {\n if (marker === '(..)(..)') {\n args.params['0'] = '(..)'\n args.params['1'] = '(..)'\n } else {\n args.params['0'] = marker\n }\n break\n }\n }\n }\n\n try {\n newUrl = destPathCompiler(args.params)\n\n const [pathname, hash] = newUrl.split('#', 2)\n if (destHostnameCompiler) {\n parsedDestination.hostname = destHostnameCompiler(args.params)\n }\n parsedDestination.pathname = pathname\n parsedDestination.hash = `${hash ? '#' : ''}${hash || ''}`\n parsedDestination.search = destSearch\n ? compileNonPath(destSearch, args.params)\n : ''\n } catch (err: any) {\n if (err.message.match(/Expected .*? to not repeat, but got an array/)) {\n throw new Error(\n `To use a multi-match in the destination you must add \\`*\\` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match`\n )\n }\n throw err\n }\n\n // Query merge order lowest priority to highest\n // 1. initial URL query values\n // 2. path segment values\n // 3. destination specified query values\n parsedDestination.query = {\n ...args.query,\n ...parsedDestination.query,\n }\n\n return {\n newUrl,\n destQuery,\n parsedDestination,\n }\n}\n"],"names":["escapeStringRegexp","parseUrl","INTERCEPTION_ROUTE_MARKERS","isInterceptionRouteAppPath","getCookieParser","safePathToRegexp","safeCompile","getSafeParamName","paramName","newParamName","i","length","charCode","charCodeAt","escapeSegment","str","segmentName","replace","RegExp","unescapeSegments","matchHas","req","query","has","missing","params","hasMatch","hasItem","value","key","type","toLowerCase","headers","cookies","host","hostname","split","matcher","matches","Array","isArray","slice","match","groups","Object","keys","forEach","groupKey","allMatch","every","item","some","compileNonPath","includes","validate","parseDestination","args","escaped","destination","param","parsed","pathname","href","hash","search","origin","prepareDestination","parsedDestination","destHostname","destQuery","destSearch","destPath","destParams","destPathParamKeys","push","name","destHostnameParamKeys","destPathCompiler","destHostnameCompiler","encode","encodeURIComponent","strOrArray","entries","map","paramKeys","filter","appendParamsToQuery","newUrl","segment","marker","find","m","startsWith","err","message","Error"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 11246, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/querystring.ts"],"sourcesContent":["import type { ParsedUrlQuery } from 'querystring'\n\nexport function getRenderedSearch(query: ParsedUrlQuery): string {\n // Inlined implementation of querystring.encode, which is not available in\n // the Edge runtime.\n const pairs = []\n for (const key in query) {\n const value = query[key]\n if (value == null) continue\n if (Array.isArray(value)) {\n for (const v of value) {\n pairs.push(\n `${encodeURIComponent(key)}=${encodeURIComponent(String(v))}`\n )\n }\n } else {\n pairs.push(\n `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`\n )\n }\n }\n\n // The result should match the format of a web URL's `search` property, since\n // this is the format that's stored in the App Router state.\n // TODO: We're a bit inconsistent about this. The x-nextjs-rewritten-query\n // header omits the leading question mark. Should refactor to always do\n // that instead.\n if (pairs.length === 0) {\n // If the search string is empty, return an empty string.\n return ''\n }\n // Prepend '?' to the search params string.\n return '?' + pairs.join('&')\n}\n\nexport function searchParamsToUrlQuery(\n searchParams: URLSearchParams\n): ParsedUrlQuery {\n const query: ParsedUrlQuery = {}\n for (const [key, value] of searchParams.entries()) {\n const existing = query[key]\n if (typeof existing === 'undefined') {\n query[key] = value\n } else if (Array.isArray(existing)) {\n existing.push(value)\n } else {\n query[key] = [existing, value]\n }\n }\n return query\n}\n\nfunction stringifyUrlQueryParam(param: unknown): string {\n if (typeof param === 'string') {\n return param\n }\n\n if (\n (typeof param === 'number' && !isNaN(param)) ||\n typeof param === 'boolean'\n ) {\n return String(param)\n } else {\n return ''\n }\n}\n\nexport function urlQueryToSearchParams(query: ParsedUrlQuery): URLSearchParams {\n const searchParams = new URLSearchParams()\n for (const [key, value] of Object.entries(query)) {\n if (Array.isArray(value)) {\n for (const item of value) {\n searchParams.append(key, stringifyUrlQueryParam(item))\n }\n } else {\n searchParams.set(key, stringifyUrlQueryParam(value))\n }\n }\n return searchParams\n}\n\nexport function assign(\n target: URLSearchParams,\n ...searchParamsList: URLSearchParams[]\n): URLSearchParams {\n for (const searchParams of searchParamsList) {\n for (const key of searchParams.keys()) {\n target.delete(key)\n }\n\n for (const [key, value] of searchParams.entries()) {\n target.append(key, value)\n }\n }\n\n return target\n}\n"],"names":["getRenderedSearch","query","pairs","key","value","Array","isArray","v","push","encodeURIComponent","String","length","join","searchParamsToUrlQuery","searchParams","entries","existing","stringifyUrlQueryParam","param","isNaN","urlQueryToSearchParams","URLSearchParams","Object","item","append","set","assign","target","searchParamsList","keys","delete"],"mappings":";;;;;;;;;;AAEO,SAASA,kBAAkBC,KAAqB;IACrD,0EAA0E;IAC1E,oBAAoB;IACpB,MAAMC,QAAQ,EAAE;IAChB,IAAK,MAAMC,OAAOF,MAAO;QACvB,MAAMG,QAAQH,KAAK,CAACE,IAAI;QACxB,IAAIC,SAAS,MAAM;QACnB,IAAIC,MAAMC,OAAO,CAACF,QAAQ;YACxB,KAAK,MAAMG,KAAKH,MAAO;gBACrBF,MAAMM,IAAI,CACR,GAAGC,mBAAmBN,KAAK,CAAC,EAAEM,mBAAmBC,OAAOH,KAAK;YAEjE;QACF,OAAO;YACLL,MAAMM,IAAI,CACR,GAAGC,mBAAmBN,KAAK,CAAC,EAAEM,mBAAmBC,OAAON,SAAS;QAErE;IACF;IAEA,6EAA6E;IAC7E,4DAA4D;IAC5D,0EAA0E;IAC1E,uEAAuE;IACvE,gBAAgB;IAChB,IAAIF,MAAMS,MAAM,KAAK,GAAG;QACtB,yDAAyD;QACzD,OAAO;IACT;IACA,2CAA2C;IAC3C,OAAO,MAAMT,MAAMU,IAAI,CAAC;AAC1B;AAEO,SAASC,uBACdC,YAA6B;IAE7B,MAAMb,QAAwB,CAAC;IAC/B,KAAK,MAAM,CAACE,KAAKC,MAAM,IAAIU,aAAaC,OAAO,GAAI;QACjD,MAAMC,WAAWf,KAAK,CAACE,IAAI;QAC3B,IAAI,OAAOa,aAAa,aAAa;YACnCf,KAAK,CAACE,IAAI,GAAGC;QACf,OAAO,IAAIC,MAAMC,OAAO,CAACU,WAAW;YAClCA,SAASR,IAAI,CAACJ;QAChB,OAAO;YACLH,KAAK,CAACE,IAAI,GAAG;gBAACa;gBAAUZ;aAAM;QAChC;IACF;IACA,OAAOH;AACT;AAEA,SAASgB,uBAAuBC,KAAc;IAC5C,IAAI,OAAOA,UAAU,UAAU;QAC7B,OAAOA;IACT;IAEA,IACG,OAAOA,UAAU,YAAY,CAACC,MAAMD,UACrC,OAAOA,UAAU,WACjB;QACA,OAAOR,OAAOQ;IAChB,OAAO;QACL,OAAO;IACT;AACF;AAEO,SAASE,uBAAuBnB,KAAqB;IAC1D,MAAMa,eAAe,IAAIO;IACzB,KAAK,MAAM,CAAClB,KAAKC,MAAM,IAAIkB,OAAOP,OAAO,CAACd,OAAQ;QAChD,IAAII,MAAMC,OAAO,CAACF,QAAQ;YACxB,KAAK,MAAMmB,QAAQnB,MAAO;gBACxBU,aAAaU,MAAM,CAACrB,KAAKc,uBAAuBM;YAClD;QACF,OAAO;YACLT,aAAaW,GAAG,CAACtB,KAAKc,uBAAuBb;QAC/C;IACF;IACA,OAAOU;AACT;AAEO,SAASY,OACdC,MAAuB,EACvB,GAAGC,gBAAmC;IAEtC,KAAK,MAAMd,gBAAgBc,iBAAkB;QAC3C,KAAK,MAAMzB,OAAOW,aAAae,IAAI,GAAI;YACrCF,OAAOG,MAAM,CAAC3B;QAChB;QAEA,KAAK,MAAM,CAACA,KAAKC,MAAM,IAAIU,aAAaC,OAAO,GAAI;YACjDY,OAAOH,MAAM,CAACrB,KAAKC;QACrB;IACF;IAEA,OAAOuB;AACT","ignoreList":[0]}}, + {"offset": {"line": 11338, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/relativize-url.ts"],"sourcesContent":["/**\n * The result of parsing a URL relative to a base URL.\n */\nexport type RelativeURL = {\n /**\n * The relative URL. Either a URL including the origin or a relative URL.\n */\n url: string\n\n /**\n * Whether the URL is relative to the base URL.\n */\n isRelative: boolean\n}\n\nexport function parseRelativeURL(\n url: string | URL,\n base: string | URL\n): RelativeURL {\n const baseURL = typeof base === 'string' ? new URL(base) : base\n const relative = new URL(url, base)\n\n // The URL is relative if the origin is the same as the base URL.\n const isRelative = relative.origin === baseURL.origin\n\n return {\n url: isRelative\n ? relative.toString().slice(baseURL.origin.length)\n : relative.toString(),\n isRelative,\n }\n}\n\n/**\n * Given a URL as a string and a base URL it will make the URL relative\n * if the parsed protocol and host is the same as the one in the base\n * URL. Otherwise it returns the same URL string.\n */\nexport function getRelativeURL(url: string | URL, base: string | URL): string {\n const relative = parseRelativeURL(url, base)\n return relative.url\n}\n"],"names":["parseRelativeURL","url","base","baseURL","URL","relative","isRelative","origin","toString","slice","length","getRelativeURL"],"mappings":"AAAA;;CAEC,GAaD;;;;;;AAAO,SAASA,iBACdC,GAAiB,EACjBC,IAAkB;IAElB,MAAMC,UAAU,OAAOD,SAAS,WAAW,IAAIE,IAAIF,QAAQA;IAC3D,MAAMG,WAAW,IAAID,IAAIH,KAAKC;IAE9B,iEAAiE;IACjE,MAAMI,aAAaD,SAASE,MAAM,KAAKJ,QAAQI,MAAM;IAErD,OAAO;QACLN,KAAKK,aACDD,SAASG,QAAQ,GAAGC,KAAK,CAACN,QAAQI,MAAM,CAACG,MAAM,IAC/CL,SAASG,QAAQ;QACrBF;IACF;AACF;AAOO,SAASK,eAAeV,GAAiB,EAAEC,IAAkB;IAClE,MAAMG,WAAWL,iBAAiBC,KAAKC;IACvC,OAAOG,SAASJ,GAAG;AACrB","ignoreList":[0]}}, + {"offset": {"line": 11364, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/remove-path-prefix.ts"],"sourcesContent":["import { pathHasPrefix } from './path-has-prefix'\n\n/**\n * Given a path and a prefix it will remove the prefix when it exists in the\n * given path. It ensures it matches exactly without containing extra chars\n * and if the prefix is not there it will be noop.\n *\n * @param path The path to remove the prefix from.\n * @param prefix The prefix to be removed.\n */\nexport function removePathPrefix(path: string, prefix: string): string {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!pathHasPrefix(path, prefix)) {\n return path\n }\n\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length)\n\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith('/')) {\n return withoutPrefix\n }\n\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return `/${withoutPrefix}`\n}\n"],"names":["pathHasPrefix","removePathPrefix","path","prefix","withoutPrefix","slice","length","startsWith"],"mappings":";;;;AAAA,SAASA,aAAa,QAAQ,oBAAmB;;AAU1C,SAASC,iBAAiBC,IAAY,EAAEC,MAAc;IAC3D,yEAAyE;IACzE,0EAA0E;IAC1E,kBAAkB;IAClB,EAAE;IACF,oBAAoB;IACpB,EAAE;IACF,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,yBAAyB;IACzB,IAAI,KAACH,iNAAAA,EAAcE,MAAMC,SAAS;QAChC,OAAOD;IACT;IAEA,+CAA+C;IAC/C,MAAME,gBAAgBF,KAAKG,KAAK,CAACF,OAAOG,MAAM;IAE9C,2EAA2E;IAC3E,IAAIF,cAAcG,UAAU,CAAC,MAAM;QACjC,OAAOH;IACT;IAEA,4EAA4E;IAC5E,mDAAmD;IACnD,OAAO,CAAC,CAAC,EAAEA,eAAe;AAC5B","ignoreList":[0]}}, + {"offset": {"line": 11400, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/remove-trailing-slash.ts"],"sourcesContent":["/**\n * Removes the trailing slash for a given route or page path. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n *\n * Uses charCodeAt (47 === '/') instead of regex to avoid the overhead of\n * compiling and executing a RegExp on every call (~3-5x faster).\n */\nexport function removeTrailingSlash(route: string) {\n return route.charCodeAt(route.length - 1) === 47 && route.length > 1\n ? route.slice(0, -1)\n : route\n}\n"],"names":["removeTrailingSlash","route","charCodeAt","length","slice"],"mappings":"AAAA;;;;;;;CAOC,GACD;;;;AAAO,SAASA,oBAAoBC,KAAa;IAC/C,OAAOA,MAAMC,UAAU,CAACD,MAAME,MAAM,GAAG,OAAO,MAAMF,MAAME,MAAM,GAAG,IAC/DF,MAAMG,KAAK,CAAC,GAAG,CAAC,KAChBH;AACN","ignoreList":[0]}}, + {"offset": {"line": 11418, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/resolve-param-value.ts"],"sourcesContent":["import type { Params } from '../../../../server/request/params'\nimport type { DynamicParamTypes } from '../../app-router-types'\nimport { InvariantError } from '../../invariant-error'\nimport type {\n NormalizedAppRoute,\n NormalizedAppRouteSegment,\n} from '../routes/app'\nimport { interceptionPrefixFromParamType } from './interception-prefix-from-param-type'\n\n/**\n * Extracts the param value from a path segment, handling interception markers\n * based on the expected param type.\n *\n * @param pathSegment - The path segment to extract the value from\n * @param params - The current params object for resolving dynamic param references\n * @param paramType - The expected param type which may include interception marker info\n * @returns The extracted param value\n */\nfunction getParamValueFromSegment(\n pathSegment: NormalizedAppRouteSegment,\n params: Params,\n paramType: DynamicParamTypes\n): string {\n // If the segment is dynamic, resolve it from the params object\n if (pathSegment.type === 'dynamic') {\n return params[pathSegment.param.paramName] as string\n }\n\n // If the paramType indicates this is an intercepted param, strip the marker\n // that matches the interception marker in the param type\n const interceptionPrefix = interceptionPrefixFromParamType(paramType)\n if (interceptionPrefix === pathSegment.interceptionMarker) {\n return pathSegment.name.replace(pathSegment.interceptionMarker, '')\n }\n\n // For static segments, use the name\n return pathSegment.name\n}\n\n/**\n * Resolves a route parameter value from the route segments at the given depth.\n * This shared logic is used by both extractPathnameRouteParamSegmentsFromLoaderTree\n * and resolveRouteParamsFromTree.\n *\n * @param paramName - The parameter name to resolve\n * @param paramType - The parameter type (dynamic, catchall, etc.)\n * @param depth - The current depth in the route tree\n * @param route - The normalized route containing segments\n * @param params - The current params object (used to resolve embedded param references)\n * @param options - Configuration options\n * @returns The resolved parameter value, or undefined if it cannot be resolved\n */\nexport function resolveParamValue(\n paramName: string,\n paramType: DynamicParamTypes,\n depth: number,\n route: NormalizedAppRoute,\n params: Params\n): string | string[] | undefined {\n switch (paramType) {\n case 'catchall':\n case 'optional-catchall':\n case 'catchall-intercepted-(..)(..)':\n case 'catchall-intercepted-(.)':\n case 'catchall-intercepted-(..)':\n case 'catchall-intercepted-(...)':\n // For catchall routes, derive from pathname using depth to determine\n // which segments to use\n const processedSegments: string[] = []\n\n // Process segments to handle any embedded dynamic params\n for (let index = depth; index < route.segments.length; index++) {\n const pathSegment = route.segments[index]\n\n if (pathSegment.type === 'static') {\n let value = pathSegment.name\n\n // For intercepted catch-all params, strip the marker from the first segment\n const interceptionPrefix = interceptionPrefixFromParamType(paramType)\n if (\n interceptionPrefix &&\n index === depth &&\n interceptionPrefix === pathSegment.interceptionMarker\n ) {\n // Strip the interception marker from the value\n value = value.replace(pathSegment.interceptionMarker, '')\n }\n\n processedSegments.push(value)\n } else {\n // If the segment is a param placeholder, check if we have its value\n if (!params.hasOwnProperty(pathSegment.param.paramName)) {\n // If the segment is an optional catchall, we can break out of the\n // loop because it's optional!\n if (pathSegment.param.paramType === 'optional-catchall') {\n break\n }\n\n // Unknown param placeholder in pathname - can't derive full value\n return undefined\n }\n\n // If the segment matches a param, use the param value\n // We don't encode values here as that's handled during retrieval.\n const paramValue = params[pathSegment.param.paramName]\n if (Array.isArray(paramValue)) {\n processedSegments.push(...paramValue)\n } else {\n processedSegments.push(paramValue as string)\n }\n }\n }\n\n if (processedSegments.length > 0) {\n return processedSegments\n } else if (paramType === 'optional-catchall') {\n return undefined\n } else {\n // We shouldn't be able to match a catchall segment without any path\n // segments if it's not an optional catchall\n throw new InvariantError(\n `Unexpected empty path segments match for a route \"${route.pathname}\" with param \"${paramName}\" of type \"${paramType}\"`\n )\n }\n case 'dynamic':\n case 'dynamic-intercepted-(..)(..)':\n case 'dynamic-intercepted-(.)':\n case 'dynamic-intercepted-(..)':\n case 'dynamic-intercepted-(...)':\n // For regular dynamic parameters, take the segment at this depth\n if (depth < route.segments.length) {\n const pathSegment = route.segments[depth]\n\n // Check if the segment at this depth is a placeholder for an unknown param\n if (\n pathSegment.type === 'dynamic' &&\n !params.hasOwnProperty(pathSegment.param.paramName)\n ) {\n // The segment is a placeholder like [category] and we don't have the value\n return undefined\n }\n\n // If the segment matches a param, use the param value from params object\n // Otherwise it's a static segment, just use it directly\n // We don't encode values here as that's handled during retrieval\n return getParamValueFromSegment(pathSegment, params, paramType)\n }\n\n return undefined\n\n default:\n paramType satisfies never\n }\n}\n"],"names":["InvariantError","interceptionPrefixFromParamType","getParamValueFromSegment","pathSegment","params","paramType","type","param","paramName","interceptionPrefix","interceptionMarker","name","replace","resolveParamValue","depth","route","processedSegments","index","segments","length","value","push","hasOwnProperty","undefined","paramValue","Array","isArray","pathname"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 11528, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/route-match-utils.ts"],"sourcesContent":["/**\n * Client-safe utilities for route matching that don't import server-side\n * utilities to avoid bundling issues with Turbopack\n */\n\nimport type {\n Key,\n TokensToRegexpOptions,\n ParseOptions,\n TokensToFunctionOptions,\n} from 'next/dist/compiled/path-to-regexp'\nimport {\n pathToRegexp,\n compile,\n regexpToFunction,\n} from 'next/dist/compiled/path-to-regexp'\nimport {\n hasAdjacentParameterIssues,\n normalizeAdjacentParameters,\n stripParameterSeparators,\n stripNormalizedSeparators,\n} from '../../../../lib/route-pattern-normalizer'\n\n/**\n * Client-safe wrapper around pathToRegexp that handles path-to-regexp 6.3.0+ validation errors.\n * This includes both \"Can not repeat without prefix/suffix\" and \"Must have text between parameters\" errors.\n */\nexport function safePathToRegexp(\n route: string | RegExp | Array,\n keys?: Key[],\n options?: TokensToRegexpOptions & ParseOptions\n): RegExp {\n if (typeof route !== 'string') {\n return pathToRegexp(route, keys, options)\n }\n\n // Check if normalization is needed and cache the result\n const needsNormalization = hasAdjacentParameterIssues(route)\n const routeToUse = needsNormalization\n ? normalizeAdjacentParameters(route)\n : route\n\n try {\n return pathToRegexp(routeToUse, keys, options)\n } catch (error) {\n // Only try normalization if we haven't already normalized\n if (!needsNormalization) {\n try {\n const normalizedRoute = normalizeAdjacentParameters(route)\n return pathToRegexp(normalizedRoute, keys, options)\n } catch (retryError) {\n // If that doesn't work, fall back to original error\n throw error\n }\n }\n throw error\n }\n}\n\n/**\n * Client-safe wrapper around compile that handles path-to-regexp 6.3.0+ validation errors.\n * No server-side error reporting to avoid bundling issues.\n * When normalization is applied, the returned compiler function automatically strips\n * the internal separator from the output URL.\n */\nexport function safeCompile(\n route: string,\n options?: TokensToFunctionOptions & ParseOptions\n) {\n // Check if normalization is needed and cache the result\n const needsNormalization = hasAdjacentParameterIssues(route)\n const routeToUse = needsNormalization\n ? normalizeAdjacentParameters(route)\n : route\n\n try {\n const compiler = compile(routeToUse, options)\n\n // If we normalized the route, wrap the compiler to strip separators from output\n // The normalization inserts _NEXTSEP_ as a literal string in the pattern to satisfy\n // path-to-regexp validation, but we don't want it in the final compiled URL\n if (needsNormalization) {\n return (params: any) => {\n return stripNormalizedSeparators(compiler(params))\n }\n }\n\n return compiler\n } catch (error) {\n // Only try normalization if we haven't already normalized\n if (!needsNormalization) {\n try {\n const normalizedRoute = normalizeAdjacentParameters(route)\n const compiler = compile(normalizedRoute, options)\n\n // Wrap the compiler to strip separators from output\n return (params: any) => {\n return stripNormalizedSeparators(compiler(params))\n }\n } catch (retryError) {\n // If that doesn't work, fall back to original error\n throw error\n }\n }\n throw error\n }\n}\n\n/**\n * Client-safe wrapper around regexpToFunction that automatically cleans parameters.\n */\nexport function safeRegexpToFunction<\n T extends Record = Record,\n>(regexp: RegExp, keys?: Key[]): (pathname: string) => { params: T } | false {\n const originalMatcher = regexpToFunction(regexp, keys || [])\n\n return (pathname: string) => {\n const result = originalMatcher(pathname)\n if (!result) return false\n\n // Clean parameters before returning\n return {\n ...result,\n params: stripParameterSeparators(result.params as any) as T,\n }\n }\n}\n\n/**\n * Safe wrapper for route matcher functions that automatically cleans parameters.\n * This is client-safe and doesn't import path-to-regexp.\n */\nexport function safeRouteMatcher>(\n matcherFn: (pathname: string) => false | T\n): (pathname: string) => false | T {\n return (pathname: string) => {\n const result = matcherFn(pathname)\n if (!result) return false\n\n // Clean parameters before returning\n return stripParameterSeparators(result) as T\n }\n}\n"],"names":["pathToRegexp","compile","regexpToFunction","hasAdjacentParameterIssues","normalizeAdjacentParameters","stripParameterSeparators","stripNormalizedSeparators","safePathToRegexp","route","keys","options","needsNormalization","routeToUse","error","normalizedRoute","retryError","safeCompile","compiler","params","safeRegexpToFunction","regexp","originalMatcher","pathname","result","safeRouteMatcher","matcherFn"],"mappings":";;;;;;;;;;AAAA;;;CAGC,GAQD,SACEA,YAAY,EACZC,OAAO,EACPC,gBAAgB,QACX,oCAAmC;AAC1C,SACEC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,wBAAwB,EACxBC,yBAAyB,QACpB,2CAA0C;;;AAM1C,SAASC,iBACdC,KAA+C,EAC/CC,IAAY,EACZC,OAA8C;IAE9C,IAAI,OAAOF,UAAU,UAAU;QAC7B,WAAOR,yLAAAA,EAAaQ,OAAOC,MAAMC;IACnC;IAEA,wDAAwD;IACxD,MAAMC,yBAAqBR,0MAAAA,EAA2BK;IACtD,MAAMI,aAAaD,yBACfP,2MAAAA,EAA4BI,SAC5BA;IAEJ,IAAI;QACF,WAAOR,yLAAAA,EAAaY,YAAYH,MAAMC;IACxC,EAAE,OAAOG,OAAO;QACd,0DAA0D;QAC1D,IAAI,CAACF,oBAAoB;YACvB,IAAI;gBACF,MAAMG,sBAAkBV,2MAAAA,EAA4BI;gBACpD,WAAOR,yLAAAA,EAAac,iBAAiBL,MAAMC;YAC7C,EAAE,OAAOK,YAAY;gBACnB,oDAAoD;gBACpD,MAAMF;YACR;QACF;QACA,MAAMA;IACR;AACF;AAQO,SAASG,YACdR,KAAa,EACbE,OAAgD;IAEhD,wDAAwD;IACxD,MAAMC,yBAAqBR,0MAAAA,EAA2BK;IACtD,MAAMI,aAAaD,yBACfP,2MAAAA,EAA4BI,SAC5BA;IAEJ,IAAI;QACF,MAAMS,eAAWhB,oLAAAA,EAAQW,YAAYF;QAErC,gFAAgF;QAChF,oFAAoF;QACpF,4EAA4E;QAC5E,IAAIC,oBAAoB;YACtB,OAAO,CAACO;gBACN,WAAOZ,yMAAAA,EAA0BW,SAASC;YAC5C;QACF;QAEA,OAAOD;IACT,EAAE,OAAOJ,OAAO;QACd,0DAA0D;QAC1D,IAAI,CAACF,oBAAoB;YACvB,IAAI;gBACF,MAAMG,sBAAkBV,2MAAAA,EAA4BI;gBACpD,MAAMS,eAAWhB,oLAAAA,EAAQa,iBAAiBJ;gBAE1C,oDAAoD;gBACpD,OAAO,CAACQ;oBACN,WAAOZ,yMAAAA,EAA0BW,SAASC;gBAC5C;YACF,EAAE,OAAOH,YAAY;gBACnB,oDAAoD;gBACpD,MAAMF;YACR;QACF;QACA,MAAMA;IACR;AACF;AAKO,SAASM,qBAEdC,MAAc,EAAEX,IAAY;IAC5B,MAAMY,sBAAkBnB,6LAAAA,EAAoBkB,QAAQX,QAAQ,EAAE;IAE9D,OAAO,CAACa;QACN,MAAMC,SAASF,gBAAgBC;QAC/B,IAAI,CAACC,QAAQ,OAAO;QAEpB,oCAAoC;QACpC,OAAO;YACL,GAAGA,MAAM;YACTL,YAAQb,wMAAAA,EAAyBkB,OAAOL,MAAM;QAChD;IACF;AACF;AAMO,SAASM,iBACdC,SAA0C;IAE1C,OAAO,CAACH;QACN,MAAMC,SAASE,UAAUH;QACzB,IAAI,CAACC,QAAQ,OAAO;QAEpB,oCAAoC;QACpC,WAAOlB,wMAAAA,EAAyBkB;IAClC;AACF","ignoreList":[0]}}, + {"offset": {"line": 11625, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/route-matcher.ts"],"sourcesContent":["import type { Group } from './route-regex'\nimport { DecodeError } from '../../utils'\nimport type { Params } from '../../../../server/request/params'\nimport { safeRouteMatcher } from './route-match-utils'\n\nexport interface RouteMatchFn {\n (pathname: string): false | Params\n}\n\ntype RouteMatcherOptions = {\n // We only use the exec method of the RegExp object. This helps us avoid using\n // type assertions that the passed in properties are of the correct type.\n re: Pick\n groups: Record\n}\n\nexport function getRouteMatcher({\n re,\n groups,\n}: RouteMatcherOptions): RouteMatchFn {\n const rawMatcher = (pathname: string) => {\n const routeMatch = re.exec(pathname)\n if (!routeMatch) return false\n\n const decode = (param: string) => {\n try {\n return decodeURIComponent(param)\n } catch {\n throw new DecodeError('failed to decode param')\n }\n }\n\n const params: Params = {}\n for (const [key, group] of Object.entries(groups)) {\n const match = routeMatch[group.pos]\n if (match !== undefined) {\n if (group.repeat) {\n params[key] = match.split('/').map((entry) => decode(entry))\n } else {\n params[key] = decode(match)\n }\n }\n }\n\n return params\n }\n\n // Wrap with safe matcher to handle parameter cleaning\n return safeRouteMatcher(rawMatcher)\n}\n"],"names":["DecodeError","safeRouteMatcher","getRouteMatcher","re","groups","rawMatcher","pathname","routeMatch","exec","decode","param","decodeURIComponent","params","key","group","Object","entries","match","pos","undefined","repeat","split","map","entry"],"mappings":";;;;AACA,SAASA,WAAW,QAAQ,cAAa;AAEzC,SAASC,gBAAgB,QAAQ,sBAAqB;;;AAa/C,SAASC,gBAAgB,EAC9BC,EAAE,EACFC,MAAM,EACc;IACpB,MAAMC,aAAa,CAACC;QAClB,MAAMC,aAAaJ,GAAGK,IAAI,CAACF;QAC3B,IAAI,CAACC,YAAY,OAAO;QAExB,MAAME,SAAS,CAACC;YACd,IAAI;gBACF,OAAOC,mBAAmBD;YAC5B,EAAE,OAAM;gBACN,MAAM,IAAIV,4KAAAA,CAAY;YACxB;QACF;QAEA,MAAMY,SAAiB,CAAC;QACxB,KAAK,MAAM,CAACC,KAAKC,MAAM,IAAIC,OAAOC,OAAO,CAACZ,QAAS;YACjD,MAAMa,QAAQV,UAAU,CAACO,MAAMI,GAAG,CAAC;YACnC,IAAID,UAAUE,WAAW;gBACvB,IAAIL,MAAMM,MAAM,EAAE;oBAChBR,MAAM,CAACC,IAAI,GAAGI,MAAMI,KAAK,CAAC,KAAKC,GAAG,CAAC,CAACC,QAAUd,OAAOc;gBACvD,OAAO;oBACLX,MAAM,CAACC,IAAI,GAAGJ,OAAOQ;gBACvB;YACF;QACF;QAEA,OAAOL;IACT;IAEA,sDAAsD;IACtD,WAAOX,sNAAAA,EAAiBI;AAC1B","ignoreList":[0]}}, + {"offset": {"line": 11664, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/route-regex.ts"],"sourcesContent":["import {\n NEXT_INTERCEPTION_MARKER_PREFIX,\n NEXT_QUERY_PARAM_PREFIX,\n} from '../../../../lib/constants'\nimport { INTERCEPTION_ROUTE_MARKERS } from './interception-routes'\nimport { escapeStringRegexp } from '../../escape-regexp'\nimport { removeTrailingSlash } from './remove-trailing-slash'\nimport { PARAMETER_PATTERN, parseMatchedParameter } from './get-dynamic-param'\n\nexport interface Group {\n pos: number\n repeat: boolean\n optional: boolean\n}\n\nexport interface RouteRegex {\n groups: { [groupName: string]: Group }\n re: RegExp\n}\n\nexport type RegexReference = {\n names: Record\n intercepted: Record\n}\n\ntype GetNamedRouteRegexOptions = {\n /**\n * Whether to prefix the route keys with the NEXT_INTERCEPTION_MARKER_PREFIX\n * or NEXT_QUERY_PARAM_PREFIX. This is only relevant when creating the\n * routes-manifest during the build.\n */\n prefixRouteKeys: boolean\n\n /**\n * Whether to include the suffix in the route regex. This means that when you\n * have something like `/[...slug].json` the `.json` part will be included\n * in the regex, yielding `/(.*).json` as the regex.\n */\n includeSuffix?: boolean\n\n /**\n * Whether to include the prefix in the route regex. This means that when you\n * have something like `/[...slug].json` the `/` part will be included\n * in the regex, yielding `^/(.*).json$` as the regex.\n *\n * Note that interception markers will already be included without the need\n */\n includePrefix?: boolean\n\n /**\n * Whether to exclude the optional trailing slash from the route regex.\n */\n excludeOptionalTrailingSlash?: boolean\n\n /**\n * Whether to backtrack duplicate keys. This is only relevant when creating\n * the routes-manifest during the build.\n */\n backreferenceDuplicateKeys?: boolean\n\n /**\n * If provided, this will be used as the reference for the dynamic parameter\n * keys instead of generating them in context. This is currently only used for\n * interception routes.\n */\n reference?: RegexReference\n}\n\ntype GetRouteRegexOptions = {\n /**\n * Whether to include extra parts in the route regex. This means that when you\n * have something like `/[...slug].json` the `.json` part will be included\n * in the regex, yielding `/(.*).json` as the regex.\n */\n includeSuffix?: boolean\n\n /**\n * Whether to include the prefix in the route regex. This means that when you\n * have something like `/[...slug].json` the `/` part will be included\n * in the regex, yielding `^/(.*).json$` as the regex.\n *\n * Note that interception markers will already be included without the need\n * of adding this option.\n */\n includePrefix?: boolean\n\n /**\n * Whether to exclude the optional trailing slash from the route regex.\n */\n excludeOptionalTrailingSlash?: boolean\n}\n\nfunction getParametrizedRoute(\n route: string,\n includeSuffix: boolean,\n includePrefix: boolean\n) {\n const groups: { [groupName: string]: Group } = {}\n let groupIndex = 1\n\n const segments: string[] = []\n for (const segment of removeTrailingSlash(route).slice(1).split('/')) {\n const markerMatch = INTERCEPTION_ROUTE_MARKERS.find((m) =>\n segment.startsWith(m)\n )\n const paramMatches = segment.match(PARAMETER_PATTERN) // Check for parameters\n\n if (markerMatch && paramMatches && paramMatches[2]) {\n const { key, optional, repeat } = parseMatchedParameter(paramMatches[2])\n groups[key] = { pos: groupIndex++, repeat, optional }\n segments.push(`/${escapeStringRegexp(markerMatch)}([^/]+?)`)\n } else if (paramMatches && paramMatches[2]) {\n const { key, repeat, optional } = parseMatchedParameter(paramMatches[2])\n groups[key] = { pos: groupIndex++, repeat, optional }\n\n if (includePrefix && paramMatches[1]) {\n segments.push(`/${escapeStringRegexp(paramMatches[1])}`)\n }\n\n let s = repeat ? (optional ? '(?:/(.+?))?' : '/(.+?)') : '/([^/]+?)'\n\n // Remove the leading slash if includePrefix already added it.\n if (includePrefix && paramMatches[1]) {\n s = s.substring(1)\n }\n\n segments.push(s)\n } else {\n segments.push(`/${escapeStringRegexp(segment)}`)\n }\n\n // If there's a suffix, add it to the segments if it's enabled.\n if (includeSuffix && paramMatches && paramMatches[3]) {\n segments.push(escapeStringRegexp(paramMatches[3]))\n }\n }\n\n return {\n parameterizedRoute: segments.join(''),\n groups,\n }\n}\n\n/**\n * From a normalized route this function generates a regular expression and\n * a corresponding groups object intended to be used to store matching groups\n * from the regular expression.\n */\nexport function getRouteRegex(\n normalizedRoute: string,\n {\n includeSuffix = false,\n includePrefix = false,\n excludeOptionalTrailingSlash = false,\n }: GetRouteRegexOptions = {}\n): RouteRegex {\n const { parameterizedRoute, groups } = getParametrizedRoute(\n normalizedRoute,\n includeSuffix,\n includePrefix\n )\n\n let re = parameterizedRoute\n if (!excludeOptionalTrailingSlash) {\n re += '(?:/)?'\n }\n\n return {\n re: new RegExp(`^${re}$`),\n groups: groups,\n }\n}\n\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */\nfunction buildGetSafeRouteKey() {\n let i = 0\n\n return () => {\n let routeKey = ''\n let j = ++i\n while (j > 0) {\n routeKey += String.fromCharCode(97 + ((j - 1) % 26))\n j = Math.floor((j - 1) / 26)\n }\n return routeKey\n }\n}\n\nfunction getSafeKeyFromSegment({\n interceptionMarker,\n getSafeRouteKey,\n segment,\n routeKeys,\n keyPrefix,\n backreferenceDuplicateKeys,\n}: {\n interceptionMarker?: string\n getSafeRouteKey: () => string\n segment: string\n routeKeys: Record\n keyPrefix?: string\n backreferenceDuplicateKeys: boolean\n}) {\n const { key, optional, repeat } = parseMatchedParameter(segment)\n\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, '')\n\n if (keyPrefix) {\n cleanedKey = `${keyPrefix}${cleanedKey}`\n }\n let invalidKey = false\n\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true\n }\n\n if (invalidKey) {\n cleanedKey = getSafeRouteKey()\n }\n\n const duplicateKey = cleanedKey in routeKeys\n\n if (keyPrefix) {\n routeKeys[cleanedKey] = `${keyPrefix}${key}`\n } else {\n routeKeys[cleanedKey] = key\n }\n\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker\n ? escapeStringRegexp(interceptionMarker)\n : ''\n\n let pattern: string\n if (duplicateKey && backreferenceDuplicateKeys) {\n // Use a backreference to the key to ensure that the key is the same value\n // in each of the placeholders.\n pattern = `\\\\k<${cleanedKey}>`\n } else if (repeat) {\n pattern = `(?<${cleanedKey}>.+?)`\n } else {\n pattern = `(?<${cleanedKey}>[^/]+?)`\n }\n\n return {\n key,\n pattern: optional\n ? `(?:/${interceptionPrefix}${pattern})?`\n : `/${interceptionPrefix}${pattern}`,\n cleanedKey: cleanedKey,\n optional,\n repeat,\n }\n}\n\nfunction getNamedParametrizedRoute(\n route: string,\n prefixRouteKeys: boolean,\n includeSuffix: boolean,\n includePrefix: boolean,\n backreferenceDuplicateKeys: boolean,\n reference: RegexReference = { names: {}, intercepted: {} }\n) {\n const getSafeRouteKey = buildGetSafeRouteKey()\n const routeKeys: { [named: string]: string } = {}\n\n const segments: string[] = []\n const inverseParts: string[] = []\n\n // Ensure we don't mutate the original reference object.\n reference = structuredClone(reference)\n\n for (const segment of removeTrailingSlash(route).slice(1).split('/')) {\n const hasInterceptionMarker = INTERCEPTION_ROUTE_MARKERS.some((m) =>\n segment.startsWith(m)\n )\n\n const paramMatches = segment.match(PARAMETER_PATTERN) // Check for parameters\n\n const interceptionMarker = hasInterceptionMarker\n ? paramMatches?.[1]\n : undefined\n\n let keyPrefix: string | undefined\n if (interceptionMarker && paramMatches?.[2]) {\n keyPrefix = prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n reference.intercepted[paramMatches[2]] = interceptionMarker\n } else if (paramMatches?.[2] && reference.intercepted[paramMatches[2]]) {\n keyPrefix = prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n } else {\n keyPrefix = prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n }\n\n if (interceptionMarker && paramMatches && paramMatches[2]) {\n // If there's an interception marker, add it to the segments.\n const { key, pattern, cleanedKey, repeat, optional } =\n getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker,\n segment: paramMatches[2],\n routeKeys,\n keyPrefix,\n backreferenceDuplicateKeys,\n })\n\n segments.push(pattern)\n inverseParts.push(\n `/${paramMatches[1]}:${reference.names[key] ?? cleanedKey}${repeat ? (optional ? '*' : '+') : ''}`\n )\n reference.names[key] ??= cleanedKey\n } else if (paramMatches && paramMatches[2]) {\n // If there's a prefix, add it to the segments if it's enabled.\n if (includePrefix && paramMatches[1]) {\n segments.push(`/${escapeStringRegexp(paramMatches[1])}`)\n inverseParts.push(`/${paramMatches[1]}`)\n }\n\n const { key, pattern, cleanedKey, repeat, optional } =\n getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[2],\n routeKeys,\n keyPrefix,\n backreferenceDuplicateKeys,\n })\n\n // Remove the leading slash if includePrefix already added it.\n let s = pattern\n if (includePrefix && paramMatches[1]) {\n s = s.substring(1)\n }\n\n segments.push(s)\n inverseParts.push(\n `/:${reference.names[key] ?? cleanedKey}${repeat ? (optional ? '*' : '+') : ''}`\n )\n reference.names[key] ??= cleanedKey\n } else {\n segments.push(`/${escapeStringRegexp(segment)}`)\n inverseParts.push(`/${segment}`)\n }\n\n // If there's a suffix, add it to the segments if it's enabled.\n if (includeSuffix && paramMatches && paramMatches[3]) {\n segments.push(escapeStringRegexp(paramMatches[3]))\n inverseParts.push(paramMatches[3])\n }\n }\n\n return {\n namedParameterizedRoute: segments.join(''),\n routeKeys,\n pathToRegexpPattern: inverseParts.join(''),\n reference,\n }\n}\n\n/**\n * This function extends `getRouteRegex` generating also a named regexp where\n * each group is named along with a routeKeys object that indexes the assigned\n * named group with its corresponding key. When the routeKeys need to be\n * prefixed to uniquely identify internally the \"prefixRouteKey\" arg should\n * be \"true\" currently this is only the case when creating the routes-manifest\n * during the build\n */\nexport function getNamedRouteRegex(\n normalizedRoute: string,\n options: GetNamedRouteRegexOptions\n) {\n const result = getNamedParametrizedRoute(\n normalizedRoute,\n options.prefixRouteKeys,\n options.includeSuffix ?? false,\n options.includePrefix ?? false,\n options.backreferenceDuplicateKeys ?? false,\n options.reference\n )\n\n let namedRegex = result.namedParameterizedRoute\n if (!options.excludeOptionalTrailingSlash) {\n namedRegex += '(?:/)?'\n }\n\n return {\n ...getRouteRegex(normalizedRoute, options),\n namedRegex: `^${namedRegex}$`,\n routeKeys: result.routeKeys,\n pathToRegexpPattern: result.pathToRegexpPattern,\n reference: result.reference,\n }\n}\n\n/**\n * Generates a named regexp.\n * This is intended to be using for build time only.\n */\nexport function getNamedMiddlewareRegex(\n normalizedRoute: string,\n options: {\n catchAll?: boolean\n }\n) {\n const { parameterizedRoute } = getParametrizedRoute(\n normalizedRoute,\n false,\n false\n )\n const { catchAll = true } = options\n if (parameterizedRoute === '/') {\n let catchAllRegex = catchAll ? '.*' : ''\n return {\n namedRegex: `^/${catchAllRegex}$`,\n }\n }\n\n const { namedParameterizedRoute } = getNamedParametrizedRoute(\n normalizedRoute,\n false,\n false,\n false,\n false,\n undefined\n )\n let catchAllGroupedRegex = catchAll ? '(?:(/.*)?)' : ''\n return {\n namedRegex: `^${namedParameterizedRoute}${catchAllGroupedRegex}$`,\n }\n}\n"],"names":["NEXT_INTERCEPTION_MARKER_PREFIX","NEXT_QUERY_PARAM_PREFIX","INTERCEPTION_ROUTE_MARKERS","escapeStringRegexp","removeTrailingSlash","PARAMETER_PATTERN","parseMatchedParameter","getParametrizedRoute","route","includeSuffix","includePrefix","groups","groupIndex","segments","segment","slice","split","markerMatch","find","m","startsWith","paramMatches","match","key","optional","repeat","pos","push","s","substring","parameterizedRoute","join","getRouteRegex","normalizedRoute","excludeOptionalTrailingSlash","re","RegExp","buildGetSafeRouteKey","i","routeKey","j","String","fromCharCode","Math","floor","getSafeKeyFromSegment","interceptionMarker","getSafeRouteKey","routeKeys","keyPrefix","backreferenceDuplicateKeys","cleanedKey","replace","invalidKey","length","isNaN","parseInt","duplicateKey","interceptionPrefix","pattern","getNamedParametrizedRoute","prefixRouteKeys","reference","names","intercepted","inverseParts","structuredClone","hasInterceptionMarker","some","undefined","namedParameterizedRoute","pathToRegexpPattern","getNamedRouteRegex","options","result","namedRegex","getNamedMiddlewareRegex","catchAll","catchAllRegex","catchAllGroupedRegex"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 11909, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/segment.ts"],"sourcesContent":["import type { FlightRouterState, Segment } from './app-router-types'\n\nexport function getSegmentValue(segment: Segment) {\n return Array.isArray(segment) ? segment[1] : segment\n}\n\nexport function isGroupSegment(segment: string) {\n // Use array[0] for performant purpose\n return segment[0] === '(' && segment.endsWith(')')\n}\n\nexport function isParallelRouteSegment(segment: string) {\n return segment.startsWith('@') && segment !== '@children'\n}\n\nexport function computeSelectedLayoutSegment(\n segments: string[] | null,\n parallelRouteKey: string\n): string | null {\n if (!segments || segments.length === 0) {\n return null\n }\n\n // For 'children', use first segment; for other parallel routes, use last segment\n const rawSegment =\n parallelRouteKey === 'children'\n ? segments[0]\n : segments[segments.length - 1]\n\n // If the default slot is showing, return null since it's not technically \"selected\" (it's a fallback)\n // Returning an internal value like `__DEFAULT__` would be confusing\n return rawSegment === DEFAULT_SEGMENT_KEY ? null : rawSegment\n}\n\n/** Get the canonical parameters from the current level to the leaf node. */\nexport function getSelectedLayoutSegmentPath(\n tree: FlightRouterState,\n parallelRouteKey: string,\n first = true,\n segmentPath: string[] = []\n): string[] {\n let node: FlightRouterState\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey]\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1]\n node = parallelRoutes.children ?? Object.values(parallelRoutes)[0]\n }\n\n if (!node) return segmentPath\n const segment = node[0]\n\n let segmentValue = getSegmentValue(segment)\n\n if (!segmentValue || segmentValue === PAGE_SEGMENT_KEY) {\n return segmentPath\n }\n\n segmentPath.push(segmentValue)\n\n return getSelectedLayoutSegmentPath(\n node,\n parallelRouteKey,\n false,\n segmentPath\n )\n}\n\nexport const PAGE_SEGMENT_KEY = '__PAGE__'\nexport const DEFAULT_SEGMENT_KEY = '__DEFAULT__'\nexport const NOT_FOUND_SEGMENT_KEY = '/_not-found'\n"],"names":["getSegmentValue","segment","Array","isArray","isGroupSegment","endsWith","isParallelRouteSegment","startsWith","computeSelectedLayoutSegment","segments","parallelRouteKey","length","rawSegment","DEFAULT_SEGMENT_KEY","getSelectedLayoutSegmentPath","tree","first","segmentPath","node","parallelRoutes","children","Object","values","segmentValue","PAGE_SEGMENT_KEY","push","NOT_FOUND_SEGMENT_KEY"],"mappings":";;;;;;;;;;;;;;;;;;AAEO,SAASA,gBAAgBC,OAAgB;IAC9C,OAAOC,MAAMC,OAAO,CAACF,WAAWA,OAAO,CAAC,EAAE,GAAGA;AAC/C;AAEO,SAASG,eAAeH,OAAe;IAC5C,sCAAsC;IACtC,OAAOA,OAAO,CAAC,EAAE,KAAK,OAAOA,QAAQI,QAAQ,CAAC;AAChD;AAEO,SAASC,uBAAuBL,OAAe;IACpD,OAAOA,QAAQM,UAAU,CAAC,QAAQN,YAAY;AAChD;AAEO,SAASO,6BACdC,QAAyB,EACzBC,gBAAwB;IAExB,IAAI,CAACD,YAAYA,SAASE,MAAM,KAAK,GAAG;QACtC,OAAO;IACT;IAEA,iFAAiF;IACjF,MAAMC,aACJF,qBAAqB,aACjBD,QAAQ,CAAC,EAAE,GACXA,QAAQ,CAACA,SAASE,MAAM,GAAG,EAAE;IAEnC,sGAAsG;IACtG,oEAAoE;IACpE,OAAOC,eAAeC,sBAAsB,OAAOD;AACrD;AAGO,SAASE,6BACdC,IAAuB,EACvBL,gBAAwB,EACxBM,QAAQ,IAAI,EACZC,cAAwB,EAAE;IAE1B,IAAIC;IACJ,IAAIF,OAAO;QACT,kEAAkE;QAClEE,OAAOH,IAAI,CAAC,EAAE,CAACL,iBAAiB;IAClC,OAAO;QACL,oGAAoG;QACpG,MAAMS,iBAAiBJ,IAAI,CAAC,EAAE;QAC9BG,OAAOC,eAAeC,QAAQ,IAAIC,OAAOC,MAAM,CAACH,eAAe,CAAC,EAAE;IACpE;IAEA,IAAI,CAACD,MAAM,OAAOD;IAClB,MAAMhB,UAAUiB,IAAI,CAAC,EAAE;IAEvB,IAAIK,eAAevB,gBAAgBC;IAEnC,IAAI,CAACsB,gBAAgBA,iBAAiBC,kBAAkB;QACtD,OAAOP;IACT;IAEAA,YAAYQ,IAAI,CAACF;IAEjB,OAAOT,6BACLI,MACAR,kBACA,OACAO;AAEJ;AAEO,MAAMO,mBAAmB,WAAU;AACnC,MAAMX,sBAAsB,cAAa;AACzC,MAAMa,wBAAwB,cAAa","ignoreList":[0]}}, + {"offset": {"line": 11973, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/utils.ts"],"sourcesContent":["import type { HtmlProps } from './html-context.shared-runtime'\nimport type { ComponentType, JSX } from 'react'\nimport type { DomainLocale } from '../../server/config'\nimport type { Env } from '@next/env'\nimport type { IncomingMessage, ServerResponse } from 'http'\nimport type { NextRouter } from './router/router'\nimport type { ParsedUrlQuery } from 'querystring'\nimport type { PreviewData } from '../../types'\nimport type { COMPILER_NAMES } from './constants'\nimport type fs from 'fs'\n\nexport type NextComponentType<\n Context extends BaseContext = NextPageContext,\n InitialProps = {},\n Props = {},\n> = ComponentType & {\n /**\n * Used for initial page load data population. Data returned from `getInitialProps` is serialized when server rendered.\n * Make sure to return plain `Object` without using `Date`, `Map`, `Set`.\n * @param context Context of `page`\n */\n getInitialProps?(context: Context): InitialProps | Promise\n}\n\nexport type DocumentType = NextComponentType<\n DocumentContext,\n DocumentInitialProps,\n DocumentProps\n>\n\nexport type AppType

= NextComponentType<\n AppContextType,\n P,\n AppPropsType\n>\n\nexport type AppTreeType = ComponentType<\n AppInitialProps & { [name: string]: any }\n>\n\n/**\n * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.\n * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting\n */\nexport const WEB_VITALS = ['CLS', 'FCP', 'INP', 'LCP', 'TTFB'] as const\nexport type NextWebVitalsMetric = {\n id: string\n startTime: number\n value: number\n attribution?: { [key: string]: unknown }\n} & (\n | {\n label: 'web-vital'\n name: (typeof WEB_VITALS)[number]\n }\n | {\n label: 'custom'\n name:\n | 'Next.js-hydration'\n | 'Next.js-route-change-to-render'\n | 'Next.js-render'\n }\n)\n\nexport type Enhancer = (Component: C) => C\n\nexport type ComponentsEnhancer =\n | {\n enhanceApp?: Enhancer\n enhanceComponent?: Enhancer\n }\n | Enhancer\n\nexport type RenderPageResult = {\n html: string\n head?: Array\n}\n\nexport type RenderPage = (\n options?: ComponentsEnhancer\n) => DocumentInitialProps | Promise\n\nexport type BaseContext = {\n res?: ServerResponse\n [k: string]: any\n}\n\nexport type NEXT_DATA = {\n props: Record\n page: string\n query: ParsedUrlQuery\n buildId: string\n assetPrefix?: string\n nextExport?: boolean\n autoExport?: boolean\n isFallback?: boolean\n isExperimentalCompile?: boolean\n dynamicIds?: (string | number)[]\n err?: Error & {\n statusCode?: number\n source?: typeof COMPILER_NAMES.server | typeof COMPILER_NAMES.edgeServer\n }\n gsp?: boolean\n gssp?: boolean\n customServer?: boolean\n gip?: boolean\n appGip?: boolean\n locale?: string\n locales?: readonly string[]\n defaultLocale?: string\n domainLocales?: readonly DomainLocale[]\n scriptLoader?: any[]\n isPreview?: boolean\n notFoundSrcPage?: string\n}\n\n/**\n * `Next` context\n */\nexport interface NextPageContext {\n /**\n * Error object if encountered during rendering\n */\n err?: (Error & { statusCode?: number }) | null\n /**\n * `HTTP` request object.\n */\n req?: IncomingMessage\n /**\n * `HTTP` response object.\n */\n res?: ServerResponse\n /**\n * Path section of `URL`.\n */\n pathname: string\n /**\n * Query string section of `URL` parsed as an object.\n */\n query: ParsedUrlQuery\n /**\n * `String` of the actual path including query.\n */\n asPath?: string\n /**\n * The currently active locale\n */\n locale?: string\n /**\n * All configured locales\n */\n locales?: readonly string[]\n /**\n * The configured default locale\n */\n defaultLocale?: string\n /**\n * `Component` the tree of the App to use if needing to render separately\n */\n AppTree: AppTreeType\n}\n\nexport type AppContextType = {\n Component: NextComponentType\n AppTree: AppTreeType\n ctx: NextPageContext\n router: Router\n}\n\nexport type AppInitialProps = {\n pageProps: PageProps\n}\n\nexport type AppPropsType<\n Router extends NextRouter = NextRouter,\n PageProps = {},\n> = AppInitialProps & {\n Component: NextComponentType\n router: Router\n __N_SSG?: boolean\n __N_SSP?: boolean\n}\n\nexport type DocumentContext = NextPageContext & {\n renderPage: RenderPage\n defaultGetInitialProps(\n ctx: DocumentContext,\n options?: { nonce?: string }\n ): Promise\n}\n\nexport type DocumentInitialProps = RenderPageResult & {\n styles?: React.ReactElement[] | Iterable | JSX.Element\n}\n\nexport type DocumentProps = DocumentInitialProps & HtmlProps\n\n/**\n * Next `API` route request\n */\nexport interface NextApiRequest extends IncomingMessage {\n /**\n * Object of `query` values from url\n */\n query: Partial<{\n [key: string]: string | string[]\n }>\n /**\n * Object of `cookies` from header\n */\n cookies: Partial<{\n [key: string]: string\n }>\n\n body: any\n\n env: Env\n\n draftMode?: boolean\n\n preview?: boolean\n /**\n * Preview data set on the request, if any\n * */\n previewData?: PreviewData\n}\n\n/**\n * Send body of response\n */\ntype Send = (body: T) => void\n\n/**\n * Next `API` route response\n */\nexport type NextApiResponse = ServerResponse & {\n /**\n * Send data `any` data in response\n */\n send: Send\n /**\n * Send data `json` data in response\n */\n json: Send\n status: (statusCode: number) => NextApiResponse\n redirect(url: string): NextApiResponse\n redirect(status: number, url: string): NextApiResponse\n\n /**\n * Set draft mode\n */\n setDraftMode: (options: { enable: boolean }) => NextApiResponse\n\n /**\n * Set preview data for Next.js' prerender mode\n */\n setPreviewData: (\n data: object | string,\n options?: {\n /**\n * Specifies the number (in seconds) for the preview session to last for.\n * The given number will be converted to an integer by rounding down.\n * By default, no maximum age is set and the preview session finishes\n * when the client shuts down (browser is closed).\n */\n maxAge?: number\n /**\n * Specifies the path for the preview session to work under. By default,\n * the path is considered the \"default path\", i.e., any pages under \"/\".\n */\n path?: string\n }\n ) => NextApiResponse\n\n /**\n * Clear preview data for Next.js' prerender mode\n */\n clearPreviewData: (options?: { path?: string }) => NextApiResponse\n\n /**\n * Revalidate a specific page and regenerate it using On-Demand Incremental\n * Static Regeneration.\n * The path should be an actual path, not a rewritten path. E.g. for\n * \"/blog/[slug]\" this should be \"/blog/post-1\".\n * @link https://nextjs.org/docs/app/building-your-application/data-fetching/incremental-static-regeneration#on-demand-revalidation-with-revalidatepath\n */\n revalidate: (\n urlPath: string,\n opts?: {\n unstable_onlyGenerated?: boolean\n }\n ) => Promise\n}\n\n/**\n * Next `API` route handler\n */\nexport type NextApiHandler = (\n req: NextApiRequest,\n res: NextApiResponse\n) => unknown | Promise\n\n/**\n * Utils\n */\nexport function execOnce ReturnType>(\n fn: T\n): T {\n let used = false\n let result: ReturnType\n\n return ((...args: any[]) => {\n if (!used) {\n used = true\n result = fn(...args)\n }\n return result\n }) as T\n}\n\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/\nexport const isAbsoluteUrl = (url: string) => {\n // Fast path: an absolute URL must start with a letter (the scheme).\n // Check for a-z and A-Z without the cost of the regex.\n const c = url.charCodeAt(0)\n const isLetter =\n (c >= 65 /* A */ && c <= 90) /* Z */ ||\n (c >= 97 /* a */ && c <= 122) /* z */\n if (!isLetter) {\n return false\n }\n\n return ABSOLUTE_URL_REGEX.test(url)\n}\n\nexport function getLocationOrigin() {\n const { protocol, hostname, port } = window.location\n return `${protocol}//${hostname}${port ? ':' + port : ''}`\n}\n\nexport function getURL() {\n const { href } = window.location\n const origin = getLocationOrigin()\n return href.substring(origin.length)\n}\n\nexport function getDisplayName

(Component: ComponentType

) {\n return typeof Component === 'string'\n ? Component\n : Component.displayName || Component.name || 'Unknown'\n}\n\nexport function isResSent(res: ServerResponse) {\n return res.finished || res.headersSent\n}\n\nexport function normalizeRepeatedSlashes(url: string) {\n const urlParts = url.split('?')\n const urlNoQuery = urlParts[0]\n\n return (\n urlNoQuery\n // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/')\n .replace(/\\/\\/+/g, '/') +\n (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '')\n )\n}\n\nexport async function loadGetInitialProps<\n C extends BaseContext,\n IP = {},\n P = {},\n>(App: NextComponentType, ctx: C): Promise {\n if (process.env.NODE_ENV !== 'production') {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`\n throw new Error(message)\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || (ctx.ctx && ctx.ctx.res)\n\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx),\n }\n }\n return {} as IP\n }\n\n const props = await App.getInitialProps(ctx)\n\n if (res && isResSent(res)) {\n return props\n }\n\n if (!props) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`\n throw new Error(message)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\n `${getDisplayName(\n App\n )} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`\n )\n }\n }\n\n return props\n}\n\nexport const SP = typeof performance !== 'undefined'\nexport const ST =\n SP &&\n (['mark', 'measure', 'getEntriesByName'] as const).every(\n (method) => typeof performance[method] === 'function'\n )\n\nexport class DecodeError extends Error {}\nexport class NormalizeError extends Error {}\nexport class PageNotFoundError extends Error {\n code: string\n\n constructor(page: string) {\n super()\n this.code = 'ENOENT'\n this.name = 'PageNotFoundError'\n this.message = `Cannot find module for page: ${page}`\n }\n}\n\nexport class MissingStaticPage extends Error {\n constructor(page: string, message: string) {\n super()\n this.message = `Failed to load static file for page: ${page} ${message}`\n }\n}\n\nexport class MiddlewareNotFoundError extends Error {\n code: string\n constructor() {\n super()\n this.code = 'ENOENT'\n this.message = `Cannot find the middleware module`\n }\n}\n\nexport interface CacheFs {\n existsSync: typeof fs.existsSync\n readFile: typeof fs.promises.readFile\n readFileSync: typeof fs.readFileSync\n writeFile(f: string, d: any): Promise\n /** Publish a complete file without replacing an existing destination. */\n writeFileAtomic?(f: string, d: any): Promise\n mkdir(dir: string): Promise\n stat(f: string): Promise<{ mtime: Date }>\n}\n\nexport function stringifyError(error: Error) {\n return JSON.stringify({ message: error.message, stack: error.stack })\n}\n"],"names":["WEB_VITALS","execOnce","fn","used","result","args","ABSOLUTE_URL_REGEX","isAbsoluteUrl","url","c","charCodeAt","isLetter","test","getLocationOrigin","protocol","hostname","port","window","location","getURL","href","origin","substring","length","getDisplayName","Component","displayName","name","isResSent","res","finished","headersSent","normalizeRepeatedSlashes","urlParts","split","urlNoQuery","replace","slice","join","loadGetInitialProps","App","ctx","process","env","NODE_ENV","prototype","getInitialProps","message","Error","pageProps","props","Object","keys","console","warn","SP","performance","ST","every","method","DecodeError","NormalizeError","PageNotFoundError","constructor","page","code","MissingStaticPage","MiddlewareNotFoundError","stringifyError","error","JSON","stringify","stack"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 12139, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/experimental/testmode/context.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks'\n\nexport interface TestReqInfo {\n url: string\n proxyPort: number\n testData: string\n}\n\nexport interface TestRequestReader {\n url(req: R): string\n header(req: R, name: string): string | null\n}\n\nconst testStorage = new AsyncLocalStorage()\n\nfunction extractTestInfoFromRequest(\n req: R,\n reader: TestRequestReader\n): TestReqInfo | undefined {\n const proxyPortHeader = reader.header(req, 'next-test-proxy-port')\n if (!proxyPortHeader) {\n return undefined\n }\n const url = reader.url(req)\n const proxyPort = Number(proxyPortHeader)\n const testData = reader.header(req, 'next-test-data') || ''\n return { url, proxyPort, testData }\n}\n\nexport function withRequest(\n req: R,\n reader: TestRequestReader,\n fn: () => T\n): T {\n const testReqInfo = extractTestInfoFromRequest(req, reader)\n if (!testReqInfo) {\n return fn()\n }\n return testStorage.run(testReqInfo, fn)\n}\n\nexport function getTestReqInfo(\n req?: R,\n reader?: TestRequestReader\n): TestReqInfo | undefined {\n const testReqInfo = testStorage.getStore()\n if (testReqInfo) {\n return testReqInfo\n }\n if (req && reader) {\n return extractTestInfoFromRequest(req, reader)\n }\n return undefined\n}\n"],"names":["getTestReqInfo","withRequest","testStorage","AsyncLocalStorage","extractTestInfoFromRequest","req","reader","proxyPortHeader","header","undefined","url","proxyPort","Number","testData","fn","testReqInfo","run","getStore"],"mappings":";;;;;;;;;;;;;;IAyCgBA,cAAc,EAAA;eAAdA;;IAZAC,WAAW,EAAA;eAAXA;;;iCA7BkB;AAalC,MAAMC,cAAc,IAAIC,iBAAAA,iBAAiB;AAEzC,SAASC,2BACPC,GAAM,EACNC,MAA4B;IAE5B,MAAMC,kBAAkBD,OAAOE,MAAM,CAACH,KAAK;IAC3C,IAAI,CAACE,iBAAiB;QACpB,OAAOE;IACT;IACA,MAAMC,MAAMJ,OAAOI,GAAG,CAACL;IACvB,MAAMM,YAAYC,OAAOL;IACzB,MAAMM,WAAWP,OAAOE,MAAM,CAACH,KAAK,qBAAqB;IACzD,OAAO;QAAEK;QAAKC;QAAWE;IAAS;AACpC;AAEO,SAASZ,YACdI,GAAM,EACNC,MAA4B,EAC5BQ,EAAW;IAEX,MAAMC,cAAcX,2BAA2BC,KAAKC;IACpD,IAAI,CAACS,aAAa;QAChB,OAAOD;IACT;IACA,OAAOZ,YAAYc,GAAG,CAACD,aAAaD;AACtC;AAEO,SAASd,eACdK,GAAO,EACPC,MAA6B;IAE7B,MAAMS,cAAcb,YAAYe,QAAQ;IACxC,IAAIF,aAAa;QACf,OAAOA;IACT;IACA,IAAIV,OAAOC,QAAQ;QACjB,OAAOF,2BAA2BC,KAAKC;IACzC;IACA,OAAOG;AACT","ignoreList":[0]}}, + {"offset": {"line": 12197, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/experimental/testmode/fetch.ts"],"sourcesContent":["import type {\n ProxyFetchRequest,\n ProxyFetchResponse,\n ProxyResponse,\n} from './proxy'\nimport { getTestReqInfo, type TestRequestReader } from './context'\n\ntype Fetch = typeof fetch\ntype FetchInputArg = Parameters[0]\ntype FetchInitArg = Parameters[1]\n\nexport const reader: TestRequestReader = {\n url(req) {\n return req.url\n },\n header(req, name) {\n return req.headers.get(name)\n },\n}\n\nfunction getTestStack(): string {\n let stack = (new Error().stack ?? '').split('\\n')\n // Skip the first line and find first non-empty line.\n for (let i = 1; i < stack.length; i++) {\n if (stack[i].length > 0) {\n stack = stack.slice(i)\n break\n }\n }\n // Filter out franmework lines.\n stack = stack.filter((f) => !f.includes('/next/dist/'))\n // At most 5 lines.\n stack = stack.slice(0, 5)\n // Cleanup some internal info and trim.\n stack = stack.map((s) => s.replace('webpack-internal:///(rsc)/', '').trim())\n return stack.join(' ')\n}\n\nasync function buildProxyRequest(\n testData: string,\n request: Request\n): Promise {\n const {\n url,\n method,\n headers,\n body,\n cache,\n credentials,\n integrity,\n mode,\n redirect,\n referrer,\n referrerPolicy,\n } = request\n return {\n testData,\n api: 'fetch',\n request: {\n url,\n method,\n headers: [...Array.from(headers), ['next-test-stack', getTestStack()]],\n body: body\n ? Buffer.from(await request.arrayBuffer()).toString('base64')\n : null,\n cache,\n credentials,\n integrity,\n mode,\n redirect,\n referrer,\n referrerPolicy,\n },\n }\n}\n\nfunction buildResponse(proxyResponse: ProxyFetchResponse): Response {\n const { status, headers, body } = proxyResponse.response\n return new Response(body ? Buffer.from(body, 'base64') : null, {\n status,\n headers: new Headers(headers),\n })\n}\n\nfunction passthroughFetch(\n originalFetch: Fetch,\n request: Request\n): Promise {\n // Mark the request so the ClientRequest interception in `httpget.ts` sends it\n // to the real server instead of intercepting it again. @mswjs/interceptors\n // intercepts at the TCP level, so an unmarked passthrough would re-enter the\n // interception listener from within itself, recursing indefinitely.\n request.headers.set('next-test-internal', '1')\n return originalFetch(request)\n}\n\nexport async function handleFetch(\n originalFetch: Fetch,\n request: Request\n): Promise {\n const testInfo = getTestReqInfo(request, reader)\n if (!testInfo) {\n // Passthrough non-test requests.\n return passthroughFetch(originalFetch, request)\n }\n\n const { testData, proxyPort } = testInfo\n const proxyRequest = await buildProxyRequest(testData, request)\n\n const resp = await originalFetch(`http://localhost:${proxyPort}`, {\n method: 'POST',\n body: JSON.stringify(proxyRequest),\n // The header lets the ClientRequest interception in `httpget.ts` identify\n // this request as part of the test proxy protocol. @mswjs/interceptors\n // intercepts at the TCP level, so this request would otherwise be\n // intercepted again when it's sent from within an interception listener,\n // recursing indefinitely.\n headers: {\n 'next-test-internal': '1',\n },\n next: {\n // @ts-ignore\n internal: true,\n },\n })\n if (!resp.ok) {\n throw new Error(`Proxy request failed: ${resp.status}`)\n }\n\n const proxyResponse = (await resp.json()) as ProxyResponse\n const { api } = proxyResponse\n switch (api) {\n case 'continue':\n return passthroughFetch(originalFetch, request)\n case 'abort':\n case 'unhandled':\n throw new Error(\n `Proxy request aborted [${request.method} ${request.url}]`\n )\n case 'fetch':\n return buildResponse(proxyResponse)\n default:\n return api satisfies never\n }\n}\n\nexport function interceptFetch(originalFetch: Fetch) {\n global.fetch = function testFetch(\n input: FetchInputArg,\n init?: FetchInitArg\n ): Promise {\n // Passthrough internal requests.\n // @ts-ignore\n if (init?.next?.internal) {\n return originalFetch(input, init)\n }\n return handleFetch(originalFetch, new Request(input, init))\n }\n return () => {\n global.fetch = originalFetch\n }\n}\n"],"names":["handleFetch","interceptFetch","reader","url","req","header","name","headers","get","getTestStack","stack","Error","split","i","length","slice","filter","f","includes","map","s","replace","trim","join","buildProxyRequest","testData","request","method","body","cache","credentials","integrity","mode","redirect","referrer","referrerPolicy","api","Array","from","Buffer","arrayBuffer","toString","buildResponse","proxyResponse","status","response","Response","Headers","passthroughFetch","originalFetch","set","testInfo","getTestReqInfo","proxyPort","proxyRequest","resp","JSON","stringify","next","internal","ok","json","global","fetch","testFetch","input","init","Request"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 12348, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/experimental/testmode/server-edge.ts"],"sourcesContent":["import { withRequest as withRequestContext } from './context'\nimport { interceptFetch, reader } from './fetch'\n\nexport function interceptTestApis(): () => void {\n return interceptFetch(global.fetch)\n}\n\nexport function wrapRequestHandler(\n handler: (req: TRequest, fn: () => T) => T\n): (req: TRequest, fn: () => T) => T {\n return (req, fn) => withRequestContext(req, reader, () => handler(req, fn))\n}\n"],"names":["interceptTestApis","wrapRequestHandler","interceptFetch","global","fetch","handler","req","fn","withRequestContext","reader"],"mappings":";;;;;;;;;;;;;;IAGgBA,iBAAiB,EAAA;eAAjBA;;IAIAC,kBAAkB,EAAA;eAAlBA;;;yBAPkC;uBACX;AAEhC,SAASD;IACd,OAAOE,CAAAA,GAAAA,OAAAA,cAAc,EAACC,yDAAOC,KAAK;AACpC;AAEO,SAASH,mBACdI,OAA0C;IAE1C,OAAO,CAACC,KAAKC,KAAOC,CAAAA,GAAAA,SAAAA,WAAkB,EAACF,KAAKG,OAAAA,MAAM,EAAE,IAAMJ,QAAQC,KAAKC;AACzE","ignoreList":[0]}}, + {"offset": {"line": 12381, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/constants.ts"],"sourcesContent":["import type { ServerRuntime } from '../types'\n\nexport const TEXT_PLAIN_CONTENT_TYPE_HEADER = 'text/plain'\nexport const HTML_CONTENT_TYPE_HEADER = 'text/html; charset=utf-8'\nexport const JSON_CONTENT_TYPE_HEADER = 'application/json; charset=utf-8'\nexport const NEXT_QUERY_PARAM_PREFIX = 'nxtP'\nexport const NEXT_INTERCEPTION_MARKER_PREFIX = 'nxtI'\n\nexport const MATCHED_PATH_HEADER = 'x-matched-path'\nexport const PRERENDER_REVALIDATE_HEADER = 'x-prerender-revalidate'\nexport const PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER =\n 'x-prerender-revalidate-if-generated'\n\nexport const RSC_SEGMENTS_DIR_SUFFIX = '.segments'\nexport const RSC_SEGMENT_SUFFIX = '.segment.rsc'\nexport const RSC_SUFFIX = '.rsc'\nexport const ACTION_SUFFIX = '.action'\nexport const NEXT_DATA_SUFFIX = '.json'\nexport const NEXT_META_SUFFIX = '.meta'\nexport const NEXT_BODY_SUFFIX = '.body'\n\nexport const NEXT_NAV_DEPLOYMENT_ID_HEADER = 'x-nextjs-deployment-id'\n\nexport const NEXT_CACHE_TAGS_HEADER = 'x-next-cache-tags'\nexport const NEXT_CACHE_REVALIDATED_TAGS_HEADER = 'x-next-revalidated-tags'\nexport const NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER =\n 'x-next-revalidate-tag-token'\n\nexport const NEXT_RESUME_HEADER = 'next-resume'\nexport const NEXT_RESUME_STATE_LENGTH_HEADER = 'x-next-resume-state-length'\n\n// if these change make sure we update the related\n// documentation as well\nexport const NEXT_CACHE_TAG_MAX_ITEMS = 128\nexport const NEXT_CACHE_TAG_MAX_LENGTH = 256\nexport const NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024\nexport const NEXT_CACHE_IMPLICIT_TAG_ID = '_N_T_'\nexport const NEXT_CACHE_ROOT_PARAM_TAG_ID = '_N_RP_'\n\n// in seconds\nexport const CACHE_ONE_YEAR_SECONDS = 31536000\n\n// in seconds, represents revalidate=false. I.e. never revaliate.\n// We use this value since it can be represented as a V8 SMI for optimal performance.\n// It can also be serialized as JSON if it ever leaks accidentally as an actual value.\nexport const INFINITE_CACHE = 0xfffffffe\n\n// Patterns to detect middleware files\nexport const MIDDLEWARE_FILENAME = 'middleware'\nexport const MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`\n\n// Patterns to detect proxy files (replacement for middleware)\nexport const PROXY_FILENAME = 'proxy'\nexport const PROXY_LOCATION_REGEXP = `(?:src/)?${PROXY_FILENAME}`\n\n// Pattern to detect instrumentation hooks file\nexport const INSTRUMENTATION_HOOK_FILENAME = 'instrumentation'\n\n// Because on Windows absolute paths in the generated code can break because of numbers, eg 1 in the path,\n// we have to use a private alias\nexport const PAGES_DIR_ALIAS = 'private-next-pages'\nexport const DOT_NEXT_ALIAS = 'private-dot-next'\nexport const ROOT_DIR_ALIAS = 'private-next-root-dir'\nexport const APP_DIR_ALIAS = 'private-next-app-dir'\nexport const RSC_MOD_REF_PROXY_ALIAS = 'private-next-rsc-mod-ref-proxy'\nexport const RSC_ACTION_VALIDATE_ALIAS = 'private-next-rsc-action-validate'\nexport const RSC_ACTION_PROXY_ALIAS = 'private-next-rsc-server-reference'\nexport const RSC_CACHE_WRAPPER_ALIAS = 'private-next-rsc-cache-wrapper'\nexport const RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS =\n 'private-next-rsc-track-dynamic-import'\nexport const RSC_ACTION_ENCRYPTION_ALIAS = 'private-next-rsc-action-encryption'\nexport const RSC_ACTION_CLIENT_WRAPPER_ALIAS =\n 'private-next-rsc-action-client-wrapper'\n\nexport const PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`\n\nexport const SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`\n\nexport const SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`\n\nexport const SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`\n\nexport const STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`\n\nexport const SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`\n\nexport const GSP_NO_RETURNED_VALUE =\n 'Your `getStaticProps` function did not return an object. Did you forget to add a `return`?'\nexport const GSSP_NO_RETURNED_VALUE =\n 'Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?'\n\nexport const UNSTABLE_REVALIDATE_RENAME_ERROR =\n 'The `unstable_revalidate` property is available for general use.\\n' +\n 'Please use `revalidate` instead.'\n\nexport const GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`\n\nexport const NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`\n\nexport const SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`\n\nexport const ESLINT_DEFAULT_DIRS = ['app', 'pages', 'components', 'lib', 'src']\n\nexport const SERVER_RUNTIME: Record = {\n edge: 'edge',\n experimentalEdge: 'experimental-edge',\n nodejs: 'nodejs',\n}\n\nexport const WEB_SOCKET_MAX_RECONNECTIONS = 12\n\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */\nconst WEBPACK_LAYERS_NAMES = {\n /**\n * The layer for the shared code between the client and server bundles.\n */\n shared: 'shared',\n /**\n * The layer for server-only runtime and picking up `react-server` export conditions.\n * Including app router RSC pages and app router custom routes and metadata routes.\n */\n reactServerComponents: 'rsc',\n /**\n * Server Side Rendering layer for app (ssr).\n */\n serverSideRendering: 'ssr',\n /**\n * The browser client bundle layer for actions.\n */\n actionBrowser: 'action-browser',\n /**\n * The Node.js bundle layer for the API routes.\n */\n apiNode: 'api-node',\n /**\n * The Edge Lite bundle layer for the API routes.\n */\n apiEdge: 'api-edge',\n /**\n * The layer for the middleware code.\n */\n middleware: 'middleware',\n /**\n * The layer for the instrumentation hooks.\n */\n instrument: 'instrument',\n /**\n * The layer for assets on the edge.\n */\n edgeAsset: 'edge-asset',\n /**\n * The browser client bundle layer for App directory.\n */\n appPagesBrowser: 'app-pages-browser',\n /**\n * The browser client bundle layer for Pages directory.\n */\n pagesDirBrowser: 'pages-dir-browser',\n /**\n * The Edge Lite bundle layer for Pages directory.\n */\n pagesDirEdge: 'pages-dir-edge',\n /**\n * The Node.js bundle layer for Pages directory.\n */\n pagesDirNode: 'pages-dir-node',\n} as const\n\nexport type WebpackLayerName =\n (typeof WEBPACK_LAYERS_NAMES)[keyof typeof WEBPACK_LAYERS_NAMES]\n\nconst WEBPACK_LAYERS = {\n ...WEBPACK_LAYERS_NAMES,\n GROUP: {\n builtinReact: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n ],\n serverOnly: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.instrument,\n WEBPACK_LAYERS_NAMES.middleware,\n ],\n neutralTarget: [\n // pages api\n WEBPACK_LAYERS_NAMES.apiNode,\n WEBPACK_LAYERS_NAMES.apiEdge,\n ],\n clientOnly: [\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n ],\n bundled: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.shared,\n WEBPACK_LAYERS_NAMES.instrument,\n WEBPACK_LAYERS_NAMES.middleware,\n ],\n appPages: [\n // app router pages and layouts\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n ],\n },\n}\n\nconst WEBPACK_RESOURCE_QUERIES = {\n edgeSSREntry: '__next_edge_ssr_entry__',\n metadata: '__next_metadata__',\n metadataRoute: '__next_metadata_route__',\n metadataImageMeta: '__next_metadata_image_meta__',\n}\n\nexport { WEBPACK_LAYERS, WEBPACK_RESOURCE_QUERIES }\n"],"names":["ACTION_SUFFIX","APP_DIR_ALIAS","CACHE_ONE_YEAR_SECONDS","DOT_NEXT_ALIAS","ESLINT_DEFAULT_DIRS","GSP_NO_RETURNED_VALUE","GSSP_COMPONENT_MEMBER_ERROR","GSSP_NO_RETURNED_VALUE","HTML_CONTENT_TYPE_HEADER","INFINITE_CACHE","INSTRUMENTATION_HOOK_FILENAME","JSON_CONTENT_TYPE_HEADER","MATCHED_PATH_HEADER","MIDDLEWARE_FILENAME","MIDDLEWARE_LOCATION_REGEXP","NEXT_BODY_SUFFIX","NEXT_CACHE_IMPLICIT_TAG_ID","NEXT_CACHE_REVALIDATED_TAGS_HEADER","NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER","NEXT_CACHE_ROOT_PARAM_TAG_ID","NEXT_CACHE_SOFT_TAG_MAX_LENGTH","NEXT_CACHE_TAGS_HEADER","NEXT_CACHE_TAG_MAX_ITEMS","NEXT_CACHE_TAG_MAX_LENGTH","NEXT_DATA_SUFFIX","NEXT_INTERCEPTION_MARKER_PREFIX","NEXT_META_SUFFIX","NEXT_NAV_DEPLOYMENT_ID_HEADER","NEXT_QUERY_PARAM_PREFIX","NEXT_RESUME_HEADER","NEXT_RESUME_STATE_LENGTH_HEADER","NON_STANDARD_NODE_ENV","PAGES_DIR_ALIAS","PRERENDER_REVALIDATE_HEADER","PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER","PROXY_FILENAME","PROXY_LOCATION_REGEXP","PUBLIC_DIR_MIDDLEWARE_CONFLICT","ROOT_DIR_ALIAS","RSC_ACTION_CLIENT_WRAPPER_ALIAS","RSC_ACTION_ENCRYPTION_ALIAS","RSC_ACTION_PROXY_ALIAS","RSC_ACTION_VALIDATE_ALIAS","RSC_CACHE_WRAPPER_ALIAS","RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS","RSC_MOD_REF_PROXY_ALIAS","RSC_SEGMENTS_DIR_SUFFIX","RSC_SEGMENT_SUFFIX","RSC_SUFFIX","SERVER_PROPS_EXPORT_ERROR","SERVER_PROPS_GET_INIT_PROPS_CONFLICT","SERVER_PROPS_SSG_CONFLICT","SERVER_RUNTIME","SSG_FALLBACK_EXPORT_ERROR","SSG_GET_INITIAL_PROPS_CONFLICT","STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR","TEXT_PLAIN_CONTENT_TYPE_HEADER","UNSTABLE_REVALIDATE_RENAME_ERROR","WEBPACK_LAYERS","WEBPACK_RESOURCE_QUERIES","WEB_SOCKET_MAX_RECONNECTIONS","edge","experimentalEdge","nodejs","WEBPACK_LAYERS_NAMES","shared","reactServerComponents","serverSideRendering","actionBrowser","apiNode","apiEdge","middleware","instrument","edgeAsset","appPagesBrowser","pagesDirBrowser","pagesDirEdge","pagesDirNode","GROUP","builtinReact","serverOnly","neutralTarget","clientOnly","bundled","appPages","edgeSSREntry","metadata","metadataRoute","metadataImageMeta"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 12802, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/framework/boundary-constants.tsx"],"sourcesContent":["export const METADATA_BOUNDARY_NAME = '__next_metadata_boundary__'\nexport const VIEWPORT_BOUNDARY_NAME = '__next_viewport_boundary__'\nexport const OUTLET_BOUNDARY_NAME = '__next_outlet_boundary__'\nexport const ROOT_LAYOUT_BOUNDARY_NAME = '__next_root_layout_boundary__'\n"],"names":["METADATA_BOUNDARY_NAME","OUTLET_BOUNDARY_NAME","ROOT_LAYOUT_BOUNDARY_NAME","VIEWPORT_BOUNDARY_NAME"],"mappings":";;;;;;;;;;;;;;;;IAAaA,sBAAsB,EAAA;eAAtBA;;IAEAC,oBAAoB,EAAA;eAApBA;;IACAC,yBAAyB,EAAA;eAAzBA;;IAFAC,sBAAsB,EAAA;eAAtBA;;;AADN,MAAMH,yBAAyB;AAC/B,MAAMG,yBAAyB;AAC/B,MAAMF,uBAAuB;AAC7B,MAAMC,4BAA4B","ignoreList":[0]}}, + {"offset": {"line": 12839, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/lib/scheduler.ts"],"sourcesContent":["export type ScheduledFn = () => T | PromiseLike\nexport type SchedulerFn = (cb: ScheduledFn) => void\n\n/**\n * Schedules a function to be called on the next tick after the other promises\n * have been resolved.\n *\n * @param cb the function to schedule\n */\nexport const scheduleOnNextTick = (cb: ScheduledFn) => {\n // We use Promise.resolve().then() here so that the operation is scheduled at\n // the end of the promise job queue, we then add it to the next process tick\n // to ensure it's evaluated afterwards.\n //\n // This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255\n //\n Promise.resolve().then(() => {\n if (process.env.NEXT_RUNTIME === 'edge') {\n setTimeout(cb, 0)\n } else {\n process.nextTick(cb)\n }\n })\n}\n\n/**\n * Schedules a function to be called using `setImmediate` or `setTimeout` if\n * `setImmediate` is not available (like in the Edge runtime).\n *\n * @param cb the function to schedule\n */\nexport const scheduleImmediate = (cb: ScheduledFn): void => {\n if (process.env.NEXT_RUNTIME === 'edge') {\n setTimeout(cb, 0)\n } else {\n setImmediate(cb)\n }\n}\n\n/**\n * returns a promise than resolves in a future task. There is no guarantee that the task it resolves in\n * will be the next task but if you await it you can at least be sure that the current task is over and\n * most usefully that the entire microtask queue of the current task has been emptied.\n */\nexport function atLeastOneTask() {\n return new Promise((resolve) => scheduleImmediate(resolve))\n}\n\n/**\n * This utility function is extracted to make it easier to find places where we are doing\n * specific timing tricks to try to schedule work after React has rendered. This is especially\n * important at the moment because Next.js uses the edge builds of React which use setTimeout to\n * schedule work when you might expect that something like setImmediate would do the trick.\n *\n * Long term we should switch to the node versions of React rendering when possible and then\n * update this to use setImmediate rather than setTimeout\n */\nexport function waitAtLeastOneReactRenderTask(): Promise {\n if (process.env.NEXT_RUNTIME === 'edge') {\n return new Promise((r) => setTimeout(r, 0))\n } else {\n return new Promise((r) => setImmediate(r))\n }\n}\n"],"names":["atLeastOneTask","scheduleImmediate","scheduleOnNextTick","waitAtLeastOneReactRenderTask","cb","Promise","resolve","then","process","env","NEXT_RUNTIME","setTimeout","nextTick","setImmediate","r"],"mappings":";;;;;;;;;;;;;;;;IA4CgBA,cAAc,EAAA;eAAdA;;IAbHC,iBAAiB,EAAA;eAAjBA;;IAtBAC,kBAAkB,EAAA;eAAlBA;;IAgDGC,6BAA6B,EAAA;eAA7BA;;;AAhDT,MAAMD,qBAAqB,CAACE;IACjC,6EAA6E;IAC7E,4EAA4E;IAC5E,uCAAuC;IACvC,EAAE;IACF,kLAAkL;IAClL,EAAE;IACFC,QAAQC,OAAO,GAAGC,IAAI,CAAC;QACrB,IAAIC,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;aAElC;YACLF,QAAQI,QAAQ,CAACR;QACnB;IACF;AACF;AAQO,MAAMH,oBAAoB,CAACG;IAChC,IAAII,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;SAElC;QACLG,aAAaT;IACf;AACF;AAOO,SAASJ;IACd,OAAO,IAAIK,QAAc,CAACC,UAAYL,kBAAkBK;AAC1D;AAWO,SAASH;IACd,IAAIK,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;SAElC;QACL,OAAO,IAAIL,QAAQ,CAACS,IAAMD,aAAaC;IACzC;AACF","ignoreList":[0]}}, + {"offset": {"line": 12904, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/after/after.ts"],"sourcesContent":["import { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { workUnitAsyncStorage } from '../app-render/work-unit-async-storage.external'\n\nexport type AfterTask = Promise | AfterCallback\nexport type AfterCallback = () => T | Promise\n\n/**\n * This function allows you to schedule callbacks to be executed after the current request finishes.\n */\nexport function after(task: AfterTask): void {\n const workStore = workAsyncStorage.getStore()\n const workUnitStore = workUnitAsyncStorage.getStore()\n\n if (!workStore || !workUnitStore) {\n // TODO(after): the linked docs page talks about *dynamic* APIs, which after soon won't be anymore\n throw new Error(\n '`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context'\n )\n }\n\n const { afterContext } = workStore\n return afterContext.after(task, workUnitStore)\n}\n"],"names":["after","task","workStore","workAsyncStorage","getStore","workUnitStore","workUnitAsyncStorage","Error","afterContext"],"mappings":";;;+BASgBA,SAAAA;;;eAAAA;;;0CATiB;8CACI;AAQ9B,SAASA,MAASC,IAAkB;IACzC,MAAMC,YAAYC,0BAAAA,gBAAgB,CAACC,QAAQ;IAC3C,MAAMC,gBAAgBC,8BAAAA,oBAAoB,CAACF,QAAQ;IAEnD,IAAI,CAACF,aAAa,CAACG,eAAe;QAChC,kGAAkG;QAClG,MAAM,IAAIE,MACR;IAEJ;IAEA,MAAM,EAAEC,YAAY,EAAE,GAAGN;IACzB,OAAOM,aAAaR,KAAK,CAACC,MAAMI;AAClC","ignoreList":[0]}}, + {"offset": {"line": 12929, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/after/index.ts"],"sourcesContent":["export * from './after'\n"],"names":[],"mappings":";;;;qBAAc,qGAAA","ignoreList":[0]}}, + {"offset": {"line": 12951, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/app-render/blocking-route-messages.ts"],"sourcesContent":["export function createRuntimeBodyError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered runtime data during prerendering.\\n\\n` +\n `\\`cookies()\\`, \\`headers()\\`, \\`params\\`, or \\`searchParams\\` accessed outside of \\`\\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [stream] Provide a placeholder with \\`\\` around the data access\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-runtime`\n )\n}\n\nexport function createDynamicBodyError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached data during prerendering.\\n\\n` +\n `\\`fetch(...)\\` or \\`connection()\\` accessed outside of \\`\\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [stream] Provide a placeholder with \\`\\` around the data access\\n` +\n ` - [cache] Cache the data access with \\`\"use cache\"\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`\n )\n}\n\nexport function createRuntimeBodyErrorInNavigation(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered runtime data during prerendering or a navigation.\\n\\n` +\n `\\`cookies()\\`, \\`headers()\\`, \\`params\\`, or \\`searchParams\\` accessed outside of \\`\\` prevents the route from being prerendered or the navigation from being instant, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [stream] Provide a placeholder with \\`\\` around the data access\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-runtime`\n )\n}\n\nexport function createLinkBodyErrorInNavigation(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered URL data during prerendering or a navigation.\\n\\n` +\n `\\`params\\` or \\`searchParams\\` accessed outside of \\`\\` may prevent the navigation from being instant, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [stream] Provide a placeholder with \\`\\` around the data access\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/instant-shell-url-data`\n )\n}\n\nexport function createNavigationBodyErrorInNavigation(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered \\`navigation()\\` during prerendering or a navigation.\\n\\n` +\n `\\`navigation()\\` called outside of \\`\\` may prevent the navigation from being instant, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [stream] Provide a placeholder with \\`\\` around the component that calls \\`navigation()\\`\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage`\n )\n}\n\nexport function createPrefetchBodyErrorInNavigation(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered \\`prefetch()\\` during prerendering or a navigation.\\n\\n` +\n `\\`prefetch()\\` called outside of \\`\\` may prevent the navigation from being instant, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [stream] Provide a placeholder with \\`\\` around the component that calls \\`prefetch()\\`\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage`\n )\n}\n\nexport function createDynamicBodyErrorInNavigation(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached data during prerendering or a navigation.\\n\\n` +\n `\\`fetch(...)\\` or \\`connection()\\` accessed outside of \\`\\` prevents the route from being prerendered or the navigation from being instant, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [stream] Provide a placeholder with \\`\\` around the data access\\n` +\n ` - [cache] Cache the data access with \\`\"use cache\"\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`\n )\n}\n\n/**\n * NOTE: Prefer `createRuntimeBodyError` or `createDynamicBodyError`.\n * Only use this in situations like build-time static validation, where\n * we can't pinpoint a more specific reason.\n */\nexport function createDynamicOrRuntimeBodyError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached or runtime data during prerendering.\\n\\n` +\n `\\`fetch(...)\\`, \\`cookies()\\`, \\`headers()\\`, \\`params\\`, \\`searchParams\\`, or \\`connection()\\` accessed outside of \\`\\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [stream] Provide a placeholder with \\`\\` around the data access\\n` +\n ` - [cache] For uncached data (\\`fetch\\`, database calls): cache the access with \\`\"use cache\"\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-dynamic`\n )\n}\n\nexport function createLinkMetadataError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered URL data in \\`generateMetadata()\\`.\\n\\n` +\n `This route's metadata is blocked, but the rest of its content can be prefetched. \\`params\\` or \\`searchParams\\` accessed in \\`generateMetadata()\\` prevent it from being prefetched.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [static] Use a static metadata export instead of \\`generateMetadata()\\`\\n` +\n ` - [dynamic] Render a marker component that calls \\`await connection()\\` inside \\`\\` on the page\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`\n )\n}\n\nexport function createRuntimeMetadataError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered runtime data in \\`generateMetadata()\\`.\\n\\n` +\n `This route's metadata is blocked, but the rest of its content can be prerendered. \\`cookies()\\`, \\`headers()\\`, \\`params\\`, or \\`searchParams\\` accessed in \\`generateMetadata()\\` cause it to run dynamically.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [static] Use a static metadata export instead of \\`generateMetadata()\\`\\n` +\n ` - [dynamic] Render a marker component that calls \\`await connection()\\` inside \\`\\` on the page\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`\n )\n}\n\nexport function createNavigationMetadataError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered \\`navigation()\\` in \\`generateMetadata()\\`.\\n\\n` +\n `Metadata can already stream without blocking the route's UI, so delaying it until navigation may be unintentional.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [remove] Remove \\`navigation()\\` from \\`generateMetadata()\\`\\n` +\n ` - [mark] Render a marker component that calls \\`await navigation()\\` inside \\`\\` on the page\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage-metadata`\n )\n}\n\nexport function createPrefetchMetadataError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered \\`prefetch()\\` in \\`generateMetadata()\\`.\\n\\n` +\n `Metadata can already stream without blocking the route's UI, so delaying it until a per-link prefetch or navigation may be unintentional.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [remove] Remove \\`prefetch()\\` from \\`generateMetadata()\\`\\n` +\n ` - [mark] Render a marker component that calls \\`await prefetch()\\` inside \\`\\` on the page\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage-metadata`\n )\n}\n\nexport function createDynamicMetadataError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached data in \\`generateMetadata()\\`.\\n\\n` +\n `This route's metadata is blocked, but the rest of its content can be prerendered. \\`fetch(...)\\` or \\`connection()\\` accessed in \\`generateMetadata()\\` cause it to run dynamically.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [cache] Cache the metadata with \\`\"use cache\"\\` in \\`generateMetadata()\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [dynamic] Render a marker component that calls \\`await connection()\\` inside \\`\\` on the page\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-dynamic`\n )\n}\n\nexport function createLinkViewportError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered URL data in \\`generateViewport()\\`.\\n\\n` +\n `\\`params\\` or \\`searchParams\\` in \\`generateViewport()\\` prevents the page from being prerendered, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [static] Use a static viewport export instead of \\`generateViewport()\\`\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-runtime`\n )\n}\n\nexport function createRuntimeViewportError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered runtime data in \\`generateViewport()\\`.\\n\\n` +\n `\\`cookies()\\`, \\`headers()\\`, \\`params\\`, or \\`searchParams\\` in \\`generateViewport()\\` prevents the page from being prerendered, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [static] Use a static viewport export instead of \\`generateViewport()\\`\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-runtime`\n )\n}\n\nexport function createNavigationViewportError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered \\`navigation()\\` in \\`generateViewport()\\`.\\n\\n` +\n `This prevents Next.js from creating the App Shell, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [remove] Remove \\`navigation()\\` from \\`generateViewport()\\`\\n` +\n ` - [ignore] Set \\`export const instant = false\\` to disable validation for this segment\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage-viewport`\n )\n}\n\nexport function createPrefetchViewportError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered \\`prefetch()\\` in \\`generateViewport()\\`.\\n\\n` +\n `This prevents Next.js from creating the App Shell, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [remove] Remove \\`prefetch()\\` from \\`generateViewport()\\`\\n` +\n ` - [ignore] Set \\`export const instant = false\\` to disable validation for this segment\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/instant-navigation-stage-viewport`\n )\n}\n\nexport function createDynamicViewportError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached data in \\`generateViewport()\\`.\\n\\n` +\n `\\`fetch(...)\\` or \\`connection()\\` in \\`generateViewport()\\` prevents the page from being prerendered, leading to a slower user experience.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [cache] Cache the viewport data with \\`\"use cache\"\\` in \\`generateViewport()\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-dynamic`\n )\n}\n\n/**\n * NOTE: Prefer `createRuntimeViewportError` or `createDynamicViewportError`.\n * Only use this in situations like build-time static validation, where\n * we can't pinpoint a more specific reason.\n */\nexport function createDynamicOrRuntimeViewportError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached or runtime data in \\`generateViewport()\\`.\\n\\n` +\n `This prevents the page from being prerendered, leading to a slower user experience. Unlike metadata, viewport cannot be streamed behind \\`\\` because it affects the initial page load.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [static] Use a static viewport export instead of \\`generateViewport()\\`\\n` +\n ` - [cache] For uncached data (\\`fetch\\`, database calls): cache the viewport with \\`\"use cache\"\\` in \\`generateViewport()\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-viewport-runtime`\n )\n}\n\n/**\n * NOTE: Prefer `createRuntimeMetadataError` or `createDynamicMetadataError`.\n * Only use this in situations like build-time static validation, where\n * we can't pinpoint a more specific reason.\n */\nexport function createDynamicOrRuntimeMetadataError(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached or runtime data in \\`generateMetadata()\\`.\\n\\n` +\n `This route's metadata is blocked, but the rest of its content can be prerendered.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [static] Use a static metadata export instead of \\`generateMetadata()\\`\\n` +\n ` - [cache] Cache the metadata with \\`\"use cache\"\\` in \\`generateMetadata()\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [dynamic] Render a marker component that calls \\`await connection()\\` inside \\`\\` on the page\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-metadata-runtime`\n )\n}\n\n//====================================================\n// Static routes (with `ensureStatic = \"navigation\"`)\n//====================================================\n\nexport function createRuntimeBodyErrorInStaticRoute(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered runtime data on a route that must be fully static.\\n\\n` +\n `This route is configured to be fully static, but runtime data from \\`cookies()\\`, \\`headers()\\`, \\`params\\`, \\`searchParams\\`, or a short-lived cache requires rendering at request time.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [remove] Remove the data access\\n` +\n ` - [client] Read the data on the client\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/static-route-runtime`\n )\n}\n\nexport function createDynamicBodyErrorInStaticRoute(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached data on a route that must be fully static.\\n\\n` +\n `This route is configured to be fully static, but an uncached \\`fetch(...)\\`, database call, or \\`connection()\\` requires rendering at request time.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [cache] Cache the data access with \\`\"use cache\"\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [remove] Remove the data access\\n` +\n ` - [client] Read the data on the client\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/static-route-dynamic`\n )\n}\n\nexport function createNonPrerenderableBodyErrorInStaticRoute(\n route: string\n): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached or runtime data on a route that must be fully static.\\n\\n` +\n `This route is configured to be fully static, but some data requires rendering at request time.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [cache] For uncached data (\\`fetch\\`, database calls): cache the access with \\`\"use cache\"\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [remove] Remove the data access\\n` +\n ` - [client] Read the data on the client\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/static-route-dynamic`\n )\n}\n\nexport function createRuntimeMetadataErrorInStaticRoute(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered runtime data in \\`generateMetadata()\\` on a route that must be fully static.\\n\\n` +\n `This route is configured to be fully static, but runtime data from \\`cookies()\\`, \\`headers()\\`, \\`params\\`, \\`searchParams\\`, or a short-lived cache requires rendering at request time.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [static] Replace the dynamic data used by \\`generateMetadata()\\` with static data\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/static-metadata-runtime`\n )\n}\n\nexport function createDynamicMetadataErrorInStaticRoute(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached data in \\`generateMetadata()\\` on a route that must be fully static.\\n\\n` +\n `This route is configured to be fully static, but an uncached \\`fetch(...)\\`, database call, or \\`connection()\\` requires rendering at request time.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [cache] Cache the data used by \\`generateMetadata()\\` with \\`\"use cache\"\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [static] Replace the dynamic data used by \\`generateMetadata()\\` with static data\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/static-metadata-dynamic`\n )\n}\n\nexport function createNonPrerenderableMetadataErrorInStaticRoute(\n route: string\n): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached or runtime data in \\`generateMetadata()\\` on a route that must be fully static.\\n\\n` +\n `This route is configured to be fully static, but some data requires rendering at request time.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [cache] For uncached data: cache the data used by \\`generateMetadata()\\` with \\`\"use cache\"\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [static] Replace the dynamic data used by \\`generateMetadata()\\` with static data\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/static-metadata-dynamic`\n )\n}\n\nexport function createRuntimeViewportErrorInStaticRoute(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered runtime data in \\`generateViewport()\\` on a route that must be fully static.\\n\\n` +\n `This route is configured to be fully static, but runtime data from \\`cookies()\\`, \\`headers()\\`, \\`params\\`, \\`searchParams\\`, or a short-lived cache requires rendering at request time.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [static] Replace the dynamic data used by \\`generateViewport()\\` with static data\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/static-viewport-runtime`\n )\n}\n\nexport function createDynamicViewportErrorInStaticRoute(route: string): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached data in \\`generateViewport()\\` on a route that must be fully static.\\n\\n` +\n `This route is configured to be fully static, but an uncached \\`fetch(...)\\`, database call, or \\`connection()\\` requires rendering at request time.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [cache] Cache the data used by \\`generateViewport()\\` with \\`\"use cache\"\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [static] Replace the dynamic data used by \\`generateViewport()\\` with static data\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/static-viewport-dynamic`\n )\n}\n\nexport function createNonPrerenderableViewportErrorInStaticRoute(\n route: string\n): Error {\n return new Error(\n `Route \"${route}\": Next.js encountered uncached or runtime data in \\`generateViewport()\\` on a route that must be fully static.\\n\\n` +\n `This route is configured to be fully static, but some data requires rendering at request time.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [cache] For uncached data: cache the data used by \\`generateViewport()\\` with \\`\"use cache\"\\` (does not apply to \\`connection()\\`)\\n` +\n ` - [static] Replace the dynamic data used by \\`generateViewport()\\` with static data\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/static-viewport-dynamic`\n )\n}\n\nexport function logBuildDebugHint(route: string): void {\n if (process.env.NODE_ENV !== 'development') {\n console.error(\n `To get a more detailed stack trace and pinpoint the issue, try one of the following:\\n` +\n ` - Start the app in development mode by running \\`next dev\\`, then open \"${route}\" in your browser to investigate the error.\\n` +\n ` - Rerun the production build with \\`next build --debug-prerender\\` to generate better stack traces.`\n )\n } else if (!process.env.__NEXT_DEV_SERVER) {\n console.error(\n `To debug the issue, start the app in development mode by running \\`next dev\\`, then open \"${route}\" in your browser to investigate the error.`\n )\n }\n}\n"],"names":["createDynamicBodyError","createDynamicBodyErrorInNavigation","createDynamicBodyErrorInStaticRoute","createDynamicMetadataError","createDynamicMetadataErrorInStaticRoute","createDynamicOrRuntimeBodyError","createDynamicOrRuntimeMetadataError","createDynamicOrRuntimeViewportError","createDynamicViewportError","createDynamicViewportErrorInStaticRoute","createLinkBodyErrorInNavigation","createLinkMetadataError","createLinkViewportError","createNavigationBodyErrorInNavigation","createNavigationMetadataError","createNavigationViewportError","createNonPrerenderableBodyErrorInStaticRoute","createNonPrerenderableMetadataErrorInStaticRoute","createNonPrerenderableViewportErrorInStaticRoute","createPrefetchBodyErrorInNavigation","createPrefetchMetadataError","createPrefetchViewportError","createRuntimeBodyError","createRuntimeBodyErrorInNavigation","createRuntimeBodyErrorInStaticRoute","createRuntimeMetadataError","createRuntimeMetadataErrorInStaticRoute","createRuntimeViewportError","createRuntimeViewportErrorInStaticRoute","logBuildDebugHint","route","Error","process","env","NODE_ENV","console","error","__NEXT_DEV_SERVER"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 13181, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/app-render/dynamic-rendering.ts"],"sourcesContent":["/**\n * The functions provided by this module are used to communicate certain properties\n * about the currently running code so that Next.js can make decisions on how to handle\n * the current execution in different rendering modes such as pre-rendering, resuming, and SSR.\n *\n * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering.\n * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts\n * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of\n * Dynamic indications.\n *\n * The first is simply an intention to be dynamic. unstable_noStore is an example of this where\n * the currently executing code simply declares that the current scope is dynamic but if you use it\n * inside unstable_cache it can still be cached. This type of indication can be removed if we ever\n * make the default dynamic to begin with because the only way you would ever be static is inside\n * a cache scope which this indication does not affect.\n *\n * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic\n * because it means that it is inappropriate to cache this at all. using a dynamic data source inside\n * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should\n * read that data outside the cache and pass it in as an argument to the cached function.\n */\n\nimport type { WorkStore } from './work-async-storage.external'\nimport type {\n RequestStore,\n WorkUnitStore,\n PrerenderStoreLegacy,\n PrerenderStoreModern,\n ValidationStoreClient,\n PrerenderStoreModernServer,\n} from './work-unit-async-storage.external'\n\n// Once postpone is in stable we should switch to importing the postpone export directly\nimport React from 'react'\n\nimport { DynamicServerError } from '../../client/components/hooks-server-context'\nimport { StaticGenBailoutError } from '../../client/components/static-generation-bailout'\nimport { getStagedRenderingController } from './work-unit-async-storage.external'\nimport { isClientHookDynamicError } from '../dynamic-rendering-utils'\nimport {\n METADATA_BOUNDARY_NAME,\n VIEWPORT_BOUNDARY_NAME,\n OUTLET_BOUNDARY_NAME,\n ROOT_LAYOUT_BOUNDARY_NAME,\n} from '../../lib/framework/boundary-constants'\nimport { scheduleOnNextTick } from '../../lib/scheduler'\nimport {\n createRuntimeBodyError,\n createDynamicBodyError,\n createRuntimeBodyErrorInNavigation,\n createNavigationBodyErrorInNavigation,\n createPrefetchBodyErrorInNavigation,\n createDynamicBodyErrorInNavigation,\n createDynamicOrRuntimeBodyError,\n createRuntimeMetadataError,\n createDynamicMetadataError,\n createRuntimeViewportError,\n createNavigationViewportError,\n createPrefetchViewportError,\n createDynamicViewportError,\n createDynamicOrRuntimeViewportError,\n createDynamicOrRuntimeMetadataError,\n logBuildDebugHint,\n createLinkBodyErrorInNavigation,\n createLinkMetadataError,\n createLinkViewportError,\n createNavigationMetadataError,\n createPrefetchMetadataError,\n createNonPrerenderableMetadataErrorInStaticRoute,\n createNonPrerenderableViewportErrorInStaticRoute,\n createNonPrerenderableBodyErrorInStaticRoute,\n createRuntimeBodyErrorInStaticRoute,\n createDynamicBodyErrorInStaticRoute,\n createRuntimeMetadataErrorInStaticRoute,\n createDynamicMetadataErrorInStaticRoute,\n createRuntimeViewportErrorInStaticRoute,\n createDynamicViewportErrorInStaticRoute,\n} from './blocking-route-messages'\nimport { InvariantError } from '../../shared/lib/invariant-error'\nimport {\n INSTANT_VALIDATION_BOUNDARY_NAME,\n INSTANT_SLOT_MARKER_PREFIX,\n INSTANT_SLOT_MARKER_SUFFIX,\n} from './instant-validation/boundary-constants'\nimport {\n type ValidationBoundaryTracking,\n allRequiredBoundariesRendered,\n} from './instant-validation/boundary-tracking'\nimport type { InstantValidationSampleTracking } from './instant-validation/instant-samples'\nimport { createUnrenderedSegmentError } from '../../shared/lib/instant-messages'\nimport { getReactBrowserBailoutReason } from '../../shared/lib/lazy-dynamic/react-browser-bailout'\n\nexport type DynamicAccess = {\n /**\n * If debugging, this will contain the stack trace of where the dynamic access\n * occurred. This is used to provide more information to the user about why\n * their page is being rendered dynamically.\n */\n stack?: string\n\n /**\n * The expression that was accessed dynamically.\n */\n expression: string\n}\n\n// Stores dynamic reasons used during an RSC render.\nexport type DynamicTrackingState = {\n /**\n * When true, stack information will also be tracked during dynamic access.\n */\n readonly isDebugDynamicAccesses: boolean | undefined\n\n /**\n * The dynamic accesses that occurred during the render.\n */\n readonly dynamicAccesses: Array\n\n syncDynamicErrorWithStack: null | Error\n syncDynamicErrorWithStackPostMicrotask: boolean\n}\n\n// Stores dynamic reasons used during an SSR render.\nexport type DynamicValidationState = {\n hasSuspenseAboveBody: boolean\n hasDynamicMetadata: boolean\n dynamicMetadata: null | Error\n hasDynamicViewport: boolean\n hasAllowedDynamic: boolean\n dynamicErrors: Array\n}\n\nexport function createDynamicTrackingState(\n isDebugDynamicAccesses: boolean | undefined\n): DynamicTrackingState {\n return {\n isDebugDynamicAccesses,\n dynamicAccesses: [],\n syncDynamicErrorWithStack: null,\n syncDynamicErrorWithStackPostMicrotask: false,\n }\n}\n\nexport function createDynamicValidationState(): DynamicValidationState {\n return {\n hasSuspenseAboveBody: false,\n hasDynamicMetadata: false,\n dynamicMetadata: null,\n hasDynamicViewport: false,\n hasAllowedDynamic: false,\n dynamicErrors: [],\n }\n}\n\nfunction getPendingClientSyncDynamicError(\n clientDynamic: DynamicTrackingState\n): null | Error {\n return clientDynamic.syncDynamicErrorWithStackPostMicrotask\n ? null\n : clientDynamic.syncDynamicErrorWithStack\n}\n\nexport function getFirstDynamicReason(\n trackingState: DynamicTrackingState\n): undefined | string {\n return trackingState.dynamicAccesses[0]?.expression\n}\n\n/**\n * This function communicates that the current scope should be treated as dynamic.\n *\n * In most cases this function is a no-op but if called during\n * a PPR prerender it will postpone the current sub-tree and calling\n * it during a normal prerender will cause the entire prerender to abort\n */\nexport function markCurrentScopeAsDynamic(\n store: WorkStore,\n workUnitStore: undefined | Exclude,\n expression: string\n): void {\n if (workUnitStore) {\n switch (workUnitStore.type) {\n case 'cache':\n case 'unstable-cache':\n // Inside cache scopes, marking a scope as dynamic has no effect,\n // because the outer cache scope creates a cache boundary. This is\n // subtly different from reading a dynamic data source, which is\n // forbidden inside a cache scope.\n return\n case 'private-cache':\n // A private cache scope is already dynamic by definition.\n return\n case 'prerender-legacy':\n case 'request':\n case 'build-time-generator':\n break\n default:\n workUnitStore satisfies never\n }\n }\n\n // If we're forcing dynamic rendering or we're forcing static rendering, we\n // don't need to do anything here because the entire page is already dynamic\n // or it's static and it should not throw or postpone here.\n if (store.forceDynamic || store.forceStatic) return\n\n if (store.dynamicShouldError) {\n throw new StaticGenBailoutError(\n `Route ${store.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`\n )\n }\n\n if (workUnitStore) {\n switch (workUnitStore.type) {\n case 'prerender-legacy':\n workUnitStore.revalidate = 0\n\n // We aren't prerendering, but we are generating a static page. We need\n // to bail out of static generation.\n const err = new DynamicServerError(\n `Route ${store.route} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`\n )\n store.dynamicUsageDescription = expression\n store.dynamicUsageStack = err.stack\n\n throw err\n case 'request':\n markRequestStoreAsDynamic(workUnitStore)\n break\n case 'build-time-generator':\n break\n default:\n workUnitStore satisfies never\n }\n }\n}\n\n/**\n * This function is meant to be used when prerendering without cacheComponents or PPR.\n * When called during a build it will cause Next.js to consider the route as dynamic.\n *\n * @internal\n */\nexport function throwToInterruptStaticGeneration(\n expression: string,\n store: WorkStore,\n prerenderStore: PrerenderStoreLegacy\n): never {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new DynamicServerError(\n `Route ${store.route} couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`\n )\n\n prerenderStore.revalidate = 0\n\n store.dynamicUsageDescription = expression\n store.dynamicUsageStack = err.stack\n\n throw err\n}\n\n/**\n * This function should be used to track whether something dynamic happened even when\n * we are in a dynamic render. This is useful for Dev where all renders are dynamic but\n * we still track whether dynamic APIs were accessed for helpful messaging\n *\n * @internal\n */\nexport function trackDynamicDataInDynamicRender(workUnitStore: WorkUnitStore) {\n switch (workUnitStore.type) {\n case 'cache':\n case 'unstable-cache':\n // Inside cache scopes, marking a scope as dynamic has no effect,\n // because the outer cache scope creates a cache boundary. This is\n // subtly different from reading a dynamic data source, which is\n // forbidden inside a cache scope.\n return\n case 'private-cache':\n // A private cache scope is already dynamic by definition.\n return\n case 'prerender':\n case 'prerender-runtime':\n case 'prerender-legacy':\n case 'prerender-client':\n case 'validation-client':\n case 'build-time-generator':\n break\n case 'request':\n markRequestStoreAsDynamic(workUnitStore)\n break\n default:\n workUnitStore satisfies never\n }\n}\n\nfunction markRequestStoreAsDynamic(requestStore: RequestStore): void {\n if (process.env.__NEXT_DEV_SERVER && requestStore.phase === 'render') {\n requestStore.usedDynamic = true\n }\n}\n\nfunction abortOnSynchronousDynamicDataAccess(\n route: string,\n expression: string,\n prerenderStore: PrerenderStoreModern\n): void {\n const reason = `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`\n\n const error = createPrerenderInterruptedError(reason)\n\n prerenderStore.controller.abort(error)\n\n const dynamicTracking = prerenderStore.dynamicTracking\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: dynamicTracking.isDebugDynamicAccesses\n ? new Error().stack\n : undefined,\n expression,\n })\n }\n}\n\nexport function abortOnSynchronousPlatformIOAccess(\n route: string,\n expression: string,\n errorWithStack: Error,\n prerenderStore: PrerenderStoreModern\n): void {\n const dynamicTracking = prerenderStore.dynamicTracking\n\n if (dynamicTracking && dynamicTracking.syncDynamicErrorWithStack === null) {\n dynamicTracking.syncDynamicErrorWithStack = errorWithStack\n // React completes the task that is currently rendering before scheduled\n // abort cleanup. Client tracking can attribute the sync IO only during\n // that current task; server tracking keeps the error regardless.\n queueMicrotask(() => {\n dynamicTracking.syncDynamicErrorWithStackPostMicrotask = true\n })\n }\n\n abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore)\n}\n\n/**\n * use this function when prerendering with cacheComponents. If we are doing a\n * prospective prerender we don't actually abort because we want to discover\n * all caches for the shell. If this is the actual prerender we do abort.\n *\n * This function accepts a prerenderStore but the caller should ensure we're\n * actually running in cacheComponents mode.\n *\n * @internal\n */\nexport function abortAndThrowOnSynchronousRequestDataAccess(\n route: string,\n expression: string,\n errorWithStack: Error,\n prerenderStore: PrerenderStoreModern\n): never {\n const prerenderSignal = prerenderStore.controller.signal\n if (prerenderSignal.aborted === false) {\n // TODO it would be better to move this aborted check into the callsite so we can avoid making\n // the error object when it isn't relevant to the aborting of the prerender however\n // since we need the throw semantics regardless of whether we abort it is easier to land\n // this way. See how this was handled with `abortOnSynchronousPlatformIOAccess` for a closer\n // to ideal implementation\n abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore)\n // Preserve the exact server-side dynamic access for final validation after\n // interrupting this render.\n const dynamicTracking = prerenderStore.dynamicTracking\n if (dynamicTracking) {\n if (dynamicTracking.syncDynamicErrorWithStack === null) {\n dynamicTracking.syncDynamicErrorWithStack = errorWithStack\n }\n }\n }\n throw createPrerenderInterruptedError(\n `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`\n )\n}\n\nconst NEXT_PRERENDER_INTERRUPTED = 'NEXT_PRERENDER_INTERRUPTED'\n\nfunction createPrerenderInterruptedError(message: string): Error {\n const error = new Error(message)\n ;(error as any).digest = NEXT_PRERENDER_INTERRUPTED\n return error\n}\n\ntype DigestError = Error & {\n digest: string\n}\n\nexport function isPrerenderInterruptedError(\n error: unknown\n): error is DigestError {\n return (\n typeof error === 'object' &&\n error !== null &&\n (error as any).digest === NEXT_PRERENDER_INTERRUPTED &&\n 'name' in error &&\n 'message' in error &&\n error instanceof Error\n )\n}\n\nexport function accessedDynamicData(\n dynamicAccesses: Array\n): boolean {\n return dynamicAccesses.length > 0\n}\n\nexport function consumeDynamicAccess(\n serverDynamic: DynamicTrackingState,\n clientDynamic: DynamicTrackingState\n): DynamicTrackingState['dynamicAccesses'] {\n // We mutate because we only call this once we are no longer writing\n // to the dynamicTrackingState and it's more efficient than creating a new\n // array.\n serverDynamic.dynamicAccesses.push(...clientDynamic.dynamicAccesses)\n return serverDynamic.dynamicAccesses\n}\n\nexport function formatDynamicAPIAccesses(\n dynamicAccesses: Array\n): string[] {\n return dynamicAccesses\n .filter(\n (access): access is Required =>\n typeof access.stack === 'string' && access.stack.length > 0\n )\n .map(({ expression, stack }) => {\n stack = stack\n .split('\\n')\n // Remove the \"Error: \" prefix from the first line of the stack trace as\n // well as the first 4 lines of the stack trace which is the distance\n // from the user code and the `new Error().stack` call.\n .slice(4)\n .filter((line) => {\n // Exclude Next.js internals from the stack trace.\n if (line.includes('node_modules/next/')) {\n return false\n }\n\n // Exclude anonymous functions from the stack trace.\n if (line.includes(' ()')) {\n return false\n }\n\n // Exclude Node.js internals from the stack trace.\n if (line.includes(' (node:')) {\n return false\n }\n\n return true\n })\n .join('\\n')\n return `Dynamic API Usage Debug - ${expression}:\\n${stack}`\n })\n}\n\n/**\n * In a prerender, we may end up with hanging Promises as inputs due them\n * stalling on connection() or because they're loading dynamic data. In that\n * case we need to abort the encoding of arguments since they'll never complete.\n */\nexport function createHangingInputAbortSignal(\n workUnitStore: PrerenderStoreModernServer\n): AbortSignal\nexport function createHangingInputAbortSignal(\n workUnitStore: WorkUnitStore\n): AbortSignal | undefined\nexport function createHangingInputAbortSignal(\n workUnitStore: WorkUnitStore\n): AbortSignal | undefined {\n switch (workUnitStore.type) {\n case 'prerender':\n case 'prerender-runtime':\n const controller = new AbortController()\n\n if (workUnitStore.cacheSignal) {\n // If we have a cacheSignal it means we're in a prospective render. If\n // the input we're waiting on is coming from another cache, we do want\n // to wait for it so that we can resolve this cache entry too.\n workUnitStore.cacheSignal.inputReady().then(() => {\n controller.abort()\n })\n } else {\n // Otherwise we're in the final render and we should already have all\n // our caches filled.\n // If the prerender uses stages, we have wait until the final stage.\n // if an input didn't resolve at that point, then we can assume it never will.\n //\n // We might still be waiting on some microtasks so we\n // wait one tick before giving up. When we give up, we still want to\n // render the content of this cache as deeply as we can so that we can\n // suspend as deeply as possible in the tree or not at all if we don't\n // end up waiting for the input.\n\n const stagedRendering = getStagedRenderingController(workUnitStore)\n if (stagedRendering && stagedRendering.finalStage !== null) {\n stagedRendering\n .waitForStage(stagedRendering.finalStage)\n .then(() => scheduleOnNextTick(() => controller.abort()), noop)\n } else {\n scheduleOnNextTick(() => controller.abort())\n }\n }\n\n return controller.signal\n case 'prerender-client':\n case 'validation-client':\n case 'prerender-legacy':\n case 'request':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n case 'build-time-generator':\n return undefined\n default:\n workUnitStore satisfies never\n }\n}\n\nfunction noop() {}\n\nexport function annotateDynamicAccess(\n expression: string,\n prerenderStore: PrerenderStoreModern | ValidationStoreClient\n) {\n const dynamicTracking = prerenderStore.dynamicTracking\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n stack: dynamicTracking.isDebugDynamicAccesses\n ? new Error().stack\n : undefined,\n expression,\n })\n }\n}\n\nconst hasSuspenseRegex = /\\n\\s+at Suspense \\(\\)/\n\n// Common implicit body tags that React will treat as body when placed directly in html\nconst bodyAndImplicitTags =\n 'body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6'\n\n// Detects when RootLayoutBoundary (our framework marker component) appears\n// after Suspense in the component stack, indicating the root layout is wrapped\n// within a Suspense boundary. Ensures no body/html/implicit-body components are in between.\n//\n// Example matches:\n// at Suspense ()\n// at __next_root_layout_boundary__ ()\n//\n// Or with other components in between (but not body/html/implicit-body):\n// at Suspense ()\n// at SomeComponent ()\n// at __next_root_layout_boundary__ ()\nconst hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex = new RegExp(\n `\\\\n\\\\s+at Suspense \\\\(\\\\)(?:(?!\\\\n\\\\s+at (?:${bodyAndImplicitTags}) \\\\(\\\\))[\\\\s\\\\S])*?\\\\n\\\\s+at ${ROOT_LAYOUT_BOUNDARY_NAME} \\\\([^\\\\n]*\\\\)`\n)\n\nconst hasMetadataRegex = new RegExp(\n `\\\\n\\\\s+at ${METADATA_BOUNDARY_NAME}[\\\\n\\\\s]`\n)\nconst hasViewportRegex = new RegExp(\n `\\\\n\\\\s+at ${VIEWPORT_BOUNDARY_NAME}[\\\\n\\\\s]`\n)\nconst hasOutletRegex = new RegExp(`\\\\n\\\\s+at ${OUTLET_BOUNDARY_NAME}[\\\\n\\\\s]`)\n\nconst hasInstantValidationBoundaryRegex = new RegExp(\n `\\\\n\\\\s+at ${INSTANT_VALIDATION_BOUNDARY_NAME}[\\\\n\\\\s]`\n)\nconst slotMarkerRegex = new RegExp(\n `\\\\n\\\\s+at ${INSTANT_SLOT_MARKER_PREFIX}(\\\\d+)${INSTANT_SLOT_MARKER_SUFFIX}[\\\\n\\\\s]`\n)\n\n/** Look up the config factory for the slot this error belongs to.\n * Checks the component stack for a slot marker (__next_instant_slot_N__)\n * and returns the config at that index. Falls back to index 0 (root\n * config) when no slot marker is found or the slot has no config. */\nfunction resolveInstantStack(\n componentStack: string,\n dynamicValidation: InstantValidationState\n): (() => Error) | null {\n const { slotStacks } = dynamicValidation\n if (slotStacks.length > 1) {\n const match = slotMarkerRegex.exec(componentStack)\n if (match) {\n // Slot markers are 0-indexed in the component name but\n // slotStacks is 1-indexed (index 0 is the root config).\n const slotIndex = parseInt(match[1], 10) + 1\n const slotStack = slotStacks[slotIndex]\n if (slotStack != null) {\n return slotStack\n }\n }\n }\n // Fall back to root config (index 0)\n return slotStacks[0] ?? null\n}\n\n/**\n * Inspects the component stack of an outlet boundary to discover whether the\n * user placed a Suspense boundary above the document body, and records the\n * opt-in on `dynamicValidation.hasSuspenseAboveBody` if so.\n *\n * The outlet itself isn't a meaningful source of dynamic — it only resolves\n * when metadata/viewport are dynamic, which we track via their own boundaries.\n * However, the outlet renders alongside the page content, so its stack passes\n * through the user's layout chain (typically reaching into `` via the\n * root layout). That makes the outlet stack our best opportunity to spot a\n * Suspense boundary above the body, even when no real body content is dynamic.\n * Without this, a route whose only dynamic source is `generateViewport()` would\n * miss the Suspense-above-body opt-in, because the viewport's stack lives in\n * the head and never sees the user's root layout.\n *\n * We deliberately only set `hasSuspenseAboveBody`, not `hasAllowedDynamic`. The\n * latter tracks whether the body has dynamic content that's been wrapped in\n * Suspense (i.e., the page is partially dynamic). The outlet rendering tells us\n * about the structural opt-in for an empty shell, not about the body being\n * partially dynamic. The distinction matters because dynamic metadata is only\n * acceptable when the page is partially dynamic (via real body holes), and we\n * don't want this outlet-based detection to mask that case.\n */\nfunction trackOutletSuspenseAboveBody(\n componentStack: string,\n dynamicValidation: DynamicValidationState\n): void {\n if (\n hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(\n componentStack\n )\n ) {\n dynamicValidation.hasSuspenseAboveBody = true\n }\n}\n\nexport function trackDynamicAccessInStaticRoute(\n dynamicReason: unknown,\n workStore: WorkStore,\n componentStack: string,\n dynamicValidation: DynamicValidationState,\n clientDynamic: DynamicTrackingState,\n isServerPartial: boolean,\n kind: StaticValidationHoleKind\n) {\n const syncDynamicError = getPendingClientSyncDynamicError(clientDynamic)\n\n if (hasOutletRegex.test(componentStack)) {\n trackOutletSuspenseAboveBody(componentStack, dynamicValidation)\n return\n }\n if (hasMetadataRegex.test(componentStack)) {\n dynamicValidation.dynamicErrors.push(\n addErrorContext(\n createMetadataErrorInStaticRoute(kind, workStore.route),\n componentStack,\n null\n )\n )\n return\n }\n if (hasViewportRegex.test(componentStack)) {\n dynamicValidation.dynamicErrors.push(\n addErrorContext(\n createViewportErrorInStaticRoute(kind, workStore.route),\n componentStack,\n null\n )\n )\n return\n }\n\n let hasSuspense = false\n if (\n hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(\n componentStack\n )\n ) {\n // this error had a Suspense boundary above it, and it's above the body as well.\n dynamicValidation.hasSuspenseAboveBody = true\n hasSuspense = true\n } else if (hasSuspenseRegex.test(componentStack)) {\n // this error had a Suspense boundary above it.\n hasSuspense = true\n }\n\n if (hasSuspense) {\n if (!isServerPartial) {\n // If we don't have holes caused by server data, then any holes must be caused\n // by client-only code, which is allowed.\n dynamicValidation.hasAllowedDynamic = true\n return\n }\n\n // We have holes that may be caused by server data.\n if (syncDynamicError || isClientHookDynamicError(dynamicReason)) {\n // We know this hole wasn't caused by server data, so it's allowed\n // (because it's wrapped in a Suspense)\n dynamicValidation.hasAllowedDynamic = true\n return\n }\n\n // Any remaining hole may be caused by a server hole.\n // These are not allowed even with Suspense.\n // (NOTE: this may misreport valid client dynamic holes as server holes)\n dynamicValidation.dynamicErrors.push(\n addErrorContext(\n createBodyErrorInStaticRoute(kind, workStore.route),\n componentStack,\n null\n )\n )\n return\n }\n\n if (syncDynamicError) {\n dynamicValidation.dynamicErrors.push(syncDynamicError)\n return\n }\n\n if (isClientHookDynamicError(dynamicReason)) {\n dynamicValidation.dynamicErrors.push(\n addErrorContext(dynamicReason, componentStack, null)\n )\n return\n }\n\n const error = addErrorContext(\n isServerPartial\n ? // This hole may be caused by server data.\n // (NOTE: this may misreport client dynamic holes as server holes)\n createBodyErrorInStaticRoute(kind, workStore.route)\n : // TODO(ensure-static): this could be something client-specific because we know\n // that server data is complete\n createBodyError(kind, workStore.route),\n componentStack,\n null\n )\n dynamicValidation.dynamicErrors.push(error)\n}\n\nexport function trackAllowedDynamicAccess(\n dynamicReason: unknown,\n workStore: WorkStore,\n componentStack: string,\n dynamicValidation: DynamicValidationState,\n clientDynamic: DynamicTrackingState\n) {\n const dynamicHoleKind = DynamicHoleKind.RuntimeOrDynamic\n\n const syncDynamicError = getPendingClientSyncDynamicError(clientDynamic)\n\n if (hasOutletRegex.test(componentStack)) {\n trackOutletSuspenseAboveBody(componentStack, dynamicValidation)\n return\n } else if (hasMetadataRegex.test(componentStack)) {\n dynamicValidation.hasDynamicMetadata = true\n return\n } else if (hasViewportRegex.test(componentStack)) {\n dynamicValidation.hasDynamicViewport = true\n return\n } else if (\n hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(\n componentStack\n )\n ) {\n // For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule.\n // But if you have Suspense above body, the prelude is empty but we allow that because having Suspense\n // is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering.\n dynamicValidation.hasAllowedDynamic = true\n dynamicValidation.hasSuspenseAboveBody = true\n return\n } else if (hasSuspenseRegex.test(componentStack)) {\n // this error had a Suspense boundary above it so we don't need to report it as a source\n // of disallowed\n dynamicValidation.hasAllowedDynamic = true\n return\n } else if (syncDynamicError) {\n dynamicValidation.dynamicErrors.push(syncDynamicError)\n return\n }\n\n if (isClientHookDynamicError(dynamicReason)) {\n dynamicValidation.dynamicErrors.push(\n addErrorContext(dynamicReason, componentStack, null)\n )\n return\n }\n\n const error = addErrorContext(\n createBodyError(dynamicHoleKind, workStore.route),\n componentStack,\n null\n )\n dynamicValidation.dynamicErrors.push(error)\n return\n}\n\nexport enum DynamicHoleKind {\n /** We know that this hole is caused by runtime data. */\n Runtime = 1,\n /** We know that this hole is caused by link data. */\n Link = 2,\n /** We know that this hole is caused by navigation(). */\n Navigation = 3,\n /** We know that this hole is caused by prefetch(). */\n Prefetch = 4,\n /** We know that this hole is caused by dynamic data. */\n Dynamic = 5,\n /** We know that this hole is caused by runtime or dynamic data, but don't know which. */\n RuntimeOrDynamic = 6,\n}\n\n// In Instant Validation we can always discriminate between runtime and dynamic.\nexport type InstantValidationHoleKind = Exclude<\n DynamicHoleKind,\n DynamicHoleKind.RuntimeOrDynamic\n>\n\nexport type StaticValidationHoleKind =\n // During dev-time static validation we can discriminate runtime and dynamic.\n | DynamicHoleKind.Runtime\n | DynamicHoleKind.Dynamic\n // During build-time static validation we can't discriminate runtime and dynamic.\n | DynamicHoleKind.RuntimeOrDynamic\n\n/** Stores dynamic reasons used during an SSR render in instant validation. */\nexport type InstantValidationState = {\n hasDynamicMetadata: boolean\n hasAllowedClientDynamicAboveBoundary: boolean\n dynamicMetadata: null | Error\n hasDynamicViewport: boolean\n hasAllowedDynamic: boolean\n dynamicErrors: Array\n validationPreventingErrors: Array\n thrownErrorsOutsideBoundary: Array\n /** Per-slot config factories. Index 0 is the root config (fallback).\n * Indices 1+ correspond to slot marker components in the tree. */\n slotStacks: Array<(() => Error) | null>\n}\n\nexport function createInstantValidationState(\n slotStacks: Array<(() => Error) | null>\n): InstantValidationState {\n return {\n hasDynamicMetadata: false,\n hasAllowedClientDynamicAboveBoundary: false,\n dynamicMetadata: null,\n hasDynamicViewport: false,\n hasAllowedDynamic: false,\n dynamicErrors: [],\n validationPreventingErrors: [],\n thrownErrorsOutsideBoundary: [],\n slotStacks,\n }\n}\n\nexport function trackDynamicHoleInNavigation(\n dynamicReason: unknown,\n workStore: WorkStore,\n componentStack: string,\n dynamicValidation: InstantValidationState,\n clientDynamic: DynamicTrackingState,\n kind: InstantValidationHoleKind,\n boundaryState: ValidationBoundaryTracking\n) {\n const syncDynamicError = getPendingClientSyncDynamicError(clientDynamic)\n\n if (hasOutletRegex.test(componentStack)) {\n // We don't need to track that this is dynamic. It is only so when something else is also dynamic.\n return\n }\n // Resolve the config stack for this specific error. If the error\n // is inside a slot marker, use that slot's config. Otherwise fall\n // back to the default.\n const effectiveCreateInstantStack = resolveInstantStack(\n componentStack,\n dynamicValidation\n )\n\n if (hasMetadataRegex.test(componentStack)) {\n const error = addErrorContext(\n createMetadataError(kind, workStore.route),\n componentStack,\n effectiveCreateInstantStack\n )\n dynamicValidation.dynamicMetadata = error\n return\n }\n if (hasViewportRegex.test(componentStack)) {\n const error = addErrorContext(\n createViewportError(kind, workStore.route),\n componentStack,\n effectiveCreateInstantStack\n )\n dynamicValidation.dynamicErrors.push(error)\n return\n }\n\n const boundaryLocation =\n hasInstantValidationBoundaryRegex.exec(componentStack)\n if (!boundaryLocation) {\n // We don't see the validation boundary in the component stack,\n // so this hole must be coming from a shared parent.\n // Shared parents are fully resolved and don't have RSC holes,\n // but they can still suspend in a client component during SSR.\n\n // If we managed to render all the validation boundaries, that means\n // that the client holes aren't blocking validation and we can disregard them.\n // Note that we don't even care whether they have suspense or not.\n if (allRequiredBoundariesRendered(boundaryState)) {\n dynamicValidation.hasAllowedClientDynamicAboveBoundary = true\n dynamicValidation.hasAllowedDynamic = true // Holes outside the boundary contribute to allowing dynamic metadata\n return\n } else {\n // TODO(instant-validation) TODO(NAR-787)\n // If shared parents blocked us from validating, we should only log\n // the errors from the innermost (segments), i.e. omit layouts whose\n // slots managed to render (because clearly they didn't block validation)\n const message = `Route \"${workStore.route}\": Could not validate \\`instant\\` because a Client Component in a parent segment prevented the page from rendering.`\n const error = addErrorContext(\n new Error(message),\n componentStack,\n effectiveCreateInstantStack\n )\n dynamicValidation.validationPreventingErrors.push(error)\n return\n }\n } else {\n // The hole originates inside the validation boundary.\n //\n // Check if we have a Suspense above the hole, but below the validation boundary.\n // If we do, then this dynamic usage wouldn't block a navigation to this subtree.\n // Conversely, if the nearest suspense is above the validation boundary, then this subtree would block.\n //\n // Note that in the component stack, children come before parents.\n //\n // Valid:\n // ...\n // at Suspense\n // ...\n // at __next_prefetch_validation_boundary__\n //\n // Invalid:\n // ...\n // at __next_prefetch_validation_boundary__\n // ...\n // at Suspense\n //\n const suspenseLocation = hasSuspenseRegex.exec(componentStack)\n if (suspenseLocation) {\n if (suspenseLocation.index < boundaryLocation.index) {\n dynamicValidation.hasAllowedDynamic = true\n return\n } else {\n // invalid - fallthrough\n }\n }\n }\n\n if (syncDynamicError) {\n if (\n effectiveCreateInstantStack !== null &&\n syncDynamicError.cause === undefined\n ) {\n syncDynamicError.cause = effectiveCreateInstantStack()\n }\n dynamicValidation.dynamicErrors.push(syncDynamicError)\n return\n }\n\n if (isClientHookDynamicError(dynamicReason)) {\n dynamicValidation.dynamicErrors.push(\n addErrorContext(\n dynamicReason,\n componentStack,\n effectiveCreateInstantStack\n )\n )\n return\n }\n\n const error = addErrorContext(\n createBodyErrorInNavigation(kind, workStore.route),\n componentStack,\n effectiveCreateInstantStack\n )\n dynamicValidation.dynamicErrors.push(error)\n return\n}\n\nfunction createBodyError(kind: StaticValidationHoleKind, route: string): Error {\n switch (kind) {\n case DynamicHoleKind.Runtime:\n return createRuntimeBodyError(route)\n case DynamicHoleKind.Dynamic:\n return createDynamicBodyError(route)\n case DynamicHoleKind.RuntimeOrDynamic:\n return createDynamicOrRuntimeBodyError(route)\n }\n}\n\nfunction createBodyErrorInNavigation(\n kind: InstantValidationHoleKind,\n route: string\n): Error {\n switch (kind) {\n case DynamicHoleKind.Runtime:\n return createRuntimeBodyErrorInNavigation(route)\n case DynamicHoleKind.Link:\n return createLinkBodyErrorInNavigation(route)\n case DynamicHoleKind.Navigation:\n return createNavigationBodyErrorInNavigation(route)\n case DynamicHoleKind.Prefetch:\n return createPrefetchBodyErrorInNavigation(route)\n case DynamicHoleKind.Dynamic:\n return createDynamicBodyErrorInNavigation(route)\n }\n}\n\nfunction createMetadataError(kind: DynamicHoleKind, route: string): Error {\n switch (kind) {\n case DynamicHoleKind.Runtime:\n return createRuntimeMetadataError(route)\n case DynamicHoleKind.Link:\n return createLinkMetadataError(route)\n case DynamicHoleKind.Navigation:\n return createNavigationMetadataError(route)\n case DynamicHoleKind.Prefetch:\n return createPrefetchMetadataError(route)\n case DynamicHoleKind.Dynamic:\n return createDynamicMetadataError(route)\n case DynamicHoleKind.RuntimeOrDynamic:\n return createDynamicOrRuntimeMetadataError(route)\n }\n}\n\nfunction createViewportError(kind: DynamicHoleKind, route: string): Error {\n switch (kind) {\n case DynamicHoleKind.Runtime:\n return createRuntimeViewportError(route)\n case DynamicHoleKind.Link:\n return createLinkViewportError(route)\n case DynamicHoleKind.Navigation:\n return createNavigationViewportError(route)\n case DynamicHoleKind.Prefetch:\n return createPrefetchViewportError(route)\n case DynamicHoleKind.Dynamic:\n return createDynamicViewportError(route)\n case DynamicHoleKind.RuntimeOrDynamic:\n return createDynamicOrRuntimeViewportError(route)\n }\n}\n\nfunction createBodyErrorInStaticRoute(\n kind: StaticValidationHoleKind,\n route: string\n): Error {\n switch (kind) {\n case DynamicHoleKind.Runtime:\n return createRuntimeBodyErrorInStaticRoute(route)\n case DynamicHoleKind.Dynamic:\n return createDynamicBodyErrorInStaticRoute(route)\n case DynamicHoleKind.RuntimeOrDynamic:\n return createNonPrerenderableBodyErrorInStaticRoute(route)\n }\n}\n\nfunction createMetadataErrorInStaticRoute(\n kind: StaticValidationHoleKind,\n route: string\n) {\n switch (kind) {\n case DynamicHoleKind.Runtime:\n return createRuntimeMetadataErrorInStaticRoute(route)\n case DynamicHoleKind.Dynamic:\n return createDynamicMetadataErrorInStaticRoute(route)\n case DynamicHoleKind.RuntimeOrDynamic:\n return createNonPrerenderableMetadataErrorInStaticRoute(route)\n }\n}\n\nfunction createViewportErrorInStaticRoute(\n kind: StaticValidationHoleKind,\n route: string\n) {\n switch (kind) {\n case DynamicHoleKind.Runtime:\n return createRuntimeViewportErrorInStaticRoute(route)\n case DynamicHoleKind.Dynamic:\n return createDynamicViewportErrorInStaticRoute(route)\n case DynamicHoleKind.RuntimeOrDynamic:\n return createNonPrerenderableViewportErrorInStaticRoute(route)\n }\n}\n\nexport function trackThrownErrorInNavigation(\n workStore: WorkStore,\n dynamicValidation: InstantValidationState,\n thrownValue: unknown,\n componentStack: string,\n reactBrowserBailout: boolean\n) {\n const boundaryLocation =\n hasInstantValidationBoundaryRegex.exec(componentStack)\n if (!boundaryLocation) {\n // There's no validation boundary on the component stack.\n // This error may have blocked a boundary from rendering.\n\n // Wrap the error to provide component context.\n // This helps for errors from node_modules which would otherwise\n // have no useful stack information due to ignore-listing,\n // e.g. next/dynamic with `ssr: false`.\n if (reactBrowserBailout) {\n // React preserves Next's branded bailout reason as the error cause.\n // Replace the internal wrapper before storing the user-facing diagnostic.\n const browserBailoutReason = getReactBrowserBailoutReason(thrownValue)\n if (browserBailoutReason !== undefined) {\n const browserBailoutError = thrownValue as Error\n browserBailoutError.cause = browserBailoutReason\n }\n }\n\n const error = addErrorContext(\n new Error(\n 'An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.',\n { cause: thrownValue }\n ),\n componentStack,\n null\n )\n dynamicValidation.thrownErrorsOutsideBoundary.push(error)\n } else {\n // There's validation boundary on the component stack,\n // so we know this error didn't block a validation boundary from rendering.\n // However, this error might be hiding be hiding dynamic content that would\n // cause validation to fail.\n const suspenseLocation = hasSuspenseRegex.exec(componentStack)\n if (suspenseLocation) {\n if (suspenseLocation.index < boundaryLocation.index) {\n // There's a Suspense below the validation boundary but above this error's location.\n // This subtree can't fail instant validation because any potential\n // dynamic holes would be guarded by the Suspense anyway,\n // so we can allow this.\n return\n } else {\n // invalid - fallthrough\n }\n }\n if (reactBrowserBailout) {\n // React preserves Next's branded bailout reason as the error cause.\n // Replace the internal wrapper before storing the user-facing diagnostic.\n const browserBailoutReason = getReactBrowserBailoutReason(thrownValue)\n if (browserBailoutReason !== undefined) {\n const browserBailoutError = thrownValue as Error\n browserBailoutError.cause = browserBailoutReason\n }\n }\n\n const message = `Route \"${workStore.route}\": Could not validate \\`instant\\` because an error prevented the target segment from rendering.`\n const error = addErrorContext(\n new Error(message, { cause: thrownValue }),\n componentStack,\n null // TODO(instant-validation-build): conflicting use of cause\n )\n dynamicValidation.validationPreventingErrors.push(error)\n }\n}\n\nexport function trackDynamicHoleInStaticShell(\n dynamicReason: unknown,\n workStore: WorkStore,\n componentStack: string,\n dynamicValidation: DynamicValidationState,\n clientDynamic: DynamicTrackingState,\n kind: DynamicHoleKind.Runtime | DynamicHoleKind.Dynamic\n) {\n const syncDynamicError = getPendingClientSyncDynamicError(clientDynamic)\n\n if (hasOutletRegex.test(componentStack)) {\n trackOutletSuspenseAboveBody(componentStack, dynamicValidation)\n return\n } else if (hasMetadataRegex.test(componentStack)) {\n const error = addErrorContext(\n createMetadataError(kind, workStore.route),\n componentStack,\n null\n )\n dynamicValidation.dynamicMetadata = error\n return\n } else if (hasViewportRegex.test(componentStack)) {\n const error = addErrorContext(\n createViewportError(kind, workStore.route),\n componentStack,\n null\n )\n dynamicValidation.dynamicErrors.push(error)\n return\n } else if (\n hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(\n componentStack\n )\n ) {\n // For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule.\n // But if you have Suspense above body, the prelude is empty but we allow that because having Suspense\n // is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering.\n dynamicValidation.hasAllowedDynamic = true\n dynamicValidation.hasSuspenseAboveBody = true\n return\n } else if (hasSuspenseRegex.test(componentStack)) {\n // this error had a Suspense boundary above it so we don't need to report it as a source\n // of disallowed\n dynamicValidation.hasAllowedDynamic = true\n return\n } else if (syncDynamicError) {\n dynamicValidation.dynamicErrors.push(syncDynamicError)\n return\n }\n\n if (isClientHookDynamicError(dynamicReason)) {\n dynamicValidation.dynamicErrors.push(\n addErrorContext(dynamicReason, componentStack, null)\n )\n return\n }\n\n const error = addErrorContext(\n kind === DynamicHoleKind.Runtime\n ? createRuntimeBodyError(workStore.route)\n : createDynamicBodyError(workStore.route),\n componentStack,\n null\n )\n dynamicValidation.dynamicErrors.push(error)\n return\n}\n\n/**\n * In dev mode, we prefer using the owner stack, otherwise the provided\n * component stack is used.\n */\nfunction addErrorContext(\n error: Error,\n componentStack: string,\n createInstantStack: (() => Error) | null\n) {\n const ownerStack =\n process.env.NODE_ENV !== 'production' && React.captureOwnerStack\n ? React.captureOwnerStack()\n : null\n\n if (createInstantStack !== null) {\n error.cause = createInstantStack()\n }\n // TODO go back to owner stack here if available. This is temporarily using componentStack to get the right\n //\n error.stack =\n error.name + ': ' + error.message + (ownerStack || componentStack)\n return error\n}\n\nexport enum PreludeState {\n Full = 0,\n Empty = 1,\n Errored = 2,\n}\n\nexport function logDisallowedDynamicError(\n workStore: WorkStore,\n error: Error\n): void {\n console.error(error)\n logBuildDebugHint(workStore.route)\n}\n\nexport function throwIfSyncIOUsed(\n workStore: WorkStore,\n serverDynamic: DynamicTrackingState\n) {\n if (serverDynamic.syncDynamicErrorWithStack) {\n logDisallowedDynamicError(\n workStore,\n serverDynamic.syncDynamicErrorWithStack\n )\n throw new StaticGenBailoutError()\n }\n}\n\nexport function throwIfDisallowedDynamic(\n workStore: WorkStore,\n prelude: PreludeState,\n dynamicValidation: DynamicValidationState,\n serverDynamic: DynamicTrackingState,\n allowEmptyStaticShell: boolean\n): void {\n const dynamicHoleKind = DynamicHoleKind.RuntimeOrDynamic\n\n throwIfSyncIOUsed(workStore, serverDynamic)\n\n // The dynamic metadata error is a mistake-detection signal. It fires when the\n // rest of the shell is otherwise fully static apart from metadata, suggesting\n // the dynamic data access in `generateMetadata` was probably unintentional.\n // That condition is independent of whether the user or build phase accepted\n // an empty shell, so we surface it before any opt-in bypass.\n if (\n prelude === PreludeState.Full &&\n dynamicValidation.hasAllowedDynamic === false &&\n dynamicValidation.hasDynamicMetadata\n ) {\n console.error(createMetadataError(dynamicHoleKind, workStore.route).message)\n throw new StaticGenBailoutError()\n }\n\n // Either flag expresses \"this shell is allowed to be empty/blocking\":\n // - `allowEmptyStaticShell` covers `instant = false` (user opt-in)\n // and the build-phase fallback-shell case.\n // - `hasSuspenseAboveBody` is the structural opt-in inside the user's root\n // layout.\n // Treat them as synonyms for the purpose of bypassing shell-failure errors.\n if (allowEmptyStaticShell || dynamicValidation.hasSuspenseAboveBody) {\n return\n }\n\n if (prelude !== PreludeState.Full) {\n // We didn't have any sync bailouts but there may be user code which\n // blocked the root. We would have captured these during the prerender\n // and can log them here and then terminate the build/validating render\n const dynamicErrors = dynamicValidation.dynamicErrors\n if (dynamicErrors.length > 0) {\n for (let i = 0; i < dynamicErrors.length; i++) {\n logDisallowedDynamicError(workStore, dynamicErrors[i])\n }\n\n throw new StaticGenBailoutError()\n }\n\n // If we got this far then the only other thing that could be blocking\n // the root is dynamic Viewport. If this is dynamic then\n // you need to opt into that by adding a Suspense boundary above the body\n // to indicate your are ok with fully dynamic rendering.\n if (dynamicValidation.hasDynamicViewport) {\n console.error(\n createViewportError(dynamicHoleKind, workStore.route).message\n )\n throw new StaticGenBailoutError()\n }\n\n if (prelude === PreludeState.Empty) {\n // If we ever get this far then we messed up the tracking of invalid dynamic.\n // We still adhere to the constraint that you must produce a shell but invite the\n // user to report this as a bug in Next.js.\n console.error(\n `Route \"${workStore.route}\" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`\n )\n throw new StaticGenBailoutError()\n }\n }\n}\n\nexport function throwIfDisallowedDynamicInStaticRoute(\n workStore: WorkStore,\n prelude: PreludeState,\n dynamicValidation: DynamicValidationState,\n serverDynamic: DynamicTrackingState,\n isFallbackShell: boolean,\n allowEmptyStaticShell: boolean,\n isServerPartial: boolean\n): void {\n const reasons = getDisallowedReasonsInStaticRoute(\n workStore,\n prelude,\n dynamicValidation,\n serverDynamic,\n isFallbackShell,\n allowEmptyStaticShell,\n isServerPartial\n )\n if (reasons.length > 0) {\n for (const reason of reasons) {\n logDisallowedDynamicError(workStore, reason)\n }\n throw new StaticGenBailoutError()\n }\n}\n\nexport function getDisallowedReasonsInStaticRoute(\n workStore: WorkStore,\n prelude: PreludeState,\n dynamicValidation: DynamicValidationState,\n serverDynamic: DynamicTrackingState | null,\n isFallbackShell: boolean,\n allowEmptyStaticShell: boolean,\n isServerPartial: boolean\n): Error[] {\n if (serverDynamic && serverDynamic.syncDynamicErrorWithStack) {\n return [serverDynamic.syncDynamicErrorWithStack]\n }\n\n // We do a fallback shell prerender, but it's not meant to be validated --\n // we just need it to create the relevant prerender outputs.\n if (isFallbackShell) {\n return []\n }\n\n // Suspense-above-body and `instant = false` bypass reporting\n // that the shell is blocked. However, if we have non-prerenderable server\n // data, we still have to error, regardless of those two.\n if (\n !isServerPartial &&\n (allowEmptyStaticShell || dynamicValidation.hasSuspenseAboveBody)\n ) {\n return []\n }\n\n const { dynamicErrors } = dynamicValidation\n if (dynamicErrors.length > 0) {\n return dynamicErrors\n }\n\n // Dynamic data may have been passed into a client component without calling `use()`,\n // in which case we wouldn't see it during the prerender, but still need to error.\n // Fall back to a generic error message.\n if (isServerPartial) {\n return [\n new Error(\n `Route \"${workStore.route}\": Next.js encountered data that is not available during a static prerender, but is unable to provide a location.`\n ),\n ]\n }\n\n if (prelude === PreludeState.Empty || prelude === PreludeState.Errored) {\n // We've somehow ended up with an empty prelude but no dynamic errors.\n // We must've messed up the tracking somehow.\n return [\n new InvariantError(\n `Route \"${workStore.route}\" did not produce a static shell and Next.js was unable to determine a reason.`\n ),\n ]\n }\n return []\n}\n\nexport function getStaticShellDisallowedDynamicReasons(\n workStore: WorkStore,\n prelude: PreludeState,\n dynamicValidation: DynamicValidationState,\n allowEmptyStaticShell: boolean\n): Array {\n // The dynamic metadata error is a mistake-detection signal. It fires when the\n // rest of the shell is otherwise fully static apart from metadata, suggesting\n // the dynamic data access in `generateMetadata` was probably unintentional.\n // That condition is independent of whether the user or build phase accepted\n // an empty shell, so we surface it before any opt-in bypass.\n if (\n prelude === PreludeState.Full &&\n dynamicValidation.hasAllowedDynamic === false &&\n dynamicValidation.dynamicErrors.length === 0 &&\n dynamicValidation.dynamicMetadata\n ) {\n return [dynamicValidation.dynamicMetadata]\n }\n\n // Either flag expresses \"this shell is allowed to be empty/blocking\":\n // - `allowEmptyStaticShell` covers `instant = false` (user opt-in)\n // and the build-phase fallback-shell case.\n // - `hasSuspenseAboveBody` is the structural opt-in inside the user's root\n // layout.\n // Treat them as synonyms for the purpose of bypassing shell-failure errors.\n if (allowEmptyStaticShell || dynamicValidation.hasSuspenseAboveBody) {\n return []\n }\n\n if (prelude !== PreludeState.Full) {\n // We didn't have any sync bailouts but there may be user code which\n // blocked the root. We would have captured these during the prerender\n // and can log them here and then terminate the build/validating render\n const dynamicErrors = dynamicValidation.dynamicErrors\n if (dynamicErrors.length > 0) {\n return dynamicErrors\n }\n\n if (prelude === PreludeState.Empty) {\n // If we ever get this far then we messed up the tracking of invalid dynamic.\n // We still adhere to the constraint that you must produce a shell but invite the\n // user to report this as a bug in Next.js.\n return [\n new InvariantError(\n `Route \"${workStore.route}\" did not produce a static shell and Next.js was unable to determine a reason.`\n ),\n ]\n }\n }\n // We had a non-empty prelude and there are no dynamic holes\n return []\n}\n\n/**\n * `errors` are validation failures that should be surfaced immediately.\n * `deferredFallback` carries a missing-boundary explanation that the caller\n * should hold back until *every* validation depth has been tried — a missing\n * boundary often just means a parent layout intentionally omitted a slot, and\n * a different depth's validation may surface a more meaningful error.\n */\nexport type NavigationValidationResult =\n // instances that block instant navigation\n | Array\n // validation was blocked with zero or more reasons\n | Error\n | AggregateError\n\nexport function getNavigationDisallowedDynamicReasons(\n workStore: WorkStore,\n prelude: PreludeState,\n dynamicValidation: InstantValidationState,\n validationSampleTracking: InstantValidationSampleTracking | null,\n boundaryState: ValidationBoundaryTracking,\n devRenderDidError: boolean\n): NavigationValidationResult {\n // If we have errors related to missing samples, those should take precedence over everything else.\n if (validationSampleTracking) {\n const { missingSampleErrors } = validationSampleTracking\n if (missingSampleErrors.length > 0) {\n return missingSampleErrors\n }\n }\n\n const { validationPreventingErrors } = dynamicValidation\n if (validationPreventingErrors.length > 0) {\n if (process.env.__NEXT_DEV_SERVER && devRenderDidError) {\n // The dev render already surfaced server errors to the user.\n // The same errors likely caused validation to be inconclusive,\n // so reporting them again as validation failures would be noisy.\n return []\n }\n return validationPreventingErrors\n }\n\n // NOTE: We don't care about Suspense above body here,\n // we're only concerned with the validation boundary\n if (prelude !== PreludeState.Full) {\n const dynamicErrors = dynamicValidation.dynamicErrors\n if (dynamicErrors.length > 0) {\n return dynamicErrors\n }\n\n if (\n prelude === PreludeState.Empty &&\n !dynamicValidation.hasAllowedClientDynamicAboveBoundary &&\n allRequiredBoundariesRendered(boundaryState)\n ) {\n // If we ever get this far then we messed up the tracking of invalid\n // dynamic. (When boundaries are missing the deferred fallback below\n // will surface a more useful error.)\n return new InvariantError(\n `Route \"${workStore.route}\" failed to render during instant validation and Next.js was unable to determine a reason.`\n )\n }\n } else {\n const dynamicErrors = dynamicValidation.dynamicErrors\n if (dynamicErrors.length > 0) {\n return dynamicErrors\n }\n\n if (\n dynamicValidation.hasAllowedDynamic === false &&\n dynamicValidation.dynamicMetadata\n ) {\n return [dynamicValidation.dynamicMetadata]\n }\n }\n\n // Missing boundaries on their own aren't a strong signal — a parent\n // layout may legitimately omit a slot. Defer this so the caller can\n // try shallower validation depths first; if every depth comes up\n // empty we still want to surface this so the user is made aware that\n // validation didn't complete. When we add a markers API, the\n // marker-based variant of this check can become strict again.\n if (!allRequiredBoundariesRendered(boundaryState)) {\n const { thrownErrorsOutsideBoundary } = dynamicValidation\n const rootInstantStack = dynamicValidation.slotStacks[0]\n if (thrownErrorsOutsideBoundary.length === 0) {\n const missingFiles: string[] = []\n for (const [id, filePaths] of boundaryState.requiredIds) {\n if (!boundaryState.renderedIds.has(id)) {\n for (const filePath of filePaths) {\n let normalized = filePath\n .replace(/^\\[project\\][\\\\/]?/, '')\n .replace(process.cwd() + '/', '')\n .replace(process.cwd() + '\\\\', '')\n missingFiles.push(normalized)\n }\n }\n }\n missingFiles.sort()\n return createUnrenderedSegmentError(workStore.route, missingFiles)\n } else if (process.env.__NEXT_DEV_SERVER && devRenderDidError) {\n // Errors outside the boundary likely blocked it from rendering,\n // but they're already being reported to the user via the dev\n // render. Suppress the validation failure to avoid noise.\n return []\n } else if (thrownErrorsOutsideBoundary.length === 1) {\n const message = `Route \"${workStore.route}\": Could not validate \\`instant\\` because the target segment was prevented from rendering, likely due to the following error.`\n const error = rootInstantStack !== null ? rootInstantStack() : new Error()\n error.name = 'Error'\n error.message = message\n return new AggregateError([\n error,\n thrownErrorsOutsideBoundary[0] as Error,\n ])\n } else {\n const message = `Route \"${workStore.route}\": Could not validate \\`instant\\` because the target segment was prevented from rendering, likely due to one of the following errors.`\n const error = rootInstantStack !== null ? rootInstantStack() : new Error()\n error.name = 'Error'\n error.message = message\n return new AggregateError([\n error,\n ...(thrownErrorsOutsideBoundary as Error[]),\n ])\n }\n }\n\n // We had a non-empty prelude and there are no dynamic holes\n return []\n}\n"],"names":["DynamicHoleKind","PreludeState","abortAndThrowOnSynchronousRequestDataAccess","abortOnSynchronousPlatformIOAccess","accessedDynamicData","annotateDynamicAccess","consumeDynamicAccess","createDynamicTrackingState","createDynamicValidationState","createHangingInputAbortSignal","createInstantValidationState","formatDynamicAPIAccesses","getDisallowedReasonsInStaticRoute","getFirstDynamicReason","getNavigationDisallowedDynamicReasons","getStaticShellDisallowedDynamicReasons","isPrerenderInterruptedError","logDisallowedDynamicError","markCurrentScopeAsDynamic","throwIfDisallowedDynamic","throwIfDisallowedDynamicInStaticRoute","throwIfSyncIOUsed","throwToInterruptStaticGeneration","trackAllowedDynamicAccess","trackDynamicAccessInStaticRoute","trackDynamicDataInDynamicRender","trackDynamicHoleInNavigation","trackDynamicHoleInStaticShell","trackThrownErrorInNavigation","isDebugDynamicAccesses","dynamicAccesses","syncDynamicErrorWithStack","syncDynamicErrorWithStackPostMicrotask","hasSuspenseAboveBody","hasDynamicMetadata","dynamicMetadata","hasDynamicViewport","hasAllowedDynamic","dynamicErrors","getPendingClientSyncDynamicError","clientDynamic","trackingState","expression","store","workUnitStore","type","forceDynamic","forceStatic","dynamicShouldError","StaticGenBailoutError","route","revalidate","err","DynamicServerError","dynamicUsageDescription","dynamicUsageStack","stack","markRequestStoreAsDynamic","prerenderStore","requestStore","process","env","__NEXT_DEV_SERVER","phase","usedDynamic","abortOnSynchronousDynamicDataAccess","reason","error","createPrerenderInterruptedError","controller","abort","dynamicTracking","push","Error","undefined","errorWithStack","queueMicrotask","prerenderSignal","signal","aborted","NEXT_PRERENDER_INTERRUPTED","message","digest","length","serverDynamic","filter","access","map","split","slice","line","includes","join","AbortController","cacheSignal","inputReady","then","stagedRendering","getStagedRenderingController","finalStage","waitForStage","scheduleOnNextTick","noop","hasSuspenseRegex","bodyAndImplicitTags","hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex","RegExp","ROOT_LAYOUT_BOUNDARY_NAME","hasMetadataRegex","METADATA_BOUNDARY_NAME","hasViewportRegex","VIEWPORT_BOUNDARY_NAME","hasOutletRegex","OUTLET_BOUNDARY_NAME","hasInstantValidationBoundaryRegex","INSTANT_VALIDATION_BOUNDARY_NAME","slotMarkerRegex","INSTANT_SLOT_MARKER_PREFIX","INSTANT_SLOT_MARKER_SUFFIX","resolveInstantStack","componentStack","dynamicValidation","slotStacks","match","exec","slotIndex","parseInt","slotStack","trackOutletSuspenseAboveBody","test","dynamicReason","workStore","isServerPartial","kind","syncDynamicError","addErrorContext","createMetadataErrorInStaticRoute","createViewportErrorInStaticRoute","hasSuspense","isClientHookDynamicError","createBodyErrorInStaticRoute","createBodyError","dynamicHoleKind","hasAllowedClientDynamicAboveBoundary","validationPreventingErrors","thrownErrorsOutsideBoundary","boundaryState","effectiveCreateInstantStack","createMetadataError","createViewportError","boundaryLocation","allRequiredBoundariesRendered","suspenseLocation","index","cause","createBodyErrorInNavigation","createRuntimeBodyError","createDynamicBodyError","createDynamicOrRuntimeBodyError","createRuntimeBodyErrorInNavigation","createLinkBodyErrorInNavigation","createNavigationBodyErrorInNavigation","createPrefetchBodyErrorInNavigation","createDynamicBodyErrorInNavigation","createRuntimeMetadataError","createLinkMetadataError","createNavigationMetadataError","createPrefetchMetadataError","createDynamicMetadataError","createDynamicOrRuntimeMetadataError","createRuntimeViewportError","createLinkViewportError","createNavigationViewportError","createPrefetchViewportError","createDynamicViewportError","createDynamicOrRuntimeViewportError","createRuntimeBodyErrorInStaticRoute","createDynamicBodyErrorInStaticRoute","createNonPrerenderableBodyErrorInStaticRoute","createRuntimeMetadataErrorInStaticRoute","createDynamicMetadataErrorInStaticRoute","createNonPrerenderableMetadataErrorInStaticRoute","createRuntimeViewportErrorInStaticRoute","createDynamicViewportErrorInStaticRoute","createNonPrerenderableViewportErrorInStaticRoute","thrownValue","reactBrowserBailout","browserBailoutReason","getReactBrowserBailoutReason","browserBailoutError","createInstantStack","ownerStack","NODE_ENV","React","captureOwnerStack","name","console","logBuildDebugHint","prelude","allowEmptyStaticShell","i","isFallbackShell","reasons","InvariantError","validationSampleTracking","devRenderDidError","missingSampleErrors","rootInstantStack","missingFiles","id","filePaths","requiredIds","renderedIds","has","filePath","normalized","replace","cwd","sort","createUnrenderedSegmentError","AggregateError"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 14312, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/app-render/instant-validation/boundary-constants.ts"],"sourcesContent":["export const INSTANT_VALIDATION_BOUNDARY_NAME =\n '__next_instant_validation_boundary__'\n\nexport const INSTANT_SLOT_MARKER_PREFIX = '__next_instant_slot_'\nexport const INSTANT_SLOT_MARKER_SUFFIX = '__'\n"],"names":["INSTANT_SLOT_MARKER_PREFIX","INSTANT_SLOT_MARKER_SUFFIX","INSTANT_VALIDATION_BOUNDARY_NAME"],"mappings":";;;;;;;;;;;;;;;IAGaA,0BAA0B,EAAA;eAA1BA;;IACAC,0BAA0B,EAAA;eAA1BA;;IAJAC,gCAAgC,EAAA;eAAhCA;;;AAAN,MAAMA,mCACX;AAEK,MAAMF,6BAA6B;AACnC,MAAMC,6BAA6B","ignoreList":[0]}}, + {"offset": {"line": 14344, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/app-render/instant-validation/boundary-tracking.tsx"],"sourcesContent":["export type ValidationBoundaryTracking = {\n /**\n * Map from boundary id (the SegmentPath where a validation boundary is\n * placed) to the file paths of modules inside that boundary's subtree.\n * When the boundary spans multiple parallel slots, each slot contributes\n * its own first-found module path so all unrendered segments can be\n * reported together.\n */\n requiredIds: Map\n renderedIds: Set\n}\n\nexport function createValidationBoundaryTracking(\n /** Pass if the render is expected to render the same IDs as a previous one. */\n matchPrevious?: ValidationBoundaryTracking\n): ValidationBoundaryTracking {\n return {\n requiredIds: matchPrevious ? new Map(matchPrevious.requiredIds) : new Map(),\n renderedIds: new Set(),\n }\n}\n\nexport function allRequiredBoundariesRendered(\n state: ValidationBoundaryTracking\n): boolean {\n for (const id of state.requiredIds.keys()) {\n if (!state.renderedIds.has(id)) {\n return false\n }\n }\n return true\n}\n"],"names":["allRequiredBoundariesRendered","createValidationBoundaryTracking","matchPrevious","requiredIds","Map","renderedIds","Set","state","id","keys","has"],"mappings":";;;;;;;;;;;;;;IAsBgBA,6BAA6B,EAAA;eAA7BA;;IAVAC,gCAAgC,EAAA;eAAhCA;;;AAAT,SAASA,iCACd,6EAA6E,GAC7EC,aAA0C;IAE1C,OAAO;QACLC,aAAaD,gBAAgB,IAAIE,IAAIF,cAAcC,WAAW,IAAI,IAAIC;QACtEC,aAAa,IAAIC;IACnB;AACF;AAEO,SAASN,8BACdO,KAAiC;IAEjC,KAAK,MAAMC,MAAMD,MAAMJ,WAAW,CAACM,IAAI,GAAI;QACzC,IAAI,CAACF,MAAMF,WAAW,CAACK,GAAG,CAACF,KAAK;YAC9B,OAAO;QACT;IACF;IACA,OAAO;AACT","ignoreList":[0]}}, + {"offset": {"line": 14383, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/app-render/segment-config/ensure-static.ts"],"sourcesContent":["import type {\n AppSegmentConfig,\n EnsureStatic,\n} from '../../../build/segment-config/app/app-segment-config'\nimport { parseLoaderTree } from '../../../shared/lib/router/utils/parse-loader-tree'\nimport {\n getLayoutOrPageModule,\n type LoaderTree,\n} from '../../lib/app-dir-module'\n\n/**\n * The outcome of resolving a route's `ensureStatic` config.\n * The ordering is intentional -- higher values indicate a\n * more constrained route that forces more request kinds to be static.\n *\n * A constraint also implies all its predecessors:\n * - `Prefetch` implies `Shell`, i.e. if prefetches are static, so are shells.\n * - `Navigation` implies `Prefetch` and `Shell`, i.e. if the whole page is static,\n * then so are its shells and prefetches.\n *\n * Note that this flattens `\"auto\"` and `false` into `None`.\n * This is because rendering code does not need to distinguish them --\n * both indicate that the route follows normal Partial Prefetching semantics\n * and does not force anything to be static.\n * However, it is only correct to collapse them into one *after* resolving the\n * config for the entire route, because they have different interactions with\n * configs from other segments on the same route.\n */\nexport enum EnsureStaticLevel {\n /** The route follows standard Partial Prefetching semantics. */\n None = 0,\n /** The route requires that app shells must be statically prerendered. */\n Shell = 1,\n /** The route requires that app shells and prefetches must be statically prerendered. */\n Prefetch = 2,\n /** The route requires that app shells, prefetches, and the whole page must be statically prerendered. */\n Navigation = 3,\n}\n\nfunction getEnsureStaticLevel(ensureStatic: EnsureStatic) {\n switch (ensureStatic) {\n case 'auto':\n case false: {\n return EnsureStaticLevel.None\n }\n case 'shell': {\n return EnsureStaticLevel.Shell\n }\n case 'prefetch': {\n return EnsureStaticLevel.Prefetch\n }\n case 'navigation': {\n return EnsureStaticLevel.Navigation\n }\n }\n}\n\nexport async function resolveEnsureStaticLevel(\n tree: LoaderTree,\n partialPrefetching: boolean\n): Promise {\n return getEnsureStaticLevel(\n await resolveEnsureStaticConfig(tree, partialPrefetching)\n )\n}\n\nexport async function resolveEnsureStaticConfig(\n tree: LoaderTree,\n partialPrefetching: boolean\n): Promise> {\n let { config, filePath } = await resolveEnsureStaticConfigImpl(tree)\n\n if (!partialPrefetching) {\n // If Partial Prefetching is not enabled for this route, we only support\n // a subset of `ensureStatic` values.\n // (We error in `getAppPageStaticInfo` if `ensureStatic` is used without enabling\n // Cache Components, so we don't have to assert that here)\n switch (config) {\n case 'auto': {\n // Default to the equivalent of Cache Components prefetching behavior.\n config = 'prefetch'\n break\n }\n case false:\n case 'shell': {\n // Not meaningful in Cache Components without Partial Prefetching\n const originalConfig = config\n config = 'prefetch'\n console.warn(\n `${formatEnsureStaticExport(originalConfig)} has no effect unless the route is using Partial Prefetching.` +\n `\\n (from: ${filePath})`\n )\n break\n }\n case 'prefetch':\n // Equivalent to regular Cache Components behavior, so we allow it\n // without warning to avoid noise when doing gradual opt-in\n break\n case 'navigation':\n // Meaningful in Cache Components, even without Partial Prefetching\n break\n default:\n config satisfies never\n }\n }\n\n if (config === false) {\n // `false` and \"auto\" are equivalent once resolved.\n return 'auto'\n } else {\n return config\n }\n}\n\ntype EnsureStaticWithSource = {\n config: EnsureStatic\n filePath: string | null\n}\n\nasync function resolveEnsureStaticConfigImpl(\n tree: LoaderTree\n): Promise {\n const { mod: layoutOrPageMod, filePath } = await getLayoutOrPageModule(tree)\n\n const config = getEnsureStaticConfigForModule(layoutOrPageMod)\n\n const parentResult: EnsureStaticWithSource = {\n config,\n filePath: filePath ?? null,\n }\n\n // Walk the slots if any and validate that they don't have incompatible configs\n // with each other. If compatible, pick the most constrained value from the slots.\n let slotsResult: EnsureStaticWithSource | null = null\n let slotResultKey: string | null = null\n const { parallelRoutes } = parseLoaderTree(tree)\n for (const parallelRouteKey in parallelRoutes) {\n const parallelRoute = parallelRoutes[parallelRouteKey]\n const childResult = await resolveEnsureStaticConfigImpl(parallelRoute)\n if (!slotsResult) {\n slotsResult = childResult\n slotResultKey = parallelRouteKey\n } else {\n // Check if the child is compatible with the current result for the slots.\n switch (compareEnsureStatic(childResult.config, slotsResult.config)) {\n case Comparison.Compatible: {\n // 'auto' is compatible with anything, but if the current result is 'auto' and the new one isn't,\n // we want to use the more specific result.\n if (slotsResult.config === 'auto' && childResult.config !== 'auto') {\n slotsResult = childResult\n slotResultKey = parallelRouteKey\n }\n break\n }\n case Comparison.Incompatible:\n case Comparison.LessConstrained:\n case Comparison.MoreConstrained: {\n throw new Error(\n `Parallel slots cannot have incompatible \\`ensureStatic\\`.` +\n `\\n ${formatParallelSlot(slotResultKey!)}: ` +\n `\\n ${formatEnsureStaticExport(slotsResult.config)}` +\n `\\n (from: ${slotsResult.filePath})` +\n `\\n` +\n `\\n ${formatParallelSlot(parallelRouteKey)}: ` +\n `\\n ${formatEnsureStaticExport(childResult.config)}` +\n `\\n (from: ${childResult.filePath})` +\n `\\n` +\n `\\n Possible fixes:` +\n `\\n - Remove one of the \\`ensureStatic\\` exports` +\n `\\n - Change one of the \\`ensureStatic\\` exports to match the other`\n )\n }\n }\n }\n }\n\n // Child segments can override the config from the parent with a more constrained value,\n // but they cannot have a less constrained value.\n if (!slotsResult) {\n return parentResult\n } else {\n const comparison = compareEnsureStatic(\n slotsResult.config,\n parentResult.config\n )\n switch (comparison) {\n case Comparison.Compatible: {\n // 'auto' is compatible with anything, but if the parent result is 'auto' and the slots one isn't,\n // we want to use the more constrained result.\n if (parentResult.config === 'auto' && slotsResult.config !== 'auto') {\n return slotsResult\n } else {\n return parentResult\n }\n }\n case Comparison.MoreConstrained: {\n return slotsResult\n }\n case Comparison.LessConstrained:\n case Comparison.Incompatible: {\n throw new Error(\n (comparison === Comparison.LessConstrained\n ? `A child segment cannot override a parent segment with a less-constrained \\`ensureStatic\\`.`\n : `A child segment cannot override a parent segment with an incompatible \\`ensureStatic\\`.`) +\n `\\n Parent has: ` +\n `\\n ${formatEnsureStaticExport(parentResult.config)}` +\n `\\n (from: ${parentResult.filePath})` +\n `\\n Child has: ` +\n `\\n ${formatEnsureStaticExport(slotsResult.config)}` +\n `\\n (from: ${slotsResult.filePath})` +\n `\\n` +\n `\\n Possible fixes:` +\n `\\n - Remove one of the \\`ensureStatic\\` exports` +\n `\\n - Change one of the \\`ensureStatic\\` exports to match the other`\n )\n }\n }\n }\n}\n\nfunction formatParallelSlot(slot: string) {\n return slot === 'children' ? slot : `@${slot}`\n}\n\nfunction formatEnsureStaticExport(config: EnsureStatic) {\n return `export const ensureStatic = ${JSON.stringify(config)}`\n}\n\nenum Comparison {\n LessConstrained = 1,\n Compatible = 2,\n MoreConstrained = 3,\n Incompatible = 4,\n}\n\nconst ENSURE_STATIC_ORDER: Exclude[] = [\n 'shell',\n 'prefetch',\n 'navigation',\n]\n\nfunction compareEnsureStatic(\n left: EnsureStatic,\n right: EnsureStatic\n): Comparison {\n // 'auto' is compatible with everything.\n if (left === 'auto' || right === 'auto') {\n return Comparison.Compatible\n }\n\n // `false` is compatible with false.\n if (left === false && right === false) {\n return Comparison.Compatible\n }\n // If only one of the values is `false` (we know it's not both), it's incompatible.\n if (left === false || right === false) {\n return Comparison.Incompatible\n }\n\n const leftSort = ENSURE_STATIC_ORDER.indexOf(left)\n const rightSort = ENSURE_STATIC_ORDER.indexOf(right)\n return leftSort < rightSort\n ? Comparison.LessConstrained\n : leftSort === rightSort\n ? Comparison.Compatible\n : Comparison.MoreConstrained\n}\n\nfunction getEnsureStaticConfigForModule(\n mod: Record | undefined\n): EnsureStatic {\n return (mod ? (mod as AppSegmentConfig).ensureStatic : undefined) ?? 'auto'\n}\n"],"names":["EnsureStaticLevel","resolveEnsureStaticConfig","resolveEnsureStaticLevel","getEnsureStaticLevel","ensureStatic","tree","partialPrefetching","config","filePath","resolveEnsureStaticConfigImpl","originalConfig","console","warn","formatEnsureStaticExport","mod","layoutOrPageMod","getLayoutOrPageModule","getEnsureStaticConfigForModule","parentResult","slotsResult","slotResultKey","parallelRoutes","parseLoaderTree","parallelRouteKey","parallelRoute","childResult","compareEnsureStatic","Error","formatParallelSlot","comparison","slot","JSON","stringify","Comparison","ENSURE_STATIC_ORDER","left","right","leftSort","indexOf","rightSort","undefined"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 14590, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/app-render/staged-rendering.ts"],"sourcesContent":["import { InvariantError } from '../../shared/lib/invariant-error'\nimport { createPromiseWithResolvers } from '../../shared/lib/promise-with-resolvers'\n\nexport enum RenderStage {\n Before = 1,\n //\n ShellStatic = 10,\n /** Discrimination-only stage: `prefetch()` in validation renders (static) */\n PrefetchStatic_prefetchApi = 11,\n PrefetchStatic = 12,\n NavigationStatic = 13,\n Static = 14,\n //\n ShellRuntime = 20,\n /** Discrimination-only stage: `prefetch()` in validation renders (runtime) */\n PrefetchRuntime_prefetchApi = 21,\n PrefetchRuntime = 22,\n NavigationRuntime = 23,\n //\n Dynamic = 30,\n Abandoned = 40,\n}\n\nexport type AdvanceableRenderStage = Exclude<\n RenderStage,\n RenderStage.Before | RenderStage.Abandoned\n>\n\nexport const RENDER_STAGE_ADVANCE_ORDER: AdvanceableRenderStage[] = [\n RenderStage.ShellStatic,\n RenderStage.PrefetchStatic_prefetchApi,\n RenderStage.PrefetchStatic,\n RenderStage.NavigationStatic,\n RenderStage.Static,\n //\n RenderStage.ShellRuntime,\n RenderStage.PrefetchRuntime_prefetchApi,\n RenderStage.PrefetchRuntime,\n RenderStage.NavigationRuntime,\n //\n RenderStage.Dynamic,\n]\n\nexport function getNextStage(\n stage: Exclude\n) {\n return RENDER_STAGE_ADVANCE_ORDER[\n RENDER_STAGE_ADVANCE_ORDER.indexOf(stage) + 1\n ]\n}\n\nexport function isAdvanceableRenderStage(\n stage: RenderStage\n): stage is AdvanceableRenderStage {\n return RenderStage.Before < stage && stage <= RenderStage.Dynamic\n}\n\nexport enum SyncIOMode {\n /** Sync IO does not error in any stage. */\n Untracked = 1,\n /** Before `partialPrefetching`: Sync IO errors in static stages, and is allowed otherwise. */\n AllowedInRuntimeOrDynamic = 2,\n /** After `partialPrefetching`: Sync IO errors in all stages other than dynamic. */\n AllowedInDynamic = 3,\n}\n\nexport class StagedRenderingController {\n private abortSignal: AbortSignal | null\n private abandonController: AbortController | null\n private syncIOMode: SyncIOMode\n public readonly finalStage: AdvanceableRenderStage | null\n\n currentStage: RenderStage = RenderStage.Before\n\n syncInterruptReason: Error | null = null\n\n triggers: Record =\n createAdvanceableStageTriggers()\n\n constructor({\n abortSignal,\n abandonController,\n syncIO,\n finalStage,\n }: {\n abortSignal: AbortSignal | null\n abandonController: AbortController | null\n syncIO: SyncIOMode\n finalStage: AdvanceableRenderStage | null\n }) {\n this.abortSignal = abortSignal\n this.abandonController = abandonController\n this.syncIOMode = syncIO\n this.finalStage = finalStage\n\n if (abortSignal) {\n abortSignal.addEventListener(\n 'abort',\n () => {\n // Reject all stage promises that haven't already been resolved.\n // `cancelStageTrigger` is a noop if the trigger already resolved.\n const { reason } = abortSignal\n for (const trigger of Object.values(this.triggers)) {\n cancelStageTrigger(trigger, reason)\n }\n },\n { once: true }\n )\n }\n\n if (abandonController) {\n abandonController.signal.addEventListener(\n 'abort',\n () => {\n this.abandonRender()\n },\n { once: true }\n )\n }\n }\n\n /**\n * Schedules a callback that will execute synchronously when the controller is advanced\n * to `stage` or past it, before any promises for that stage are resolved.\n * If the controller is already past `stage`, the callback is executed immediately.\n * */\n onStage(stage: AdvanceableRenderStage, callback: () => void) {\n addSyncTriggerListener(this.triggers[stage], callback)\n }\n\n shouldTrackSyncInterrupt(): boolean {\n const { syncIOMode, currentStage } = this\n switch (syncIOMode) {\n case SyncIOMode.Untracked: {\n return false\n }\n case SyncIOMode.AllowedInRuntimeOrDynamic: {\n // Legacy: track Sync IO only in static stages.\n // Do not track it before the render, or in runtime/dynamic stages.\n return (\n currentStage > RenderStage.Before &&\n currentStage <= RenderStage.Static\n )\n }\n case SyncIOMode.AllowedInDynamic: {\n // Track sync IO in all cacheable stages.\n // This means all stages except:\n // - before the render\n // - in the dynamic stage\n return (\n currentStage > RenderStage.Before &&\n currentStage < RenderStage.Dynamic\n )\n }\n }\n }\n\n /** Note: only call this if `shouldTrackSyncInterrupt()` returned true */\n syncInterruptCurrentStageWithReason(reason: Error) {\n const { currentStage } = this\n if (\n currentStage === RenderStage.Before ||\n currentStage === RenderStage.Dynamic ||\n currentStage === RenderStage.Abandoned\n ) {\n // Not interruptible. Defensive noop.\n return\n }\n\n // If Sync IO occurs during an abandonable render, we trigger the abandon.\n // The abandon listener will call abandonRender which advances through\n // stages to let caches fill before marking as Abandoned.\n if (this.abandonController) {\n this.abandonController.abort()\n return\n }\n\n if (this.abortSignal) {\n // If this is an abortable render, we capture the interruption reason and stop advancing.\n // We don't release any more promises.\n // The caller is expected to abort the signal.\n this.syncInterruptReason = reason\n this.currentStage = RenderStage.Abandoned\n return\n }\n\n // If we're in a non-abandonable & non-abortable render,\n // we need to advance to the Dynamic stage and capture the interruption reason.\n // (in dev, this will be the restarted render)\n this.syncInterruptReason = reason\n this.advanceStage(RenderStage.Dynamic)\n }\n\n getSyncInterruptReason() {\n return this.syncInterruptReason\n }\n\n getStageEndTime(stage: Exclude) {\n return this.triggers[getNextStage(stage)].triggeredAt ?? Infinity\n }\n\n private abandonRender() {\n // In staged rendering, only the initial render is abandonable.\n // We can abandon the initial render if\n // 1. We notice a cache miss, and need to wait for caches to fill\n // 2. A sync IO error occurs, and the render should be interrupted\n // (this might be a lazy intitialization of a module,\n // so we still want to restart in this case and see if it still occurs)\n // In either case, we'll be doing another render after this one,\n // so we only want to unblock the next stage, not Dynamic, because\n // unblocking the dynamic stage would likely lead to wasted (uncached) IO.\n\n const { currentStage } = this\n\n if (currentStage === RenderStage.Before) {\n throw new InvariantError(\n \"A render that hasn't started yet cannot be abandoned\"\n )\n }\n if (\n currentStage === RenderStage.Dynamic ||\n currentStage === RenderStage.Abandoned\n ) {\n // We shouldn't ever trigger an abandon in these. Defensive noop.\n return\n }\n\n // Resolve all stages after the current one, up to runtime (excluding dynamic)\n const nextStageIx = RENDER_STAGE_ADVANCE_ORDER.indexOf(currentStage) + 1\n const dynamicStageIx = RENDER_STAGE_ADVANCE_ORDER.indexOf(\n RenderStage.Dynamic\n )\n for (let i = nextStageIx; i < dynamicStageIx; i++) {\n this.resolveStage(RENDER_STAGE_ADVANCE_ORDER[i])\n }\n\n this.currentStage = RenderStage.Abandoned\n }\n\n advanceStage(targetStage: AdvanceableRenderStage) {\n if (this.finalStage !== null && targetStage > this.finalStage) {\n throw new InvariantError(\n `Attempted to advance to stage ${RenderStage[targetStage]} but the render is limited to ${RenderStage[this.finalStage]}`\n )\n }\n const { currentStage } = this\n\n if (\n currentStage === RenderStage.Dynamic ||\n currentStage === RenderStage.Abandoned\n ) {\n // Terminal stages, nowhere left to advance.\n return\n }\n\n // If we're already at the target stage or beyond, do nothing.\n if (targetStage <= currentStage) {\n return\n }\n\n this.currentStage = targetStage\n\n // Resolve all stages between the current stage and the target.\n const nextStageIx =\n currentStage === RenderStage.Before\n ? 0\n : RENDER_STAGE_ADVANCE_ORDER.indexOf(currentStage) + 1\n const targetStageIx = RENDER_STAGE_ADVANCE_ORDER.indexOf(targetStage)\n for (let i = nextStageIx; i <= targetStageIx; i++) {\n this.resolveStage(RENDER_STAGE_ADVANCE_ORDER[i])\n }\n }\n\n private resolveStage(stage: AdvanceableRenderStage) {\n fireStageTrigger(this.triggers[stage])\n }\n\n private getStagePromise(stage: AdvanceableRenderStage): Promise {\n return this.triggers[stage].promise\n }\n\n waitForStage(stage: AdvanceableRenderStage) {\n return this.getStagePromise(stage)\n }\n\n delayUntilStage(\n stage: AdvanceableRenderStage,\n displayName: string | undefined,\n resolvedValue: T\n ): Promise {\n const stagePromise = this.getStagePromise(stage)\n\n const promise =\n process.env.NODE_ENV === 'development'\n ? makeDevtoolsIOPromiseFromIOTrigger(\n stagePromise,\n displayName,\n resolvedValue\n )\n : stagePromise.then(() => resolvedValue)\n\n // Analogously to `makeDynamicHangingPromise`, we might reject this promise if the signal is invoked.\n // (e.g. in the case where we don't want want the render to proceed to the dynamic stage and abort it).\n // We shouldn't consider this an unhandled rejection, so we attach a noop catch handler here to suppress this warning.\n if (this.abortSignal) {\n promise.catch(ignoreReject)\n }\n return promise\n }\n}\n\nfunction createAdvanceableStageTriggers(): Record<\n AdvanceableRenderStage,\n StageTrigger\n> {\n const triggers: Partial> = {}\n for (const stage of RENDER_STAGE_ADVANCE_ORDER) {\n triggers[stage] = createStageTrigger()\n }\n return triggers as Record\n}\n\nfunction ignoreReject() {}\n\n// TODO(restart-on-cache-miss): the layering of `delayUntilStage`,\n// `makeDevtoolsIOPromiseFromIOTrigger` and and `makeDevtoolsIOAwarePromise`\n// is confusing, we should clean it up.\nfunction makeDevtoolsIOPromiseFromIOTrigger(\n ioTrigger: Promise,\n displayName: string | undefined,\n resolvedValue: T\n): Promise {\n // If we create a `new Promise` and give it a displayName\n // (with no userspace code above us in the stack)\n // React Devtools will use it as the IO cause when determining \"suspended by\".\n // In particular, it should shadow any inner IO that resolved/rejected the promise\n // (in case of staged rendering, this will be the `setTimeout` that triggers the relevant stage)\n const promise = new Promise((resolve, reject) => {\n ioTrigger.then(resolve.bind(null, resolvedValue), reject)\n })\n if (displayName !== undefined) {\n // @ts-expect-error\n promise.displayName = displayName\n }\n return promise\n}\n\ntype StageTrigger = {\n state: 'pending' | 'triggered' | 'cancelled'\n triggeredAt: number | null\n promise: Promise\n _listeners: Array<() => void>\n _resolvePromise: () => void\n _rejectPromise: (reason: unknown) => void\n}\n\nfunction addSyncTriggerListener(trigger: StageTrigger, listener: () => void) {\n if (trigger.state === 'pending') {\n trigger._listeners.push(listener)\n } else {\n listener()\n }\n}\n\nfunction createStageTrigger(): StageTrigger {\n const { promise, resolve, reject } = createPromiseWithResolvers()\n return {\n state: 'pending',\n triggeredAt: null,\n promise,\n _listeners: [],\n _resolvePromise: resolve,\n _rejectPromise: reject,\n }\n}\n\nfunction fireStageTrigger(trigger: StageTrigger) {\n if (trigger.state !== 'pending') {\n return\n }\n trigger.state = 'triggered'\n trigger.triggeredAt = performance.now() + performance.timeOrigin\n try {\n const { _listeners: listeners } = trigger\n for (let i = 0; i < listeners.length; i++) {\n listeners[i]()\n }\n listeners.length = 0\n } finally {\n trigger._resolvePromise()\n }\n}\n\nfunction cancelStageTrigger(trigger: StageTrigger, reason: unknown) {\n if (trigger.state !== 'pending') {\n return\n }\n trigger.state = 'cancelled'\n // we didn't trigger, so don't save `triggeredAt`.\n\n // We're not gonna fire the listeners, we may as well free them.\n trigger._listeners.length = 0\n\n // Suppress unhandled rejection warnings for promises that no one is awaiting.\n trigger.promise.catch(ignoreReject)\n trigger._rejectPromise(reason)\n}\n"],"names":["RENDER_STAGE_ADVANCE_ORDER","RenderStage","StagedRenderingController","SyncIOMode","getNextStage","isAdvanceableRenderStage","stage","indexOf","constructor","abortSignal","abandonController","syncIO","finalStage","currentStage","syncInterruptReason","triggers","createAdvanceableStageTriggers","syncIOMode","addEventListener","reason","trigger","Object","values","cancelStageTrigger","once","signal","abandonRender","onStage","callback","addSyncTriggerListener","shouldTrackSyncInterrupt","syncInterruptCurrentStageWithReason","abort","advanceStage","getSyncInterruptReason","getStageEndTime","triggeredAt","Infinity","InvariantError","nextStageIx","dynamicStageIx","i","resolveStage","targetStage","targetStageIx","fireStageTrigger","getStagePromise","promise","waitForStage","delayUntilStage","displayName","resolvedValue","stagePromise","process","env","NODE_ENV","makeDevtoolsIOPromiseFromIOTrigger","then","catch","ignoreReject","createStageTrigger","ioTrigger","Promise","resolve","reject","bind","undefined","listener","state","_listeners","push","createPromiseWithResolvers","_resolvePromise","_rejectPromise","performance","now","timeOrigin","listeners","length"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 14907, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/dynamic-rendering-utils.ts"],"sourcesContent":["import { InvariantError } from '../shared/lib/invariant-error'\nimport { createPromiseWithResolvers } from '../shared/lib/promise-with-resolvers'\nimport { EnsureStaticLevel } from './app-render/segment-config/ensure-static'\nimport {\n RenderStage,\n type StagedRenderingController,\n type AdvanceableRenderStage,\n} from './app-render/staged-rendering'\nimport { workAsyncStorage } from './app-render/work-async-storage.external'\nimport type {\n RequestStore,\n WorkUnitStore,\n} from './app-render/work-unit-async-storage.external'\nimport { workUnitAsyncStorage } from './app-render/work-unit-async-storage.external'\nimport { getServerReact, getClientReact } from './runtime-reacts.external'\n\nexport function isHangingPromiseRejectionError(\n err: unknown\n): err is HangingPromiseRejectionError {\n if (typeof err !== 'object' || err === null || !('digest' in err)) {\n return false\n }\n\n return err.digest === HANGING_PROMISE_REJECTION\n}\n\nconst HANGING_PROMISE_REJECTION = 'HANGING_PROMISE_REJECTION'\n\nclass HangingPromiseRejectionError extends Error {\n public readonly digest = HANGING_PROMISE_REJECTION\n\n constructor(\n public readonly route: string,\n public readonly expression: string\n ) {\n super(\n `During prerendering, ${expression} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${expression} to a different context by using \\`setTimeout\\`, \\`after\\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route \"${route}\".`\n )\n }\n}\n\nconst CLIENT_HOOK_DYNAMIC = 'CLIENT_HOOK_DYNAMIC'\n\nexport class ClientHookDynamicError extends Error {\n public readonly digest = CLIENT_HOOK_DYNAMIC\n\n constructor(route: string, expression: string) {\n super(\n `Route \"${route}\": Next.js encountered URL data \\`${expression}\\` in a Client Component outside of \\`\\`.\\n\\n` +\n `This blocks prerendering because the value is only available at runtime.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [stream] Wrap the component in \\`\\` so the hook value streams in after prerendering\\n` +\n ` - [block] Set \\`export const instant = false\\` to allow a blocking route\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/blocking-prerender-client-hook`\n )\n }\n}\n\nexport function isClientHookDynamicError(\n err: unknown\n): err is ClientHookDynamicError {\n if (typeof err !== 'object' || err === null || !('digest' in err)) {\n return false\n }\n\n return err.digest === CLIENT_HOOK_DYNAMIC\n}\n\ntype AbortListeners = Array<() => void>\nconst abortListenersBySignal = new WeakMap()\n\n/**\n * Constructs a promise that never resolves, standing in for *dynamic* data:\n * data that is only available during a real dynamic request and hangs in\n * every kind of prerender — `io()`, `connection()`, uncached `fetch()`.\n *\n * This is primarily useful for cacheComponents where we use promise\n * resolution timing to determine which parts of a render can be included in a\n * prerender.\n *\n * Records nothing on the prerender store: the promise's holes are only ever\n * filled by a real dynamic request, so a runtime prefetch response would have\n * the same holes as the static one. If the data source would resolve during a\n * runtime prerender, use `makeRuntimeHangingPromise` instead.\n */\nexport function makeDynamicHangingPromise(\n signal: AbortSignal,\n route: string,\n expression: string\n): Promise {\n return makeHangingPromiseWithError(\n signal,\n new HangingPromiseRejectionError(route, expression)\n )\n}\n\nexport function makeUntrackedHangingPromise(\n signal: AbortSignal,\n route: string,\n expression: string\n): Promise {\n return makeHangingPromiseWithError(\n signal,\n new HangingPromiseRejectionError(route, expression)\n )\n}\n\n/**\n * Constructs a promise that never resolves, standing in for session data\n * (which a runtime shell can access).\n * Examples: cookies, headers\n *\n * Awaiting one of these during a static prerender records on the prerender\n * store that a runtime shell would produce more content than the static\n * static shell, which the segment prefetch encoding uses\n * to tell the client whether a runtime request could be skipped.\n *\n * When unsure whether data is dynamic or runtime, prefer this method — the\n * cost of over-recording is a redundant runtime prefetch request; the cost of\n * under-recording is a permanently missing one.\n *\n * For fallback-param data — data a concrete (ISR-upgraded) prerender would\n * resolve — use `makeFallbackParamsHangingPromise` instead, so the access\n * is recorded with the right effect on the static-prefetch hint.\n */\nexport function makeSessionDataHangingPromise(\n signal: AbortSignal,\n route: string,\n expression: string,\n workUnitStore: WorkUnitStore\n): Promise {\n const promise = makeHangingPromiseWithError(\n signal,\n new HangingPromiseRejectionError(route, expression)\n )\n return trackPromiseUsed(\n promise,\n trackSessionDataAccessed.bind(null, workUnitStore, expression)\n )\n}\n\n/**\n * Constructs a promise that never resolves, standing in for URL data,\n * which can be accessed in a runtime prefetch (but not a runtime shell).\n * Examples: fallback params, searchParams\n *\n * Awaiting one of these during a static prerender records on the prerender\n * store that a runtime prefetch would produce more content than the static\n * response, which the segment prefetch encoding uses\n * to tell the client whether a runtime prefetch request could be skipped.\n *\n * When unsure whether data is dynamic or runtime, prefer this method — the\n * cost of over-recording is a redundant runtime prefetch request; the cost of\n * under-recording is a permanently missing one.\n *\n * `workUnitStore` may be null ONLY when the caller tracks the access itself.\n * Such a caller MUST call `trackURLDataAccessed` from every path that\n * observes the promise (e.g. the proxy traps for `then`/`status`),\n * against the work unit store active at access time.\n *\n * For fallback-param data — data a concrete (ISR-upgraded) prerender would\n * resolve — use `makeFallbackParamsHangingPromise` instead, so the access\n * is recorded with the right effect on the static-prefetch hint.\n */\nexport function makeURLDataHangingPromise(\n signal: AbortSignal,\n route: string,\n expression: string,\n workUnitStore: WorkUnitStore | null\n): Promise {\n const promise = makeHangingPromiseWithError(\n signal,\n new HangingPromiseRejectionError(route, expression)\n )\n if (workUnitStore === null) {\n return promise\n }\n return trackPromiseUsed(\n promise,\n trackURLDataAccessed.bind(null, workUnitStore, expression)\n )\n}\n\n/**\n * Creates a promise that stands in for a result that will either be session data\n * or URL data, but we don't know which.\n */\nexport function makeUnknownRuntimeDataHangingPromise(\n signal: AbortSignal,\n route: string,\n expression: string,\n workUnitStore: WorkUnitStore\n): Promise {\n // We don't know if this is session or URL data, i.e. if it should affect the shell\n // or only the prefetch. Track it conservatively as affecting both.\n return makeSessionDataHangingPromise(signal, route, expression, workUnitStore)\n}\n\n/**\n * Constructs a promise that never resolves, standing in for data that is only\n * accessible in the prefetch, but not in the shell, e.g. `prefetch()`.\n * This usage does *not* indicate that a runtime request is needed,\n * only that the data is not available in a shell.\n *\n * @internal\n */\nexport function makePrefetchHangingPromise(\n signal: AbortSignal,\n route: string,\n expression: string\n): Promise {\n return makeUntrackedHangingPromise(signal, route, expression)\n}\n\n/**\n * Variant of `makeRuntimeHangingPromise` for *fallback-param* data: fallback\n * route params and values derived solely from them (`params`, `rootParams`,\n * `pathname` during a fallback prerender). Like every runtime data access,\n * awaiting it records the access on the prerender store's response-level flag,\n * but its effect on the build-time static-prefetch hint differs — on a\n * fallback-upgradeable route the access is transient (a concrete prerender\n * resolves it), so it leaves the hint intact. See `trackFallbackParamsAccessed`.\n *\n * As with `makeRuntimeHangingPromise`, `workUnitStore` may be null ONLY when\n * the caller tracks the access itself by calling `trackFallbackParamsAccessed`\n * from every path that observes the promise.\n */\nexport function makeFallbackParamsHangingPromise(\n signal: AbortSignal,\n route: string,\n expression: string,\n workUnitStore: WorkUnitStore | null\n): Promise {\n const promise = makeHangingPromiseWithError(\n signal,\n new HangingPromiseRejectionError(route, expression)\n )\n if (workUnitStore === null) {\n return promise\n }\n return trackPromiseUsed(\n promise,\n trackFallbackParamsAccessed.bind(null, workUnitStore, expression)\n )\n}\n\nexport type PrerenderDataTracking = {\n /**\n * Records when the render has accessed a request data source\n * that hangs during a static prerender but would resolve during a runtime\n * prerender — cookies, headers, fallback params, searchParams, and cache\n * entries excluded only from static prerenders.\n *\n * The client uses this promise as the actual source of truth for whether a segment\n * needs a runtime request. Prefetch hints can become stale after a revalidation,\n * so if a hint says a static request should be enough but `runtimeDataAccessed`\n * resolves to `true`, a follow-up runtime request will be issued.\n * This applies to both shells and prefetches.\n *\n * The promise is embedded in the RSC payload (`InitialRSCPayload['u']`),\n * and is meant to be rewindable. This means that the shell might not have\n * any runtime data accesses, even when the prefetch does.\n * (this has some subtleties; see `markRuntimeDataAccessWhenStageReached`\n * for more)\n *\n * After the prerender, the promise is consumed by `collectSegmentData` and each\n * static prefetch will contain it (`PrefetchFlightResponse['u']`).\n * However, all the segments for a route will use the same promise (because we're\n * only tracking this on the page level) so if one segment needs runtime data, then\n * all segments will be marked as such.\n * However, on the client `isPartial` takes precedence over `runtimeDataAccessed`,\n * so complete segments will not end up being deopted.\n */\n readonly runtimeDataAccessed: PromiseWithResolvers\n\n /** Corresponds to `PrefetchHint.ShouldAttemptStaticShell`. */\n shouldAttemptStaticShell: boolean\n /** Corresponds to `PrefetchHint.ShouldAttemptStaticPrefetch`. */\n shouldAttemptStaticPrefetch: boolean\n}\n\nexport function createPrerenderDataTracking(): PrerenderDataTracking {\n return {\n runtimeDataAccessed: createPromiseWithResolvers(),\n shouldAttemptStaticShell: true,\n shouldAttemptStaticPrefetch: true,\n }\n}\n\nexport function finishPrerenderDataTracking(\n prerenderDataTracking: PrerenderDataTracking\n) {\n // If a runtime data access already resolved this promise, this is a no-op.\n prerenderDataTracking.runtimeDataAccessed.resolve(false)\n}\n\n/**\n * Records on a static prerender store that the render accessed a data source\n * which would have resolved in a runtime shell (or runtime prefetch).\n * No-op for all other store types.\n *\n * Prefer `makeRuntimeHangingPromise`. Use this function only when implementing\n * similar tracking and that one is not enough.\n */\nfunction trackSessionDataAccessed(\n workUnitStore: WorkUnitStore,\n expression: string\n): void {\n trackRuntimeDataAccessed(\n workUnitStore,\n PrerenderDataKind.SessionData,\n expression\n )\n}\n\n/**\n * Records on a static prerender store that the render accessed a data source\n * which would have resolved in a runtime prefetch (but NOT in a runtime shell)\n * No-op for all other store types.\n *\n * Prefer `makeRuntimeHangingPromise`. Use this function only when implementing\n * similar tracking and that one is not enough.\n *\n * For fallback-param data, use `trackFallbackParamsAccessed` instead. When\n * unsure, this is the conservative choice.\n */\nexport function trackURLDataAccessed(\n workUnitStore: WorkUnitStore,\n expression: string\n): void {\n trackRuntimeDataAccessed(workUnitStore, PrerenderDataKind.UrlData, expression)\n}\n\n/**\n * Fallback-param variant of `trackRuntimeDataAccessed`, for accesses of\n * fallback route params and values derived solely from them. It records the\n * response-level flag all the same, but only clears the build-time\n * static-prefetch hint when the route is not fallback-upgradeable — on an\n * upgradeable route the access is transient, since ISR later produces a\n * concrete prerender that resolves it.\n */\nexport function trackFallbackParamsAccessed(\n workUnitStore: WorkUnitStore,\n expression: string\n): void {\n trackRuntimeDataAccessed(\n workUnitStore,\n PrerenderDataKind.FallbackParams,\n expression\n )\n}\n\nconst enum PrerenderDataKind {\n SessionData = 1,\n UrlData = 2,\n FallbackParams = 3,\n}\n\nfunction trackRuntimeDataAccessed(\n workUnitStore: WorkUnitStore,\n dataKind: PrerenderDataKind,\n expression: string\n): void {\n switch (workUnitStore.type) {\n case 'prerender': {\n const { prerenderDataTracking, stagedRendering } = workUnitStore\n if (!prerenderDataTracking || !stagedRendering) {\n return\n }\n const { currentStage } = stagedRendering\n if (currentStage === RenderStage.Before) {\n console.error(\n new InvariantError(\n 'Unexpected trackRuntimeDataAccessed in the Before stage.'\n )\n )\n return\n }\n if (currentStage >= RenderStage.NavigationStatic) {\n // Ignore any accesses that happen after `navigation()` resolves.\n // The purpose of this tracking is to judge whether a runtime prefetch\n // would give us a more complete result than a static one.\n // But `navigation()` wouldn't have resolved in a runtime prefetch,\n // so e.g. `await navigation(); await cookies()` wouldn't have more content\n // in those, and we shouldn't count it.\n return\n }\n\n const ensureStaticLevel =\n workUnitStore.ensureStaticLevel ?? EnsureStaticLevel.None\n\n // NOTE: In general, we keep hints in sync with `needsRuntimeRequest`, but they\n // don't have to always match. The client re-uses hints for the entire route,\n // while `needsRuntimeRequest` can vary across individual prerendered param values\n // (e.g. if cookies are accessed depending on a param value).\n // Hints can also become outdated if a route only starts using runtime data\n // after a revalidation, so we have to expect this and be resilient to it.\n // Also see the upgradeable fallback params case below, which deliberately\n // puts them out of sync.\n\n switch (dataKind) {\n case PrerenderDataKind.SessionData: {\n // Potentially deopt both the shell and the prefetch,\n // because if the shell accessed runtime data, so does the prefetch.\n // However, if we're already past the shell stage, the shell is not affected.\n // (which makes e.g. `await prefetch(); await cookies()` only affect the prefetch)\n let firstAffectedStage:\n | RenderStage.ShellStatic\n | RenderStage.PrefetchStatic\n | null = null\n\n if (\n currentStage <= RenderStage.ShellStatic &&\n // Only track if we're not forcing the shell to be static.\n ensureStaticLevel < EnsureStaticLevel.Shell\n ) {\n prerenderDataTracking.shouldAttemptStaticShell = false\n firstAffectedStage ??= RenderStage.ShellStatic\n logRuntimeDeopt?.(expression, 'shell')\n }\n\n if (\n currentStage <= RenderStage.PrefetchStatic &&\n // Only track if we're not forcing the prefetch to be static.\n ensureStaticLevel < EnsureStaticLevel.Prefetch\n ) {\n prerenderDataTracking.shouldAttemptStaticPrefetch = false\n // NOTE: if the shell is affected, don't override it.\n firstAffectedStage ??= RenderStage.PrefetchStatic\n logRuntimeDeopt?.(expression, 'prefetch')\n }\n\n if (firstAffectedStage !== null) {\n markRuntimeDataAccessWhenStageReached(\n prerenderDataTracking,\n stagedRendering,\n firstAffectedStage\n )\n }\n break\n }\n case PrerenderDataKind.FallbackParams: {\n if (workUnitStore.isFallbackUpgradeable) {\n // An fallback-param access is transient when the route is\n // fallback-upgradeable (i.e. ISR later produces the concrete prerender a\n // static prefetch would hit) so it does not indicate the need for a runtime\n // request and thus does not affect the static hints.\n //\n // If runtime prefetches are not disallowed by `ensureStatic`, then we still\n // set `runtimeDataAccessed` (while keeping the hints static). This means that\n // if the concrete prerender isn't ready yet and we served the fallback, then\n // the client knows it can use a *runtime* prefetch for speculative links --\n // a runtime prefetch can provide the same content (or more) as the concrete\n // prerender would.\n if (ensureStaticLevel < EnsureStaticLevel.Prefetch) {\n markRuntimeDataAccessWhenStageReached(\n prerenderDataTracking,\n stagedRendering,\n // `params` are URL data, so they only affect the prefetch\n RenderStage.PrefetchStatic\n )\n logRuntimeUpgradeableFallback?.()\n }\n break\n }\n // not an upgradeable fallback param access, so we treat it as URL data.\n // intentional fallthrough\n }\n case PrerenderDataKind.UrlData: {\n // Only deopt the prefetch, not the shell, which cannot access URL data anyway.\n if (\n currentStage <= RenderStage.PrefetchStatic &&\n ensureStaticLevel < EnsureStaticLevel.Prefetch\n ) {\n prerenderDataTracking.shouldAttemptStaticPrefetch = false\n logRuntimeDeopt?.(expression, 'prefetch')\n\n markRuntimeDataAccessWhenStageReached(\n prerenderDataTracking,\n stagedRendering,\n RenderStage.PrefetchStatic\n )\n }\n break\n }\n }\n\n break\n }\n case 'prerender-client':\n case 'prerender-legacy':\n case 'prerender-runtime':\n case 'validation-client':\n case 'request':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n case 'build-time-generator':\n // Only the modern server prerender tracks this; see the field docs on\n // PrerenderStoreModernServer.\n break\n default:\n workUnitStore satisfies never\n }\n}\n\n/**\n * Tracks a runtime data access on the `runtimeDataAccessed` promise,\n * but with a delay until `targetStage`.\n *\n * When we encounter a URL data access like `await params`, we need to mark the\n * *prefetch* as needing runtime data, but the *shell* should remain unaffected\n * (because it cannot access params anyway).\n *\n * However, the shell and the prefetch share one `runtimeDataAccessed` promise,\n * and it needs to be accurately rewindable by the client\n * In other words, we need to make sure that it reads as `false` when rewound\n * to a shell, but as `true` in the final response (the prefetch).\n *\n * This means that if the `await params` is encountered during the shell stage, we\n * cannot resolve `runtimeDataAccessed` immediately.\n * Instead, we delay the resolution until the PrefetchStatic stage, so the promise\n * will remain unresolved when rewound to the shell stage (which reads as `false`).\n */\nfunction markRuntimeDataAccessWhenStageReached(\n prerenderDataTracking: PrerenderDataTracking,\n stageController: StagedRenderingController,\n targetStage: AdvanceableRenderStage\n) {\n const { runtimeDataAccessed } = prerenderDataTracking\n // NOTE: If we're already in or past the target stage, we can avoid allocating a closure,\n // because `onStage` would've executed the callback immediately anyway.\n if (stageController.currentStage >= targetStage) {\n runtimeDataAccessed.resolve(true)\n } else {\n stageController.onStage(\n targetStage,\n runtimeDataAccessed.resolve.bind(null, true)\n )\n }\n}\n\nconst logRuntimeDeopt = process.env.NEXT_PRIVATE_DEBUG_RUNTIME_DATA\n ? (expression: string, kind: 'shell' | 'prefetch') => {\n const { route } = workAsyncStorage.getStore()!\n console.log(\n `Route '${route}': deopting to a runtime ${kind} because it used ${expression}`\n )\n }\n : undefined\n\nconst logRuntimeUpgradeableFallback = process.env\n .NEXT_PRIVATE_DEBUG_RUNTIME_DATA\n ? () => {\n const { route } = workAsyncStorage.getStore()!\n console.log(\n `Route '${route}': marking upgradeable fallback as runtime prefetchable`\n )\n }\n : undefined\n\n/**\n * Signals that we cannot recover both a runtime shell and a static (PPR) shell\n * from the same render. Use this whenever the stage of a promise varies on\n * `RequestStore.needsRuntimeShell`.\n * */\nexport function trackIncompatibleShellContent(\n workUnitStore: RequestStore,\n reason: string\n) {\n const { stagedRendering } = workUnitStore\n if (!stagedRendering) {\n return\n }\n\n // TODO(app-shells): optimize this to only consider stages that are relevant for validation.\n // We should only track incompatible content when it can affect them.\n // For now, we simply exclude everything that happens in the dynamic stage.\n // (Note that we also need to account for cache misses that move things to a\n // different stage -- those should also preemptively set `hasIncompatibleShellContent`\n // because there's a chance that a render with warm caches would set it)\n const { currentStage } = stagedRendering\n if (\n currentStage === RenderStage.Dynamic ||\n currentStage === RenderStage.Abandoned\n ) {\n return\n }\n if (process.env.NEXT_PRIVATE_DEBUG_VALIDATION) {\n const workStore = workAsyncStorage.getStore()!\n console.log(\n `Route ${workStore.route}: Incompatible shell content: ${reason}`\n )\n }\n workUnitStore.hasIncompatibleShellContent = true\n}\n\nexport function makeClientHookHangingPromise(\n signal: AbortSignal,\n error: ClientHookDynamicError\n): Promise {\n return makeHangingPromiseWithError(signal, error)\n}\n\nfunction makeHangingPromiseWithError(\n signal: AbortSignal,\n error: Error\n): Promise {\n if (signal.aborted) {\n return Promise.reject(error)\n } else {\n const hangingPromise = new Promise((_, reject) => {\n const boundRejection = reject.bind(null, error)\n let currentListeners = abortListenersBySignal.get(signal)\n if (currentListeners) {\n currentListeners.push(boundRejection)\n } else {\n const listeners = [boundRejection]\n abortListenersBySignal.set(signal, listeners)\n signal.addEventListener(\n 'abort',\n () => {\n for (let i = 0; i < listeners.length; i++) {\n listeners[i]()\n }\n },\n { once: true }\n )\n }\n })\n // We are fine if no one actually awaits this promise. We shouldn't consider this an unhandled rejection so\n // we attach a noop catch handler here to suppress this warning. If you actually await somewhere or construct\n // your own promise out of it you'll need to ensure you handle the error when it rejects.\n hangingPromise.catch(ignoreReject)\n return hangingPromise\n }\n}\n\nfunction ignoreReject() {}\n\n/**\n * Creates a promise that will be triggered when another promise resolves.\n * It will not emit unhandled rejections, which is important if the trigger\n * is a promise that might itself get rejected (e.g. when a prerender/render\n * are aborted due to sync IO)\n */\nexport function makePromiseFromTrigger(\n trigger: Promise,\n value: T\n): Promise {\n const promise = trigger.then(() => value)\n promise.catch(ignoreReject)\n return promise\n}\n\nexport function makeDevtoolsIOAwarePromise(\n underlying: T,\n requestStore: RequestStore,\n stage: AdvanceableRenderStage\n): Promise {\n if (requestStore.stagedRendering) {\n // We resolve each stage in a timeout, so React DevTools will pick this up as IO.\n return requestStore.stagedRendering.delayUntilStage(\n stage,\n undefined,\n underlying\n )\n }\n // in React DevTools if we resolve in a setTimeout we will observe\n // the promise resolution as something that can suspend a boundary or root.\n return new Promise((resolve) => {\n // Must use setTimeout to be considered IO React DevTools. setImmediate will not work.\n setTimeout(() => {\n resolve(underlying)\n }, 0)\n })\n}\n\n/**\n * Invokes `onUse` whenever `then()/catch()/finally()` are called on the promise\n * or when the promise is awaited. */\nexport function trackPromiseUsed(\n promise: Promise,\n onUse: () => void\n): Promise {\n // We can instrument `.then()/.catch()/.finally()` in one go by using a Promise subclass\n // that implements a custom `.then()`, because `catch` and `finally` delegate to it.\n //\n // Alternative implementation ideas that were tried and rejected:\n //\n // 1. Patching the methods directly via `promise.then = (..args) => { ... }`:\n // doesn't work, because Node does not call the monkeypatched methods for native `await`:\n // > Native Promise [...]: The promise is directly used and awaited natively, without calling `then()`.\n // > https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await#description\n //\n // 2. Wrapping in a proxy that returns a custom `then/catch/finally`:\n // breaks async stacks in React's IO tracking (stack becomes `Promise.then`)\n return TrackedPromise.from(promise, onUse)\n}\n\nclass TrackedPromise extends Promise {\n #onUse: (() => void) | null = null\n\n // We don't need derived promises to also be a TrackedPromise.\n // We only care about the first level of `.then()`.\n static get [Symbol.species]() {\n return Promise\n }\n\n static from(promise: Promise, onUse: () => void): TrackedPromise {\n // Whenever the promise we're tracking resolves/rejects, we should follow.\n const tracked = new TrackedPromise(promise.then.bind(promise))\n\n tracked.#onUse = onUse\n\n // Hanging promises catch rejections when created. Tracked promises are generally derived\n // from promises that may hang & reject, so we need to do the same.\n // However, we have to bypass the tracking we do in `TrackedPromise.then`.\n // (we're using `then` directly, because `catch` ends up delegating `TrackedPromise.then`)\n Promise.prototype.then.call(tracked, undefined, ignoreReject)\n\n return tracked\n }\n\n then(\n onFulfilled?: (value: T) => TResult1 | PromiseLike,\n onRejected?: (reason: unknown) => TResult2 | PromiseLike\n ): Promise {\n const onUse = this.#onUse\n if (onUse) {\n try {\n onUse()\n } catch (err) {\n // We don't want to break the method even if our tracking errored.\n console.error(err)\n }\n }\n\n return Promise.prototype.then.call(\n this,\n onFulfilled,\n onRejected\n ) as Promise\n }\n}\n\nexport const RENDER_STAGES_BY_DATA_KIND = {\n sessionData: RenderStage.ShellRuntime as const,\n /**\n * Statically-prerenderable URL data, like static `params`.\n * It may need to be pushed to a runtime stage in a runtime prerender,\n * but it's semantically distinct from `runtimeUrlData` like `searchParams`,\n * which is always excluded from static prerenders.\n * */\n staticUrlData: {\n /**\n * From that app's point of view, `prefetch()` is semantically the same as\n * `staticUrlData`, because it does not resolve in a shell but resolves in\n * a prefetch (even a static one).\n * We handle it separately to provide a specialized error in validation renders.\n */\n prefetchApi: {\n static: RenderStage.PrefetchStatic_prefetchApi as const,\n runtime: RenderStage.PrefetchRuntime_prefetchApi as const,\n },\n static: RenderStage.PrefetchStatic as const,\n runtime: RenderStage.PrefetchRuntime as const,\n },\n /**\n * URL data that is never statically-prerenderable, like static `searchParams`.\n * */\n runtimeUrlData: RenderStage.PrefetchRuntime as const,\n}\n\nexport function applyOwnerStack(error: Error): Error {\n if (process.env.NODE_ENV !== 'production') {\n let ownerStack: string | undefined | null\n const workUnitStore = workUnitAsyncStorage.getStore()\n\n // captureOwnerStack() returns the owner stack for the current React\n // rendering context. Inside a cache scope this only includes the inner\n // component tree. The outer owner stack (captured before entering the\n // cache boundary in use-cache-wrapper.ts) is stored on the cache store.\n // We concatenate both to get the full component tree.\n const innerOwnerStack =\n getClientReact()?.captureOwnerStack?.() ??\n getServerReact()?.captureOwnerStack?.()\n\n switch (workUnitStore?.type) {\n case 'cache':\n case 'private-cache':\n ownerStack =\n (innerOwnerStack || '') + (workUnitStore.outerOwnerStack || '') ||\n undefined\n break\n case 'unstable-cache':\n case 'request':\n case 'prerender':\n case 'prerender-legacy':\n case 'prerender-runtime':\n case 'prerender-client':\n case 'validation-client':\n case 'build-time-generator':\n case undefined:\n ownerStack = innerOwnerStack\n break\n default:\n workUnitStore satisfies never\n }\n\n if (ownerStack) {\n let stack = ownerStack\n\n if (error.stack) {\n const frames: string[] = []\n\n for (const frame of error.stack.split('\\n').slice(1)) {\n if (frame.includes('react_stack_bottom_frame')) {\n break\n }\n\n frames.push(frame)\n }\n\n stack = '\\n' + frames.join('\\n') + stack\n }\n\n error.stack = error.name + ': ' + error.message + stack\n }\n }\n\n return error\n}\n"],"names":["ClientHookDynamicError","RENDER_STAGES_BY_DATA_KIND","applyOwnerStack","createPrerenderDataTracking","finishPrerenderDataTracking","isClientHookDynamicError","isHangingPromiseRejectionError","makeClientHookHangingPromise","makeDevtoolsIOAwarePromise","makeDynamicHangingPromise","makeFallbackParamsHangingPromise","makePrefetchHangingPromise","makePromiseFromTrigger","makeSessionDataHangingPromise","makeURLDataHangingPromise","makeUnknownRuntimeDataHangingPromise","makeUntrackedHangingPromise","trackFallbackParamsAccessed","trackIncompatibleShellContent","trackPromiseUsed","trackURLDataAccessed","err","digest","HANGING_PROMISE_REJECTION","HangingPromiseRejectionError","Error","constructor","route","expression","CLIENT_HOOK_DYNAMIC","abortListenersBySignal","WeakMap","signal","makeHangingPromiseWithError","workUnitStore","promise","trackSessionDataAccessed","bind","runtimeDataAccessed","createPromiseWithResolvers","shouldAttemptStaticShell","shouldAttemptStaticPrefetch","prerenderDataTracking","resolve","trackRuntimeDataAccessed","dataKind","type","stagedRendering","currentStage","RenderStage","Before","console","error","InvariantError","NavigationStatic","ensureStaticLevel","EnsureStaticLevel","None","firstAffectedStage","ShellStatic","Shell","logRuntimeDeopt","PrefetchStatic","Prefetch","markRuntimeDataAccessWhenStageReached","isFallbackUpgradeable","logRuntimeUpgradeableFallback","stageController","targetStage","onStage","process","env","NEXT_PRIVATE_DEBUG_RUNTIME_DATA","kind","workAsyncStorage","getStore","log","undefined","reason","Dynamic","Abandoned","NEXT_PRIVATE_DEBUG_VALIDATION","workStore","hasIncompatibleShellContent","aborted","Promise","reject","hangingPromise","_","boundRejection","currentListeners","get","push","listeners","set","addEventListener","i","length","once","catch","ignoreReject","trigger","value","then","underlying","requestStore","stage","delayUntilStage","setTimeout","onUse","TrackedPromise","from","Symbol","species","tracked","prototype","call","onFulfilled","onRejected","sessionData","ShellRuntime","staticUrlData","prefetchApi","static","PrefetchStatic_prefetchApi","runtime","PrefetchRuntime_prefetchApi","PrefetchRuntime","runtimeUrlData","NODE_ENV","getClientReact","getServerReact","ownerStack","workUnitAsyncStorage","innerOwnerStack","captureOwnerStack","outerOwnerStack","stack","frames","frame","split","slice","includes","join","name","message"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 15435, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/lib/app-dir-module.ts"],"sourcesContent":["import type { AppDirModules } from '../../build/webpack/loaders/next-app-loader'\nimport { DEFAULT_SEGMENT_KEY } from '../../shared/lib/segment'\n\n/**\n * LoaderTree is generated in next-app-loader.\n */\nexport type LoaderTree = [\n segment: string,\n parallelRoutes: { [parallelRouterKey: string]: LoaderTree },\n modules: AppDirModules,\n /**\n * At build time, for each dynamic segment, we compute the list of static\n * sibling segments that exist at the same URL path level. This is used by\n * the client router to determine if a prefetch can be reused.\n *\n * For example, given the following file structure:\n * /app/(group1)/products/sale/page.tsx -> /products/sale\n * /app/(group2)/products/[id]/page.tsx -> /products/[id]\n *\n * The [id] segment would have staticSiblings: ['sale']\n *\n * This accounts for route groups, which may place sibling routes in\n * different parts of the file system tree but at the same URL level.\n *\n * A value of `null` means the static siblings are unknown (e.g., in webpack\n * dev mode where routes are compiled on-demand).\n */\n staticSiblings: readonly string[] | null,\n]\n\nexport async function getLayoutOrPageModule(loaderTree: LoaderTree) {\n const { layout, page, defaultPage } = loaderTree[2]\n const isLayout = typeof layout !== 'undefined'\n const isPage = typeof page !== 'undefined'\n const isDefaultPage =\n typeof defaultPage !== 'undefined' && loaderTree[0] === DEFAULT_SEGMENT_KEY\n\n let mod = undefined\n let modType: 'layout' | 'page' | undefined = undefined\n let filePath = undefined\n\n if (isLayout) {\n mod = await layout[0]()\n modType = 'layout'\n filePath = layout[1]\n } else if (isPage) {\n mod = await page[0]()\n modType = 'page'\n filePath = page[1]\n } else if (isDefaultPage) {\n mod = await defaultPage[0]()\n modType = 'page'\n filePath = defaultPage[1]\n }\n\n return { mod, modType, filePath }\n}\n\nexport async function getComponentTypeModule(\n loaderTree: LoaderTree,\n moduleType: 'layout' | 'not-found' | 'forbidden' | 'unauthorized'\n) {\n const { [moduleType]: module } = loaderTree[2]\n if (typeof module !== 'undefined') {\n return await module[0]()\n }\n return undefined\n}\n"],"names":["getComponentTypeModule","getLayoutOrPageModule","loaderTree","layout","page","defaultPage","isLayout","isPage","isDefaultPage","DEFAULT_SEGMENT_KEY","mod","undefined","modType","filePath","moduleType","module"],"mappings":";;;;;;;;;;;;;;IA0DsBA,sBAAsB,EAAA;eAAtBA;;IA5BAC,qBAAqB,EAAA;eAArBA;;;yBA7Bc;AA6B7B,eAAeA,sBAAsBC,UAAsB;IAChE,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGH,UAAU,CAAC,EAAE;IACnD,MAAMI,WAAW,OAAOH,WAAW;IACnC,MAAMI,SAAS,OAAOH,SAAS;IAC/B,MAAMI,gBACJ,OAAOH,gBAAgB,eAAeH,UAAU,CAAC,EAAE,KAAKO,SAAAA,mBAAmB;IAE7E,IAAIC,MAAMC;IACV,IAAIC,UAAyCD;IAC7C,IAAIE,WAAWF;IAEf,IAAIL,UAAU;QACZI,MAAM,MAAMP,MAAM,CAAC,EAAE;QACrBS,UAAU;QACVC,WAAWV,MAAM,CAAC,EAAE;IACtB,OAAO,IAAII,QAAQ;QACjBG,MAAM,MAAMN,IAAI,CAAC,EAAE;QACnBQ,UAAU;QACVC,WAAWT,IAAI,CAAC,EAAE;IACpB,OAAO,IAAII,eAAe;QACxBE,MAAM,MAAML,WAAW,CAAC,EAAE;QAC1BO,UAAU;QACVC,WAAWR,WAAW,CAAC,EAAE;IAC3B;IAEA,OAAO;QAAEK;QAAKE;QAASC;IAAS;AAClC;AAEO,eAAeb,uBACpBE,UAAsB,EACtBY,UAAiE;IAEjE,MAAM,EAAE,CAACA,WAAW,EAAEC,OAAM,EAAE,GAAGb,UAAU,CAAC,EAAE;IAC9C,IAAI,OAAOa,YAAW,aAAa;QACjC,OAAO,MAAMA,OAAM,CAAC,EAAE;IACxB;IACA,OAAOJ;AACT","ignoreList":[0]}}, + {"offset": {"line": 15495, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/request/connection.ts"],"sourcesContent":["import { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport {\n throwForMissingRequestStore,\n workUnitAsyncStorage,\n} from '../app-render/work-unit-async-storage.external'\nimport {\n throwToInterruptStaticGeneration,\n trackDynamicDataInDynamicRender,\n} from '../app-render/dynamic-rendering'\nimport { StaticGenBailoutError } from '../../client/components/static-generation-bailout'\nimport {\n makeDynamicHangingPromise,\n makeDevtoolsIOAwarePromise,\n} from '../dynamic-rendering-utils'\nimport { isRequestApiAllowedInCurrentPhase } from './utils'\nimport { applyOwnerStack } from '../dynamic-rendering-utils'\nimport { RenderStage } from '../app-render/staged-rendering'\nimport { InvariantError } from '../../shared/lib/invariant-error'\nimport {\n createConnectionInPublicUseCacheError,\n createConnectionInPrivateUseCacheError,\n createConnectionInUnstableCacheError,\n} from '../use-cache/use-cache-messages'\n\n/**\n * This function allows you to indicate that you require an actual user Request before continuing.\n *\n * During prerendering it will never resolve and during rendering it resolves immediately.\n */\nexport function connection(): Promise {\n const callingExpression = 'connection'\n const workStore = workAsyncStorage.getStore()\n const workUnitStore = workUnitAsyncStorage.getStore()\n\n if (workStore) {\n if (workUnitStore && !isRequestApiAllowedInCurrentPhase(workUnitStore)) {\n throw new Error(\n `Route ${workStore.route} used \\`connection()\\` inside \\`after()\\` while rendering. The \\`connection()\\` function is used to indicate the subsequent code must only run when there is an actual Request, but \\`after()\\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`\n )\n }\n\n if (workStore.forceStatic) {\n // When using forceStatic, we override all other logic and always just\n // return a resolving promise without tracking.\n return Promise.resolve(undefined)\n }\n\n if (workStore.dynamicShouldError) {\n throw new StaticGenBailoutError(\n `Route ${workStore.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`connection()\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`\n )\n }\n\n if (workUnitStore) {\n switch (workUnitStore.type) {\n case 'cache': {\n const error = createConnectionInPublicUseCacheError(workStore.route)\n Error.captureStackTrace(error, connection)\n applyOwnerStack(error)\n workStore.invalidDynamicUsageError ??= error\n throw error\n }\n case 'private-cache': {\n // It might not be intuitive to throw for private caches as well, but\n // we don't consider runtime prefetches as \"actual requests\" (in the\n // navigation sense), despite allowing them to read cookies.\n const error = createConnectionInPrivateUseCacheError(workStore.route)\n Error.captureStackTrace(error, connection)\n applyOwnerStack(error)\n workStore.invalidDynamicUsageError ??= error\n throw error\n }\n case 'unstable-cache':\n throw createConnectionInUnstableCacheError(workStore.route)\n case 'build-time-generator':\n throw new Error(\n `Route ${workStore.route} used \\`connection()\\` inside \\`${workUnitStore.functionName}\\`. This is not supported because \\`${workUnitStore.functionName}\\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`\n )\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n // We return a promise that never resolves to allow the prerender to\n // stall at this point.\n return makeDynamicHangingPromise(\n workUnitStore.renderSignal,\n workStore.route,\n '`connection()`'\n )\n case 'validation-client': {\n // TODO(NAR-789): make this consistent with the actual browser behavior when we change it.\n // Until then, erroring is fine.\n const exportName = '`connection`'\n throw new InvariantError(\n `${exportName} must not be used within a Client Component. Next.js should be preventing ${exportName} from being included in Client Components statically, but did not in this case.`\n )\n }\n case 'prerender-legacy':\n // We throw an error here to interrupt prerendering to mark the route\n // as dynamic\n return throwToInterruptStaticGeneration(\n 'connection',\n workStore,\n workUnitStore\n )\n case 'request':\n trackDynamicDataInDynamicRender(workUnitStore)\n if (process.env.NODE_ENV === 'development') {\n // Semantically we only need the dev tracking when running in `next dev`\n // but since you would never use next dev with production NODE_ENV we use this\n // as a proxy so we can statically exclude this code from production builds.\n if (workUnitStore.asyncApiPromises) {\n return workUnitStore.asyncApiPromises.connection\n }\n return makeDevtoolsIOAwarePromise(\n undefined,\n workUnitStore,\n RenderStage.Dynamic\n )\n } else if (workUnitStore.asyncApiPromises) {\n return workUnitStore.asyncApiPromises.connection\n } else {\n return Promise.resolve(undefined)\n }\n default:\n workUnitStore satisfies never\n }\n }\n }\n\n // If we end up here, there was no work store or work unit store present.\n // TODO(NAR-789): connection() is not currently statically prevented from being imported in client components,\n // so we always error about a missing work unit store.\n throwForMissingRequestStore(callingExpression)\n}\n"],"names":["connection","callingExpression","workStore","workAsyncStorage","getStore","workUnitStore","workUnitAsyncStorage","isRequestApiAllowedInCurrentPhase","Error","route","forceStatic","Promise","resolve","undefined","dynamicShouldError","StaticGenBailoutError","type","error","createConnectionInPublicUseCacheError","captureStackTrace","applyOwnerStack","invalidDynamicUsageError","createConnectionInPrivateUseCacheError","createConnectionInUnstableCacheError","functionName","makeDynamicHangingPromise","renderSignal","exportName","InvariantError","throwToInterruptStaticGeneration","trackDynamicDataInDynamicRender","process","env","NODE_ENV","asyncApiPromises","makeDevtoolsIOAwarePromise","RenderStage","Dynamic","throwForMissingRequestStore"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 15597, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/request/utils.ts"],"sourcesContent":["import { StaticGenBailoutError } from '../../client/components/static-generation-bailout'\nimport { actionAsyncStorage } from '../app-render/action-async-storage.external'\nimport { afterTaskAsyncStorage } from '../app-render/after-task-async-storage.external'\nimport type { WorkStore } from '../app-render/work-async-storage.external'\nimport { createSearchParamsInUseCacheError } from '../use-cache/use-cache-messages'\nimport type { WorkUnitStore } from '../app-render/work-unit-async-storage.external'\n\nexport function throwWithStaticGenerationBailoutErrorWithDynamicError(\n route: string,\n expression: string\n): never {\n throw new StaticGenBailoutError(\n `Route ${route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`\n )\n}\n\nexport function throwForSearchParamsAccessInUseCache(\n workStore: WorkStore,\n constructorOpt: Function\n): never {\n const error = createSearchParamsInUseCacheError(workStore.route)\n\n Error.captureStackTrace(error, constructorOpt)\n workStore.invalidDynamicUsageError ??= error\n\n throw error\n}\n\nexport function isRequestApiAllowedInCurrentPhase(\n workUnitStore: WorkUnitStore\n): boolean {\n switch (workUnitStore.phase) {\n case 'action':\n case 'render': {\n // The request is still in progress. The API may be disallowed for other reasons,\n // but not because of phase.\n return true\n }\n case 'after': {\n // The request has finished.\n\n // If we're in a Route Handler or a Server Action,\n // request APIs can be called everywhere, even in after().\n const actionStore = actionAsyncStorage.getStore()\n if (actionStore && (actionStore.isAppRoute || actionStore.isAction)) {\n return true\n }\n\n const afterTaskStore = afterTaskAsyncStorage.getStore()\n if (afterTaskStore) {\n // We're in an `after` callback. Request APIs are callable if\n // the `after()` call happened in an action phase:\n // - in a Route Handler\n // - in a Server Action's body (but not the render after)\n //\n // TODO(after): Is it even possible to have `phase === 'action'` but no `actionStore`?\n // We should revisit this setup and simplify this.\n return afterTaskStore.rootTaskSpawnPhase === 'action'\n }\n\n // Otherwise, we must be in a page, in the `after` phase.\n // We don't allow calling request APIs here because we'd miss\n // them during prerendering and wouldn't know that the page is dynamic.\n return false\n }\n }\n}\n"],"names":["isRequestApiAllowedInCurrentPhase","throwForSearchParamsAccessInUseCache","throwWithStaticGenerationBailoutErrorWithDynamicError","route","expression","StaticGenBailoutError","workStore","constructorOpt","error","createSearchParamsInUseCacheError","Error","captureStackTrace","invalidDynamicUsageError","workUnitStore","phase","actionStore","actionAsyncStorage","getStore","isAppRoute","isAction","afterTaskStore","afterTaskAsyncStorage","rootTaskSpawnPhase"],"mappings":";;;;;;;;;;;;;;;IA4BgBA,iCAAiC,EAAA;eAAjCA;;IAZAC,oCAAoC,EAAA;eAApCA;;IATAC,qDAAqD,EAAA;eAArDA;;;yCAPsB;4CACH;+CACG;kCAEY;AAG3C,SAASA,sDACdC,KAAa,EACbC,UAAkB;IAElB,MAAM,IAAIC,yBAAAA,qBAAqB,CAC7B,CAAC,MAAM,EAAEF,MAAM,4EAA4E,EAAEC,WAAW,0HAA0H,CAAC;AAEvO;AAEO,SAASH,qCACdK,SAAoB,EACpBC,cAAwB;IAExB,MAAMC,QAAQC,CAAAA,GAAAA,kBAAAA,iCAAiC,EAACH,UAAUH,KAAK;IAE/DO,MAAMC,iBAAiB,CAACH,OAAOD;IAC/BD,UAAUM,wBAAwB,KAAKJ;IAEvC,MAAMA;AACR;AAEO,SAASR,kCACda,aAA4B;IAE5B,OAAQA,cAAcC,KAAK;QACzB,KAAK;QACL,KAAK;YAAU;gBACb,iFAAiF;gBACjF,4BAA4B;gBAC5B,OAAO;YACT;QACA,KAAK;YAAS;gBACZ,4BAA4B;gBAE5B,kDAAkD;gBAClD,0DAA0D;gBAC1D,MAAMC,cAAcC,4BAAAA,kBAAkB,CAACC,QAAQ;gBAC/C,IAAIF,eAAgBA,CAAAA,YAAYG,UAAU,IAAIH,YAAYI,QAAO,GAAI;oBACnE,OAAO;gBACT;gBAEA,MAAMC,iBAAiBC,+BAAAA,qBAAqB,CAACJ,QAAQ;gBACrD,IAAIG,gBAAgB;oBAClB,6DAA6D;oBAC7D,kDAAkD;oBAClD,uBAAuB;oBACvB,yDAAyD;oBACzD,EAAE;oBACF,sFAAsF;oBACtF,kDAAkD;oBAClD,OAAOA,eAAeE,kBAAkB,KAAK;gBAC/C;gBAEA,yDAAyD;gBACzD,6DAA6D;gBAC7D,uEAAuE;gBACvE,OAAO;YACT;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 15675, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/route-modules/app-page/module.compiled.js"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK"],"mappings":"AAAA,IAAIA,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;KAElC;IACL,IAAIF,QAAQC,GAAG,CAACK,yBAAyB,EAAE;;SAcpC;QACL,IAAIN,QAAQC,GAAG,CAACM,QAAQ,KAAK,WAAe;YAC1C,IAAIP,QAAQC,GAAG,CAACO,SAAS,eAAE;gBACzBL,OAAOC,OAAO,GAAGC,QAAQ;YAC3B,OAAO;;QAGT,OAAO;;IAOT;AACF","ignoreList":[0]}}, + {"offset": {"line": 15694, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n"],"names":["module","exports","require","vendored","React"],"mappings":"AAAAA,OAAOC,OAAO,GACZC,QAAQ,+HACRC,QAAQ,CAAC,YAAY,CAAEC,KAAK","ignoreList":[0]}}, + {"offset": {"line": 15699, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/use-cache/use-cache-messages.ts"],"sourcesContent":["/**\n * Centralized error factories for cached function and revalidation misuse.\n * State the scope and constraint, explain non-obvious boundaries, give the\n * immediate fix, then link to the relevant docs.\n */\n\nimport type { BuildTimeGeneratorName } from '../app-render/work-unit-async-storage.external'\n\nconst NEXT_REQUEST_IN_USE_CACHE =\n 'https://nextjs.org/docs/messages/next-request-in-use-cache'\n\nconst UNSTABLE_CACHE_API_DOCS =\n 'https://nextjs.org/docs/app/api-reference/functions/unstable_cache'\n\nconst USE_CACHE_PRIVATE_API_DOCS =\n 'https://nextjs.org/docs/app/api-reference/directives/use-cache-private'\n\nconst CACHE_TAG_OUTSIDE_USE_CACHE =\n 'https://nextjs.org/docs/messages/cache-tag-outside-use-cache'\n\nconst CACHE_LIFE_OUTSIDE_USE_CACHE =\n 'https://nextjs.org/docs/messages/cache-life-outside-use-cache'\n\nconst USE_CACHE_PRIVATE_COMPOSITION =\n 'https://nextjs.org/docs/messages/use-cache-private-composition'\n\nconst REVALIDATE_IN_USE_CACHE =\n 'https://nextjs.org/docs/messages/revalidate-in-use-cache'\n\nconst NESTED_USE_CACHE_NO_EXPLICIT_CACHELIFE =\n 'https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife'\n\n// Request data accessed in caches\n\nexport function createCookiesInUseCacheError(route: string): Error {\n return new Error(\n `Route \"${route}\": \\`cookies()\\` can't be read inside \\`\"use cache\"\\`. Read it outside the cached function and pass what you need as an argument.\\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`\n )\n}\n\nexport function createCookiesInUnstableCacheError(route: string): Error {\n return new Error(\n `Route \"${route}\": \\`cookies()\\` can't be read inside \\`unstable_cache()\\`. Read it outside the cached function and pass what you need as an argument.\\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`\n )\n}\n\nexport function createHeadersInUseCacheError(route: string): Error {\n return new Error(\n `Route \"${route}\": \\`headers()\\` can't be read inside \\`\"use cache\"\\`. Read it outside the cached function and pass what you need as an argument.\\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`\n )\n}\n\nexport function createHeadersInUnstableCacheError(route: string): Error {\n return new Error(\n `Route \"${route}\": \\`headers()\\` can't be read inside \\`unstable_cache()\\`. Read it outside the cached function and pass what you need as an argument.\\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`\n )\n}\n\nexport function createSearchParamsInUseCacheError(route: string): Error {\n return new Error(\n `Route \"${route}\": \\`searchParams\\` can't be read inside \\`\"use cache\"\\`. Await it outside the cached function and pass what you need as an argument.\\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`\n )\n}\n\nexport function createConnectionInPublicUseCacheError(route: string): Error {\n return new Error(\n `Route \"${route}\": \\`connection()\\` can't be called inside \\`\"use cache\"\\` because cached functions may run during prerendering, without an incoming request. Call it outside the cached function.\\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`\n )\n}\n\nexport function createConnectionInPrivateUseCacheError(route: string): Error {\n return new Error(\n `Route \"${route}\": \\`connection()\\` can't be called inside \\`\"use cache: private\"\\` because private cached functions may run during prefetching, without a navigation request. Call it outside the cached function.\\nLearn more: ${USE_CACHE_PRIVATE_API_DOCS}`\n )\n}\n\nexport function createConnectionInUnstableCacheError(route: string): Error {\n return new Error(\n `Route \"${route}\": \\`connection()\\` can't be called inside \\`unstable_cache()\\` because cached functions may run during prerendering, without an incoming request. Call it outside the cached function.\\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`\n )\n}\n\nexport function createRouteHandlerRequestInUseCacheError(\n route: string,\n expression: string\n): Error {\n return new Error(\n `Route \"${route}\": \\`${expression}\\` can't be read inside \\`\"use cache\"\\`. Read it outside the cached function and pass what you need as an argument.\\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`\n )\n}\n\nexport function createRouteHandlerRequestInUnstableCacheError(\n route: string,\n expression: string\n): Error {\n return new Error(\n `Route \"${route}\": \\`${expression}\\` can't be read inside \\`unstable_cache()\\`. Read it outside the cached function and pass what you need as an argument.\\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`\n )\n}\n\n// Mutations inside caches and render\n\n/**\n * Used when `draftMode().enable()` or `.disable()` is called inside\n * `\"use cache\"` or `\"use cache: private\"`. Reading `draftMode()` is fine\n * inside a cached function, but toggling it is not.\n */\nexport function createDraftModeMutationInUseCacheError(\n route: string,\n expression: string\n): Error {\n return new Error(\n `Route \"${route}\": \\`${expression}\\` can't be called inside \\`\"use cache\"\\`. Draft mode can be read inside a cached function, but enabling or disabling it must happen outside.\\nLearn more: ${NEXT_REQUEST_IN_USE_CACHE}`\n )\n}\n\nexport function createDraftModeMutationInUnstableCacheError(\n route: string,\n expression: string\n): Error {\n return new Error(\n `Route \"${route}\": \\`${expression}\\` can't be called inside \\`unstable_cache()\\`. Draft mode can be read inside a cached function, but enabling or disabling it must happen outside.\\nLearn more: ${UNSTABLE_CACHE_API_DOCS}`\n )\n}\n\nexport function createRevalidateDuringRenderError(\n route: string,\n expression: string\n): Error {\n return new Error(\n `Route \"${route}\": \\`${expression}\\` can't be called during render. Call it from a Server Action or Route Handler instead.\\nLearn more: ${REVALIDATE_IN_USE_CACHE}`\n )\n}\n\nexport function createRevalidateInCachedFunctionError(\n route: string,\n expression: string\n): Error {\n return new Error(\n `Route \"${route}\": \\`${expression}\\` can't be called inside a cached function. Call it from a Server Action or Route Handler instead.\\nLearn more: ${REVALIDATE_IN_USE_CACHE}`\n )\n}\n\nexport function createRevalidateInBuildTimeGeneratorError(\n route: string,\n expression: string,\n generatorName: BuildTimeGeneratorName\n): Error {\n return new Error(\n `Route \"${route}\": \\`${expression}\\` can't be called inside \\`${generatorName}\\`. Call it from a Server Action or Route Handler instead.\\nLearn more: ${REVALIDATE_IN_USE_CACHE}`\n )\n}\n\n// Cache configuration and nesting\n\nfunction routePrefix(route: string | undefined): string {\n return route === undefined ? '' : `Route \"${route}\": `\n}\n\nexport function createCacheTagOutsideUseCacheError(\n route: string | undefined\n): Error {\n return new Error(\n `${routePrefix(route)}\\`cacheTag()\\` can only be called inside a \\`\"use cache\"\\` or \\`\"use cache: private\"\\` function.\\nLearn more: ${CACHE_TAG_OUTSIDE_USE_CACHE}`\n )\n}\n\nexport function createCacheLifeOutsideUseCacheError(\n route: string | undefined\n): Error {\n return new Error(\n `${routePrefix(route)}\\`cacheLife()\\` can only be called inside a \\`\"use cache\"\\` or \\`\"use cache: private\"\\` function.\\nLearn more: ${CACHE_LIFE_OUTSIDE_USE_CACHE}`\n )\n}\n\nexport function createNestedCacheZeroRevalidateError(\n route: string,\n cause: Error | undefined\n): Error {\n return new Error(\n `Route \"${route}\": A nested \\`\"use cache\"\\` with \\`revalidate: 0\\` is inside an outer \\`\"use cache\"\\` that has no \\`cacheLife()\\`. Add \\`cacheLife()\\` to the outer one to choose whether to prerender it with a non-zero \\`revalidate\\` or keep it dynamic with \\`revalidate: 0\\`.\\nLearn more: ${NESTED_USE_CACHE_NO_EXPLICIT_CACHELIFE}`,\n { cause }\n )\n}\n\nexport function createNestedCacheShortExpireError(\n route: string,\n cause: Error | undefined\n): Error {\n return new Error(\n `Route \"${route}\": A nested \\`\"use cache\"\\` with a short \\`expire\\` (under 5 minutes) is inside an outer \\`\"use cache\"\\` that has no \\`cacheLife()\\`. Add \\`cacheLife()\\` to the outer one to choose whether to prerender it with a longer \\`expire\\` or keep it dynamic with a short \\`expire\\`.\\nLearn more: ${NESTED_USE_CACHE_NO_EXPLICIT_CACHELIFE}`,\n { cause }\n )\n}\n\n// Private cache composition and request context\n\nexport function createUseCachePrivateInsidePublicUseCacheError(\n route: string\n): Error {\n return new Error(\n `Route \"${route}\": \\`\"use cache: private\"\\` can't be nested inside \\`\"use cache\"\\` because a shared cached function can't depend on private request data. Nest it only inside another \\`\"use cache: private\"\\`.\\nLearn more: ${USE_CACHE_PRIVATE_COMPOSITION}`\n )\n}\n\nexport function createUseCachePrivateInsideUnstableCacheError(\n route: string\n): Error {\n return new Error(\n `Route \"${route}\": \\`\"use cache: private\"\\` can't be used inside \\`unstable_cache()\\` because \\`unstable_cache()\\` uses a shared cache that can't contain private request data. Call the private cached function outside \\`unstable_cache()\\`.\\nLearn more: ${USE_CACHE_PRIVATE_COMPOSITION}`\n )\n}\n\nexport function createUseCachePrivateOutsideRequestContextError(\n route: string,\n functionName: string\n): Error {\n return new Error(\n `Route \"${route}\": \\`\"use cache: private\"\\` needs an active request, so it can't be used during \\`${functionName}\\` or other build-time contexts. Move it to a request-time component or function.\\nLearn more: ${USE_CACHE_PRIVATE_COMPOSITION}`\n )\n}\n"],"names":["createCacheLifeOutsideUseCacheError","createCacheTagOutsideUseCacheError","createConnectionInPrivateUseCacheError","createConnectionInPublicUseCacheError","createConnectionInUnstableCacheError","createCookiesInUnstableCacheError","createCookiesInUseCacheError","createDraftModeMutationInUnstableCacheError","createDraftModeMutationInUseCacheError","createHeadersInUnstableCacheError","createHeadersInUseCacheError","createNestedCacheShortExpireError","createNestedCacheZeroRevalidateError","createRevalidateDuringRenderError","createRevalidateInBuildTimeGeneratorError","createRevalidateInCachedFunctionError","createRouteHandlerRequestInUnstableCacheError","createRouteHandlerRequestInUseCacheError","createSearchParamsInUseCacheError","createUseCachePrivateInsidePublicUseCacheError","createUseCachePrivateInsideUnstableCacheError","createUseCachePrivateOutsideRequestContextError","NEXT_REQUEST_IN_USE_CACHE","UNSTABLE_CACHE_API_DOCS","USE_CACHE_PRIVATE_API_DOCS","CACHE_TAG_OUTSIDE_USE_CACHE","CACHE_LIFE_OUTSIDE_USE_CACHE","USE_CACHE_PRIVATE_COMPOSITION","REVALIDATE_IN_USE_CACHE","NESTED_USE_CACHE_NO_EXPLICIT_CACHELIFE","route","Error","expression","generatorName","routePrefix","undefined","cause","functionName"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 15890, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/error.ts"],"sourcesContent":["export class PageSignatureError extends Error {\n constructor({ page }: { page: string }) {\n super(`The middleware \"${page}\" accepts an async API directly with the form:\n \n export function middleware(request, event) {\n return NextResponse.redirect('/new-location')\n }\n \n Read more: https://nextjs.org/docs/messages/middleware-new-signature\n `)\n }\n}\n\nexport class RemovedPageError extends Error {\n constructor() {\n super(`The request.page has been deprecated in favour of \\`URLPattern\\`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n `)\n }\n}\n\nexport class RemovedUAError extends Error {\n constructor() {\n super(`The request.ua has been removed in favour of \\`userAgent\\` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n `)\n }\n}\n"],"names":["PageSignatureError","RemovedPageError","RemovedUAError","Error","constructor","page"],"mappings":";;;;;;;;;;;;;;;IAAaA,kBAAkB,EAAA;eAAlBA;;IAaAC,gBAAgB,EAAA;eAAhBA;;IAQAC,cAAc,EAAA;eAAdA;;;AArBN,MAAMF,2BAA2BG;IACtCC,YAAY,EAAEC,IAAI,EAAoB,CAAE;QACtC,KAAK,CAAC,CAAC,gBAAgB,EAAEA,KAAK;;;;;;;EAOhC,CAAC;IACD;AACF;AAEO,MAAMJ,yBAAyBE;IACpCC,aAAc;QACZ,KAAK,CAAC,CAAC;;EAET,CAAC;IACD;AACF;AAEO,MAAMF,uBAAuBC;IAClCC,aAAc;QACZ,KAAK,CAAC,CAAC;;EAET,CAAC;IACD;AACF","ignoreList":[0]}}, + {"offset": {"line": 15945, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/next-url.ts"],"sourcesContent":["import type { OutgoingHttpHeaders } from 'http'\nimport type { DomainLocale, I18NConfig } from '../config-shared'\nimport type { I18NProvider } from '../lib/i18n-provider'\n\nimport { detectDomainLocale } from '../../shared/lib/i18n/detect-domain-locale'\nimport { formatNextPathnameInfo } from '../../shared/lib/router/utils/format-next-pathname-info'\nimport { getHostname } from '../../shared/lib/get-hostname'\nimport { getNextPathnameInfo } from '../../shared/lib/router/utils/get-next-pathname-info'\n\ninterface Options {\n base?: string | URL\n headers?: OutgoingHttpHeaders\n forceLocale?: boolean\n nextConfig?: {\n basePath?: string\n i18n?: I18NConfig | null\n trailingSlash?: boolean\n }\n i18nProvider?: I18NProvider\n}\n\nconst REGEX_LOCALHOST_HOSTNAME =\n /^(?:127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\\[::1\\]|localhost)$/\n\nfunction parseURL(url: string | URL, base?: string | URL) {\n const parsed = new URL(String(url), base && String(base))\n if (REGEX_LOCALHOST_HOSTNAME.test(parsed.hostname)) {\n parsed.hostname = 'localhost'\n }\n return parsed\n}\n\nconst Internal = Symbol('NextURLInternal')\n\nexport class NextURL {\n private [Internal]: {\n basePath: string\n buildId?: string\n flightSearchParameters?: Record\n defaultLocale?: string\n domainLocale?: DomainLocale\n locale?: string\n options: Options\n trailingSlash?: boolean\n url: URL\n }\n\n constructor(input: string | URL, base?: string | URL, opts?: Options)\n constructor(input: string | URL, opts?: Options)\n constructor(\n input: string | URL,\n baseOrOpts?: string | URL | Options,\n opts?: Options\n ) {\n let base: undefined | string | URL\n let options: Options\n\n if (\n (typeof baseOrOpts === 'object' && 'pathname' in baseOrOpts) ||\n typeof baseOrOpts === 'string'\n ) {\n base = baseOrOpts\n options = opts || {}\n } else {\n options = opts || baseOrOpts || {}\n }\n\n this[Internal] = {\n url: parseURL(input, base ?? options.base),\n options: options,\n basePath: '',\n }\n\n this.analyze()\n }\n\n private analyze() {\n const info = getNextPathnameInfo(this[Internal].url.pathname, {\n nextConfig: this[Internal].options.nextConfig,\n parseData: !process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE,\n i18nProvider: this[Internal].options.i18nProvider,\n })\n\n const hostname = getHostname(\n this[Internal].url,\n this[Internal].options.headers\n )\n this[Internal].domainLocale = this[Internal].options.i18nProvider\n ? this[Internal].options.i18nProvider.detectDomainLocale(hostname)\n : detectDomainLocale(\n this[Internal].options.nextConfig?.i18n?.domains,\n hostname\n )\n\n const defaultLocale =\n this[Internal].domainLocale?.defaultLocale ||\n this[Internal].options.nextConfig?.i18n?.defaultLocale\n\n this[Internal].url.pathname = info.pathname\n this[Internal].defaultLocale = defaultLocale\n this[Internal].basePath = info.basePath ?? ''\n this[Internal].buildId = info.buildId\n this[Internal].locale = info.locale ?? defaultLocale\n this[Internal].trailingSlash = info.trailingSlash\n }\n\n private formatPathname() {\n return formatNextPathnameInfo({\n basePath: this[Internal].basePath,\n buildId: this[Internal].buildId,\n defaultLocale: !this[Internal].options.forceLocale\n ? this[Internal].defaultLocale\n : undefined,\n locale: this[Internal].locale,\n pathname: this[Internal].url.pathname,\n trailingSlash: this[Internal].trailingSlash,\n })\n }\n\n private formatSearch() {\n return this[Internal].url.search\n }\n\n public get buildId() {\n return this[Internal].buildId\n }\n\n public set buildId(buildId: string | undefined) {\n this[Internal].buildId = buildId\n }\n\n public get locale() {\n return this[Internal].locale ?? ''\n }\n\n public set locale(locale: string) {\n if (\n !this[Internal].locale ||\n !this[Internal].options.nextConfig?.i18n?.locales.includes(locale)\n ) {\n throw new TypeError(\n `The NextURL configuration includes no locale \"${locale}\"`\n )\n }\n\n this[Internal].locale = locale\n }\n\n get defaultLocale() {\n return this[Internal].defaultLocale\n }\n\n get domainLocale() {\n return this[Internal].domainLocale\n }\n\n get searchParams() {\n return this[Internal].url.searchParams\n }\n\n get host() {\n return this[Internal].url.host\n }\n\n set host(value: string) {\n this[Internal].url.host = value\n }\n\n get hostname() {\n return this[Internal].url.hostname\n }\n\n set hostname(value: string) {\n this[Internal].url.hostname = value\n }\n\n get port() {\n return this[Internal].url.port\n }\n\n set port(value: string) {\n this[Internal].url.port = value\n }\n\n get protocol() {\n return this[Internal].url.protocol\n }\n\n set protocol(value: string) {\n this[Internal].url.protocol = value\n }\n\n get href() {\n const pathname = this.formatPathname()\n const search = this.formatSearch()\n return `${this.protocol}//${this.host}${pathname}${search}${this.hash}`\n }\n\n set href(url: string) {\n this[Internal].url = parseURL(url)\n this.analyze()\n }\n\n get origin() {\n return this[Internal].url.origin\n }\n\n get pathname() {\n return this[Internal].url.pathname\n }\n\n set pathname(value: string) {\n this[Internal].url.pathname = value\n }\n\n get hash() {\n return this[Internal].url.hash\n }\n\n set hash(value: string) {\n this[Internal].url.hash = value\n }\n\n get search() {\n return this[Internal].url.search\n }\n\n set search(value: string) {\n this[Internal].url.search = value\n }\n\n get password() {\n return this[Internal].url.password\n }\n\n set password(value: string) {\n this[Internal].url.password = value\n }\n\n get username() {\n return this[Internal].url.username\n }\n\n set username(value: string) {\n this[Internal].url.username = value\n }\n\n get basePath() {\n return this[Internal].basePath\n }\n\n set basePath(value: string) {\n this[Internal].basePath = value.startsWith('/') ? value : `/${value}`\n }\n\n toString() {\n return this.href\n }\n\n toJSON() {\n return this.href\n }\n\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n href: this.href,\n origin: this.origin,\n protocol: this.protocol,\n username: this.username,\n password: this.password,\n host: this.host,\n hostname: this.hostname,\n port: this.port,\n pathname: this.pathname,\n search: this.search,\n searchParams: this.searchParams,\n hash: this.hash,\n }\n }\n\n clone() {\n return new NextURL(String(this), this[Internal].options)\n }\n}\n"],"names":["NextURL","REGEX_LOCALHOST_HOSTNAME","parseURL","url","base","parsed","URL","String","test","hostname","Internal","Symbol","constructor","input","baseOrOpts","opts","options","basePath","analyze","info","getNextPathnameInfo","pathname","nextConfig","parseData","process","env","__NEXT_NO_MIDDLEWARE_URL_NORMALIZE","i18nProvider","getHostname","headers","domainLocale","detectDomainLocale","i18n","domains","defaultLocale","buildId","locale","trailingSlash","formatPathname","formatNextPathnameInfo","forceLocale","undefined","formatSearch","search","locales","includes","TypeError","searchParams","host","value","port","protocol","href","hash","origin","password","username","startsWith","toString","toJSON","for","clone"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 16141, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/adapters/reflect.ts"],"sourcesContent":["export class ReflectAdapter {\n static get(\n target: T,\n prop: string | symbol,\n receiver: unknown\n ): any {\n const value = Reflect.get(target, prop, receiver)\n if (typeof value === 'function') {\n return value.bind(target)\n }\n\n return value\n }\n\n static set(\n target: T,\n prop: string | symbol,\n value: any,\n receiver: any\n ): boolean {\n return Reflect.set(target, prop, value, receiver)\n }\n\n static has(target: T, prop: string | symbol): boolean {\n return Reflect.has(target, prop)\n }\n\n static deleteProperty(\n target: T,\n prop: string | symbol\n ): boolean {\n return Reflect.deleteProperty(target, prop)\n }\n}\n"],"names":["ReflectAdapter","get","target","prop","receiver","value","Reflect","bind","set","has","deleteProperty"],"mappings":";;;+BAAaA,kBAAAA;;;eAAAA;;;AAAN,MAAMA;IACX,OAAOC,IACLC,MAAS,EACTC,IAAqB,EACrBC,QAAiB,EACZ;QACL,MAAMC,QAAQC,QAAQL,GAAG,CAACC,QAAQC,MAAMC;QACxC,IAAI,OAAOC,UAAU,YAAY;YAC/B,OAAOA,MAAME,IAAI,CAACL;QACpB;QAEA,OAAOG;IACT;IAEA,OAAOG,IACLN,MAAS,EACTC,IAAqB,EACrBE,KAAU,EACVD,QAAa,EACJ;QACT,OAAOE,QAAQE,GAAG,CAACN,QAAQC,MAAME,OAAOD;IAC1C;IAEA,OAAOK,IAAsBP,MAAS,EAAEC,IAAqB,EAAW;QACtE,OAAOG,QAAQG,GAAG,CAACP,QAAQC;IAC7B;IAEA,OAAOO,eACLR,MAAS,EACTC,IAAqB,EACZ;QACT,OAAOG,QAAQI,cAAc,CAACR,QAAQC;IACxC;AACF","ignoreList":[0]}}, + {"offset": {"line": 16172, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/cookies.ts"],"sourcesContent":["export {\n RequestCookies,\n ResponseCookies,\n stringifyCookie,\n} from 'next/dist/compiled/@edge-runtime/cookies'\n"],"names":["RequestCookies","ResponseCookies","stringifyCookie"],"mappings":";;;;;;;;;;;;;;;IACEA,cAAc,EAAA;eAAdA,SAAAA,cAAc;;IACdC,eAAe,EAAA;eAAfA,SAAAA,eAAe;;IACfC,eAAe,EAAA;eAAfA,SAAAA,eAAe;;;yBACV","ignoreList":[0]}}, + {"offset": {"line": 16202, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/image-response.ts"],"sourcesContent":["/**\n * @deprecated ImageResponse moved from \"next/server\" to \"next/og\" since Next.js 14, please import from \"next/og\" instead.\n * Migration with codemods: https://nextjs.org/docs/app/building-your-application/upgrading/codemods#next-og-import\n */\nexport function ImageResponse(): never {\n throw new Error(\n 'ImageResponse moved from \"next/server\" to \"next/og\" since Next.js 14, please import from \"next/og\" instead'\n )\n}\n"],"names":["ImageResponse","Error"],"mappings":"AAAA;;;CAGC;;;+BACeA,iBAAAA;;;eAAAA;;;AAAT,SAASA;IACd,MAAM,IAAIC,MACR;AAEJ","ignoreList":[0]}}, + {"offset": {"line": 16221, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/request.ts"],"sourcesContent":["import type { I18NConfig } from '../../config-shared'\nimport { NextURL } from '../next-url'\nimport { toNodeOutgoingHttpHeaders, validateURL } from '../utils'\nimport { RemovedUAError, RemovedPageError } from '../error'\nimport { RequestCookies } from './cookies'\n\nexport const INTERNALS = Symbol('internal request')\n\n/**\n * This class extends the [Web `Request` API](https://developer.mozilla.org/docs/Web/API/Request) with additional convenience methods.\n *\n * Read more: [Next.js Docs: `NextRequest`](https://nextjs.org/docs/app/api-reference/functions/next-request)\n */\nexport class NextRequest extends Request {\n /** @internal */\n [INTERNALS]: {\n cookies: RequestCookies\n url: string\n nextUrl: NextURL\n }\n\n constructor(input: URL | RequestInfo, init: RequestInit = {}) {\n const url =\n typeof input !== 'string' && 'url' in input ? input.url : String(input)\n\n validateURL(url)\n\n // node Request instance requires duplex option when a body\n // is present or it errors, we don't handle this for\n // Request being passed in since it would have already\n // errored if this wasn't configured\n if (process.env.NEXT_RUNTIME !== 'edge') {\n if (init.body && init.duplex !== 'half') {\n init.duplex = 'half'\n }\n }\n\n if (input instanceof Request) super(input, init)\n else super(url, init)\n\n const nextUrl = new NextURL(url, {\n headers: toNodeOutgoingHttpHeaders(this.headers),\n nextConfig: init.nextConfig,\n })\n this[INTERNALS] = {\n cookies: new RequestCookies(this.headers),\n nextUrl,\n url: process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE\n ? url\n : nextUrl.toString(),\n }\n }\n\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n cookies: this.cookies,\n nextUrl: this.nextUrl,\n url: this.url,\n // rest of props come from Request\n bodyUsed: this.bodyUsed,\n cache: this.cache,\n credentials: this.credentials,\n destination: this.destination,\n headers: Object.fromEntries(this.headers),\n integrity: this.integrity,\n keepalive: this.keepalive,\n method: this.method,\n mode: this.mode,\n redirect: this.redirect,\n referrer: this.referrer,\n referrerPolicy: this.referrerPolicy,\n signal: this.signal,\n }\n }\n\n public get cookies() {\n return this[INTERNALS].cookies\n }\n\n public get nextUrl() {\n return this[INTERNALS].nextUrl\n }\n\n /**\n * @deprecated\n * `page` has been deprecated in favour of `URLPattern`.\n * Read more: https://nextjs.org/docs/messages/middleware-request-page\n */\n public get page() {\n throw new RemovedPageError()\n }\n\n /**\n * @deprecated\n * `ua` has been removed in favour of \\`userAgent\\` function.\n * Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n */\n public get ua() {\n throw new RemovedUAError()\n }\n\n public get url() {\n return this[INTERNALS].url\n }\n}\n\nexport interface RequestInit extends globalThis.RequestInit {\n nextConfig?: {\n basePath?: string\n i18n?: I18NConfig | null\n trailingSlash?: boolean\n }\n signal?: AbortSignal\n // see https://github.com/whatwg/fetch/pull/1457\n duplex?: 'half'\n}\n"],"names":["INTERNALS","NextRequest","Symbol","Request","constructor","input","init","url","String","validateURL","process","env","NEXT_RUNTIME","body","duplex","nextUrl","NextURL","headers","toNodeOutgoingHttpHeaders","nextConfig","cookies","RequestCookies","__NEXT_NO_MIDDLEWARE_URL_NORMALIZE","toString","for","bodyUsed","cache","credentials","destination","Object","fromEntries","integrity","keepalive","method","mode","redirect","referrer","referrerPolicy","signal","page","RemovedPageError","ua","RemovedUAError"],"mappings":";;;;;;;;;;;;;;IAMaA,SAAS,EAAA;eAATA;;IAOAC,WAAW,EAAA;eAAXA;;;yBAZW;uBAC+B;uBACN;yBAClB;AAExB,MAAMD,YAAYE,OAAO;AAOzB,MAAMD,oBAAoBE;IAQ/BC,YAAYC,KAAwB,EAAEC,OAAoB,CAAC,CAAC,CAAE;QAC5D,MAAMC,MACJ,OAAOF,UAAU,YAAY,SAASA,QAAQA,MAAME,GAAG,GAAGC,OAAOH;QAEnEI,CAAAA,GAAAA,OAAAA,WAAW,EAACF;QAEZ,2DAA2D;QAC3D,oDAAoD;QACpD,sDAAsD;QACtD,oCAAoC;QACpC,IAAIG,QAAQC,GAAG,CAACC,YAAY,KAAK,OAAQ;YACvC,IAAIN,KAAKO,IAAI,IAAIP,KAAKQ,MAAM,KAAK,QAAQ;gBACvCR,KAAKQ,MAAM,GAAG;YAChB;QACF;QAEA,IAAIT,iBAAiBF,SAAS,KAAK,CAACE,OAAOC;aACtC,KAAK,CAACC,KAAKD;QAEhB,MAAMS,UAAU,IAAIC,SAAAA,OAAO,CAACT,KAAK;YAC/BU,SAASC,CAAAA,GAAAA,OAAAA,yBAAyB,EAAC,IAAI,CAACD,OAAO;YAC/CE,YAAYb,KAAKa,UAAU;QAC7B;QACA,IAAI,CAACnB,UAAU,GAAG;YAChBoB,SAAS,IAAIC,SAAAA,cAAc,CAAC,IAAI,CAACJ,OAAO;YACxCF;YACAR,KAAKG,QAAQC,GAAG,CAACW,0BACbf,QAD+C,kBAE/CQ,QAAQQ,QAAQ;QACtB;IACF;IAEA,CAACrB,OAAOsB,GAAG,CAAC,+BAA+B,GAAG;QAC5C,OAAO;YACLJ,SAAS,IAAI,CAACA,OAAO;YACrBL,SAAS,IAAI,CAACA,OAAO;YACrBR,KAAK,IAAI,CAACA,GAAG;YACb,kCAAkC;YAClCkB,UAAU,IAAI,CAACA,QAAQ;YACvBC,OAAO,IAAI,CAACA,KAAK;YACjBC,aAAa,IAAI,CAACA,WAAW;YAC7BC,aAAa,IAAI,CAACA,WAAW;YAC7BX,SAASY,OAAOC,WAAW,CAAC,IAAI,CAACb,OAAO;YACxCc,WAAW,IAAI,CAACA,SAAS;YACzBC,WAAW,IAAI,CAACA,SAAS;YACzBC,QAAQ,IAAI,CAACA,MAAM;YACnBC,MAAM,IAAI,CAACA,IAAI;YACfC,UAAU,IAAI,CAACA,QAAQ;YACvBC,UAAU,IAAI,CAACA,QAAQ;YACvBC,gBAAgB,IAAI,CAACA,cAAc;YACnCC,QAAQ,IAAI,CAACA,MAAM;QACrB;IACF;IAEA,IAAWlB,UAAU;QACnB,OAAO,IAAI,CAACpB,UAAU,CAACoB,OAAO;IAChC;IAEA,IAAWL,UAAU;QACnB,OAAO,IAAI,CAACf,UAAU,CAACe,OAAO;IAChC;IAEA;;;;GAIC,GACD,IAAWwB,OAAO;QAChB,MAAM,IAAIC,OAAAA,gBAAgB;IAC5B;IAEA;;;;GAIC,GACD,IAAWC,KAAK;QACd,MAAM,IAAIC,OAAAA,cAAc;IAC1B;IAEA,IAAWnC,MAAM;QACf,OAAO,IAAI,CAACP,UAAU,CAACO,GAAG;IAC5B;AACF","ignoreList":[0]}}, + {"offset": {"line": 16321, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/response.ts"],"sourcesContent":["import { stringifyCookie } from '../../web/spec-extension/cookies'\nimport type { I18NConfig } from '../../config-shared'\nimport { NextURL } from '../next-url'\nimport { toNodeOutgoingHttpHeaders, validateURL } from '../utils'\nimport { ReflectAdapter } from './adapters/reflect'\n\nimport { ResponseCookies } from './cookies'\n\nconst INTERNALS = Symbol('internal response')\nconst REDIRECTS = new Set([301, 302, 303, 307, 308])\n\nfunction handleMiddlewareField(\n init: MiddlewareResponseInit | undefined,\n headers: Headers\n) {\n if (init?.request?.headers) {\n if (!(init.request.headers instanceof Headers)) {\n throw new Error('request.headers must be an instance of Headers')\n }\n\n const keys = []\n for (const [key, value] of init.request.headers) {\n headers.set('x-middleware-request-' + key, value)\n keys.push(key)\n }\n\n headers.set('x-middleware-override-headers', keys.join(','))\n }\n}\n\n/**\n * This class extends the [Web `Response` API](https://developer.mozilla.org/docs/Web/API/Response) with additional convenience methods.\n *\n * Read more: [Next.js Docs: `NextResponse`](https://nextjs.org/docs/app/api-reference/functions/next-response)\n */\nexport class NextResponse extends Response {\n [INTERNALS]: {\n cookies: ResponseCookies\n url?: NextURL\n body?: Body\n }\n\n constructor(body?: BodyInit | null, init: ResponseInit = {}) {\n super(body, init)\n\n const headers = this.headers\n const cookies = new ResponseCookies(headers)\n\n const cookiesProxy = new Proxy(cookies, {\n get(target, prop, receiver) {\n switch (prop) {\n case 'delete':\n case 'set': {\n return (...args: [string, string]) => {\n const result = Reflect.apply(target[prop], target, args)\n const newHeaders = new Headers(headers)\n\n if (result instanceof ResponseCookies) {\n headers.set(\n 'x-middleware-set-cookie',\n result\n .getAll()\n .map((cookie) => stringifyCookie(cookie))\n .join(',')\n )\n }\n\n handleMiddlewareField(init, newHeaders)\n return result\n }\n }\n default:\n return ReflectAdapter.get(target, prop, receiver)\n }\n },\n })\n\n this[INTERNALS] = {\n cookies: cookiesProxy,\n url: init.url\n ? new NextURL(init.url, {\n headers: toNodeOutgoingHttpHeaders(headers),\n nextConfig: init.nextConfig,\n })\n : undefined,\n }\n }\n\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n cookies: this.cookies,\n url: this.url,\n // rest of props come from Response\n body: this.body,\n bodyUsed: this.bodyUsed,\n headers: Object.fromEntries(this.headers),\n ok: this.ok,\n redirected: this.redirected,\n status: this.status,\n statusText: this.statusText,\n type: this.type,\n }\n }\n\n public get cookies() {\n return this[INTERNALS].cookies\n }\n\n static json(\n body: JsonBody,\n init?: ResponseInit\n ): NextResponse {\n const response: Response = Response.json(body, init)\n return new NextResponse(response.body, response)\n }\n\n static redirect(url: string | NextURL | URL, init?: number | ResponseInit) {\n const status = typeof init === 'number' ? init : (init?.status ?? 307)\n if (!REDIRECTS.has(status)) {\n throw new RangeError(\n 'Failed to execute \"redirect\" on \"response\": Invalid status code'\n )\n }\n const initObj = typeof init === 'object' ? init : {}\n const headers = new Headers(initObj?.headers)\n headers.set('Location', validateURL(url))\n\n return new NextResponse(null, {\n ...initObj,\n headers,\n status,\n })\n }\n\n static rewrite(\n destination: string | NextURL | URL,\n init?: MiddlewareResponseInit\n ) {\n const headers = new Headers(init?.headers)\n headers.set('x-middleware-rewrite', validateURL(destination))\n\n handleMiddlewareField(init, headers)\n return new NextResponse(null, { ...init, headers })\n }\n\n static next(init?: MiddlewareResponseInit) {\n const headers = new Headers(init?.headers)\n headers.set('x-middleware-next', '1')\n\n handleMiddlewareField(init, headers)\n return new NextResponse(null, { ...init, headers })\n }\n}\n\ninterface ResponseInit extends globalThis.ResponseInit {\n nextConfig?: {\n basePath?: string\n i18n?: I18NConfig\n trailingSlash?: boolean\n }\n url?: string\n}\n\ninterface ModifiedRequest {\n /**\n * If this is set, the request headers will be overridden with this value.\n */\n headers?: Headers\n}\n\ninterface MiddlewareResponseInit extends globalThis.ResponseInit {\n /**\n * These fields will override the request from clients.\n */\n request?: ModifiedRequest\n}\n"],"names":["NextResponse","INTERNALS","Symbol","REDIRECTS","Set","handleMiddlewareField","init","headers","request","Headers","Error","keys","key","value","set","push","join","Response","constructor","body","cookies","ResponseCookies","cookiesProxy","Proxy","get","target","prop","receiver","args","result","Reflect","apply","newHeaders","getAll","map","cookie","stringifyCookie","ReflectAdapter","url","NextURL","toNodeOutgoingHttpHeaders","nextConfig","undefined","for","bodyUsed","Object","fromEntries","ok","redirected","status","statusText","type","json","response","redirect","has","RangeError","initObj","validateURL","rewrite","destination","next"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 16450, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/url-pattern.ts"],"sourcesContent":["const GlobalURLPattern =\n typeof URLPattern === 'undefined' ? undefined : URLPattern\n\nexport { GlobalURLPattern as URLPattern }\n"],"names":["URLPattern","GlobalURLPattern","undefined"],"mappings":";;;+BAG6BA,cAAAA;;;eAApBC;;;AAHT,MAAMA,mBACJ,OAAOD,eAAe,cAAcE,YAAYF","ignoreList":[0]}}, + {"offset": {"line": 16464, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/spec-extension/user-agent.ts"],"sourcesContent":["import parseua from 'next/dist/compiled/ua-parser-js'\n\ninterface UserAgent {\n isBot: boolean\n ua: string\n browser: {\n name?: string\n version?: string\n major?: string\n }\n device: {\n model?: string\n type?: string\n vendor?: string\n }\n engine: {\n name?: string\n version?: string\n }\n os: {\n name?: string\n version?: string\n }\n cpu: {\n architecture?: string\n }\n}\n\nexport function isBot(input: string): boolean {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(\n input\n )\n}\n\nexport function userAgentFromString(input: string | undefined): UserAgent {\n return {\n ...parseua(input),\n isBot: input === undefined ? false : isBot(input),\n }\n}\n\nexport function userAgent({ headers }: { headers: Headers }): UserAgent {\n return userAgentFromString(headers.get('user-agent') || undefined)\n}\n"],"names":["isBot","userAgent","userAgentFromString","input","test","parseua","undefined","headers","get"],"mappings":";;;;;;;;;;;;;;;IA4BgBA,KAAK,EAAA;eAALA;;IAaAC,SAAS,EAAA;eAATA;;IAPAC,mBAAmB,EAAA;eAAnBA;;;mEAlCI;;;;;;AA4Bb,SAASF,MAAMG,KAAa;IACjC,OAAO,iXAAiXC,IAAI,CAC1XD;AAEJ;AAEO,SAASD,oBAAoBC,KAAyB;IAC3D,OAAO;QACL,GAAGE,CAAAA,GAAAA,YAAAA,OAAO,EAACF,MAAM;QACjBH,OAAOG,UAAUG,YAAY,QAAQN,MAAMG;IAC7C;AACF;AAEO,SAASF,UAAU,EAAEM,OAAO,EAAwB;IACzD,OAAOL,oBAAoBK,QAAQC,GAAG,CAAC,iBAAiBF;AAC1D","ignoreList":[0]}}, + {"offset": {"line": 16511, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/web/utils.ts"],"sourcesContent":["import type { OutgoingHttpHeaders } from 'http'\nimport {\n NEXT_INTERCEPTION_MARKER_PREFIX,\n NEXT_QUERY_PARAM_PREFIX,\n} from '../../lib/constants'\n\n/**\n * Converts a Node.js IncomingHttpHeaders object to a Headers object. Any\n * headers with multiple values will be joined with a comma and space. Any\n * headers that have an undefined value will be ignored and others will be\n * coerced to strings.\n *\n * @param nodeHeaders the headers object to convert\n * @returns the converted headers object\n */\nexport function fromNodeOutgoingHttpHeaders(\n nodeHeaders: OutgoingHttpHeaders\n): Headers {\n const headers = new Headers()\n for (let [key, value] of Object.entries(nodeHeaders)) {\n const values = Array.isArray(value) ? value : [value]\n for (let v of values) {\n if (typeof v === 'undefined') continue\n if (typeof v === 'number') {\n v = v.toString()\n }\n\n headers.append(key, v)\n }\n }\n return headers\n}\n\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n \n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nexport function splitCookiesString(cookiesString: string) {\n var cookiesStrings = []\n var pos = 0\n var start\n var ch\n var lastComma\n var nextStart\n var cookiesSeparatorFound\n\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1\n }\n return pos < cookiesString.length\n }\n\n function notSpecialChar() {\n ch = cookiesString.charAt(pos)\n\n return ch !== '=' && ch !== ';' && ch !== ','\n }\n\n while (pos < cookiesString.length) {\n start = pos\n cookiesSeparatorFound = false\n\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos)\n if (ch === ',') {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos\n pos += 1\n\n skipWhitespace()\n nextStart = pos\n\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1\n }\n\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === '=') {\n // we found cookies separator\n cookiesSeparatorFound = true\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart\n cookiesStrings.push(cookiesString.substring(start, lastComma))\n start = pos\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1\n }\n } else {\n pos += 1\n }\n }\n\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length))\n }\n }\n\n return cookiesStrings\n}\n\n/**\n * Converts a Headers object to a Node.js OutgoingHttpHeaders object. This is\n * required to support the set-cookie header, which may have multiple values.\n *\n * @param headers the headers object to convert\n * @returns the converted headers object\n */\nexport function toNodeOutgoingHttpHeaders(\n headers: Headers\n): OutgoingHttpHeaders {\n const nodeHeaders: OutgoingHttpHeaders = {}\n const cookies: string[] = []\n if (headers) {\n for (const [key, value] of headers.entries()) {\n if (key.toLowerCase() === 'set-cookie') {\n // We may have gotten a comma joined string of cookies, or multiple\n // set-cookie headers. We need to merge them into one header array\n // to represent all the cookies.\n cookies.push(...splitCookiesString(value))\n nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies\n } else {\n nodeHeaders[key] = value\n }\n }\n }\n return nodeHeaders\n}\n\n/**\n * Validate the correctness of a user-provided URL.\n */\nexport function validateURL(url: string | URL): string {\n try {\n return String(new URL(String(url)))\n } catch (error: any) {\n throw new Error(\n `URL is malformed \"${String(\n url\n )}\". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,\n { cause: error }\n )\n }\n}\n\n/**\n * Normalizes `nxtP` and `nxtI` query param values to remove the prefix.\n * This function does not mutate the input key.\n */\nexport function normalizeNextQueryParam(key: string): null | string {\n const prefixes = [NEXT_QUERY_PARAM_PREFIX, NEXT_INTERCEPTION_MARKER_PREFIX]\n for (const prefix of prefixes) {\n if (key !== prefix && key.startsWith(prefix)) {\n return key.substring(prefix.length)\n }\n }\n return null\n}\n"],"names":["fromNodeOutgoingHttpHeaders","normalizeNextQueryParam","splitCookiesString","toNodeOutgoingHttpHeaders","validateURL","nodeHeaders","headers","Headers","key","value","Object","entries","values","Array","isArray","v","toString","append","cookiesString","cookiesStrings","pos","start","ch","lastComma","nextStart","cookiesSeparatorFound","skipWhitespace","length","test","charAt","notSpecialChar","push","substring","cookies","toLowerCase","url","String","URL","error","Error","cause","prefixes","NEXT_QUERY_PARAM_PREFIX","NEXT_INTERCEPTION_MARKER_PREFIX","prefix","startsWith"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 16659, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/get-hostname.ts"],"sourcesContent":["import type { OutgoingHttpHeaders } from 'http'\n\n/**\n * Takes an object with a hostname property (like a parsed URL) and some\n * headers that may contain Host and returns the preferred hostname.\n * @param parsed An object containing a hostname property.\n * @param headers A dictionary with headers containing a `host`.\n */\nexport function getHostname(\n parsed: { hostname?: string | null },\n headers?: OutgoingHttpHeaders\n): string | undefined {\n // Get the hostname from the headers if it exists, otherwise use the parsed\n // hostname.\n let hostname: string\n if (headers?.host && !Array.isArray(headers.host)) {\n hostname = headers.host.toString().split(':', 1)[0]\n } else if (parsed.hostname) {\n hostname = parsed.hostname\n } else return\n\n return hostname.toLowerCase()\n}\n"],"names":["getHostname","parsed","headers","hostname","host","Array","isArray","toString","split","toLowerCase"],"mappings":";;;+BAQgBA,eAAAA;;;eAAAA;;;AAAT,SAASA,YACdC,MAAoC,EACpCC,OAA6B;IAE7B,2EAA2E;IAC3E,YAAY;IACZ,IAAIC;IACJ,IAAID,SAASE,QAAQ,CAACC,MAAMC,OAAO,CAACJ,QAAQE,IAAI,GAAG;QACjDD,WAAWD,QAAQE,IAAI,CAACG,QAAQ,GAAGC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;IACrD,OAAO,IAAIP,OAAOE,QAAQ,EAAE;QAC1BA,WAAWF,OAAOE,QAAQ;IAC5B,OAAO;IAEP,OAAOA,SAASM,WAAW;AAC7B","ignoreList":[0]}}, + {"offset": {"line": 16683, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/i18n/detect-domain-locale.ts"],"sourcesContent":["import type { DomainLocale } from '../../../server/config-shared'\n\nexport function detectDomainLocale(\n domainItems?: readonly DomainLocale[],\n hostname?: string,\n detectedLocale?: string\n) {\n if (!domainItems) return\n\n if (detectedLocale) {\n detectedLocale = detectedLocale.toLowerCase()\n }\n\n for (const item of domainItems) {\n // remove port if present\n const domainHostname = item.domain?.split(':', 1)[0].toLowerCase()\n if (\n hostname === domainHostname ||\n detectedLocale === item.defaultLocale.toLowerCase() ||\n item.locales?.some((locale) => locale.toLowerCase() === detectedLocale)\n ) {\n return item\n }\n }\n}\n"],"names":["detectDomainLocale","domainItems","hostname","detectedLocale","toLowerCase","item","domainHostname","domain","split","defaultLocale","locales","some","locale"],"mappings":";;;+BAEgBA,sBAAAA;;;eAAAA;;;AAAT,SAASA,mBACdC,WAAqC,EACrCC,QAAiB,EACjBC,cAAuB;IAEvB,IAAI,CAACF,aAAa;IAElB,IAAIE,gBAAgB;QAClBA,iBAAiBA,eAAeC,WAAW;IAC7C;IAEA,KAAK,MAAMC,QAAQJ,YAAa;QAC9B,yBAAyB;QACzB,MAAMK,iBAAiBD,KAAKE,MAAM,EAAEC,MAAM,KAAK,EAAE,CAAC,EAAE,CAACJ;QACrD,IACEF,aAAaI,kBACbH,mBAAmBE,KAAKI,aAAa,CAACL,WAAW,MACjDC,KAAKK,OAAO,EAAEC,KAAK,CAACC,SAAWA,OAAOR,WAAW,OAAOD,iBACxD;YACA,OAAOE;QACT;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 16709, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/i18n/normalize-locale-path.ts"],"sourcesContent":["export interface PathLocale {\n detectedLocale?: string\n pathname: string\n}\n\n/**\n * A cache of lowercased locales for each list of locales. This is stored as a\n * WeakMap so if the locales are garbage collected, the cache entry will be\n * removed as well.\n */\nconst cache = new WeakMap()\n\n/**\n * For a pathname that may include a locale from a list of locales, it\n * removes the locale from the pathname returning it alongside with the\n * detected locale.\n *\n * @param pathname A pathname that may include a locale.\n * @param locales A list of locales.\n * @returns The detected locale and pathname without locale\n */\nexport function normalizeLocalePath(\n pathname: string,\n locales?: readonly string[]\n): PathLocale {\n // If locales is undefined, return the pathname as is.\n if (!locales) return { pathname }\n\n // Get the cached lowercased locales or create a new cache entry.\n let lowercasedLocales = cache.get(locales)\n if (!lowercasedLocales) {\n lowercasedLocales = locales.map((locale) => locale.toLowerCase())\n cache.set(locales, lowercasedLocales)\n }\n\n let detectedLocale: string | undefined\n\n // The first segment will be empty, because it has a leading `/`. If\n // there is no further segment, there is no locale (or it's the default).\n const segments = pathname.split('/', 2)\n\n // If there's no second segment (ie, the pathname is just `/`), there's no\n // locale.\n if (!segments[1]) return { pathname }\n\n // The second segment will contain the locale part if any.\n const segment = segments[1].toLowerCase()\n\n // See if the segment matches one of the locales. If it doesn't, there is\n // no locale (or it's the default).\n const index = lowercasedLocales.indexOf(segment)\n if (index < 0) return { pathname }\n\n // Return the case-sensitive locale.\n detectedLocale = locales[index]\n\n // Remove the `/${locale}` part of the pathname.\n pathname = pathname.slice(detectedLocale.length + 1) || '/'\n\n return { pathname, detectedLocale }\n}\n"],"names":["normalizeLocalePath","cache","WeakMap","pathname","locales","lowercasedLocales","get","map","locale","toLowerCase","set","detectedLocale","segments","split","segment","index","indexOf","slice","length"],"mappings":";;;+BAqBgBA,uBAAAA;;;eAAAA;;;AAhBhB;;;;CAIC,GACD,MAAMC,QAAQ,IAAIC;AAWX,SAASF,oBACdG,QAAgB,EAChBC,OAA2B;IAE3B,sDAAsD;IACtD,IAAI,CAACA,SAAS,OAAO;QAAED;IAAS;IAEhC,iEAAiE;IACjE,IAAIE,oBAAoBJ,MAAMK,GAAG,CAACF;IAClC,IAAI,CAACC,mBAAmB;QACtBA,oBAAoBD,QAAQG,GAAG,CAAC,CAACC,SAAWA,OAAOC,WAAW;QAC9DR,MAAMS,GAAG,CAACN,SAASC;IACrB;IAEA,IAAIM;IAEJ,oEAAoE;IACpE,yEAAyE;IACzE,MAAMC,WAAWT,SAASU,KAAK,CAAC,KAAK;IAErC,0EAA0E;IAC1E,UAAU;IACV,IAAI,CAACD,QAAQ,CAAC,EAAE,EAAE,OAAO;QAAET;IAAS;IAEpC,0DAA0D;IAC1D,MAAMW,UAAUF,QAAQ,CAAC,EAAE,CAACH,WAAW;IAEvC,yEAAyE;IACzE,mCAAmC;IACnC,MAAMM,QAAQV,kBAAkBW,OAAO,CAACF;IACxC,IAAIC,QAAQ,GAAG,OAAO;QAAEZ;IAAS;IAEjC,oCAAoC;IACpCQ,iBAAiBP,OAAO,CAACW,MAAM;IAE/B,gDAAgD;IAChDZ,WAAWA,SAASc,KAAK,CAACN,eAAeO,MAAM,GAAG,MAAM;IAExD,OAAO;QAAEf;QAAUQ;IAAe;AACpC","ignoreList":[0]}}, + {"offset": {"line": 16764, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/instant-messages.ts"],"sourcesContent":["export function createUnrenderedSegmentError(\n route: string,\n missingFiles: readonly string[]\n): Error {\n let message = `Route \"${route}\": Could not validate that a segment in your UI has instant navigation.`\n if (missingFiles.length > 0) {\n const label =\n missingFiles.length === 1 ? 'Dropped segment' : 'Dropped segments'\n message +=\n `\\n\\nThis segment was dropped from rendering. Issues that would prevent instant navigation will go undetected.` +\n `\\n\\n${label}:\\n${missingFiles.map((p) => ` ${p}`).join('\\n')}` +\n `\\n\\nWays to fix this:` +\n `\\n - [render] Render the dropped segment` +\n `\\n - [ignore] Set \\`export const instant = false\\` to opt the dropped segment out of instant-navigation validation` +\n `\\n\\nLearn more: https://nextjs.org/docs/messages/instant-unrendered-segment`\n }\n return new Error(message)\n}\n\nexport function createLinkPrefetchPartialError(pathname: string): Error {\n return new Error(\n `Next.js encountered dynamic data during prefetching for \"${pathname}\".\\n\\n` +\n `This will lead to slower, more expensive prefetches.\\n\\n` +\n `Ways to fix this:\\n` +\n ` - [upgrade] Opt into Partial Prefetching by exporting \\`const prefetch = 'partial'\\` from the page or layout, or by setting \\`partialPrefetching: true\\` in next.config to opt the whole app in\\n` +\n ` - [disable] Remove \\`prefetch={true}\\` from the to use the default prefetch\\n` +\n ` - [ignore] Set \\`export const instant = false\\` to opt the route out of instant-navigation validation\\n\\n` +\n `Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`\n )\n}\n"],"names":["createLinkPrefetchPartialError","createUnrenderedSegmentError","route","missingFiles","message","length","label","map","p","join","Error","pathname"],"mappings":";;;;;;;;;;;;;;IAmBgBA,8BAA8B,EAAA;eAA9BA;;IAnBAC,4BAA4B,EAAA;eAA5BA;;;AAAT,SAASA,6BACdC,KAAa,EACbC,YAA+B;IAE/B,IAAIC,UAAU,CAAC,OAAO,EAAEF,MAAM,uEAAuE,CAAC;IACtG,IAAIC,aAAaE,MAAM,GAAG,GAAG;QAC3B,MAAMC,QACJH,aAAaE,MAAM,KAAK,IAAI,oBAAoB;QAClDD,WACE,CAAC,6GAA6G,CAAC,GAC/G,CAAC,IAAI,EAAEE,MAAM,GAAG,EAAEH,aAAaI,GAAG,CAAC,CAACC,IAAM,CAAC,EAAE,EAAEA,GAAG,EAAEC,IAAI,CAAC,OAAO,GAChE,CAAC,qBAAqB,CAAC,GACvB,CAAC,yCAAyC,CAAC,GAC3C,CAAC,mHAAmH,CAAC,GACrH,CAAC,2EAA2E,CAAC;IACjF;IACA,OAAO,IAAIC,MAAMN;AACnB;AAEO,SAASJ,+BAA+BW,QAAgB;IAC7D,OAAO,IAAID,MACT,CAAC,yDAAyD,EAAEC,SAAS,MAAM,CAAC,GAC1E,CAAC,wDAAwD,CAAC,GAC1D,CAAC,mBAAmB,CAAC,GACrB,CAAC,mMAAmM,CAAC,GACrM,CAAC,sFAAsF,CAAC,GACxF,CAAC,2GAA2G,CAAC,GAC7G,CAAC,0EAA0E,CAAC;AAElF","ignoreList":[0]}}, + {"offset": {"line": 16800, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/invariant-error.ts"],"sourcesContent":["export class InvariantError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(\n `Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`,\n options\n )\n this.name = 'InvariantError'\n }\n}\n"],"names":["InvariantError","Error","constructor","message","options","endsWith","name"],"mappings":";;;+BAAaA,kBAAAA;;;eAAAA;;;AAAN,MAAMA,uBAAuBC;IAClCC,YAAYC,OAAe,EAAEC,OAAsB,CAAE;QACnD,KAAK,CACH,CAAC,WAAW,EAAED,QAAQE,QAAQ,CAAC,OAAOF,UAAUA,UAAU,IAAI,0BAA0B,CAAC,EACzFC;QAEF,IAAI,CAACE,IAAI,GAAG;IACd;AACF","ignoreList":[0]}}, + {"offset": {"line": 16819, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/lazy-dynamic/react-browser-bailout.ts"],"sourcesContent":["// This module is bundled separately into user code and the precompiled App\n// Router runtime. Use the global symbol registry so both copies recognize the\n// same browser bailout reason.\nconst REACT_BROWSER_BAILOUT_REASON = Symbol.for('next.browser-bailout-reason')\n\ntype ReactBrowserBailoutReason = {\n $$typeof: symbol\n reason: string\n}\n\nexport function createReactBrowserBailoutReason(\n reason: string\n): ReactBrowserBailoutReason {\n return {\n $$typeof: REACT_BROWSER_BAILOUT_REASON,\n reason,\n }\n}\n\nexport function getReactBrowserBailoutReason(\n error: unknown\n): string | undefined {\n const cause = (error as Error)?.cause as ReactBrowserBailoutReason | undefined\n\n return cause?.$$typeof === REACT_BROWSER_BAILOUT_REASON\n ? cause.reason\n : undefined\n}\n\nexport function isNextBrowserBailoutError(error: unknown): boolean {\n return getReactBrowserBailoutReason(error) !== undefined\n}\n"],"names":["createReactBrowserBailoutReason","getReactBrowserBailoutReason","isNextBrowserBailoutError","REACT_BROWSER_BAILOUT_REASON","Symbol","for","reason","$$typeof","error","cause","undefined"],"mappings":"AAAA,2EAA2E;AAC3E,8EAA8E;AAC9E,+BAA+B;;;;;;;;;;;;;;;;IAQfA,+BAA+B,EAAA;eAA/BA;;IASAC,4BAA4B,EAAA;eAA5BA;;IAUAC,yBAAyB,EAAA;eAAzBA;;;AA1BhB,MAAMC,+BAA+BC,OAAOC,GAAG,CAAC;AAOzC,SAASL,gCACdM,MAAc;IAEd,OAAO;QACLC,UAAUJ;QACVG;IACF;AACF;AAEO,SAASL,6BACdO,KAAc;IAEd,MAAMC,QAASD,OAAiBC;IAEhC,OAAOA,OAAOF,aAAaJ,+BACvBM,MAAMH,MAAM,GACZI;AACN;AAEO,SAASR,0BAA0BM,KAAc;IACtD,OAAOP,6BAA6BO,WAAWE;AACjD","ignoreList":[0]}}, + {"offset": {"line": 16865, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/promise-with-resolvers.ts"],"sourcesContent":["export function createPromiseWithResolvers(): PromiseWithResolvers {\n // Shim of Stage 4 Promise.withResolvers proposal\n let resolve: (value: T | PromiseLike) => void\n let reject: (reason: any) => void\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n })\n return { resolve: resolve!, reject: reject!, promise }\n}\n"],"names":["createPromiseWithResolvers","resolve","reject","promise","Promise","res","rej"],"mappings":";;;+BAAgBA,8BAAAA;;;eAAAA;;;AAAT,SAASA;IACd,iDAAiD;IACjD,IAAIC;IACJ,IAAIC;IACJ,MAAMC,UAAU,IAAIC,QAAW,CAACC,KAAKC;QACnCL,UAAUI;QACVH,SAASI;IACX;IACA,OAAO;QAAEL,SAASA;QAAUC,QAAQA;QAASC;IAAQ;AACvD","ignoreList":[0]}}, + {"offset": {"line": 16892, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/add-locale.ts"],"sourcesContent":["import { addPathPrefix } from './add-path-prefix'\nimport { pathHasPrefix } from './path-has-prefix'\n\n/**\n * For a given path and a locale, if the locale is given, it will prefix the\n * locale. The path shouldn't be an API path. If a default locale is given the\n * prefix will be omitted if the locale is already the default locale.\n */\nexport function addLocale(\n path: string,\n locale?: string | false,\n defaultLocale?: string,\n ignorePrefix?: boolean\n) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path\n\n const lower = path.toLowerCase()\n\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if (pathHasPrefix(lower, '/api')) return path\n if (pathHasPrefix(lower, `/${locale.toLowerCase()}`)) return path\n }\n\n // Add the locale prefix to the path.\n return addPathPrefix(path, `/${locale}`)\n}\n"],"names":["addLocale","path","locale","defaultLocale","ignorePrefix","lower","toLowerCase","pathHasPrefix","addPathPrefix"],"mappings":";;;+BAQgBA,aAAAA;;;eAAAA;;;+BARc;+BACA;AAOvB,SAASA,UACdC,IAAY,EACZC,MAAuB,EACvBC,aAAsB,EACtBC,YAAsB;IAEtB,4EAA4E;IAC5E,sBAAsB;IACtB,IAAI,CAACF,UAAUA,WAAWC,eAAe,OAAOF;IAEhD,MAAMI,QAAQJ,KAAKK,WAAW;IAE9B,2EAA2E;IAC3E,iCAAiC;IACjC,IAAI,CAACF,cAAc;QACjB,IAAIG,CAAAA,GAAAA,eAAAA,aAAa,EAACF,OAAO,SAAS,OAAOJ;QACzC,IAAIM,CAAAA,GAAAA,eAAAA,aAAa,EAACF,OAAO,CAAC,CAAC,EAAEH,OAAOI,WAAW,IAAI,GAAG,OAAOL;IAC/D;IAEA,qCAAqC;IACrC,OAAOO,CAAAA,GAAAA,eAAAA,aAAa,EAACP,MAAM,CAAC,CAAC,EAAEC,QAAQ;AACzC","ignoreList":[0]}}, + {"offset": {"line": 16921, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/add-path-prefix.ts"],"sourcesContent":["import { parsePath } from './parse-path'\n\n/**\n * Adds the provided prefix to the given path. It first ensures that the path\n * is indeed starting with a slash.\n */\nexport function addPathPrefix(path: string, prefix?: string) {\n if (!path.startsWith('/') || !prefix) {\n return path\n }\n\n const { pathname, query, hash } = parsePath(path)\n return `${prefix}${pathname}${query}${hash}`\n}\n"],"names":["addPathPrefix","path","prefix","startsWith","pathname","query","hash","parsePath"],"mappings":";;;+BAMgBA,iBAAAA;;;eAAAA;;;2BANU;AAMnB,SAASA,cAAcC,IAAY,EAAEC,MAAe;IACzD,IAAI,CAACD,KAAKE,UAAU,CAAC,QAAQ,CAACD,QAAQ;QACpC,OAAOD;IACT;IAEA,MAAM,EAAEG,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,CAAAA,GAAAA,WAAAA,SAAS,EAACN;IAC5C,OAAO,GAAGC,SAASE,WAAWC,QAAQC,MAAM;AAC9C","ignoreList":[0]}}, + {"offset": {"line": 16942, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/add-path-suffix.ts"],"sourcesContent":["import { parsePath } from './parse-path'\n\n/**\n * Similarly to `addPathPrefix`, this function adds a suffix at the end on the\n * provided path. It also works only for paths ensuring the argument starts\n * with a slash.\n */\nexport function addPathSuffix(path: string, suffix?: string) {\n if (!path.startsWith('/') || !suffix) {\n return path\n }\n\n const { pathname, query, hash } = parsePath(path)\n return `${pathname}${suffix}${query}${hash}`\n}\n"],"names":["addPathSuffix","path","suffix","startsWith","pathname","query","hash","parsePath"],"mappings":";;;+BAOgBA,iBAAAA;;;eAAAA;;;2BAPU;AAOnB,SAASA,cAAcC,IAAY,EAAEC,MAAe;IACzD,IAAI,CAACD,KAAKE,UAAU,CAAC,QAAQ,CAACD,QAAQ;QACpC,OAAOD;IACT;IAEA,MAAM,EAAEG,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,CAAAA,GAAAA,WAAAA,SAAS,EAACN;IAC5C,OAAO,GAAGG,WAAWF,SAASG,QAAQC,MAAM;AAC9C","ignoreList":[0]}}, + {"offset": {"line": 16963, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/format-next-pathname-info.ts"],"sourcesContent":["import type { NextPathnameInfo } from './get-next-pathname-info'\nimport { removeTrailingSlash } from './remove-trailing-slash'\nimport { addPathPrefix } from './add-path-prefix'\nimport { addPathSuffix } from './add-path-suffix'\nimport { addLocale } from './add-locale'\n\ninterface ExtendedInfo extends NextPathnameInfo {\n defaultLocale?: string\n ignorePrefix?: boolean\n}\n\nexport function formatNextPathnameInfo(info: ExtendedInfo) {\n let pathname = addLocale(\n info.pathname,\n info.locale,\n info.buildId ? undefined : info.defaultLocale,\n info.ignorePrefix\n )\n\n if (info.buildId || !info.trailingSlash) {\n pathname = removeTrailingSlash(pathname)\n }\n\n if (info.buildId) {\n pathname = addPathSuffix(\n addPathPrefix(pathname, `/_next/data/${info.buildId}`),\n info.pathname === '/' ? 'index.json' : '.json'\n )\n }\n\n pathname = addPathPrefix(pathname, info.basePath)\n return !info.buildId && info.trailingSlash\n ? !pathname.endsWith('/')\n ? addPathSuffix(pathname, '/')\n : pathname\n : removeTrailingSlash(pathname)\n}\n"],"names":["formatNextPathnameInfo","info","pathname","addLocale","locale","buildId","undefined","defaultLocale","ignorePrefix","trailingSlash","removeTrailingSlash","addPathSuffix","addPathPrefix","basePath","endsWith"],"mappings":";;;+BAWgBA,0BAAAA;;;eAAAA;;;qCAVoB;+BACN;+BACA;2BACJ;AAOnB,SAASA,uBAAuBC,IAAkB;IACvD,IAAIC,WAAWC,CAAAA,GAAAA,WAAAA,SAAS,EACtBF,KAAKC,QAAQ,EACbD,KAAKG,MAAM,EACXH,KAAKI,OAAO,GAAGC,YAAYL,KAAKM,aAAa,EAC7CN,KAAKO,YAAY;IAGnB,IAAIP,KAAKI,OAAO,IAAI,CAACJ,KAAKQ,aAAa,EAAE;QACvCP,WAAWQ,CAAAA,GAAAA,qBAAAA,mBAAmB,EAACR;IACjC;IAEA,IAAID,KAAKI,OAAO,EAAE;QAChBH,WAAWS,CAAAA,GAAAA,eAAAA,aAAa,EACtBC,CAAAA,GAAAA,eAAAA,aAAa,EAACV,UAAU,CAAC,YAAY,EAAED,KAAKI,OAAO,EAAE,GACrDJ,KAAKC,QAAQ,KAAK,MAAM,eAAe;IAE3C;IAEAA,WAAWU,CAAAA,GAAAA,eAAAA,aAAa,EAACV,UAAUD,KAAKY,QAAQ;IAChD,OAAO,CAACZ,KAAKI,OAAO,IAAIJ,KAAKQ,aAAa,GACtC,CAACP,SAASY,QAAQ,CAAC,OACjBH,CAAAA,GAAAA,eAAAA,aAAa,EAACT,UAAU,OACxBA,WACFQ,CAAAA,GAAAA,qBAAAA,mBAAmB,EAACR;AAC1B","ignoreList":[0]}}, + {"offset": {"line": 16991, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/get-next-pathname-info.ts"],"sourcesContent":["import { normalizeLocalePath } from '../../i18n/normalize-locale-path'\nimport { removePathPrefix } from './remove-path-prefix'\nimport { pathHasPrefix } from './path-has-prefix'\nimport type { I18NProvider } from '../../../../server/lib/i18n-provider'\n\nexport interface NextPathnameInfo {\n /**\n * The base path in case the pathname included it.\n */\n basePath?: string\n /**\n * The buildId for when the parsed URL is a data URL. Parsing it can be\n * disabled with the `parseData` option.\n */\n buildId?: string\n /**\n * If there was a locale in the pathname, this will hold its value.\n */\n locale?: string\n /**\n * The processed pathname without a base path, locale, or data URL elements\n * when parsing it is enabled.\n */\n pathname: string\n /**\n * A boolean telling if the pathname had a trailingSlash. This can be only\n * true if trailingSlash is enabled.\n */\n trailingSlash?: boolean\n}\n\ninterface Options {\n /**\n * When passed to true, this function will also parse Nextjs data URLs.\n */\n parseData?: boolean\n /**\n * A partial of the Next.js configuration to parse the URL.\n */\n nextConfig?: {\n basePath?: string\n i18n?: { locales?: readonly string[] } | null\n trailingSlash?: boolean\n }\n\n /**\n * If provided, this normalizer will be used to detect the locale instead of\n * the default locale detection.\n */\n i18nProvider?: I18NProvider\n}\n\nexport function getNextPathnameInfo(\n pathname: string,\n options: Options\n): NextPathnameInfo {\n const { basePath, i18n, trailingSlash } = options.nextConfig ?? {}\n const info: NextPathnameInfo = {\n pathname,\n trailingSlash: pathname !== '/' ? pathname.endsWith('/') : trailingSlash,\n }\n\n if (basePath && pathHasPrefix(info.pathname, basePath)) {\n info.pathname = removePathPrefix(info.pathname, basePath)\n info.basePath = basePath\n }\n let pathnameNoDataPrefix = info.pathname\n\n if (\n info.pathname.startsWith('/_next/data/') &&\n info.pathname.endsWith('.json')\n ) {\n const paths = info.pathname\n .replace(/^\\/_next\\/data\\//, '')\n .replace(/\\.json$/, '')\n .split('/')\n\n const buildId = paths[0]\n info.buildId = buildId\n pathnameNoDataPrefix =\n paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/'\n\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix\n }\n }\n\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider\n ? options.i18nProvider.analyze(info.pathname)\n : normalizeLocalePath(info.pathname, i18n.locales)\n\n info.locale = result.detectedLocale\n info.pathname = result.pathname ?? info.pathname\n\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider\n ? options.i18nProvider.analyze(pathnameNoDataPrefix)\n : normalizeLocalePath(pathnameNoDataPrefix, i18n.locales)\n\n if (result.detectedLocale) {\n info.locale = result.detectedLocale\n }\n }\n }\n return info\n}\n"],"names":["getNextPathnameInfo","pathname","options","basePath","i18n","trailingSlash","nextConfig","info","endsWith","pathHasPrefix","removePathPrefix","pathnameNoDataPrefix","startsWith","paths","replace","split","buildId","slice","join","parseData","result","i18nProvider","analyze","normalizeLocalePath","locales","locale","detectedLocale"],"mappings":";;;+BAoDgBA,uBAAAA;;;eAAAA;;;qCApDoB;kCACH;+BACH;AAkDvB,SAASA,oBACdC,QAAgB,EAChBC,OAAgB;IAEhB,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,aAAa,EAAE,GAAGH,QAAQI,UAAU,IAAI,CAAC;IACjE,MAAMC,OAAyB;QAC7BN;QACAI,eAAeJ,aAAa,MAAMA,SAASO,QAAQ,CAAC,OAAOH;IAC7D;IAEA,IAAIF,YAAYM,CAAAA,GAAAA,eAAAA,aAAa,EAACF,KAAKN,QAAQ,EAAEE,WAAW;QACtDI,KAAKN,QAAQ,GAAGS,CAAAA,GAAAA,kBAAAA,gBAAgB,EAACH,KAAKN,QAAQ,EAAEE;QAChDI,KAAKJ,QAAQ,GAAGA;IAClB;IACA,IAAIQ,uBAAuBJ,KAAKN,QAAQ;IAExC,IACEM,KAAKN,QAAQ,CAACW,UAAU,CAAC,mBACzBL,KAAKN,QAAQ,CAACO,QAAQ,CAAC,UACvB;QACA,MAAMK,QAAQN,KAAKN,QAAQ,CACxBa,OAAO,CAAC,oBAAoB,IAC5BA,OAAO,CAAC,WAAW,IACnBC,KAAK,CAAC;QAET,MAAMC,UAAUH,KAAK,CAAC,EAAE;QACxBN,KAAKS,OAAO,GAAGA;QACfL,uBACEE,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,EAAEA,MAAMI,KAAK,CAAC,GAAGC,IAAI,CAAC,MAAM,GAAG;QAE1D,sDAAsD;QACtD,kDAAkD;QAClD,IAAIhB,QAAQiB,SAAS,KAAK,MAAM;YAC9BZ,KAAKN,QAAQ,GAAGU;QAClB;IACF;IAEA,4EAA4E;IAC5E,yBAAyB;IACzB,IAAIP,MAAM;QACR,IAAIgB,SAASlB,QAAQmB,YAAY,GAC7BnB,QAAQmB,YAAY,CAACC,OAAO,CAACf,KAAKN,QAAQ,IAC1CsB,CAAAA,GAAAA,qBAAAA,mBAAmB,EAAChB,KAAKN,QAAQ,EAAEG,KAAKoB,OAAO;QAEnDjB,KAAKkB,MAAM,GAAGL,OAAOM,cAAc;QACnCnB,KAAKN,QAAQ,GAAGmB,OAAOnB,QAAQ,IAAIM,KAAKN,QAAQ;QAEhD,IAAI,CAACmB,OAAOM,cAAc,IAAInB,KAAKS,OAAO,EAAE;YAC1CI,SAASlB,QAAQmB,YAAY,GACzBnB,QAAQmB,YAAY,CAACC,OAAO,CAACX,wBAC7BY,CAAAA,GAAAA,qBAAAA,mBAAmB,EAACZ,sBAAsBP,KAAKoB,OAAO;YAE1D,IAAIJ,OAAOM,cAAc,EAAE;gBACzBnB,KAAKkB,MAAM,GAAGL,OAAOM,cAAc;YACrC;QACF;IACF;IACA,OAAOnB;AACT","ignoreList":[0]}}, + {"offset": {"line": 17044, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/parse-loader-tree.ts"],"sourcesContent":["import { DEFAULT_SEGMENT_KEY } from '../../segment'\nimport type { LoaderTree } from '../../../../server/lib/app-dir-module'\n\nexport function parseLoaderTree(tree: LoaderTree) {\n const [segment, parallelRoutes, modules, staticSiblings] = tree\n const { layout, template } = modules\n let { page } = modules\n // a __DEFAULT__ segment means that this route didn't match any of the\n // segments in the route, so we should use the default page\n page = segment === DEFAULT_SEGMENT_KEY ? modules.defaultPage : page\n\n const conventionPath = layout?.[1] || template?.[1] || page?.[1]\n\n return {\n page,\n segment,\n modules,\n /* it can be either layout / template / page */\n conventionPath,\n parallelRoutes,\n staticSiblings,\n }\n}\n"],"names":["parseLoaderTree","tree","segment","parallelRoutes","modules","staticSiblings","layout","template","page","DEFAULT_SEGMENT_KEY","defaultPage","conventionPath"],"mappings":";;;+BAGgBA,mBAAAA;;;eAAAA;;;yBAHoB;AAG7B,SAASA,gBAAgBC,IAAgB;IAC9C,MAAM,CAACC,SAASC,gBAAgBC,SAASC,eAAe,GAAGJ;IAC3D,MAAM,EAAEK,MAAM,EAAEC,QAAQ,EAAE,GAAGH;IAC7B,IAAI,EAAEI,IAAI,EAAE,GAAGJ;IACf,sEAAsE;IACtE,2DAA2D;IAC3DI,OAAON,YAAYO,SAAAA,mBAAmB,GAAGL,QAAQM,WAAW,GAAGF;IAE/D,MAAMG,iBAAiBL,QAAQ,CAAC,EAAE,IAAIC,UAAU,CAAC,EAAE,IAAIC,MAAM,CAAC,EAAE;IAEhE,OAAO;QACLA;QACAN;QACAE;QACA,6CAA6C,GAC7CO;QACAR;QACAE;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 17075, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/parse-path.ts"],"sourcesContent":["/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */\nexport function parsePath(path: string) {\n const hashIndex = path.indexOf('#')\n const queryIndex = path.indexOf('?')\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex)\n\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery\n ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined)\n : '',\n hash: hashIndex > -1 ? path.slice(hashIndex) : '',\n }\n }\n\n return { pathname: path, query: '', hash: '' }\n}\n"],"names":["parsePath","path","hashIndex","indexOf","queryIndex","hasQuery","pathname","substring","query","undefined","hash","slice"],"mappings":"AAAA;;;;CAIC;;;+BACeA,aAAAA;;;eAAAA;;;AAAT,SAASA,UAAUC,IAAY;IACpC,MAAMC,YAAYD,KAAKE,OAAO,CAAC;IAC/B,MAAMC,aAAaH,KAAKE,OAAO,CAAC;IAChC,MAAME,WAAWD,aAAa,CAAC,KAAMF,CAAAA,YAAY,KAAKE,aAAaF,SAAQ;IAE3E,IAAIG,YAAYH,YAAY,CAAC,GAAG;QAC9B,OAAO;YACLI,UAAUL,KAAKM,SAAS,CAAC,GAAGF,WAAWD,aAAaF;YACpDM,OAAOH,WACHJ,KAAKM,SAAS,CAACH,YAAYF,YAAY,CAAC,IAAIA,YAAYO,aACxD;YACJC,MAAMR,YAAY,CAAC,IAAID,KAAKU,KAAK,CAACT,aAAa;QACjD;IACF;IAEA,OAAO;QAAEI,UAAUL;QAAMO,OAAO;QAAIE,MAAM;IAAG;AAC/C","ignoreList":[0]}}, + {"offset": {"line": 17109, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/path-has-prefix.ts"],"sourcesContent":["import { parsePath } from './parse-path'\n\n/**\n * Checks if a given path starts with a given prefix. It ensures it matches\n * exactly without containing extra chars. e.g. prefix /docs should replace\n * for /docs, /docs/, /docs/a but not /docsss\n * @param path The path to check.\n * @param prefix The prefix to check against.\n */\nexport function pathHasPrefix(path: string, prefix: string) {\n if (typeof path !== 'string') {\n return false\n }\n\n const { pathname } = parsePath(path)\n return pathname === prefix || pathname.startsWith(prefix + '/')\n}\n"],"names":["pathHasPrefix","path","prefix","pathname","parsePath","startsWith"],"mappings":";;;+BASgBA,iBAAAA;;;eAAAA;;;2BATU;AASnB,SAASA,cAAcC,IAAY,EAAEC,MAAc;IACxD,IAAI,OAAOD,SAAS,UAAU;QAC5B,OAAO;IACT;IAEA,MAAM,EAAEE,QAAQ,EAAE,GAAGC,CAAAA,GAAAA,WAAAA,SAAS,EAACH;IAC/B,OAAOE,aAAaD,UAAUC,SAASE,UAAU,CAACH,SAAS;AAC7D","ignoreList":[0]}}, + {"offset": {"line": 17130, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/remove-path-prefix.ts"],"sourcesContent":["import { pathHasPrefix } from './path-has-prefix'\n\n/**\n * Given a path and a prefix it will remove the prefix when it exists in the\n * given path. It ensures it matches exactly without containing extra chars\n * and if the prefix is not there it will be noop.\n *\n * @param path The path to remove the prefix from.\n * @param prefix The prefix to be removed.\n */\nexport function removePathPrefix(path: string, prefix: string): string {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!pathHasPrefix(path, prefix)) {\n return path\n }\n\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length)\n\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith('/')) {\n return withoutPrefix\n }\n\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return `/${withoutPrefix}`\n}\n"],"names":["removePathPrefix","path","prefix","pathHasPrefix","withoutPrefix","slice","length","startsWith"],"mappings":";;;+BAUgBA,oBAAAA;;;eAAAA;;;+BAVc;AAUvB,SAASA,iBAAiBC,IAAY,EAAEC,MAAc;IAC3D,yEAAyE;IACzE,0EAA0E;IAC1E,kBAAkB;IAClB,EAAE;IACF,oBAAoB;IACpB,EAAE;IACF,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,yBAAyB;IACzB,IAAI,CAACC,CAAAA,GAAAA,eAAAA,aAAa,EAACF,MAAMC,SAAS;QAChC,OAAOD;IACT;IAEA,+CAA+C;IAC/C,MAAMG,gBAAgBH,KAAKI,KAAK,CAACH,OAAOI,MAAM;IAE9C,2EAA2E;IAC3E,IAAIF,cAAcG,UAAU,CAAC,MAAM;QACjC,OAAOH;IACT;IAEA,4EAA4E;IAC5E,mDAAmD;IACnD,OAAO,CAAC,CAAC,EAAEA,eAAe;AAC5B","ignoreList":[0]}}, + {"offset": {"line": 17170, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/router/utils/remove-trailing-slash.ts"],"sourcesContent":["/**\n * Removes the trailing slash for a given route or page path. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n *\n * Uses charCodeAt (47 === '/') instead of regex to avoid the overhead of\n * compiling and executing a RegExp on every call (~3-5x faster).\n */\nexport function removeTrailingSlash(route: string) {\n return route.charCodeAt(route.length - 1) === 47 && route.length > 1\n ? route.slice(0, -1)\n : route\n}\n"],"names":["removeTrailingSlash","route","charCodeAt","length","slice"],"mappings":"AAAA;;;;;;;CAOC;;;+BACeA,uBAAAA;;;eAAAA;;;AAAT,SAASA,oBAAoBC,KAAa;IAC/C,OAAOA,MAAMC,UAAU,CAACD,MAAME,MAAM,GAAG,OAAO,MAAMF,MAAME,MAAM,GAAG,IAC/DF,MAAMG,KAAK,CAAC,GAAG,CAAC,KAChBH;AACN","ignoreList":[0]}}, + {"offset": {"line": 17193, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/segment.ts"],"sourcesContent":["import type { FlightRouterState, Segment } from './app-router-types'\n\nexport function getSegmentValue(segment: Segment) {\n return Array.isArray(segment) ? segment[1] : segment\n}\n\nexport function isGroupSegment(segment: string) {\n // Use array[0] for performant purpose\n return segment[0] === '(' && segment.endsWith(')')\n}\n\nexport function isParallelRouteSegment(segment: string) {\n return segment.startsWith('@') && segment !== '@children'\n}\n\nexport function computeSelectedLayoutSegment(\n segments: string[] | null,\n parallelRouteKey: string\n): string | null {\n if (!segments || segments.length === 0) {\n return null\n }\n\n // For 'children', use first segment; for other parallel routes, use last segment\n const rawSegment =\n parallelRouteKey === 'children'\n ? segments[0]\n : segments[segments.length - 1]\n\n // If the default slot is showing, return null since it's not technically \"selected\" (it's a fallback)\n // Returning an internal value like `__DEFAULT__` would be confusing\n return rawSegment === DEFAULT_SEGMENT_KEY ? null : rawSegment\n}\n\n/** Get the canonical parameters from the current level to the leaf node. */\nexport function getSelectedLayoutSegmentPath(\n tree: FlightRouterState,\n parallelRouteKey: string,\n first = true,\n segmentPath: string[] = []\n): string[] {\n let node: FlightRouterState\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey]\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1]\n node = parallelRoutes.children ?? Object.values(parallelRoutes)[0]\n }\n\n if (!node) return segmentPath\n const segment = node[0]\n\n let segmentValue = getSegmentValue(segment)\n\n if (!segmentValue || segmentValue === PAGE_SEGMENT_KEY) {\n return segmentPath\n }\n\n segmentPath.push(segmentValue)\n\n return getSelectedLayoutSegmentPath(\n node,\n parallelRouteKey,\n false,\n segmentPath\n )\n}\n\nexport const PAGE_SEGMENT_KEY = '__PAGE__'\nexport const DEFAULT_SEGMENT_KEY = '__DEFAULT__'\nexport const NOT_FOUND_SEGMENT_KEY = '/_not-found'\n"],"names":["DEFAULT_SEGMENT_KEY","NOT_FOUND_SEGMENT_KEY","PAGE_SEGMENT_KEY","computeSelectedLayoutSegment","getSegmentValue","getSelectedLayoutSegmentPath","isGroupSegment","isParallelRouteSegment","segment","Array","isArray","endsWith","startsWith","segments","parallelRouteKey","length","rawSegment","tree","first","segmentPath","node","parallelRoutes","children","Object","values","segmentValue","push"],"mappings":";;;;;;;;;;;;;;;;;;;;IAuEaA,mBAAmB,EAAA;eAAnBA;;IACAC,qBAAqB,EAAA;eAArBA;;IAFAC,gBAAgB,EAAA;eAAhBA;;IAvDGC,4BAA4B,EAAA;eAA5BA;;IAbAC,eAAe,EAAA;eAAfA;;IAiCAC,4BAA4B,EAAA;eAA5BA;;IA7BAC,cAAc,EAAA;eAAdA;;IAKAC,sBAAsB,EAAA;eAAtBA;;;AATT,SAASH,gBAAgBI,OAAgB;IAC9C,OAAOC,MAAMC,OAAO,CAACF,WAAWA,OAAO,CAAC,EAAE,GAAGA;AAC/C;AAEO,SAASF,eAAeE,OAAe;IAC5C,sCAAsC;IACtC,OAAOA,OAAO,CAAC,EAAE,KAAK,OAAOA,QAAQG,QAAQ,CAAC;AAChD;AAEO,SAASJ,uBAAuBC,OAAe;IACpD,OAAOA,QAAQI,UAAU,CAAC,QAAQJ,YAAY;AAChD;AAEO,SAASL,6BACdU,QAAyB,EACzBC,gBAAwB;IAExB,IAAI,CAACD,YAAYA,SAASE,MAAM,KAAK,GAAG;QACtC,OAAO;IACT;IAEA,iFAAiF;IACjF,MAAMC,aACJF,qBAAqB,aACjBD,QAAQ,CAAC,EAAE,GACXA,QAAQ,CAACA,SAASE,MAAM,GAAG,EAAE;IAEnC,sGAAsG;IACtG,oEAAoE;IACpE,OAAOC,eAAehB,sBAAsB,OAAOgB;AACrD;AAGO,SAASX,6BACdY,IAAuB,EACvBH,gBAAwB,EACxBI,QAAQ,IAAI,EACZC,cAAwB,EAAE;IAE1B,IAAIC;IACJ,IAAIF,OAAO;QACT,kEAAkE;QAClEE,OAAOH,IAAI,CAAC,EAAE,CAACH,iBAAiB;IAClC,OAAO;QACL,oGAAoG;QACpG,MAAMO,iBAAiBJ,IAAI,CAAC,EAAE;QAC9BG,OAAOC,eAAeC,QAAQ,IAAIC,OAAOC,MAAM,CAACH,eAAe,CAAC,EAAE;IACpE;IAEA,IAAI,CAACD,MAAM,OAAOD;IAClB,MAAMX,UAAUY,IAAI,CAAC,EAAE;IAEvB,IAAIK,eAAerB,gBAAgBI;IAEnC,IAAI,CAACiB,gBAAgBA,iBAAiBvB,kBAAkB;QACtD,OAAOiB;IACT;IAEAA,YAAYO,IAAI,CAACD;IAEjB,OAAOpB,6BACLe,MACAN,kBACA,OACAK;AAEJ;AAEO,MAAMjB,mBAAmB;AACzB,MAAMF,sBAAsB;AAC5B,MAAMC,wBAAwB","ignoreList":[0]}}, + {"offset": {"line": 17284, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/dist/compiled/@opentelemetry/api/index.js"],"sourcesContent":["(()=>{\"use strict\";var e={912:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ContextAPI=void 0;const n=r(108);const a=r(221);const o=r(44);const i=\"context\";const c=new n.NoopContextManager;class ContextAPI{constructor(){}static getInstance(){if(!this._instance){this._instance=new ContextAPI}return this._instance}setGlobalContextManager(e){return(0,a.registerGlobal)(i,e,o.DiagAPI.instance())}active(){return this._getContextManager().active()}with(e,t,r,...n){return this._getContextManager().with(e,t,r,...n)}bind(e,t){return this._getContextManager().bind(e,t)}_getContextManager(){return(0,a.getGlobal)(i)||c}disable(){this._getContextManager().disable();(0,a.unregisterGlobal)(i,o.DiagAPI.instance())}}t.ContextAPI=ContextAPI},44:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagAPI=void 0;const n=r(757);const a=r(412);const o=r(711);const i=r(221);const c=\"diag\";class DiagAPI{constructor(){function _logProxy(e){return function(...t){const r=(0,i.getGlobal)(\"diag\");if(!r)return;return r[e](...t)}}const e=this;const setLogger=(t,r={logLevel:o.DiagLogLevel.INFO})=>{var n,c,s;if(t===e){const t=new Error(\"Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation\");e.error((n=t.stack)!==null&&n!==void 0?n:t.message);return false}if(typeof r===\"number\"){r={logLevel:r}}const u=(0,i.getGlobal)(\"diag\");const l=(0,a.createLogLevelDiagLogger)((c=r.logLevel)!==null&&c!==void 0?c:o.DiagLogLevel.INFO,t);if(u&&!r.suppressOverrideMessage){const e=(s=(new Error).stack)!==null&&s!==void 0?s:\"\";u.warn(`Current logger will be overwritten from ${e}`);l.warn(`Current logger will overwrite one already registered from ${e}`)}return(0,i.registerGlobal)(\"diag\",l,e,true)};e.setLogger=setLogger;e.disable=()=>{(0,i.unregisterGlobal)(c,e)};e.createComponentLogger=e=>new n.DiagComponentLogger(e);e.verbose=_logProxy(\"verbose\");e.debug=_logProxy(\"debug\");e.info=_logProxy(\"info\");e.warn=_logProxy(\"warn\");e.error=_logProxy(\"error\")}static instance(){if(!this._instance){this._instance=new DiagAPI}return this._instance}}t.DiagAPI=DiagAPI},262:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.MetricsAPI=void 0;const n=r(586);const a=r(221);const o=r(44);const i=\"metrics\";class MetricsAPI{constructor(){}static getInstance(){if(!this._instance){this._instance=new MetricsAPI}return this._instance}setGlobalMeterProvider(e){return(0,a.registerGlobal)(i,e,o.DiagAPI.instance())}getMeterProvider(){return(0,a.getGlobal)(i)||n.NOOP_METER_PROVIDER}getMeter(e,t,r){return this.getMeterProvider().getMeter(e,t,r)}disable(){(0,a.unregisterGlobal)(i,o.DiagAPI.instance())}}t.MetricsAPI=MetricsAPI},25:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.PropagationAPI=void 0;const n=r(221);const a=r(19);const o=r(92);const i=r(398);const c=r(504);const s=r(44);const u=\"propagation\";const l=new a.NoopTextMapPropagator;class PropagationAPI{constructor(){this.createBaggage=c.createBaggage;this.getBaggage=i.getBaggage;this.getActiveBaggage=i.getActiveBaggage;this.setBaggage=i.setBaggage;this.deleteBaggage=i.deleteBaggage}static getInstance(){if(!this._instance){this._instance=new PropagationAPI}return this._instance}setGlobalPropagator(e){return(0,n.registerGlobal)(u,e,s.DiagAPI.instance())}inject(e,t,r=o.defaultTextMapSetter){return this._getGlobalPropagator().inject(e,t,r)}extract(e,t,r=o.defaultTextMapGetter){return this._getGlobalPropagator().extract(e,t,r)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,n.unregisterGlobal)(u,s.DiagAPI.instance())}_getGlobalPropagator(){return(0,n.getGlobal)(u)||l}}t.PropagationAPI=PropagationAPI},397:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.TraceAPI=void 0;const n=r(221);const a=r(498);const o=r(477);const i=r(793);const c=r(44);const s=\"trace\";class TraceAPI{constructor(){this._proxyTracerProvider=new a.ProxyTracerProvider;this.wrapSpanContext=o.wrapSpanContext;this.isSpanContextValid=o.isSpanContextValid;this.deleteSpan=i.deleteSpan;this.getSpan=i.getSpan;this.getActiveSpan=i.getActiveSpan;this.getSpanContext=i.getSpanContext;this.setSpan=i.setSpan;this.setSpanContext=i.setSpanContext}static getInstance(){if(!this._instance){this._instance=new TraceAPI}return this._instance}setGlobalTracerProvider(e){const t=(0,n.registerGlobal)(s,this._proxyTracerProvider,c.DiagAPI.instance());if(t){this._proxyTracerProvider.setDelegate(e)}return t}getTracerProvider(){return(0,n.getGlobal)(s)||this._proxyTracerProvider}getTracer(e,t){return this.getTracerProvider().getTracer(e,t)}disable(){(0,n.unregisterGlobal)(s,c.DiagAPI.instance());this._proxyTracerProvider=new a.ProxyTracerProvider}}t.TraceAPI=TraceAPI},398:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.deleteBaggage=t.setBaggage=t.getActiveBaggage=t.getBaggage=void 0;const n=r(912);const a=r(23);const o=(0,a.createContextKey)(\"OpenTelemetry Baggage Key\");function getBaggage(e){return e.getValue(o)||undefined}t.getBaggage=getBaggage;function getActiveBaggage(){return getBaggage(n.ContextAPI.getInstance().active())}t.getActiveBaggage=getActiveBaggage;function setBaggage(e,t){return e.setValue(o,t)}t.setBaggage=setBaggage;function deleteBaggage(e){return e.deleteValue(o)}t.deleteBaggage=deleteBaggage},152:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.BaggageImpl=void 0;class BaggageImpl{constructor(e){this._entries=e?new Map(e):new Map}getEntry(e){const t=this._entries.get(e);if(!t){return undefined}return Object.assign({},t)}getAllEntries(){return Array.from(this._entries.entries()).map((([e,t])=>[e,t]))}setEntry(e,t){const r=new BaggageImpl(this._entries);r._entries.set(e,t);return r}removeEntry(e){const t=new BaggageImpl(this._entries);t._entries.delete(e);return t}removeEntries(...e){const t=new BaggageImpl(this._entries);for(const r of e){t._entries.delete(r)}return t}clear(){return new BaggageImpl}}t.BaggageImpl=BaggageImpl},647:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.baggageEntryMetadataSymbol=void 0;t.baggageEntryMetadataSymbol=Symbol(\"BaggageEntryMetadata\")},504:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.baggageEntryMetadataFromString=t.createBaggage=void 0;const n=r(44);const a=r(152);const o=r(647);const i=n.DiagAPI.instance();function createBaggage(e={}){return new a.BaggageImpl(new Map(Object.entries(e)))}t.createBaggage=createBaggage;function baggageEntryMetadataFromString(e){if(typeof e!==\"string\"){i.error(`Cannot create baggage metadata from unknown type: ${typeof e}`);e=\"\"}return{__TYPE__:o.baggageEntryMetadataSymbol,toString(){return e}}}t.baggageEntryMetadataFromString=baggageEntryMetadataFromString},778:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.context=void 0;const n=r(912);t.context=n.ContextAPI.getInstance()},108:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopContextManager=void 0;const n=r(23);class NoopContextManager{active(){return n.ROOT_CONTEXT}with(e,t,r,...n){return t.call(r,...n)}bind(e,t){return t}enable(){return this}disable(){return this}}t.NoopContextManager=NoopContextManager},23:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ROOT_CONTEXT=t.createContextKey=void 0;function createContextKey(e){return Symbol.for(e)}t.createContextKey=createContextKey;class BaseContext{constructor(e){const t=this;t._currentContext=e?new Map(e):new Map;t.getValue=e=>t._currentContext.get(e);t.setValue=(e,r)=>{const n=new BaseContext(t._currentContext);n._currentContext.set(e,r);return n};t.deleteValue=e=>{const r=new BaseContext(t._currentContext);r._currentContext.delete(e);return r}}}t.ROOT_CONTEXT=new BaseContext},304:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.diag=void 0;const n=r(44);t.diag=n.DiagAPI.instance()},757:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagComponentLogger=void 0;const n=r(221);class DiagComponentLogger{constructor(e){this._namespace=e.namespace||\"DiagComponentLogger\"}debug(...e){return logProxy(\"debug\",this._namespace,e)}error(...e){return logProxy(\"error\",this._namespace,e)}info(...e){return logProxy(\"info\",this._namespace,e)}warn(...e){return logProxy(\"warn\",this._namespace,e)}verbose(...e){return logProxy(\"verbose\",this._namespace,e)}}t.DiagComponentLogger=DiagComponentLogger;function logProxy(e,t,r){const a=(0,n.getGlobal)(\"diag\");if(!a){return}r.unshift(t);return a[e](...r)}},83:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagConsoleLogger=void 0;const r=[{n:\"error\",c:\"error\"},{n:\"warn\",c:\"warn\"},{n:\"info\",c:\"info\"},{n:\"debug\",c:\"debug\"},{n:\"verbose\",c:\"trace\"}];class DiagConsoleLogger{constructor(){function _consoleFunc(e){return function(...t){if(console){let r=console[e];if(typeof r!==\"function\"){r=console.log}if(typeof r===\"function\"){return r.apply(console,t)}}}}for(let e=0;e{Object.defineProperty(t,\"__esModule\",{value:true});t.createLogLevelDiagLogger=void 0;const n=r(711);function createLogLevelDiagLogger(e,t){if(en.DiagLogLevel.ALL){e=n.DiagLogLevel.ALL}t=t||{};function _filterFunc(r,n){const a=t[r];if(typeof a===\"function\"&&e>=n){return a.bind(t)}return function(){}}return{error:_filterFunc(\"error\",n.DiagLogLevel.ERROR),warn:_filterFunc(\"warn\",n.DiagLogLevel.WARN),info:_filterFunc(\"info\",n.DiagLogLevel.INFO),debug:_filterFunc(\"debug\",n.DiagLogLevel.DEBUG),verbose:_filterFunc(\"verbose\",n.DiagLogLevel.VERBOSE)}}t.createLogLevelDiagLogger=createLogLevelDiagLogger},711:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagLogLevel=void 0;var r;(function(e){e[e[\"NONE\"]=0]=\"NONE\";e[e[\"ERROR\"]=30]=\"ERROR\";e[e[\"WARN\"]=50]=\"WARN\";e[e[\"INFO\"]=60]=\"INFO\";e[e[\"DEBUG\"]=70]=\"DEBUG\";e[e[\"VERBOSE\"]=80]=\"VERBOSE\";e[e[\"ALL\"]=9999]=\"ALL\"})(r=t.DiagLogLevel||(t.DiagLogLevel={}))},221:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.unregisterGlobal=t.getGlobal=t.registerGlobal=void 0;const n=r(678);const a=r(652);const o=r(662);const i=a.VERSION.split(\".\")[0];const c=Symbol.for(`opentelemetry.js.api.${i}`);const s=n._globalThis;function registerGlobal(e,t,r,n=false){var o;const i=s[c]=(o=s[c])!==null&&o!==void 0?o:{version:a.VERSION};if(!n&&i[e]){const t=new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e}`);r.error(t.stack||t.message);return false}if(i.version!==a.VERSION){const t=new Error(`@opentelemetry/api: Registration of version v${i.version} for ${e} does not match previously registered API v${a.VERSION}`);r.error(t.stack||t.message);return false}i[e]=t;r.debug(`@opentelemetry/api: Registered a global for ${e} v${a.VERSION}.`);return true}t.registerGlobal=registerGlobal;function getGlobal(e){var t,r;const n=(t=s[c])===null||t===void 0?void 0:t.version;if(!n||!(0,o.isCompatible)(n)){return}return(r=s[c])===null||r===void 0?void 0:r[e]}t.getGlobal=getGlobal;function unregisterGlobal(e,t){t.debug(`@opentelemetry/api: Unregistering a global for ${e} v${a.VERSION}.`);const r=s[c];if(r){delete r[e]}}t.unregisterGlobal=unregisterGlobal},662:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.isCompatible=t._makeCompatibilityCheck=void 0;const n=r(652);const a=/^(\\d+)\\.(\\d+)\\.(\\d+)(-(.+))?$/;function _makeCompatibilityCheck(e){const t=new Set([e]);const r=new Set;const n=e.match(a);if(!n){return()=>false}const o={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(o.prerelease!=null){return function isExactmatch(t){return t===e}}function _reject(e){r.add(e);return false}function _accept(e){t.add(e);return true}return function isCompatible(e){if(t.has(e)){return true}if(r.has(e)){return false}const n=e.match(a);if(!n){return _reject(e)}const i={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(i.prerelease!=null){return _reject(e)}if(o.major!==i.major){return _reject(e)}if(o.major===0){if(o.minor===i.minor&&o.patch<=i.patch){return _accept(e)}return _reject(e)}if(o.minor<=i.minor){return _accept(e)}return _reject(e)}}t._makeCompatibilityCheck=_makeCompatibilityCheck;t.isCompatible=_makeCompatibilityCheck(n.VERSION)},120:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.metrics=void 0;const n=r(262);t.metrics=n.MetricsAPI.getInstance()},532:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ValueType=void 0;var r;(function(e){e[e[\"INT\"]=0]=\"INT\";e[e[\"DOUBLE\"]=1]=\"DOUBLE\"})(r=t.ValueType||(t.ValueType={}))},440:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.createNoopMeter=t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=t.NOOP_OBSERVABLE_GAUGE_METRIC=t.NOOP_OBSERVABLE_COUNTER_METRIC=t.NOOP_UP_DOWN_COUNTER_METRIC=t.NOOP_HISTOGRAM_METRIC=t.NOOP_COUNTER_METRIC=t.NOOP_METER=t.NoopObservableUpDownCounterMetric=t.NoopObservableGaugeMetric=t.NoopObservableCounterMetric=t.NoopObservableMetric=t.NoopHistogramMetric=t.NoopUpDownCounterMetric=t.NoopCounterMetric=t.NoopMetric=t.NoopMeter=void 0;class NoopMeter{constructor(){}createHistogram(e,r){return t.NOOP_HISTOGRAM_METRIC}createCounter(e,r){return t.NOOP_COUNTER_METRIC}createUpDownCounter(e,r){return t.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(e,r){return t.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(e,r){return t.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(e,r){return t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(e,t){}removeBatchObservableCallback(e){}}t.NoopMeter=NoopMeter;class NoopMetric{}t.NoopMetric=NoopMetric;class NoopCounterMetric extends NoopMetric{add(e,t){}}t.NoopCounterMetric=NoopCounterMetric;class NoopUpDownCounterMetric extends NoopMetric{add(e,t){}}t.NoopUpDownCounterMetric=NoopUpDownCounterMetric;class NoopHistogramMetric extends NoopMetric{record(e,t){}}t.NoopHistogramMetric=NoopHistogramMetric;class NoopObservableMetric{addCallback(e){}removeCallback(e){}}t.NoopObservableMetric=NoopObservableMetric;class NoopObservableCounterMetric extends NoopObservableMetric{}t.NoopObservableCounterMetric=NoopObservableCounterMetric;class NoopObservableGaugeMetric extends NoopObservableMetric{}t.NoopObservableGaugeMetric=NoopObservableGaugeMetric;class NoopObservableUpDownCounterMetric extends NoopObservableMetric{}t.NoopObservableUpDownCounterMetric=NoopObservableUpDownCounterMetric;t.NOOP_METER=new NoopMeter;t.NOOP_COUNTER_METRIC=new NoopCounterMetric;t.NOOP_HISTOGRAM_METRIC=new NoopHistogramMetric;t.NOOP_UP_DOWN_COUNTER_METRIC=new NoopUpDownCounterMetric;t.NOOP_OBSERVABLE_COUNTER_METRIC=new NoopObservableCounterMetric;t.NOOP_OBSERVABLE_GAUGE_METRIC=new NoopObservableGaugeMetric;t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new NoopObservableUpDownCounterMetric;function createNoopMeter(){return t.NOOP_METER}t.createNoopMeter=createNoopMeter},586:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NOOP_METER_PROVIDER=t.NoopMeterProvider=void 0;const n=r(440);class NoopMeterProvider{getMeter(e,t,r){return n.NOOP_METER}}t.NoopMeterProvider=NoopMeterProvider;t.NOOP_METER_PROVIDER=new NoopMeterProvider},678:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var a=this&&this.__exportStar||function(e,t){for(var r in e)if(r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r))n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:true});a(r(59),t)},460:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t._globalThis=void 0;t._globalThis=typeof globalThis===\"object\"?globalThis:global},59:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var a=this&&this.__exportStar||function(e,t){for(var r in e)if(r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r))n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:true});a(r(460),t)},27:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.propagation=void 0;const n=r(25);t.propagation=n.PropagationAPI.getInstance()},19:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopTextMapPropagator=void 0;class NoopTextMapPropagator{inject(e,t){}extract(e,t){return e}fields(){return[]}}t.NoopTextMapPropagator=NoopTextMapPropagator},92:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.defaultTextMapSetter=t.defaultTextMapGetter=void 0;t.defaultTextMapGetter={get(e,t){if(e==null){return undefined}return e[t]},keys(e){if(e==null){return[]}return Object.keys(e)}};t.defaultTextMapSetter={set(e,t,r){if(e==null){return}e[t]=r}}},816:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.trace=void 0;const n=r(397);t.trace=n.TraceAPI.getInstance()},374:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NonRecordingSpan=void 0;const n=r(546);class NonRecordingSpan{constructor(e=n.INVALID_SPAN_CONTEXT){this._spanContext=e}spanContext(){return this._spanContext}setAttribute(e,t){return this}setAttributes(e){return this}addEvent(e,t){return this}setStatus(e){return this}updateName(e){return this}end(e){}isRecording(){return false}recordException(e,t){}}t.NonRecordingSpan=NonRecordingSpan},637:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopTracer=void 0;const n=r(912);const a=r(793);const o=r(374);const i=r(477);const c=n.ContextAPI.getInstance();class NoopTracer{startSpan(e,t,r=c.active()){const n=Boolean(t===null||t===void 0?void 0:t.root);if(n){return new o.NonRecordingSpan}const s=r&&(0,a.getSpanContext)(r);if(isSpanContext(s)&&(0,i.isSpanContextValid)(s)){return new o.NonRecordingSpan(s)}else{return new o.NonRecordingSpan}}startActiveSpan(e,t,r,n){let o;let i;let s;if(arguments.length<2){return}else if(arguments.length===2){s=t}else if(arguments.length===3){o=t;s=r}else{o=t;i=r;s=n}const u=i!==null&&i!==void 0?i:c.active();const l=this.startSpan(e,o,u);const g=(0,a.setSpan)(u,l);return c.with(g,s,undefined,l)}}t.NoopTracer=NoopTracer;function isSpanContext(e){return typeof e===\"object\"&&typeof e[\"spanId\"]===\"string\"&&typeof e[\"traceId\"]===\"string\"&&typeof e[\"traceFlags\"]===\"number\"}},76:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopTracerProvider=void 0;const n=r(637);class NoopTracerProvider{getTracer(e,t,r){return new n.NoopTracer}}t.NoopTracerProvider=NoopTracerProvider},779:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ProxyTracer=void 0;const n=r(637);const a=new n.NoopTracer;class ProxyTracer{constructor(e,t,r,n){this._provider=e;this.name=t;this.version=r;this.options=n}startSpan(e,t,r){return this._getTracer().startSpan(e,t,r)}startActiveSpan(e,t,r,n){const a=this._getTracer();return Reflect.apply(a.startActiveSpan,a,arguments)}_getTracer(){if(this._delegate){return this._delegate}const e=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!e){return a}this._delegate=e;return this._delegate}}t.ProxyTracer=ProxyTracer},498:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ProxyTracerProvider=void 0;const n=r(779);const a=r(76);const o=new a.NoopTracerProvider;class ProxyTracerProvider{getTracer(e,t,r){var a;return(a=this.getDelegateTracer(e,t,r))!==null&&a!==void 0?a:new n.ProxyTracer(this,e,t,r)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:o}setDelegate(e){this._delegate=e}getDelegateTracer(e,t,r){var n;return(n=this._delegate)===null||n===void 0?void 0:n.getTracer(e,t,r)}}t.ProxyTracerProvider=ProxyTracerProvider},312:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.SamplingDecision=void 0;var r;(function(e){e[e[\"NOT_RECORD\"]=0]=\"NOT_RECORD\";e[e[\"RECORD\"]=1]=\"RECORD\";e[e[\"RECORD_AND_SAMPLED\"]=2]=\"RECORD_AND_SAMPLED\"})(r=t.SamplingDecision||(t.SamplingDecision={}))},793:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.getSpanContext=t.setSpanContext=t.deleteSpan=t.setSpan=t.getActiveSpan=t.getSpan=void 0;const n=r(23);const a=r(374);const o=r(912);const i=(0,n.createContextKey)(\"OpenTelemetry Context Key SPAN\");function getSpan(e){return e.getValue(i)||undefined}t.getSpan=getSpan;function getActiveSpan(){return getSpan(o.ContextAPI.getInstance().active())}t.getActiveSpan=getActiveSpan;function setSpan(e,t){return e.setValue(i,t)}t.setSpan=setSpan;function deleteSpan(e){return e.deleteValue(i)}t.deleteSpan=deleteSpan;function setSpanContext(e,t){return setSpan(e,new a.NonRecordingSpan(t))}t.setSpanContext=setSpanContext;function getSpanContext(e){var t;return(t=getSpan(e))===null||t===void 0?void 0:t.spanContext()}t.getSpanContext=getSpanContext},285:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.TraceStateImpl=void 0;const n=r(240);const a=32;const o=512;const i=\",\";const c=\"=\";class TraceStateImpl{constructor(e){this._internalState=new Map;if(e)this._parse(e)}set(e,t){const r=this._clone();if(r._internalState.has(e)){r._internalState.delete(e)}r._internalState.set(e,t);return r}unset(e){const t=this._clone();t._internalState.delete(e);return t}get(e){return this._internalState.get(e)}serialize(){return this._keys().reduce(((e,t)=>{e.push(t+c+this.get(t));return e}),[]).join(i)}_parse(e){if(e.length>o)return;this._internalState=e.split(i).reverse().reduce(((e,t)=>{const r=t.trim();const a=r.indexOf(c);if(a!==-1){const o=r.slice(0,a);const i=r.slice(a+1,t.length);if((0,n.validateKey)(o)&&(0,n.validateValue)(i)){e.set(o,i)}else{}}return e}),new Map);if(this._internalState.size>a){this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,a))}}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){const e=new TraceStateImpl;e._internalState=new Map(this._internalState);return e}}t.TraceStateImpl=TraceStateImpl},240:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.validateValue=t.validateKey=void 0;const r=\"[_0-9a-z-*/]\";const n=`[a-z]${r}{0,255}`;const a=`[a-z0-9]${r}{0,240}@[a-z]${r}{0,13}`;const o=new RegExp(`^(?:${n}|${a})$`);const i=/^[ -~]{0,255}[!-~]$/;const c=/,|=/;function validateKey(e){return o.test(e)}t.validateKey=validateKey;function validateValue(e){return i.test(e)&&!c.test(e)}t.validateValue=validateValue},87:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.createTraceState=void 0;const n=r(285);function createTraceState(e){return new n.TraceStateImpl(e)}t.createTraceState=createTraceState},546:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.INVALID_SPAN_CONTEXT=t.INVALID_TRACEID=t.INVALID_SPANID=void 0;const n=r(731);t.INVALID_SPANID=\"0000000000000000\";t.INVALID_TRACEID=\"00000000000000000000000000000000\";t.INVALID_SPAN_CONTEXT={traceId:t.INVALID_TRACEID,spanId:t.INVALID_SPANID,traceFlags:n.TraceFlags.NONE}},613:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.SpanKind=void 0;var r;(function(e){e[e[\"INTERNAL\"]=0]=\"INTERNAL\";e[e[\"SERVER\"]=1]=\"SERVER\";e[e[\"CLIENT\"]=2]=\"CLIENT\";e[e[\"PRODUCER\"]=3]=\"PRODUCER\";e[e[\"CONSUMER\"]=4]=\"CONSUMER\"})(r=t.SpanKind||(t.SpanKind={}))},477:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.wrapSpanContext=t.isSpanContextValid=t.isValidSpanId=t.isValidTraceId=void 0;const n=r(546);const a=r(374);const o=/^([0-9a-f]{32})$/i;const i=/^[0-9a-f]{16}$/i;function isValidTraceId(e){return o.test(e)&&e!==n.INVALID_TRACEID}t.isValidTraceId=isValidTraceId;function isValidSpanId(e){return i.test(e)&&e!==n.INVALID_SPANID}t.isValidSpanId=isValidSpanId;function isSpanContextValid(e){return isValidTraceId(e.traceId)&&isValidSpanId(e.spanId)}t.isSpanContextValid=isSpanContextValid;function wrapSpanContext(e){return new a.NonRecordingSpan(e)}t.wrapSpanContext=wrapSpanContext},854:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.SpanStatusCode=void 0;var r;(function(e){e[e[\"UNSET\"]=0]=\"UNSET\";e[e[\"OK\"]=1]=\"OK\";e[e[\"ERROR\"]=2]=\"ERROR\"})(r=t.SpanStatusCode||(t.SpanStatusCode={}))},731:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.TraceFlags=void 0;var r;(function(e){e[e[\"NONE\"]=0]=\"NONE\";e[e[\"SAMPLED\"]=1]=\"SAMPLED\"})(r=t.TraceFlags||(t.TraceFlags={}))},652:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.VERSION=void 0;t.VERSION=\"1.6.0\"}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var a=t[r]={exports:{}};var o=true;try{e[r].call(a.exports,a,a.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return a.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r={};(()=>{var e=r;Object.defineProperty(e,\"__esModule\",{value:true});e.trace=e.propagation=e.metrics=e.diag=e.context=e.INVALID_SPAN_CONTEXT=e.INVALID_TRACEID=e.INVALID_SPANID=e.isValidSpanId=e.isValidTraceId=e.isSpanContextValid=e.createTraceState=e.TraceFlags=e.SpanStatusCode=e.SpanKind=e.SamplingDecision=e.ProxyTracerProvider=e.ProxyTracer=e.defaultTextMapSetter=e.defaultTextMapGetter=e.ValueType=e.createNoopMeter=e.DiagLogLevel=e.DiagConsoleLogger=e.ROOT_CONTEXT=e.createContextKey=e.baggageEntryMetadataFromString=void 0;var t=__nccwpck_require__(504);Object.defineProperty(e,\"baggageEntryMetadataFromString\",{enumerable:true,get:function(){return t.baggageEntryMetadataFromString}});var n=__nccwpck_require__(23);Object.defineProperty(e,\"createContextKey\",{enumerable:true,get:function(){return n.createContextKey}});Object.defineProperty(e,\"ROOT_CONTEXT\",{enumerable:true,get:function(){return n.ROOT_CONTEXT}});var a=__nccwpck_require__(83);Object.defineProperty(e,\"DiagConsoleLogger\",{enumerable:true,get:function(){return a.DiagConsoleLogger}});var o=__nccwpck_require__(711);Object.defineProperty(e,\"DiagLogLevel\",{enumerable:true,get:function(){return o.DiagLogLevel}});var i=__nccwpck_require__(440);Object.defineProperty(e,\"createNoopMeter\",{enumerable:true,get:function(){return i.createNoopMeter}});var c=__nccwpck_require__(532);Object.defineProperty(e,\"ValueType\",{enumerable:true,get:function(){return c.ValueType}});var s=__nccwpck_require__(92);Object.defineProperty(e,\"defaultTextMapGetter\",{enumerable:true,get:function(){return s.defaultTextMapGetter}});Object.defineProperty(e,\"defaultTextMapSetter\",{enumerable:true,get:function(){return s.defaultTextMapSetter}});var u=__nccwpck_require__(779);Object.defineProperty(e,\"ProxyTracer\",{enumerable:true,get:function(){return u.ProxyTracer}});var l=__nccwpck_require__(498);Object.defineProperty(e,\"ProxyTracerProvider\",{enumerable:true,get:function(){return l.ProxyTracerProvider}});var g=__nccwpck_require__(312);Object.defineProperty(e,\"SamplingDecision\",{enumerable:true,get:function(){return g.SamplingDecision}});var p=__nccwpck_require__(613);Object.defineProperty(e,\"SpanKind\",{enumerable:true,get:function(){return p.SpanKind}});var d=__nccwpck_require__(854);Object.defineProperty(e,\"SpanStatusCode\",{enumerable:true,get:function(){return d.SpanStatusCode}});var _=__nccwpck_require__(731);Object.defineProperty(e,\"TraceFlags\",{enumerable:true,get:function(){return _.TraceFlags}});var f=__nccwpck_require__(87);Object.defineProperty(e,\"createTraceState\",{enumerable:true,get:function(){return f.createTraceState}});var b=__nccwpck_require__(477);Object.defineProperty(e,\"isSpanContextValid\",{enumerable:true,get:function(){return b.isSpanContextValid}});Object.defineProperty(e,\"isValidTraceId\",{enumerable:true,get:function(){return b.isValidTraceId}});Object.defineProperty(e,\"isValidSpanId\",{enumerable:true,get:function(){return b.isValidSpanId}});var v=__nccwpck_require__(546);Object.defineProperty(e,\"INVALID_SPANID\",{enumerable:true,get:function(){return v.INVALID_SPANID}});Object.defineProperty(e,\"INVALID_TRACEID\",{enumerable:true,get:function(){return v.INVALID_TRACEID}});Object.defineProperty(e,\"INVALID_SPAN_CONTEXT\",{enumerable:true,get:function(){return v.INVALID_SPAN_CONTEXT}});const O=__nccwpck_require__(778);Object.defineProperty(e,\"context\",{enumerable:true,get:function(){return O.context}});const P=__nccwpck_require__(304);Object.defineProperty(e,\"diag\",{enumerable:true,get:function(){return P.diag}});const N=__nccwpck_require__(120);Object.defineProperty(e,\"metrics\",{enumerable:true,get:function(){return N.metrics}});const S=__nccwpck_require__(27);Object.defineProperty(e,\"propagation\",{enumerable:true,get:function(){return S.propagation}});const C=__nccwpck_require__(816);Object.defineProperty(e,\"trace\",{enumerable:true,get:function(){return C.trace}});e[\"default\"]={context:O.context,diag:P.diag,metrics:N.metrics,propagation:S.propagation,trace:C.trace}})();module.exports=r})();"],"names":["e","t","r","Object","defineProperty","value","ContextAPI","n","a","o","i","c","NoopContextManager","getInstance","_instance","setGlobalContextManager","registerGlobal","DiagAPI","instance","active","_getContextManager","with","bind","getGlobal","disable","unregisterGlobal","_logProxy","setLogger","logLevel","DiagLogLevel","INFO","s","Error","error","stack","message","u","l","createLogLevelDiagLogger","suppressOverrideMessage","warn","createComponentLogger","DiagComponentLogger","verbose","debug","info","MetricsAPI","setGlobalMeterProvider","getMeterProvider","NOOP_METER_PROVIDER","getMeter","PropagationAPI","NoopTextMapPropagator","createBaggage","getBaggage","getActiveBaggage","setBaggage","deleteBaggage","setGlobalPropagator","inject","defaultTextMapSetter","_getGlobalPropagator","extract","defaultTextMapGetter","fields","TraceAPI","_proxyTracerProvider","ProxyTracerProvider","wrapSpanContext","isSpanContextValid","deleteSpan","getSpan","getActiveSpan","getSpanContext","setSpan","setSpanContext","setGlobalTracerProvider","setDelegate","getTracerProvider","getTracer","createContextKey","getValue","undefined","setValue","deleteValue","BaggageImpl","_entries","Map","getEntry","get","assign","getAllEntries","Array","from","entries","map","setEntry","set","removeEntry","delete","removeEntries","clear","baggageEntryMetadataSymbol","Symbol","baggageEntryMetadataFromString","__TYPE__","toString","context","ROOT_CONTEXT","call","enable","for","BaseContext","_currentContext","diag","_namespace","namespace","logProxy","unshift","DiagConsoleLogger","_consoleFunc","console","log","apply","length","NONE","ALL","_filterFunc","ERROR","WARN","DEBUG","VERBOSE","VERSION","split","_globalThis","version","isCompatible","_makeCompatibilityCheck","Set","match","major","minor","patch","prerelease","isExactmatch","_reject","add","_accept","has","metrics","ValueType","createNoopMeter","NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC","NOOP_OBSERVABLE_GAUGE_METRIC","NOOP_OBSERVABLE_COUNTER_METRIC","NOOP_UP_DOWN_COUNTER_METRIC","NOOP_HISTOGRAM_METRIC","NOOP_COUNTER_METRIC","NOOP_METER","NoopObservableUpDownCounterMetric","NoopObservableGaugeMetric","NoopObservableCounterMetric","NoopObservableMetric","NoopHistogramMetric","NoopUpDownCounterMetric","NoopCounterMetric","NoopMetric","NoopMeter","createHistogram","createCounter","createUpDownCounter","createObservableGauge","createObservableCounter","createObservableUpDownCounter","addBatchObservableCallback","removeBatchObservableCallback","record","addCallback","removeCallback","NoopMeterProvider","__createBinding","create","enumerable","__exportStar","prototype","hasOwnProperty","globalThis","propagation","keys","trace","NonRecordingSpan","INVALID_SPAN_CONTEXT","_spanContext","spanContext","setAttribute","setAttributes","addEvent","setStatus","updateName","end","isRecording","recordException","NoopTracer","startSpan","Boolean","root","isSpanContext","startActiveSpan","arguments","g","NoopTracerProvider","ProxyTracer","_provider","name","options","_getTracer","Reflect","_delegate","getDelegateTracer","getDelegate","SamplingDecision","TraceStateImpl","_internalState","_parse","_clone","unset","serialize","_keys","reduce","push","join","reverse","trim","indexOf","slice","validateKey","validateValue","size","RegExp","test","createTraceState","INVALID_TRACEID","INVALID_SPANID","traceId","spanId","traceFlags","TraceFlags","SpanKind","isValidSpanId","isValidTraceId","SpanStatusCode","__nccwpck_require__","exports","ab","p","d","_","f","b","v","O","P","N","S","C","module"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 18769, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/dist/compiled/cookie/index.js"],"sourcesContent":["(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;\n/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */r.parse=parse;r.serialize=serialize;var i=decodeURIComponent;var t=encodeURIComponent;var a=/; */;var n=/^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;function parse(e,r){if(typeof e!==\"string\"){throw new TypeError(\"argument str must be a string\")}var t={};var n=r||{};var o=e.split(a);var s=n.decode||i;for(var p=0;p{\"use strict\";var e={234:e=>{var t=Object.prototype.hasOwnProperty,n=\"~\";function Events(){}if(Object.create){Events.prototype=Object.create(null);if(!(new Events).__proto__)n=false}function EE(e,t,n){this.fn=e;this.context=t;this.once=n||false}function addListener(e,t,r,i,s){if(typeof r!==\"function\"){throw new TypeError(\"The listener must be a function\")}var o=new EE(r,i||e,s),u=n?n+t:t;if(!e._events[u])e._events[u]=o,e._eventsCount++;else if(!e._events[u].fn)e._events[u].push(o);else e._events[u]=[e._events[u],o];return e}function clearEvent(e,t){if(--e._eventsCount===0)e._events=new Events;else delete e._events[t]}function EventEmitter(){this._events=new Events;this._eventsCount=0}EventEmitter.prototype.eventNames=function eventNames(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events){if(t.call(r,i))e.push(n?i.slice(1):i)}if(Object.getOwnPropertySymbols){return e.concat(Object.getOwnPropertySymbols(r))}return e};EventEmitter.prototype.listeners=function listeners(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,s=r.length,o=new Array(s);i{e.exports=(e,t)=>{t=t||(()=>{});return e.then((e=>new Promise((e=>{e(t())})).then((()=>e))),(e=>new Promise((e=>{e(t())})).then((()=>{throw e}))))}},294:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});function lowerBound(e,t,n){let r=0;let i=e.length;while(i>0){const s=i/2|0;let o=r+s;if(n(e[o],t)<=0){r=++o;i-=s+1}else{i=s}}return r}t[\"default\"]=lowerBound},838:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:true});const r=n(294);class PriorityQueue{constructor(){this._queue=[]}enqueue(e,t){t=Object.assign({priority:0},t);const n={priority:t.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=t.priority){this._queue.push(n);return}const i=r.default(this._queue,n,((e,t)=>t.priority-e.priority));this._queue.splice(i,0,n)}dequeue(){const e=this._queue.shift();return e===null||e===void 0?void 0:e.run}filter(e){return this._queue.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this._queue.length}}t[\"default\"]=PriorityQueue},138:(e,t,n)=>{const r=n(274);class TimeoutError extends Error{constructor(e){super(e);this.name=\"TimeoutError\"}}const pTimeout=(e,t,n)=>new Promise(((i,s)=>{if(typeof t!==\"number\"||t<0){throw new TypeError(\"Expected `milliseconds` to be a positive number\")}if(t===Infinity){i(e);return}const o=setTimeout((()=>{if(typeof n===\"function\"){try{i(n())}catch(e){s(e)}return}const r=typeof n===\"string\"?n:`Promise timed out after ${t} milliseconds`;const o=n instanceof Error?n:new TimeoutError(r);if(typeof e.cancel===\"function\"){e.cancel()}s(o)}),t);r(e.then(i,s),(()=>{clearTimeout(o)}))}));e.exports=pTimeout;e.exports[\"default\"]=pTimeout;e.exports.TimeoutError=TimeoutError}};var t={};function __nccwpck_require__(n){var r=t[n];if(r!==undefined){return r.exports}var i=t[n]={exports:{}};var s=true;try{e[n](i,i.exports,__nccwpck_require__);s=false}finally{if(s)delete t[n]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n={};(()=>{var e=n;Object.defineProperty(e,\"__esModule\",{value:true});const t=__nccwpck_require__(234);const r=__nccwpck_require__(138);const i=__nccwpck_require__(838);const empty=()=>{};const s=new r.TimeoutError;class PQueue extends t{constructor(e){var t,n,r,s;super();this._intervalCount=0;this._intervalEnd=0;this._pendingCount=0;this._resolveEmpty=empty;this._resolveIdle=empty;e=Object.assign({carryoverConcurrencyCount:false,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:true,queueClass:i.default},e);if(!(typeof e.intervalCap===\"number\"&&e.intervalCap>=1)){throw new TypeError(`Expected \\`intervalCap\\` to be a number from 1 and up, got \\`${(n=(t=e.intervalCap)===null||t===void 0?void 0:t.toString())!==null&&n!==void 0?n:\"\"}\\` (${typeof e.intervalCap})`)}if(e.interval===undefined||!(Number.isFinite(e.interval)&&e.interval>=0)){throw new TypeError(`Expected \\`interval\\` to be a finite number >= 0, got \\`${(s=(r=e.interval)===null||r===void 0?void 0:r.toString())!==null&&s!==void 0?s:\"\"}\\` (${typeof e.interval})`)}this._carryoverConcurrencyCount=e.carryoverConcurrencyCount;this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0;this._intervalCap=e.intervalCap;this._interval=e.interval;this._queue=new e.queueClass;this._queueClass=e.queueClass;this.concurrency=e.concurrency;this._timeout=e.timeout;this._throwOnTimeout=e.throwOnTimeout===true;this._isPaused=e.autoStart===false}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()}),t)}return true}}return false}_tryToStartAnother(){if(this._queue.size===0){if(this._intervalId){clearInterval(this._intervalId)}this._intervalId=undefined;this._resolvePromises();return false}if(!this._isPaused){const e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){const t=this._queue.dequeue();if(!t){return false}this.emit(\"active\");t();if(e){this._initializeIntervalIfNeeded()}return true}}return false}_initializeIntervalIfNeeded(){if(this._isIntervalIgnored||this._intervalId!==undefined){return}this._intervalId=setInterval((()=>{this._onInterval()}),this._interval);this._intervalEnd=Date.now()+this._interval}_onInterval(){if(this._intervalCount===0&&this._pendingCount===0&&this._intervalId){clearInterval(this._intervalId);this._intervalId=undefined}this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;this._processQueue()}_processQueue(){while(this._tryToStartAnother()){}}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e===\"number\"&&e>=1)){throw new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${e}\\` (${typeof e})`)}this._concurrency=e;this._processQueue()}async add(e,t={}){return new Promise(((n,i)=>{const run=async()=>{this._pendingCount++;this._intervalCount++;try{const o=this._timeout===undefined&&t.timeout===undefined?e():r.default(Promise.resolve(e()),t.timeout===undefined?this._timeout:t.timeout,(()=>{if(t.throwOnTimeout===undefined?this._throwOnTimeout:t.throwOnTimeout){i(s)}return undefined}));n(await o)}catch(e){i(e)}this._next()};this._queue.enqueue(run,t);this._tryToStartAnother();this.emit(\"add\")}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){if(!this._isPaused){return this}this._isPaused=false;this._processQueue();return this}pause(){this._isPaused=true}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size===0){return}return new Promise((e=>{const t=this._resolveEmpty;this._resolveEmpty=()=>{t();e()}}))}async onIdle(){if(this._pendingCount===0&&this._queue.size===0){return}return new Promise((e=>{const t=this._resolveIdle;this._resolveIdle=()=>{t();e()}}))}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}}e[\"default\"]=PQueue})();module.exports=n})();"],"names":["e","t","Object","prototype","hasOwnProperty","n","Events","create","__proto__","EE","fn","context","once","addListener","r","i","s","TypeError","o","u","_events","_eventsCount","push","clearEvent","EventEmitter","eventNames","call","slice","getOwnPropertySymbols","concat","listeners","length","Array","listenerCount","emit","a","l","arguments","c","h","removeListener","undefined","apply","_","f","on","removeAllListeners","off","prefixed","exports","then","Promise","defineProperty","value","lowerBound","PriorityQueue","_queue","enqueue","assign","priority","run","size","default","splice","dequeue","shift","filter","map","TimeoutError","Error","name","pTimeout","Infinity","setTimeout","cancel","clearTimeout","__nccwpck_require__","ab","empty","PQueue","_intervalCount","_intervalEnd","_pendingCount","_resolveEmpty","_resolveIdle","carryoverConcurrencyCount","intervalCap","interval","concurrency","autoStart","queueClass","toString","Number","isFinite","_carryoverConcurrencyCount","_isIntervalIgnored","_intervalCap","_interval","_queueClass","_timeout","timeout","_throwOnTimeout","throwOnTimeout","_isPaused","_doesIntervalAllowAnother","_doesConcurrentAllowAnother","_concurrency","_next","_tryToStartAnother","_resolvePromises","_onResumeInterval","_onInterval","_initializeIntervalIfNeeded","_timeoutId","_isIntervalPaused","Date","now","_intervalId","clearInterval","setInterval","_processQueue","add","resolve","addAll","all","start","pause","clear","onEmpty","onIdle","sizeBy","pending","isPaused","module"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 19416, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/dist/compiled/path-to-regexp/index.js"],"sourcesContent":["(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var n=e;Object.defineProperty(n,\"__esModule\",{value:true});n.pathToRegexp=n.tokensToRegexp=n.regexpToFunction=n.match=n.tokensToFunction=n.compile=n.parse=void 0;function lexer(e){var n=[];var r=0;while(r=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122||o===95){a+=e[i++];continue}break}if(!a)throw new TypeError(\"Missing parameter name at \".concat(r));n.push({type:\"NAME\",index:r,value:a});r=i;continue}if(t===\"(\"){var c=1;var f=\"\";var i=r+1;if(e[i]===\"?\"){throw new TypeError('Pattern cannot start with \"?\" at '.concat(i))}while(i-1)return true}return false};var safePattern=function(e){var n=c[c.length-1];var r=e||(n&&typeof n===\"string\"?n:\"\");if(n&&!r){throw new TypeError('Must have text between two parameters, missing text after \"'.concat(n.name,'\"'))}if(!r||isSafe(r))return\"[^\".concat(escapeString(o),\"]+?\");return\"(?:(?!\".concat(escapeString(r),\")[^\").concat(escapeString(o),\"])+?\")};while(u)?(?!\\?)/g;var t=0;var a=r.exec(e.source);while(a){n.push({name:a[1]||t++,prefix:\"\",suffix:\"\",modifier:\"\",pattern:\"\"});a=r.exec(e.source)}return e}function arrayToRegexp(e,n,r){var t=e.map((function(e){return pathToRegexp(e,n,r).source}));return new RegExp(\"(?:\".concat(t.join(\"|\"),\")\"),flags(r))}function stringToRegexp(e,n,r){return tokensToRegexp(parse(e,r),n,r)}function tokensToRegexp(e,n,r){if(r===void 0){r={}}var t=r.strict,a=t===void 0?false:t,i=r.start,o=i===void 0?true:i,c=r.end,f=c===void 0?true:c,u=r.encode,p=u===void 0?function(e){return e}:u,v=r.delimiter,s=v===void 0?\"/#?\":v,d=r.endsWith,g=d===void 0?\"\":d;var x=\"[\".concat(escapeString(g),\"]|$\");var h=\"[\".concat(escapeString(s),\"]\");var l=o?\"^\":\"\";for(var m=0,T=e;m-1:A===undefined;if(!a){l+=\"(?:\".concat(h,\"(?=\").concat(x,\"))?\")}if(!_){l+=\"(?=\".concat(h,\"|\").concat(x,\")\")}}return new RegExp(l,flags(r))}n.tokensToRegexp=tokensToRegexp;function pathToRegexp(e,n,r){if(e instanceof RegExp)return regexpToRegexp(e,n);if(Array.isArray(e))return arrayToRegexp(e,n,r);return stringToRegexp(e,n,r)}n.pathToRegexp=pathToRegexp})();module.exports=e})();"],"names":["__nccwpck_require__","ab","e","n","Object","defineProperty","value","pathToRegexp","tokensToRegexp","regexpToFunction","match","tokensToFunction","compile","parse","lexer","r","length","t","push","type","index","a","i","o","charCodeAt","TypeError","concat","c","f","prefixes","delimiter","u","p","tryConsume","mustConsume","undefined","consumeText","isSafe","indexOf","safePattern","name","escapeString","v","s","d","g","prefix","suffix","pattern","modifier","x","h","l","m","T","flags","encode","validate","map","RegExp","Array","isArray","test","String","decode","exec","create","_loop_1","split","path","params","replace","sensitive","regexpToRegexp","source","arrayToRegexp","join","stringToRegexp","strict","start","end","endsWith","E","w","y","R","A","_","module","exports"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 19826, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/dist/compiled/ua-parser-js/ua-parser.js"],"sourcesContent":["(()=>{var i={943:function(i,e){(function(o,a){\"use strict\";var r=\"1.0.35\",t=\"\",n=\"?\",s=\"function\",b=\"undefined\",w=\"object\",l=\"string\",d=\"major\",c=\"model\",u=\"name\",p=\"type\",m=\"vendor\",f=\"version\",h=\"architecture\",v=\"console\",g=\"mobile\",k=\"tablet\",x=\"smarttv\",_=\"wearable\",y=\"embedded\",q=350;var T=\"Amazon\",S=\"Apple\",z=\"ASUS\",N=\"BlackBerry\",A=\"Browser\",C=\"Chrome\",E=\"Edge\",O=\"Firefox\",U=\"Google\",j=\"Huawei\",P=\"LG\",R=\"Microsoft\",M=\"Motorola\",B=\"Opera\",V=\"Samsung\",D=\"Sharp\",I=\"Sony\",W=\"Viera\",F=\"Xiaomi\",G=\"Zebra\",H=\"Facebook\",L=\"Chromium OS\",Z=\"Mac OS\";var extend=function(i,e){var o={};for(var a in i){if(e[a]&&e[a].length%2===0){o[a]=e[a].concat(i[a])}else{o[a]=i[a]}}return o},enumerize=function(i){var e={};for(var o=0;o0){if(b.length===2){if(typeof b[1]==s){this[b[0]]=b[1].call(this,d)}else{this[b[0]]=b[1]}}else if(b.length===3){if(typeof b[1]===s&&!(b[1].exec&&b[1].test)){this[b[0]]=d?b[1].call(this,d,b[2]):a}else{this[b[0]]=d?d.replace(b[1],b[2]):a}}else if(b.length===4){this[b[0]]=d?b[3].call(this,d.replace(b[1],b[2])):a}}else{this[b]=d?d:a}}}}o+=2}},strMapper=function(i,e){for(var o in e){if(typeof e[o]===w&&e[o].length>0){for(var r=0;r2){i[c]=\"iPad\";i[p]=k}return i};this.getEngine=function(){var i={};i[u]=a;i[f]=a;rgxMapper.call(i,n,x.engine);return i};this.getOS=function(){var i={};i[u]=a;i[f]=a;rgxMapper.call(i,n,x.os);if(_&&!i[u]&&v&&v.platform!=\"Unknown\"){i[u]=v.platform.replace(/chrome os/i,L).replace(/macos/i,Z)}return i};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return n};this.setUA=function(i){n=typeof i===l&&i.length>q?trim(i,q):i;return this};this.setUA(n);return this};UAParser.VERSION=r;UAParser.BROWSER=enumerize([u,f,d]);UAParser.CPU=enumerize([h]);UAParser.DEVICE=enumerize([c,m,p,v,g,x,k,_,y]);UAParser.ENGINE=UAParser.OS=enumerize([u,f]);if(typeof e!==b){if(\"object\"!==b&&i.exports){e=i.exports=UAParser}e.UAParser=UAParser}else{if(typeof define===s&&define.amd){define((function(){return UAParser}))}else if(typeof o!==b){o.UAParser=UAParser}}var Q=typeof o!==b&&(o.jQuery||o.Zepto);if(Q&&!Q.ua){var Y=new UAParser;Q.ua=Y.getResult();Q.ua.get=function(){return Y.getUA()};Q.ua.set=function(i){Y.setUA(i);var e=Y.getResult();for(var o in e){Q.ua[o]=e[o]}}}})(typeof window===\"object\"?window:this)}};var e={};function __nccwpck_require__(o){var a=e[o];if(a!==undefined){return a.exports}var r=e[o]={exports:{}};var t=true;try{i[o].call(r.exports,r,r.exports,__nccwpck_require__);t=false}finally{if(t)delete e[o]}return r.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var o=__nccwpck_require__(943);module.exports=o})();"],"names":["i","e","o","a","r","t","n","s","b","w","l","d","c","u","p","m","f","h","v","g","k","x","_","y","q","T","S","z","N","A","C","E","O","U","j","P","R","M","B","V","D","I","W","F","G","H","L","Z","extend","length","concat","enumerize","toUpperCase","has","lowerize","indexOf","toLowerCase","majorize","replace","split","trim","substring","rgxMapper","exec","call","test","strMapper","$","X","ME","XP","Vista","RT","K","browser","cpu","device","engine","os","UAParser","getResult","navigator","userAgent","userAgentData","getBrowser","brave","isBrave","getCPU","getDevice","mobile","standalone","maxTouchPoints","getEngine","getOS","platform","ua","getUA","setUA","VERSION","BROWSER","CPU","DEVICE","ENGINE","OS","exports","define","amd","Q","jQuery","Zepto","Y","get","set","__nccwpck_require__","undefined","ab","module"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 22147, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/isomorphic/path.js"],"sourcesContent":["/**\n * This module is for next.js server internal usage of path module.\n * It will use native path module for nodejs runtime.\n * It will use path-browserify polyfill for edge runtime.\n */\nlet path\n\nif (process.env.NEXT_RUNTIME === 'edge') {\n path = require('next/dist/compiled/path-browserify')\n} else {\n path = require('path')\n}\n\nmodule.exports = path\n"],"names":["path","process","env","NEXT_RUNTIME","require","module","exports"],"mappings":"AAAA;;;;CAIC,GACD,IAAIA;AAEJ,IAAIC,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;KAElC;IACLH,OAAOI,QAAQ;AACjB;AAEAC,OAAOC,OAAO,GAAGN","ignoreList":[0]}}, + {"offset": {"line": 22161, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/server.js"],"sourcesContent":["const serverExports = {\n NextRequest: require('next/dist/server/web/spec-extension/request')\n .NextRequest,\n NextResponse: require('next/dist/server/web/spec-extension/response')\n .NextResponse,\n ImageResponse: require('next/dist/server/web/spec-extension/image-response')\n .ImageResponse,\n userAgentFromString: require('next/dist/server/web/spec-extension/user-agent')\n .userAgentFromString,\n userAgent: require('next/dist/server/web/spec-extension/user-agent')\n .userAgent,\n URLPattern: require('next/dist/server/web/spec-extension/url-pattern')\n .URLPattern,\n after: require('next/dist/server/after').after,\n connection: require('next/dist/server/request/connection').connection,\n}\n\n// https://nodejs.org/api/esm.html#commonjs-namespaces\n// When importing CommonJS modules, the module.exports object is provided as the default export\nmodule.exports = serverExports\n\n// make import { xxx } from 'next/server' work\nexports.NextRequest = serverExports.NextRequest\nexports.NextResponse = serverExports.NextResponse\nexports.ImageResponse = serverExports.ImageResponse\nexports.userAgentFromString = serverExports.userAgentFromString\nexports.userAgent = serverExports.userAgent\nexports.URLPattern = serverExports.URLPattern\nexports.after = serverExports.after\nexports.connection = serverExports.connection\n"],"names":["serverExports","NextRequest","NextResponse","ImageResponse","userAgentFromString","userAgent","URLPattern","after","connection","module","exports"],"mappings":"AAAA,MAAMA,gBAAgB;IACpBC,aAAa,2HACVA,WAAW;IACdC,cAAc,4HACXA,YAAY;IACfC,eAAe,kIACZA,aAAa;IAChBC,qBAAqB,8HAClBA,mBAAmB;IACtBC,WAAW,8HACRA,SAAS;IACZC,YAAY,+HACTA,UAAU;IACbC,OAAO,4GAAkCA,KAAK;IAC9CC,YAAY,mHAA+CA,UAAU;AACvE;AAEA,sDAAsD;AACtD,+FAA+F;AAC/FC,OAAOC,OAAO,GAAGV;AAEjB,8CAA8C;AAC9CU,QAAQT,WAAW,GAAGD,cAAcC,WAAW;AAC/CS,QAAQR,YAAY,GAAGF,cAAcE,YAAY;AACjDQ,QAAQP,aAAa,GAAGH,cAAcG,aAAa;AACnDO,QAAQN,mBAAmB,GAAGJ,cAAcI,mBAAmB;AAC/DM,QAAQL,SAAS,GAAGL,cAAcK,SAAS;AAC3CK,QAAQJ,UAAU,GAAGN,cAAcM,UAAU;AAC7CI,QAAQH,KAAK,GAAGP,cAAcO,KAAK;AACnCG,QAAQF,UAAU,GAAGR,cAAcQ,UAAU","ignoreList":[0]}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[externals]__10y2j2aka8e1v._.js b/e-commerce/.next/dev/server/chunks/ssr/[externals]__10y2j2aka8e1v._.js new file mode 100644 index 0000000000000000000000000000000000000000..46a3c642abe6cb3b5524f21222f1aee47c08ed1f --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[externals]__10y2j2aka8e1v._.js @@ -0,0 +1,20 @@ +module.exports = [ +"[externals]/crypto [external] (crypto, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("crypto", () => require("crypto")); + +module.exports = mod; +}), +"[externals]/next/dist/shared/lib/no-fallback-error.external.js [external] (next/dist/shared/lib/no-fallback-error.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/shared/lib/no-fallback-error.external.js", () => require("next/dist/shared/lib/no-fallback-error.external.js")); + +module.exports = mod; +}), +"[externals]/node:stream [external] (node:stream, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("node:stream", () => require("node:stream")); + +module.exports = mod; +}), +]; \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[externals]__10y2j2aka8e1v._.js.map b/e-commerce/.next/dev/server/chunks/ssr/[externals]__10y2j2aka8e1v._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[externals]__10y2j2aka8e1v._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[externals]__1cacbhfx2nbuk._.js b/e-commerce/.next/dev/server/chunks/ssr/[externals]__1cacbhfx2nbuk._.js new file mode 100644 index 0000000000000000000000000000000000000000..9f13f24b6e1e3b371d98b501d148bd1674e40f12 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[externals]__1cacbhfx2nbuk._.js @@ -0,0 +1,92 @@ +module.exports = [ +"[externals]/crypto [external] (crypto, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("crypto", () => require("crypto")); + +module.exports = mod; +}), +"[externals]/module [external] (module, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("module", () => require("module")); + +module.exports = mod; +}), +"[externals]/next/dist/compiled/@opentelemetry/api [external] (next/dist/compiled/@opentelemetry/api, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/compiled/@opentelemetry/api", () => require("next/dist/compiled/@opentelemetry/api")); + +module.exports = mod; +}), +"[externals]/next/dist/compiled/next-server/app-page-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/app-page-turbo.runtime.dev.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/compiled/next-server/app-page-turbo.runtime.dev.js", () => require("next/dist/compiled/next-server/app-page-turbo.runtime.dev.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/action-async-storage.external.js [external] (next/dist/server/app-render/action-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/action-async-storage.external.js", () => require("next/dist/server/app-render/action-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/after-task-async-storage.external.js [external] (next/dist/server/app-render/after-task-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/after-task-async-storage.external.js", () => require("next/dist/server/app-render/after-task-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/dynamic-access-async-storage.external.js [external] (next/dist/server/app-render/dynamic-access-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/dynamic-access-async-storage.external.js", () => require("next/dist/server/app-render/dynamic-access-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/work-async-storage.external.js", () => require("next/dist/server/app-render/work-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/work-unit-async-storage.external.js", () => require("next/dist/server/app-render/work-unit-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/node-environment-extensions/fast-set-immediate.external.js [external] (next/dist/server/node-environment-extensions/fast-set-immediate.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/node-environment-extensions/fast-set-immediate.external.js", () => require("next/dist/server/node-environment-extensions/fast-set-immediate.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/runtime-reacts.external.js [external] (next/dist/server/runtime-reacts.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/runtime-reacts.external.js", () => require("next/dist/server/runtime-reacts.external.js")); + +module.exports = mod; +}), +"[externals]/node:stream [external] (node:stream, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("node:stream", () => require("node:stream")); + +module.exports = mod; +}), +"[externals]/node:zlib [external] (node:zlib, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("node:zlib", () => require("node:zlib")); + +module.exports = mod; +}), +"[externals]/path [external] (path, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("path", () => require("path")); + +module.exports = mod; +}), +"[externals]/util [external] (util, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("util", () => require("util")); + +module.exports = mod; +}), +]; \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[externals]__1cacbhfx2nbuk._.js.map b/e-commerce/.next/dev/server/chunks/ssr/[externals]__1cacbhfx2nbuk._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[externals]__1cacbhfx2nbuk._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[externals]__1vp7etusa_gny._.js b/e-commerce/.next/dev/server/chunks/ssr/[externals]__1vp7etusa_gny._.js new file mode 100644 index 0000000000000000000000000000000000000000..558734eb23475d6ea7035872859e6f132279cda9 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[externals]__1vp7etusa_gny._.js @@ -0,0 +1,32 @@ +module.exports = [ +"[externals]/next/dist/compiled/@opentelemetry/api [external] (next/dist/compiled/@opentelemetry/api, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/compiled/@opentelemetry/api", () => require("next/dist/compiled/@opentelemetry/api")); + +module.exports = mod; +}), +"[externals]/next/dist/compiled/next-server/pages-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/pages-turbo.runtime.dev.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/compiled/next-server/pages-turbo.runtime.dev.js", () => require("next/dist/compiled/next-server/pages-turbo.runtime.dev.js")); + +module.exports = mod; +}), +"[externals]/path [external] (path, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("path", () => require("path")); + +module.exports = mod; +}), +"[externals]/react [external] (react, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("react", () => require("react")); + +module.exports = mod; +}), +"[externals]/react/jsx-runtime [external] (react/jsx-runtime, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("react/jsx-runtime", () => require("react/jsx-runtime")); + +module.exports = mod; +}), +]; \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[externals]__1vp7etusa_gny._.js.map b/e-commerce/.next/dev/server/chunks/ssr/[externals]__1vp7etusa_gny._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[externals]__1vp7etusa_gny._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js b/e-commerce/.next/dev/server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js new file mode 100644 index 0000000000000000000000000000000000000000..cd3babe95bdedc4081183764e028d0d36f7255b3 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js @@ -0,0 +1,44 @@ +module.exports = [ +"[externals]/next/dist/compiled/next-server/app-page-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/app-page-turbo.runtime.dev.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/compiled/next-server/app-page-turbo.runtime.dev.js", () => require("next/dist/compiled/next-server/app-page-turbo.runtime.dev.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/action-async-storage.external.js [external] (next/dist/server/app-render/action-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/action-async-storage.external.js", () => require("next/dist/server/app-render/action-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/after-task-async-storage.external.js [external] (next/dist/server/app-render/after-task-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/after-task-async-storage.external.js", () => require("next/dist/server/app-render/after-task-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/dynamic-access-async-storage.external.js [external] (next/dist/server/app-render/dynamic-access-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/dynamic-access-async-storage.external.js", () => require("next/dist/server/app-render/dynamic-access-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/work-async-storage.external.js", () => require("next/dist/server/app-render/work-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/work-unit-async-storage.external.js", () => require("next/dist/server/app-render/work-unit-async-storage.external.js")); + +module.exports = mod; +}), +"[externals]/next/dist/server/runtime-reacts.external.js [external] (next/dist/server/runtime-reacts.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/runtime-reacts.external.js", () => require("next/dist/server/runtime-reacts.external.js")); + +module.exports = mod; +}), +]; \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js.map b/e-commerce/.next/dev/server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[externals]_next_dist_1e1zfvsur5d9m._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0bakp20a5h7ed._.js b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0bakp20a5h7ed._.js new file mode 100644 index 0000000000000000000000000000000000000000..f41679031d04555a4e1e4db61786d5d39c833cb2 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0bakp20a5h7ed._.js @@ -0,0 +1,109 @@ +module.exports = [ +(()=>{"use strict";return[ +"[next]/internal/font/google/geist_a71539c9.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>__TURBOPACK__default__export__ +]); +var __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a71539c9$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__ = __turbopack_context__.i("[next]/internal/font/google/geist_a71539c9.module.css [app-rsc] (css module)"); +; +const fontData = { + className: __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a71539c9$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].className, + style: { + fontFamily: "'Geist', 'Geist Fallback'", + fontStyle: "normal" + } +}; +if (__TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a71539c9$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].variable != null) { + fontData.variable = __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a71539c9$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].variable; +} +const __TURBOPACK__default__export__ = fontData; +}), +"[next]/internal/font/google/geist_mono_8d43a2aa.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>__TURBOPACK__default__export__ +]); +var __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_8d43a2aa$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__ = __turbopack_context__.i("[next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-rsc] (css module)"); +; +const fontData = { + className: __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_8d43a2aa$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].className, + style: { + fontFamily: "'Geist Mono', 'Geist Mono Fallback'", + fontStyle: "normal" + } +}; +if (__TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_8d43a2aa$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].variable != null) { + fontData.variable = __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_8d43a2aa$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].variable; +} +const __TURBOPACK__default__export__ = fontData; +}), +"[project]/app/layout.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>RootLayout, + "metadata", + ()=>metadata +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a71539c9$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[next]/internal/font/google/geist_a71539c9.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_8d43a2aa$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[next]/internal/font/google/geist_mono_8d43a2aa.js [app-rsc] (ecmascript)"); +; +; +; +; +const metadata = { + title: "Create Next App", + description: "Generated by create next app" +}; +function RootLayout({ children }) { + return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("html", { + lang: "en", + className: `${__TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a71539c9$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"].variable} ${__TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_8d43a2aa$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"].variable}`, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("body", { + children: children + }, void 0, false, { + fileName: "[project]/app/layout.tsx", + lineNumber: 23, + columnNumber: 7 + }, this) + }, void 0, false, { + fileName: "[project]/app/layout.tsx", + lineNumber: 22, + columnNumber: 5 + }, this); +} +}), +"[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js [app-rsc] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +module.exports = __turbopack_context__.r("[project]/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [app-rsc] (ecmascript)").vendored['react-rsc'].ReactJsxDevRuntime; +}), +]})(), +"[next]/internal/font/google/geist_a71539c9.module.css [app-rsc] (css module)", ((__turbopack_context__) => { + +__turbopack_context__.v({ + "className": "geist_a71539c9-module__T19VSG__className", + "variable": "geist_a71539c9-module__T19VSG__variable", +}); +}), +"[next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-rsc] (css module)", ((__turbopack_context__) => { + +__turbopack_context__.v({ + "className": "geist_mono_8d43a2aa-module__8Li5zG__className", + "variable": "geist_mono_8d43a2aa-module__8Li5zG__variable", +}); +}), +"[project]/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)", (function(__turbopack_context__){ + +__turbopack_context__.n(__turbopack_context__.i("[project]/app/layout.tsx [app-rsc] (ecmascript)")); +}), +]; + +//# sourceMappingURL=%5Broot-of-the-server%5D__0bakp20a5h7ed._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0bakp20a5h7ed._.js.map b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0bakp20a5h7ed._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..655701de89f5181199c4af05c58c40fc809c0dbc --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0bakp20a5h7ed._.js.map @@ -0,0 +1,11 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 5, "column": 0}, "map": {"version":3,"sources":["turbopack:///[next]/internal/font/google/geist_a71539c9.js"],"sourcesContent":["import cssModule from \"@vercel/turbopack-next/internal/font/google/cssmodule.module.css?{%22path%22:%22layout.tsx%22,%22import%22:%22Geist%22,%22arguments%22:[{%22variable%22:%22--font-geist-sans%22,%22subsets%22:[%22latin%22]}],%22variableName%22:%22geistSans%22}\";\nconst fontData = {\n className: cssModule.className,\n style: {\n fontFamily: \"'Geist', 'Geist Fallback'\",\n fontStyle: \"normal\",\n\n },\n};\n\nif (cssModule.variable != null) {\n fontData.variable = cssModule.variable;\n}\n\nexport default fontData;\n"],"names":["fontData","className","style","fontFamily","fontStyle","variable"],"mappings":";;;;AAAA;;AACA,MAAMA,WAAW;IACbC,WAAW,gKAAS,CAACA,SAAS;IAC9BC,OAAO;QACHC,YAAY;QACZC,WAAW;IAEf;AACJ;AAEA,IAAI,gKAAS,CAACC,QAAQ,IAAI,MAAM;IAC5BL,SAASK,QAAQ,GAAG,gKAAS,CAACA,QAAQ;AAC1C;uCAEeL","ignoreList":[0]}}, + {"offset": {"line": 26, "column": 0}, "map": {"version":3,"sources":["turbopack:///[next]/internal/font/google/geist_mono_8d43a2aa.js"],"sourcesContent":["import cssModule from \"@vercel/turbopack-next/internal/font/google/cssmodule.module.css?{%22path%22:%22layout.tsx%22,%22import%22:%22Geist_Mono%22,%22arguments%22:[{%22variable%22:%22--font-geist-mono%22,%22subsets%22:[%22latin%22]}],%22variableName%22:%22geistMono%22}\";\nconst fontData = {\n className: cssModule.className,\n style: {\n fontFamily: \"'Geist Mono', 'Geist Mono Fallback'\",\n fontStyle: \"normal\",\n\n },\n};\n\nif (cssModule.variable != null) {\n fontData.variable = cssModule.variable;\n}\n\nexport default fontData;\n"],"names":["fontData","className","style","fontFamily","fontStyle","variable"],"mappings":";;;;AAAA;;AACA,MAAMA,WAAW;IACbC,WAAW,qKAAS,CAACA,SAAS;IAC9BC,OAAO;QACHC,YAAY;QACZC,WAAW;IAEf;AACJ;AAEA,IAAI,qKAAS,CAACC,QAAQ,IAAI,MAAM;IAC5BL,SAASK,QAAQ,GAAG,qKAAS,CAACA,QAAQ;AAC1C;uCAEeL","ignoreList":[0]}}, + {"offset": {"line": 47, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/app/layout.tsx"],"sourcesContent":["import type { Metadata } from \"next\";\nimport { Geist, Geist_Mono } from \"next/font/google\";\nimport \"./globals.css\";\n\nconst geistSans = Geist({\n variable: \"--font-geist-sans\",\n subsets: [\"latin\"],\n});\n\nconst geistMono = Geist_Mono({\n variable: \"--font-geist-mono\",\n subsets: [\"latin\"],\n});\n\nexport const metadata: Metadata = {\n title: \"Create Next App\",\n description: \"Generated by create next app\",\n};\n\nexport default function RootLayout({ children }: LayoutProps<\"/\">) {\n return (\n \n {children}\n \n );\n}\n"],"names":["metadata","title","description","RootLayout","children","lang","className","variable"],"mappings":";;;;;;;;;;;;;AAcO,MAAMA,WAAqB;IAChCC,OAAO;IACPC,aAAa;AACf;AAEe,SAASC,WAAW,EAAEC,QAAQ,EAAoB;IAC/D,qBACE,8OAAC;QAAKC,MAAK;QAAKC,WAAW,GAAG,oJAAS,CAACC,QAAQ,CAAC,CAAC,EAAE,yJAAS,CAACA,QAAQ,EAAE;kBACtE,cAAA,8OAAC;sBAAMH;;;;;;;;;;;AAGb"}}, + {"offset": {"line": 85, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.ts"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxDevRuntime\n"],"names":["module","exports","require","vendored","ReactJsxDevRuntime"],"mappings":"AAAAA,OAAOC,OAAO,GACZC,QAAQ,4HACRC,QAAQ,CAAC,YAAY,CAAEC,kBAAkB","ignoreList":[0]}}, + {"offset": {"line": 90, "column": 0}, "map": {"version":3,"sources":["turbopack:///[next]/internal/font/google/geist_a71539c9.module.css [app-rsc] (css module)"],"sourcesContent":["__turbopack_context__.v({\n \"className\": \"geist_a71539c9-module__T19VSG__className\",\n \"variable\": \"geist_a71539c9-module__T19VSG__variable\",\n});\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA","ignoreList":[0]}}, + {"offset": {"line": 97, "column": 0}, "map": {"version":3,"sources":["turbopack:///[next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-rsc] (css module)"],"sourcesContent":["__turbopack_context__.v({\n \"className\": \"geist_mono_8d43a2aa-module__8Li5zG__className\",\n \"variable\": \"geist_mono_8d43a2aa-module__8Li5zG__variable\",\n});\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA","ignoreList":[0]}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0c46xma2ulueb._.js b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0c46xma2ulueb._.js new file mode 100644 index 0000000000000000000000000000000000000000..9af761483c15759c35c81ab78365a99a811e6920 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0c46xma2ulueb._.js @@ -0,0 +1,372 @@ +module.exports = [ +(()=>{"use strict";return[ +"[project]/app/[locale]/layout.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__next_create_empty_gsp_error", + ()=>__next_create_empty_gsp_error, + "default", + ()=>LocaleLayout, + "generateMetadata", + ()=>generateMetadata, + "generateStaticParams", + ()=>generateStaticParams +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$react$2d$server$2f$NextIntlClientProviderServer$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__NextIntlClientProvider$3e$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/react-server/NextIntlClientProviderServer.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$use$2d$intl$2f$dist$2f$esm$2f$development$2f$core$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/use-intl/dist/esm/development/core.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$react$2d$server$2f$useLocale$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__useLocale$3e$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/react-server/useLocale.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$react$2d$server$2f$useTranslations$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__useTranslations$3e$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/react-server/useTranslations.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$server$2f$react$2d$server$2f$getTranslations$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__getTranslations$3e$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/server/react-server/getTranslations.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$server$2f$react$2d$server$2f$getMessages$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__getMessages$3e$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/server/react-server/getMessages.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$api$2f$navigation$2e$react$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/api/navigation.react-server.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$navigation$2e$react$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/client/components/navigation.react-server.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/i18n/routing.ts [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$left$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowLeft$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-left.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$right$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowRight$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-right.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/components/ui/button.tsx [app-rsc] (ecmascript)"); +; +; +; +; +; +; +; +; +async function generateStaticParams() { + return __TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["locales"].map((locale)=>({ + locale + })); +} +async function generateMetadata({ params }) { + const { locale } = await params; + if (!(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$use$2d$intl$2f$dist$2f$esm$2f$development$2f$core$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__["hasLocale"])(__TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["locales"], locale)) (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$navigation$2e$react$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["notFound"])(); + const t = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$server$2f$react$2d$server$2f$getTranslations$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__getTranslations$3e$__["getTranslations"])({ + locale: locale, + namespace: "home" + }); + return { + title: t("title"), + description: t("hero") + }; +} +async function LocaleLayout({ children, params }) { + const { locale } = await params; + // During Next.js instant / prefetch validation the segment can be rendered + // without a resolved locale (params.locale may be undefined). In that case we + // fall back to the default locale so the segment renders; an invalid locale + // that is present but not in the list still 404s via generateMetadata. + const resolvedLocale = locale != null && locale !== "" && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$use$2d$intl$2f$dist$2f$esm$2f$development$2f$core$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__["hasLocale"])(__TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["locales"], locale) ? locale : __TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["defaultLocale"]; + console.error(`[LAYOUT] resolvedLocale=${JSON.stringify(resolvedLocale)}`); + const messages = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$server$2f$react$2d$server$2f$getMessages$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__getMessages$3e$__["getMessages"])({ + locale: resolvedLocale + }); + const t = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$server$2f$react$2d$server$2f$getTranslations$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__getTranslations$3e$__["getTranslations"])({ + locale: resolvedLocale, + namespace: "home" + }); + // NOTE: NextIntlClientProvider is placed OUTSIDE / per the official + // next-intl App Router guide. This is the documented safe position and lets the + // server-side provider read the request locale directly from the request config + // (which already received the explicit params.locale). We pass locale + messages + // explicitly so the provider's server wrapper never falls back to getLocaleCached(). + return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$react$2d$server$2f$NextIntlClientProviderServer$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__NextIntlClientProvider$3e$__["NextIntlClientProvider"], { + locale: resolvedLocale, + messages: messages, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("html", { + lang: resolvedLocale, + suppressHydrationWarning: true, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("body", { + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + className: "flex flex-col min-h-screen", + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("header", { + className: "flex items-center justify-between p-4 border-b", + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + className: "text-lg font-semibold", + children: t("lang") + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 60, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(LocaleSwitcher, { + currentLocale: resolvedLocale + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 61, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 59, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("main", { + className: "flex-1 p-6 max-w-3xl mx-auto w-full", + children: children + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 63, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("footer", { + className: "text-center p-4 text-sm text-muted-foreground border-t", + children: "E-Commerce Store" + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 64, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 58, + columnNumber: 11 + }, this) + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 57, + columnNumber: 9 + }, this) + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 56, + columnNumber: 7 + }, this) + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 55, + columnNumber: 5 + }, this); +} +function LocaleSwitcher({ currentLocale }) { + const locale = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$react$2d$server$2f$useLocale$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__useLocale$3e$__["useLocale"])(); + const t = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$react$2d$server$2f$useTranslations$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__useTranslations$3e$__["useTranslations"])("home"); + return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + className: "flex items-center gap-2", + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Button"], { + variant: locale === "en" ? "default" : "outline", + size: "sm", + asChild: true, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("a", { + href: "/en", + className: "flex items-center gap-1", + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$left$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowLeft$3e$__["ArrowLeft"], { + className: "h-4 w-4" + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 86, + columnNumber: 11 + }, this), + "EN" + ] + }, void 0, true, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 85, + columnNumber: 9 + }, this) + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 80, + columnNumber: 7 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Button"], { + variant: locale === "bn" ? "default" : "outline", + size: "sm", + asChild: true, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("a", { + href: "/bn", + className: "flex items-center gap-1", + children: [ + "BN", + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$right$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowRight$3e$__["ArrowRight"], { + className: "h-4 w-4" + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 97, + columnNumber: 11 + }, this) + ] + }, void 0, true, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 95, + columnNumber: 9 + }, this) + }, void 0, false, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 90, + columnNumber: 7 + }, this) + ] + }, void 0, true, { + fileName: "[project]/app/[locale]/layout.tsx", + lineNumber: 79, + columnNumber: 5 + }, this); +} +const __next_create_empty_gsp_error = function generateStaticParams() { + return new Error('When using Cache Components, all `generateStaticParams` functions must return at least one result. This is to ensure that we can perform build-time validation that there is no other dynamic accesses that would cause a runtime error.\n\nLearn more: https://nextjs.org/docs/messages/empty-generate-static-params'); +}; +}), +"[project]/components/ui/button.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "Button", + ()=>Button, + "buttonVariants", + ()=>buttonVariants +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@radix-ui/react-slot/dist/index.mjs [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$class$2d$variance$2d$authority$2f$dist$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/class-variance-authority/dist/index.mjs [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$lib$2f$utils$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/lib/utils.ts [app-rsc] (ecmascript)"); +; +; +; +; +; +const buttonVariants = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$class$2d$variance$2d$authority$2f$dist$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["cva"])("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", { + variants: { + variant: { + default: "bg-primary text-primary-foreground shadow hover:bg-primary/90", + destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", + outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", + secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline" + }, + size: { + default: "h-9 px-4 py-2", + sm: "h-8 rounded-md px-3 text-xs", + lg: "h-10 rounded-md px-8", + icon: "h-9 w-9" + } + }, + defaultVariants: { + variant: "default", + size: "default" + } +}); +const Button = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["forwardRef"](({ className, variant, size, asChild = false, ...props }, ref)=>{ + const Comp = asChild ? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$radix$2d$ui$2f$react$2d$slot$2f$dist$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Slot"] : "button"; + return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(Comp, { + className: (0, __TURBOPACK__imported__module__$5b$project$5d2f$lib$2f$utils$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["cn"])(buttonVariants({ + variant, + size, + className + })), + ref: ref, + ...props + }, void 0, false, { + fileName: "[project]/components/ui/button.tsx", + lineNumber: 47, + columnNumber: 7 + }, ("TURBOPACK compile-time value", void 0)); +}); +Button.displayName = "Button"; +; +}), +"[project]/i18n/request.ts [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>__TURBOPACK__default__export__ +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$webpack$2f$loaders$2f$next$2d$flight$2d$loader$2f$track$2d$dynamic$2d$import$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/build/webpack/loaders/next-flight-loader/track-dynamic-import.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$server$2f$react$2d$server$2f$getRequestConfig$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__getRequestConfig$3e$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/server/react-server/getRequestConfig.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/i18n/routing.ts [app-rsc] (ecmascript)"); +; +; +; +const __TURBOPACK__default__export__ = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$server$2f$react$2d$server$2f$getRequestConfig$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__getRequestConfig$3e$__["getRequestConfig"])(async ({ locale })=>{ + console.error(`[REQCONFIG] locale=${JSON.stringify(locale)} typeof=${typeof locale} includes=${__TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["locales"].includes(locale)}`); + if (!locale || !__TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["locales"].includes(locale)) { + // When NextIntlClientProvider's server wrapper (or any next-intl API) is invoked + // without an explicit locale, it asks getRequestConfig for one via an undefined + // override. During prefetch/instant validation, params.locale can be undefined and + // there is no header to fall back on, so we return the first supported locale as a + // safe default. The real page content is already rendered by LocaleLayout with the + // correct resolvedLocale, so this fallback only affects secondary APIs (e.g. formatting) + // used by client components during hydration. + return { + locale: __TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["locales"][0], + messages: (await /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$webpack$2f$loaders$2f$next$2d$flight$2d$loader$2f$track$2d$dynamic$2d$import$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["trackDynamicImport"])(__turbopack_context__.f({ + "../messages/bn.json": { + id: ()=>"[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript, async loader)", + module: ()=>__turbopack_context__.A("[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript, async loader)") + }, + "../messages/en.json": { + id: ()=>"[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript, async loader)", + module: ()=>__turbopack_context__.A("[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript, async loader)") + } + }).import(`../messages/${__TURBOPACK__imported__module__$5b$project$5d2f$i18n$2f$routing$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["locales"][0]}.json`))).default + }; + } + return { + locale: locale, + messages: (await /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$webpack$2f$loaders$2f$next$2d$flight$2d$loader$2f$track$2d$dynamic$2d$import$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["trackDynamicImport"])(__turbopack_context__.f({ + "../messages/bn.json": { + id: ()=>"[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript, async loader)", + module: ()=>__turbopack_context__.A("[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript, async loader)") + }, + "../messages/en.json": { + id: ()=>"[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript, async loader)", + module: ()=>__turbopack_context__.A("[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript, async loader)") + } + }).import(`../messages/${locale}.json`))).default + }; +}); +}), +"[project]/i18n/routing.ts [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "defaultLocale", + ()=>defaultLocale, + "locales", + ()=>locales +]); +const locales = [ + "en", + "bn" +]; +const defaultLocale = "en"; +}), +"[project]/lib/utils.ts [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "cn", + ()=>cn +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$clsx$2f$dist$2f$clsx$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/clsx/dist/clsx.mjs [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$tailwind$2d$merge$2f$dist$2f$bundle$2d$mjs$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/tailwind-merge/dist/bundle-mjs.mjs [app-rsc] (ecmascript)"); +; +; +function cn(...inputs) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$tailwind$2d$merge$2f$dist$2f$bundle$2d$mjs$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["twMerge"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$clsx$2f$dist$2f$clsx$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["clsx"])(inputs)); +} +}), +]})(), +"[externals]/next/dist/server/app-render/module-loading/track-module-loading.external.js [external] (next/dist/server/app-render/module-loading/track-module-loading.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/server/app-render/module-loading/track-module-loading.external.js", () => require("next/dist/server/app-render/module-loading/track-module-loading.external.js")); + +module.exports = mod; +}), +"[project]/app/[locale]/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)", (function(__turbopack_context__){ + +__turbopack_context__.n(__turbopack_context__.i("[project]/app/[locale]/layout.tsx [app-rsc] (ecmascript)")); +}), +]; + +//# sourceMappingURL=%5Broot-of-the-server%5D__0c46xma2ulueb._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0c46xma2ulueb._.js.map b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0c46xma2ulueb._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e86f89ecfdadb3035edbbaac7dece61374fe87be --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0c46xma2ulueb._.js.map @@ -0,0 +1,10 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 5, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/app/[locale]/layout.tsx"],"sourcesContent":["import { NextIntlClientProvider, hasLocale, useLocale, useTranslations } from \"next-intl\";\nimport { getTranslations, getMessages } from \"next-intl/server\";\nimport { notFound } from \"next/navigation\";\nimport type { Locale } from \"../../i18n/routing\";\nimport { locales, defaultLocale } from \"../../i18n/routing\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\nimport { Button } from \"@/components/ui/button\";\nimport type { Metadata } from \"next\";\nimport \"../globals.css\";\n\ntype Props = {\n children: React.ReactNode;\n params: Promise<{ locale: string }>;\n};\n\nexport async function generateStaticParams() {\n return locales.map((locale) => ({ locale }));\n}\n\nexport async function generateMetadata({\n params,\n}: {\n params: Promise<{ locale: string }>;\n}): Promise {\n const { locale } = await params;\n if (!hasLocale(locales, locale)) notFound();\n const t = await getTranslations({ locale: locale as Locale, namespace: \"home\" });\n return {\n title: t(\"title\"),\n description: t(\"hero\"),\n };\n}\n\nexport default async function LocaleLayout({ children, params }: Props) {\n const { locale } = await params;\n // During Next.js instant / prefetch validation the segment can be rendered\n // without a resolved locale (params.locale may be undefined). In that case we\n // fall back to the default locale so the segment renders; an invalid locale\n // that is present but not in the list still 404s via generateMetadata.\n const resolvedLocale: Locale =\n locale != null && locale !== \"\" && hasLocale(locales, locale as Locale)\n ? (locale as Locale)\n : defaultLocale;\n console.error(`[LAYOUT] resolvedLocale=${JSON.stringify(resolvedLocale)}`);\n\n const messages = await getMessages({ locale: resolvedLocale });\n const t = await getTranslations({ locale: resolvedLocale, namespace: \"home\" });\n\n // NOTE: NextIntlClientProvider is placed OUTSIDE / per the official\n // next-intl App Router guide. This is the documented safe position and lets the\n // server-side provider read the request locale directly from the request config\n // (which already received the explicit params.locale). We pass locale + messages\n // explicitly so the provider's server wrapper never falls back to getLocaleCached().\n return (\n \n \n \n

\n
\n {t(\"lang\")}\n \n
\n
{children}
\n
\n E-Commerce Store\n
\n
\n \n \n \n );\n}\n\nfunction LocaleSwitcher({ currentLocale }: { currentLocale: Locale }) {\n const locale = useLocale();\n const t = useTranslations(\"home\");\n\n return (\n
\n \n \n \n EN\n \n \n \n \n BN\n \n \n \n
\n );\n}\n"],"names":["generateStaticParams","map","locale","generateMetadata","params","t","namespace","title","description","LocaleLayout","children","resolvedLocale","console","error","JSON","stringify","messages","lang","suppressHydrationWarning","className","LocaleSwitcher","currentLocale","variant","size","asChild","href"],"mappings":";;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAEA;AACA;AAAA;AACA;;;;;;;;;AASO,eAAeA;IACpB,OAAO,0HAAO,CAACC,GAAG,CAAC,CAACC,SAAW,CAAC;YAAEA;QAAO,CAAC;AAC5C;AAEO,eAAeC,iBAAiB,EACrCC,MAAM,EAGP;IACC,MAAM,EAAEF,MAAM,EAAE,GAAG,MAAME;IACzB,IAAI,CAAC,IAAA,8LAAS,EAAC,0HAAO,EAAEF,SAAS,IAAA,iMAAQ;IACzC,MAAMG,IAAI,MAAM,IAAA,2QAAe,EAAC;QAAEH,QAAQA;QAAkBI,WAAW;IAAO;IAC9E,OAAO;QACLC,OAAOF,EAAE;QACTG,aAAaH,EAAE;IACjB;AACF;AAEe,eAAeI,aAAa,EAAEC,QAAQ,EAAEN,MAAM,EAAS;IACpE,MAAM,EAAEF,MAAM,EAAE,GAAG,MAAME;IACzB,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,uEAAuE;IACvE,MAAMO,iBACJT,UAAU,QAAQA,WAAW,MAAM,IAAA,8LAAS,EAAC,0HAAO,EAAEA,UACjDA,SACD,gIAAa;IACnBU,QAAQC,KAAK,CAAC,CAAC,wBAAwB,EAAEC,KAAKC,SAAS,CAACJ,iBAAiB;IAEzE,MAAMK,WAAW,MAAM,IAAA,+PAAW,EAAC;QAAEd,QAAQS;IAAe;IAC5D,MAAMN,IAAI,MAAM,IAAA,2QAAe,EAAC;QAAEH,QAAQS;QAAgBL,WAAW;IAAO;IAE5E,gFAAgF;IAChF,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,qFAAqF;IACrF,qBACE,8OAAC,4RAAsB;QAACJ,QAAQS;QAAgBK,UAAUA;kBACxD,cAAA,8OAAC;YAAKC,MAAMN;YAAgBO,wBAAwB;sBAClD,cAAA,8OAAC;0BACC,cAAA,8OAAC;oBAAIC,WAAU;;sCACb,8OAAC;4BAAOA,WAAU;;8CAChB,8OAAC;oCAAKA,WAAU;8CAAyBd,EAAE;;;;;;8CAC3C,8OAACe;oCAAeC,eAAeV;;;;;;;;;;;;sCAEjC,8OAAC;4BAAKQ,WAAU;sCAAuCT;;;;;;sCACvD,8OAAC;4BAAOS,WAAU;sCAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQvF;AAEA,SAASC,eAAe,EAAEC,aAAa,EAA6B;IAClE,MAAMnB,SAAS,IAAA,+OAAS;IACxB,MAAMG,IAAI,IAAA,iQAAe,EAAC;IAE1B,qBACE,8OAAC;QAAIc,WAAU;;0BACb,8OAAC,qIAAM;gBACLG,SAASpB,WAAW,OAAO,YAAY;gBACvCqB,MAAK;gBACLC,OAAO;0BAEP,cAAA,8OAAC;oBAAEC,MAAK;oBAAMN,WAAU;;sCACtB,8OAAC,6NAAS;4BAACA,WAAU;;;;;;wBAAY;;;;;;;;;;;;0BAIrC,8OAAC,qIAAM;gBACLG,SAASpB,WAAW,OAAO,YAAY;gBACvCqB,MAAK;gBACLC,OAAO;0BAEP,cAAA,8OAAC;oBAAEC,MAAK;oBAAMN,WAAU;;wBAA0B;sCAEhD,8OAAC,gOAAU;4BAACA,WAAU;;;;;;;;;;;;;;;;;;;;;;;AAKhC;sCAtFO;WAAA"}}, + {"offset": {"line": 219, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/components/ui/button.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-10 rounded-md px-8\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes,\n VariantProps {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n return (\n \n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n"],"names":["buttonVariants","variants","variant","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","Button","className","asChild","props","ref","Comp","displayName"],"mappings":";;;;;;;AAAA;AACA;AACA;AAEA;;;;;;AAEA,MAAMA,iBAAiB,IAAA,uKAAG,EACxB,ySACA;IACEC,UAAU;QACRC,SAAS;YACPC,SACE;YACFC,aACE;YACFC,SACE;YACFC,WACE;YACFC,OAAO;YACPC,MAAM;QACR;QACAC,MAAM;YACJN,SAAS;YACTO,IAAI;YACJC,IAAI;YACJC,MAAM;QACR;IACF;IACAC,iBAAiB;QACfX,SAAS;QACTO,MAAM;IACR;AACF;AASF,MAAMK,uBAAS,mNAAgB,CAC7B,CAAC,EAAEC,SAAS,EAAEb,OAAO,EAAEO,IAAI,EAAEO,UAAU,KAAK,EAAE,GAAGC,OAAO,EAAEC;IACxD,MAAMC,OAAOH,UAAU,wKAAI,GAAG;IAC9B,qBACE,8OAACG;QACCJ,WAAW,IAAA,kHAAE,EAACf,eAAe;YAAEE;YAASO;YAAMM;QAAU;QACxDG,KAAKA;QACJ,GAAGD,KAAK;;;;;;AAGf;AAEFH,OAAOM,WAAW,GAAG"}}, + {"offset": {"line": 279, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/i18n/request.ts"],"sourcesContent":["import { getRequestConfig } from \"next-intl/server\";\nimport { locales, type Locale } from \"./routing\";\n\nexport default getRequestConfig(async ({ locale }) => {\n console.error(`[REQCONFIG] locale=${JSON.stringify(locale)} typeof=${typeof locale} includes=${locales.includes(locale as Locale)}`);\n if (!locale || !locales.includes(locale as Locale)) {\n // When NextIntlClientProvider's server wrapper (or any next-intl API) is invoked\n // without an explicit locale, it asks getRequestConfig for one via an undefined\n // override. During prefetch/instant validation, params.locale can be undefined and\n // there is no header to fall back on, so we return the first supported locale as a\n // safe default. The real page content is already rendered by LocaleLayout with the\n // correct resolvedLocale, so this fallback only affects secondary APIs (e.g. formatting)\n // used by client components during hydration.\n return {\n locale: locales[0],\n messages: (await import(`../messages/${locales[0]}.json`)).default,\n };\n }\n\n return {\n locale: locale as Locale,\n messages: (await import(`../messages/${locale}.json`)).default,\n };\n});\n"],"names":["locale","console","error","JSON","stringify","includes","messages","default"],"mappings":";;;;;AAAA;AACA;;;;uCAEe,IAAA,8QAAgB,EAAC,OAAO,EAAEA,MAAM,EAAE;IAC/CC,QAAQC,KAAK,CAAC,CAAC,mBAAmB,EAAEC,KAAKC,SAAS,CAACJ,QAAQ,QAAQ,EAAE,OAAOA,OAAO,UAAU,EAAE,0HAAO,CAACK,QAAQ,CAACL,SAAmB;IACnI,IAAI,CAACA,UAAU,CAAC,0HAAO,CAACK,QAAQ,CAACL,SAAmB;QAClD,iFAAiF;QACjF,gFAAgF;QAChF,mFAAmF;QACnF,mFAAmF;QACnF,mFAAmF;QACnF,yFAAyF;QACzF,8CAA8C;QAC9C,OAAO;YACLA,QAAQ,0HAAO,CAAC,EAAE;YAClBM,UAAU,CAAC;;;;;;;;;sBAAa,CAAC,YAAY,EAAE,0HAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAC,EAAEC,OAAO;QACpE;IACF;IAEA,OAAO;QACLP,QAAQA;QACRM,UAAU,CAAC;;;;;;;;;kBAAa,CAAC,YAAY,EAAEN,OAAO,KAAK,CAAC,EAAC,EAAEO,OAAO;IAChE;AACF"}}, + {"offset": {"line": 331, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/i18n/routing.ts"],"sourcesContent":["export const locales = [\"en\", \"bn\"] as const;\nexport type Locale = (typeof locales)[number];\nexport const defaultLocale: Locale = \"en\";\n"],"names":["locales","defaultLocale"],"mappings":";;;;;;AAAO,MAAMA,UAAU;IAAC;IAAM;CAAK;AAE5B,MAAMC,gBAAwB"}}, + {"offset": {"line": 346, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"names":["cn","inputs"],"mappings":";;;;AAAA;AACA;;;AAEO,SAASA,GAAG,GAAGC,MAAoB;IACxC,OAAO,IAAA,sKAAO,EAAC,IAAA,6IAAI,EAACA;AACtB"}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0y0_snuizx-rh._.js b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0y0_snuizx-rh._.js new file mode 100644 index 0000000000000000000000000000000000000000..bbffbff40c3f519624222903330f54ff867bfb3e --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0y0_snuizx-rh._.js @@ -0,0 +1,287 @@ +module.exports = [ +(()=>{"use strict";return[ +"[project]/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +function _interop_require_default(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +exports._ = _interop_require_default; +}), +"[project]/node_modules/next/dist/pages/_app.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function() { + return App; + } +}); +const _interop_require_default = __turbopack_context__.r("[project]/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [ssr] (ecmascript)"); +const _jsxruntime = __turbopack_context__.r("[externals]/react/jsx-runtime [external] (react/jsx-runtime, cjs)"); +const _react = /*#__PURE__*/ _interop_require_default._(__turbopack_context__.r("[externals]/react [external] (react, cjs)")); +const _utils = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/utils.js [ssr] (ecmascript)"); +/** + * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization. + * This allows for keeping state between navigation, custom error handling, injecting additional data. + */ async function appGetInitialProps({ Component, ctx }) { + const pageProps = await (0, _utils.loadGetInitialProps)(Component, ctx); + return { + pageProps + }; +} +class App extends _react.default.Component { + static{ + this.origGetInitialProps = appGetInitialProps; + } + static{ + this.getInitialProps = appGetInitialProps; + } + render() { + const { Component, pageProps } = this.props; + return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, { + ...pageProps + }); + } +} +if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { + Object.defineProperty(exports.default, '__esModule', { + value: true + }); + Object.assign(exports.default, exports); + module.exports = exports.default; +} +}), +"[project]/node_modules/next/dist/shared/lib/utils.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + DecodeError: null, + MiddlewareNotFoundError: null, + MissingStaticPage: null, + NormalizeError: null, + PageNotFoundError: null, + SP: null, + ST: null, + WEB_VITALS: null, + execOnce: null, + getDisplayName: null, + getLocationOrigin: null, + getURL: null, + isAbsoluteUrl: null, + isResSent: null, + loadGetInitialProps: null, + normalizeRepeatedSlashes: null, + stringifyError: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + DecodeError: function() { + return DecodeError; + }, + MiddlewareNotFoundError: function() { + return MiddlewareNotFoundError; + }, + MissingStaticPage: function() { + return MissingStaticPage; + }, + NormalizeError: function() { + return NormalizeError; + }, + PageNotFoundError: function() { + return PageNotFoundError; + }, + SP: function() { + return SP; + }, + ST: function() { + return ST; + }, + WEB_VITALS: function() { + return WEB_VITALS; + }, + execOnce: function() { + return execOnce; + }, + getDisplayName: function() { + return getDisplayName; + }, + getLocationOrigin: function() { + return getLocationOrigin; + }, + getURL: function() { + return getURL; + }, + isAbsoluteUrl: function() { + return isAbsoluteUrl; + }, + isResSent: function() { + return isResSent; + }, + loadGetInitialProps: function() { + return loadGetInitialProps; + }, + normalizeRepeatedSlashes: function() { + return normalizeRepeatedSlashes; + }, + stringifyError: function() { + return stringifyError; + } +}); +const WEB_VITALS = [ + 'CLS', + 'FCP', + 'INP', + 'LCP', + 'TTFB' +]; +function execOnce(fn) { + let used = false; + let result; + return (...args)=>{ + if (!used) { + used = true; + result = fn(...args); + } + return result; + }; +} +// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 +// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 +const ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/; +const isAbsoluteUrl = (url)=>{ + // Fast path: an absolute URL must start with a letter (the scheme). + // Check for a-z and A-Z without the cost of the regex. + const c = url.charCodeAt(0); + const isLetter = c >= 65 /* A */ && c <= 90 || c >= 97 /* a */ && c <= 122; + /* z */ if (!isLetter) { + return false; + } + return ABSOLUTE_URL_REGEX.test(url); +}; +function getLocationOrigin() { + const { protocol, hostname, port } = window.location; + return `${protocol}//${hostname}${port ? ':' + port : ''}`; +} +function getURL() { + const { href } = window.location; + const origin = getLocationOrigin(); + return href.substring(origin.length); +} +function getDisplayName(Component) { + return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown'; +} +function isResSent(res) { + return res.finished || res.headersSent; +} +function normalizeRepeatedSlashes(url) { + const urlParts = url.split('?'); + const urlNoQuery = urlParts[0]; + return urlNoQuery // first we replace any non-encoded backslashes with forward + // then normalize repeated forward slashes + .replace(/\\/g, '/').replace(/\/\/+/g, '/') + (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : ''); +} +async function loadGetInitialProps(App, ctx) { + if ("TURBOPACK compile-time truthy", 1) { + if (App.prototype?.getInitialProps) { + const message = `"${getDisplayName(App)}.getInitialProps()" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`; + throw new Error(message); + } + } + // when called from _app `ctx` is nested in `ctx` + const res = ctx.res || ctx.ctx && ctx.ctx.res; + if (!App.getInitialProps) { + if (ctx.ctx && ctx.Component) { + // @ts-ignore pageProps default + return { + pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx) + }; + } + return {}; + } + const props = await App.getInitialProps(ctx); + if (res && isResSent(res)) { + return props; + } + if (!props) { + const message = `"${getDisplayName(App)}.getInitialProps()" should resolve to an object. But found "${props}" instead.`; + throw new Error(message); + } + if ("TURBOPACK compile-time truthy", 1) { + if (Object.keys(props).length === 0 && !ctx.ctx) { + console.warn(`${getDisplayName(App)} returned an empty object from \`getInitialProps\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`); + } + } + return props; +} +const SP = typeof performance !== 'undefined'; +const ST = SP && [ + 'mark', + 'measure', + 'getEntriesByName' +].every((method)=>typeof performance[method] === 'function'); +class DecodeError extends Error { +} +class NormalizeError extends Error { +} +class PageNotFoundError extends Error { + constructor(page){ + super(); + this.code = 'ENOENT'; + this.name = 'PageNotFoundError'; + this.message = `Cannot find module for page: ${page}`; + } +} +class MissingStaticPage extends Error { + constructor(page, message){ + super(); + this.message = `Failed to load static file for page: ${page} ${message}`; + } +} +class MiddlewareNotFoundError extends Error { + constructor(){ + super(); + this.code = 'ENOENT'; + this.message = `Cannot find the middleware module`; + } +} +function stringifyError(error) { + return JSON.stringify({ + message: error.message, + stack: error.stack + }); +} +}), +]})(), +"[externals]/react [external] (react, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("react", () => require("react")); + +module.exports = mod; +}), +"[externals]/react/jsx-runtime [external] (react/jsx-runtime, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("react/jsx-runtime", () => require("react/jsx-runtime")); + +module.exports = mod; +}), +"[project]/node_modules/next/app.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { + +module.exports = __turbopack_context__.r("[project]/node_modules/next/dist/pages/_app.js [ssr] (ecmascript)"); +}), +]; + +//# sourceMappingURL=%5Broot-of-the-server%5D__0y0_snuizx-rh._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0y0_snuizx-rh._.js.map b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0y0_snuizx-rh._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7a50a7fc81b643ab62ea2eb554c46d6cdfcc7013 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__0y0_snuizx-rh._.js.map @@ -0,0 +1,9 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 5, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@swc/helpers/cjs/_interop_require_default.cjs"],"sourcesContent":["\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n"],"names":["_interop_require_default","obj","__esModule","default","exports","_"],"mappings":"AAEA,SAASA,yBAAyBC,GAAG;IACjC,OAAOA,OAAOA,IAAIC,UAAU,GAAGD,MAAM;QAAEE,SAASF;IAAI;AACxD;AACAG,QAAQC,CAAC,GAAGL","ignoreList":[0]}}, + {"offset": {"line": 15, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/pages/_app.tsx"],"sourcesContent":["import React from 'react'\n\nimport type {\n AppContextType,\n AppInitialProps,\n AppPropsType,\n NextWebVitalsMetric,\n AppType,\n} from '../shared/lib/utils'\nimport type { Router } from '../client/router'\n\nimport { loadGetInitialProps } from '../shared/lib/utils'\n\nexport type { AppInitialProps, AppType }\n\nexport type { NextWebVitalsMetric }\n\nexport type AppContext = AppContextType\n\nexport type AppProps

= AppPropsType\n\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */\nasync function appGetInitialProps({\n Component,\n ctx,\n}: AppContext): Promise {\n const pageProps = await loadGetInitialProps(Component, ctx)\n return { pageProps }\n}\n\nexport default class App

extends React.Component<\n P & AppProps,\n S\n> {\n static origGetInitialProps = appGetInitialProps\n static getInitialProps = appGetInitialProps\n\n render() {\n const { Component, pageProps } = this.props as AppProps\n\n return \n }\n}\n"],"names":["App","appGetInitialProps","Component","ctx","pageProps","loadGetInitialProps","React","origGetInitialProps","getInitialProps","render","props"],"mappings":";;;+BAiCA,WAAA;;;eAAqBA;;;;;gEAjCH;uBAWkB;AAUpC;;;CAGC,GACD,eAAeC,mBAAmB,EAChCC,SAAS,EACTC,GAAG,EACQ;IACX,MAAMC,YAAY,MAAMC,CAAAA,GAAAA,OAAAA,mBAAmB,EAACH,WAAWC;IACvD,OAAO;QAAEC;IAAU;AACrB;AAEe,MAAMJ,YAAsCM,OAAAA,OAAK,CAACJ,SAAS;;aAIjEK,mBAAAA,GAAsBN;;;aACtBO,eAAAA,GAAkBP;;IAEzBQ,SAAS;QACP,MAAM,EAAEP,SAAS,EAAEE,SAAS,EAAE,GAAG,IAAI,CAACM,KAAK;QAE3C,OAAA,WAAA,GAAO,CAAA,GAAA,YAAA,GAAA,EAACR,WAAAA;YAAW,GAAGE,SAAS;;IACjC;AACF","ignoreList":[0]}}, + {"offset": {"line": 62, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/shared/lib/utils.ts"],"sourcesContent":["import type { HtmlProps } from './html-context.shared-runtime'\nimport type { ComponentType, JSX } from 'react'\nimport type { DomainLocale } from '../../server/config'\nimport type { Env } from '@next/env'\nimport type { IncomingMessage, ServerResponse } from 'http'\nimport type { NextRouter } from './router/router'\nimport type { ParsedUrlQuery } from 'querystring'\nimport type { PreviewData } from '../../types'\nimport type { COMPILER_NAMES } from './constants'\nimport type fs from 'fs'\n\nexport type NextComponentType<\n Context extends BaseContext = NextPageContext,\n InitialProps = {},\n Props = {},\n> = ComponentType & {\n /**\n * Used for initial page load data population. Data returned from `getInitialProps` is serialized when server rendered.\n * Make sure to return plain `Object` without using `Date`, `Map`, `Set`.\n * @param context Context of `page`\n */\n getInitialProps?(context: Context): InitialProps | Promise\n}\n\nexport type DocumentType = NextComponentType<\n DocumentContext,\n DocumentInitialProps,\n DocumentProps\n>\n\nexport type AppType

= NextComponentType<\n AppContextType,\n P,\n AppPropsType\n>\n\nexport type AppTreeType = ComponentType<\n AppInitialProps & { [name: string]: any }\n>\n\n/**\n * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.\n * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting\n */\nexport const WEB_VITALS = ['CLS', 'FCP', 'INP', 'LCP', 'TTFB'] as const\nexport type NextWebVitalsMetric = {\n id: string\n startTime: number\n value: number\n attribution?: { [key: string]: unknown }\n} & (\n | {\n label: 'web-vital'\n name: (typeof WEB_VITALS)[number]\n }\n | {\n label: 'custom'\n name:\n | 'Next.js-hydration'\n | 'Next.js-route-change-to-render'\n | 'Next.js-render'\n }\n)\n\nexport type Enhancer = (Component: C) => C\n\nexport type ComponentsEnhancer =\n | {\n enhanceApp?: Enhancer\n enhanceComponent?: Enhancer\n }\n | Enhancer\n\nexport type RenderPageResult = {\n html: string\n head?: Array\n}\n\nexport type RenderPage = (\n options?: ComponentsEnhancer\n) => DocumentInitialProps | Promise\n\nexport type BaseContext = {\n res?: ServerResponse\n [k: string]: any\n}\n\nexport type NEXT_DATA = {\n props: Record\n page: string\n query: ParsedUrlQuery\n buildId: string\n assetPrefix?: string\n nextExport?: boolean\n autoExport?: boolean\n isFallback?: boolean\n isExperimentalCompile?: boolean\n dynamicIds?: (string | number)[]\n err?: Error & {\n statusCode?: number\n source?: typeof COMPILER_NAMES.server | typeof COMPILER_NAMES.edgeServer\n }\n gsp?: boolean\n gssp?: boolean\n customServer?: boolean\n gip?: boolean\n appGip?: boolean\n locale?: string\n locales?: readonly string[]\n defaultLocale?: string\n domainLocales?: readonly DomainLocale[]\n scriptLoader?: any[]\n isPreview?: boolean\n notFoundSrcPage?: string\n}\n\n/**\n * `Next` context\n */\nexport interface NextPageContext {\n /**\n * Error object if encountered during rendering\n */\n err?: (Error & { statusCode?: number }) | null\n /**\n * `HTTP` request object.\n */\n req?: IncomingMessage\n /**\n * `HTTP` response object.\n */\n res?: ServerResponse\n /**\n * Path section of `URL`.\n */\n pathname: string\n /**\n * Query string section of `URL` parsed as an object.\n */\n query: ParsedUrlQuery\n /**\n * `String` of the actual path including query.\n */\n asPath?: string\n /**\n * The currently active locale\n */\n locale?: string\n /**\n * All configured locales\n */\n locales?: readonly string[]\n /**\n * The configured default locale\n */\n defaultLocale?: string\n /**\n * `Component` the tree of the App to use if needing to render separately\n */\n AppTree: AppTreeType\n}\n\nexport type AppContextType = {\n Component: NextComponentType\n AppTree: AppTreeType\n ctx: NextPageContext\n router: Router\n}\n\nexport type AppInitialProps = {\n pageProps: PageProps\n}\n\nexport type AppPropsType<\n Router extends NextRouter = NextRouter,\n PageProps = {},\n> = AppInitialProps & {\n Component: NextComponentType\n router: Router\n __N_SSG?: boolean\n __N_SSP?: boolean\n}\n\nexport type DocumentContext = NextPageContext & {\n renderPage: RenderPage\n defaultGetInitialProps(\n ctx: DocumentContext,\n options?: { nonce?: string }\n ): Promise\n}\n\nexport type DocumentInitialProps = RenderPageResult & {\n styles?: React.ReactElement[] | Iterable | JSX.Element\n}\n\nexport type DocumentProps = DocumentInitialProps & HtmlProps\n\n/**\n * Next `API` route request\n */\nexport interface NextApiRequest extends IncomingMessage {\n /**\n * Object of `query` values from url\n */\n query: Partial<{\n [key: string]: string | string[]\n }>\n /**\n * Object of `cookies` from header\n */\n cookies: Partial<{\n [key: string]: string\n }>\n\n body: any\n\n env: Env\n\n draftMode?: boolean\n\n preview?: boolean\n /**\n * Preview data set on the request, if any\n * */\n previewData?: PreviewData\n}\n\n/**\n * Send body of response\n */\ntype Send = (body: T) => void\n\n/**\n * Next `API` route response\n */\nexport type NextApiResponse = ServerResponse & {\n /**\n * Send data `any` data in response\n */\n send: Send\n /**\n * Send data `json` data in response\n */\n json: Send\n status: (statusCode: number) => NextApiResponse\n redirect(url: string): NextApiResponse\n redirect(status: number, url: string): NextApiResponse\n\n /**\n * Set draft mode\n */\n setDraftMode: (options: { enable: boolean }) => NextApiResponse\n\n /**\n * Set preview data for Next.js' prerender mode\n */\n setPreviewData: (\n data: object | string,\n options?: {\n /**\n * Specifies the number (in seconds) for the preview session to last for.\n * The given number will be converted to an integer by rounding down.\n * By default, no maximum age is set and the preview session finishes\n * when the client shuts down (browser is closed).\n */\n maxAge?: number\n /**\n * Specifies the path for the preview session to work under. By default,\n * the path is considered the \"default path\", i.e., any pages under \"/\".\n */\n path?: string\n }\n ) => NextApiResponse\n\n /**\n * Clear preview data for Next.js' prerender mode\n */\n clearPreviewData: (options?: { path?: string }) => NextApiResponse\n\n /**\n * Revalidate a specific page and regenerate it using On-Demand Incremental\n * Static Regeneration.\n * The path should be an actual path, not a rewritten path. E.g. for\n * \"/blog/[slug]\" this should be \"/blog/post-1\".\n * @link https://nextjs.org/docs/app/building-your-application/data-fetching/incremental-static-regeneration#on-demand-revalidation-with-revalidatepath\n */\n revalidate: (\n urlPath: string,\n opts?: {\n unstable_onlyGenerated?: boolean\n }\n ) => Promise\n}\n\n/**\n * Next `API` route handler\n */\nexport type NextApiHandler = (\n req: NextApiRequest,\n res: NextApiResponse\n) => unknown | Promise\n\n/**\n * Utils\n */\nexport function execOnce ReturnType>(\n fn: T\n): T {\n let used = false\n let result: ReturnType\n\n return ((...args: any[]) => {\n if (!used) {\n used = true\n result = fn(...args)\n }\n return result\n }) as T\n}\n\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/\nexport const isAbsoluteUrl = (url: string) => {\n // Fast path: an absolute URL must start with a letter (the scheme).\n // Check for a-z and A-Z without the cost of the regex.\n const c = url.charCodeAt(0)\n const isLetter =\n (c >= 65 /* A */ && c <= 90) /* Z */ ||\n (c >= 97 /* a */ && c <= 122) /* z */\n if (!isLetter) {\n return false\n }\n\n return ABSOLUTE_URL_REGEX.test(url)\n}\n\nexport function getLocationOrigin() {\n const { protocol, hostname, port } = window.location\n return `${protocol}//${hostname}${port ? ':' + port : ''}`\n}\n\nexport function getURL() {\n const { href } = window.location\n const origin = getLocationOrigin()\n return href.substring(origin.length)\n}\n\nexport function getDisplayName

(Component: ComponentType

) {\n return typeof Component === 'string'\n ? Component\n : Component.displayName || Component.name || 'Unknown'\n}\n\nexport function isResSent(res: ServerResponse) {\n return res.finished || res.headersSent\n}\n\nexport function normalizeRepeatedSlashes(url: string) {\n const urlParts = url.split('?')\n const urlNoQuery = urlParts[0]\n\n return (\n urlNoQuery\n // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/')\n .replace(/\\/\\/+/g, '/') +\n (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '')\n )\n}\n\nexport async function loadGetInitialProps<\n C extends BaseContext,\n IP = {},\n P = {},\n>(App: NextComponentType, ctx: C): Promise {\n if (process.env.NODE_ENV !== 'production') {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`\n throw new Error(message)\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || (ctx.ctx && ctx.ctx.res)\n\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx),\n }\n }\n return {} as IP\n }\n\n const props = await App.getInitialProps(ctx)\n\n if (res && isResSent(res)) {\n return props\n }\n\n if (!props) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`\n throw new Error(message)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\n `${getDisplayName(\n App\n )} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`\n )\n }\n }\n\n return props\n}\n\nexport const SP = typeof performance !== 'undefined'\nexport const ST =\n SP &&\n (['mark', 'measure', 'getEntriesByName'] as const).every(\n (method) => typeof performance[method] === 'function'\n )\n\nexport class DecodeError extends Error {}\nexport class NormalizeError extends Error {}\nexport class PageNotFoundError extends Error {\n code: string\n\n constructor(page: string) {\n super()\n this.code = 'ENOENT'\n this.name = 'PageNotFoundError'\n this.message = `Cannot find module for page: ${page}`\n }\n}\n\nexport class MissingStaticPage extends Error {\n constructor(page: string, message: string) {\n super()\n this.message = `Failed to load static file for page: ${page} ${message}`\n }\n}\n\nexport class MiddlewareNotFoundError extends Error {\n code: string\n constructor() {\n super()\n this.code = 'ENOENT'\n this.message = `Cannot find the middleware module`\n }\n}\n\nexport interface CacheFs {\n existsSync: typeof fs.existsSync\n readFile: typeof fs.promises.readFile\n readFileSync: typeof fs.readFileSync\n writeFile(f: string, d: any): Promise\n /** Publish a complete file without replacing an existing destination. */\n writeFileAtomic?(f: string, d: any): Promise\n mkdir(dir: string): Promise\n stat(f: string): Promise<{ mtime: Date }>\n}\n\nexport function stringifyError(error: Error) {\n return JSON.stringify({ message: error.message, stack: error.stack })\n}\n"],"names":["DecodeError","MiddlewareNotFoundError","MissingStaticPage","NormalizeError","PageNotFoundError","SP","ST","WEB_VITALS","execOnce","getDisplayName","getLocationOrigin","getURL","isAbsoluteUrl","isResSent","loadGetInitialProps","normalizeRepeatedSlashes","stringifyError","fn","used","result","args","ABSOLUTE_URL_REGEX","url","c","charCodeAt","isLetter","test","protocol","hostname","port","window","location","href","origin","substring","length","Component","displayName","name","res","finished","headersSent","urlParts","split","urlNoQuery","replace","slice","join","App","ctx","process","env","NODE_ENV","prototype","getInitialProps","message","Error","pageProps","props","Object","keys","console","warn","performance","every","method","constructor","page","code","error","JSON","stringify","stack"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 282, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/app.js"],"sourcesContent":["module.exports = require('./dist/pages/_app')\n"],"names":["module","exports"],"mappings":"AAAAA,OAAOC,OAAO","ignoreList":[0]}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__10g_b18_6epw0._.js b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__10g_b18_6epw0._.js new file mode 100644 index 0000000000000000000000000000000000000000..50c9517fd1edabbb53dc5eac4d6a4707cedf6bbb --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__10g_b18_6epw0._.js @@ -0,0 +1,119 @@ +module.exports = [ +"[externals]/next/dist/shared/lib/no-fallback-error.external.js [external] (next/dist/shared/lib/no-fallback-error.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +var mod = __turbopack_context__.x("next/dist/shared/lib/no-fallback-error.external.js", () => require("next/dist/shared/lib/no-fallback-error.external.js")); + +module.exports = mod; +}), +"[project]/app/[locale]/page.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>HomePage +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$server$2f$react$2d$server$2f$getTranslations$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__getTranslations$3e$__ = __turbopack_context__.i("[project]/node_modules/next-intl/dist/esm/development/server/react-server/getTranslations.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$right$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowRight$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-right.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/components/ui/button.tsx [app-rsc] (ecmascript)"); +; +; +; +; +async function HomePage({ params }) { + const { locale } = await params; + console.error("[DEBUG] HomePage locale =", locale); + try { + const t = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$intl$2f$dist$2f$esm$2f$development$2f$server$2f$react$2d$server$2f$getTranslations$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__getTranslations$3e$__["getTranslations"])({ + locale: locale, + namespace: "home" + }); + console.error("[DEBUG] HomePage t(title) =", t("title"), " t(hero) =", t("hero")); + return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Fragment"], { + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("h1", { + className: "text-3xl font-bold tracking-tight", + children: t("title") + }, void 0, false, { + fileName: "[project]/app/[locale]/page.tsx", + lineNumber: 14, + columnNumber: 9 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("p", { + className: "mt-3 text-muted-foreground text-lg", + children: t("hero") + }, void 0, false, { + fileName: "[project]/app/[locale]/page.tsx", + lineNumber: 15, + columnNumber: 9 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + className: "mt-6 flex gap-3", + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Button"], { + children: [ + "Catalog ", + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$right$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowRight$3e$__["ArrowRight"], { + className: "ml-2 h-4 w-4" + }, void 0, false, { + fileName: "[project]/app/[locale]/page.tsx", + lineNumber: 17, + columnNumber: 27 + }, this) + ] + }, void 0, true, { + fileName: "[project]/app/[locale]/page.tsx", + lineNumber: 17, + columnNumber: 11 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Button"], { + variant: "outline", + children: "About" + }, void 0, false, { + fileName: "[project]/app/[locale]/page.tsx", + lineNumber: 18, + columnNumber: 11 + }, this) + ] + }, void 0, true, { + fileName: "[project]/app/[locale]/page.tsx", + lineNumber: 16, + columnNumber: 9 + }, this) + ] + }, void 0, true, { + fileName: "[project]/app/[locale]/page.tsx", + lineNumber: 13, + columnNumber: 7 + }, this); + } catch (e) { + console.error("[DEBUG] HomePage ERROR:", e); + throw e; + } +} +}), +"[project]/app/[locale]/page.tsx [app-rsc] (ecmascript, Next.js Server Component)", (function(__turbopack_context__){ + +__turbopack_context__.n(__turbopack_context__.i("[project]/app/[locale]/page.tsx [app-rsc] (ecmascript)")); +}), +"[project]/app/favicon.ico (static in ecmascript, tag client)", ((__turbopack_context__) => { + +__turbopack_context__.v("/_next/static/media/favicon.117ezoe8m31dk.ico" + (globalThis["NEXT_CLIENT_ASSET_SUFFIX"] || ''));}), +"[project]/app/favicon.ico.mjs { IMAGE => \"[project]/app/favicon.ico (static in ecmascript, tag client)\" } [app-rsc] (structured image object, ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>__TURBOPACK__default__export__ +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$app$2f$favicon$2e$ico__$28$static__in__ecmascript$2c$__tag__client$29$__ = __turbopack_context__.i("[project]/app/favicon.ico (static in ecmascript, tag client)"); +; +const __TURBOPACK__default__export__ = { + src: __TURBOPACK__imported__module__$5b$project$5d2f$app$2f$favicon$2e$ico__$28$static__in__ecmascript$2c$__tag__client$29$__["default"], + width: 48, + height: 48 +}; +}), +]; + +//# sourceMappingURL=%5Broot-of-the-server%5D__10g_b18_6epw0._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__10g_b18_6epw0._.js.map b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__10g_b18_6epw0._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8e9bc50cf6e8221fcf848624f437887ddc90c9db --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[root-of-the-server]__10g_b18_6epw0._.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 10, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/app/[locale]/page.tsx"],"sourcesContent":["import { getTranslations } from \"next-intl/server\";\nimport { ArrowRight } from \"lucide-react\";\nimport { Button } from \"@/components/ui/button\";\nimport type { Locale } from \"../../i18n/routing\";\n\nexport default async function HomePage({ params }: { params: Promise<{ locale: string }> }) {\n const { locale } = await params;\n console.error(\"[DEBUG] HomePage locale =\", locale);\n try {\n const t = await getTranslations({ locale: locale as Locale, namespace: \"home\" });\n console.error(\"[DEBUG] HomePage t(title) =\", t(\"title\"), \" t(hero) =\", t(\"hero\"));\n return (\n <>\n

{t(\"title\")}

\n

{t(\"hero\")}

\n
\n \n \n
\n \n );\n } catch (e) {\n console.error(\"[DEBUG] HomePage ERROR:\", e);\n throw e;\n }\n}\n"],"names":["HomePage","params","locale","console","error","t","namespace","className","variant","e"],"mappings":";;;;;AAAA;AACA;AACA;;;;;AAGe,eAAeA,SAAS,EAAEC,MAAM,EAA2C;IACxF,MAAM,EAAEC,MAAM,EAAE,GAAG,MAAMD;IACzBE,QAAQC,KAAK,CAAC,6BAA6BF;IAC3C,IAAI;QACF,MAAMG,IAAI,MAAM,IAAA,2QAAe,EAAC;YAAEH,QAAQA;YAAkBI,WAAW;QAAO;QAC9EH,QAAQC,KAAK,CAAC,+BAA+BC,EAAE,UAAU,cAAcA,EAAE;QACzE,qBACE;;8BACE,8OAAC;oBAAGE,WAAU;8BAAqCF,EAAE;;;;;;8BACrD,8OAAC;oBAAEE,WAAU;8BAAsCF,EAAE;;;;;;8BACrD,8OAAC;oBAAIE,WAAU;;sCACb,8OAAC,qIAAM;;gCAAC;8CAAQ,8OAAC,gOAAU;oCAACA,WAAU;;;;;;;;;;;;sCACtC,8OAAC,qIAAM;4BAACC,SAAQ;sCAAU;;;;;;;;;;;;;;;;;;IAIlC,EAAE,OAAOC,GAAG;QACVN,QAAQC,KAAK,CAAC,2BAA2BK;QACzC,MAAMA;IACR;AACF"}}, + {"offset": {"line": 104, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/app/favicon.ico.mjs%20(structured%20image%20object)"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 48, height: 48 }\n"],"names":["src","width","height"],"mappings":";;;;AAAA;;uCACe;IAAEA,KAAAA,mIAAG;IAAEC,OAAO;IAAIC,QAAQ;AAAG"}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[turbopack]_runtime.js b/e-commerce/.next/dev/server/chunks/ssr/[turbopack]_runtime.js new file mode 100644 index 0000000000000000000000000000000000000000..7e9342ac685777ff0395070eb0146a3b4dfa49b8 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[turbopack]_runtime.js @@ -0,0 +1,1959 @@ +var RUNTIME_PUBLIC_PATH = "server/chunks/ssr/[turbopack]_runtime.js"; +var RELATIVE_ROOT_PATH = "../.."; +var ASSET_PREFIX = "/_next/"; +// Apply forwarded globals from workerData if running in a worker thread +if (typeof require !== 'undefined') { + try { + var { workerData } = require('worker_threads'); + if (workerData?.__turbopack_globals__) { + Object.assign(globalThis, workerData.__turbopack_globals__); + // Remove internal data so it's not visible to user code + delete workerData.__turbopack_globals__; + } + } catch (_) { + // Not in a worker thread context, ignore + } +} +/** + * This file contains runtime types and functions that are shared between all + * TurboPack ECMAScript runtimes. + * + * It will be prepended to the runtime code of each runtime. + */ /* eslint-disable @typescript-eslint/no-unused-vars */ /// +/// +/** + * Describes why a module was instantiated. + * Shared between browser and Node.js runtimes. + */ var SourceType = /*#__PURE__*/ function(SourceType) { + /** + * The module was instantiated because it was included in an evaluated chunk's + * runtime. + * SourceData is a ChunkPath. + */ SourceType[SourceType["Runtime"] = 0] = "Runtime"; + /** + * The module was instantiated because a parent module imported it. + * SourceData is a ModuleId. + */ SourceType[SourceType["Parent"] = 1] = "Parent"; + /** + * The module was instantiated because it was included in a chunk's hot module + * update. + * SourceData is an array of ModuleIds or undefined. + */ SourceType[SourceType["Update"] = 2] = "Update"; + return SourceType; +}(SourceType || {}); +/** + * Flag indicating which module object type to create when a module is merged. Set to `true` + * by each runtime that uses ModuleWithDirection (browser dev-base.ts, nodejs dev-base.ts, + * nodejs build-base.ts). Browser production (build-base.ts) leaves it as `false` since it + * uses plain Module objects. + */ let createModuleWithDirectionFlag = false; +const REEXPORTED_OBJECTS = new WeakMap(); +/** + * Constructs the `__turbopack_context__` object for a module. + */ function Context(module, exports) { + this.m = module; + // We need to store this here instead of accessing it from the module object to: + // 1. Make it available to factories directly, since we rewrite `this` to + // `__turbopack_context__.e` in CJS modules. + // 2. Support async modules which rewrite `module.exports` to a promise, so we + // can still access the original exports object from functions like + // `esmExport` + // Ideally we could find a new approach for async modules and drop this property altogether. + this.e = exports; +} +const contextPrototype = Context.prototype; +const hasOwnProperty = Object.prototype.hasOwnProperty; +const toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag; +function defineProp(obj, name, options) { + if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options); +} +function getOverwrittenModule(moduleCache, id) { + let module = moduleCache.get(id); + if (module === undefined) { + if (createModuleWithDirectionFlag) { + // set in development modes for hmr support + module = createModuleWithDirection(id); + } else { + module = createModuleObject(id); + } + moduleCache.set(id, module); + } + return module; +} +/** + * Creates the module object. Only done here to ensure all module objects have the same shape. + */ function createModuleObject(id) { + return { + exports: {}, + error: undefined, + id, + namespaceObject: undefined + }; +} +function createModuleWithDirection(id) { + return { + exports: {}, + error: undefined, + id, + namespaceObject: undefined, + parents: [], + children: [] + }; +} +const BindingTag_Value = 0; +/** + * Terminates a module's group of entries in an {@link EsmReexports} list. + */ const REEXPORT_GROUP_END = 0; +/** + * Adds the getters to the exports object. + */ function esm(exports, bindings, dynamic) { + defineProp(exports, '__esModule', { + value: true + }); + if (toStringTag) defineProp(exports, toStringTag, { + value: 'Module' + }); + let i = 0; + while(i < bindings.length){ + const propName = bindings[i++]; + const tagOrFunction = bindings[i++]; + if (typeof tagOrFunction === 'number') { + if (tagOrFunction === BindingTag_Value) { + defineProp(exports, propName, { + value: bindings[i++], + enumerable: true, + writable: false + }); + } else { + throw new Error(`unexpected tag: ${tagOrFunction}`); + } + } else { + const getterFn = tagOrFunction; + if (typeof bindings[i] === 'function') { + const setterFn = bindings[i++]; + defineProp(exports, propName, { + get: getterFn, + set: setterFn, + enumerable: true + }); + } else { + defineProp(exports, propName, { + get: getterFn, + enumerable: true + }); + } + } + } + // The properties defined above are already non-configurable and + // non-writable, so the namespace's existing exports are effectively + // immutable. Sealing additionally makes the object non-extensible, matching + // real ESM-namespace semantics. Modules with dynamic re-exports + // (`export *` from a CommonJS module) must stay extensible so the dynamic + // export proxy can surface keys discovered at runtime, so skip the seal for + // them. + if (!dynamic) Object.seal(exports); +} +/** + * Makes the module an ESM with exports + */ function esmExport(bindings, id, dynamic) { + let module; + let exports; + if (id != null) { + module = getOverwrittenModule(this.c, id); + exports = module.exports; + } else { + module = this.m; + exports = this.e; + } + module.namespaceObject = exports; + esm(exports, bindings, dynamic); +} +contextPrototype.s = esmExport; +/** + * Registers re-exports that all forward to properties of other modules. + * + * This is a compact spelling of the pattern + * + * ```js + * var ns = context.i(moduleId) + * context.s([exportName, () => ns[importedName], ...]) + * ``` + * + * The list is a flat sequence of groups. Each group starts with the source the exports come from, + * followed by that group's entries, and is terminated by the `0` sentinel (or the end of the list). + * + * The group head is either a **module id**, which is instantiated here: + * + * ```js + * context.S([ + * 76061, 'default', 'f', 'named', 'A', 0, + * 29842, 'otherModule', 'f', + * ]) + * ``` + * + * or the **namespace value** of a module that has already been imported, which is used directly: + * + * ```js + * var ns1 = context.i(76061) + * context.S([ns1, 'default', 'f', 'named', 'A']) + * ``` + * + * The producer picks the namespace form when it has generated the import anyway -- because some + * later import must not be reordered past it -- so nothing is instantiated twice. The two are told + * apart by type: a module id is always a string or number. A CommonJS function export produces a + * callable namespace value, so namespace heads can be functions as well as objects. + * + * Entries are `exportName, importedName` pairs, except when a group holds exactly one string. That + * string is then a comma-joined list of the same pairs, which saves the repeated quoting: + * + * ```js + * context.S([ + * 76061, 'default,f,named,A', 0, + * 29842, 'otherModule,f', + * ]) + * ``` + * + * The producer picks that spelling independently for each group whose names contain no commas, + * since that group's names are recovered by splitting on them. + * + * Groups whose head is a module id are instantiated in list order, at the point where the call + * appears, so the producer must not merge such a group across an import of another module. The + * destination reuses a source data value or getter descriptor when one exists, falling back to a + * wrapper getter for dynamic/proxy/inherited properties. + * + * `id` names the module the exports belong to when this module was merged into a scope-hoisting + * group, exactly as it does for {@link EsmExport}. + * + * Only the source descriptor's payload (value or getter) is reused. {@link esm} still defines a + * fresh enumerable, non-configurable destination property, and no source setter is ever forwarded. + */ function esmReexport(list, id) { + const bindings = []; + let i = 0; + while(i < list.length){ + const head = list[i++]; + const start = i; + while(i < list.length && list[i] !== REEXPORT_GROUP_END)i++; + const end = i; + // Skip the sentinel, if this group was terminated by one rather than by the end of the list. + i++; + // Module ids are always strings or numbers. Other values are already-imported namespaces; + // notably, interop with a CommonJS function export produces a callable namespace function. + // `esmImport` may return a promise for an async module, but re-exports of async modules keep + // going through `context.s`, so the producer never routes them here and this stays synchronous. + const namespace = typeof head === 'string' || typeof head === 'number' ? esmImport.call(this, head) : head; + if (end - start === 1) { + const pairs = list[start].split(','); + for(let j = 0; j < pairs.length; j += 2){ + appendReexportBinding(bindings, pairs[j], namespace, pairs[j + 1]); + } + } else { + for(let j = start; j < end; j += 2){ + appendReexportBinding(bindings, list[j], namespace, list[j + 1]); + } + } + } + esmExport.call(this, bindings, id); +} +contextPrototype.S = esmReexport; +function appendReexportBinding(bindings, exportedName, namespace, importedName) { + const descriptor = Reflect.getOwnPropertyDescriptor(namespace, importedName); + if (descriptor) { + if ('value' in descriptor) { + // Code generation only routes immutable imported bindings through this helper, so a data + // descriptor is a constant export and can be captured once. + bindings.push(exportedName, BindingTag_Value, descriptor.value); + return; + } + if (descriptor.get) { + // Accessors remain live by reusing the source getter. `esmReexport` is only called by + // generated code: every group head is either produced by + // `this.i` or is the namespace variable from a generated `this.i` call. Every getter on such + // a namespace is receiver-independent: ESM bindings are compiler-generated arrow functions, + // and the CommonJS/dynamic-namespace paths create arrows in `createGetter` and + // `getOwnPropertyDescriptor`. The destination can therefore reuse the exact function instead + // of allocating another wrapper getter. + bindings.push(exportedName, descriptor.get); + return; + } + } + // Dynamic/proxy/inherited CommonJS edge cases may not expose a usable own descriptor. + bindings.push(exportedName, ()=>namespace[importedName]); +} +function ensureDynamicExports(module, exports) { + let reexportedObjects = REEXPORTED_OBJECTS.get(module); + if (!reexportedObjects) { + REEXPORTED_OBJECTS.set(module, reexportedObjects = []); + // Returns the re-exported object that provides `prop` as an own property, + // or `undefined` if none does. The traps share this logic so they always + // agree on which keys are synthesized from `reexportedObjects`. `default` + // is never re-exported by `export *`, so it is never synthesized. + const reexportOwning = (prop)=>{ + if (prop !== 'default') { + for (const obj of reexportedObjects){ + if (hasOwnProperty.call(obj, prop)) return obj; + } + } + return undefined; + }; + // Modules with dynamic re-exports are not sealed by `esm()`, so the + // target beneath the namespace stays extensible. That is what lets the + // `ownKeys` and `getOwnPropertyDescriptor` traps legally report keys that + // exist on `reexportedObjects` but not on the target itself. + module.exports = module.namespaceObject = new Proxy(exports, { + get (target, prop) { + if (hasOwnProperty.call(target, prop) || prop === 'default' || prop === '__esModule') { + return Reflect.get(target, prop); + } + const obj = reexportOwning(prop); + return obj && Reflect.get(obj, prop); + }, + // The namespace is read-only, like a real esm namespace object. The + // re-exported modules can still mutate their own exports (exposed live + // via `get`), but mutating the namespace itself is rejected. Refusing + // here, rather than forwarding to the extensible target, also prevents an + // assignment/definition from shadowing a dynamic re-export. It also + // prevents delete from removing a static export. + set () { + return false; + }, + defineProperty () { + return false; + }, + deleteProperty () { + return false; + }, + // The `has` trap ensures that `'exportName' in starImports` will reflect + // the truth of whether a key is exported. + has (target, prop) { + if (Reflect.has(target, prop)) return true; + if (prop === 'default' || prop === '__esModule') return false; + return reexportOwning(prop) !== undefined; + }, + // ownKeys and getOwnPropertyDescriptor together make the keys enumerable. + // If a value is returned from `ownKeys` but its property descriptor is + // not enumerable, it will not be visible to iterator methods. + // Collectively, they allow code like the following: + // + // ``` + // // module.js re-exports dynamic CJS exports + // export * from './legacyModule.cjs' + // + // // from another JS file, reference the re-exported dynamic values + // import * as Namespace from './module.js' + // Object.keys(Namespace) + // ``` + ownKeys (target) { + const keys = Reflect.ownKeys(target); + for (const obj of reexportedObjects){ + for (const key of Reflect.ownKeys(obj)){ + if (key !== 'default' && !keys.includes(key)) keys.push(key); + } + } + return keys; + }, + getOwnPropertyDescriptor (target, prop) { + const own = Reflect.getOwnPropertyDescriptor(target, prop); + if (own || prop === 'default' || prop === '__esModule') return own; + const obj = reexportOwning(prop); + if (obj) { + // Synthetic keys don't exist on the target, so they MUST be + // reported as configurable. However the set/delete traps above will + // prevent them from actually being changed + return { + enumerable: true, + configurable: true, + get: ()=>Reflect.get(obj, prop) + }; + } + return undefined; + } + }); + } + return reexportedObjects; +} +/** + * Dynamically exports properties from an object + */ function dynamicExport(object, id) { + let module; + let exports; + if (id != null) { + module = getOverwrittenModule(this.c, id); + exports = module.exports; + } else { + module = this.m; + exports = this.e; + } + const reexportedObjects = ensureDynamicExports(module, exports); + if (typeof object === 'object' && object !== null) { + reexportedObjects.push(object); + } +} +contextPrototype.j = dynamicExport; +function exportValue(value, id) { + let module; + if (id != null) { + module = getOverwrittenModule(this.c, id); + } else { + module = this.m; + } + module.exports = value; +} +contextPrototype.v = exportValue; +function exportNamespace(namespace, id) { + let module; + if (id != null) { + module = getOverwrittenModule(this.c, id); + } else { + module = this.m; + } + module.exports = module.namespaceObject = namespace; +} +contextPrototype.n = exportNamespace; +function createGetter(obj, key) { + return ()=>obj[key]; +} +/** + * @returns prototype of the object + */ const getProto = Object.getPrototypeOf ? (obj)=>Object.getPrototypeOf(obj) : (obj)=>obj.__proto__; +/** Prototypes that are not expanded for exports */ const LEAF_PROTOTYPES = [ + null, + getProto({}), + getProto([]), + getProto(getProto) +]; +/** + * @param raw + * @param ns + * @param allowExportDefault + * * `false`: will have the raw module as default export + * * `true`: will have the default property as default export + */ function interopEsm(raw, ns, allowExportDefault) { + const bindings = []; + let defaultLocation = -1; + for(let current = raw; (typeof current === 'object' || typeof current === 'function') && !LEAF_PROTOTYPES.includes(current); current = getProto(current)){ + for (const key of Object.getOwnPropertyNames(current)){ + bindings.push(key, createGetter(raw, key)); + if (defaultLocation === -1 && key === 'default') { + defaultLocation = bindings.length - 1; + } + } + } + // this is not really correct + // we should set the `default` getter if the imported module is a `.cjs file` + if (!(allowExportDefault && defaultLocation >= 0)) { + // Replace the binding with one for the namespace itself in order to preserve iteration order. + if (defaultLocation >= 0) { + // Replace the getter with the value + bindings.splice(defaultLocation, 1, BindingTag_Value, raw); + } else { + bindings.push('default', BindingTag_Value, raw); + } + } + esm(ns, bindings); + return ns; +} +function createNS(raw) { + if (typeof raw === 'function') { + return function(...args) { + return raw.apply(this, args); + }; + } else { + return Object.create(null); + } +} +function esmImport(id) { + const module = getOrInstantiateModuleFromParent(id, this.m); + // any ES module has to have `module.namespaceObject` defined. + if (module.namespaceObject) return module.namespaceObject; + // only ESM can be an async module, so we don't need to worry about exports being a promise here. + const raw = module.exports; + return module.namespaceObject = interopEsm(raw, createNS(raw), raw && raw.__esModule); +} +contextPrototype.i = esmImport; +function asyncLoader(moduleId) { + const loader = this.r(moduleId); + return loader(esmImport.bind(this)); +} +contextPrototype.A = asyncLoader; +// Add a simple runtime require so that environments without one can still pass +// `typeof require` CommonJS checks so that exports are correctly registered. +const runtimeRequire = // @ts-ignore +typeof require === 'function' ? require : function require1() { + throw new Error('Unexpected use of runtime require'); +}; +contextPrototype.t = runtimeRequire; +function commonJsRequire(id) { + return getOrInstantiateModuleFromParent(id, this.m).exports; +} +contextPrototype.r = commonJsRequire; +/** + * Remove fragments and query parameters since they are never part of the context map keys + * + * This matches how we parse patterns at resolving time. Arguably we should only do this for + * strings passed to `import` but the resolve does it for `import` and `require` and so we do + * here as well. + */ function parseRequest(request) { + // Per the URI spec fragments can contain `?` characters, so we should trim it off first + // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5 + const hashIndex = request.indexOf('#'); + if (hashIndex !== -1) { + request = request.substring(0, hashIndex); + } + const queryIndex = request.indexOf('?'); + if (queryIndex !== -1) { + request = request.substring(0, queryIndex); + } + return request; +} +/** + * `require.context` and require/import expression runtime. + */ function moduleContext(map) { + function moduleContext(id) { + id = parseRequest(id); + if (hasOwnProperty.call(map, id)) { + return map[id].module(); + } + const e = new Error(`Cannot find module '${id}'`); + e.code = 'MODULE_NOT_FOUND'; + throw e; + } + moduleContext.keys = ()=>{ + return Object.keys(map); + }; + moduleContext.resolve = (id)=>{ + id = parseRequest(id); + if (hasOwnProperty.call(map, id)) { + return map[id].id(); + } + const e = new Error(`Cannot find module '${id}'`); + e.code = 'MODULE_NOT_FOUND'; + throw e; + }; + moduleContext.import = async (id)=>{ + return await moduleContext(id); + }; + return moduleContext; +} +contextPrototype.f = moduleContext; +/** + * Returns the path of a chunk defined by its data. + */ function getChunkPath(chunkData) { + return typeof chunkData === 'string' ? chunkData : chunkData.path; +} +// Load the CompressedModuleFactories of a chunk into the `moduleFactories` Map. +// The flat format alternates one or more module IDs with their factory function. +// Strict factories can be prepended as a nested array. +function installCompressedModuleFactories(chunkModules, offset, moduleFactories, newModuleId) { + let i = offset; + const strictFactories = chunkModules[i]; + if (Array.isArray(strictFactories)) { + installCompressedModuleFactories(strictFactories, 0, moduleFactories, newModuleId); + i++; + } + while(i < chunkModules.length){ + let end = i + 1; + // Find our factory function + while(end < chunkModules.length && typeof chunkModules[end] !== 'function'){ + end++; + } + if (end === chunkModules.length) { + throw new Error('malformed chunk format, expected a factory function'); + } + // Install the factory for each module ID that doesn't already have one. + // When some IDs in this group already have a factory, reuse that existing + // group factory for the missing IDs to keep all IDs in the group consistent. + // Otherwise, install the factory from this chunk. + const moduleFactoryFn = chunkModules[end]; + let existingGroupFactory = undefined; + for(let j = i; j < end; j++){ + const id = chunkModules[j]; + const existingFactory = moduleFactories.get(id); + if (existingFactory) { + existingGroupFactory = existingFactory; + break; + } + } + const factoryToInstall = existingGroupFactory ?? moduleFactoryFn; + let didInstallFactory = false; + for(let j = i; j < end; j++){ + const id = chunkModules[j]; + if (!moduleFactories.has(id)) { + if (!didInstallFactory) { + if (factoryToInstall === moduleFactoryFn) { + applyModuleFactoryName(moduleFactoryFn); + } + didInstallFactory = true; + } + moduleFactories.set(id, factoryToInstall); + newModuleId?.(id); + } + } + i = end + 1; + } +} +/** + * A pseudo "fake" URL object to resolve to its relative path. + * + * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this + * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid + * hydration mismatch. + * + * This is based on webpack's existing implementation: + * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js + */ const relativeURL = function relativeURL(inputUrl) { + const realUrl = new URL(inputUrl, 'x:/'); + const values = {}; + for(const key in realUrl)values[key] = realUrl[key]; + values.href = inputUrl; + values.pathname = inputUrl.replace(/[?#].*/, ''); + values.origin = values.protocol = ''; + values.toString = values.toJSON = (..._args)=>inputUrl; + for(const key in values)Object.defineProperty(this, key, { + enumerable: true, + configurable: true, + value: values[key] + }); +}; +relativeURL.prototype = URL.prototype; +contextPrototype.U = relativeURL; +/** + * Utility function to ensure all variants of an enum are handled. + */ function invariant(never, computeMessage) { + throw new Error(`Invariant: ${computeMessage(never)}`); +} +/** + * Constructs an error message for when a module factory is not available. + */ function factoryNotAvailableMessage(moduleId, sourceType, sourceData) { + let instantiationReason; + switch(sourceType){ + case 0: + instantiationReason = `as a runtime entry of chunk ${sourceData}`; + break; + case 1: + instantiationReason = `because it was required from module ${sourceData}`; + break; + case 2: + instantiationReason = 'because of an HMR update'; + break; + default: + invariant(sourceType, (sourceType)=>`Unknown source type: ${sourceType}`); + } + return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`; +} +/** + * Returns a `file://` URL under a synthetic directory named after `root` + * (`ROOT` for the project root), for when the real filesystem path is unknown. + * The root name and path segments are percent-encoded so the result is always + * a valid file URI. + */ function placeholderFileUrl(modulePath, root) { + return `file:///${encodeURIComponent(root ?? 'ROOT')}/${modulePath.split('/').map(encodeURIComponent).join('/')}`; +} +/** + * A stub function to make `require` available but non-functional in ESM. + */ function requireStub(_moduleId) { + throw new Error('dynamic usage of require is not supported'); +} +contextPrototype.z = requireStub; +// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable. +contextPrototype.g = globalThis; +function applyModuleFactoryName(factory) { + // Give the module factory a nice name to improve stack traces. + Object.defineProperty(factory, 'name', { + value: 'module evaluation' + }); +} +/// +/// +/** + * Top-level-await / async-module machinery. This is only included in the runtime + * when the module graph actually contains an async module (a module with + * top-level await, or one that transitively depends on one). When no async + * module is present, the chunk items never reference `__turbopack_context__.a`, + * so this whole file can be omitted. + * + * everything below is adapted from webpack + * https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13 + */ const turbopackQueues = Symbol('turbopack queues'); +const turbopackExports = Symbol('turbopack exports'); +const turbopackError = Symbol('turbopack error'); +function isPromise(maybePromise) { + return maybePromise != null && typeof maybePromise === 'object' && 'then' in maybePromise && typeof maybePromise.then === 'function'; +} +function isAsyncModuleExt(obj) { + return turbopackQueues in obj; +} +function createPromise() { + let resolve; + let reject; + const promise = new Promise((res, rej)=>{ + reject = rej; + resolve = res; + }); + return { + promise, + resolve: resolve, + reject: reject + }; +} +function resolveQueue(queue) { + if (queue && queue.status !== 1) { + queue.status = 1; + queue.forEach((fn)=>fn.queueCount--); + queue.forEach((fn)=>fn.queueCount-- ? fn.queueCount++ : fn()); + } +} +function wrapDeps(deps) { + return deps.map((dep)=>{ + if (dep !== null && typeof dep === 'object') { + if (isAsyncModuleExt(dep)) return dep; + if (isPromise(dep)) { + const queue = Object.assign([], { + status: 0 + }); + const obj = { + [turbopackExports]: {}, + [turbopackQueues]: (fn)=>fn(queue) + }; + dep.then((res)=>{ + obj[turbopackExports] = res; + resolveQueue(queue); + }, (err)=>{ + obj[turbopackError] = err; + resolveQueue(queue); + }); + return obj; + } + } + return { + [turbopackExports]: dep, + [turbopackQueues]: ()=>{} + }; + }); +} +function asyncModule(body, hasAwait) { + const module = this.m; + const queue = hasAwait ? Object.assign([], { + status: -1 + }) : undefined; + const depQueues = new Set(); + const { resolve, reject, promise: rawPromise } = createPromise(); + const promise = Object.assign(rawPromise, { + [turbopackExports]: module.exports, + [turbopackQueues]: (fn)=>{ + queue && fn(queue); + depQueues.forEach(fn); + promise['catch'](()=>{}); + } + }); + const attributes = { + get () { + return promise; + }, + set (v) { + // Calling `esmExport` leads to this. + if (v !== promise) { + promise[turbopackExports] = v; + } + } + }; + Object.defineProperty(module, 'exports', attributes); + Object.defineProperty(module, 'namespaceObject', attributes); + function handleAsyncDependencies(deps) { + const currentDeps = wrapDeps(deps); + const getResult = ()=>currentDeps.map((d)=>{ + if (d[turbopackError]) throw d[turbopackError]; + return d[turbopackExports]; + }); + const { promise, resolve } = createPromise(); + const fn = Object.assign(()=>resolve(getResult), { + queueCount: 0 + }); + function fnQueue(q) { + if (q !== queue && !depQueues.has(q)) { + depQueues.add(q); + if (q && q.status === 0) { + fn.queueCount++; + q.push(fn); + } + } + } + currentDeps.map((dep)=>dep[turbopackQueues](fnQueue)); + return fn.queueCount ? promise : getResult(); + } + function asyncResult(err) { + if (err) { + reject(promise[turbopackError] = err); + } else { + resolve(promise[turbopackExports]); + } + resolveQueue(queue); + } + body(handleAsyncDependencies, asyncResult); + if (queue && queue.status === -1) { + queue.status = 0; + } +} +contextPrototype.a = asyncModule; +/// +/// A 'base' utilities to support runtime can have externals. +/// Currently this is for node.js / edge runtime both. +/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead. +async function externalImport(id) { + let raw; + try { + raw = await import(id); + } catch (err) { + // TODO(alexkirsz) This can happen when a client-side module tries to load + // an external module we don't provide a shim for (e.g. querystring, url). + // For now, we fail semi-silently, but in the future this should be a + // compilation error. + throw new Error(`Failed to load external module ${id}: ${err}`); + } + if (raw && raw.__esModule && raw.default && 'default' in raw.default) { + return interopEsm(raw.default, createNS(raw), true); + } + return raw; +} +contextPrototype.y = externalImport; +function externalRequire(id, thunk, esm = false) { + let raw; + try { + raw = thunk(); + } catch (err) { + // TODO(alexkirsz) This can happen when a client-side module tries to load + // an external module we don't provide a shim for (e.g. querystring, url). + // For now, we fail semi-silently, but in the future this should be a + // compilation error. + throw new Error(`Failed to load external module ${id}: ${err}`); + } + if (!esm || raw.__esModule) { + return raw; + } + return interopEsm(raw, createNS(raw), true); +} +externalRequire.resolve = (id, options)=>{ + return require.resolve(id, options); +}; +contextPrototype.x = externalRequire; +/* eslint-disable @typescript-eslint/no-unused-vars */ const path = require('path'); +const relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.'); +// Compute the relative path to the `distDir`. +const relativePathToDistRoot = path.join(relativePathToRuntimeRoot, RELATIVE_ROOT_PATH); +const RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot); +// Compute the absolute path to the root, by stripping distDir from the absolute path to this file. +const ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot); +/** + * Returns an absolute path to the given module path. + * Module path should be relative, either path to a file or a directory. + * + * This fn allows to calculate an absolute path for some global static values, such as + * `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time. + * See ImportMetaBinding::code_generation for the usage. + */ function resolveAbsolutePath(modulePath) { + if (modulePath) { + return path.join(ABSOLUTE_ROOT, modulePath); + } + return ABSOLUTE_ROOT; +} +Context.prototype.P = resolveAbsolutePath; +/** + * Returns an absolute `file://` URL for the given module path, which is + * relative to the project root or the named `root`. + * + * Uses `url.pathToFileURL` so that the resulting URL is a valid file URI on + * all platforms (forward slashes on Windows, drive letters handled + * correctly, path segments URL-encoded). + * + * The location of a named `root` isn't known at runtime (the output may have + * been moved away from the sources), so this returns a placeholder URL for it. + */ function resolveFileUrl(modulePath, root) { + if (root !== undefined) { + return placeholderFileUrl(modulePath, root); + } + return require('url').pathToFileURL(resolveAbsolutePath(modulePath)).href; +} +Context.prototype.F = resolveFileUrl; +/* eslint-disable @typescript-eslint/no-unused-vars */ /// +/// +/// +/// +/** + * Base Node.js runtime shared between production and development. + * Contains chunk loading, module caching, and other non-HMR functionality. + */ process.env.TURBOPACK = '1'; +const url = require('url'); +const moduleFactories = new Map(); +const moduleCache = new Map(); +/** + * Returns an absolute path to the given module's id. + */ function resolvePathFromModule(moduleId) { + const exported = this.r(moduleId); + const exportedPath = exported?.default ?? exported; + if (typeof exportedPath !== 'string') { + return exported; + } + const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length); + const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix); + return url.pathToFileURL(resolved).href; +} +/** + * Exports a URL value. No suffix is added in Node.js runtime. + */ function exportUrl(urlValue, id) { + exportValue.call(this, urlValue, id); +} +function loadRuntimeChunk(sourcePath, chunkData) { + if (typeof chunkData === 'string') { + loadRuntimeChunkPath(sourcePath, chunkData); + } else { + loadRuntimeChunkPath(sourcePath, chunkData.path); + } +} +const loadedChunks = new Set(); +const unsupportedLoadChunk = Promise.resolve(undefined); +const loadedChunk = Promise.resolve(undefined); +const chunkCache = new Map(); +function clearChunkCache() { + chunkCache.clear(); + loadedChunks.clear(); +} +function loadRuntimeChunkPath(sourcePath, chunkPath) { + if (!isJs(chunkPath)) { + // We only support loading JS chunks in Node.js. + // This branch can be hit when trying to load a CSS chunk. + return; + } + if (loadedChunks.has(chunkPath)) { + return; + } + try { + const resolved = path.resolve(RUNTIME_ROOT, chunkPath); + const chunkModules = require(resolved); + installCompressedModuleFactories(chunkModules, 0, moduleFactories); + loadedChunks.add(chunkPath); + } catch (cause) { + let errorMessage = `Failed to load chunk ${chunkPath}`; + if (sourcePath) { + errorMessage += ` from runtime for chunk ${sourcePath}`; + } + const error = new Error(errorMessage, { + cause + }); + error.name = 'ChunkLoadError'; + throw error; + } +} +function loadChunkAsync(chunkData) { + const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path; + if (!isJs(chunkPath)) { + // We only support loading JS chunks in Node.js. + // This branch can be hit when trying to load a CSS chunk. + return unsupportedLoadChunk; + } + let entry = chunkCache.get(chunkPath); + if (entry === undefined) { + try { + // resolve to an absolute path to simplify `require` handling + const resolved = path.resolve(RUNTIME_ROOT, chunkPath); + // TODO: consider switching to `import()` to enable concurrent chunk loading and async file io + // However this is incompatible with hot reloading (since `import` doesn't use the require cache) + const chunkModules = require(resolved); + installCompressedModuleFactories(chunkModules, 0, moduleFactories); + entry = loadedChunk; + } catch (cause) { + const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`; + const error = new Error(errorMessage, { + cause + }); + error.name = 'ChunkLoadError'; + // Cache the failure promise, future requests will also get this same rejection + entry = Promise.reject(error); + } + chunkCache.set(chunkPath, entry); + } + // TODO: Return an instrumented Promise that React can use instead of relying on referential equality. + return entry; +} +contextPrototype.l = loadChunkAsync; +function loadChunkAsyncByUrl(chunkUrl) { + const path1 = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT)); + return loadChunkAsync.call(this, path1); +} +contextPrototype.L = loadChunkAsyncByUrl; +// Shared runtime primitive: the root that on-disk chunk paths are resolved +// against. Used by the bundled wasm helper (exposed as `__turbopack_runtime_root__`). +contextPrototype.w = RUNTIME_ROOT; +const regexJsUrl = /\.js(?:\?[^#]*)?(?:#.*)?$/; +/** + * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment. + */ function isJs(chunkUrlOrPath) { + return regexJsUrl.test(chunkUrlOrPath); +} +/// +/// +/// +/// +/** + * Shared HMR (Hot Module Replacement) implementation. + * + * This file contains the complete HMR implementation that's shared between + * browser and Node.js runtimes. It manages module hot state, dependency + * tracking, the module.hot API, and the full HMR update flow. + */ /** + * The development module cache shared across the runtime. + * Browser runtime declares this directly. + * Node.js runtime assigns globalThis.__turbopack_module_cache__ to this. + */ let devModuleCache; +/** + * Module IDs that are instantiated as part of the runtime of a chunk. + */ let runtimeModules; +/** + * Maps module IDs to persisted data between executions of their hot module + * implementation (`hot.data`). + */ const moduleHotData = new Map(); +/** + * Maps module instances to their hot module state. + * Uses WeakMap so it works with both HotModule and ModuleWithDirection. + */ const moduleHotState = new WeakMap(); +/** + * Modules that call `module.hot.invalidate()` (while being updated). + */ const queuedInvalidatedModules = new Set(); +class UpdateApplyError extends Error { + name = 'UpdateApplyError'; + dependencyChain; + constructor(message, dependencyChain){ + super(message); + this.dependencyChain = dependencyChain; + } +} +/** + * Records parent-child relationship when a module imports another. + * Should be called during module instantiation. + */ // eslint-disable-next-line @typescript-eslint/no-unused-vars +function trackModuleImport(parentModule, childModuleId, childModule) { + // Record that parent imports child + if (parentModule.children.indexOf(childModuleId) === -1) { + parentModule.children.push(childModuleId); + } + // Record that child is imported by parent + if (childModule && childModule.parents.indexOf(parentModule.id) === -1) { + childModule.parents.push(parentModule.id); + } +} +function formatDependencyChain(dependencyChain) { + return `Dependency chain: ${dependencyChain.join(' -> ')}`; +} +/** + * Walks the dependency tree to find all modules affected by a change. + * Returns information about whether the update can be accepted and which + * modules need to be invalidated. + * + * @param moduleId - The module that changed + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept(). + * This is used for server-side HMR where pages auto-accept at the top level. + */ function getAffectedModuleEffects(moduleId, autoAcceptRootModules) { + const outdatedModules = new Set(); + const outdatedDependencies = new Map(); + const queue = [ + { + moduleId, + dependencyChain: [] + } + ]; + let queueIndex = 0; + while(queueIndex < queue.length){ + const { moduleId, dependencyChain } = queue[queueIndex]; + // Release copied dependency chains as soon as their queue item is consumed. + queue[queueIndex++] = undefined; + if (moduleId != null) { + if (outdatedModules.has(moduleId)) { + continue; + } + outdatedModules.add(moduleId); + } + // We've arrived at the runtime of the chunk, which means that nothing + // else above can accept this update. + if (moduleId === undefined) { + if (autoAcceptRootModules) { + return { + type: 'accepted', + moduleId, + outdatedModules, + outdatedDependencies + }; + } + return { + type: 'unaccepted', + dependencyChain + }; + } + const module = devModuleCache.get(moduleId); + const hotState = moduleHotState.get(module); + if (// The module is not in the cache. Since this is a "modified" update, + // it means that the module was never instantiated before. + !module || hotState.selfAccepted && !hotState.selfInvalidated) { + continue; + } + if (hotState.selfDeclined) { + return { + type: 'self-declined', + dependencyChain, + moduleId + }; + } + if (runtimeModules.has(moduleId)) { + if (autoAcceptRootModules) { + continue; + } + queue.push({ + moduleId: undefined, + dependencyChain: [ + ...dependencyChain, + moduleId + ] + }); + continue; + } + for (const parentId of module.parents){ + const parent = devModuleCache.get(parentId); + if (!parent) { + continue; + } + const parentHotState = moduleHotState.get(parent); + // Check if parent declined this dependency + if (parentHotState?.declinedDependencies[moduleId]) { + return { + type: 'declined', + dependencyChain: [ + ...dependencyChain, + moduleId + ], + moduleId, + parentId + }; + } + // Skip if parent is already outdated + if (outdatedModules.has(parentId)) { + continue; + } + // Check if parent accepts this dependency + if (parentHotState?.acceptedDependencies[moduleId]) { + if (!outdatedDependencies.has(parentId)) { + outdatedDependencies.set(parentId, new Set()); + } + outdatedDependencies.get(parentId).add(moduleId); + continue; + } + // Neither accepted nor declined — propagate to parent + queue.push({ + moduleId: parentId, + dependencyChain: [ + ...dependencyChain, + moduleId + ] + }); + } + // If no parents and we're at a root module, auto-accept if configured + if (module.parents.length === 0 && autoAcceptRootModules) { + continue; + } + } + return { + type: 'accepted', + moduleId, + outdatedModules, + outdatedDependencies + }; +} +/** + * Merges source dependency map into target dependency map. + */ function mergeDependencies(target, source) { + for (const [parentId, deps] of source){ + const existing = target.get(parentId); + if (existing) { + for (const dep of deps){ + existing.add(dep); + } + } else { + target.set(parentId, new Set(deps)); + } + } +} +/** + * Computes all modules that need to be invalidated based on which modules changed. + * + * @param invalidated - The modules that have been invalidated + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept() + */ function computedInvalidatedModules(invalidated, autoAcceptRootModules) { + const outdatedModules = new Set(); + const outdatedDependencies = new Map(); + for (const moduleId of invalidated){ + const effect = getAffectedModuleEffects(moduleId, autoAcceptRootModules); + switch(effect.type){ + case 'unaccepted': + throw new UpdateApplyError(`cannot apply update: unaccepted module. ${formatDependencyChain(effect.dependencyChain)}.`, effect.dependencyChain); + case 'self-declined': + throw new UpdateApplyError(`cannot apply update: self-declined module. ${formatDependencyChain(effect.dependencyChain)}.`, effect.dependencyChain); + case 'declined': + throw new UpdateApplyError(`cannot apply update: declined dependency. ${formatDependencyChain(effect.dependencyChain)}. Declined by ${effect.parentId}.`, effect.dependencyChain); + case 'accepted': + for (const outdatedModuleId of effect.outdatedModules){ + outdatedModules.add(outdatedModuleId); + } + mergeDependencies(outdatedDependencies, effect.outdatedDependencies); + break; + default: + invariant(effect, (effect)=>`Unknown effect type: ${effect?.type}`); + } + } + return { + outdatedModules, + outdatedDependencies + }; +} +/** + * Creates the module.hot API object and its internal state. + * This provides the HMR API that user code calls (module.hot.accept(), etc.) + */ function createModuleHot(moduleId, hotData) { + const hotState = { + selfAccepted: false, + selfDeclined: false, + selfInvalidated: false, + disposeHandlers: [], + acceptedDependencies: {}, + acceptedErrorHandlers: {}, + declinedDependencies: {} + }; + const hot = { + // TODO(alexkirsz) This is not defined in the HMR API. It was used to + // decide whether to warn whenever an HMR-disposed module required other + // modules. We might want to remove it. + active: true, + data: hotData ?? {}, + accept: (modules, callback, errorHandler)=>{ + if (modules === undefined) { + hotState.selfAccepted = true; + } else if (typeof modules === 'function') { + hotState.selfAccepted = modules; + } else if (typeof modules === 'object' && modules !== null) { + for(let i = 0; i < modules.length; i++){ + hotState.acceptedDependencies[modules[i]] = callback || function() {}; + hotState.acceptedErrorHandlers[modules[i]] = errorHandler; + } + } else { + hotState.acceptedDependencies[modules] = callback || function() {}; + hotState.acceptedErrorHandlers[modules] = errorHandler; + } + }, + decline: (dep)=>{ + if (dep === undefined) { + hotState.selfDeclined = true; + } else if (typeof dep === 'object' && dep !== null) { + for(let i = 0; i < dep.length; i++){ + hotState.declinedDependencies[dep[i]] = true; + } + } else { + hotState.declinedDependencies[dep] = true; + } + }, + dispose: (callback)=>{ + hotState.disposeHandlers.push(callback); + }, + addDisposeHandler: (callback)=>{ + hotState.disposeHandlers.push(callback); + }, + removeDisposeHandler: (callback)=>{ + const idx = hotState.disposeHandlers.indexOf(callback); + if (idx >= 0) { + hotState.disposeHandlers.splice(idx, 1); + } + }, + invalidate: ()=>{ + hotState.selfInvalidated = true; + queuedInvalidatedModules.add(moduleId); + }, + // NOTE(alexkirsz) This is part of the management API, which we don't + // implement, but the Next.js React Refresh runtime uses this to decide + // whether to schedule an update. + status: ()=>'idle', + // NOTE(alexkirsz) Since we always return "idle" for now, these are no-ops. + addStatusHandler: (_handler)=>{}, + removeStatusHandler: (_handler)=>{}, + // NOTE(jridgewell) Check returns the list of updated modules, but we don't + // want the webpack code paths to ever update (the turbopack paths handle + // this already). + check: ()=>Promise.resolve(null) + }; + return { + hot, + hotState + }; +} +/** + * Processes queued invalidated modules and adds them to the outdated modules set. + * Modules that call module.hot.invalidate() are queued and processed here. + * + * @param outdatedModules - The current set of outdated modules + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept() + */ function applyInvalidatedModules(outdatedModules, outdatedDependencies, autoAcceptRootModules) { + if (queuedInvalidatedModules.size > 0) { + const result = computedInvalidatedModules(queuedInvalidatedModules, autoAcceptRootModules); + for (const moduleId of result.outdatedModules){ + outdatedModules.add(moduleId); + } + mergeDependencies(outdatedDependencies, result.outdatedDependencies); + queuedInvalidatedModules.clear(); + } + return { + outdatedModules, + outdatedDependencies + }; +} +/** + * Computes which outdated modules have self-accepted and can be hot reloaded. + */ function computeOutdatedSelfAcceptedModules(outdatedModules) { + const outdatedSelfAcceptedModules = []; + for (const moduleId of outdatedModules){ + const module = devModuleCache.get(moduleId); + const hotState = moduleHotState.get(module); + if (module && hotState?.selfAccepted && !hotState.selfInvalidated) { + outdatedSelfAcceptedModules.push({ + moduleId, + errorHandler: hotState.selfAccepted + }); + } + } + return outdatedSelfAcceptedModules; +} +/** + * Disposes of an instance of a module. + * Runs hot.dispose handlers and manages persistent hot data. + * + * NOTE: mode = "replace" will not remove modules from devModuleCache. + * This must be done in a separate step afterwards. + */ function disposeModule(moduleId, mode) { + const module = devModuleCache.get(moduleId); + if (!module) { + return; + } + const hotState = moduleHotState.get(module); + if (!hotState) { + return; + } + const data = {}; + // Run the `hot.dispose` handler, if any, passing in the persistent + // `hot.data` object. + for (const disposeHandler of hotState.disposeHandlers){ + disposeHandler(data); + } + // This used to warn in `getOrInstantiateModuleFromParent` when a disposed + // module is still importing other modules. + if (module.hot) { + module.hot.active = false; + } + moduleHotState.delete(module); + // Remove the disposed module from its children's parent list. + // It will be added back once the module re-instantiates and imports its + // children again. + for (const childId of module.children){ + const child = devModuleCache.get(childId); + if (!child) { + continue; + } + const idx = child.parents.indexOf(module.id); + if (idx >= 0) { + child.parents.splice(idx, 1); + } + } + switch(mode){ + case 'clear': + devModuleCache.delete(module.id); + moduleHotData.delete(module.id); + break; + case 'replace': + moduleHotData.set(module.id, data); + break; + default: + invariant(mode, (mode)=>`invalid mode: ${mode}`); + } +} +/** + * Dispose phase: runs dispose handlers and cleans up outdated/disposed modules. + * Returns the parent modules of outdated modules for use in the apply phase. + */ function disposePhase(outdatedModules, disposedModules, outdatedDependencies) { + for (const moduleId of outdatedModules){ + disposeModule(moduleId, 'replace'); + } + for (const moduleId of disposedModules){ + disposeModule(moduleId, 'clear'); + } + // Removing modules from the module cache is a separate step. + // We also want to keep track of previous parents of the outdated modules. + const outdatedModuleParents = new Map(); + for (const moduleId of outdatedModules){ + const oldModule = devModuleCache.get(moduleId); + outdatedModuleParents.set(moduleId, oldModule?.parents); + devModuleCache.delete(moduleId); + } + // Remove outdated dependencies from parent module's children list. + // When a parent accepts a child's update, the child is re-instantiated + // but the parent stays alive. We remove the old child reference so it + // gets re-added when the child re-imports. + for (const [parentId, deps] of outdatedDependencies){ + const module = devModuleCache.get(parentId); + if (module) { + for (const dep of deps){ + const idx = module.children.indexOf(dep); + if (idx >= 0) { + module.children.splice(idx, 1); + } + } + } + } + return { + outdatedModuleParents + }; +} +/* eslint-disable @typescript-eslint/no-unused-vars */ /** + * Shared module instantiation logic. + * This handles the full module instantiation flow for both browser and Node.js. + * Only React Refresh hooks differ between platforms (passed as callback). + */ function instantiateModuleShared(moduleId, sourceType, sourceData, moduleFactories, devModuleCache, runtimeModules, createModuleObjectFn, createContextFn, runModuleExecutionHooksFn) { + // 1. Factory validation (same in both browser and Node.js) + const id = moduleId; + const moduleFactory = moduleFactories.get(id); + if (typeof moduleFactory !== 'function') { + throw new Error(factoryNotAvailableMessage(moduleId, sourceType, sourceData) + `\nThis is often caused by a stale browser cache, misconfigured Cache-Control headers, or a service worker serving outdated responses.` + `\nTo fix this, make sure your Cache-Control headers allow revalidation of chunks and review your service worker configuration. ` + `As an immediate workaround, try hard-reloading the page, clearing the browser cache, or unregistering any service workers.`); + } + // 2. Hot API setup (same in both - works for browser, included for Node.js) + const hotData = moduleHotData.get(id); + const { hot, hotState } = createModuleHot(id, hotData); + // 3. Parent assignment logic (same in both) + let parents; + switch(sourceType){ + case SourceType.Runtime: + runtimeModules.add(id); + parents = []; + break; + case SourceType.Parent: + parents = [ + sourceData + ]; + break; + case SourceType.Update: + parents = sourceData || []; + break; + default: + throw new Error(`Unknown source type: ${sourceType}`); + } + // 4. Module creation (platform creates base module object) + const module = createModuleObjectFn(id); + const exports = module.exports; + module.parents = parents; + module.children = []; + module.hot = hot; + devModuleCache.set(id, module); + moduleHotState.set(module, hotState); + // 5. Module execution (React Refresh hooks are platform-specific) + try { + runModuleExecutionHooksFn(module, (refresh)=>{ + const context = createContextFn(module, exports, refresh); + moduleFactory.call(exports, context, module, exports); + }); + } catch (error) { + module.error = error; + throw error; + } + // 6. ESM interop (same in both) + if (module.namespaceObject && module.exports !== module.namespaceObject) { + // in case of a circular dependency: cjs1 -> esm2 -> cjs1 + interopEsm(module.exports, module.namespaceObject); + } + return module; +} +/** + * Analyzes update entries and chunks to determine which modules were added, modified, or deleted. + * This is pure logic that doesn't depend on the runtime environment. + */ function computeChangedModules(entries, updates, chunkModulesMap) { + const chunksAdded = new Map(); + const chunksDeleted = new Map(); + const added = new Map(); + const modified = new Map(); + const deleted = new Set(); + for (const [chunkPath, mergedChunkUpdate] of Object.entries(updates)){ + switch(mergedChunkUpdate.type){ + case 'added': + { + const updateAdded = new Set(mergedChunkUpdate.modules); + for (const moduleId of updateAdded){ + added.set(moduleId, entries[moduleId]); + } + chunksAdded.set(chunkPath, updateAdded); + break; + } + case 'deleted': + { + const updateDeleted = chunkModulesMap ? new Set(chunkModulesMap.get(chunkPath)) : new Set(); + for (const moduleId of updateDeleted){ + deleted.add(moduleId); + } + chunksDeleted.set(chunkPath, updateDeleted); + break; + } + case 'partial': + { + const updateAdded = new Set(mergedChunkUpdate.added); + const updateDeleted = new Set(mergedChunkUpdate.deleted); + for (const moduleId of updateAdded){ + added.set(moduleId, entries[moduleId]); + } + for (const moduleId of updateDeleted){ + deleted.add(moduleId); + } + chunksAdded.set(chunkPath, updateAdded); + chunksDeleted.set(chunkPath, updateDeleted); + break; + } + default: + throw new Error('Unknown merged chunk update type'); + } + } + // If a module was added from one chunk and deleted from another in the same update, + // consider it to be modified, as it means the module was moved from one chunk to another + // AND has new code in a single update. + for (const moduleId of added.keys()){ + if (deleted.has(moduleId)) { + added.delete(moduleId); + deleted.delete(moduleId); + } + } + for (const [moduleId, entry] of Object.entries(entries)){ + // Modules that haven't been added to any chunk but have new code are considered + // to be modified. + // This needs to be under the previous loop, as we need it to get rid of modules + // that were added and deleted in the same update. + if (!added.has(moduleId)) { + modified.set(moduleId, entry); + } + } + return { + added, + deleted, + modified, + chunksAdded, + chunksDeleted + }; +} +/** + * Compiles new module code and walks the dependency tree to find all outdated modules. + * Uses the evalModuleEntry function to compile code (platform-specific). + * + * @param added - Map of added modules + * @param modified - Map of modified modules + * @param evalModuleEntry - Function to compile module code + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept() + */ function computeOutdatedModules(added, modified, evalModuleEntry, autoAcceptRootModules) { + const newModuleFactories = new Map(); + // Compile added modules + for (const [moduleId, entry] of added){ + if (entry != null) { + newModuleFactories.set(moduleId, evalModuleEntry(entry)); + } + } + // Walk dependency tree to find all modules affected by modifications + const { outdatedModules, outdatedDependencies } = computedInvalidatedModules(modified.keys(), autoAcceptRootModules); + // Compile modified modules + for (const [moduleId, entry] of modified){ + newModuleFactories.set(moduleId, evalModuleEntry(entry)); + } + return { + outdatedModules, + outdatedDependencies, + newModuleFactories + }; +} +/** + * Updates module factories and re-instantiates self-accepted modules. + * Uses the instantiateModule function (platform-specific via callback). + */ function applyPhase(outdatedSelfAcceptedModules, newModuleFactories, outdatedModuleParents, outdatedDependencies, moduleFactories, devModuleCache, instantiateModuleFn, applyModuleFactoryNameFn, reportError) { + // Update module factories + for (const [moduleId, factory] of newModuleFactories.entries()){ + applyModuleFactoryNameFn(factory); + moduleFactories.set(moduleId, factory); + } + // TODO(alexkirsz) Run new runtime entries here. + // Call accept handlers for outdated dependencies. + // This runs BEFORE re-instantiating self-accepted modules, matching + // webpack's behavior. + for (const [parentId, deps] of outdatedDependencies){ + const module = devModuleCache.get(parentId); + if (!module) continue; + const hotState = moduleHotState.get(module); + if (!hotState) continue; + // Group deps by callback, deduplicating callbacks that handle multiple deps. + // Each callback receives only the deps it was registered for. + const callbackDeps = new Map(); + const callbackErrorHandlers = new Map(); + for (const dep of deps){ + const acceptCallback = hotState.acceptedDependencies[dep]; + if (acceptCallback) { + let depList = callbackDeps.get(acceptCallback); + if (!depList) { + depList = []; + callbackDeps.set(acceptCallback, depList); + callbackErrorHandlers.set(acceptCallback, hotState.acceptedErrorHandlers[dep]); + } + depList.push(dep); + } + } + for (const [callback, cbDeps] of callbackDeps){ + try { + callback.call(null, cbDeps); + } catch (err) { + const errorHandler = callbackErrorHandlers.get(callback); + if (typeof errorHandler === 'function') { + try { + errorHandler(err, { + moduleId: parentId, + dependencyId: cbDeps[0] + }); + } catch (err2) { + reportError(err2); + reportError(err); + } + } else { + reportError(err); + } + } + } + } + // Re-instantiate all outdated self-accepted modules + for (const { moduleId, errorHandler } of outdatedSelfAcceptedModules){ + try { + instantiateModuleFn(moduleId, SourceType.Update, outdatedModuleParents.get(moduleId)); + } catch (err) { + if (typeof errorHandler === 'function') { + try { + errorHandler(err, { + moduleId, + module: devModuleCache.get(moduleId) + }); + } catch (err2) { + reportError(err2); + reportError(err); + } + } else { + reportError(err); + } + } + } +} +/** + * Internal implementation that orchestrates the full HMR update flow: + * invalidation, disposal, and application of new modules. + * + * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept() + */ function applyInternal(outdatedModules, outdatedDependencies, disposedModules, newModuleFactories, moduleFactories, devModuleCache, instantiateModuleFn, applyModuleFactoryNameFn, autoAcceptRootModules) { + ; + ({ outdatedModules, outdatedDependencies } = applyInvalidatedModules(outdatedModules, outdatedDependencies, autoAcceptRootModules)); + // Find self-accepted modules to re-instantiate + const outdatedSelfAcceptedModules = computeOutdatedSelfAcceptedModules(outdatedModules); + // Run dispose handlers, save hot.data, clear caches + const { outdatedModuleParents } = disposePhase(outdatedModules, disposedModules, outdatedDependencies); + let error; + function reportError(err) { + if (!error) error = err; // Keep first error + } + applyPhase(outdatedSelfAcceptedModules, newModuleFactories, outdatedModuleParents, outdatedDependencies, moduleFactories, devModuleCache, instantiateModuleFn, applyModuleFactoryNameFn, reportError); + if (error) { + throw error; + } + // Recursively apply any queued invalidations from new module execution + if (queuedInvalidatedModules.size > 0) { + applyInternal(new Set(), new Map(), [], new Map(), moduleFactories, devModuleCache, instantiateModuleFn, applyModuleFactoryNameFn, autoAcceptRootModules); + } +} +/** + * Main entry point for applying an ECMAScript merged update. + * This is called by both browser and Node.js runtimes with platform-specific callbacks. + * + * @param options.autoAcceptRootModules - If true, root modules auto-accept updates without explicit + * module.hot.accept(). Used for server-side HMR where pages + * auto-accept at the top level. + */ function applyEcmascriptMergedUpdateShared(options) { + const { added, modified, disposedModules, evalModuleEntry, instantiateModule, applyModuleFactoryName, moduleFactories, devModuleCache, autoAcceptRootModules } = options; + const { outdatedModules, outdatedDependencies, newModuleFactories } = computeOutdatedModules(added, modified, evalModuleEntry, autoAcceptRootModules); + applyInternal(outdatedModules, outdatedDependencies, disposedModules, newModuleFactories, moduleFactories, devModuleCache, instantiateModule, applyModuleFactoryName, autoAcceptRootModules); +} +/* eslint-disable @typescript-eslint/no-unused-vars */ /// +/// +/// +/** + * Development Node.js runtime. + * Uses HotModule and shared HMR logic for hot module replacement support. + */ // Cast the module cache to HotModule for development mode +// (hmr-runtime.ts declares devModuleCache as `let` variable expecting assignment) +// This is safe because HotModule extends Module +devModuleCache = moduleCache; +// this is read in runtime-utils.ts so it creates a module with direction for hmr +createModuleWithDirectionFlag = true; +if (!globalThis.__turbopack_runtime_modules__) { + globalThis.__turbopack_runtime_modules__ = new Set(); +} +runtimeModules = globalThis.__turbopack_runtime_modules__; +const nodeDevContextPrototype = Context.prototype; +nodeDevContextPrototype.q = exportUrl; +nodeDevContextPrototype.M = moduleFactories; +nodeDevContextPrototype.c = devModuleCache; +nodeDevContextPrototype.R = resolvePathFromModule; +nodeDevContextPrototype.C = clearChunkCache; +if (globalThis.__turbopack_ensure_chunk__ !== undefined) { + const chunksBeingEnsured = new Map(); + function loadChunkAsyncOnDemand(chunkData) { + const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path; + const ensureChunk = globalThis.__turbopack_ensure_chunk__; + if (ensureChunk === undefined || chunkCache.has(chunkPath)) { + return loadChunkAsync.call(this, chunkData); + } + const ensured = chunksBeingEnsured.get(chunkPath) ?? Promise.resolve().then(()=>ensureChunk(chunkPath)).finally(()=>chunksBeingEnsured.delete(chunkPath)); + chunksBeingEnsured.set(chunkPath, ensured); + return ensured.then(()=>loadChunkAsync.call(this, chunkData)); + } + nodeDevContextPrototype.l = loadChunkAsyncOnDemand; +} +/** + * Instantiates a module in development mode using shared HMR logic. + */ function instantiateModule(id, sourceType, sourceData) { + // Node.js: creates base module object (hot API added by shared code) + const createModuleObjectFn = (moduleId)=>{ + return createModuleWithDirection(moduleId); + }; + // Node.js: creates Context (no refresh parameter) + const createContext = (module1, exports, _refresh)=>{ + return new Context(module1, exports); + }; + // Node.js: no hooks wrapper, just execute directly + const runWithHooks = (_module, exec)=>{ + exec(undefined); // no refresh context + }; + // Use shared instantiation logic (includes hot API setup) + const newModule = instantiateModuleShared(id, sourceType, sourceData, moduleFactories, devModuleCache, runtimeModules, createModuleObjectFn, createContext, runWithHooks); + newModule.loaded = true; + return newModule; +} +/** + * Instantiates a runtime module in development mode. + */ function instantiateRuntimeModule(chunkPath, moduleId) { + return instantiateModule(moduleId, SourceType.Runtime, chunkPath); +} +/** + * Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached. + */ // @ts-ignore TypeScript doesn't separate this module space from the browser runtime +function getOrInstantiateRuntimeModule(chunkPath, moduleId) { + const module1 = devModuleCache.get(moduleId); + if (module1) { + if (module1.error) { + throw module1.error; + } + return module1; + } + return instantiateRuntimeModule(chunkPath, moduleId); +} +/** + * Retrieves a module from the cache, or instantiate it if it is not cached. + * Also tracks parent-child relationships for HMR dependency tracking. + */ // @ts-ignore +function getOrInstantiateModuleFromParent(id, sourceModule) { + // Track parent-child relationship + const module1 = devModuleCache.get(id); + trackModuleImport(sourceModule, id, module1); + if (module1) { + if (module1.error) { + throw module1.error; + } + return module1; + } + const newModule = instantiateModule(id, SourceType.Parent, sourceModule.id); + // Track again after instantiation to ensure the relationship is recorded + trackModuleImport(sourceModule, id, newModule); + return newModule; +} +module.exports = (sourcePath)=>({ + m: (id)=>getOrInstantiateRuntimeModule(sourcePath, id), + c: (chunkData)=>loadRuntimeChunk(sourcePath, chunkData) + }); +/// +/// +/* eslint-disable @typescript-eslint/no-unused-vars */ /** + * Appends the module code with //# sourceURL and //# sourceMappingURL so + * that Node.js can resolve stack frames from `eval`ed server HMR modules back to + * their original source files. Mirrors the browser's _eval in dev-backend-dom.ts. + */ function inlineSourcemaps(entry) { + const [chunkPath, moduleId] = entry.url.split('?', 2); + const absolutePath = path.resolve(RUNTIME_ROOT, chunkPath); + const fileHref = url.pathToFileURL(absolutePath).href; + const sourceURL = moduleId ? `${fileHref}?${moduleId}` : fileHref; + let code = entry.code + '\n\n//# sourceURL=' + sourceURL; + if (entry.map) { + code += '\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,' + Buffer.from(entry.map).toString('base64'); + } + return code; +} +let serverHmrUpdateHandler = null; +function initializeServerHmr(moduleFactories, devModuleCache) { + if (serverHmrUpdateHandler != null) { + throw new Error('[Server HMR] Server HMR client is already initialized'); + } + // Register the update handler for the server runtime + serverHmrUpdateHandler = (msg)=>{ + handleNodejsUpdate(msg, moduleFactories, devModuleCache); + }; +} +/** + * Emits an HMR message to the registered update handler. + * Node uses a simpler listener pattern than the browser's websocket connection. + * + * Note: This is only called via __turbopack_server_hmr_apply__ which ensures + * the handler is initialized first via ensureHmrClientInitialized(). + */ function emitMessage(msg) { + if (serverHmrUpdateHandler == null) { + throw new Error('[Server HMR] No update handler registered to receive message'); + } + serverHmrUpdateHandler(msg.data); +} +/** + * Handles server message updates and applies them to the Node.js runtime. + * Uses shared HMR update logic from hmr-runtime.ts. + */ function handleNodejsUpdate(msg, moduleFactories, devModuleCache) { + if (msg.type !== 'partial') { + return; + } + const instruction = msg.instruction; + try { + if (instruction.type === 'ChunkListUpdate') { + // All node ecmascript chunks are mergeable, so a `total`/`partial` here + // means a non-mergeable asset changed in an unsupported way. Escalate + // to a full clear() rather than leave stale factories in memory. + for (const [chunkPath, chunkUpdate] of Object.entries(instruction.chunks ?? {})){ + if (chunkUpdate.type === 'total' || chunkUpdate.type === 'partial') { + throw new Error(`unsupported '${chunkUpdate.type}' update for chunk ${chunkPath}`); + } + } + if (instruction.merged) { + for (const merged of instruction.merged){ + applyEcmascriptMergedUpdate(merged, moduleFactories, devModuleCache); + } + } + return; + } + if (instruction.type === 'EcmascriptMergedUpdate') { + applyEcmascriptMergedUpdate(instruction, moduleFactories, devModuleCache); + return; + } + } catch (e) { + console.error('[Server HMR] Update failed, full reload needed:', e); + throw e; + } +} +function applyEcmascriptMergedUpdate(instruction, moduleFactories, devModuleCache) { + const { entries = {}, chunks = {} } = instruction; + const evalModuleEntry = (entry)=>{ + const code = entry.map ? inlineSourcemaps(entry) : entry.code; + // eslint-disable-next-line no-eval + return (0, eval)(`(require) => ${code}`)(require); + }; + const { added, modified } = computeChangedModules(entries, chunks, undefined // no chunkModulesMap for Node.js + ); + // Modules that appear in an "added" chunk but already exist in the cache + // were moved to a renamed chunk. Treat them as modified so the dependency + // walk runs and they get re-instantiated with the new factory. + for (const [moduleId, entry] of added){ + if (entry != null && devModuleCache.has(moduleId)) { + added.delete(moduleId); + modified.set(moduleId, entry); + } + } + // Use shared HMR update implementation + applyEcmascriptMergedUpdateShared({ + added, + modified, + disposedModules: [], + evalModuleEntry, + instantiateModule, + applyModuleFactoryName: ()=>{}, + moduleFactories, + devModuleCache, + autoAcceptRootModules: true + }); +} +/// +/// +/** + * Note: hmr-runtime.ts is embedded before this file, so its functions + * (initializeServerHmr, emitMessage) are available in the same scope. + */ // Initialize server HMR client (connects to shared HMR infrastructure) +let hmrClientInitialized = false; +function ensureHmrClientInitialized() { + if (hmrClientInitialized) return; + hmrClientInitialized = true; + // initializeServerHmr is from hmr-client.ts (embedded before this file) + // moduleFactories is from dev-runtime.ts + // devModuleCache is the HotModule-typed cache from dev-runtime.ts + initializeServerHmr(moduleFactories, devModuleCache); +} +function __turbopack_server_hmr_apply__(update) { + ensureHmrClientInitialized(); + // Throws if the update can't be applied in-process; the consumer catches it + // and falls back to evicting require.cache. + emitMessage({ + type: 'turbopack-message', + data: update + }); +} +const handlers = globalThis.__turbopack_server_hmr_handlers__ ?? new Map(); +// Normalize to forward slashes so it matches the virtual chunk paths in +// `update.instruction.chunks`, which always use `/` regardless of OS. +const chunkPrefix = path.relative(RUNTIME_ROOT, path.dirname(__filename)).replaceAll(path.sep, '/'); +if (handlers.size === 0) { + // First registration in this generation: install the routing dispatcher. + globalThis.__turbopack_server_hmr_apply__ = (update)=>{ + const registry = globalThis.__turbopack_server_hmr_handlers__ ?? new Map(); + // Chunk paths can appear either directly on the instruction (single-chunk + // updates) or nested inside `merged` entries (chunks covered by a + // merger). Collect both so routing isn't skipped just because a mergeable + // chunk's update only reports its paths inside `merged`. + const instruction = update.instruction; + const updateChunkPaths = new Set([ + ...Object.keys(instruction?.chunks ?? {}), + ...(instruction?.type === 'ChunkListUpdate' && instruction.merged || []).flatMap((merged)=>Object.keys(merged.chunks ?? {})) + ]); + const toCall = []; + if (updateChunkPaths.size === 0) { + for (const entry of registry.values())toCall.push(entry); + } else { + const seen = new Set(); + for (const chunkPath of updateChunkPaths){ + const dir = path.dirname(chunkPath); + for (const [key, entry] of registry){ + if (dir === entry.chunkPrefix && !seen.has(key)) { + seen.add(key); + toCall.push(entry); + } + } + } + } + // No matching runtime loaded (e.g. editing a route not required yet this + // session): nothing live to patch, so this is a no-op. A handler that + // throws propagates to the consumer, which evicts require.cache. + for (const { handler } of toCall){ + handler(update); + } + }; +} +globalThis.__turbopack_server_hmr_handlers__ = handlers; +handlers.set(__filename, { + handler: __turbopack_server_hmr_apply__, + chunkPrefix +}); + + +//# sourceMappingURL=%5Bturbopack%5D_runtime.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/[turbopack]_runtime.js.map b/e-commerce/.next/dev/server/chunks/ssr/[turbopack]_runtime.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a7b3662c0d35b35cb08d1aa1a0aa19a59d3959a1 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/[turbopack]_runtime.js.map @@ -0,0 +1,14 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 16, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/runtime-utils.ts"],"sourcesContent":["/**\n * This file contains runtime types and functions that are shared between all\n * TurboPack ECMAScript runtimes.\n *\n * It will be prepended to the runtime code of each runtime.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// \n/// \n\ntype EsmNamespaceObject = Record\n\n/**\n * Describes why a module was instantiated.\n * Shared between browser and Node.js runtimes.\n */\nenum SourceType {\n /**\n * The module was instantiated because it was included in an evaluated chunk's\n * runtime.\n * SourceData is a ChunkPath.\n */\n Runtime = 0,\n /**\n * The module was instantiated because a parent module imported it.\n * SourceData is a ModuleId.\n */\n Parent = 1,\n /**\n * The module was instantiated because it was included in a chunk's hot module\n * update.\n * SourceData is an array of ModuleIds or undefined.\n */\n Update = 2,\n}\n\ntype SourceData = ChunkPath | ModuleId | ModuleId[] | undefined\n\n// @ts-ignore Defined in `dev-base.ts`\ndeclare function getOrInstantiateModuleFromParent(\n id: ModuleId,\n sourceModule: M\n): M\n\n/**\n * Flag indicating which module object type to create when a module is merged. Set to `true`\n * by each runtime that uses ModuleWithDirection (browser dev-base.ts, nodejs dev-base.ts,\n * nodejs build-base.ts). Browser production (build-base.ts) leaves it as `false` since it\n * uses plain Module objects.\n */\nlet createModuleWithDirectionFlag = false\n\nconst REEXPORTED_OBJECTS = new WeakMap()\n\n/**\n * Constructs the `__turbopack_context__` object for a module.\n */\nfunction Context(\n this: TurbopackBaseContext,\n module: Module,\n exports: Exports\n) {\n this.m = module\n // We need to store this here instead of accessing it from the module object to:\n // 1. Make it available to factories directly, since we rewrite `this` to\n // `__turbopack_context__.e` in CJS modules.\n // 2. Support async modules which rewrite `module.exports` to a promise, so we\n // can still access the original exports object from functions like\n // `esmExport`\n // Ideally we could find a new approach for async modules and drop this property altogether.\n this.e = exports\n}\nconst contextPrototype = Context.prototype as TurbopackBaseContext\n\ntype ModuleContextMap = Record\n\ninterface ModuleContextEntry {\n id: () => ModuleId\n module: () => any\n}\n\ninterface ModuleContext {\n // require call\n (moduleId: string): Exports | EsmNamespaceObject\n\n // async import call\n import(moduleId: string): Promise\n\n keys(): ModuleId[]\n\n resolve(moduleId: string): ModuleId\n}\n\ntype GetOrInstantiateModuleFromParent = (\n moduleId: M['id'],\n parentModule: M\n) => M\n\ndeclare function getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag\n\nfunction defineProp(\n obj: any,\n name: PropertyKey,\n options: PropertyDescriptor & ThisType\n) {\n if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options)\n}\n\nfunction getOverwrittenModule(\n moduleCache: ModuleCache,\n id: ModuleId\n): Module {\n let module = moduleCache.get(id)\n if (module === undefined) {\n if (createModuleWithDirectionFlag) {\n // set in development modes for hmr support\n module = createModuleWithDirection(id)\n } else {\n module = createModuleObject(id)\n }\n moduleCache.set(id, module)\n }\n return module\n}\n\n/**\n * Creates the module object. Only done here to ensure all module objects have the same shape.\n */\nfunction createModuleObject(id: ModuleId): Module {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n }\n}\n\nfunction createModuleWithDirection(id: ModuleId): ModuleWithDirection {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n parents: [],\n children: [],\n }\n}\n\ntype BindingTag = 0\nconst BindingTag_Value = 0 as BindingTag\n\n// an arbitrary sequence of bindings as\n// - a prop name\n// - BindingTag_Value, a value to be bound directly, or\n// - 1 or 2 functions to bind as getters and sdetters\ntype EsmBindings = Array<\n string | BindingTag | (() => unknown) | ((v: unknown) => void) | unknown\n>\n\n/**\n * Terminates a module's group of entries in an {@link EsmReexports} list.\n */\nconst REEXPORT_GROUP_END = 0\n\n/**\n * Adds the getters to the exports object.\n */\nfunction esm(exports: Exports, bindings: EsmBindings, dynamic?: boolean) {\n defineProp(exports, '__esModule', { value: true })\n if (toStringTag) defineProp(exports, toStringTag, { value: 'Module' })\n let i = 0\n while (i < bindings.length) {\n const propName = bindings[i++] as string\n const tagOrFunction = bindings[i++]\n if (typeof tagOrFunction === 'number') {\n if (tagOrFunction === BindingTag_Value) {\n defineProp(exports, propName, {\n value: bindings[i++],\n enumerable: true,\n writable: false,\n })\n } else {\n throw new Error(`unexpected tag: ${tagOrFunction}`)\n }\n } else {\n const getterFn = tagOrFunction as () => unknown\n if (typeof bindings[i] === 'function') {\n const setterFn = bindings[i++] as (v: unknown) => void\n defineProp(exports, propName, {\n get: getterFn,\n set: setterFn,\n enumerable: true,\n })\n } else {\n defineProp(exports, propName, {\n get: getterFn,\n enumerable: true,\n })\n }\n }\n }\n // The properties defined above are already non-configurable and\n // non-writable, so the namespace's existing exports are effectively\n // immutable. Sealing additionally makes the object non-extensible, matching\n // real ESM-namespace semantics. Modules with dynamic re-exports\n // (`export *` from a CommonJS module) must stay extensible so the dynamic\n // export proxy can surface keys discovered at runtime, so skip the seal for\n // them.\n if (!dynamic) Object.seal(exports)\n}\n\n/**\n * Makes the module an ESM with exports\n */\nfunction esmExport(\n this: TurbopackBaseContext,\n bindings: EsmBindings,\n id: ModuleId | undefined,\n dynamic?: boolean\n) {\n let module: Module\n let exports: Module['exports']\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n module.namespaceObject = exports\n esm(exports, bindings, dynamic)\n}\ncontextPrototype.s = esmExport\n\n/**\n * Registers re-exports that all forward to properties of other modules.\n *\n * This is a compact spelling of the pattern\n *\n * ```js\n * var ns = context.i(moduleId)\n * context.s([exportName, () => ns[importedName], ...])\n * ```\n *\n * The list is a flat sequence of groups. Each group starts with the source the exports come from,\n * followed by that group's entries, and is terminated by the `0` sentinel (or the end of the list).\n *\n * The group head is either a **module id**, which is instantiated here:\n *\n * ```js\n * context.S([\n * 76061, 'default', 'f', 'named', 'A', 0,\n * 29842, 'otherModule', 'f',\n * ])\n * ```\n *\n * or the **namespace value** of a module that has already been imported, which is used directly:\n *\n * ```js\n * var ns1 = context.i(76061)\n * context.S([ns1, 'default', 'f', 'named', 'A'])\n * ```\n *\n * The producer picks the namespace form when it has generated the import anyway -- because some\n * later import must not be reordered past it -- so nothing is instantiated twice. The two are told\n * apart by type: a module id is always a string or number. A CommonJS function export produces a\n * callable namespace value, so namespace heads can be functions as well as objects.\n *\n * Entries are `exportName, importedName` pairs, except when a group holds exactly one string. That\n * string is then a comma-joined list of the same pairs, which saves the repeated quoting:\n *\n * ```js\n * context.S([\n * 76061, 'default,f,named,A', 0,\n * 29842, 'otherModule,f',\n * ])\n * ```\n *\n * The producer picks that spelling independently for each group whose names contain no commas,\n * since that group's names are recovered by splitting on them.\n *\n * Groups whose head is a module id are instantiated in list order, at the point where the call\n * appears, so the producer must not merge such a group across an import of another module. The\n * destination reuses a source data value or getter descriptor when one exists, falling back to a\n * wrapper getter for dynamic/proxy/inherited properties.\n *\n * `id` names the module the exports belong to when this module was merged into a scope-hoisting\n * group, exactly as it does for {@link EsmExport}.\n *\n * Only the source descriptor's payload (value or getter) is reused. {@link esm} still defines a\n * fresh enumerable, non-configurable destination property, and no source setter is ever forwarded.\n */\nfunction esmReexport(\n this: TurbopackBaseContext,\n list: EsmReexports,\n id?: ModuleId\n): void {\n const bindings: EsmBindings = []\n let i = 0\n while (i < list.length) {\n const head = list[i++]\n const start = i\n while (i < list.length && list[i] !== REEXPORT_GROUP_END) i++\n const end = i\n // Skip the sentinel, if this group was terminated by one rather than by the end of the list.\n i++\n\n // Module ids are always strings or numbers. Other values are already-imported namespaces;\n // notably, interop with a CommonJS function export produces a callable namespace function.\n // `esmImport` may return a promise for an async module, but re-exports of async modules keep\n // going through `context.s`, so the producer never routes them here and this stays synchronous.\n const namespace = (\n typeof head === 'string' || typeof head === 'number'\n ? esmImport.call(this, head)\n : head\n ) as Record\n if (end - start === 1) {\n const pairs = (list[start] as string).split(',')\n for (let j = 0; j < pairs.length; j += 2) {\n appendReexportBinding(bindings, pairs[j], namespace, pairs[j + 1])\n }\n } else {\n for (let j = start; j < end; j += 2) {\n appendReexportBinding(\n bindings,\n list[j] as string,\n namespace,\n list[j + 1] as string\n )\n }\n }\n }\n esmExport.call(this, bindings, id)\n}\ncontextPrototype.S = esmReexport\n\nfunction appendReexportBinding(\n bindings: EsmBindings,\n exportedName: string,\n namespace: Record,\n importedName: string\n): void {\n const descriptor = Reflect.getOwnPropertyDescriptor(namespace, importedName)\n if (descriptor) {\n if ('value' in descriptor) {\n // Code generation only routes immutable imported bindings through this helper, so a data\n // descriptor is a constant export and can be captured once.\n bindings.push(exportedName, BindingTag_Value, descriptor.value)\n return\n }\n if (descriptor.get) {\n // Accessors remain live by reusing the source getter. `esmReexport` is only called by\n // generated code: every group head is either produced by\n // `this.i` or is the namespace variable from a generated `this.i` call. Every getter on such\n // a namespace is receiver-independent: ESM bindings are compiler-generated arrow functions,\n // and the CommonJS/dynamic-namespace paths create arrows in `createGetter` and\n // `getOwnPropertyDescriptor`. The destination can therefore reuse the exact function instead\n // of allocating another wrapper getter.\n bindings.push(exportedName, descriptor.get)\n return\n }\n }\n\n // Dynamic/proxy/inherited CommonJS edge cases may not expose a usable own descriptor.\n bindings.push(exportedName, () => namespace[importedName])\n}\n\ntype ReexportedObjects = Record[]\nfunction ensureDynamicExports(\n module: Module,\n exports: Exports\n): ReexportedObjects {\n let reexportedObjects: ReexportedObjects | undefined =\n REEXPORTED_OBJECTS.get(module)\n\n if (!reexportedObjects) {\n REEXPORTED_OBJECTS.set(module, (reexportedObjects = []))\n // Returns the re-exported object that provides `prop` as an own property,\n // or `undefined` if none does. The traps share this logic so they always\n // agree on which keys are synthesized from `reexportedObjects`. `default`\n // is never re-exported by `export *`, so it is never synthesized.\n const reexportOwning = (prop: PropertyKey) => {\n if (prop !== 'default') {\n for (const obj of reexportedObjects!) {\n if (hasOwnProperty.call(obj, prop)) return obj\n }\n }\n return undefined\n }\n // Modules with dynamic re-exports are not sealed by `esm()`, so the\n // target beneath the namespace stays extensible. That is what lets the\n // `ownKeys` and `getOwnPropertyDescriptor` traps legally report keys that\n // exist on `reexportedObjects` but not on the target itself.\n module.exports = module.namespaceObject = new Proxy(exports, {\n get(target, prop) {\n if (\n hasOwnProperty.call(target, prop) ||\n prop === 'default' ||\n prop === '__esModule'\n ) {\n return Reflect.get(target, prop)\n }\n const obj = reexportOwning(prop)\n return obj && Reflect.get(obj, prop)\n },\n // The namespace is read-only, like a real esm namespace object. The\n // re-exported modules can still mutate their own exports (exposed live\n // via `get`), but mutating the namespace itself is rejected. Refusing\n // here, rather than forwarding to the extensible target, also prevents an\n // assignment/definition from shadowing a dynamic re-export. It also\n // prevents delete from removing a static export.\n set() {\n return false\n },\n defineProperty() {\n return false\n },\n deleteProperty() {\n return false\n },\n // The `has` trap ensures that `'exportName' in starImports` will reflect\n // the truth of whether a key is exported.\n has(target, prop) {\n if (Reflect.has(target, prop)) return true\n if (prop === 'default' || prop === '__esModule') return false\n return reexportOwning(prop) !== undefined\n },\n // ownKeys and getOwnPropertyDescriptor together make the keys enumerable.\n // If a value is returned from `ownKeys` but its property descriptor is\n // not enumerable, it will not be visible to iterator methods.\n // Collectively, they allow code like the following:\n //\n // ```\n // // module.js re-exports dynamic CJS exports\n // export * from './legacyModule.cjs'\n //\n // // from another JS file, reference the re-exported dynamic values\n // import * as Namespace from './module.js'\n // Object.keys(Namespace)\n // ```\n ownKeys(target) {\n const keys = Reflect.ownKeys(target)\n for (const obj of reexportedObjects!) {\n for (const key of Reflect.ownKeys(obj)) {\n if (key !== 'default' && !keys.includes(key)) keys.push(key)\n }\n }\n return keys\n },\n getOwnPropertyDescriptor(target, prop) {\n const own = Reflect.getOwnPropertyDescriptor(target, prop)\n if (own || prop === 'default' || prop === '__esModule') return own\n const obj = reexportOwning(prop)\n if (obj) {\n // Synthetic keys don't exist on the target, so they MUST be\n // reported as configurable. However the set/delete traps above will\n // prevent them from actually being changed\n return {\n enumerable: true,\n configurable: true,\n get: () => Reflect.get(obj, prop),\n }\n }\n return undefined\n },\n })\n }\n return reexportedObjects\n}\n\n/**\n * Dynamically exports properties from an object\n */\nfunction dynamicExport(\n this: TurbopackBaseContext,\n object: Record,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Exports\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n const reexportedObjects = ensureDynamicExports(module, exports)\n\n if (typeof object === 'object' && object !== null) {\n reexportedObjects.push(object)\n }\n}\ncontextPrototype.j = dynamicExport\n\nfunction exportValue(\n this: TurbopackBaseContext,\n value: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = value\n}\ncontextPrototype.v = exportValue\n\nfunction exportNamespace(\n this: TurbopackBaseContext,\n namespace: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = module.namespaceObject = namespace\n}\ncontextPrototype.n = exportNamespace\n\nfunction createGetter(obj: Record, key: string | symbol) {\n return () => obj[key]\n}\n\n/**\n * @returns prototype of the object\n */\nconst getProto: (obj: any) => any = Object.getPrototypeOf\n ? (obj) => Object.getPrototypeOf(obj)\n : (obj) => obj.__proto__\n\n/** Prototypes that are not expanded for exports */\nconst LEAF_PROTOTYPES = [null, getProto({}), getProto([]), getProto(getProto)]\n\n/**\n * @param raw\n * @param ns\n * @param allowExportDefault\n * * `false`: will have the raw module as default export\n * * `true`: will have the default property as default export\n */\nfunction interopEsm(\n raw: Exports,\n ns: EsmNamespaceObject,\n allowExportDefault?: boolean\n) {\n const bindings: EsmBindings = []\n let defaultLocation = -1\n for (\n let current = raw;\n (typeof current === 'object' || typeof current === 'function') &&\n !LEAF_PROTOTYPES.includes(current);\n current = getProto(current)\n ) {\n for (const key of Object.getOwnPropertyNames(current)) {\n bindings.push(key, createGetter(raw, key))\n if (defaultLocation === -1 && key === 'default') {\n defaultLocation = bindings.length - 1\n }\n }\n }\n\n // this is not really correct\n // we should set the `default` getter if the imported module is a `.cjs file`\n if (!(allowExportDefault && defaultLocation >= 0)) {\n // Replace the binding with one for the namespace itself in order to preserve iteration order.\n if (defaultLocation >= 0) {\n // Replace the getter with the value\n bindings.splice(defaultLocation, 1, BindingTag_Value, raw)\n } else {\n bindings.push('default', BindingTag_Value, raw)\n }\n }\n\n esm(ns, bindings)\n return ns\n}\n\nfunction createNS(raw: Module['exports']): EsmNamespaceObject {\n if (typeof raw === 'function') {\n return function (this: any, ...args: any[]) {\n return raw.apply(this, args)\n }\n } else {\n return Object.create(null)\n }\n}\n\nfunction esmImport(\n this: TurbopackBaseContext,\n id: ModuleId\n): Exclude {\n const module = getOrInstantiateModuleFromParent(id, this.m)\n\n // any ES module has to have `module.namespaceObject` defined.\n if (module.namespaceObject) return module.namespaceObject\n\n // only ESM can be an async module, so we don't need to worry about exports being a promise here.\n const raw = module.exports\n return (module.namespaceObject = interopEsm(\n raw,\n createNS(raw),\n raw && (raw as any).__esModule\n ))\n}\ncontextPrototype.i = esmImport\n\nfunction asyncLoader(\n this: TurbopackBaseContext,\n moduleId: ModuleId\n): Promise {\n const loader = this.r(moduleId) as (\n importFunction: EsmImport\n ) => Promise\n return loader(esmImport.bind(this))\n}\ncontextPrototype.A = asyncLoader\n\n// Add a simple runtime require so that environments without one can still pass\n// `typeof require` CommonJS checks so that exports are correctly registered.\nconst runtimeRequire =\n // @ts-ignore\n typeof require === 'function'\n ? // @ts-ignore\n require\n : function require() {\n throw new Error('Unexpected use of runtime require')\n }\ncontextPrototype.t = runtimeRequire\n\nfunction commonJsRequire(\n this: TurbopackBaseContext,\n id: ModuleId\n): Exports {\n return getOrInstantiateModuleFromParent(id, this.m).exports\n}\ncontextPrototype.r = commonJsRequire\n\n/**\n * Remove fragments and query parameters since they are never part of the context map keys\n *\n * This matches how we parse patterns at resolving time. Arguably we should only do this for\n * strings passed to `import` but the resolve does it for `import` and `require` and so we do\n * here as well.\n */\nfunction parseRequest(request: string): string {\n // Per the URI spec fragments can contain `?` characters, so we should trim it off first\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5\n const hashIndex = request.indexOf('#')\n if (hashIndex !== -1) {\n request = request.substring(0, hashIndex)\n }\n\n const queryIndex = request.indexOf('?')\n if (queryIndex !== -1) {\n request = request.substring(0, queryIndex)\n }\n\n return request\n}\n/**\n * `require.context` and require/import expression runtime.\n */\nfunction moduleContext(map: ModuleContextMap): ModuleContext {\n function moduleContext(id: string): Exports {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].module()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.keys = (): string[] => {\n return Object.keys(map)\n }\n\n moduleContext.resolve = (id: string): ModuleId => {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].id()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.import = async (id: string) => {\n return await (moduleContext(id) as Promise)\n }\n\n return moduleContext\n}\ncontextPrototype.f = moduleContext\n\n/**\n * Returns the path of a chunk defined by its data.\n */\nfunction getChunkPath(chunkData: ChunkData): ChunkPath {\n return typeof chunkData === 'string' ? chunkData : chunkData.path\n}\n\n// Load the CompressedModuleFactories of a chunk into the `moduleFactories` Map.\n// The flat format alternates one or more module IDs with their factory function.\n// Strict factories can be prepended as a nested array.\nfunction installCompressedModuleFactories(\n chunkModules: CompressedModuleFactories,\n offset: number,\n moduleFactories: ModuleFactories,\n newModuleId?: (id: ModuleId) => void\n) {\n let i = offset\n const strictFactories = chunkModules[i]\n if (Array.isArray(strictFactories)) {\n installCompressedModuleFactories(\n strictFactories,\n 0,\n moduleFactories,\n newModuleId\n )\n i++\n }\n while (i < chunkModules.length) {\n let end = i + 1\n // Find our factory function\n while (\n end < chunkModules.length &&\n typeof chunkModules[end] !== 'function'\n ) {\n end++\n }\n if (end === chunkModules.length) {\n throw new Error('malformed chunk format, expected a factory function')\n }\n\n // Install the factory for each module ID that doesn't already have one.\n // When some IDs in this group already have a factory, reuse that existing\n // group factory for the missing IDs to keep all IDs in the group consistent.\n // Otherwise, install the factory from this chunk.\n const moduleFactoryFn = chunkModules[end] as Function\n let existingGroupFactory: Function | undefined = undefined\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n const existingFactory = moduleFactories.get(id)\n if (existingFactory) {\n existingGroupFactory = existingFactory\n break\n }\n }\n const factoryToInstall = existingGroupFactory ?? moduleFactoryFn\n\n let didInstallFactory = false\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n if (!moduleFactories.has(id)) {\n if (!didInstallFactory) {\n if (factoryToInstall === moduleFactoryFn) {\n applyModuleFactoryName(moduleFactoryFn)\n }\n didInstallFactory = true\n }\n moduleFactories.set(id, factoryToInstall)\n newModuleId?.(id)\n }\n }\n i = end + 1\n }\n}\n\n/**\n * A pseudo \"fake\" URL object to resolve to its relative path.\n *\n * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this\n * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid\n * hydration mismatch.\n *\n * This is based on webpack's existing implementation:\n * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js\n */\nconst relativeURL = function relativeURL(this: any, inputUrl: string) {\n const realUrl = new URL(inputUrl, 'x:/')\n const values: Record = {}\n for (const key in realUrl) values[key] = (realUrl as any)[key]\n values.href = inputUrl\n values.pathname = inputUrl.replace(/[?#].*/, '')\n values.origin = values.protocol = ''\n values.toString = values.toJSON = (..._args: Array) => inputUrl\n for (const key in values)\n Object.defineProperty(this, key, {\n enumerable: true,\n configurable: true,\n value: values[key],\n })\n}\nrelativeURL.prototype = URL.prototype\ncontextPrototype.U = relativeURL\n\n/**\n * Utility function to ensure all variants of an enum are handled.\n */\nfunction invariant(never: never, computeMessage: (arg: any) => string): never {\n throw new Error(`Invariant: ${computeMessage(never)}`)\n}\n\n/**\n * Constructs an error message for when a module factory is not available.\n */\nfunction factoryNotAvailableMessage(\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): string {\n let instantiationReason: string\n switch (sourceType) {\n case SourceType.Runtime:\n instantiationReason = `as a runtime entry of chunk ${sourceData}`\n break\n case SourceType.Parent:\n instantiationReason = `because it was required from module ${sourceData}`\n break\n case SourceType.Update:\n instantiationReason = 'because of an HMR update'\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`\n}\n\n/**\n * Returns a `file://` URL under a synthetic directory named after `root`\n * (`ROOT` for the project root), for when the real filesystem path is unknown.\n * The root name and path segments are percent-encoded so the result is always\n * a valid file URI.\n */\nfunction placeholderFileUrl(modulePath: string, root?: string): string {\n return `file:///${encodeURIComponent(root ?? 'ROOT')}/${modulePath\n .split('/')\n .map(encodeURIComponent)\n .join('/')}`\n}\n\n/**\n * A stub function to make `require` available but non-functional in ESM.\n */\nfunction requireStub(_moduleId: ModuleId): never {\n throw new Error('dynamic usage of require is not supported')\n}\ncontextPrototype.z = requireStub\n\n// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable.\ncontextPrototype.g = globalThis\n\ntype ContextConstructor = {\n new (module: Module, exports: Exports): TurbopackBaseContext\n}\n\nfunction applyModuleFactoryName(factory: Function) {\n // Give the module factory a nice name to improve stack traces.\n Object.defineProperty(factory, 'name', {\n value: 'module evaluation',\n })\n}\n"],"names":["SourceType","createModuleWithDirectionFlag","REEXPORTED_OBJECTS","WeakMap","Context","module","exports","m","e","contextPrototype","prototype","hasOwnProperty","Object","toStringTag","Symbol","defineProp","obj","name","options","call","defineProperty","getOverwrittenModule","moduleCache","id","get","undefined","createModuleWithDirection","createModuleObject","set","error","namespaceObject","parents","children","BindingTag_Value","REEXPORT_GROUP_END","esm","bindings","dynamic","value","i","length","propName","tagOrFunction","enumerable","writable","Error","getterFn","setterFn","seal","esmExport","c","s","esmReexport","list","head","start","end","namespace","esmImport","pairs","split","j","appendReexportBinding","S","exportedName","importedName","descriptor","Reflect","getOwnPropertyDescriptor","push","ensureDynamicExports","reexportedObjects","reexportOwning","prop","Proxy","target","deleteProperty","has","ownKeys","keys","key","includes","own","configurable","dynamicExport","object","exportValue","v","exportNamespace","n","createGetter","getProto","getPrototypeOf","__proto__","LEAF_PROTOTYPES","interopEsm","raw","ns","allowExportDefault","defaultLocation","current","getOwnPropertyNames","splice","createNS","args","apply","create","getOrInstantiateModuleFromParent","__esModule","asyncLoader","moduleId","loader","r","bind","A","runtimeRequire","require","require1","t","commonJsRequire","parseRequest","request","hashIndex","indexOf","substring","queryIndex","moduleContext","map","code","resolve","import","f","getChunkPath","chunkData","path","installCompressedModuleFactories","chunkModules","offset","moduleFactories","newModuleId","strictFactories","Array","isArray","moduleFactoryFn","existingGroupFactory","existingFactory","factoryToInstall","didInstallFactory","applyModuleFactoryName","relativeURL","inputUrl","realUrl","URL","values","href","pathname","replace","origin","protocol","toString","toJSON","_args","U","invariant","never","computeMessage","factoryNotAvailableMessage","sourceType","sourceData","instantiationReason","placeholderFileUrl","modulePath","root","encodeURIComponent","join","requireStub","_moduleId","z","g","globalThis","factory"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 664, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/async-module.ts"],"sourcesContent":["/// \n/// \n\n/**\n * Top-level-await / async-module machinery. This is only included in the runtime\n * when the module graph actually contains an async module (a module with\n * top-level await, or one that transitively depends on one). When no async\n * module is present, the chunk items never reference `__turbopack_context__.a`,\n * so this whole file can be omitted.\n *\n * everything below is adapted from webpack\n * https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13\n */\n\nconst turbopackQueues = Symbol('turbopack queues')\nconst turbopackExports = Symbol('turbopack exports')\nconst turbopackError = Symbol('turbopack error')\n\nconst enum QueueStatus {\n Unknown = -1,\n Unresolved = 0,\n Resolved = 1,\n}\n\ntype AsyncQueueFn = (() => void) & { queueCount: number }\ntype AsyncQueue = AsyncQueueFn[] & {\n status: QueueStatus\n}\n\ntype Dep = Exports | AsyncModulePromise | Promise\n\ntype AsyncModuleExt = {\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => void\n [turbopackExports]: Exports\n [turbopackError]?: any\n}\n\ntype AsyncModulePromise = Promise & AsyncModuleExt\n\nfunction isPromise(maybePromise: any): maybePromise is Promise {\n return (\n maybePromise != null &&\n typeof maybePromise === 'object' &&\n 'then' in maybePromise &&\n typeof maybePromise.then === 'function'\n )\n}\n\nfunction isAsyncModuleExt(obj: T): obj is AsyncModuleExt & T {\n return turbopackQueues in obj\n}\n\nfunction createPromise() {\n let resolve: (value: T | PromiseLike) => void\n let reject: (reason?: any) => void\n\n const promise = new Promise((res, rej) => {\n reject = rej\n resolve = res\n })\n\n return {\n promise,\n resolve: resolve!,\n reject: reject!,\n }\n}\n\nfunction resolveQueue(queue?: AsyncQueue) {\n if (queue && queue.status !== QueueStatus.Resolved) {\n queue.status = QueueStatus.Resolved\n queue.forEach((fn) => fn.queueCount--)\n queue.forEach((fn) => (fn.queueCount-- ? fn.queueCount++ : fn()))\n }\n}\n\nfunction wrapDeps(deps: Dep[]): AsyncModuleExt[] {\n return deps.map((dep): AsyncModuleExt => {\n if (dep !== null && typeof dep === 'object') {\n if (isAsyncModuleExt(dep)) return dep\n if (isPromise(dep)) {\n const queue: AsyncQueue = Object.assign([], {\n status: QueueStatus.Unresolved,\n })\n\n const obj: AsyncModuleExt = {\n [turbopackExports]: {},\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => fn(queue),\n }\n\n dep.then(\n (res) => {\n obj[turbopackExports] = res\n resolveQueue(queue)\n },\n (err) => {\n obj[turbopackError] = err\n resolveQueue(queue)\n }\n )\n\n return obj\n }\n }\n\n return {\n [turbopackExports]: dep,\n [turbopackQueues]: () => {},\n }\n })\n}\n\nfunction asyncModule(\n this: TurbopackBaseContext,\n body: (\n handleAsyncDependencies: (\n deps: Dep[]\n ) => Exports[] | Promise<() => Exports[]>,\n asyncResult: (err?: any) => void\n ) => void,\n hasAwait: boolean\n) {\n const module = this.m\n const queue: AsyncQueue | undefined = hasAwait\n ? Object.assign([], { status: QueueStatus.Unknown })\n : undefined\n\n const depQueues: Set = new Set()\n\n const { resolve, reject, promise: rawPromise } = createPromise()\n\n const promise: AsyncModulePromise = Object.assign(rawPromise, {\n [turbopackExports]: module.exports,\n [turbopackQueues]: (fn) => {\n queue && fn(queue)\n depQueues.forEach(fn)\n promise['catch'](() => {})\n },\n } satisfies AsyncModuleExt)\n\n const attributes: PropertyDescriptor = {\n get(): any {\n return promise\n },\n set(v: any) {\n // Calling `esmExport` leads to this.\n if (v !== promise) {\n promise[turbopackExports] = v\n }\n },\n }\n\n Object.defineProperty(module, 'exports', attributes)\n Object.defineProperty(module, 'namespaceObject', attributes)\n\n function handleAsyncDependencies(deps: Dep[]) {\n const currentDeps = wrapDeps(deps)\n\n const getResult = () =>\n currentDeps.map((d) => {\n if (d[turbopackError]) throw d[turbopackError]\n return d[turbopackExports]\n })\n\n const { promise, resolve } = createPromise<() => Exports[]>()\n\n const fn: AsyncQueueFn = Object.assign(() => resolve(getResult), {\n queueCount: 0,\n })\n\n function fnQueue(q: AsyncQueue) {\n if (q !== queue && !depQueues.has(q)) {\n depQueues.add(q)\n if (q && q.status === QueueStatus.Unresolved) {\n fn.queueCount++\n q.push(fn)\n }\n }\n }\n\n currentDeps.map((dep) => dep[turbopackQueues](fnQueue))\n\n return fn.queueCount ? promise : getResult()\n }\n\n function asyncResult(err?: any) {\n if (err) {\n reject((promise[turbopackError] = err))\n } else {\n resolve(promise[turbopackExports])\n }\n\n resolveQueue(queue)\n }\n\n body(handleAsyncDependencies, asyncResult)\n\n if (queue && queue.status === QueueStatus.Unknown) {\n queue.status = QueueStatus.Unresolved\n }\n}\ncontextPrototype.a = asyncModule\n"],"names":["turbopackQueues","Symbol","turbopackExports","turbopackError","isPromise","maybePromise","then","isAsyncModuleExt","obj","createPromise","resolve","reject","promise","Promise","res","rej","resolveQueue","queue","status","forEach","fn","queueCount","wrapDeps","deps","map","dep","Object","assign","err","asyncModule","body","hasAwait","module","m","undefined","depQueues","Set","rawPromise","exports","attributes","get","set","v","defineProperty","handleAsyncDependencies","currentDeps","getResult","d","fnQueue","q","has","add","push","asyncResult","contextPrototype","a"],"mappings":"AAAA,6CAA6C;AAC7C,2CAA2C;AAE3C;;;;;;;;;CASC,GAED,MAAMA,kBAAkBC,OAAO;AAC/B,MAAMC,mBAAmBD,OAAO;AAChC,MAAME,iBAAiBF,OAAO;AAuB9B,SAASG,UAAmBC,YAAiB;IAC3C,OACEA,gBAAgB,QAChB,OAAOA,iBAAiB,YACxB,UAAUA,gBACV,OAAOA,aAAaC,IAAI,KAAK;AAEjC;AAEA,SAASC,iBAA+BC,GAAM;IAC5C,OAAOR,mBAAmBQ;AAC5B;AAEA,SAASC;IACP,IAAIC;IACJ,IAAIC;IAEJ,MAAMC,UAAU,IAAIC,QAAW,CAACC,KAAKC;QACnCJ,SAASI;QACTL,UAAUI;IACZ;IAEA,OAAO;QACLF;QACAF,SAASA;QACTC,QAAQA;IACV;AACF;AAEA,SAASK,aAAaC,KAAkB;IACtC,IAAIA,SAASA,MAAMC,MAAM,KAhDd,GAgDyC;QAClDD,MAAMC,MAAM,GAjDH;QAkDTD,MAAME,OAAO,CAAC,CAACC,KAAOA,GAAGC,UAAU;QACnCJ,MAAME,OAAO,CAAC,CAACC,KAAQA,GAAGC,UAAU,KAAKD,GAAGC,UAAU,KAAKD;IAC7D;AACF;AAEA,SAASE,SAASC,IAAW;IAC3B,OAAOA,KAAKC,GAAG,CAAC,CAACC;QACf,IAAIA,QAAQ,QAAQ,OAAOA,QAAQ,UAAU;YAC3C,IAAIlB,iBAAiBkB,MAAM,OAAOA;YAClC,IAAIrB,UAAUqB,MAAM;gBAClB,MAAMR,QAAoBS,OAAOC,MAAM,CAAC,EAAE,EAAE;oBAC1CT,QA9DK;gBA+DP;gBAEA,MAAMV,MAAsB;oBAC1B,CAACN,iBAAiB,EAAE,CAAC;oBACrB,CAACF,gBAAgB,EAAE,CAACoB,KAAoCA,GAAGH;gBAC7D;gBAEAQ,IAAInB,IAAI,CACN,CAACQ;oBACCN,GAAG,CAACN,iBAAiB,GAAGY;oBACxBE,aAAaC;gBACf,GACA,CAACW;oBACCpB,GAAG,CAACL,eAAe,GAAGyB;oBACtBZ,aAAaC;gBACf;gBAGF,OAAOT;YACT;QACF;QAEA,OAAO;YACL,CAACN,iBAAiB,EAAEuB;YACpB,CAACzB,gBAAgB,EAAE,KAAO;QAC5B;IACF;AACF;AAEA,SAAS6B,YAEPC,IAKS,EACTC,QAAiB;IAEjB,MAAMC,SAAS,IAAI,CAACC,CAAC;IACrB,MAAMhB,QAAgCc,WAClCL,OAAOC,MAAM,CAAC,EAAE,EAAE;QAAET,MAAM;IAAsB,KAChDgB;IAEJ,MAAMC,YAA6B,IAAIC;IAEvC,MAAM,EAAE1B,OAAO,EAAEC,MAAM,EAAEC,SAASyB,UAAU,EAAE,GAAG5B;IAEjD,MAAMG,UAA8Bc,OAAOC,MAAM,CAACU,YAAY;QAC5D,CAACnC,iBAAiB,EAAE8B,OAAOM,OAAO;QAClC,CAACtC,gBAAgB,EAAE,CAACoB;YAClBH,SAASG,GAAGH;YACZkB,UAAUhB,OAAO,CAACC;YAClBR,OAAO,CAAC,QAAQ,CAAC,KAAO;QAC1B;IACF;IAEA,MAAM2B,aAAiC;QACrCC;YACE,OAAO5B;QACT;QACA6B,KAAIC,CAAM;YACR,qCAAqC;YACrC,IAAIA,MAAM9B,SAAS;gBACjBA,OAAO,CAACV,iBAAiB,GAAGwC;YAC9B;QACF;IACF;IAEAhB,OAAOiB,cAAc,CAACX,QAAQ,WAAWO;IACzCb,OAAOiB,cAAc,CAACX,QAAQ,mBAAmBO;IAEjD,SAASK,wBAAwBrB,IAAW;QAC1C,MAAMsB,cAAcvB,SAASC;QAE7B,MAAMuB,YAAY,IAChBD,YAAYrB,GAAG,CAAC,CAACuB;gBACf,IAAIA,CAAC,CAAC5C,eAAe,EAAE,MAAM4C,CAAC,CAAC5C,eAAe;gBAC9C,OAAO4C,CAAC,CAAC7C,iBAAiB;YAC5B;QAEF,MAAM,EAAEU,OAAO,EAAEF,OAAO,EAAE,GAAGD;QAE7B,MAAMW,KAAmBM,OAAOC,MAAM,CAAC,IAAMjB,QAAQoC,YAAY;YAC/DzB,YAAY;QACd;QAEA,SAAS2B,QAAQC,CAAa;YAC5B,IAAIA,MAAMhC,SAAS,CAACkB,UAAUe,GAAG,CAACD,IAAI;gBACpCd,UAAUgB,GAAG,CAACF;gBACd,IAAIA,KAAKA,EAAE/B,MAAM,KAzJV,GAyJuC;oBAC5CE,GAAGC,UAAU;oBACb4B,EAAEG,IAAI,CAAChC;gBACT;YACF;QACF;QAEAyB,YAAYrB,GAAG,CAAC,CAACC,MAAQA,GAAG,CAACzB,gBAAgB,CAACgD;QAE9C,OAAO5B,GAAGC,UAAU,GAAGT,UAAUkC;IACnC;IAEA,SAASO,YAAYzB,GAAS;QAC5B,IAAIA,KAAK;YACPjB,OAAQC,OAAO,CAACT,eAAe,GAAGyB;QACpC,OAAO;YACLlB,QAAQE,OAAO,CAACV,iBAAiB;QACnC;QAEAc,aAAaC;IACf;IAEAa,KAAKc,yBAAyBS;IAE9B,IAAIpC,SAASA,MAAMC,MAAM,SAA0B;QACjDD,MAAMC,MAAM,GAlLD;IAmLb;AACF;AACAoC,iBAAiBC,CAAC,GAAG1B","ignoreList":[0]}}, + {"offset": {"line": 796, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/base-externals-utils.ts"],"sourcesContent":["/// \n\n/// A 'base' utilities to support runtime can have externals.\n/// Currently this is for node.js / edge runtime both.\n/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead.\n\nasync function externalImport(id: DependencySpecifier) {\n let raw\n try {\n raw = await import(id)\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (raw && raw.__esModule && raw.default && 'default' in raw.default) {\n return interopEsm(raw.default, createNS(raw), true)\n }\n\n return raw\n}\ncontextPrototype.y = externalImport\n\nfunction externalRequire(\n id: ModuleId,\n thunk: () => any,\n esm: boolean = false\n): Exports | EsmNamespaceObject {\n let raw\n try {\n raw = thunk()\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (!esm || raw.__esModule) {\n return raw\n }\n\n return interopEsm(raw, createNS(raw), true)\n}\n\nexternalRequire.resolve = (\n id: string,\n options?: {\n paths?: string[]\n }\n) => {\n return require.resolve(id, options)\n}\ncontextPrototype.x = externalRequire\n"],"names":["externalImport","id","raw","err","Error","__esModule","default","interopEsm","createNS","contextPrototype","y","externalRequire","thunk","esm","resolve","options","require","x"],"mappings":"AAAA,2DAA2D;AAE3D,6DAA6D;AAC7D,sDAAsD;AACtD,qGAAqG;AAErG,eAAeA,eAAeC,EAAuB;IACnD,IAAIC;IACJ,IAAI;QACFA,MAAM,MAAM,MAAM,CAACD;IACrB,EAAE,OAAOE,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAID,OAAOA,IAAIG,UAAU,IAAIH,IAAII,OAAO,IAAI,aAAaJ,IAAII,OAAO,EAAE;QACpE,OAAOC,WAAWL,IAAII,OAAO,EAAEE,SAASN,MAAM;IAChD;IAEA,OAAOA;AACT;AACAO,iBAAiBC,CAAC,GAAGV;AAErB,SAASW,gBACPV,EAAY,EACZW,KAAgB,EAChBC,MAAe,KAAK;IAEpB,IAAIX;IACJ,IAAI;QACFA,MAAMU;IACR,EAAE,OAAOT,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAI,CAACU,OAAOX,IAAIG,UAAU,EAAE;QAC1B,OAAOH;IACT;IAEA,OAAOK,WAAWL,KAAKM,SAASN,MAAM;AACxC;AAEAS,gBAAgBG,OAAO,GAAG,CACxBb,IACAc;IAIA,OAAOC,QAAQF,OAAO,CAACb,IAAIc;AAC7B;AACAN,iBAAiBQ,CAAC,GAAGN","ignoreList":[0]}}, + {"offset": {"line": 837, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/node-externals-utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\ndeclare var RUNTIME_PUBLIC_PATH: string\ndeclare var RELATIVE_ROOT_PATH: string\ndeclare var ASSET_PREFIX: string\n\nconst path = require('path')\n\nconst relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.')\n// Compute the relative path to the `distDir`.\nconst relativePathToDistRoot = path.join(\n relativePathToRuntimeRoot,\n RELATIVE_ROOT_PATH\n)\nconst RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot)\n// Compute the absolute path to the root, by stripping distDir from the absolute path to this file.\nconst ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot)\n\n/**\n * Returns an absolute path to the given module path.\n * Module path should be relative, either path to a file or a directory.\n *\n * This fn allows to calculate an absolute path for some global static values, such as\n * `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time.\n * See ImportMetaBinding::code_generation for the usage.\n */\nfunction resolveAbsolutePath(modulePath?: string): string {\n if (modulePath) {\n return path.join(ABSOLUTE_ROOT, modulePath)\n }\n return ABSOLUTE_ROOT\n}\nContext.prototype.P = resolveAbsolutePath\n\n/**\n * Returns an absolute `file://` URL for the given module path, which is\n * relative to the project root or the named `root`.\n *\n * Uses `url.pathToFileURL` so that the resulting URL is a valid file URI on\n * all platforms (forward slashes on Windows, drive letters handled\n * correctly, path segments URL-encoded).\n *\n * The location of a named `root` isn't known at runtime (the output may have\n * been moved away from the sources), so this returns a placeholder URL for it.\n */\nfunction resolveFileUrl(modulePath: string, root?: string): string {\n if (root !== undefined) {\n return placeholderFileUrl(modulePath, root)\n }\n return require('url').pathToFileURL(resolveAbsolutePath(modulePath)).href\n}\nContext.prototype.F = resolveFileUrl\n"],"names":["path","require","relativePathToRuntimeRoot","relative","RUNTIME_PUBLIC_PATH","relativePathToDistRoot","join","RELATIVE_ROOT_PATH","RUNTIME_ROOT","resolve","__filename","ABSOLUTE_ROOT","resolveAbsolutePath","modulePath","Context","prototype","P","resolveFileUrl","root","undefined","placeholderFileUrl","pathToFileURL","href","F"],"mappings":"AAAA,oDAAoD,GAMpD,MAAMA,OAAOC,QAAQ;AAErB,MAAMC,4BAA4BF,KAAKG,QAAQ,CAACC,qBAAqB;AACrE,8CAA8C;AAC9C,MAAMC,yBAAyBL,KAAKM,IAAI,CACtCJ,2BACAK;AAEF,MAAMC,eAAeR,KAAKS,OAAO,CAACC,YAAYR;AAC9C,mGAAmG;AACnG,MAAMS,gBAAgBX,KAAKS,OAAO,CAACC,YAAYL;AAE/C;;;;;;;CAOC,GACD,SAASO,oBAAoBC,UAAmB;IAC9C,IAAIA,YAAY;QACd,OAAOb,KAAKM,IAAI,CAACK,eAAeE;IAClC;IACA,OAAOF;AACT;AACAG,QAAQC,SAAS,CAACC,CAAC,GAAGJ;AAEtB;;;;;;;;;;CAUC,GACD,SAASK,eAAeJ,UAAkB,EAAEK,IAAa;IACvD,IAAIA,SAASC,WAAW;QACtB,OAAOC,mBAAmBP,YAAYK;IACxC;IACA,OAAOjB,QAAQ,OAAOoB,aAAa,CAACT,oBAAoBC,aAAaS,IAAI;AAC3E;AACAR,QAAQC,SAAS,CAACQ,CAAC,GAAGN","ignoreList":[0]}}, + {"offset": {"line": 875, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/runtime-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// \n/// \n/// \n/// \n\n/**\n * Base Node.js runtime shared between production and development.\n * Contains chunk loading, module caching, and other non-HMR functionality.\n */\n\nprocess.env.TURBOPACK = '1'\n\nconst url = require('url') as typeof import('url')\n\nconst moduleFactories: ModuleFactories = new Map()\nconst moduleCache: ModuleCache = new Map()\n\n/**\n * Returns an absolute path to the given module's id.\n */\nfunction resolvePathFromModule(\n this: TurbopackBaseContext,\n moduleId: string\n): string {\n const exported = this.r(moduleId)\n const exportedPath = exported?.default ?? exported\n if (typeof exportedPath !== 'string') {\n return exported as any\n }\n\n const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length)\n const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix)\n\n return url.pathToFileURL(resolved).href\n}\n\n/**\n * Exports a URL value. No suffix is added in Node.js runtime.\n */\nfunction exportUrl(\n this: TurbopackBaseContext,\n urlValue: string,\n id: ModuleId | undefined\n) {\n exportValue.call(this, urlValue, id)\n}\n\nfunction loadRuntimeChunk(sourcePath: ChunkPath, chunkData: ChunkData): void {\n if (typeof chunkData === 'string') {\n loadRuntimeChunkPath(sourcePath, chunkData)\n } else {\n loadRuntimeChunkPath(sourcePath, chunkData.path)\n }\n}\n\nconst loadedChunks = new Set()\nconst unsupportedLoadChunk = Promise.resolve(undefined)\nconst loadedChunk: Promise = Promise.resolve(undefined)\nconst chunkCache = new Map>()\n\nfunction clearChunkCache() {\n chunkCache.clear()\n loadedChunks.clear()\n}\n\nfunction loadRuntimeChunkPath(\n sourcePath: ChunkPath,\n chunkPath: ChunkPath\n): void {\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return\n }\n\n if (loadedChunks.has(chunkPath)) {\n return\n }\n\n try {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n loadedChunks.add(chunkPath)\n } catch (cause) {\n let errorMessage = `Failed to load chunk ${chunkPath}`\n\n if (sourcePath) {\n errorMessage += ` from runtime for chunk ${sourcePath}`\n }\n\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n throw error\n }\n}\n\nfunction loadChunkAsync(\n this: TurbopackBaseContext,\n chunkData: ChunkData\n): Promise {\n const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return unsupportedLoadChunk\n }\n\n let entry = chunkCache.get(chunkPath)\n if (entry === undefined) {\n try {\n // resolve to an absolute path to simplify `require` handling\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n // TODO: consider switching to `import()` to enable concurrent chunk loading and async file io\n // However this is incompatible with hot reloading (since `import` doesn't use the require cache)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n entry = loadedChunk\n } catch (cause) {\n const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n\n // Cache the failure promise, future requests will also get this same rejection\n entry = Promise.reject(error)\n }\n chunkCache.set(chunkPath, entry)\n }\n // TODO: Return an instrumented Promise that React can use instead of relying on referential equality.\n return entry\n}\ncontextPrototype.l = loadChunkAsync\n\nfunction loadChunkAsyncByUrl(\n this: TurbopackBaseContext,\n chunkUrl: string\n) {\n const path = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT)) as ChunkPath\n return loadChunkAsync.call(this, path)\n}\ncontextPrototype.L = loadChunkAsyncByUrl\n\n// Shared runtime primitive: the root that on-disk chunk paths are resolved\n// against. Used by the bundled wasm helper (exposed as `__turbopack_runtime_root__`).\ncontextPrototype.w = RUNTIME_ROOT\n\nconst regexJsUrl = /\\.js(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment.\n */\nfunction isJs(chunkUrlOrPath: ChunkUrl | ChunkPath): boolean {\n return regexJsUrl.test(chunkUrlOrPath)\n}\n"],"names":["process","env","TURBOPACK","url","require","moduleFactories","Map","moduleCache","resolvePathFromModule","moduleId","exported","r","exportedPath","default","strippedAssetPrefix","slice","ASSET_PREFIX","length","resolved","path","resolve","RUNTIME_ROOT","pathToFileURL","href","exportUrl","urlValue","id","exportValue","call","loadRuntimeChunk","sourcePath","chunkData","loadRuntimeChunkPath","loadedChunks","Set","unsupportedLoadChunk","Promise","undefined","loadedChunk","chunkCache","clearChunkCache","clear","chunkPath","isJs","has","chunkModules","installCompressedModuleFactories","add","cause","errorMessage","error","Error","name","loadChunkAsync","entry","get","m","reject","set","contextPrototype","l","loadChunkAsyncByUrl","chunkUrl","path1","fileURLToPath","URL","L","w","regexJsUrl","chunkUrlOrPath","test"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 990, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/hmr-runtime.ts"],"sourcesContent":["/// \n/// \n/// \n/// \n\ntype HotModuleFactoryFunction = ModuleFactoryFunction<\n HotModule,\n TurbopackBaseContext\n>\n\n/**\n * Shared HMR (Hot Module Replacement) implementation.\n *\n * This file contains the complete HMR implementation that's shared between\n * browser and Node.js runtimes. It manages module hot state, dependency\n * tracking, the module.hot API, and the full HMR update flow.\n */\n\n/**\n * The development module cache shared across the runtime.\n * Browser runtime declares this directly.\n * Node.js runtime assigns globalThis.__turbopack_module_cache__ to this.\n */\nlet devModuleCache: ModuleCache\n\n/**\n * Module IDs that are instantiated as part of the runtime of a chunk.\n */\nlet runtimeModules: Set\n\n/**\n * Maps module IDs to persisted data between executions of their hot module\n * implementation (`hot.data`).\n */\nconst moduleHotData: Map = new Map()\n\n/**\n * Maps module instances to their hot module state.\n * Uses WeakMap so it works with both HotModule and ModuleWithDirection.\n */\nconst moduleHotState: WeakMap = new WeakMap()\n\n/**\n * Modules that call `module.hot.invalidate()` (while being updated).\n */\nconst queuedInvalidatedModules: Set = new Set()\n\nclass UpdateApplyError extends Error {\n name = 'UpdateApplyError'\n\n dependencyChain: ModuleId[]\n\n constructor(message: string, dependencyChain: ModuleId[]) {\n super(message)\n this.dependencyChain = dependencyChain\n }\n}\n\ntype ModuleEffect =\n | {\n type: 'unaccepted'\n dependencyChain: ModuleId[]\n }\n | {\n type: 'self-declined'\n dependencyChain: ModuleId[]\n moduleId: ModuleId\n }\n | {\n type: 'declined'\n dependencyChain: ModuleId[]\n moduleId: ModuleId\n parentId: ModuleId\n }\n | {\n type: 'accepted'\n moduleId: ModuleId | undefined\n outdatedModules: Set\n outdatedDependencies: Map>\n }\n\n/**\n * Records parent-child relationship when a module imports another.\n * Should be called during module instantiation.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction trackModuleImport(\n parentModule: ModuleWithDirection,\n childModuleId: ModuleId,\n childModule: ModuleWithDirection | undefined\n): void {\n // Record that parent imports child\n if (parentModule.children.indexOf(childModuleId) === -1) {\n parentModule.children.push(childModuleId)\n }\n\n // Record that child is imported by parent\n if (childModule && childModule.parents.indexOf(parentModule.id) === -1) {\n childModule.parents.push(parentModule.id)\n }\n}\n\nfunction formatDependencyChain(dependencyChain: ModuleId[]): string {\n return `Dependency chain: ${dependencyChain.join(' -> ')}`\n}\n\n/**\n * Walks the dependency tree to find all modules affected by a change.\n * Returns information about whether the update can be accepted and which\n * modules need to be invalidated.\n *\n * @param moduleId - The module that changed\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept().\n * This is used for server-side HMR where pages auto-accept at the top level.\n */\nfunction getAffectedModuleEffects(\n moduleId: ModuleId,\n autoAcceptRootModules: boolean\n): ModuleEffect {\n const outdatedModules: Set = new Set()\n const outdatedDependencies: Map> = new Map()\n\n type QueueItem = { moduleId?: ModuleId; dependencyChain: ModuleId[] }\n\n const queue: Array = [\n {\n moduleId,\n dependencyChain: [],\n },\n ]\n\n let queueIndex = 0\n while (queueIndex < queue.length) {\n const { moduleId, dependencyChain } = queue[queueIndex]!\n // Release copied dependency chains as soon as their queue item is consumed.\n queue[queueIndex++] = undefined\n\n if (moduleId != null) {\n if (outdatedModules.has(moduleId)) {\n // Avoid infinite loops caused by cycles between modules in the dependency chain.\n continue\n }\n\n outdatedModules.add(moduleId)\n }\n\n // We've arrived at the runtime of the chunk, which means that nothing\n // else above can accept this update.\n if (moduleId === undefined) {\n if (autoAcceptRootModules) {\n return {\n type: 'accepted',\n moduleId,\n outdatedModules,\n outdatedDependencies,\n }\n }\n return {\n type: 'unaccepted',\n dependencyChain,\n }\n }\n\n const module = devModuleCache.get(moduleId)\n const hotState = moduleHotState.get(module)!\n\n if (\n // The module is not in the cache. Since this is a \"modified\" update,\n // it means that the module was never instantiated before.\n !module || // The module accepted itself without invalidating globalThis.\n // TODO is that right?\n (hotState.selfAccepted && !hotState.selfInvalidated)\n ) {\n continue\n }\n\n if (hotState.selfDeclined) {\n return {\n type: 'self-declined',\n dependencyChain,\n moduleId,\n }\n }\n\n if (runtimeModules.has(moduleId)) {\n if (autoAcceptRootModules) {\n continue\n }\n queue.push({\n moduleId: undefined,\n dependencyChain: [...dependencyChain, moduleId],\n })\n continue\n }\n\n for (const parentId of module.parents) {\n const parent = devModuleCache.get(parentId)\n\n if (!parent) {\n continue\n }\n\n const parentHotState = moduleHotState.get(parent)\n\n // Check if parent declined this dependency\n if (parentHotState?.declinedDependencies[moduleId]) {\n return {\n type: 'declined',\n dependencyChain: [...dependencyChain, moduleId],\n moduleId,\n parentId,\n }\n }\n\n // Skip if parent is already outdated\n if (outdatedModules.has(parentId)) {\n continue\n }\n\n // Check if parent accepts this dependency\n if (parentHotState?.acceptedDependencies[moduleId]) {\n if (!outdatedDependencies.has(parentId)) {\n outdatedDependencies.set(parentId, new Set())\n }\n outdatedDependencies.get(parentId)!.add(moduleId)\n continue\n }\n\n // Neither accepted nor declined — propagate to parent\n queue.push({\n moduleId: parentId,\n dependencyChain: [...dependencyChain, moduleId],\n })\n }\n\n // If no parents and we're at a root module, auto-accept if configured\n if (module.parents.length === 0 && autoAcceptRootModules) {\n continue\n }\n }\n\n return {\n type: 'accepted',\n moduleId,\n outdatedModules,\n outdatedDependencies,\n }\n}\n\n/**\n * Merges source dependency map into target dependency map.\n */\nfunction mergeDependencies(\n target: Map>,\n source: Map>\n): void {\n for (const [parentId, deps] of source) {\n const existing = target.get(parentId)\n if (existing) {\n for (const dep of deps) {\n existing.add(dep)\n }\n } else {\n target.set(parentId, new Set(deps))\n }\n }\n}\n\n/**\n * Computes all modules that need to be invalidated based on which modules changed.\n *\n * @param invalidated - The modules that have been invalidated\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept()\n */\nfunction computedInvalidatedModules(\n invalidated: Iterable,\n autoAcceptRootModules: boolean\n): {\n outdatedModules: Set\n outdatedDependencies: Map>\n} {\n const outdatedModules = new Set()\n const outdatedDependencies = new Map>()\n\n for (const moduleId of invalidated) {\n const effect = getAffectedModuleEffects(moduleId, autoAcceptRootModules)\n\n switch (effect.type) {\n case 'unaccepted':\n throw new UpdateApplyError(\n `cannot apply update: unaccepted module. ${formatDependencyChain(\n effect.dependencyChain\n )}.`,\n effect.dependencyChain\n )\n case 'self-declined':\n throw new UpdateApplyError(\n `cannot apply update: self-declined module. ${formatDependencyChain(\n effect.dependencyChain\n )}.`,\n effect.dependencyChain\n )\n case 'declined':\n throw new UpdateApplyError(\n `cannot apply update: declined dependency. ${formatDependencyChain(\n effect.dependencyChain\n )}. Declined by ${effect.parentId}.`,\n effect.dependencyChain\n )\n case 'accepted':\n for (const outdatedModuleId of effect.outdatedModules) {\n outdatedModules.add(outdatedModuleId)\n }\n mergeDependencies(outdatedDependencies, effect.outdatedDependencies)\n break\n default:\n invariant(effect, (effect) => `Unknown effect type: ${effect?.type}`)\n }\n }\n\n return { outdatedModules, outdatedDependencies }\n}\n\n/**\n * Creates the module.hot API object and its internal state.\n * This provides the HMR API that user code calls (module.hot.accept(), etc.)\n */\n\nfunction createModuleHot(\n moduleId: ModuleId,\n hotData: HotData\n): { hot: Hot; hotState: HotState } {\n const hotState: HotState = {\n selfAccepted: false,\n selfDeclined: false,\n selfInvalidated: false,\n disposeHandlers: [],\n acceptedDependencies: {},\n acceptedErrorHandlers: {},\n declinedDependencies: {},\n }\n\n const hot: Hot = {\n // TODO(alexkirsz) This is not defined in the HMR API. It was used to\n // decide whether to warn whenever an HMR-disposed module required other\n // modules. We might want to remove it.\n active: true,\n\n data: hotData ?? {},\n\n accept: (\n modules?: string | string[] | AcceptErrorHandler,\n callback?: AcceptCallback,\n errorHandler?: AcceptErrorHandler\n ) => {\n if (modules === undefined) {\n hotState.selfAccepted = true\n } else if (typeof modules === 'function') {\n hotState.selfAccepted = modules\n } else if (typeof modules === 'object' && modules !== null) {\n for (let i = 0; i < modules.length; i++) {\n hotState.acceptedDependencies[modules[i]] = callback || function () {}\n hotState.acceptedErrorHandlers[modules[i]] = errorHandler\n }\n } else {\n hotState.acceptedDependencies[modules] = callback || function () {}\n hotState.acceptedErrorHandlers[modules] = errorHandler\n }\n },\n\n decline: (dep?: string | string[]) => {\n if (dep === undefined) {\n hotState.selfDeclined = true\n } else if (typeof dep === 'object' && dep !== null) {\n for (let i = 0; i < dep.length; i++) {\n hotState.declinedDependencies[dep[i]] = true\n }\n } else {\n hotState.declinedDependencies[dep] = true\n }\n },\n\n dispose: (callback) => {\n hotState.disposeHandlers.push(callback)\n },\n\n addDisposeHandler: (callback) => {\n hotState.disposeHandlers.push(callback)\n },\n\n removeDisposeHandler: (callback) => {\n const idx = hotState.disposeHandlers.indexOf(callback)\n if (idx >= 0) {\n hotState.disposeHandlers.splice(idx, 1)\n }\n },\n\n invalidate: () => {\n hotState.selfInvalidated = true\n queuedInvalidatedModules.add(moduleId)\n },\n\n // NOTE(alexkirsz) This is part of the management API, which we don't\n // implement, but the Next.js React Refresh runtime uses this to decide\n // whether to schedule an update.\n status: () => 'idle',\n\n // NOTE(alexkirsz) Since we always return \"idle\" for now, these are no-ops.\n addStatusHandler: (_handler) => {},\n removeStatusHandler: (_handler) => {},\n\n // NOTE(jridgewell) Check returns the list of updated modules, but we don't\n // want the webpack code paths to ever update (the turbopack paths handle\n // this already).\n check: () => Promise.resolve(null),\n }\n\n return { hot, hotState }\n}\n\n/**\n * Processes queued invalidated modules and adds them to the outdated modules set.\n * Modules that call module.hot.invalidate() are queued and processed here.\n *\n * @param outdatedModules - The current set of outdated modules\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept()\n */\nfunction applyInvalidatedModules(\n outdatedModules: Set,\n outdatedDependencies: Map>,\n autoAcceptRootModules: boolean\n): {\n outdatedModules: Set\n outdatedDependencies: Map>\n} {\n if (queuedInvalidatedModules.size > 0) {\n const result = computedInvalidatedModules(\n queuedInvalidatedModules,\n autoAcceptRootModules\n )\n for (const moduleId of result.outdatedModules) {\n outdatedModules.add(moduleId)\n }\n mergeDependencies(outdatedDependencies, result.outdatedDependencies)\n\n queuedInvalidatedModules.clear()\n }\n\n return { outdatedModules, outdatedDependencies }\n}\n\n/**\n * Computes which outdated modules have self-accepted and can be hot reloaded.\n */\n\nfunction computeOutdatedSelfAcceptedModules(\n outdatedModules: Iterable\n): { moduleId: ModuleId; errorHandler: true | Function }[] {\n const outdatedSelfAcceptedModules: {\n moduleId: ModuleId\n errorHandler: true | Function\n }[] = []\n for (const moduleId of outdatedModules) {\n const module = devModuleCache.get(moduleId)\n const hotState = moduleHotState.get(module)\n if (module && hotState?.selfAccepted && !hotState.selfInvalidated) {\n outdatedSelfAcceptedModules.push({\n moduleId,\n errorHandler: hotState.selfAccepted,\n })\n }\n }\n return outdatedSelfAcceptedModules\n}\n\n/**\n * Disposes of an instance of a module.\n * Runs hot.dispose handlers and manages persistent hot data.\n *\n * NOTE: mode = \"replace\" will not remove modules from devModuleCache.\n * This must be done in a separate step afterwards.\n */\nfunction disposeModule(moduleId: ModuleId, mode: 'clear' | 'replace') {\n const module = devModuleCache.get(moduleId)\n if (!module) {\n return\n }\n\n const hotState = moduleHotState.get(module)\n if (!hotState) {\n return\n }\n\n const data: HotData = {}\n\n // Run the `hot.dispose` handler, if any, passing in the persistent\n // `hot.data` object.\n for (const disposeHandler of hotState.disposeHandlers) {\n disposeHandler(data)\n }\n\n // This used to warn in `getOrInstantiateModuleFromParent` when a disposed\n // module is still importing other modules.\n if (module.hot) {\n module.hot.active = false\n }\n\n moduleHotState.delete(module)\n\n // Remove the disposed module from its children's parent list.\n // It will be added back once the module re-instantiates and imports its\n // children again.\n for (const childId of module.children) {\n const child = devModuleCache.get(childId)\n if (!child) {\n continue\n }\n\n const idx = child.parents.indexOf(module.id)\n if (idx >= 0) {\n child.parents.splice(idx, 1)\n }\n }\n\n switch (mode) {\n case 'clear':\n devModuleCache.delete(module.id)\n moduleHotData.delete(module.id)\n break\n case 'replace':\n moduleHotData.set(module.id, data)\n break\n default:\n invariant(mode, (mode) => `invalid mode: ${mode}`)\n }\n}\n\n/**\n * Dispose phase: runs dispose handlers and cleans up outdated/disposed modules.\n * Returns the parent modules of outdated modules for use in the apply phase.\n */\n\nfunction disposePhase(\n outdatedModules: Iterable,\n disposedModules: Iterable,\n outdatedDependencies: Map>\n): { outdatedModuleParents: Map> } {\n for (const moduleId of outdatedModules) {\n disposeModule(moduleId, 'replace')\n }\n\n for (const moduleId of disposedModules) {\n disposeModule(moduleId, 'clear')\n }\n\n // Removing modules from the module cache is a separate step.\n // We also want to keep track of previous parents of the outdated modules.\n const outdatedModuleParents = new Map>()\n for (const moduleId of outdatedModules) {\n const oldModule = devModuleCache.get(moduleId)\n outdatedModuleParents.set(moduleId, oldModule?.parents)\n devModuleCache.delete(moduleId)\n }\n\n // Remove outdated dependencies from parent module's children list.\n // When a parent accepts a child's update, the child is re-instantiated\n // but the parent stays alive. We remove the old child reference so it\n // gets re-added when the child re-imports.\n for (const [parentId, deps] of outdatedDependencies) {\n const module = devModuleCache.get(parentId)\n if (module) {\n for (const dep of deps) {\n const idx = module.children.indexOf(dep)\n if (idx >= 0) {\n module.children.splice(idx, 1)\n }\n }\n }\n }\n\n return { outdatedModuleParents }\n}\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/**\n * Shared module instantiation logic.\n * This handles the full module instantiation flow for both browser and Node.js.\n * Only React Refresh hooks differ between platforms (passed as callback).\n */\nfunction instantiateModuleShared(\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache,\n runtimeModules: Set,\n createModuleObjectFn: (id: ModuleId) => HotModule,\n createContextFn: (module: HotModule, exports: Exports, refresh?: any) => any,\n runModuleExecutionHooksFn: (\n module: HotModule,\n exec: (refresh: any) => void\n ) => void\n): HotModule {\n // 1. Factory validation (same in both browser and Node.js)\n const id = moduleId\n const moduleFactory = moduleFactories.get(id)\n if (typeof moduleFactory !== 'function') {\n throw new Error(\n factoryNotAvailableMessage(moduleId, sourceType, sourceData) +\n `\\nThis is often caused by a stale browser cache, misconfigured Cache-Control headers, or a service worker serving outdated responses.` +\n `\\nTo fix this, make sure your Cache-Control headers allow revalidation of chunks and review your service worker configuration. ` +\n `As an immediate workaround, try hard-reloading the page, clearing the browser cache, or unregistering any service workers.`\n )\n }\n\n // 2. Hot API setup (same in both - works for browser, included for Node.js)\n const hotData = moduleHotData.get(id)!\n const { hot, hotState } = createModuleHot(id, hotData)\n\n // 3. Parent assignment logic (same in both)\n let parents: ModuleId[]\n switch (sourceType) {\n case SourceType.Runtime:\n runtimeModules.add(id)\n parents = []\n break\n case SourceType.Parent:\n parents = [sourceData as ModuleId]\n break\n case SourceType.Update:\n parents = (sourceData as ModuleId[]) || []\n break\n default:\n throw new Error(`Unknown source type: ${sourceType}`)\n }\n\n // 4. Module creation (platform creates base module object)\n const module = createModuleObjectFn(id)\n const exports = module.exports\n module.parents = parents\n module.children = []\n module.hot = hot\n\n devModuleCache.set(id, module)\n moduleHotState.set(module, hotState)\n\n // 5. Module execution (React Refresh hooks are platform-specific)\n try {\n runModuleExecutionHooksFn(module, (refresh) => {\n const context = createContextFn(module, exports, refresh)\n moduleFactory.call(exports, context, module, exports)\n })\n } catch (error) {\n module.error = error as any\n throw error\n }\n\n // 6. ESM interop (same in both)\n if (module.namespaceObject && module.exports !== module.namespaceObject) {\n // in case of a circular dependency: cjs1 -> esm2 -> cjs1\n interopEsm(module.exports, module.namespaceObject)\n }\n\n return module\n}\n\n/**\n * Analyzes update entries and chunks to determine which modules were added, modified, or deleted.\n * This is pure logic that doesn't depend on the runtime environment.\n */\nfunction computeChangedModules(\n entries: Record,\n updates: Record,\n chunkModulesMap?: Map>\n): {\n added: Map\n modified: Map\n deleted: Set\n chunksAdded: Map>\n chunksDeleted: Map>\n} {\n const chunksAdded = new Map()\n const chunksDeleted = new Map()\n const added: Map = new Map()\n const modified = new Map()\n const deleted: Set = new Set()\n\n for (const [chunkPath, mergedChunkUpdate] of Object.entries(updates) as Array<\n [ChunkPath, EcmascriptMergedChunkUpdate]\n >) {\n switch (mergedChunkUpdate.type) {\n case 'added': {\n const updateAdded = new Set(mergedChunkUpdate.modules)\n for (const moduleId of updateAdded) {\n added.set(moduleId, entries[moduleId])\n }\n chunksAdded.set(chunkPath, updateAdded)\n break\n }\n case 'deleted': {\n const updateDeleted = chunkModulesMap\n ? new Set(chunkModulesMap.get(chunkPath))\n : new Set()\n for (const moduleId of updateDeleted) {\n deleted.add(moduleId)\n }\n chunksDeleted.set(chunkPath, updateDeleted)\n break\n }\n case 'partial': {\n const updateAdded = new Set(mergedChunkUpdate.added)\n const updateDeleted = new Set(mergedChunkUpdate.deleted)\n for (const moduleId of updateAdded) {\n added.set(moduleId, entries[moduleId])\n }\n for (const moduleId of updateDeleted) {\n deleted.add(moduleId)\n }\n chunksAdded.set(chunkPath, updateAdded)\n chunksDeleted.set(chunkPath, updateDeleted)\n break\n }\n default:\n throw new Error('Unknown merged chunk update type')\n }\n }\n\n // If a module was added from one chunk and deleted from another in the same update,\n // consider it to be modified, as it means the module was moved from one chunk to another\n // AND has new code in a single update.\n for (const moduleId of added.keys()) {\n if (deleted.has(moduleId)) {\n added.delete(moduleId)\n deleted.delete(moduleId)\n }\n }\n\n for (const [moduleId, entry] of Object.entries(entries)) {\n // Modules that haven't been added to any chunk but have new code are considered\n // to be modified.\n // This needs to be under the previous loop, as we need it to get rid of modules\n // that were added and deleted in the same update.\n if (!added.has(moduleId)) {\n modified.set(moduleId, entry)\n }\n }\n\n return { added, deleted, modified, chunksAdded, chunksDeleted }\n}\n\n/**\n * Compiles new module code and walks the dependency tree to find all outdated modules.\n * Uses the evalModuleEntry function to compile code (platform-specific).\n *\n * @param added - Map of added modules\n * @param modified - Map of modified modules\n * @param evalModuleEntry - Function to compile module code\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept()\n */\nfunction computeOutdatedModules(\n added: Map,\n modified: Map,\n evalModuleEntry: (entry: EcmascriptModuleEntry) => HotModuleFactoryFunction,\n autoAcceptRootModules: boolean\n): {\n outdatedModules: Set\n outdatedDependencies: Map>\n newModuleFactories: Map\n} {\n const newModuleFactories = new Map()\n\n // Compile added modules\n for (const [moduleId, entry] of added) {\n if (entry != null) {\n newModuleFactories.set(moduleId, evalModuleEntry(entry))\n }\n }\n\n // Walk dependency tree to find all modules affected by modifications\n const { outdatedModules, outdatedDependencies } = computedInvalidatedModules(\n modified.keys(),\n autoAcceptRootModules\n )\n\n // Compile modified modules\n for (const [moduleId, entry] of modified) {\n newModuleFactories.set(moduleId, evalModuleEntry(entry))\n }\n\n return { outdatedModules, outdatedDependencies, newModuleFactories }\n}\n\n/**\n * Updates module factories and re-instantiates self-accepted modules.\n * Uses the instantiateModule function (platform-specific via callback).\n */\nfunction applyPhase(\n outdatedSelfAcceptedModules: {\n moduleId: ModuleId\n errorHandler: true | Function\n }[],\n newModuleFactories: Map,\n outdatedModuleParents: Map>,\n outdatedDependencies: Map>,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache,\n instantiateModuleFn: (\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n ) => HotModule,\n applyModuleFactoryNameFn: (factory: HotModuleFactoryFunction) => void,\n reportError: (err: any) => void\n) {\n // Update module factories\n for (const [moduleId, factory] of newModuleFactories.entries()) {\n applyModuleFactoryNameFn(factory)\n moduleFactories.set(moduleId, factory)\n }\n\n // TODO(alexkirsz) Run new runtime entries here.\n\n // Call accept handlers for outdated dependencies.\n // This runs BEFORE re-instantiating self-accepted modules, matching\n // webpack's behavior.\n for (const [parentId, deps] of outdatedDependencies) {\n const module = devModuleCache.get(parentId)\n if (!module) continue\n\n const hotState = moduleHotState.get(module)\n if (!hotState) continue\n\n // Group deps by callback, deduplicating callbacks that handle multiple deps.\n // Each callback receives only the deps it was registered for.\n const callbackDeps = new Map void), ModuleId[]>()\n const callbackErrorHandlers = new Map<\n AcceptCallback | (() => void),\n AcceptErrorHandler | undefined\n >()\n\n for (const dep of deps) {\n const acceptCallback = hotState.acceptedDependencies[dep]\n if (acceptCallback) {\n let depList = callbackDeps.get(acceptCallback)\n if (!depList) {\n depList = []\n callbackDeps.set(acceptCallback, depList)\n callbackErrorHandlers.set(\n acceptCallback,\n hotState.acceptedErrorHandlers[dep]\n )\n }\n depList.push(dep)\n }\n }\n\n for (const [callback, cbDeps] of callbackDeps) {\n try {\n callback.call(null, cbDeps)\n } catch (err: any) {\n const errorHandler = callbackErrorHandlers.get(callback)\n if (typeof errorHandler === 'function') {\n try {\n errorHandler(err, {\n moduleId: parentId,\n dependencyId: cbDeps[0],\n })\n } catch (err2) {\n reportError(err2)\n reportError(err)\n }\n } else {\n reportError(err)\n }\n }\n }\n }\n\n // Re-instantiate all outdated self-accepted modules\n for (const { moduleId, errorHandler } of outdatedSelfAcceptedModules) {\n try {\n instantiateModuleFn(\n moduleId,\n SourceType.Update,\n outdatedModuleParents.get(moduleId)\n )\n } catch (err) {\n if (typeof errorHandler === 'function') {\n try {\n errorHandler(err, { moduleId, module: devModuleCache.get(moduleId) })\n } catch (err2) {\n reportError(err2)\n reportError(err)\n }\n } else {\n reportError(err)\n }\n }\n }\n}\n\n/**\n * Internal implementation that orchestrates the full HMR update flow:\n * invalidation, disposal, and application of new modules.\n *\n * @param autoAcceptRootModules - If true, root modules auto-accept updates without explicit module.hot.accept()\n */\nfunction applyInternal(\n outdatedModules: Set,\n outdatedDependencies: Map>,\n disposedModules: Iterable,\n newModuleFactories: Map,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache,\n instantiateModuleFn: (\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n ) => HotModule,\n applyModuleFactoryNameFn: (factory: HotModuleFactoryFunction) => void,\n autoAcceptRootModules: boolean\n) {\n ;({ outdatedModules, outdatedDependencies } = applyInvalidatedModules(\n outdatedModules,\n outdatedDependencies,\n autoAcceptRootModules\n ))\n\n // Find self-accepted modules to re-instantiate\n const outdatedSelfAcceptedModules =\n computeOutdatedSelfAcceptedModules(outdatedModules)\n\n // Run dispose handlers, save hot.data, clear caches\n const { outdatedModuleParents } = disposePhase(\n outdatedModules,\n disposedModules,\n outdatedDependencies\n )\n\n let error: any\n\n function reportError(err: any) {\n if (!error) error = err // Keep first error\n }\n\n applyPhase(\n outdatedSelfAcceptedModules,\n newModuleFactories,\n outdatedModuleParents,\n outdatedDependencies,\n moduleFactories,\n devModuleCache,\n instantiateModuleFn,\n applyModuleFactoryNameFn,\n reportError\n )\n\n if (error) {\n throw error\n }\n\n // Recursively apply any queued invalidations from new module execution\n if (queuedInvalidatedModules.size > 0) {\n applyInternal(\n new Set(),\n new Map(),\n [],\n new Map(),\n moduleFactories,\n devModuleCache,\n instantiateModuleFn,\n applyModuleFactoryNameFn,\n autoAcceptRootModules\n )\n }\n}\n\n/**\n * Main entry point for applying an ECMAScript merged update.\n * This is called by both browser and Node.js runtimes with platform-specific callbacks.\n *\n * @param options.autoAcceptRootModules - If true, root modules auto-accept updates without explicit\n * module.hot.accept(). Used for server-side HMR where pages\n * auto-accept at the top level.\n */\nfunction applyEcmascriptMergedUpdateShared(options: {\n added: Map\n modified: Map\n disposedModules: Iterable\n evalModuleEntry: (entry: EcmascriptModuleEntry) => HotModuleFactoryFunction\n instantiateModule: (\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n ) => HotModule\n applyModuleFactoryName: (factory: HotModuleFactoryFunction) => void\n moduleFactories: ModuleFactories\n devModuleCache: ModuleCache\n autoAcceptRootModules: boolean\n}) {\n const {\n added,\n modified,\n disposedModules,\n evalModuleEntry,\n instantiateModule,\n applyModuleFactoryName,\n moduleFactories,\n devModuleCache,\n autoAcceptRootModules,\n } = options\n\n const { outdatedModules, outdatedDependencies, newModuleFactories } =\n computeOutdatedModules(\n added,\n modified,\n evalModuleEntry,\n autoAcceptRootModules\n )\n\n applyInternal(\n outdatedModules,\n outdatedDependencies,\n disposedModules,\n newModuleFactories,\n moduleFactories,\n devModuleCache,\n instantiateModule,\n applyModuleFactoryName,\n autoAcceptRootModules\n )\n}\n"],"names":["devModuleCache","runtimeModules","moduleHotData","Map","moduleHotState","WeakMap","queuedInvalidatedModules","Set","UpdateApplyError","Error","name","dependencyChain","message","trackModuleImport","parentModule","childModuleId","childModule","children","indexOf","push","parents","id","formatDependencyChain","join","getAffectedModuleEffects","moduleId","autoAcceptRootModules","outdatedModules","outdatedDependencies","queue","queueIndex","length","undefined","has","add","type","module","get","hotState","selfAccepted","selfInvalidated","selfDeclined","parentId","parent","parentHotState","declinedDependencies","acceptedDependencies","set","mergeDependencies","target","source","deps","existing","dep","computedInvalidatedModules","invalidated","effect","outdatedModuleId","invariant","createModuleHot","hotData","disposeHandlers","acceptedErrorHandlers","hot","active","data","accept","modules","callback","errorHandler","i","decline","dispose","addDisposeHandler","removeDisposeHandler","idx","splice","invalidate","status","addStatusHandler","_handler","removeStatusHandler","check","Promise","resolve","applyInvalidatedModules","size","result","clear","computeOutdatedSelfAcceptedModules","outdatedSelfAcceptedModules","disposeModule","mode","disposeHandler","delete","childId","child","disposePhase","disposedModules","outdatedModuleParents","oldModule","instantiateModuleShared","sourceType","sourceData","moduleFactories","createModuleObjectFn","createContextFn","runModuleExecutionHooksFn","moduleFactory","factoryNotAvailableMessage","SourceType","Runtime","Parent","Update","exports","refresh","context","call","error","namespaceObject","interopEsm","computeChangedModules","entries","updates","chunkModulesMap","chunksAdded","chunksDeleted","added","modified","deleted","chunkPath","mergedChunkUpdate","Object","updateAdded","updateDeleted","keys","entry","computeOutdatedModules","evalModuleEntry","newModuleFactories","applyPhase","instantiateModuleFn","applyModuleFactoryNameFn","reportError","factory","callbackDeps","callbackErrorHandlers","acceptCallback","depList","cbDeps","err","dependencyId","err2","applyInternal","applyEcmascriptMergedUpdateShared","options","instantiateModule","applyModuleFactoryName"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1686, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/dev-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// \n/// \n/// \n\n/**\n * Development Node.js runtime.\n * Uses HotModule and shared HMR logic for hot module replacement support.\n */\n\n// Cast the module cache to HotModule for development mode\n// (hmr-runtime.ts declares devModuleCache as `let` variable expecting assignment)\n// This is safe because HotModule extends Module\ndevModuleCache = moduleCache as ModuleCache\n\n// this is read in runtime-utils.ts so it creates a module with direction for hmr\ncreateModuleWithDirectionFlag = true\n\nif (!globalThis.__turbopack_runtime_modules__) {\n globalThis.__turbopack_runtime_modules__ = new Set()\n}\nruntimeModules = globalThis.__turbopack_runtime_modules__\n\ninterface TurbopackNodeDevBuildContext extends TurbopackBaseContext {\n R: ResolvePathFromModule\n x: ExternalRequire\n y: ExternalImport\n C: typeof clearChunkCache\n}\n\nconst nodeDevContextPrototype =\n Context.prototype as TurbopackNodeDevBuildContext\n\nnodeDevContextPrototype.q = exportUrl\nnodeDevContextPrototype.M = moduleFactories\nnodeDevContextPrototype.c = devModuleCache\nnodeDevContextPrototype.R = resolvePathFromModule\nnodeDevContextPrototype.C = clearChunkCache\n\nif (globalThis.__turbopack_ensure_chunk__ !== undefined) {\n const chunksBeingEnsured = new Map>()\n\n function loadChunkAsyncOnDemand(\n this: TurbopackBaseContext,\n chunkData: ChunkData\n ): Promise {\n const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path\n const ensureChunk = globalThis.__turbopack_ensure_chunk__\n if (ensureChunk === undefined || chunkCache.has(chunkPath)) {\n return loadChunkAsync.call(this, chunkData)\n }\n\n const ensured =\n chunksBeingEnsured.get(chunkPath) ??\n Promise.resolve()\n .then(() => ensureChunk(chunkPath))\n .finally(() => chunksBeingEnsured.delete(chunkPath))\n chunksBeingEnsured.set(chunkPath, ensured)\n\n return ensured.then(() => loadChunkAsync.call(this, chunkData))\n }\n nodeDevContextPrototype.l = loadChunkAsyncOnDemand\n}\n\n/**\n * Instantiates a module in development mode using shared HMR logic.\n */\nfunction instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): HotModule {\n // Node.js: creates base module object (hot API added by shared code)\n const createModuleObjectFn = (moduleId: ModuleId) => {\n return createModuleWithDirection(moduleId) as HotModule\n }\n\n // Node.js: creates Context (no refresh parameter)\n const createContext = (\n module: HotModule,\n exports: Exports,\n _refresh?: any\n ) => {\n return new (Context as any as ContextConstructor)(\n module,\n exports\n )\n }\n\n // Node.js: no hooks wrapper, just execute directly\n const runWithHooks = (_module: HotModule, exec: (refresh: any) => void) => {\n exec(undefined) // no refresh context\n }\n\n // Use shared instantiation logic (includes hot API setup)\n const newModule = instantiateModuleShared(\n id,\n sourceType,\n sourceData,\n moduleFactories,\n devModuleCache,\n runtimeModules,\n createModuleObjectFn,\n createContext,\n runWithHooks\n )\n\n // Node.js-specific: mark module as loaded\n ;(newModule as any).loaded = true\n\n return newModule\n}\n\n/**\n * Instantiates a runtime module in development mode.\n */\nfunction instantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): HotModule {\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached.\n */\n// @ts-ignore TypeScript doesn't separate this module space from the browser runtime\nfunction getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): HotModule {\n const module = devModuleCache.get(moduleId)\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateRuntimeModule(chunkPath, moduleId)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it if it is not cached.\n * Also tracks parent-child relationships for HMR dependency tracking.\n */\n// @ts-ignore\nfunction getOrInstantiateModuleFromParent(\n id: ModuleId,\n sourceModule: HotModule\n): HotModule {\n // Track parent-child relationship\n const module = devModuleCache.get(id)\n trackModuleImport(sourceModule, id, module)\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n\n return module\n }\n\n const newModule = instantiateModule(id, SourceType.Parent, sourceModule.id)\n\n // Track again after instantiation to ensure the relationship is recorded\n trackModuleImport(sourceModule, id, newModule)\n\n return newModule\n}\n\nmodule.exports = (sourcePath: ChunkPath) => ({\n m: (id: ModuleId) => getOrInstantiateRuntimeModule(sourcePath, id),\n c: (chunkData: ChunkData) => loadRuntimeChunk(sourcePath, chunkData),\n})\n"],"names":["devModuleCache","moduleCache","createModuleWithDirectionFlag","globalThis","__turbopack_runtime_modules__","Set","runtimeModules","nodeDevContextPrototype","Context","prototype","q","exportUrl","M","moduleFactories","c","R","resolvePathFromModule","C","clearChunkCache","__turbopack_ensure_chunk__","undefined","chunksBeingEnsured","Map","loadChunkAsyncOnDemand","chunkData","chunkPath","path","ensureChunk","chunkCache","has","loadChunkAsync","call","ensured","get","Promise","resolve","then","finally","delete","set","l","instantiateModule","id","sourceType","sourceData","createModuleObjectFn","moduleId","createModuleWithDirection","createContext","module1","exports","_refresh","runWithHooks","_module","exec","newModule","instantiateModuleShared","loaded","instantiateRuntimeModule","SourceType","Runtime","getOrInstantiateRuntimeModule","error","getOrInstantiateModuleFromParent","sourceModule","trackModuleImport","Parent","module","sourcePath","m","loadRuntimeChunk"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1783, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/dev/hmr-client.ts"],"sourcesContent":["/// \n/// \n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\ntype NodeJsHmrPayload = {\n resource: {\n path: string\n headers?: Record\n }\n issues: Issue[]\n type: 'partial'\n instruction: NodeJsEcmascriptMergedUpdate | NodeJsChunkListUpdate\n}\n\n/**\n * Appends the module code with //# sourceURL and //# sourceMappingURL so\n * that Node.js can resolve stack frames from `eval`ed server HMR modules back to\n * their original source files. Mirrors the browser's _eval in dev-backend-dom.ts.\n */\nfunction inlineSourcemaps(entry: EcmascriptModuleEntry): string {\n const [chunkPath, moduleId] = entry.url.split('?', 2)\n const absolutePath = path.resolve(RUNTIME_ROOT, chunkPath)\n const fileHref = url.pathToFileURL(absolutePath).href\n const sourceURL = moduleId ? `${fileHref}?${moduleId}` : fileHref\n let code = entry.code + '\\n\\n//# sourceURL=' + sourceURL\n if (entry.map) {\n code +=\n '\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,' +\n Buffer.from(entry.map).toString('base64')\n }\n return code\n}\n\nlet serverHmrUpdateHandler: ((msg: NodeJsHmrPayload) => void) | null = null\n\nfunction initializeServerHmr(\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache\n): void {\n if (serverHmrUpdateHandler != null) {\n throw new Error('[Server HMR] Server HMR client is already initialized')\n }\n\n // Register the update handler for the server runtime\n serverHmrUpdateHandler = (msg: NodeJsHmrPayload) => {\n handleNodejsUpdate(msg, moduleFactories, devModuleCache)\n }\n}\n\n/**\n * Emits an HMR message to the registered update handler.\n * Node uses a simpler listener pattern than the browser's websocket connection.\n *\n * Note: This is only called via __turbopack_server_hmr_apply__ which ensures\n * the handler is initialized first via ensureHmrClientInitialized().\n */\nfunction emitMessage(msg: { type: string; data: any }): void {\n if (serverHmrUpdateHandler == null) {\n throw new Error(\n '[Server HMR] No update handler registered to receive message'\n )\n }\n\n serverHmrUpdateHandler(msg.data)\n}\n\n/**\n * Handles server message updates and applies them to the Node.js runtime.\n * Uses shared HMR update logic from hmr-runtime.ts.\n */\nfunction handleNodejsUpdate(\n msg: NodeJsHmrPayload,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache\n): void {\n if (msg.type !== 'partial') {\n return\n }\n\n const instruction = msg.instruction\n\n try {\n if (instruction.type === 'ChunkListUpdate') {\n // All node ecmascript chunks are mergeable, so a `total`/`partial` here\n // means a non-mergeable asset changed in an unsupported way. Escalate\n // to a full clear() rather than leave stale factories in memory.\n for (const [chunkPath, chunkUpdate] of Object.entries(\n instruction.chunks ?? {}\n )) {\n if (chunkUpdate.type === 'total' || chunkUpdate.type === 'partial') {\n throw new Error(\n `unsupported '${chunkUpdate.type}' update for chunk ${chunkPath}`\n )\n }\n }\n\n if (instruction.merged) {\n for (const merged of instruction.merged) {\n applyEcmascriptMergedUpdate(merged, moduleFactories, devModuleCache)\n }\n }\n return\n }\n\n if (instruction.type === 'EcmascriptMergedUpdate') {\n applyEcmascriptMergedUpdate(instruction, moduleFactories, devModuleCache)\n return\n }\n } catch (e) {\n console.error('[Server HMR] Update failed, full reload needed:', e)\n throw e\n }\n}\n\nfunction applyEcmascriptMergedUpdate(\n instruction: NodeJsEcmascriptMergedUpdate,\n moduleFactories: ModuleFactories,\n devModuleCache: ModuleCache\n): void {\n const { entries = {}, chunks = {} } = instruction\n\n const evalModuleEntry = (entry: EcmascriptModuleEntry) => {\n const code = entry.map ? inlineSourcemaps(entry) : entry.code\n // eslint-disable-next-line no-eval\n return (0, eval)(`(require) => ${code}`)(require)\n }\n\n const { added, modified } = computeChangedModules(\n entries,\n chunks,\n undefined // no chunkModulesMap for Node.js\n )\n\n // Modules that appear in an \"added\" chunk but already exist in the cache\n // were moved to a renamed chunk. Treat them as modified so the dependency\n // walk runs and they get re-instantiated with the new factory.\n for (const [moduleId, entry] of added) {\n if (entry != null && devModuleCache.has(moduleId)) {\n added.delete(moduleId)\n modified.set(moduleId, entry)\n }\n }\n\n // Use shared HMR update implementation\n applyEcmascriptMergedUpdateShared({\n added,\n modified,\n disposedModules: [], // no disposedModules for Node.js (no chunk management)\n evalModuleEntry,\n instantiateModule,\n applyModuleFactoryName: () => {}, // Node doesn't use this\n moduleFactories,\n devModuleCache,\n autoAcceptRootModules: true,\n })\n}\n"],"names":["inlineSourcemaps","entry","chunkPath","moduleId","url","split","absolutePath","path","resolve","RUNTIME_ROOT","fileHref","pathToFileURL","href","sourceURL","code","map","Buffer","from","toString","serverHmrUpdateHandler","initializeServerHmr","moduleFactories","devModuleCache","Error","msg","handleNodejsUpdate","emitMessage","data","type","instruction","chunkUpdate","Object","entries","chunks","merged","applyEcmascriptMergedUpdate","e","console","error","evalModuleEntry","eval","require","added","modified","computeChangedModules","undefined","has","delete","set","applyEcmascriptMergedUpdateShared","disposedModules","instantiateModule","applyModuleFactoryName","autoAcceptRootModules"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1887, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/dev/dev-nodejs.ts"],"sourcesContent":["/// \n/// \n\n/**\n * Note: hmr-runtime.ts is embedded before this file, so its functions\n * (initializeServerHmr, emitMessage) are available in the same scope.\n */\n\n// Initialize server HMR client (connects to shared HMR infrastructure)\nlet hmrClientInitialized = false\nfunction ensureHmrClientInitialized() {\n if (hmrClientInitialized) return\n hmrClientInitialized = true\n\n // initializeServerHmr is from hmr-client.ts (embedded before this file)\n // moduleFactories is from dev-runtime.ts\n // devModuleCache is the HotModule-typed cache from dev-runtime.ts\n initializeServerHmr(moduleFactories, devModuleCache)\n}\n\nfunction __turbopack_server_hmr_apply__(update: NodeJsHmrPayload): void {\n ensureHmrClientInitialized()\n // Throws if the update can't be applied in-process; the consumer catches it\n // and falls back to evicting require.cache.\n emitMessage({\n type: 'turbopack-message',\n data: update,\n })\n}\n\n// Turbopack produces one server runtime per chunking context (e.g.\n// server/chunks/ssr/ for pages, server/chunks/ for route handlers), each with\n// its own moduleFactories. We keep a globalThis Map from __filename to handler\n// so updates are routed only to runtimes whose chunkPrefix matches the update's\n// chunk paths, skipping unnecessary eval() calls. Map.set() naturally replaces\n// stale entries when a runtime file is re-evaluated after require.cache eviction.\n\ntype HmrHandlerEntry = {\n handler: (update: NodeJsHmrPayload) => void\n /** Output directory relative to RUNTIME_ROOT, e.g. \"server/chunks/ssr\". */\n chunkPrefix: string\n}\n\nconst handlers: Map =\n globalThis.__turbopack_server_hmr_handlers__ ?? new Map()\n\n// Normalize to forward slashes so it matches the virtual chunk paths in\n// `update.instruction.chunks`, which always use `/` regardless of OS.\nconst chunkPrefix = path\n .relative(RUNTIME_ROOT, path.dirname(__filename))\n .replaceAll(path.sep, '/')\n\nif (handlers.size === 0) {\n // First registration in this generation: install the routing dispatcher.\n globalThis.__turbopack_server_hmr_apply__ = (\n update: NodeJsHmrPayload\n ): void => {\n const registry: Map =\n globalThis.__turbopack_server_hmr_handlers__ ?? new Map()\n\n // Chunk paths can appear either directly on the instruction (single-chunk\n // updates) or nested inside `merged` entries (chunks covered by a\n // merger). Collect both so routing isn't skipped just because a mergeable\n // chunk's update only reports its paths inside `merged`.\n const instruction = update.instruction\n const updateChunkPaths = new Set([\n ...Object.keys(instruction?.chunks ?? {}),\n ...(\n (instruction?.type === 'ChunkListUpdate' && instruction.merged) ||\n []\n ).flatMap((merged) => Object.keys(merged.chunks ?? {})),\n ])\n\n const toCall: HmrHandlerEntry[] = []\n if (updateChunkPaths.size === 0) {\n for (const entry of registry.values()) toCall.push(entry)\n } else {\n const seen = new Set()\n for (const chunkPath of updateChunkPaths) {\n const dir = path.dirname(chunkPath)\n for (const [key, entry] of registry) {\n if (dir === entry.chunkPrefix && !seen.has(key)) {\n seen.add(key)\n toCall.push(entry)\n }\n }\n }\n }\n\n // No matching runtime loaded (e.g. editing a route not required yet this\n // session): nothing live to patch, so this is a no-op. A handler that\n // throws propagates to the consumer, which evicts require.cache.\n for (const { handler } of toCall) {\n handler(update)\n }\n }\n}\n\nglobalThis.__turbopack_server_hmr_handlers__ = handlers\n\nhandlers.set(__filename, {\n handler: __turbopack_server_hmr_apply__,\n chunkPrefix,\n})\n"],"names":["hmrClientInitialized","ensureHmrClientInitialized","initializeServerHmr","moduleFactories","devModuleCache","__turbopack_server_hmr_apply__","update","emitMessage","type","data","handlers","globalThis","__turbopack_server_hmr_handlers__","Map","chunkPrefix","path","relative","RUNTIME_ROOT","dirname","__filename","replaceAll","sep","size","registry","instruction","updateChunkPaths","Set","Object","keys","chunks","merged","flatMap","toCall","entry","values","push","seen","chunkPath","dir","key","has","add","handler","set"],"mappings":"AAAA,+DAA+D;AAC/D,wCAAwC;AAExC;;;CAGC,GAED,uEAAuE;AACvE,IAAIA,uBAAuB;AAC3B,SAASC;IACP,IAAID,sBAAsB;IAC1BA,uBAAuB;IAEvB,wEAAwE;IACxE,yCAAyC;IACzC,kEAAkE;IAClEE,oBAAoBC,iBAAiBC;AACvC;AAEA,SAASC,+BAA+BC,MAAwB;IAC9DL;IACA,4EAA4E;IAC5E,4CAA4C;IAC5CM,YAAY;QACVC,MAAM;QACNC,MAAMH;IACR;AACF;AAeA,MAAMI,WACJC,WAAWC,iCAAiC,IAAI,IAAIC;AAEtD,wEAAwE;AACxE,sEAAsE;AACtE,MAAMC,cAAcC,KACjBC,QAAQ,CAACC,cAAcF,KAAKG,OAAO,CAACC,aACpCC,UAAU,CAACL,KAAKM,GAAG,EAAE;AAExB,IAAIX,SAASY,IAAI,KAAK,GAAG;IACvB,yEAAyE;IACzEX,WAAWN,8BAA8B,GAAG,CAC1CC;QAEA,MAAMiB,WACJZ,WAAWC,iCAAiC,IAAI,IAAIC;QAEtD,0EAA0E;QAC1E,kEAAkE;QAClE,0EAA0E;QAC1E,yDAAyD;QACzD,MAAMW,cAAclB,OAAOkB,WAAW;QACtC,MAAMC,mBAAmB,IAAIC,IAAY;eACpCC,OAAOC,IAAI,CAACJ,aAAaK,UAAU,CAAC;eACpC,CACD,AAACL,aAAahB,SAAS,qBAAqBgB,YAAYM,MAAM,IAC9D,EAAE,AACJ,EAAEC,OAAO,CAAC,CAACD,SAAWH,OAAOC,IAAI,CAACE,OAAOD,MAAM,IAAI,CAAC;SACrD;QAED,MAAMG,SAA4B,EAAE;QACpC,IAAIP,iBAAiBH,IAAI,KAAK,GAAG;YAC/B,KAAK,MAAMW,SAASV,SAASW,MAAM,GAAIF,OAAOG,IAAI,CAACF;QACrD,OAAO;YACL,MAAMG,OAAO,IAAIV;YACjB,KAAK,MAAMW,aAAaZ,iBAAkB;gBACxC,MAAMa,MAAMvB,KAAKG,OAAO,CAACmB;gBACzB,KAAK,MAAM,CAACE,KAAKN,MAAM,IAAIV,SAAU;oBACnC,IAAIe,QAAQL,MAAMnB,WAAW,IAAI,CAACsB,KAAKI,GAAG,CAACD,MAAM;wBAC/CH,KAAKK,GAAG,CAACF;wBACTP,OAAOG,IAAI,CAACF;oBACd;gBACF;YACF;QACF;QAEA,yEAAyE;QACzE,sEAAsE;QACtE,iEAAiE;QACjE,KAAK,MAAM,EAAES,OAAO,EAAE,IAAIV,OAAQ;YAChCU,QAAQpC;QACV;IACF;AACF;AAEAK,WAAWC,iCAAiC,GAAGF;AAE/CA,SAASiC,GAAG,CAACxB,YAAY;IACvBuB,SAASrC;IACTS;AACF","ignoreList":[0]}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/_1o5dxmsgtgb3g._.js b/e-commerce/.next/dev/server/chunks/ssr/_1o5dxmsgtgb3g._.js new file mode 100644 index 0000000000000000000000000000000000000000..85768b4625deb9778af47f592331abb9d9ec5cdf --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/_1o5dxmsgtgb3g._.js @@ -0,0 +1,30 @@ +module.exports = [ +"[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.all([ + "server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js" +].map((chunk) => __turbopack_context__.l(chunk))).then(() => { + return parentImport("[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript)"); + }); +}); +}), +"[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.all([ + "server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js" +].map((chunk) => __turbopack_context__.l(chunk))).then(() => { + return parentImport("[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript)"); + }); +}); +}), +"[project]/node_modules/next/headers.js [app-rsc] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.resolve().then(() => { + return parentImport("[project]/node_modules/next/headers.js [app-rsc] (ecmascript)"); + }); +}); +}), +]; \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/_1o5dxmsgtgb3g._.js.map b/e-commerce/.next/dev/server/chunks/ssr/_1o5dxmsgtgb3g._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/_1o5dxmsgtgb3g._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/_next-internal_server_app_[locale]_page_actions_0paeoq307w67j.js b/e-commerce/.next/dev/server/chunks/ssr/_next-internal_server_app_[locale]_page_actions_0paeoq307w67j.js new file mode 100644 index 0000000000000000000000000000000000000000..1e94587aabf2b99a017b381adc637ed369edb244 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/_next-internal_server_app_[locale]_page_actions_0paeoq307w67j.js @@ -0,0 +1,7 @@ +module.exports = [ +"[project]/.next-internal/server/app/[locale]/page/actions.js [app-rsc] (server actions loader, ecmascript)", ((__turbopack_context__, module, exports) => { + +}), +]; + +//# sourceMappingURL=_next-internal_server_app_%5Blocale%5D_page_actions_0paeoq307w67j.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/_next-internal_server_app_[locale]_page_actions_0paeoq307w67j.js.map b/e-commerce/.next/dev/server/chunks/ssr/_next-internal_server_app_[locale]_page_actions_0paeoq307w67j.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f89d7b7e9b37bda1ee0f3cdfb88c3f99abbab850 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/_next-internal_server_app_[locale]_page_actions_0paeoq307w67j.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 3, "column": 0}, "map": {"version":3,"sources":[],"names":[],"mappings":""}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_0elqlqdf-7fnk._.js b/e-commerce/.next/dev/server/chunks/ssr/messages_0elqlqdf-7fnk._.js new file mode 100644 index 0000000000000000000000000000000000000000..95df958ec1c6f592e227972f7d89e5883e09fc64 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_0elqlqdf-7fnk._.js @@ -0,0 +1,22 @@ +module.exports = [ +"[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.all([ + "server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js" +].map((chunk) => __turbopack_context__.l(chunk))).then(() => { + return parentImport("[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript)"); + }); +}); +}), +"[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.all([ + "server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js" +].map((chunk) => __turbopack_context__.l(chunk))).then(() => { + return parentImport("[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript)"); + }); +}); +}), +]; \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_0elqlqdf-7fnk._.js.map b/e-commerce/.next/dev/server/chunks/ssr/messages_0elqlqdf-7fnk._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_0elqlqdf-7fnk._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_0nwjbd_td9q-k._.js b/e-commerce/.next/dev/server/chunks/ssr/messages_0nwjbd_td9q-k._.js new file mode 100644 index 0000000000000000000000000000000000000000..95df958ec1c6f592e227972f7d89e5883e09fc64 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_0nwjbd_td9q-k._.js @@ -0,0 +1,22 @@ +module.exports = [ +"[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.all([ + "server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js" +].map((chunk) => __turbopack_context__.l(chunk))).then(() => { + return parentImport("[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript)"); + }); +}); +}), +"[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.all([ + "server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js" +].map((chunk) => __turbopack_context__.l(chunk))).then(() => { + return parentImport("[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript)"); + }); +}); +}), +]; \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_0nwjbd_td9q-k._.js.map b/e-commerce/.next/dev/server/chunks/ssr/messages_0nwjbd_td9q-k._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_0nwjbd_td9q-k._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_0y5kt_p49l1cn._.js b/e-commerce/.next/dev/server/chunks/ssr/messages_0y5kt_p49l1cn._.js new file mode 100644 index 0000000000000000000000000000000000000000..95df958ec1c6f592e227972f7d89e5883e09fc64 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_0y5kt_p49l1cn._.js @@ -0,0 +1,22 @@ +module.exports = [ +"[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.all([ + "server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js" +].map((chunk) => __turbopack_context__.l(chunk))).then(() => { + return parentImport("[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript)"); + }); +}); +}), +"[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript, async loader)", ((__turbopack_context__) => { + +__turbopack_context__.v((parentImport) => { + return Promise.all([ + "server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js" +].map((chunk) => __turbopack_context__.l(chunk))).then(() => { + return parentImport("[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript)"); + }); +}); +}), +]; \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_0y5kt_p49l1cn._.js.map b/e-commerce/.next/dev/server/chunks/ssr/messages_0y5kt_p49l1cn._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c15d7ec00382d3604310ddb8b53cbdb90d9e1942 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_0y5kt_p49l1cn._.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js b/e-commerce/.next/dev/server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js new file mode 100644 index 0000000000000000000000000000000000000000..621f7c4c828fd60c6870940859c5728c48305361 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js @@ -0,0 +1,14 @@ +module.exports = [ +"[project]/messages/bn.json.[json].cjs [app-rsc] (ecmascript)", ((__turbopack_context__, module, exports) => { + +module.exports = { + "home": { + "title": "ই-কমার্স স্টোর", + "hero": "ভারত জুড়ে ডেলিভারি", + "lang": "বাংলা" + } +}; +}), +]; + +//# sourceMappingURL=messages_bn_json_%5Bjson%5D_cjs_03v7tempcl6vx._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js.map b/e-commerce/.next/dev/server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b200e60006e67b0509aebe57a5606ced723bce3d --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_bn_json_[json]_cjs_03v7tempcl6vx._.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 3, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/messages/bn.json.[json].cjs/turbopack:/messages/bn.json"],"sourcesContent":["{\"home\":{\"title\":\"ই-কমার্স স্টোর\",\"hero\":\"ভারত জুড়ে ডেলিভারি\",\"lang\":\"বাংলা\"}}"],"names":[],"mappings":""}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js b/e-commerce/.next/dev/server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js new file mode 100644 index 0000000000000000000000000000000000000000..5beb4417fbff9fc2dead43b34582845a42315a1c --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js @@ -0,0 +1,14 @@ +module.exports = [ +"[project]/messages/en.json.[json].cjs [app-rsc] (ecmascript)", ((__turbopack_context__, module, exports) => { + +module.exports = { + "home": { + "title": "E-Commerce Store", + "hero": "Domestic shipping across India", + "lang": "English" + } +}; +}), +]; + +//# sourceMappingURL=messages_en_json_%5Bjson%5D_cjs_206072-e4clp3._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js.map b/e-commerce/.next/dev/server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c870e0c8d8d5e8c272bd60309d108209e90bb187 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/messages_en_json_[json]_cjs_206072-e4clp3._.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 3, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/messages/en.json.[json].cjs/turbopack:/messages/en.json"],"sourcesContent":["{\"home\":{\"title\":\"E-Commerce Store\",\"hero\":\"Domestic shipping across India\",\"lang\":\"English\"}}"],"names":[],"mappings":""}}] +} \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js b/e-commerce/.next/dev/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js new file mode 100644 index 0000000000000000000000000000000000000000..92403990e9b06597936a8a79a0531ee3dcd816ef --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js @@ -0,0 +1,373 @@ +(()=>{"use strict";module.exports = [ +"[project]/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +function _interop_require_default(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +exports._ = _interop_require_default; +}), +"[project]/node_modules/next/dist/client/components/builtin/error-styles.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + WarningIcon: null, + errorStyles: null, + errorThemeCss: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + WarningIcon: function() { + return WarningIcon; + }, + errorStyles: function() { + return errorStyles; + }, + errorThemeCss: function() { + return errorThemeCss; + } +}); +const _interop_require_default = __turbopack_context__.r("[project]/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [app-ssr] (ecmascript)"); +const _jsxruntime = __turbopack_context__.r("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js [app-ssr] (ecmascript)"); +const _react = /*#__PURE__*/ _interop_require_default._(__turbopack_context__.r("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)")); +const errorStyles = { + container: { + fontFamily: 'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"', + height: '100vh', + display: 'flex', + alignItems: 'center', + justifyContent: 'center' + }, + card: { + marginTop: '-32px', + maxWidth: '325px', + padding: '32px 28px', + textAlign: 'left' + }, + icon: { + marginBottom: '24px' + }, + title: { + fontSize: '24px', + fontWeight: 500, + letterSpacing: '-0.02em', + lineHeight: '32px', + margin: '0 0 12px 0', + color: 'var(--next-error-title)' + }, + message: { + fontSize: '14px', + fontWeight: 400, + lineHeight: '21px', + margin: '0 0 20px 0', + color: 'var(--next-error-message)' + }, + form: { + margin: 0 + }, + buttonGroup: { + display: 'flex', + gap: '8px', + alignItems: 'center' + }, + button: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + height: '32px', + padding: '0 12px', + fontSize: '14px', + fontWeight: 500, + lineHeight: '20px', + borderRadius: '6px', + cursor: 'pointer', + color: 'var(--next-error-btn-text)', + background: 'var(--next-error-btn-bg)', + border: 'var(--next-error-btn-border)' + }, + buttonSecondary: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + height: '32px', + padding: '0 12px', + fontSize: '14px', + fontWeight: 500, + lineHeight: '20px', + borderRadius: '6px', + cursor: 'pointer', + color: 'var(--next-error-btn-secondary-text)', + background: 'var(--next-error-btn-secondary-bg)', + border: 'var(--next-error-btn-secondary-border)' + }, + digestFooter: { + position: 'fixed', + bottom: '32px', + left: '0', + right: '0', + textAlign: 'center', + fontFamily: 'ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace', + fontSize: '12px', + lineHeight: '18px', + fontWeight: 400, + margin: '0', + color: 'var(--next-error-digest)' + } +}; +const errorThemeCss = ` +:root { + --next-error-bg: #fff; + --next-error-text: #171717; + --next-error-title: #171717; + --next-error-message: #171717; + --next-error-digest: #666666; + --next-error-btn-text: #fff; + --next-error-btn-bg: #171717; + --next-error-btn-border: none; + --next-error-btn-secondary-text: #171717; + --next-error-btn-secondary-bg: transparent; + --next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08); +} +@media (prefers-color-scheme: dark) { + :root { + --next-error-bg: #0a0a0a; + --next-error-text: #ededed; + --next-error-title: #ededed; + --next-error-message: #ededed; + --next-error-digest: #a0a0a0; + --next-error-btn-text: #0a0a0a; + --next-error-btn-bg: #ededed; + --next-error-btn-border: none; + --next-error-btn-secondary-text: #ededed; + --next-error-btn-secondary-bg: transparent; + --next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14); + } +} +body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); } +`.replace(/\n\s*/g, ''); +function WarningIcon() { + return /*#__PURE__*/ (0, _jsxruntime.jsx)("svg", { + width: "32", + height: "32", + viewBox: "-0.2 -1.5 32 32", + fill: "none", + style: errorStyles.icon, + children: /*#__PURE__*/ (0, _jsxruntime.jsx)("path", { + d: "M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z", + fill: "var(--next-error-title)" + }) + }); +} +if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { + Object.defineProperty(exports.default, '__esModule', { + value: true + }); + Object.assign(exports.default, exports); + module.exports = exports.default; +} +}), +"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, // supplied custom global error signatures. +"default", { + enumerable: true, + get: function() { + return _default; + } +}); +const _interop_require_default = __turbopack_context__.r("[project]/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [app-ssr] (ecmascript)"); +const _jsxruntime = __turbopack_context__.r("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js [app-ssr] (ecmascript)"); +const _react = /*#__PURE__*/ _interop_require_default._(__turbopack_context__.r("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)")); +const _handleisrerror = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/handle-isr-error.js [app-ssr] (ecmascript)"); +const _errorstyles = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/builtin/error-styles.js [app-ssr] (ecmascript)"); +function DefaultGlobalError({ error }) { + const digest = error?.digest; + const isServerError = !!digest; + const message = isServerError ? 'A server error occurred. Reload to try again.' : 'Reload to try again, or go back.'; + (0, _handleisrerror.handleISRError)({ + error + }); + return /*#__PURE__*/ (0, _jsxruntime.jsxs)("html", { + id: "__next_error__", + children: [ + /*#__PURE__*/ (0, _jsxruntime.jsx)("head", { + children: /*#__PURE__*/ (0, _jsxruntime.jsx)("style", { + dangerouslySetInnerHTML: { + __html: _errorstyles.errorThemeCss + } + }) + }), + /*#__PURE__*/ (0, _jsxruntime.jsxs)("body", { + children: [ + /*#__PURE__*/ (0, _jsxruntime.jsx)("div", { + style: _errorstyles.errorStyles.container, + children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", { + style: _errorstyles.errorStyles.card, + children: [ + /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorstyles.WarningIcon, {}), + /*#__PURE__*/ (0, _jsxruntime.jsx)("h1", { + style: _errorstyles.errorStyles.title, + children: "This page couldn’t load" + }), + /*#__PURE__*/ (0, _jsxruntime.jsx)("p", { + style: _errorstyles.errorStyles.message, + children: message + }), + /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", { + style: _errorstyles.errorStyles.buttonGroup, + children: [ + /*#__PURE__*/ (0, _jsxruntime.jsx)("form", { + style: _errorstyles.errorStyles.form, + children: /*#__PURE__*/ (0, _jsxruntime.jsx)("button", { + type: "submit", + style: _errorstyles.errorStyles.button, + children: "Reload" + }) + }), + !isServerError && /*#__PURE__*/ (0, _jsxruntime.jsx)("button", { + type: "button", + style: _errorstyles.errorStyles.buttonSecondary, + onClick: ()=>{ + if (window.history.length > 1) { + window.history.back(); + } else { + window.location.href = '/'; + } + }, + children: "Back" + }) + ] + }) + ] + }) + }), + digest && /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", { + style: _errorstyles.errorStyles.digestFooter, + children: [ + "ERROR ", + digest + ] + }) + ] + }) + ] + }); +} +const _default = DefaultGlobalError; +if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { + Object.defineProperty(exports.default, '__esModule', { + value: true + }); + Object.assign(exports.default, exports); + module.exports = exports.default; +} +}), +"[project]/node_modules/next/dist/client/components/handle-isr-error.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "handleISRError", { + enumerable: true, + get: function() { + return handleISRError; + } +}); +const _serverasyncstorage = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/server-async-storage.js [app-ssr] (ecmascript)"); +function handleISRError({ error }) { + if (!_serverasyncstorage.workUnitAsyncStorage) { + return; + } + const store = _serverasyncstorage.workUnitAsyncStorage.getStore(); + switch(store?.type){ + case 'prerender': + case 'prerender-client': + case 'prerender-legacy': + if (error) { + console.error(error); + } + throw error; + case 'request': + case 'prerender-runtime': + case 'validation-client': + case 'cache': + case 'private-cache': + case 'unstable-cache': + case 'build-time-generator': + case undefined: + return; + default: + store; + } +} +if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { + Object.defineProperty(exports.default, '__esModule', { + value: true + }); + Object.assign(exports.default, exports); + module.exports = exports.default; +} +}), +"[project]/node_modules/next/dist/client/components/server-async-storage.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { +"use strict"; + +// Client-safe access to the server-only async-storage singletons. On the +// server these re-export the real storages; in the browser bundle this module +// is aliased to `./server-async-storage.browser` (see +// scripts/generate-browser-variant-aliases.mjs), which exports `undefined` +// stubs so the AsyncLocalStorage modules are never bundled into the client. +// Consumers must guard usage so the stubs are not dereferenced in the browser. +Object.defineProperty(exports, "__esModule", { + value: true +}); +0 && (module.exports = { + actionAsyncStorage: null, + workAsyncStorage: null, + workUnitAsyncStorage: null +}); +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + actionAsyncStorage: function() { + return _actionasyncstorageexternal.actionAsyncStorage; + }, + workAsyncStorage: function() { + return _workasyncstorageexternal.workAsyncStorage; + }, + workUnitAsyncStorage: function() { + return _workunitasyncstorageexternal.workUnitAsyncStorage; + } +}); +const _actionasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/action-async-storage.external.js [external] (next/dist/server/app-render/action-async-storage.external.js, cjs)"); +const _workasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +const _workunitasyncstorageexternal = __turbopack_context__.r("[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)"); +if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { + Object.defineProperty(exports.default, '__esModule', { + value: true + }); + Object.assign(exports.default, exports); + module.exports = exports.default; +} +}), +];})() + +//# sourceMappingURL=node_modules_01xbj_9zg44kw._.js.map \ No newline at end of file diff --git a/e-commerce/.next/dev/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js.map b/e-commerce/.next/dev/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js.map new file mode 100644 index 0000000000000000000000000000000000000000..85ef530f9bb77c62f37a2da8702b0aceea35c711 --- /dev/null +++ b/e-commerce/.next/dev/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js.map @@ -0,0 +1,10 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 4, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/@swc/helpers/cjs/_interop_require_default.cjs"],"sourcesContent":["\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n"],"names":["_interop_require_default","obj","__esModule","default","exports","_"],"mappings":"AAEA,SAASA,yBAAyBC,GAAG;IACjC,OAAOA,OAAOA,IAAIC,UAAU,GAAGD,MAAM;QAAEE,SAASF;IAAI;AACxD;AACAG,QAAQC,CAAC,GAAGL","ignoreList":[0]}}, + {"offset": {"line": 14, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/client/components/builtin/error-styles.tsx"],"sourcesContent":["import React from 'react'\n\nexport const errorStyles = {\n container: {\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n card: {\n marginTop: '-32px',\n maxWidth: '325px',\n padding: '32px 28px',\n textAlign: 'left' as const,\n },\n icon: {\n marginBottom: '24px',\n },\n title: {\n fontSize: '24px',\n fontWeight: 500,\n letterSpacing: '-0.02em',\n lineHeight: '32px',\n margin: '0 0 12px 0',\n color: 'var(--next-error-title)',\n },\n message: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '21px',\n margin: '0 0 20px 0',\n color: 'var(--next-error-message)',\n },\n form: {\n margin: 0,\n },\n buttonGroup: {\n display: 'flex',\n gap: '8px',\n alignItems: 'center',\n },\n button: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '32px',\n padding: '0 12px',\n fontSize: '14px',\n fontWeight: 500,\n lineHeight: '20px',\n borderRadius: '6px',\n cursor: 'pointer',\n color: 'var(--next-error-btn-text)',\n background: 'var(--next-error-btn-bg)',\n border: 'var(--next-error-btn-border)',\n },\n buttonSecondary: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '32px',\n padding: '0 12px',\n fontSize: '14px',\n fontWeight: 500,\n lineHeight: '20px',\n borderRadius: '6px',\n cursor: 'pointer',\n color: 'var(--next-error-btn-secondary-text)',\n background: 'var(--next-error-btn-secondary-bg)',\n border: 'var(--next-error-btn-secondary-border)',\n },\n digestFooter: {\n position: 'fixed' as const,\n bottom: '32px',\n left: '0',\n right: '0',\n textAlign: 'center' as const,\n fontFamily:\n 'ui-monospace,SFMono-Regular,\"SF Mono\",Menlo,Consolas,monospace',\n fontSize: '12px',\n lineHeight: '18px',\n fontWeight: 400,\n margin: '0',\n color: 'var(--next-error-digest)',\n },\n} as const\n\nexport const errorThemeCss = `\n:root {\n --next-error-bg: #fff;\n --next-error-text: #171717;\n --next-error-title: #171717;\n --next-error-message: #171717;\n --next-error-digest: #666666;\n --next-error-btn-text: #fff;\n --next-error-btn-bg: #171717;\n --next-error-btn-border: none;\n --next-error-btn-secondary-text: #171717;\n --next-error-btn-secondary-bg: transparent;\n --next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);\n}\n@media (prefers-color-scheme: dark) {\n :root {\n --next-error-bg: #0a0a0a;\n --next-error-text: #ededed;\n --next-error-title: #ededed;\n --next-error-message: #ededed;\n --next-error-digest: #a0a0a0;\n --next-error-btn-text: #0a0a0a;\n --next-error-btn-bg: #ededed;\n --next-error-btn-border: none;\n --next-error-btn-secondary-text: #ededed;\n --next-error-btn-secondary-bg: transparent;\n --next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);\n }\n}\nbody { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\n`.replace(/\\n\\s*/g, '')\n\nexport function WarningIcon() {\n return (\n \n \n \n )\n}\n"],"names":["WarningIcon","errorStyles","errorThemeCss","container","fontFamily","height","display","alignItems","justifyContent","card","marginTop","maxWidth","padding","textAlign","icon","marginBottom","title","fontSize","fontWeight","letterSpacing","lineHeight","margin","color","message","form","buttonGroup","gap","button","borderRadius","cursor","background","border","buttonSecondary","digestFooter","position","bottom","left","right","replace","svg","width","viewBox","fill","style","path","d"],"mappings":";;;;;;;;;;;;;;;IAyHgBA,WAAW,EAAA;eAAXA;;IAvHHC,WAAW,EAAA;eAAXA;;IAuFAC,aAAa,EAAA;eAAbA;;;;;gEAzFK;AAEX,MAAMD,cAAc;IACzBE,WAAW;QACTC,YACE;QACFC,QAAQ;QACRC,SAAS;QACTC,YAAY;QACZC,gBAAgB;IAClB;IACAC,MAAM;QACJC,WAAW;QACXC,UAAU;QACVC,SAAS;QACTC,WAAW;IACb;IACAC,MAAM;QACJC,cAAc;IAChB;IACAC,OAAO;QACLC,UAAU;QACVC,YAAY;QACZC,eAAe;QACfC,YAAY;QACZC,QAAQ;QACRC,OAAO;IACT;IACAC,SAAS;QACPN,UAAU;QACVC,YAAY;QACZE,YAAY;QACZC,QAAQ;QACRC,OAAO;IACT;IACAE,MAAM;QACJH,QAAQ;IACV;IACAI,aAAa;QACXnB,SAAS;QACToB,KAAK;QACLnB,YAAY;IACd;IACAoB,QAAQ;QACNrB,SAAS;QACTC,YAAY;QACZC,gBAAgB;QAChBH,QAAQ;QACRO,SAAS;QACTK,UAAU;QACVC,YAAY;QACZE,YAAY;QACZQ,cAAc;QACdC,QAAQ;QACRP,OAAO;QACPQ,YAAY;QACZC,QAAQ;IACV;IACAC,iBAAiB;QACf1B,SAAS;QACTC,YAAY;QACZC,gBAAgB;QAChBH,QAAQ;QACRO,SAAS;QACTK,UAAU;QACVC,YAAY;QACZE,YAAY;QACZQ,cAAc;QACdC,QAAQ;QACRP,OAAO;QACPQ,YAAY;QACZC,QAAQ;IACV;IACAE,cAAc;QACZC,UAAU;QACVC,QAAQ;QACRC,MAAM;QACNC,OAAO;QACPxB,WAAW;QACXT,YACE;QACFa,UAAU;QACVG,YAAY;QACZF,YAAY;QACZG,QAAQ;QACRC,OAAO;IACT;AACF;AAEO,MAAMpB,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8B9B,CAAC,CAACoC,OAAO,CAAC,UAAU;AAEb,SAAStC;IACd,OAAA,WAAA,GACE,CAAA,GAAA,YAAA,GAAA,EAACuC,OAAAA;QACCC,OAAM;QACNnC,QAAO;QACPoC,SAAQ;QACRC,MAAK;QACLC,OAAO1C,YAAYa,IAAI;kBAEvB,WAAA,GAAA,CAAA,GAAA,YAAA,GAAA,EAAC8B,QAAAA;YACCC,GAAE;YACFH,MAAK;;;AAIb","ignoreList":[0]}}, + {"offset": {"line": 181, "column": 0}, "map": {"version":3,"sources":["file:///media/sandip/Pro/SAndbox/E-Commerce/e-commerce/node_modules/next/src/client/components/builtin/global-error.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\nimport { handleISRError } from '../handle-isr-error'\nimport { errorStyles, errorThemeCss, WarningIcon } from './error-styles'\n\nexport type GlobalErrorComponent = React.ComponentType<{\n error: any\n reset: () => void\n retry: () => void\n}>\n\nfunction DefaultGlobalError({ error }: { error: any }) {\n const digest: string | undefined = error?.digest\n const isServerError = !!digest\n\n const message = isServerError\n ? 'A server error occurred. Reload to try again.'\n : 'Reload to try again, or go back.'\n\n handleISRError({ error })\n\n return (\n \n \n