Skip to content

Upgrade React from 197d6a04-20250424 to 38ef6550-20250508 #78969

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: canary
Choose a base branch
from

Conversation

vercel-release-bot
Copy link
Collaborator

diff facebook/[email protected]

React upstream changes

@ijjk
Copy link
Member

ijjk commented May 8, 2025

Failing test suites

Commit: bee3500

pnpm test-dev-turbo test/development/app-dir/ssr-only-error/ssr-only-error.test.ts (turbopack)

  • ssr-only-error > should not handle internal nextjs errors that will be handled by error boundaries
Expand output

● ssr-only-error › should not handle internal nextjs errors that will be handled by error boundaries

expect(received).toEqual(expected) // deep equality

- Expected  - 0
+ Received  + 4

  Array [
    ObjectContaining {
      "message": StringContaining "the server responded with a status of 404",
      "source": "error",
    },
+   Object {
+     "message": "setTimeoutOrImmediate is not defined",
+     "source": "error",
+   },
  ]

  42 |     )
  43 |
> 44 |     expect(errorLogs).toEqual([
     |                       ^
  45 |       expect.objectContaining({
  46 |         source: 'error',
  47 |         message: expect.stringContaining(

  at Object.toEqual (development/app-dir/ssr-only-error/ssr-only-error.test.ts:44:23)

Read more about building and testing Next.js in contributing.md.

pnpm test-start-turbo test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#count')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:379:17)
  at Object.elementById (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:100:26)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:100:47)

Read more about building and testing Next.js in contributing.md.

pnpm test-start-turbo test/e2e/app-dir/app-prefetch-false-loading/app-prefetch-false-loading.test.ts (turbopack)

  • app-prefetch-false-loading > should not re-trigger loading state when navigating between pages that share a dynamic layout
Expand output

● app-prefetch-false-loading › should not re-trigger loading state when navigating between pages that share a dynamic layout

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#random-number')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:379:17)
  at Object.elementById (e2e/app-dir/app-prefetch-false-loading/app-prefetch-false-loading.test.ts:18:45)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/app-prefetch-false-loading/app-prefetch-false-loading.test.ts:18:74)

Read more about building and testing Next.js in contributing.md.

pnpm test-dev-turbo test/development/app-dir/dynamic-io-dev-errors/dynamic-io-dev-errors.test.ts (turbopack)

  • Dynamic IO Dev Errors > should display error when component accessed data without suspense boundary
Expand output

● Dynamic IO Dev Errors › should display error when component accessed data without suspense boundary

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Dynamic IO Dev Errors should display error when component accessed data without suspense boundary 1`

- Snapshot  - 5
+ Received  + 5

@@ -2,14 +2,14 @@
    "description": "Route "/no-accessed-data": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. We don't have the exact line number added to error messages yet but you can see which component in the stack below. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense",
    "environmentLabel": "Server",
    "label": "Console Error",
    "source": null,
    "stack": [
-     "Page [Server] <anonymous> (2:1)",
-     "main <anonymous> (2:1)",
-     "body <anonymous> (2:1)",
-     "html <anonymous> (2:1)",
-     "Root [Server] <anonymous> (2:1)",
+     "Page [Server] <anonymous> (1:22)",
+     "main <anonymous> (1:13)",
+     "body <anonymous> (1:13)",
+     "html <anonymous> (1:13)",
+     "Root [Server] <anonymous> (1:22)",
      "JSON.parse <anonymous> (0:0)",
      "<unknown> <anonymous> (0:0)",
    ],
  }

   99 |     )
  100 |
> 101 |     await expect(browser).toDisplayCollapsedRedbox(`
      |                           ^
  102 |        {
  103 |          "description": "Route "/no-accessed-data": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. We don't have the exact line number added to error messages yet but you can see which component in the stack below. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense",
  104 |          "environmentLabel": "Server",

  at Object.toDisplayCollapsedRedbox (development/app-dir/dynamic-io-dev-errors/dynamic-io-dev-errors.test.ts:101:27)

Read more about building and testing Next.js in contributing.md.

pnpm test-dev-turbo test/e2e/app-dir/actions-revalidate-remount/actions-revalidate-remount.test.ts (turbopack)

  • actions-revalidate-remount > should not remount the page + loading component when revalidating
Expand output

● actions-revalidate-remount › should not remount the page + loading component when revalidating

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#time')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:379:17)
  at Object.elementById (e2e/app-dir/actions-revalidate-remount/actions-revalidate-remount.test.ts:11:39)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/actions-revalidate-remount/actions-revalidate-remount.test.ts:11:59)

Read more about building and testing Next.js in contributing.md.

pnpm test-start-turbo test/e2e/app-dir/dynamic-io/dynamic-io.headers.test.ts (turbopack)

  • dynamic-io > should be able to access headers properties synchronously
Expand output

● dynamic-io › should be able to access headers properties synchronously

expect(received).toContain(expected) // indexOf

Expected substring: "hello"
Received string:    ""

  279 |
  280 |     // ...headers()
> 281 |     expect($('#spread-x-sentinel').text()).toContain('hello')
      |                                            ^
  282 |     expect($('#spread-x-sentinel-path').text()).toContain(
  283 |       '/headers/exercise/sync'
  284 |     )

  at Object.toContain (e2e/app-dir/dynamic-io/dynamic-io.headers.test.ts:281:44)

Read more about building and testing Next.js in contributing.md.

pnpm test-start-turbo test/e2e/app-dir/metadata-streaming-static-generation/metadata-streaming-static-generation.test.ts (turbopack)

  • app-dir - metadata-streaming-static-generation > dynamic pages with html limited bots > should contain stream metadata in head for suspenseful dynamic page
Expand output

● app-dir - metadata-streaming-static-generation › dynamic pages with html limited bots › should contain stream metadata in head for suspenseful dynamic page

expect(received).toBe(expected) // Object.is equality

Expected: "suspenseful - dynamic"
Received: ""

  90 |         // Can still render the suspenseful content with browser
  91 |         const browser = await next.browser('/suspenseful/dynamic')
> 92 |         expect(await browser.elementByCss('.suspenseful-layout').text()).toBe(
     |                                                                          ^
  93 |           'suspenseful - dynamic'
  94 |         )
  95 |       })

  at Object.toBe (e2e/app-dir/metadata-streaming-static-generation/metadata-streaming-static-generation.test.ts:92:74)

Read more about building and testing Next.js in contributing.md.

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/e2e/app-dir/app-compilation/index.test.ts (PPR)

  • app dir > HMR > should not cause error when removing loading.js
Expand output

● app dir › HMR › should not cause error when removing loading.js

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('h1')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at elementByCss (e2e/app-dir/app-compilation/index.test.ts:28:42)
  at fn (lib/next-test-utils.ts:811:20)
  at Object.<anonymous> (e2e/app-dir/app-compilation/index.test.ts:27:9)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at text (e2e/app-dir/app-compilation/index.test.ts:28:61)
  at fn (lib/next-test-utils.ts:811:20)
  at Object.<anonymous> (e2e/app-dir/app-compilation/index.test.ts:27:9)

Read more about building and testing Next.js in contributing.md.

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/errors/index.test.ts (PPR)

  • app-dir - errors > error component > should display error digest for error in server component with default error boundary
Expand output

● app-dir - errors › error component › should display error digest for error in server component with default error boundary

expect(received).toEqual(expected) // deep equality

- Expected  - 3
+ Received  + 2

  Array [
-   ObjectContaining {
-     "message": "An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.",
-   },
+   [ReferenceError: setTimeoutOrImmediate is not defined],
+   [Error: An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.],
  ]

  238 |       }
  239 |
> 240 |       expect(pageErrors).toEqual([
      |                          ^
  241 |         expect.objectContaining({
  242 |           message: isNextDev
  243 |             ? 'custom server error'

  at Object.toEqual (e2e/app-dir/errors/index.test.ts:240:26)

Read more about building and testing Next.js in contributing.md.

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/e2e/app-dir/server-source-maps/server-source-maps.test.ts (PPR)

  • app-dir - server source maps > stack frames are ignore-listed in ssr
Expand output

● app-dir - server source maps › stack frames are ignore-listed in ssr

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `app-dir - server source maps stack frames are ignore-listed in ssr 1`

- Snapshot  - 20
+ Received  +  1

- {
-   "description": "Boom",
-   "environmentLabel": null,
-   "label": "Console Error",
-   "source": "app/ssr-error-log-ignore-listed/page.js (9:17) @ logError
- >  9 |   const error = new Error('Boom')
-      |                 ^",
-   "stack": [
-     "logError app/ssr-error-log-ignore-listed/page.js (9:17)",
-     "runWithInternalIgnored app/ssr-error-log-ignore-listed/page.js (19:13)",
-     "runInternalIgnored ignored.ts (6:10)",
-     "runWithExternalSourceMapped app/ssr-error-log-ignore-listed/page.js (18:29)",
-     "runWithExternal app/ssr-error-log-ignore-listed/page.js (17:32)",
-     "runWithInternalSourceMapped app/ssr-error-log-ignore-listed/page.js (16:18)",
-     "runInternalSourceMapped sourcemapped.ts (5:10)",
-     "runWithInternal app/ssr-error-log-ignore-listed/page.js (15:28)",
-     "runInternal internal-pkg/index.js (2:10)",
-     "Page app/ssr-error-log-ignore-listed/page.js (14:14)",
-   ],
- }
+ "Redbox did not open."

  163 |         // TODO(veil-NDX-910): Webpacks's sourcemap loader drops `ignoreList`
  164 |         // TODO(veil): Webpack's sourcemap loader creates an incorrect `sources` entry.
> 165 |         await expect(browser).toDisplayCollapsedRedbox(`
      |                               ^
  166 |          {
  167 |            "description": "Boom",
  168 |            "environmentLabel": null,

  at Object.toDisplayCollapsedRedbox (e2e/app-dir/server-source-maps/server-source-maps.test.ts:165:31)

Read more about building and testing Next.js in contributing.md.

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/app-basepath/index.test.ts (PPR)

  • app dir - basepath > should handle redirect in dynamic in suspense boundary routes with basePath
Expand output

● app dir - basepath › should handle redirect in dynamic in suspense boundary routes with basePath

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('p')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at elementByCss (e2e/app-dir/app-basepath/index.test.ts:67:28)
  at fn (lib/next-test-utils.ts:811:20)
  at Object.<anonymous> (e2e/app-dir/app-basepath/index.test.ts:65:5)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at text (e2e/app-dir/app-basepath/index.test.ts:67:46)
  at fn (lib/next-test-utils.ts:811:20)
  at Object.<anonymous> (e2e/app-dir/app-basepath/index.test.ts:65:5)

Read more about building and testing Next.js in contributing.md.

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/params-hooks-compat/index.test.ts (PPR)

  • app-dir - params hooks compat > should only access search params with useSearchParams
Expand output

● app-dir - params hooks compat › should only access search params with useSearchParams

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#use-search-params')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/app-dir/params-hooks-compat/index.test.ts:11:24)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/params-hooks-compat/index.test.ts:11:59)

Read more about building and testing Next.js in contributing.md.

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/app/experimental-compile.test.ts (PPR)

  • app dir - basic > server components > Loading > should render loading.js in browser for slow page
  • app dir - basic > server components > Loading > should render loading.js in browser for slow layout
  • app dir - basic > server components > Loading > should render loading.js in browser for slow layout and page
Expand output

● app dir - basic › server components › Loading › should render loading.js in browser for slow page

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#slow-page-message')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/app-dir/app/index.test.ts:1022:30)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/app/index.test.ts:1022:65)

● app dir - basic › server components › Loading › should render loading.js in browser for slow layout

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#slow-layout-message')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/app-dir/app/index.test.ts:1040:30)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/app/index.test.ts:1040:67)

● app dir - basic › server components › Loading › should render loading.js in browser for slow layout and page

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#slow-layout-message')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/app-dir/app/index.test.ts:1067:30)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/app/index.test.ts:1067:67)

Read more about building and testing Next.js in contributing.md.

pnpm test-dev test/e2e/app-dir/ppr/ppr.test.ts

  • ppr > with suspense for /suspense/edge > should eventually render the dynamic part
  • ppr > with suspense for /suspense/node > should eventually render the dynamic part
Expand output

● ppr › with suspense for /suspense/node › should eventually render the dynamic part

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#container > #dynamic > #state')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr/ppr.test.ts:107:23)

● ppr › with suspense for /suspense/edge › should eventually render the dynamic part

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#container > #dynamic > #state')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr/ppr.test.ts:107:23)

Read more about building and testing Next.js in contributing.md.

pnpm test-start test/e2e/app-dir/app/index.test.ts

  • app dir - basic > server components > Loading > should render loading.js in browser for slow page
  • app dir - basic > server components > Loading > should render loading.js in browser for slow layout
  • app dir - basic > server components > Loading > should render loading.js in browser for slow layout and page
Expand output

● app dir - basic › server components › Loading › should render loading.js in browser for slow page

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#slow-page-message')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/app-dir/app/index.test.ts:1022:30)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/app/index.test.ts:1022:65)

● app dir - basic › server components › Loading › should render loading.js in browser for slow layout

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#slow-layout-message')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/app-dir/app/index.test.ts:1040:30)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/app/index.test.ts:1040:67)

● app dir - basic › server components › Loading › should render loading.js in browser for slow layout and page

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#slow-layout-message')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:375:17)
  at Object.elementByCss (e2e/app-dir/app/index.test.ts:1067:30)
  at Proxy._chain (lib/browsers/playwright.ts:568:23)
  at Proxy._chain (lib/browsers/playwright.ts:544:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:387:17)
  at Object.text (e2e/app-dir/app/index.test.ts:1067:67)

Read more about building and testing Next.js in contributing.md.

pnpm test-start test/e2e/app-dir/ppr-full/ppr-full.test.ts

  • ppr-full > HTML Response > for / > should allow navigations to and from a pages/ page
  • ppr-full > HTML Response > for /loading/a > should allow navigations to and from a pages/ page
  • ppr-full > HTML Response > for /loading/b > should allow navigations to and from a pages/ page
  • ppr-full > HTML Response > for /loading/c > should allow navigations to and from a pages/ page
  • ppr-full > HTML Response > for /nested/a > should allow navigations to and from a pages/ page
  • ppr-full > HTML Response > for /nested/b > should allow navigations to and from a pages/ page
  • ppr-full > HTML Response > for /nested/c > should allow navigations to and from a pages/ page
  • ppr-full > HTML Response > for /on-demand/a > should allow navigations to and from a pages/ page
  • ppr-full > HTML Response > for /on-demand/b > should allow navigations to and from a pages/ page
  • ppr-full > HTML Response > for /on-demand/c > should allow navigations to and from a pages/ page
Expand output

● ppr-full › HTML Response › for / › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

● ppr-full › HTML Response › for /nested/a › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/nested/a"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

● ppr-full › HTML Response › for /nested/b › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/nested/b"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

● ppr-full › HTML Response › for /nested/c › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/nested/c"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

● ppr-full › HTML Response › for /on-demand/a › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/on-demand/a"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

● ppr-full › HTML Response › for /on-demand/b › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/on-demand/b"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

● ppr-full › HTML Response › for /on-demand/c › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/on-demand/c"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

● ppr-full › HTML Response › for /loading/a › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/loading/a"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

● ppr-full › HTML Response › for /loading/b › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/loading/b"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

● ppr-full › HTML Response › for /loading/c › should allow navigations to and from a pages/ page

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-pathname="/loading/c"]')

  454 |   waitForElementByCss(selector: string, timeout = 10_000) {
  455 |     return this.startChain(async () => {
> 456 |       const el = await page.waitForSelector(selector, {
      |                             ^
  457 |         timeout,
  458 |         state: 'attached',
  459 |       })

  at waitForSelector (lib/browsers/playwright.ts:456:29)
  at Playwright._chain (lib/browsers/playwright.ts:568:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:549:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:455:17)
  at Object.waitForElementByCss (e2e/app-dir/ppr-full/ppr-full.test.ts:93:27)

Read more about building and testing Next.js in contributing.md.

@ijjk
Copy link
Member

ijjk commented May 8, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
buildDuration 39.4s 36.7s N/A
buildDurationCached 36.3s 31.1s N/A
nodeModulesSize 418 MB 419 MB ⚠️ +1.01 MB
nextStartRea..uration (ms) 822ms 851ms N/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
1733-HASH.js gzip 44.5 kB 45 kB ⚠️ +473 B
194b18f3-HASH.js gzip 53.8 kB 53.8 kB N/A
2192.HASH.js gzip 169 B 169 B
4719-HASH.js gzip 5.47 kB 5.44 kB N/A
framework-HASH.js gzip 57.4 kB 57.4 kB
main-app-HASH.js gzip 253 B 256 B N/A
main-HASH.js gzip 33.5 kB 33.6 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 102 kB 103 kB ⚠️ +473 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 192 B 192 B
amp-HASH.js gzip 510 B 510 B
css-HASH.js gzip 344 B 342 B N/A
dynamic-HASH.js gzip 1.84 kB 1.83 kB N/A
edge-ssr-HASH.js gzip 265 B 265 B
head-HASH.js gzip 363 B 364 B N/A
hooks-HASH.js gzip 392 B 391 B N/A
image-HASH.js gzip 4.69 kB 4.67 kB N/A
index-HASH.js gzip 267 B 267 B
link-HASH.js gzip 2.53 kB 2.53 kB N/A
routerDirect..HASH.js gzip 328 B 325 B N/A
script-HASH.js gzip 396 B 396 B
withRouter-HASH.js gzip 325 B 325 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 2.25 kB 2.25 kB
Client Build Manifests
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
_buildManifest.js gzip 751 B 750 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
index.html gzip 523 B 523 B
link.html gzip 537 B 536 B N/A
withRouter.html gzip 519 B 518 B N/A
Overall change 523 B 523 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
edge-ssr.js gzip 136 kB 136 kB N/A
page.js gzip 218 kB 213 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
middleware-b..fest.js gzip 675 B 674 B N/A
middleware-r..fest.js gzip 155 B 157 B N/A
middleware.js gzip 32.5 kB 32.5 kB N/A
edge-runtime..pack.js gzip 853 B 853 B
Overall change 853 B 853 B
Next Runtimes Overall increase ⚠️
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
app-page-exp...dev.js gzip 312 kB 314 kB ⚠️ +2.44 kB
app-page-exp..prod.js gzip 144 kB 144 kB ⚠️ +714 B
app-page-tur...dev.js gzip 312 kB 314 kB ⚠️ +2.44 kB
app-page-tur..prod.js gzip 144 kB 144 kB ⚠️ +734 B
app-page-tur...dev.js gzip 303 kB 306 kB ⚠️ +2.63 kB
app-page-tur..prod.js gzip 139 kB 140 kB ⚠️ +770 B
app-page.run...dev.js gzip 303 kB 306 kB ⚠️ +2.64 kB
app-page.run..prod.js gzip 139 kB 140 kB ⚠️ +755 B
app-route-ex...dev.js gzip 40.7 kB 40.7 kB N/A
app-route-ex..prod.js gzip 26.4 kB 26.4 kB N/A
app-route-tu...dev.js gzip 40.7 kB 40.7 kB N/A
app-route-tu..prod.js gzip 26.4 kB 26.4 kB N/A
app-route-tu...dev.js gzip 40.1 kB 40.1 kB N/A
app-route-tu..prod.js gzip 26.1 kB 26.1 kB
app-route.ru...dev.js gzip 40.1 kB 40.1 kB
app-route.ru..prod.js gzip 26.1 kB 26.1 kB
dist_client_...dev.js gzip 332 B 332 B
dist_client_...dev.js gzip 334 B 334 B
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 324 B 324 B
pages-api-tu...dev.js gzip 11.6 kB 11.6 kB
pages-api-tu..prod.js gzip 9.65 kB 9.65 kB
pages-api.ru...dev.js gzip 11.6 kB 11.6 kB
pages-api.ru..prod.js gzip 9.64 kB 9.64 kB
pages-turbo....dev.js gzip 31 kB 31 kB
pages-turbo...prod.js gzip 21.9 kB 21.9 kB
pages.runtim...dev.js gzip 31.2 kB 31.2 kB
pages.runtim..prod.js gzip 22 kB 22 kB
server.runti..prod.js gzip 61.7 kB 61.7 kB
Overall change 2.1 MB 2.11 MB ⚠️ +13.1 kB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js update/react/19.2.0-canary-38ef6550-20250508 Change
0.pack gzip 2.19 MB 2.18 MB N/A
index.pack gzip 77.8 kB 78 kB ⚠️ +212 B
Overall change 77.8 kB 78 kB ⚠️ +212 B
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9813],
   {
-    /***/ 1586: /***/ (
+    /***/ 2628: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function () {
-          return __webpack_require__(4362);
+          return __webpack_require__(8707);
         },
       ]);
       if (false) {
@@ -18,14 +18,7 @@
       /***/
     },
 
-    /***/ 4350: /***/ (module) => {
-      // extracted by mini-css-extract-plugin
-      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
-
-      /***/
-    },
-
-    /***/ 4362: /***/ (
+    /***/ 8707: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -39,7 +32,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(5640);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4350);
+        __webpack_require__(9080);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
 
       /***/
     },
+
+    /***/ 9080: /***/ (module) => {
+      // extracted by mini-css-extract-plugin
+      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1586)
+      __webpack_exec__(2628)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,17 +1,117 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 283: /***/ (
+    /***/ 2001: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+        /* harmony export */
+      });
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(5640);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(9553);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+        () =>
+          __webpack_require__
+            .e(/* import() */ 8042)
+            .then(__webpack_require__.bind(__webpack_require__, 8042))
+            .then((mod) => mod.Hello),
+        {
+          loadableGenerated: {
+            webpack: () => [/*require.resolve*/ 8042],
+          },
+        }
+      );
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+          {
+            children: [
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
+                children: "testing next/dynamic size",
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+                DynamicHello,
+                {}
+              ),
+            ],
+          }
+        );
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
+
+      /***/
+    },
+
+    /***/ 2976: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/dynamic",
+        function () {
+          return __webpack_require__(2001);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 7807: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      "use strict";
+      /* __next_internal_client_entry_do_not_use__  cjs */
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "LoadableContext", {
+        enumerable: true,
+        get: function () {
+          return LoadableContext;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(148)
+      );
+      const LoadableContext = _react.default.createContext(null);
+      if (false) {
+      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+
+      /***/
+    },
+
+    /***/ 9553: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(6990);
+      module.exports = __webpack_require__(9986);
 
       /***/
     },
 
-    /***/ 505: /***/ (
+    /***/ 9829: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -53,7 +153,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(148)
       );
-      const _loadablecontextsharedruntime = __webpack_require__(6179);
+      const _loadablecontextsharedruntime = __webpack_require__(7807);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -288,90 +388,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 5703: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
-        /* harmony export */
-      });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(5640);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(283);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
-        () =>
-          __webpack_require__
-            .e(/* import() */ 2192)
-            .then(__webpack_require__.bind(__webpack_require__, 2192))
-            .then((mod) => mod.Hello),
-        {
-          loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 2192],
-          },
-        }
-      );
-      const Page = () =>
-        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
-          {
-            children: [
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
-                children: "testing next/dynamic size",
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-                DynamicHello,
-                {}
-              ),
-            ],
-          }
-        );
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
-
-      /***/
-    },
-
-    /***/ 6179: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-      /* __next_internal_client_entry_do_not_use__  cjs */
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "LoadableContext", {
-        enumerable: true,
-        get: function () {
-          return LoadableContext;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(148)
-      );
-      const LoadableContext = _react.default.createContext(null);
-      if (false) {
-      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
-
-      /***/
-    },
-
-    /***/ 6990: /***/ (module, exports, __webpack_require__) => {
+    /***/ 9986: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -404,7 +421,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
         __webpack_require__(148)
       );
       const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(505)
+        __webpack_require__(9829)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -504,30 +521,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
 
       /***/
     },
-
-    /***/ 9254: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/dynamic",
-        function () {
-          return __webpack_require__(5703);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9254)
+      __webpack_exec__(2976)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9804],
   {
-    /***/ 1664: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/hooks",
-        function () {
-          return __webpack_require__(6130);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 6130: /***/ (
+    /***/ 4756: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -76,13 +59,30 @@
 
       /***/
     },
+
+    /***/ 5426: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/hooks",
+        function () {
+          return __webpack_require__(4756);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1664)
+      __webpack_exec__(5426)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2983],
   {
-    /***/ 2198: /***/ (
+    /***/ 264: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function () {
-          return __webpack_require__(3444);
+          return __webpack_require__(3594);
         },
       ]);
       if (false) {
@@ -18,7 +18,190 @@
       /***/
     },
 
-    /***/ 2514: /***/ (
+    /***/ 1206: /***/ (__unused_webpack_module, exports) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "default", {
+        enumerable: true,
+        get: function () {
+          return _default;
+        },
+      });
+      const DEFAULT_Q = 75;
+      function defaultLoader(param) {
+        let { config, src, width, quality } = param;
+        var _config_qualities;
+        if (false) {
+        }
+        const q =
+          quality ||
+          ((_config_qualities = config.qualities) == null
+            ? void 0
+            : _config_qualities.reduce((prev, cur) =>
+                Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q)
+                  ? cur
+                  : prev
+              )) ||
+          DEFAULT_Q;
+        return (
+          config.path +
+          "?url=" +
+          encodeURIComponent(src) +
+          "&w=" +
+          width +
+          "&q=" +
+          q +
+          (src.startsWith("/_next/static/media/") && false ? 0 : "")
+        );
+      }
+      // We use this to determine if the import is the default loader
+      // or a custom loader defined by the user in next.config.js
+      defaultLoader.__next_img_default = true;
+      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
+
+      /***/
+    },
+
+    /***/ 1765: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "useMergedRef", {
+        enumerable: true,
+        get: function () {
+          return useMergedRef;
+        },
+      });
+      const _react = __webpack_require__(148);
+      function useMergedRef(refA, refB) {
+        const cleanupA = (0, _react.useRef)(null);
+        const cleanupB = (0, _react.useRef)(null);
+        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
+        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
+        // But this can cause us to leak a cleanup-ref into user code (e.g. via `<Link legacyBehavior>`),
+        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
+        // (because it hasn't been updated for React 19)
+        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
+        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
+        return (0, _react.useCallback)(
+          (current) => {
+            if (current === null) {
+              const cleanupFnA = cleanupA.current;
+              if (cleanupFnA) {
+                cleanupA.current = null;
+                cleanupFnA();
+              }
+              const cleanupFnB = cleanupB.current;
+              if (cleanupFnB) {
+                cleanupB.current = null;
+                cleanupFnB();
+              }
+            } else {
+              if (refA) {
+                cleanupA.current = applyRef(refA, current);
+              }
+              if (refB) {
+                cleanupB.current = applyRef(refB, current);
+              }
+            }
+          },
+          [refA, refB]
+        );
+      }
+      function applyRef(refA, current) {
+        if (typeof refA === "function") {
+          const cleanup = refA(current);
+          if (typeof cleanup === "function") {
+            return cleanup;
+          } else {
+            return () => refA(null);
+          }
+        } else {
+          refA.current = current;
+          return () => {
+            refA.current = null;
+          };
+        }
+      }
+      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=use-merged-ref.js.map
+
+      /***/
+    },
+
+    /***/ 3353: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(5526);
+
+      /***/
+    },
+
+    /***/ 3594: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      // ESM COMPAT FLAG
+      __webpack_require__.r(__webpack_exports__);
+
+      // EXPORTS
+      __webpack_require__.d(__webpack_exports__, {
+        __N_SSP: () => /* binding */ __N_SSP,
+        default: () => /* binding */ pages_image,
+      });
+
+      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(5640);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
+      var next_image = __webpack_require__(3353);
+      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
+      /* harmony default export */ const nextjs = {
+        src: "/_next/static/media/nextjs.cae0b805.png",
+        height: 1347,
+        width: 1626,
+        blurDataURL:
+          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
+        blurWidth: 8,
+        blurHeight: 7,
+      }; // ./pages/image.js
+      function ImagePage(props) {
+        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
+          children: [
+            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
+              children: "next/image example",
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
+              src: nextjs,
+              placeholder: "blur",
+            }),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const pages_image = ImagePage;
+
+      /***/
+    },
+
+    /***/ 3854: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -34,9 +217,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(5127);
-      const _imageblursvg = __webpack_require__(4287);
-      const _imageconfig = __webpack_require__(2795);
+      const _warnonce = __webpack_require__(3603);
+      const _imageblursvg = __webpack_require__(7835);
+      const _imageconfig = __webpack_require__(6799);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -463,55 +646,69 @@
       /***/
     },
 
-    /***/ 3444: /***/ (
+    /***/ 5526: /***/ (
       __unused_webpack_module,
-      __webpack_exports__,
+      exports,
       __webpack_require__
     ) => {
       "use strict";
-      // ESM COMPAT FLAG
-      __webpack_require__.r(__webpack_exports__);
 
-      // EXPORTS
-      __webpack_require__.d(__webpack_exports__, {
-        __N_SSP: () => /* binding */ __N_SSP,
-        default: () => /* binding */ pages_image,
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
       });
-
-      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
-      var jsx_runtime = __webpack_require__(5640);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
-      var next_image = __webpack_require__(6359);
-      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
-      /* harmony default export */ const nextjs = {
-        src: "/_next/static/media/nextjs.cae0b805.png",
-        height: 1347,
-        width: 1626,
-        blurDataURL:
-          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
-        blurWidth: 8,
-        blurHeight: 7,
-      }; // ./pages/image.js
-      function ImagePage(props) {
-        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
-          children: [
-            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
-              children: "next/image example",
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
-              src: nextjs,
-              placeholder: "blur",
-            }),
-          ],
+      0 && 0;
+      function _export(target, all) {
+        for (var name in all)
+          Object.defineProperty(target, name, {
+            enumerable: true,
+            get: all[name],
+          });
+      }
+      _export(exports, {
+        default: function () {
+          return _default;
+        },
+        getImageProps: function () {
+          return getImageProps;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _getimgprops = __webpack_require__(3854);
+      const _imagecomponent = __webpack_require__(8350);
+      const _imageloader = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(1206)
+      );
+      function getImageProps(imgProps) {
+        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
+          defaultLoader: _imageloader.default,
+          // This is replaced by webpack define plugin
+          imgConf: {
+            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+            imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
+            path: "/_next/image",
+            loader: "default",
+            dangerouslyAllowSVG: false,
+            unoptimized: false,
+          },
         });
+        // Normally we don't care about undefined props because we pass to JSX,
+        // but this exported function could be used by the end user for anything
+        // so we delete undefined props to clean it up a little.
+        for (const [key, value] of Object.entries(props)) {
+          if (value === undefined) {
+            delete props[key];
+          }
+        }
+        return {
+          props,
+        };
       }
-      var __N_SSP = true;
-      /* harmony default export */ const pages_image = ImagePage;
+      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
 
       /***/
     },
 
-    /***/ 4287: /***/ (__unused_webpack_module, exports) => {
+    /***/ 7835: /***/ (__unused_webpack_module, exports) => {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -566,85 +763,7 @@
       /***/
     },
 
-    /***/ 4985: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "useMergedRef", {
-        enumerable: true,
-        get: function () {
-          return useMergedRef;
-        },
-      });
-      const _react = __webpack_require__(148);
-      function useMergedRef(refA, refB) {
-        const cleanupA = (0, _react.useRef)(null);
-        const cleanupB = (0, _react.useRef)(null);
-        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
-        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
-        // But this can cause us to leak a cleanup-ref into user code (e.g. via `<Link legacyBehavior>`),
-        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
-        // (because it hasn't been updated for React 19)
-        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
-        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
-        return (0, _react.useCallback)(
-          (current) => {
-            if (current === null) {
-              const cleanupFnA = cleanupA.current;
-              if (cleanupFnA) {
-                cleanupA.current = null;
-                cleanupFnA();
-              }
-              const cleanupFnB = cleanupB.current;
-              if (cleanupFnB) {
-                cleanupB.current = null;
-                cleanupFnB();
-              }
-            } else {
-              if (refA) {
-                cleanupA.current = applyRef(refA, current);
-              }
-              if (refB) {
-                cleanupB.current = applyRef(refB, current);
-              }
-            }
-          },
-          [refA, refB]
-        );
-      }
-      function applyRef(refA, current) {
-        if (typeof refA === "function") {
-          const cleanup = refA(current);
-          if (typeof cleanup === "function") {
-            return cleanup;
-          } else {
-            return () => refA(null);
-          }
-        } else {
-          refA.current = current;
-          return () => {
-            refA.current = null;
-          };
-        }
-      }
-      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=use-merged-ref.js.map
-
-      /***/
-    },
-
-    /***/ 5898: /***/ (module, exports, __webpack_require__) => {
+    /***/ 8350: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -666,17 +785,17 @@
         __webpack_require__(7897)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(5207)
+        __webpack_require__(8843)
       );
-      const _getimgprops = __webpack_require__(2514);
-      const _imageconfig = __webpack_require__(2795);
-      const _imageconfigcontextsharedruntime = __webpack_require__(2349);
-      const _warnonce = __webpack_require__(5127);
-      const _routercontextsharedruntime = __webpack_require__(3556);
+      const _getimgprops = __webpack_require__(3854);
+      const _imageconfig = __webpack_require__(6799);
+      const _imageconfigcontextsharedruntime = __webpack_require__(3905);
+      const _warnonce = __webpack_require__(3603);
+      const _routercontextsharedruntime = __webpack_require__(6712);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(5970)
+        __webpack_require__(1206)
       );
-      const _usemergedref = __webpack_require__(4985);
+      const _usemergedref = __webpack_require__(1765);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1002,132 +1121,13 @@
 
       /***/
     },
-
-    /***/ 5970: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "default", {
-        enumerable: true,
-        get: function () {
-          return _default;
-        },
-      });
-      const DEFAULT_Q = 75;
-      function defaultLoader(param) {
-        let { config, src, width, quality } = param;
-        var _config_qualities;
-        if (false) {
-        }
-        const q =
-          quality ||
-          ((_config_qualities = config.qualities) == null
-            ? void 0
-            : _config_qualities.reduce((prev, cur) =>
-                Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q)
-                  ? cur
-                  : prev
-              )) ||
-          DEFAULT_Q;
-        return (
-          config.path +
-          "?url=" +
-          encodeURIComponent(src) +
-          "&w=" +
-          width +
-          "&q=" +
-          q +
-          (src.startsWith("/_next/static/media/") && false ? 0 : "")
-        );
-      }
-      // We use this to determine if the import is the default loader
-      // or a custom loader defined by the user in next.config.js
-      defaultLoader.__next_img_default = true;
-      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
-
-      /***/
-    },
-
-    /***/ 6359: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(8986);
-
-      /***/
-    },
-
-    /***/ 8986: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      0 && 0;
-      function _export(target, all) {
-        for (var name in all)
-          Object.defineProperty(target, name, {
-            enumerable: true,
-            get: all[name],
-          });
-      }
-      _export(exports, {
-        default: function () {
-          return _default;
-        },
-        getImageProps: function () {
-          return getImageProps;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _getimgprops = __webpack_require__(2514);
-      const _imagecomponent = __webpack_require__(5898);
-      const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(5970)
-      );
-      function getImageProps(imgProps) {
-        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
-          defaultLoader: _imageloader.default,
-          // This is replaced by webpack define plugin
-          imgConf: {
-            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-            imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
-            path: "/_next/image",
-            loader: "default",
-            dangerouslyAllowSVG: false,
-            unoptimized: false,
-          },
-        });
-        // Normally we don't care about undefined props because we pass to JSX,
-        // but this exported function could be used by the end user for anything
-        // so we delete undefined props to clean it up a little.
-        for (const [key, value] of Object.entries(props)) {
-          if (value === undefined) {
-            delete props[key];
-          }
-        }
-        return {
-          props,
-        };
-      }
-      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(2198)
+      __webpack_exec__(264)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,7 +1,24 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3332],
   {
-    /***/ 9418: /***/ (
+    /***/ 8230: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/",
+        function () {
+          return __webpack_require__(8696);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 8696: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -19,30 +36,13 @@
 
       /***/
     },
-
-    /***/ 9532: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/",
-        function () {
-          return __webpack_require__(9418);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9532)
+      __webpack_exec__(8230)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,125 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4672],
   {
-    /***/ 1854: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
-        /* harmony export */
-      });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(5640);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(8770);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_link__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      function aLink(props) {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
-          children: [
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
-              children: "A Link page!",
-            }),
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
-              {
-                href: "/",
-                children: "Go to /",
-              }
-            ),
-          ],
-        });
-      }
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
-
-      /***/
-    },
-
-    /***/ 3199: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "errorOnce", {
-        enumerable: true,
-        get: function () {
-          return errorOnce;
-        },
-      });
-      let errorOnce = (_) => {};
-      if (false) {
-      } //# sourceMappingURL=error-once.js.map
-
-      /***/
-    },
-
-    /***/ 3568: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function () {
-          return __webpack_require__(1854);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 3857: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "getDomainLocale", {
-        enumerable: true,
-        get: function () {
-          return getDomainLocale;
-        },
-      });
-      const _normalizetrailingslash = __webpack_require__(4869);
-      const basePath =
-        /* unused pure expression or super */ null && (false || "");
-      function getDomainLocale(path, locale, locales, domainLocales) {
-        if (false) {
-        } else {
-          return false;
-        }
-      }
-      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=get-domain-locale.js.map
-
-      /***/
-    },
-
-    /***/ 3947: /***/ (module, exports, __webpack_require__) => {
+    /***/ 591: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -146,17 +28,17 @@
       const _react = /*#__PURE__*/ _interop_require_wildcard._(
         __webpack_require__(148)
       );
-      const _resolvehref = __webpack_require__(3161);
-      const _islocalurl = __webpack_require__(2309);
-      const _formaturl = __webpack_require__(3768);
-      const _utils = __webpack_require__(5554);
-      const _addlocale = __webpack_require__(7591);
-      const _routercontextsharedruntime = __webpack_require__(3556);
-      const _useintersection = __webpack_require__(5624);
-      const _getdomainlocale = __webpack_require__(3857);
-      const _addbasepath = __webpack_require__(4356);
-      const _usemergedref = __webpack_require__(4985);
-      const _erroronce = __webpack_require__(3199);
+      const _resolvehref = __webpack_require__(5837);
+      const _islocalurl = __webpack_require__(5953);
+      const _formaturl = __webpack_require__(6212);
+      const _utils = __webpack_require__(6950);
+      const _addlocale = __webpack_require__(6467);
+      const _routercontextsharedruntime = __webpack_require__(6712);
+      const _useintersection = __webpack_require__(9692);
+      const _getdomainlocale = __webpack_require__(6850);
+      const _addbasepath = __webpack_require__(4928);
+      const _usemergedref = __webpack_require__(1765);
+      const _erroronce = __webpack_require__(8659);
       const prefetched = new Set();
       function prefetch(router, href, as, options) {
         if (false) {
@@ -545,7 +427,17 @@
       /***/
     },
 
-    /***/ 4985: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1148: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(591);
+
+      /***/
+    },
+
+    /***/ 1765: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -623,7 +515,125 @@
       /***/
     },
 
-    /***/ 5624: /***/ (module, exports, __webpack_require__) => {
+    /***/ 5436: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+        /* harmony export */
+      });
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(5640);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(1148);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_link__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      function aLink(props) {
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+          children: [
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+              children: "A Link page!",
+            }),
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
+              {
+                href: "/",
+                children: "Go to /",
+              }
+            ),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+
+      /***/
+    },
+
+    /***/ 6850: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "getDomainLocale", {
+        enumerable: true,
+        get: function () {
+          return getDomainLocale;
+        },
+      });
+      const _normalizetrailingslash = __webpack_require__(6457);
+      const basePath =
+        /* unused pure expression or super */ null && (false || "");
+      function getDomainLocale(path, locale, locales, domainLocales) {
+        if (false) {
+        } else {
+          return false;
+        }
+      }
+      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=get-domain-locale.js.map
+
+      /***/
+    },
+
+    /***/ 8659: /***/ (__unused_webpack_module, exports) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "errorOnce", {
+        enumerable: true,
+        get: function () {
+          return errorOnce;
+        },
+      });
+      let errorOnce = (_) => {};
+      if (false) {
+      } //# sourceMappingURL=error-once.js.map
+
+      /***/
+    },
+
+    /***/ 9666: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function () {
+          return __webpack_require__(5436);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 9692: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -636,7 +646,7 @@
         },
       });
       const _react = __webpack_require__(148);
-      const _requestidlecallback = __webpack_require__(3543);
+      const _requestidlecallback = __webpack_require__(315);
       const hasIntersectionObserver =
         typeof IntersectionObserver === "function";
       const observers = new Map();
@@ -748,23 +758,13 @@
 
       /***/
     },
-
-    /***/ 8770: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(3947);
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(3568)
+      __webpack_exec__(9666)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [188],
   {
-    /***/ 3618: /***/ (
+    /***/ 76: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -16,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(5640);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4631);
+        __webpack_require__(9413);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -36,17 +36,7 @@
       /***/
     },
 
-    /***/ 4631: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7086);
-
-      /***/
-    },
-
-    /***/ 7824: /***/ (
+    /***/ 1810: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -54,7 +44,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/routerDirect",
         function () {
-          return __webpack_require__(3618);
+          return __webpack_require__(76);
         },
       ]);
       if (false) {
@@ -62,13 +52,23 @@
 
       /***/
     },
+
+    /***/ 9413: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(5282);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(7824)
+      __webpack_exec__(1810)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,24 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [1209],
   {
-    /***/ 1984: /***/ (
-      __unused_webpack_module,
+    /***/ 2227: /***/ (
+      module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/script",
-        function () {
-          return __webpack_require__(5769);
-        },
-      ]);
-      if (false) {
-      }
+      module.exports = __webpack_require__(5984);
 
       /***/
     },
 
-    /***/ 5769: /***/ (
+    /***/ 3043: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,7 +26,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(5640);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(8293);
+        __webpack_require__(2227);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -66,12 +59,19 @@
       /***/
     },
 
-    /***/ 8293: /***/ (
-      module,
+    /***/ 3642: /***/ (
+      __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(900);
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/script",
+        function () {
+          return __webpack_require__(3043);
+        },
+      ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -81,7 +81,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1984)
+      __webpack_exec__(3642)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,34 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3263],
   {
-    /***/ 4631: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7086);
-
-      /***/
-    },
-
-    /***/ 9216: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/withRouter",
-        function () {
-          return __webpack_require__(9803);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 9803: /***/ (
+    /***/ 1089: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(5640);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4631);
+        __webpack_require__(9413);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
 
       /***/
     },
+
+    /***/ 3962: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/withRouter",
+        function () {
+          return __webpack_require__(1089);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 9413: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(5282);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9216)
+      __webpack_exec__(3962)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 1733-HASH.js

Diff too large to display

Diff for 194b18f3-HASH.js
@@ -1,13 +1,13 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [1305],
+  [9910],
   {
-    /***/ 2292: /***/ (
+    /***/ 5294: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
     ) => {
-      /* provided dependency */ var process = __webpack_require__(7085);
+      /* provided dependency */ var process = __webpack_require__(6367);
       /**
        * @license React
        * react-dom-client.production.js
@@ -22,9 +22,9 @@
  Modernizr 3.0.0pre (Custom Build) | MIT
 */
 
-      var Scheduler = __webpack_require__(534),
-        React = __webpack_require__(2663),
-        ReactDOM = __webpack_require__(6806);
+      var Scheduler = __webpack_require__(5499),
+        React = __webpack_require__(2253),
+        ReactDOM = __webpack_require__(1440);
       function formatProdErrorMessage(code) {
         var url = "https://react.dev/errors/" + code;
         if (1 < arguments.length) {
@@ -1054,13 +1054,11 @@
           ("checkbox" === type || "radio" === type)
         );
       }
-      function trackValueOnNode(node) {
-        var valueField = isCheckable(node) ? "checked" : "value",
-          descriptor = Object.getOwnPropertyDescriptor(
-            node.constructor.prototype,
-            valueField
-          ),
-          currentValue = "" + node[valueField];
+      function trackValueOnNode(node, valueField, currentValue) {
+        var descriptor = Object.getOwnPropertyDescriptor(
+          node.constructor.prototype,
+          valueField
+        );
         if (
           !node.hasOwnProperty(valueField) &&
           "undefined" !== typeof descriptor &&
@@ -1097,7 +1095,14 @@
         }
       }
       function track(node) {
-        node._valueTracker || (node._valueTracker = trackValueOnNode(node));
+        if (!node._valueTracker) {
+          var valueField = isCheckable(node) ? "checked" : "value";
+          node._valueTracker = trackValueOnNode(
+            node,
+            valueField,
+            "" + node[valueField]
+          );
+        }
       }
       function updateValueIfChanged(node) {
         if (!node) return !1;
@@ -1200,8 +1205,10 @@
               ("submit" !== type && "reset" !== type) ||
               (void 0 !== value && null !== value)
             )
-          )
+          ) {
+            track(element);
             return;
+          }
           defaultValue =
             null != defaultValue ? "" + getToStringValue(defaultValue) : "";
           value = null != value ? "" + getToStringValue(value) : defaultValue;
@@ -1220,6 +1227,7 @@
           "symbol" !== typeof name &&
           "boolean" !== typeof name &&
           (element.name = name);
+        track(element);
       }
       function setDefaultValue(node, type, value) {
         ("number" === type && getActiveElement(node.ownerDocument) === node) ||
@@ -1283,6 +1291,7 @@
           "" !== children &&
           null !== children &&
           (element.value = children);
+        track(element);
       }
       function setTextContent(node, text) {
         if (text) {
@@ -2102,19 +2111,19 @@
       }
       var isInputEventSupported = !1;
       if (canUseDOM) {
-        var JSCompiler_inline_result$jscomp$293;
+        var JSCompiler_inline_result$jscomp$294;
         if (canUseDOM) {
-          var isSupported$jscomp$inline_433 = "oninput" in document;
-          if (!isSupported$jscomp$inline_433) {
-            var element$jscomp$inline_434 = document.createElement("div");
-            element$jscomp$inline_434.setAttribute("oninput", "return;");
-            isSupported$jscomp$inline_433 =
-              "function" === typeof element$jscomp$inline_434.oninput;
+          var isSupported$jscomp$inline_434 = "oninput" in document;
+          if (!isSupported$jscomp$inline_434) {
+            var element$jscomp$inline_435 = document.createElement("div");
+            element$jscomp$inline_435.setAttribute("oninput", "return;");
+            isSupported$jscomp$inline_434 =
+              "function" === typeof element$jscomp$inline_435.oninput;
           }
-          JSCompiler_inline_result$jscomp$293 = isSupported$jscomp$inline_433;
-        } else JSCompiler_inline_result$jscomp$293 = !1;
+          JSCompiler_inline_result$jscomp$294 = isSupported$jscomp$inline_434;
+        } else JSCompiler_inline_result$jscomp$294 = !1;
         isInputEventSupported =
-          JSCompiler_inline_result$jscomp$293 &&
+          JSCompiler_inline_result$jscomp$294 &&
           (!document.documentMode || 9 < document.documentMode);
       }
       function stopWatchingForValueChange() {
@@ -2380,25 +2389,6 @@
         topLevelEventsToReactNames.set(domEventName, reactName);
         registerTwoPhaseEvent(reactName, [domEventName]);
       }
-      var CapturedStacks = new WeakMap();
-      function createCapturedValueAtFiber(value, source) {
-        if ("object" === typeof value && null !== value) {
-          var existing = CapturedStacks.get(value);
-          if (void 0 !== existing) return existing;
-          source = {
-            value: value,
-            source: source,
-            stack: getStackByFiberInDevAndProd(source),
-          };
-          CapturedStacks.set(value, source);
-          return source;
-        }
-        return {
-          value: value,
-          source: source,
-          stack: getStackByFiberInDevAndProd(source),
-        };
-      }
       var concurrentQueues = [],
         concurrentQueuesIndex = 0,
         concurrentlyUpdatedLanes = 0;
@@ -2718,6 +2708,25 @@
         };
         return mode;
       }
+      var CapturedStacks = new WeakMap();
+      function createCapturedValueAtFiber(value, source) {
+        if ("object" === typeof value && null !== value) {
+          var existing = CapturedStacks.get(value);
+          if (void 0 !== existing) return existing;
+          source = {
+            value: value,
+            source: source,
+            stack: getStackByFiberInDevAndProd(source),
+          };
+          CapturedStacks.set(value, source);
+          return source;
+        }
+        return {
+          value: value,
+          source: source,
+          stack: getStackByFiberInDevAndProd(source),
+        };
+      }
       var forkStack = [],
         forkStackIndex = 0,
         treeForkProvider = null,
@@ -2852,7 +2861,6 @@
               props.name,
               !0
             );
-            track(instance);
             break;
           case "select":
             listenToNonDelegatedEvent("invalid", instance);
@@ -2864,8 +2872,7 @@
                 props.value,
                 props.defaultValue,
                 props.children
-              ),
-              track(instance);
+              );
         }
         type = props.children;
         ("string" !== typeof type &&
@@ -4441,7 +4448,7 @@
               null !== state &&
               ((state = state.dehydrated),
               null === state ||
-                "$?" === state.data ||
+                isSuspenseInstancePending(state) ||
                 isSuspenseInstanceFallback(state))
             )
               return node;
@@ -5477,11 +5484,12 @@
         return existingStateHook;
       }
       function requestFormReset$1(formFiber) {
-        var resetStateQueue =
-          ensureFormComponentIsStateful(formFiber).next.queue;
+        var stateHook = ensureFormComponentIsStateful(formFiber);
+        null === stateHook.next &&
+          (stateHook = formFiber.alternate.memoizedState);
         dispatchSetStateInternal(
           formFiber,
-          resetStateQueue,
+          stateHook.next.queue,
           {},
           requestUpdateLane()
         );
@@ -7186,7 +7194,7 @@
                 scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),
                 SelectiveHydrationException)
               );
-            "$?" === nextPrimaryChildren.data ||
+            isSuspenseInstancePending(nextPrimaryChildren) ||
               renderDidSuspendDelayIfPossible();
             workInProgress = retrySuspenseComponentWithoutHydrating(
               current,
@@ -7194,7 +7202,7 @@
               renderLanes
             );
           } else
-            "$?" === nextPrimaryChildren.data
+            isSuspenseInstancePending(nextPrimaryChildren)
               ? ((workInProgress.flags |= 192),
                 (workInProgress.child = current.child),
                 (workInProgress = null))
@@ -12822,20 +12830,20 @@
         }
       }
       for (
-        var i$jscomp$inline_1573 = 0;
-        i$jscomp$inline_1573 < simpleEventPluginEvents.length;
-        i$jscomp$inline_1573++
+        var i$jscomp$inline_1590 = 0;
+        i$jscomp$inline_1590 < simpleEventPluginEvents.length;
+        i$jscomp$inline_1590++
       ) {
-        var eventName$jscomp$inline_1574 =
-            simpleEventPluginEvents[i$jscomp$inline_1573],
-          domEventName$jscomp$inline_1575 =
-            eventName$jscomp$inline_1574.toLowerCase(),
-          capitalizedEvent$jscomp$inline_1576 =
-            eventName$jscomp$inline_1574[0].toUpperCase() +
-            eventName$jscomp$inline_1574.slice(1);
+        var eventName$jscomp$inline_1591 =
+            simpleEventPluginEvents[i$jscomp$inline_1590],
+          domEventName$jscomp$inline_1592 =
+            eventName$jscomp$inline_1591.toLowerCase(),
+          capitalizedEvent$jscomp$inline_1593 =
+            eventName$jscomp$inline_1591[0].toUpperCase() +
+            eventName$jscomp$inline_1591.slice(1);
         registerSimpleEvent(
-          domEventName$jscomp$inline_1575,
-          "on" + capitalizedEvent$jscomp$inline_1576
+          domEventName$jscomp$inline_1592,
+          "on" + capitalizedEvent$jscomp$inline_1593
         );
       }
       registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
@@ -13318,37 +13326,39 @@
                   accumulateTargetOnly = _instance;
                   if (SyntheticEventCtor && reactEventType)
                     b: {
-                      inCapturePhase = SyntheticEventCtor;
-                      reactEventName = reactEventType;
-                      instance = 0;
-                      for (
-                        lastHostComponent = inCapturePhase;
-                        lastHostComponent;
-                        lastHostComponent = getParent(lastHostComponent)
-                      )
-                        instance++;
+                      inCapturePhase = getParent;
+                      reactEventName = SyntheticEventCtor;
+                      instance = reactEventType;
                       lastHostComponent = 0;
                       for (
                         _instance = reactEventName;
                         _instance;
-                        _instance = getParent(_instance)
+                        _instance = inCapturePhase(_instance)
                       )
                         lastHostComponent++;
-                      for (; 0 < instance - lastHostComponent; )
-                        (inCapturePhase = getParent(inCapturePhase)),
-                          instance--;
-                      for (; 0 < lastHostComponent - instance; )
-                        (reactEventName = getParent(reactEventName)),
+                      _instance = 0;
+                      for (
+                        var tempB = instance;
+                        tempB;
+                        tempB = inCapturePhase(tempB)
+                      )
+                        _instance++;
+                      for (; 0 < lastHostComponent - _instance; )
+                        (reactEventName = inCapturePhase(reactEventName)),
                           lastHostComponent--;
-                      for (; instance--; ) {
+                      for (; 0 < _instance - lastHostComponent; )
+                        (instance = inCapturePhase(instance)), _instance--;
+                      for (; lastHostComponent--; ) {
                         if (
-                          inCapturePhase === reactEventName ||
-                          (null !== reactEventName &&
-                            inCapturePhase === reactEventName.alternate)
-                        )
+                          reactEventName === instance ||
+                          (null !== instance &&
+                            reactEventName === instance.alternate)
+                        ) {
+                          inCapturePhase = reactEventName;
                           break b;
-                        inCapturePhase = getParent(inCapturePhase);
-                        reactEventName = getParent(reactEventName);
+                        }
+                        reactEventName = inCapturePhase(reactEventName);
+                        instance = inCapturePhase(instance);
                       }
                       inCapturePhase = null;
                     }
@@ -14151,7 +14161,6 @@
               hasSrcSet,
               !1
             );
-            track(domElement);
             return;
           case "select":
             listenToNonDelegatedEvent("invalid", domElement);
@@ -14220,7 +14229,6 @@
                     );
                 }
             initTextarea(domElement, hasSrc, hasSrcSet, propKey);
-            track(domElement);
             return;
           case "option":
             for (checked in props)
@@ -14785,6 +14793,7 @@
             } else if (
               "$" === node ||
               "$?" === node ||
+              "$~" === node ||
               "$!" === node ||
               "&" === node
             )
@@ -14835,7 +14844,10 @@
               if (0 === suspenseInstance) break;
               else suspenseInstance--;
             else
-              ("$" !== node && "$?" !== node && "$!" !== node) ||
+              ("$" !== node &&
+                "$?" !== node &&
+                "$~" !== node &&
+                "$!" !== node) ||
                 suspenseInstance++;
           node = nextNode;
         } while (node);
@@ -14959,16 +14971,23 @@
         }
         return instance;
       }
+      function isSuspenseInstancePending(instance) {
+        return "$?" === instance.data || "$~" === instance.data;
+      }
       function isSuspenseInstanceFallback(instance) {
         return (
           "$!" === instance.data ||
           ("$?" === instance.data &&
-            "complete" === instance.ownerDocument.readyState)
+            "loading" !== instance.ownerDocument.readyState)
         );
       }
       function registerSuspenseInstanceRetry(instance, callback) {
         var ownerDocument = instance.ownerDocument;
-        if ("$?" !== instance.data || "complete" === ownerDocument.readyState)
+        if ("$~" === instance.data) instance._reactRetry = callback;
+        else if (
+          "$?" !== instance.data ||
+          "loading" !== ownerDocument.readyState
+        )
           callback();
         else {
           var listener = function () {
@@ -14989,6 +15008,7 @@
               "$" === nodeType ||
               "$!" === nodeType ||
               "$?" === nodeType ||
+              "$~" === nodeType ||
               "&" === nodeType ||
               "F!" === nodeType ||
               "F" === nodeType
@@ -15015,6 +15035,7 @@
               ("$" !== data &&
                 "$!" !== data &&
                 "$?" !== data &&
+                "$~" !== data &&
                 "&" !== data) ||
                 depth++;
           }
@@ -15031,6 +15052,7 @@
               "$" === data ||
               "$!" === data ||
               "$?" === data ||
+              "$~" === data ||
               "&" === data
             ) {
               if (0 === depth) return targetInstance;
@@ -16631,16 +16653,16 @@
           0 === i && attemptExplicitHydrationTarget(target);
         }
       };
-      var isomorphicReactPackageVersion$jscomp$inline_1829 = React.version;
+      var isomorphicReactPackageVersion$jscomp$inline_1847 = React.version;
       if (
-        "19.2.0-canary-197d6a04-20250424" !==
-        isomorphicReactPackageVersion$jscomp$inline_1829
+        "19.2.0-canary-38ef6550-20250508" !==
+        isomorphicReactPackageVersion$jscomp$inline_1847
       )
         throw Error(
           formatProdErrorMessage(
             527,
-            isomorphicReactPackageVersion$jscomp$inline_1829,
-            "19.2.0-canary-197d6a04-20250424"
+            isomorphicReactPackageVersion$jscomp$inline_1847,
+            "19.2.0-canary-38ef6550-20250508"
           )
         );
       ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16660,24 +16682,24 @@
           null === componentOrElement ? null : componentOrElement.stateNode;
         return componentOrElement;
       };
-      var internals$jscomp$inline_2318 = {
+      var internals$jscomp$inline_2340 = {
         bundleType: 0,
-        version: "19.2.0-canary-197d6a04-20250424",
+        version: "19.2.0-canary-38ef6550-20250508",
         rendererPackageName: "react-dom",
         currentDispatcherRef: ReactSharedInternals,
-        reconcilerVersion: "19.2.0-canary-197d6a04-20250424",
+        reconcilerVersion: "19.2.0-canary-38ef6550-20250508",
       };
       if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
-        var hook$jscomp$inline_2319 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
+        var hook$jscomp$inline_2341 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
         if (
-          !hook$jscomp$inline_2319.isDisabled &&
-          hook$jscomp$inline_2319.supportsFiber
+          !hook$jscomp$inline_2341.isDisabled &&
+          hook$jscomp$inline_2341.supportsFiber
         )
           try {
-            (rendererID = hook$jscomp$inline_2319.inject(
-              internals$jscomp$inline_2318
+            (rendererID = hook$jscomp$inline_2341.inject(
+              internals$jscomp$inline_2340
             )),
-              (injectedHook = hook$jscomp$inline_2319);
+              (injectedHook = hook$jscomp$inline_2341);
           } catch (err) {}
       }
       exports.createRoot = function (container, options) {
@@ -16773,7 +16795,7 @@
         listenToAllSupportedEvents(container);
         return new ReactDOMHydrationRoot(initialChildren);
       };
-      exports.version = "19.2.0-canary-197d6a04-20250424";
+      exports.version = "19.2.0-canary-38ef6550-20250508";
 
       /***/
     },
Diff for 4719-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js
@@ -1,64 +1,64 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4977],
   {
-    /***/ 654: /***/ (
+    /***/ 3579: /***/ () => {
+      /* (ignored) */
+      /***/
+    },
+
+    /***/ 6070: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8790, 23)
+        __webpack_require__.t.bind(__webpack_require__, 5356, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7382, 23)
+        __webpack_require__.t.bind(__webpack_require__, 4304, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 9442, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3152, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 94, 23)
+        __webpack_require__.t.bind(__webpack_require__, 9464, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 693, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1675, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 2439, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7601, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 5083, 23)
+        __webpack_require__.t.bind(__webpack_require__, 2553, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8103, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1925, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 5625, 23)
+        __webpack_require__.t.bind(__webpack_require__, 959, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 4247, 23)
+        __webpack_require__.t.bind(__webpack_require__, 9389, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 5602, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8628, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 227, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3077, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6734, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7812, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 4120, 23)
+        __webpack_require__.t.bind(__webpack_require__, 5774, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 6104)
+        __webpack_require__.bind(__webpack_require__, 750)
       );
 
       /***/
     },
-
-    /***/ 3505: /***/ () => {
-      /* (ignored) */
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
@@ -66,8 +66,8 @@
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(
       0,
-      [1305, 1733],
-      () => (__webpack_exec__(9679), __webpack_exec__(654))
+      [9910, 965],
+      () => (__webpack_exec__(1389), __webpack_exec__(6070))
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: bee3500

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants