Skip to content
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

BREAKING CHANGE: Remove browsersListForSwc and change default to legacyBrowsers: false #41529

Merged
merged 10 commits into from Oct 19, 2022

Conversation

styfle
Copy link
Member

@styfle styfle commented Oct 18, 2022

Remove browsersListForSwc since it is enabled by default now, and disable legacyBrowsers by default.

This PR also bumps the default browserslist to the following:

  • Chrome 64+
  • Edge 79+
  • Firefox 67+
  • Opera 51+
  • Safari 12+

See related RFC:

@ijjk
Copy link
Member

ijjk commented Oct 18, 2022

Failing test suites

Commit: 1b58eed

pnpm testheadless test/e2e/prerender.test.ts

  • Prerender > should handle manual revalidate for fallback: blocking
Expand output

● Prerender › should handle manual revalidate for fallback: blocking

expect(received).toMatch(expected)

Expected pattern: /(HIT|STALE)/
Received string:  "MISS"

  2118 |           const $2 = cheerio.load(html2)
  2119 |
> 2120 |           expect(res2.headers.get(cacheHeader)).toMatch(/(HIT|STALE)/)
       |                                                 ^
  2121 |           expect(initialTime).toBe($2('#time').text())
  2122 |         }
  2123 |

  at Object.<anonymous> (e2e/prerender.test.ts:2120:49)
      at runMicrotasks (<anonymous>)

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

@ijjk
Copy link
Member

ijjk commented Oct 18, 2022

Stats from current PR

Default Build (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary vercel/next.js breaking-change-browserslist-swc Change
buildDuration 47.2s 46.3s -898ms
buildDurationCached 11.4s 11.8s ⚠️ +354ms
nodeModulesSize 105 MB 105 MB -1.81 kB
nextStartRea..uration (ms) 357ms 332ms -25ms
Client Bundles (main, webpack) Overall decrease ✓
vercel/next.js canary vercel/next.js breaking-change-browserslist-swc Change
328.HASH.js gzip 178 B N/A N/A
869-HASH.js gzip 15.6 kB N/A N/A
app-internal..HASH.js gzip 182 B 182 B
main-app-HASH.js gzip 103 kB 98.3 kB -4.39 kB
main-HASH.js gzip 82 kB 76.4 kB -5.67 kB
webpack-HASH.js gzip 1.83 kB 1.83 kB ⚠️ +1 B
258.HASH.js gzip N/A 185 B N/A
321-HASH.js gzip N/A 11.6 kB N/A
Overall change 203 kB 188 kB -14.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js breaking-change-browserslist-swc Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall decrease ✓
vercel/next.js canary vercel/next.js breaking-change-browserslist-swc Change
_app-HASH.js gzip 191 B 192 B ⚠️ +1 B
_error-HASH.js gzip 179 B 176 B -3 B
amp-HASH.js gzip 478 B 484 B ⚠️ +6 B
css-HASH.js gzip 796 B 800 B ⚠️ +4 B
dynamic-HASH.js gzip 2.45 kB 2.3 kB -148 B
edge-ssr-HASH.js gzip 257 B 259 B ⚠️ +2 B
head-HASH.js gzip 823 B 825 B ⚠️ +2 B
hooks-HASH.js gzip 1.24 kB 847 B -392 B
image-HASH.js gzip 4.11 kB 3.93 kB -181 B
index-HASH.js gzip 254 B 254 B
link-HASH.js gzip 2.79 kB 2.73 kB -60 B
routerDirect..HASH.js gzip 780 B 780 B
script-HASH.js gzip 853 B 854 B ⚠️ +1 B
withRouter-HASH.js gzip 780 B 778 B -2 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 16.1 kB 15.3 kB -770 B
Client Build Manifests Overall increase ⚠️
vercel/next.js canary vercel/next.js breaking-change-browserslist-swc Change
_buildManifest.js gzip 483 B 484 B ⚠️ +1 B
Overall change 483 B 484 B ⚠️ +1 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary vercel/next.js breaking-change-browserslist-swc Change
index.html gzip 489 B 492 B ⚠️ +3 B
link.html gzip 504 B 505 B ⚠️ +1 B
withRouter.html gzip 485 B 486 B ⚠️ +1 B
Overall change 1.48 kB 1.48 kB ⚠️ +5 B
Edge SSR bundle Size Overall decrease ✓
vercel/next.js canary vercel/next.js breaking-change-browserslist-swc Change
edge-ssr.js gzip 60.8 kB 60.9 kB ⚠️ +6 B
page.js gzip 94.7 kB 94.7 kB -10 B
Overall change 156 kB 156 kB -4 B
Middleware size
vercel/next.js canary vercel/next.js breaking-change-browserslist-swc Change
middleware-b..fest.js gzip 569 B 569 B
middleware-r..fest.js gzip 144 B 145 B ⚠️ +1 B
middleware.js gzip 25.2 kB 25.2 kB -1 B
edge-runtime..pack.js gzip 2.21 kB 2.21 kB
Overall change 28.1 kB 28.1 kB

Diffs

Diff for page.js

Diff too large to display

Diff for middleware-b..-manifest.js
@@ -7,80 +7,80 @@ self.__BUILD_MANIFEST = {
     "static/BUILD_ID/_ssgManifest.js"
   ],
   rootMainFiles: [
-    "static/chunks/webpack-cce2c849f4430ce9.js",
-    "static/chunks/main-app-d9a2fa61b0c03be0.js"
+    "static/chunks/webpack-6228e38b5a2c089b.js",
+    "static/chunks/main-app-01a94fe186400a31.js"
   ],
   pages: {
     "/": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/index-746ac9e3d25e44a4.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/index-d039610ac387a1a2.js"
     ],
     "/_app": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/_app-b1aa9bc9bb533b76.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/_app-3c08c46a4f81c30f.js"
     ],
     "/_error": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/_error-77faf523f7dc719f.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/_error-b39849bd87f6201c.js"
     ],
     "/amp": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/amp-9e5352b684d2ed0f.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/amp-9395ec0994a9d6eb.js"
     ],
     "/css": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
       "static/css/94fdbc56eafa2039.css",
-      "static/chunks/pages/css-3f3e170b3bf29c18.js"
+      "static/chunks/pages/css-65046627751ecd7d.js"
     ],
     "/dynamic": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/dynamic-b4449f2879ec0efe.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/dynamic-0bbb313a0644b75b.js"
     ],
     "/edge-ssr": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/edge-ssr-38f386d5a51ee83c.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/edge-ssr-3261abe9cc912fa4.js"
     ],
     "/head": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/head-96e64072010e4e97.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/head-03dd547cb323849b.js"
     ],
     "/hooks": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/hooks-d1c3dc414f5eeb9a.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/hooks-6d612745af40d0fe.js"
     ],
     "/image": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/image-c2d84cb60c9aad35.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/image-a18030ccbb087bbf.js"
     ],
     "/link": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/link-11c814a0e6303d67.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/link-81ce020cc5b6752c.js"
     ],
     "/routerDirect": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/routerDirect-358458462c238364.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/routerDirect-cd0646efd49ce01d.js"
     ],
     "/script": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/script-5f95a396ae1fb6fc.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/script-ec7b76720d9c92ac.js"
     ],
     "/withRouter": [
-      "static/chunks/webpack-cce2c849f4430ce9.js",
-      "static/chunks/main-73406201e08ba2ef.js",
-      "static/chunks/pages/withRouter-ba18dc4ef8c7ff0b.js"
+      "static/chunks/webpack-6228e38b5a2c089b.js",
+      "static/chunks/main-762c269bcb7f152a.js",
+      "static/chunks/pages/withRouter-d14a70d9cefd1930.js"
     ]
   },
   ampFirstPages: []
Diff for middleware-r..-manifest.js
@@ -1,6 +1,6 @@
 self.__REACT_LOADABLE_MANIFEST = {
   "dynamic.js -> ../components/hello": {
-    id: 328,
-    files: ["static/chunks/328.a6cc5a1665557100.js"]
+    id: 3258,
+    files: ["static/chunks/258.52c48025b4679c71.js"]
   }
 };
Diff for middleware.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [826],
   {
-    /***/ 8086: /***/ (
+    /***/ 7462: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -14,7 +14,7 @@
       __webpack_require__.d(__webpack_exports__, {
         default: () =>
           /* binding */ next_middleware_loaderabsolutePagePath_private_next_root_dir_2Fmiddleware_js_page_2Fmiddleware_rootDir_2Ftmp_2Fnext_stats_2Fstats_app_matchers_
-      }); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/error.js
+      }); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/error.js
 
       class PageSignatureError extends Error {
         constructor({ page }) {
@@ -41,7 +41,7 @@
   Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
   `);
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/utils.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/utils.js
 
       //# sourceMappingURL=error.js.map
       function fromNodeHeaders(object) {
@@ -155,7 +155,7 @@
             }
           );
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js
 
       //# sourceMappingURL=utils.js.map
       const responseSymbol = Symbol("response");
@@ -201,7 +201,7 @@
             page: this.sourcePage
           });
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js
 
       //# sourceMappingURL=fetch-event.js.map
       function detectDomainLocale(domainItems, hostname, detectedLocale) {
@@ -230,7 +230,7 @@
           }
         }
         return domainItem;
-      } //# sourceMappingURL=detect-domain-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js
+      } //# sourceMappingURL=detect-domain-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js
 
       /**
        * Removes the trailing slash for a given route or page path. Preserves the
@@ -240,7 +240,7 @@
        *   - `/` -> `/`
        */ function removeTrailingSlash(route) {
         return route.replace(/\/$/, "") || "/";
-      } //# sourceMappingURL=remove-trailing-slash.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js
+      } //# sourceMappingURL=remove-trailing-slash.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js
 
       /**
        * Given a path this function will find the pathname, query and hash and return
@@ -268,7 +268,7 @@
           query: "",
           hash: ""
         };
-      } //# sourceMappingURL=parse-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js
+      } //# sourceMappingURL=parse-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js
 
       /**
        * Adds the provided prefix to the given path. It first ensures that the path
@@ -279,7 +279,7 @@
         }
         const { pathname, query, hash } = parsePath(path);
         return `${prefix}${pathname}${query}${hash}`;
-      } //# sourceMappingURL=add-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js
+      } //# sourceMappingURL=add-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js
 
       /**
        * Similarly to `addPathPrefix`, this function adds a suffix at the end on the
@@ -291,7 +291,7 @@
         }
         const { pathname, query, hash } = parsePath(path);
         return `${pathname}${suffix}${query}${hash}`;
-      } //# sourceMappingURL=add-path-suffix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js
+      } //# sourceMappingURL=add-path-suffix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js
 
       /**
        * Checks if a given path starts with a given prefix. It ensures it matches
@@ -305,7 +305,7 @@
         }
         const { pathname } = parsePath(path);
         return pathname === prefix || pathname.startsWith(prefix + "/");
-      } //# sourceMappingURL=path-has-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js
+      } //# sourceMappingURL=path-has-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js
 
       /**
        * For a given path and a locale, if the locale is given, it will prefix the
@@ -322,7 +322,7 @@
           return addPathPrefix(path, `/${locale}`);
         }
         return path;
-      } //# sourceMappingURL=add-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js
+      } //# sourceMappingURL=add-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js
 
       function formatNextPathnameInfo(info) {
         let pathname = addLocale(
@@ -346,7 +346,7 @@
             ? addPathSuffix(pathname, "/")
             : pathname
           : removeTrailingSlash(pathname);
-      } //# sourceMappingURL=format-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/get-hostname.js
+      } //# sourceMappingURL=format-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/get-hostname.js
 
       /**
        * Takes an object with a hostname property (like a parsed URL) and some
@@ -361,7 +361,7 @@
           parsed.hostname) == null
           ? void 0
           : ref.split(":")[0].toLowerCase();
-      } //# sourceMappingURL=get-hostname.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js
+      } //# sourceMappingURL=get-hostname.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js
 
       /**
        * For a pathname that may include a locale from a list of locales, it
@@ -391,7 +391,7 @@
           pathname,
           detectedLocale
         };
-      } //# sourceMappingURL=normalize-locale-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js
+      } //# sourceMappingURL=normalize-locale-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js
 
       /**
        * Given a path and a prefix it will remove the prefix when it exists in the
@@ -407,7 +407,7 @@
             : `/${withoutPrefix}`;
         }
         return path;
-      } //# sourceMappingURL=remove-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js
+      } //# sourceMappingURL=remove-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js
 
       function getNextPathnameInfo(pathname, options) {
         var _nextConfig;
@@ -444,7 +444,7 @@
             info.pathname;
         }
         return info;
-      } //# sourceMappingURL=get-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/next-url.js
+      } //# sourceMappingURL=get-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/next-url.js
 
       const REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|::1|localhost)/;
       function parseURL(url, base) {
@@ -656,9 +656,9 @@
       }
 
       //# sourceMappingURL=next-url.js.map
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/compiled/cookie/index.js
-      var cookie = __webpack_require__(1948);
-      var cookie_default = /*#__PURE__*/ __webpack_require__.n(cookie); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/spec-extension/cookies.js
+      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/compiled/cookie/index.js
+      var cookie = __webpack_require__(965);
+      var cookie_default = /*#__PURE__*/ __webpack_require__.n(cookie); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/spec-extension/cookies.js
       const normalizeCookieOptions = options => {
         options = Object.assign({}, options);
         if (options.maxAge) {
@@ -777,7 +777,7 @@
             this.response.headers.set("set-cookie", expiredCookies);
           return super.clear();
         };
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/spec-extension/request.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/spec-extension/request.js
 
       //# sourceMappingURL=cookies.js.map
       const INTERNALS = Symbol("internal request");
@@ -851,7 +851,7 @@
         get url() {
           return this[INTERNALS].url.toString();
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/spec-extension/response.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/spec-extension/response.js
 
       //# sourceMappingURL=request.js.map
       const response_INTERNALS = Symbol("internal response");
@@ -929,7 +929,7 @@
             headers
           });
         }
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js
 
       //# sourceMappingURL=response.js.map
       /**
@@ -943,7 +943,7 @@
         return `${relative.protocol}//${relative.host}` === origin
           ? relative.toString().replace(origin, "")
           : relative.toString();
-      } //# sourceMappingURL=relativize-url.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/internal-utils.js
+      } //# sourceMappingURL=relativize-url.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/internal-utils.js
 
       const INTERNAL_QUERY_NAMES = [
         "__nextFallback",
@@ -972,7 +972,7 @@
           }
         }
         return searchParams;
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js
 
       //# sourceMappingURL=internal-utils.js.map
       // remove (name) from pathname as it's not considered for routing
@@ -996,7 +996,7 @@
       }
       function normalizeRscPath(pathname, enabled) {
         return enabled ? pathname.replace(/\.rsc($|\?)/, "") : pathname;
-      } //# sourceMappingURL=app-paths.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/adapter.js
+      } //# sourceMappingURL=app-paths.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/esm/server/web/adapter.js
 
       class NextRequestHint extends NextRequest {
         constructor(params) {
@@ -1218,12 +1218,12 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
           enumerable: false,
           configurable: false
         });
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=private-next-root-dir%2Fmiddleware.js&page=%2Fmiddleware&rootDir=%2Ftmp%2Fnext-stats%2Fstats-app&matchers=!
+      } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=private-next-root-dir%2Fmiddleware.js&page=%2Fmiddleware&rootDir=%2Ftmp%2Fnext-stats%2Fstats-app&matchers=!
 
       //# sourceMappingURL=adapter.js.map
       enhanceGlobals();
 
-      var mod = __webpack_require__(8452);
+      var mod = __webpack_require__(5941);
       var handler = mod.middleware || mod.default;
 
       if (typeof handler !== "function") {
@@ -1247,7 +1247,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 8452: /***/ (
+    /***/ 5941: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -1259,7 +1259,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         /* harmony export */
       });
       /* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        8646
+        253
       );
       /* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         next_server__WEBPACK_IMPORTED_MODULE_0__
@@ -1272,7 +1272,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 6520: /***/ (__unused_webpack_module, exports) => {
+    /***/ 6961: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1292,7 +1292,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 891: /***/ (__unused_webpack_module, exports) => {
+    /***/ 1137: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1330,7 +1330,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 6568: /***/ (__unused_webpack_module, exports) => {
+    /***/ 3750: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1362,7 +1362,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 4601: /***/ (
+    /***/ 500: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1373,8 +1373,8 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.addLocale = addLocale;
-      var _addPathPrefix = __webpack_require__(6325);
-      var _pathHasPrefix = __webpack_require__(2180);
+      var _addPathPrefix = __webpack_require__(209);
+      var _pathHasPrefix = __webpack_require__(5249);
       function addLocale(path, locale, defaultLocale, ignorePrefix) {
         if (
           locale &&
@@ -1394,7 +1394,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 6325: /***/ (
+    /***/ 209: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1405,7 +1405,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.addPathPrefix = addPathPrefix;
-      var _parsePath = __webpack_require__(3444);
+      var _parsePath = __webpack_require__(7990);
       function addPathPrefix(path, prefix) {
         if (!path.startsWith("/") || !prefix) {
           return path;
@@ -1417,7 +1417,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 7864: /***/ (
+    /***/ 3218: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1428,7 +1428,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.addPathSuffix = addPathSuffix;
-      var _parsePath = __webpack_require__(3444);
+      var _parsePath = __webpack_require__(7990);
       function addPathSuffix(path, suffix) {
         if (!path.startsWith("/") || !suffix) {
           return path;
@@ -1440,7 +1440,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 3270: /***/ (
+    /***/ 3621: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1451,10 +1451,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.formatNextPathnameInfo = formatNextPathnameInfo;
-      var _removeTrailingSlash = __webpack_require__(4335);
-      var _addPathPrefix = __webpack_require__(6325);
-      var _addPathSuffix = __webpack_require__(7864);
-      var _addLocale = __webpack_require__(4601);
+      var _removeTrailingSlash = __webpack_require__(1127);
+      var _addPathPrefix = __webpack_require__(209);
+      var _addPathSuffix = __webpack_require__(3218);
+      var _addLocale = __webpack_require__(500);
       function formatNextPathnameInfo(info) {
         let pathname = (0, _addLocale).addLocale(
           info.pathname,
@@ -1485,20 +1485,16 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 9635: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
+    /***/ 26: /***/ (__unused_webpack_module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports.getNextPathnameInfo = getNextPathnameInfo;
-      var _normalizeLocalePath = __webpack_require__(6568);
-      var _removePathPrefix = __webpack_require__(1068);
-      var _pathHasPrefix = __webpack_require__(2180);
+      var _normalizeLocalePath = __webpack_require__(3750);
+      var _removePathPrefix = __webpack_require__(5084);
+      var _pathHasPrefix = __webpack_require__(5249);
       function getNextPathnameInfo(pathname, options) {
         var _nextConfig;
         const { basePath, i18n, trailingSlash } =
@@ -1548,7 +1544,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 3444: /***/ (__unused_webpack_module, exports) => {
+    /***/ 7990: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1582,7 +1578,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 2180: /***/ (
+    /***/ 5249: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1593,7 +1589,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.pathHasPrefix = pathHasPrefix;
-      var _parsePath = __webpack_require__(3444);
+      var _parsePath = __webpack_require__(7990);
       function pathHasPrefix(path, prefix) {
         if (typeof path !== "string") {
           return false;
@@ -1605,7 +1601,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 1068: /***/ (
+    /***/ 5084: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -1616,7 +1612,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       });
       exports.removePathPrefix = removePathPrefix;
-      var _pathHasPrefix = __webpack_require__(2180);
+      var _pathHasPrefix = __webpack_require__(5249);
       function removePathPrefix(path, prefix) {
         if ((0, _pathHasPrefix).pathHasPrefix(path, prefix)) {
           const withoutPrefix = path.slice(prefix.length);
@@ -1630,7 +1626,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 4335: /***/ (__unused_webpack_module, exports) => {
+    /***/ 1127: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -1644,7 +1640,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 1948: /***/ module => {
+    /***/ 965: /***/ module => {
       var __dirname = "/";
       (() => {
         "use strict";
@@ -1772,7 +1768,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 3980: /***/ (module, exports, __webpack_require__) => {
+    /***/ 4803: /***/ (module, exports, __webpack_require__) => {
       var __dirname = "/";
       var __WEBPACK_AMD_DEFINE_RESULT__;
       (() => {
@@ -2614,7 +2610,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 3975: /***/ (__unused_webpack_module, exports) => {
+    /***/ 6140: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -2655,7 +2651,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 130: /***/ (
+    /***/ 7329: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -2665,10 +2661,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
-      var _detectDomainLocale = __webpack_require__(891);
-      var _formatNextPathnameInfo = __webpack_require__(3270);
-      var _getHostname = __webpack_require__(6520);
-      var _getNextPathnameInfo = __webpack_require__(9635);
+      var _detectDomainLocale = __webpack_require__(1137);
+      var _formatNextPathnameInfo = __webpack_require__(3621);
+      var _getHostname = __webpack_require__(6961);
+      var _getNextPathnameInfo = __webpack_require__(26);
       const REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|::1|localhost)/;
       function parseURL(url, base) {
         return new URL(
@@ -2888,7 +2884,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 3265: /***/ (
+    /***/ 1552: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -2898,7 +2894,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
-      var _cookie = _interopRequireDefault(__webpack_require__(1948));
+      var _cookie = _interopRequireDefault(__webpack_require__(965));
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -3033,7 +3029,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 3371: /***/ (
+    /***/ 6751: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -3045,10 +3041,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
         value: true
       };
       __webpack_unused_export__ = void 0;
-      var _nextUrl = __webpack_require__(130);
-      var _utils = __webpack_require__(1657);
-      var _error = __webpack_require__(3975);
-      var _cookies = __webpack_require__(3265);
+      var _nextUrl = __webpack_require__(7329);
+      var _utils = __webpack_require__(4867);
+      var _error = __webpack_require__(6140);
+      var _cookies = __webpack_require__(1552);
       const INTERNALS = Symbol("internal request");
       __webpack_unused_export__ = INTERNALS;
       class NextRequest extends Request {
@@ -3129,7 +3125,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 9062: /***/ (
+    /***/ 1244: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -3140,9 +3136,9 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       __webpack_unused_export__ = {
         value: true
       };
-      var _nextUrl = __webpack_require__(130);
-      var _utils = __webpack_require__(1657);
-      var _cookies = __webpack_require__(3265);
+      var _nextUrl = __webpack_require__(7329);
+      var _utils = __webpack_require__(4867);
+      var _cookies = __webpack_require__(1552);
       const INTERNALS = Symbol("internal response");
       const REDIRECTS = new Set([301, 302, 303, 307, 308]);
       class NextResponse extends Response {
@@ -3229,7 +3225,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 1264: /***/ (
+    /***/ 4112: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -3243,7 +3239,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       __webpack_unused_export__ = isBot;
       exports.Nf = userAgentFromString;
       exports.WE = userAgent;
-      var _uaParserJs = _interopRequireDefault(__webpack_require__(3980));
+      var _uaParserJs = _interopRequireDefault(__webpack_require__(4803));
       function _interopRequireDefault(obj) {
         return obj && obj.__esModule
           ? obj
@@ -3271,7 +3267,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 1657: /***/ (__unused_webpack_module, exports) => {
+    /***/ 4867: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -3386,14 +3382,14 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
       /***/
     },
 
-    /***/ 8646: /***/ (module, exports, __webpack_require__) => {
+    /***/ 253: /***/ (module, exports, __webpack_require__) => {
       const serverExports = {
-        NextRequest: __webpack_require__(3371) /* .NextRequest */.Im,
-        NextResponse: __webpack_require__(9062) /* .NextResponse */.x,
+        NextRequest: __webpack_require__(6751) /* .NextRequest */.Im,
+        NextResponse: __webpack_require__(1244) /* .NextResponse */.x,
         userAgentFromString: __webpack_require__(
-          1264
+          4112
         ) /* .userAgentFromString */.Nf,
-        userAgent: __webpack_require__(1264) /* .userAgent */.WE
+        userAgent: __webpack_require__(4112) /* .userAgent */.WE
       };
 
       if (typeof URLPattern !== "undefined") {
@@ -3419,7 +3415,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = moduleId =>
       __webpack_require__((__webpack_require__.s = moduleId));
-    /******/ var __webpack_exports__ = __webpack_exec__(8086);
+    /******/ var __webpack_exports__ = __webpack_exec__(7462);
     /******/ (_ENTRIES =
       typeof _ENTRIES === "undefined"
         ? {}
Diff for edge-ssr.js

Diff too large to display

Diff for _buildManifest.js
@@ -1,28 +1,28 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-746ac9e3d25e44a4.js"],
-  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-77faf523f7dc719f.js"],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-9e5352b684d2ed0f.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-d039610ac387a1a2.js"],
+  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-b39849bd87f6201c.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-9395ec0994a9d6eb.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-3f3e170b3bf29c18.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-65046627751ecd7d.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-b4449f2879ec0efe.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-0bbb313a0644b75b.js"
   ],
   "/edge-ssr": [
-    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-38f386d5a51ee83c.js"
+    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-3261abe9cc912fa4.js"
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-96e64072010e4e97.js"],
-  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-d1c3dc414f5eeb9a.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-c2d84cb60c9aad35.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-11c814a0e6303d67.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-03dd547cb323849b.js"],
+  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-6d612745af40d0fe.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-a18030ccbb087bbf.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-81ce020cc5b6752c.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-358458462c238364.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-cd0646efd49ce01d.js"
   ],
-  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-5f95a396ae1fb6fc.js"],
+  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-ec7b76720d9c92ac.js"],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-ba18dc4ef8c7ff0b.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-d14a70d9cefd1930.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [888],
   {
-    /***/ 8351: /***/ function(
+    /***/ 7006: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_app",
         function() {
-          return __webpack_require__(9836);
+          return __webpack_require__(2728);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [179], function() {
-      return __webpack_exec__(8351), __webpack_exec__(975);
+      return __webpack_exec__(7006), __webpack_exec__(7523);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for _error-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [820],
   {
-    /***/ 9548: /***/ function(
+    /***/ 3020: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_error",
         function() {
-          return __webpack_require__(9586);
+          return __webpack_require__(28);
         }
       ]);
       if (false) {
@@ -24,7 +24,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(9548);
+      return __webpack_exec__(3020);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for amp-HASH.js
@@ -1,17 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [216],
   {
-    /***/ 3485: /***/ function(
+    /***/ 7481: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4061);
+      module.exports = __webpack_require__(6286);
 
       /***/
     },
 
-    /***/ 6530: /***/ function(
+    /***/ 2880: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -19,7 +19,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/amp",
         function() {
-          return __webpack_require__(1790);
+          return __webpack_require__(2331);
         }
       ]);
       if (false) {
@@ -28,7 +28,7 @@
       /***/
     },
 
-    /***/ 4061: /***/ function(module, exports, __webpack_require__) {
+    /***/ 6286: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -37,9 +37,9 @@
       exports.useAmp = useAmp;
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(9453));
-      var _ampContext = __webpack_require__(4075);
-      var _ampMode = __webpack_require__(3298);
+      var _react = _interop_require_default(__webpack_require__(1058));
+      var _ampContext = __webpack_require__(3494);
+      var _ampMode = __webpack_require__(1422);
       function useAmp() {
         // Don't assign the context value to a variable to save bytes
         return (0, _ampMode).isInAmpMode(
@@ -61,7 +61,7 @@
       /***/
     },
 
-    /***/ 1790: /***/ function(
+    /***/ 2331: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -78,13 +78,13 @@
         /* harmony export */
       });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        3485
+        7481
       );
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         next_amp__WEBPACK_IMPORTED_MODULE_0__
       );
 
-      var config = {
+      const config = {
         amp: "hybrid"
       };
       function Amp(props) {
@@ -102,7 +102,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(6530);
+      return __webpack_exec__(2880);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for css-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [706],
   {
-    /***/ 631: /***/ function(
+    /***/ 1737: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function() {
-          return __webpack_require__(51);
+          return __webpack_require__(7649);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 51: /***/ function(
+    /***/ 7649: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -26,36 +26,37 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        690
+        1761
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        3636
+        2551
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         _css_module_css__WEBPACK_IMPORTED_MODULE_1__
       );
 
-      var Page = function() {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
-          className: _css_module_css__WEBPACK_IMPORTED_MODULE_1___default()
-            .helloWorld,
-          children: "Hello world \uD83D\uDC4B"
-        });
-      };
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+          "div",
+          {
+            className: _css_module_css__WEBPACK_IMPORTED_MODULE_1___default()
+              .helloWorld,
+            children: "Hello world \uD83D\uDC4B"
+          }
+        );
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
     },
 
-    /***/ 3636: /***/ function(module) {
+    /***/ 2551: /***/ function(module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__qqNwY" };
 
       /***/
     },
 
-    /***/ 3561: /***/ function(
+    /***/ 6052: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -70,7 +71,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      var f = __webpack_require__(9453),
+      var f = __webpack_require__(1058),
         k = Symbol.for("react.element"),
         l = Symbol.for("react.fragment"),
         m = Object.prototype.hasOwnProperty,
@@ -105,7 +106,7 @@
       /***/
     },
 
-    /***/ 690: /***/ function(
+    /***/ 1761: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
@@ -113,7 +114,7 @@
       "use strict";
 
       if (true) {
-        module.exports = __webpack_require__(3561);
+        module.exports = __webpack_require__(6052);
       } else {
       }
 
@@ -126,7 +127,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(631);
+      return __webpack_exec__(1737);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [739],
   {
-    /***/ 8963: /***/ function(
+    /***/ 9051: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function() {
-          return __webpack_require__(9318);
+          return __webpack_require__(1698);
         }
       ]);
       if (false) {
@@ -18,13 +18,9 @@
       /***/
     },
 
-    /***/ 2024: /***/ function(module, exports, __webpack_require__) {
+    /***/ 14: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      var _instanceof = __webpack_require__(1470) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -33,20 +29,18 @@
       var _extends = __webpack_require__(5506) /* ["default"] */.Z;
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(9453));
-      var _loadable = _interop_require_default(__webpack_require__(2990));
+      var _react = _interop_require_default(__webpack_require__(1058));
+      var _loadable = _interop_require_default(__webpack_require__(1038));
       function dynamic(dynamicOptions, options) {
-        var loadableFn = _loadable.default;
-        var loadableOptions = (options == null
+        let loadableFn = _loadable.default;
+        let loadableOptions = (options == null
         ? void 0
         : options.suspense)
           ? {}
           : {
               // A loading component is not required, so we default it
-              loading: function(param) {
-                var error = param.error,
-                  isLoading = param.isLoading,
-                  pastDelay = param.pastDelay;
+              loading: param => {
+                let { error, isLoading, pastDelay } = param;
                 if (!pastDelay) return null;
                 if (false) {
                 }
@@ -57,10 +51,8 @@
         // Note that this is only kept for the edge case where someone is passing in a promise as first argument
         // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))
         // To make sure we don't execute the import without rendering first
-        if (_instanceof(dynamicOptions, Promise)) {
-          loadableOptions.loader = function() {
-            return dynamicOptions;
-          };
+        if (dynamicOptions instanceof Promise) {
+          loadableOptions.loader = () => dynamicOptions;
           // Support for having import as a function, eg: dynamic(() => import('../hello-world'))
         } else if (typeof dynamicOptions === "function") {
           loadableOptions.loader = dynamicOptions;
@@ -102,7 +94,7 @@
         }
         return loadableFn(loadableOptions);
       }
-      var isServerSide = "object" === "undefined";
+      const isServerSide = "object" === "undefined";
       function noSSR(LoadableInitializer, loadableOptions) {
         // Removing webpack and modules means react-loadable won't try preloading
         delete loadableOptions.webpack;
@@ -111,16 +103,15 @@
         if (!isServerSide) {
           return LoadableInitializer(loadableOptions);
         }
-        var Loading = loadableOptions.loading;
+        const Loading = loadableOptions.loading;
         // This will only be rendered on the server side
-        return function() {
-          return /*#__PURE__*/ _react.default.createElement(Loading, {
+        return () =>
+          /*#__PURE__*/ _react.default.createElement(Loading, {
             error: null,
             isLoading: true,
             pastDelay: false,
             timedOut: false
           });
-        };
       }
       if (
         (typeof exports.default === "function" ||
@@ -137,7 +128,7 @@
       /***/
     },
 
-    /***/ 135: /***/ function(
+    /***/ 5401: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -150,8 +141,8 @@
       exports.LoadableContext = void 0;
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(9453));
-      var LoadableContext = _react.default.createContext(null);
+      var _react = _interop_require_default(__webpack_require__(1058));
+      const LoadableContext = _react.default.createContext(null);
       exports.LoadableContext = LoadableContext;
       if (false) {
       } //# sourceMappingURL=loadable-context.js.map
@@ -159,18 +150,13 @@
       /***/
     },
 
-    /***/ 2990: /***/ function(
+    /***/ 1038: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
     ) {
       "use strict";
 
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      var _classCallCheck = __webpack_require__(1358) /* ["default"] */.Z;
-      var _createClass = __webpack_require__(6993) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -178,27 +164,26 @@
       var _extends = __webpack_require__(5506) /* ["default"] */.Z;
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(9453));
-      var _loadableContext = __webpack_require__(135);
-      var useSyncExternalStore = (true ? __webpack_require__(9453) : 0)
-        .useSyncExternalStore;
-      var ALL_INITIALIZERS = [];
-      var READY_INITIALIZERS = [];
-      var initialized = false;
+      var _react = _interop_require_default(__webpack_require__(1058));
+      var _loadableContext = __webpack_require__(5401);
+      const { useSyncExternalStore } = true ? __webpack_require__(1058) : 0;
+      const ALL_INITIALIZERS = [];
+      const READY_INITIALIZERS = [];
+      let initialized = false;
       function load(loader) {
-        var promise = loader();
-        var state = {
+        let promise = loader();
+        let state = {
           loading: true,
           loaded: null,
           error: null
         };
         state.promise = promise
-          .then(function(loaded) {
+          .then(loaded => {
             state.loading = false;
             state.loaded = loaded;
             return loaded;
           })
-          .catch(function(err) {
+          .catch(err => {
             state.loading = false;
             state.error = err;
             throw err;
@@ -209,9 +194,25 @@
         return obj && obj.__esModule ? obj.default : obj;
       }
       function createLoadableComponent(loadFn, options) {
-        var init = function init() {
+        let opts = Object.assign(
+          {
+            loader: null,
+            loading: null,
+            delay: 200,
+            timeout: null,
+            webpack: null,
+            modules: null,
+            suspense: false
+          },
+          options
+        );
+        if (opts.suspense) {
+          opts.lazy = _react.default.lazy(opts.loader);
+        }
+        /** @type LoadableSubscription */ let subscription = null;
+        function init() {
           if (!subscription) {
-            var sub = new LoadableSubscription(loadFn, opts);
+            const sub = new LoadableSubscription(loadFn, opts);
             subscription = {
               getCurrentValue: sub.getCurrentValue.bind(sub),
               subscribe: sub.subscribe.bind(sub),
@@ -220,135 +221,152 @@
             };
           }
           return subscription.promise();
-        };
-        var useLoadableModule = function useLoadableModule() {
+        }
+        // Server only
+        if (false) {
+        }
+        // Client only
+        if (!initialized && "object" !== "undefined") {
+          // require.resolveWeak check is needed for environments that don't have it available like Jest
+          const moduleIds =
+            opts.webpack && "function" === "function"
+              ? opts.webpack()
+              : opts.modules;
+          if (moduleIds) {
+            READY_INITIALIZERS.push(ids => {
+              for (const moduleId of moduleIds) {
+                if (ids.indexOf(moduleId) !== -1) {
+                  return init();
+                }
+              }
+            });
+          }
+        }
+        function useLoadableModule() {
           init();
-          var context = _react.default.useContext(
+          const context = _react.default.useContext(
             _loadableContext.LoadableContext
           );
           if (context && Array.isArray(opts.modules)) {
-            opts.modules.forEach(function(moduleName) {
+            opts.modules.forEach(moduleName => {
               context(moduleName);
             });
           }
-        };
-        var LoadableImpl = function LoadableImpl(props, ref) {
+        }
+        function LoadableImpl(props, ref) {
           useLoadableModule();
-          var state = useSyncExternalStore(
+          const state = useSyncExternalStore(
             subscription.subscribe,
             subscription.getCurrentValue,
             subscription.getCurrentValue
           );
           _react.default.useImperativeHandle(
             ref,
-            function() {
-              return {
-                retry: subscription.retry
-              };
-            },
+            () => ({
+              retry: subscription.retry
+            }),
             []
           );
-          return _react.default.useMemo(
-            function() {
-              if (state.loading || state.error) {
-                return _react.default.createElement(opts.loading, {
-                  isLoading: state.loading,
-                  pastDelay: state.pastDelay,
-                  timedOut: state.timedOut,
-                  error: state.error,
-                  retry: subscription.retry
-                });
-              } else if (state.loaded) {
-                return _react.default.createElement(
-                  resolve(state.loaded),
-                  props
-                );
-              } else {
-                return null;
-              }
-            },
-            [props, state]
-          );
-        };
-        var LazyImpl = function LazyImpl(props, ref) {
+          return _react.default.useMemo(() => {
+            if (state.loading || state.error) {
+              return _react.default.createElement(opts.loading, {
+                isLoading: state.loading,
+                pastDelay: state.pastDelay,
+                timedOut: state.timedOut,
+                error: state.error,
+                retry: subscription.retry
+              });
+            } else if (state.loaded) {
+              return _react.default.createElement(resolve(state.loaded), props);
+            } else {
+              return null;
+            }
+          }, [props, state]);
+        }
+        function LazyImpl(props, ref) {
           useLoadableModule();
           return _react.default.createElement(
             opts.lazy,
             _extends({}, props, {
-              ref: ref
+              ref
             })
           );
-        };
-        var opts = Object.assign(
-          {
-            loader: null,
-            loading: null,
-            delay: 200,
-            timeout: null,
-            webpack: null,
-            modules: null,
-            suspense: false
-          },
-          options
-        );
-        if (opts.suspense) {
-          opts.lazy = _react.default.lazy(opts.loader);
         }
-        /** @type LoadableSubscription */ var subscription = null;
-        // Server only
-        if (false) {
+        const LoadableComponent = opts.suspense ? LazyImpl : LoadableImpl;
+        LoadableComponent.preload = () => init();
+        LoadableComponent.displayName = "LoadableComponent";
+        return _react.default.forwardRef(LoadableComponent);
+      }
+      class LoadableSubscription {
+        promise() {
+          return this._res.promise;
         }
-        // Client only
-        if (!initialized && "object" !== "undefined") {
-          // require.resolveWeak check is needed for environments that don't have it available like Jest
-          var moduleIds =
-            opts.webpack && "function" === "function"
-              ? opts.webpack()
-              : opts.modules;
-          if (moduleIds) {
-            READY_INITIALIZERS.push(function(ids) {
-              var _iteratorNormalCompletion = true,
-                _didIteratorError = false,
-                _iteratorError = undefined;
-              try {
-                for (
-                  var _iterator = moduleIds[Symbol.iterator](), _step;
-                  !(_iteratorNormalCompletion = (_step = _iterator.next())
-                    .done);
-                  _iteratorNormalCompletion = true
-                ) {
-                  var moduleId = _step.value;
-                  if (ids.indexOf(moduleId) !== -1) {
-                    return init();
-                  }
-                }
-              } catch (err) {
-                _didIteratorError = true;
-                _iteratorError = err;
-              } finally {
-                try {
-                  if (!_iteratorNormalCompletion && _iterator.return != null) {
-                    _iterator.return();
-                  }
-                } finally {
-                  if (_didIteratorError) {
-                    throw _iteratorError;
-                  }
-                }
+        retry() {
+          this._clearTimeouts();
+          this._res = this._loadFn(this._opts.loader);
+          this._state = {
+            pastDelay: false,
+            timedOut: false
+          };
+          const { _res: res, _opts: opts } = this;
+          if (res.loading) {
+            if (typeof opts.delay === "number") {
+              if (opts.delay === 0) {
+                this._state.pastDelay = true;
+              } else {
+                this._delay = setTimeout(() => {
+                  this._update({
+                    pastDelay: true
+                  });
+                }, opts.delay);
               }
-            });
+            }
+            if (typeof opts.timeout === "number") {
+              this._timeout = setTimeout(() => {
+                this._update({
+                  timedOut: true
+                });
+              }, opts.timeout);
+            }
           }
+          this._res.promise
+            .then(() => {
+              this._update({});
+              this._clearTimeouts();
+            })
+            .catch(_err => {
+              this._update({});
+              this._clearTimeouts();
+            });
+          this._update({});
         }
-        var LoadableComponent = opts.suspense ? LazyImpl : LoadableImpl;
-        LoadableComponent.preload = function() {
-          return init();
-        };
-        LoadableComponent.displayName = "LoadableComponent";
-        return _react.default.forwardRef(LoadableComponent);
-      }
-      var LoadableSubscription = /*#__PURE__*/ (function() {
-        function LoadableSubscription(loadFn, opts) {
-          _classCallCheck(this, LoadableSubscription);
+        _update(partial) {
+          this._state = _extends(
+            {},
+            this._state,
+            {
+              error: this._res.error,
+              loaded: this._res.loaded,
+              loading: this._res.loading
+            },
+            partial
+          );
+          this._callbacks.forEach(callback => callback());
+        }
+        _clearTimeouts() {
+          clearTimeout(this._delay);
+          clearTimeout(this._timeout);
+        }
+        getCurrentValue() {
+          return this._state;
+        }
+        subscribe(callback) {
+          this._callbacks.add(callback);
+          return () => {
+            this._callbacks.delete(callback);
+          };
+        }
+        constructor(loadFn, opts) {
           this._loadFn = loadFn;
           this._opts = opts;
           this._callbacks = new Set();
@@ -356,127 +374,32 @@
           this._timeout = null;
           this.retry();
         }
-        _createClass(LoadableSubscription, [
-          {
-            key: "promise",
-            value: function promise() {
-              return this._res.promise;
-            }
-          },
-          {
-            key: "retry",
-            value: function retry() {
-              var _this = this;
-              this._clearTimeouts();
-              this._res = this._loadFn(this._opts.loader);
-              this._state = {
-                pastDelay: false,
-                timedOut: false
-              };
-              var ref = this,
-                res = ref._res,
-                opts = ref._opts;
-              if (res.loading) {
-                if (typeof opts.delay === "number") {
-                  if (opts.delay === 0) {
-                    this._state.pastDelay = true;
-                  } else {
-                    this._delay = setTimeout(function() {
-                      _this._update({
-                        pastDelay: true
-                      });
-                    }, opts.delay);
-                  }
-                }
-                if (typeof opts.timeout === "number") {
-                  this._timeout = setTimeout(function() {
-                    _this._update({
-                      timedOut: true
-                    });
-                  }, opts.timeout);
-                }
-              }
-              this._res.promise
-                .then(function() {
-                  _this._update({});
-                  _this._clearTimeouts();
-                })
-                .catch(function(_err) {
-                  _this._update({});
-                  _this._clearTimeouts();
-                });
-              this._update({});
-            }
-          },
-          {
-            key: "_update",
-            value: function _update(partial) {
-              this._state = _extends(
-                {},
-                this._state,
-                {
-                  error: this._res.error,
-                  loaded: this._res.loaded,
-                  loading: this._res.loading
-                },
-                partial
-              );
-              this._callbacks.forEach(function(callback) {
-                return callback();
-              });
-            }
-          },
-          {
-            key: "_clearTimeouts",
-            value: function _clearTimeouts() {
-              clearTimeout(this._delay);
-              clearTimeout(this._timeout);
-            }
-          },
-          {
-            key: "getCurrentValue",
-            value: function getCurrentValue() {
-              return this._state;
-            }
-          },
-          {
-            key: "subscribe",
-            value: function subscribe(callback) {
-              var _this = this;
-              this._callbacks.add(callback);
-              return function() {
-                _this._callbacks.delete(callback);
-              };
-            }
-          }
-        ]);
-        return LoadableSubscription;
-      })();
+      }
       function Loadable(opts) {
         return createLoadableComponent(load, opts);
       }
       function flushInitializers(initializers, ids) {
-        var promises = [];
+        let promises = [];
         while (initializers.length) {
-          var init = initializers.pop();
+          let init = initializers.pop();
           promises.push(init(ids));
         }
-        return Promise.all(promises).then(function() {
+        return Promise.all(promises).then(() => {
           if (initializers.length) {
             return flushInitializers(initializers, ids);
           }
         });
       }
-      Loadable.preloadAll = function() {
-        return new Promise(function(resolveInitializers, reject) {
+      Loadable.preloadAll = () => {
+        return new Promise((resolveInitializers, reject) => {
           flushInitializers(ALL_INITIALIZERS).then(resolveInitializers, reject);
         });
       };
       Loadable.preloadReady = function() {
-        var ids =
+        let ids =
           arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
-        return new Promise(function(resolvePreload) {
-          var res = function() {
+        return new Promise(resolvePreload => {
+          const res = () => {
             initialized = true;
             return resolvePreload();
           };
@@ -493,7 +416,7 @@
       /***/
     },
 
-    /***/ 9318: /***/ function(
+    /***/ 1698: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -507,32 +430,28 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        690
+        1761
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        6706
+        9477
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_dynamic__WEBPACK_IMPORTED_MODULE_1__
       );
 
-      var DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
-        function() {
-          return __webpack_require__
-            .e(/* import() */ 328)
-            .then(__webpack_require__.bind(__webpack_require__, 328));
-        },
+      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+        () =>
+          __webpack_require__
+            .e(/* import() */ 258)
+            .then(__webpack_require__.bind(__webpack_require__, 3258)),
         {
           loadableGenerated: {
-            webpack: function() {
-              return [/*require.resolve*/ 328];
-            }
+            webpack: () => [/*require.resolve*/ 3258]
           }
         }
       );
-      var Page = function() {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
           react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
           {
             children: [
@@ -548,14 +467,13 @@
             ]
           }
         );
-      };
       var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
     },
 
-    /***/ 3561: /***/ function(
+    /***/ 6052: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -570,7 +488,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      var f = __webpack_require__(9453),
+      var f = __webpack_require__(1058),
         k = Symbol.for("react.element"),
         l = Symbol.for("react.fragment"),
         m = Object.prototype.hasOwnProperty,
@@ -605,7 +523,7 @@
       /***/
     },
 
-    /***/ 690: /***/ function(
+    /***/ 1761: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
@@ -613,19 +531,19 @@
       "use strict";
 
       if (true) {
-        module.exports = __webpack_require__(3561);
+        module.exports = __webpack_require__(6052);
       } else {
       }
 
       /***/
     },
 
-    /***/ 6706: /***/ function(
+    /***/ 9477: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(2024);
+      module.exports = __webpack_require__(14);
 
       /***/
     }
@@ -636,7 +554,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(8963);
+      return __webpack_exec__(9051);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [800],
   {
-    /***/ 529: /***/ function(
+    /***/ 3839: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/edge-ssr",
         function() {
-          return __webpack_require__(258);
+          return __webpack_require__(6726);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 258: /***/ function(
+    /***/ 6726: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -37,7 +37,7 @@
       function page() {
         return "edge-ssr";
       }
-      var config = {
+      const config = {
         runtime: "experimental-edge"
       };
 
@@ -50,7 +50,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(529);
+      return __webpack_exec__(3839);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [645],
   {
-    /***/ 8780: /***/ function(
+    /***/ 2116: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/head",
         function() {
-          return __webpack_require__(5835);
+          return __webpack_require__(8231);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5835: /***/ function(
+    /***/ 8231: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -32,18 +32,17 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        690
+        1761
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        8722
+        8631
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_head__WEBPACK_IMPORTED_MODULE_1__
       );
 
-      var Page = function() {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
           react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
           {
             children: [
@@ -64,14 +63,13 @@
             ]
           }
         );
-      };
       var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
     },
 
-    /***/ 3561: /***/ function(
+    /***/ 6052: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -86,7 +84,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      var f = __webpack_require__(9453),
+      var f = __webpack_require__(1058),
         k = Symbol.for("react.element"),
         l = Symbol.for("react.fragment"),
         m = Object.prototype.hasOwnProperty,
@@ -121,7 +119,7 @@
       /***/
     },
 
-    /***/ 690: /***/ function(
+    /***/ 1761: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
@@ -129,19 +127,19 @@
       "use strict";
 
       if (true) {
-        module.exports = __webpack_require__(3561);
+        module.exports = __webpack_require__(6052);
       } else {
       }
 
       /***/
     },
 
-    /***/ 8722: /***/ function(
+    /***/ 8631: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(1519);
+      module.exports = __webpack_require__(3488);
 
       /***/
     }
@@ -152,7 +150,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(8780);
+      return __webpack_exec__(2116);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [757],
   {
-    /***/ 4076: /***/ function(
+    /***/ 1042: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/hooks",
         function() {
-          return __webpack_require__(6029);
+          return __webpack_require__(7568);
         }
       ]);
       if (false) {
@@ -18,115 +18,66 @@
       /***/
     },
 
-    /***/ 6029: /***/ function(
+    /***/ 7568: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
-      // ESM COMPAT FLAG
       __webpack_require__.r(__webpack_exports__);
-
-      // EXPORTS
-      __webpack_require__.d(__webpack_exports__, {
-        default: function() {
-          return /* binding */ hooks;
-        }
-      }); // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_array_with_holes.mjs
-
-      function _arrayWithHoles(arr) {
-        if (Array.isArray(arr)) return arr;
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_iterable_to_array.mjs
-
-      function _iterableToArray(iter) {
-        if (
-          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
-          iter["@@iterator"] != null
-        )
-          return Array.from(iter);
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_non_iterable_rest.mjs
-
-      function _nonIterableRest() {
-        throw new TypeError(
-          "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
-        );
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_array_like_to_array.mjs
-
-      function _arrayLikeToArray(arr, len) {
-        if (len == null || len > arr.length) len = arr.length;
-        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-        return arr2;
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs
-
-      function _unsupportedIterableToArray(o, minLen) {
-        if (!o) return;
-        if (typeof o === "string") return _arrayLikeToArray(o, minLen);
-        var n = Object.prototype.toString.call(o).slice(8, -1);
-        if (n === "Object" && o.constructor) n = o.constructor.name;
-        if (n === "Map" || n === "Set") return Array.from(n);
-        if (
-          n === "Arguments" ||
-          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-        )
-          return _arrayLikeToArray(o, minLen);
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_sliced_to_array.mjs
-
-      function _slicedToArray(arr, i) {
-        return (
-          _arrayWithHoles(arr) ||
-          _iterableToArray(arr, i) ||
-          _unsupportedIterableToArray(arr, i) ||
-          _nonIterableRest()
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
+        1761
+      );
+      /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
+        1058
+      );
+
+      /* harmony default export */ __webpack_exports__["default"] = () => {
+        const [
+          clicks1,
+          setClicks1
+        ] = react__WEBPACK_IMPORTED_MODULE_1__.useState(0);
+        const [clicks2, setClicks2] = (0,
+        react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);
+        const doClick1 = react__WEBPACK_IMPORTED_MODULE_1__.useCallback(() => {
+          setClicks1(clicks1 + 1);
+        }, [clicks1]);
+        const doClick2 = (0,
+        react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => {
+          setClicks2(clicks2 + 1);
+        }, [clicks2]);
+        return /*#__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__.jsxs)("h3", {
+                children: ["Clicks ", clicks1]
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
+                onClick: doClick1,
+                children: "Click me"
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h3", {
+                children: ["Clicks ", clicks2]
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
+                onClick: doClick2,
+                children: "Click me"
+              })
+            ]
+          }
         );
-      }
-
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/compiled/react/jsx-runtime.js
-      var jsx_runtime = __webpack_require__(690);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/compiled/react/index.js
-      var react = __webpack_require__(9453); // CONCATENATED MODULE: ./pages/hooks.js
-      /* harmony default export */ function hooks() {
-        var ref = _slicedToArray(react.useState(0), 2),
-          clicks1 = ref[0],
-          setClicks1 = ref[1];
-        var ref1 = _slicedToArray((0, react.useState)(0), 2),
-          clicks2 = ref1[0],
-          setClicks2 = ref1[1];
-        var doClick1 = react.useCallback(
-          function() {
-            setClicks1(clicks1 + 1);
-          },
-          [clicks1]
-        );
-        var doClick2 = (0, react.useCallback)(
-          function() {
-            setClicks2(clicks2 + 1);
-          },
-          [clicks2]
-        );
-        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
-          children: [
-            /*#__PURE__*/ (0, jsx_runtime.jsxs)("h3", {
-              children: ["Clicks ", clicks1]
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)("button", {
-              onClick: doClick1,
-              children: "Click me"
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsxs)("h3", {
-              children: ["Clicks ", clicks2]
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)("button", {
-              onClick: doClick2,
-              children: "Click me"
-            })
-          ]
-        });
-      }
+      };
 
       /***/
     },
 
-    /***/ 3561: /***/ function(
+    /***/ 6052: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -141,7 +92,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      var f = __webpack_require__(9453),
+      var f = __webpack_require__(1058),
         k = Symbol.for("react.element"),
         l = Symbol.for("react.fragment"),
         m = Object.prototype.hasOwnProperty,
@@ -176,7 +127,7 @@
       /***/
     },
 
-    /***/ 690: /***/ function(
+    /***/ 1761: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
@@ -184,7 +135,7 @@
       "use strict";
 
       if (true) {
-        module.exports = __webpack_require__(3561);
+        module.exports = __webpack_require__(6052);
       } else {
       }
 
@@ -197,7 +148,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(4076);
+      return __webpack_exec__(1042);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,32 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [358],
   {
-    /***/ 3642: /***/ function(__unused_webpack_module, exports) {
-      "use strict";
-      var __webpack_unused_export__;
-
-      __webpack_unused_export__ = {
-        value: true
-      };
-      exports.Z = _defineProperty;
-      function _defineProperty(obj, key, value) {
-        if (key in obj) {
-          Object.defineProperty(obj, key, {
-            value: value,
-            enumerable: true,
-            configurable: true,
-            writable: true
-          });
-        } else {
-          obj[key] = value;
-        }
-        return obj;
-      }
-
-      /***/
-    },
-
-    /***/ 7735: /***/ function(
+    /***/ 7865: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -34,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function() {
-          return __webpack_require__(3281);
+          return __webpack_require__(8710);
         }
       ]);
       if (false) {
@@ -43,15 +18,9 @@
       /***/
     },
 
-    /***/ 9258: /***/ function(module, exports, __webpack_require__) {
+    /***/ 4558: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      var _defineProperty = __webpack_require__(3642) /* ["default"] */.Z;
-      var _slicedToArray = __webpack_require__(553) /* ["default"] */.Z;
-      var _toConsumableArray = __webpack_require__(867) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -65,31 +34,30 @@
       var _object_without_properties_loose = __webpack_require__(
         5997
       ) /* ["default"] */.Z;
-      var _react = _interop_require_wildcard(__webpack_require__(9453));
-      var _head = _interop_require_default(__webpack_require__(1519));
-      var _imageBlurSvg = __webpack_require__(1356);
-      var _imageConfig = __webpack_require__(2953);
-      var _imageConfigContext = __webpack_require__(8169);
-      var _utils = __webpack_require__(4917);
+      var _react = _interop_require_wildcard(__webpack_require__(1058));
+      var _head = _interop_require_default(__webpack_require__(3488));
+      var _imageBlurSvg = __webpack_require__(746);
+      var _imageConfig = __webpack_require__(1374);
+      var _imageConfigContext = __webpack_require__(3811);
+      var _utils = __webpack_require__(9814);
       function Image(_param) {
-        var src = _param.src,
-          sizes = _param.sizes,
-          _unoptimized = _param.unoptimized,
-          unoptimized = _unoptimized === void 0 ? false : _unoptimized,
-          _priority = _param.priority,
-          priority = _priority === void 0 ? false : _priority,
-          loading = _param.loading,
-          className = _param.className,
-          quality = _param.quality,
-          width = _param.width,
-          height = _param.height,
-          fill = _param.fill,
-          style = _param.style,
-          onLoad = _param.onLoad,
-          onLoadingComplete = _param.onLoadingComplete,
-          _placeholder = _param.placeholder,
-          placeholder = _placeholder === void 0 ? "empty" : _placeholder,
-          blurDataURL = _param.blurDataURL,
+        var {
+            src,
+            sizes,
+            unoptimized = false,
+            priority = false,
+            loading,
+            className,
+            quality,
+            width,
+            height,
+            fill,
+            style,
+            onLoad,
+            onLoadingComplete,
+            placeholder = "empty",
+            blurDataURL
+          } = _param,
           all = _object_without_properties_loose(_param, [
             "src",
             "sizes",
@@ -107,36 +75,29 @@
             "placeholder",
             "blurDataURL"
           ]);
-        var configContext = (0, _react).useContext(
+        const configContext = (0, _react).useContext(
           _imageConfigContext.ImageConfigContext
         );
-        var config = (0, _react).useMemo(
-          function() {
-            var c =
-              configEnv || configContext || _imageConfig.imageConfigDefault;
-            var allSizes = _toConsumableArray(c.deviceSizes)
-              .concat(_toConsumableArray(c.imageSizes))
-              .sort(function(a, b) {
-                return a - b;
-              });
-            var deviceSizes = c.deviceSizes.sort(function(a, b) {
-              return a - b;
-            });
-            return _extends({}, c, {
-              allSizes: allSizes,
-              deviceSizes: deviceSizes
-            });
-          },
-          [configContext]
-        );
-        var rest = all;
-        var loader = defaultLoader;
+        const config = (0, _react).useMemo(() => {
+          const c =
+            configEnv || configContext || _imageConfig.imageConfigDefault;
+          const allSizes = [...c.deviceSizes, ...c.imageSizes].sort(
+            (a, b) => a - b
+          );
+          const deviceSizes = c.deviceSizes.sort((a, b) => a - b);
+          return _extends({}, c, {
+            allSizes,
+            deviceSizes
+          });
+        }, [configContext]);
+        let rest = all;
+        let loader = defaultLoader;
         if ("loader" in rest) {
           if (rest.loader) {
-            var customImageLoader = rest.loader;
+            const customImageLoader = rest.loader;
             var _tmp;
-            (_tmp = function(obj) {
-              var _ = obj.config,
+            (_tmp = obj => {
+              const { config: _ } = obj,
                 opts = _object_without_properties_loose(obj, ["config"]);
               // The config object is internal only so we must
               // not pass it to the user-defined loader()
@@ -148,13 +109,13 @@
           // Remove property so it's not spread on <img>
           delete rest.loader;
         }
-        var staticSrc = "";
-        var widthInt = getInt(width);
-        var heightInt = getInt(height);
-        var blurWidth;
-        var blurHeight;
+        let staticSrc = "";
+        let widthInt = getInt(width);
+        let heightInt = getInt(height);
+        let blurWidth;
+        let blurHeight;
         if (isStaticImport(src)) {
-          var staticImageData = isStaticRequire(src) ? src.default : src;
+          const staticImageData = isStaticRequire(src) ? src.default : src;
           if (!staticImageData.src) {
             throw new Error(
               "An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ".concat(
@@ -178,16 +139,16 @@
               widthInt = staticImageData.width;
               heightInt = staticImageData.height;
             } else if (widthInt && !heightInt) {
-              var ratio = widthInt / staticImageData.width;
+              const ratio = widthInt / staticImageData.width;
               heightInt = Math.round(staticImageData.height * ratio);
             } else if (!widthInt && heightInt) {
-              var ratio1 = heightInt / staticImageData.height;
+              const ratio1 = heightInt / staticImageData.height;
               widthInt = Math.round(staticImageData.width * ratio1);
             }
           }
         }
         src = typeof src === "string" ? src : staticSrc;
-        var isLazy =
+        let isLazy =
           !priority && (loading === "lazy" || typeof loading === "undefined");
         if (src.startsWith("data:") || src.startsWith("blob:")) {
           // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
@@ -197,17 +158,12 @@
         if (config.unoptimized) {
           unoptimized = true;
         }
-        var ref = _slicedToArray((0, _react).useState(false), 2),
-          blurComplete = ref[0],
-          setBlurComplete = ref[1];
-        var ref1 = _slicedToArray((0, _react).useState(false), 2),
-          showAltText = ref1[0],
-          setShowAltText = ref1[1];
-        var qualityInt = getInt(quality);
+        const [blurComplete, setBlurComplete] = (0, _react).useState(false);
+        const [showAltText, setShowAltText] = (0, _react).useState(false);
+        const qualityInt = getInt(quality);
         if (false) {
-          var url, urlStr, VALID_BLUR_EXT;
         }
-        var imgStyle = Object.assign(
+        const imgStyle = Object.assign(
           fill
             ? {
                 position: "absolute",
@@ -226,7 +182,7 @@
               },
           style
         );
-        var blurStyle =
+        const blurStyle =
           placeholder === "blur" && blurDataURL && !blurComplete
             ? {
                 backgroundSize: imgStyle.objectFit || "cover",
@@ -234,11 +190,11 @@
                 backgroundRepeat: "no-repeat",
                 backgroundImage: 'url("data:image/svg+xml;charset=utf-8,'.concat(
                   (0, _imageBlurSvg).getImageBlurSvg({
-                    widthInt: widthInt,
-                    heightInt: heightInt,
-                    blurWidth: blurWidth,
-                    blurHeight: blurHeight,
-                    blurDataURL: blurDataURL
+                    widthInt,
+                    heightInt,
+                    blurWidth,
+                    blurHeight,
+                    blurDataURL
                   }),
                   '")'
                 )
@@ -246,67 +202,59 @@
             : {};
         if (false) {
         }
-        var imgAttributes = generateImgAttrs({
-          config: config,
-          src: src,
-          unoptimized: unoptimized,
+        const imgAttributes = generateImgAttrs({
+          config,
+          src,
+          unoptimized,
           width: widthInt,
           quality: qualityInt,
-          sizes: sizes,
-          loader: loader
+          sizes,
+          loader
         });
-        var srcString = src;
+        let srcString = src;
         if (false) {
-          var fullUrl;
         }
-        var imageSrcSetPropName = "imagesrcset";
-        var imageSizesPropName = "imagesizes";
+        let imageSrcSetPropName = "imagesrcset";
+        let imageSizesPropName = "imagesizes";
         if (true) {
           imageSrcSetPropName = "imageSrcSet";
           imageSizesPropName = "imageSizes";
         }
-        var _obj;
-        var linkProps =
-          ((_obj = {}), // Note: imagesrcset and imagesizes are not in the link element type with react 17.
-          _defineProperty(_obj, imageSrcSetPropName, imgAttributes.srcSet),
-          _defineProperty(_obj, imageSizesPropName, imgAttributes.sizes),
-          _defineProperty(_obj, "crossOrigin", rest.crossOrigin),
-          _obj);
-        var onLoadRef = (0, _react).useRef(onLoad);
-        (0, _react).useEffect(
-          function() {
-            onLoadRef.current = onLoad;
-          },
-          [onLoad]
-        );
-        var onLoadingCompleteRef = (0, _react).useRef(onLoadingComplete);
-        (0, _react).useEffect(
-          function() {
-            onLoadingCompleteRef.current = onLoadingComplete;
-          },
-          [onLoadingComplete]
-        );
-        var imgElementArgs = _extends(
+        const linkProps = {
+          // Note: imagesrcset and imagesizes are not in the link element type with react 17.
+          [imageSrcSetPropName]: imgAttributes.srcSet,
+          [imageSizesPropName]: imgAttributes.sizes,
+          crossOrigin: rest.crossOrigin
+        };
+        const onLoadRef = (0, _react).useRef(onLoad);
+        (0, _react).useEffect(() => {
+          onLoadRef.current = onLoad;
+        }, [onLoad]);
+        const onLoadingCompleteRef = (0, _react).useRef(onLoadingComplete);
+        (0, _react).useEffect(() => {
+          onLoadingCompleteRef.current = onLoadingComplete;
+        }, [onLoadingComplete]);
+        const imgElementArgs = _extends(
           {
-            isLazy: isLazy,
-            imgAttributes: imgAttributes,
-            heightInt: heightInt,
-            widthInt: widthInt,
-            qualityInt: qualityInt,
-            className: className,
-            imgStyle: imgStyle,
-            blurStyle: blurStyle,
-            loading: loading,
-            config: config,
-            fill: fill,
-            unoptimized: unoptimized,
-            placeholder: placeholder,
-            loader: loader,
-            srcString: srcString,
-            onLoadRef: onLoadRef,
-            onLoadingCompleteRef: onLoadingCompleteRef,
-            setBlurComplete: setBlurComplete,
-            setShowAltText: setShowAltText
+            isLazy,
+            imgAttributes,
+            heightInt,
+            widthInt,
+            qualityInt,
+            className,
+            imgStyle,
+            blurStyle,
+            loading,
+            config,
+            fill,
+            unoptimized,
+            placeholder,
+            loader,
+            srcString,
+            onLoadRef,
+            onLoadingCompleteRef,
+            setBlurComplete,
+            setShowAltText
           },
           rest
         );
@@ -345,7 +293,7 @@
         );
       }
       ("use client");
-      var configEnv = {
+      const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
         imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
         path: "/_next/image",
@@ -353,11 +301,11 @@
         dangerouslyAllowSVG: false,
         unoptimized: false
       };
-      var allImgs = new Map();
-      var perfObserver;
+      const allImgs = new Map();
+      let perfObserver;
       if (false) {
       }
-      var VALID_LOADING_VALUES = /* unused pure expression or super */ null && [
+      const VALID_LOADING_VALUES = /* unused pure expression or super */ null && [
         "lazy",
         "eager",
         undefined
@@ -375,26 +323,18 @@
         );
       }
       function getWidths(param, width, sizes) {
-        var deviceSizes = param.deviceSizes,
-          allSizes = param.allSizes;
+        let { deviceSizes, allSizes } = param;
         if (sizes) {
           // Find all the "vw" percent sizes used in the sizes prop
-          var viewportWidthRe = /(^|\s)(1?\d?\d)vw/g;
-          var percentSizes = [];
-          for (var match; (match = viewportWidthRe.exec(sizes)); match) {
+          const viewportWidthRe = /(^|\s)(1?\d?\d)vw/g;
+          const percentSizes = [];
+          for (let match; (match = viewportWidthRe.exec(sizes)); match) {
             percentSizes.push(parseInt(match[2]));
           }
           if (percentSizes.length) {
-            var _Math;
-            var smallestRatio =
-              (_Math = Math).min.apply(
-                _Math,
-                _toConsumableArray(percentSizes)
-              ) * 0.01;
+            const smallestRatio = Math.min(...percentSizes) * 0.01;
             return {
-              widths: allSizes.filter(function(s) {
-                return s >= deviceSizes[0] * smallestRatio;
-              }),
+              widths: allSizes.filter(s => s >= deviceSizes[0] * smallestRatio),
               kind: "w"
             };
           }
@@ -409,64 +349,52 @@
             kind: "w"
           };
         }
-        var widths = _toConsumableArray(
-          new Set( // > are actually 3x in the green color, but only 1.5x in the red and
+        const widths = [
+          ...new Set( // > are actually 3x in the green color, but only 1.5x in the red and
             // > blue colors. Showing a 3x resolution image in the app vs a 2x
             // > resolution image will be visually the same, though the 3x image
             // > takes significantly more data. Even true 3x resolution screens are
             // > wasteful as the human eye cannot see that level of detail without
             // > something like a magnifying glass.
             // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html
-            [width, width * 2 /*, width * 3*/].map(function(w) {
-              return (
-                allSizes.find(function(p) {
-                  return p >= w;
-                }) || allSizes[allSizes.length - 1]
-              );
-            })
+            [width, width * 2 /*, width * 3*/].map(
+              w => allSizes.find(p => p >= w) || allSizes[allSizes.length - 1]
+            )
           )
-        );
+        ];
         return {
-          widths: widths,
+          widths,
           kind: "x"
         };
       }
       function generateImgAttrs(param) {
-        var config = param.config,
-          src = param.src,
-          unoptimized = param.unoptimized,
-          width = param.width,
-          quality = param.quality,
-          sizes = param.sizes,
-          loader = param.loader;
+        let { config, src, unoptimized, width, quality, sizes, loader } = param;
         if (unoptimized) {
           return {
-            src: src,
+            src,
             srcSet: undefined,
             sizes: undefined
           };
         }
-        var ref = getWidths(config, width, sizes),
-          widths = ref.widths,
-          kind = ref.kind;
-        var last = widths.length - 1;
+        const { widths, kind } = getWidths(config, width, sizes);
+        const last = widths.length - 1;
         return {
           sizes: !sizes && kind === "w" ? "100vw" : sizes,
           srcSet: widths
-            .map(function(w, i) {
-              return ""
+            .map((w, i) =>
+              ""
                 .concat(
                   loader({
-                    config: config,
-                    src: src,
-                    quality: quality,
+                    config,
+                    src,
+                    quality,
                     width: w
                   }),
                   " "
                 )
                 .concat(kind === "w" ? w : i + 1)
-                .concat(kind);
-            })
+                .concat(kind)
+            )
             .join(", "),
           // It's intended to keep `src` the last attribute because React updates
           // attributes in order. If we keep `src` the first one, Safari will
@@ -475,9 +403,9 @@
           // and `sizes` are defined.
           // This bug cannot be reproduced in Chrome or Firefox.
           src: loader({
-            config: config,
-            src: src,
-            quality: quality,
+            config,
+            src,
+            quality,
             width: widths[last]
           })
         };
@@ -505,8 +433,8 @@
           return;
         }
         img["data-loaded-src"] = src;
-        var p = "decode" in img ? img.decode() : Promise.resolve();
-        p.catch(function() {}).then(function() {
+        const p = "decode" in img ? img.decode() : Promise.resolve();
+        p.catch(() => {}).then(() => {
           if (!img.parentNode) {
             // Exit early in case of race condition:
             // - onload() is called
@@ -522,30 +450,26 @@
             // Since we don't have the SyntheticEvent here,
             // we must create one with the same shape.
             // See https://reactjs.org/docs/events.html
-            var event = new Event("load");
+            const event = new Event("load");
             Object.defineProperty(event, "target", {
               writable: false,
               value: img
             });
-            var prevented = false;
-            var stopped = false;
+            let prevented = false;
+            let stopped = false;
             onLoadRef.current(
               _extends({}, event, {
                 nativeEvent: event,
                 currentTarget: img,
                 target: img,
-                isDefaultPrevented: function() {
-                  return prevented;
-                },
-                isPropagationStopped: function() {
-                  return stopped;
-                },
-                persist: function() {},
-                preventDefault: function() {
+                isDefaultPrevented: () => prevented,
+                isPropagationStopped: () => stopped,
+                persist: () => {},
+                preventDefault: () => {
                   prevented = true;
                   event.preventDefault();
                 },
-                stopPropagation: function() {
+                stopPropagation: () => {
                   stopped = true;
                   event.stopPropagation();
                 }
@@ -558,36 +482,33 @@
             onLoadingCompleteRef.current(img);
           }
           if (false) {
-            var widthModified,
-              heightModified,
-              valid,
-              position,
-              widthViewportRatio;
           }
         });
       }
-      var ImageElement = function(_param) {
-        var imgAttributes = _param.imgAttributes,
-          heightInt = _param.heightInt,
-          widthInt = _param.widthInt,
-          qualityInt = _param.qualityInt,
-          className = _param.className,
-          imgStyle = _param.imgStyle,
-          blurStyle = _param.blurStyle,
-          isLazy = _param.isLazy,
-          fill = _param.fill,
-          placeholder = _param.placeholder,
-          loading = _param.loading,
-          srcString = _param.srcString,
-          config = _param.config,
-          unoptimized = _param.unoptimized,
-          loader = _param.loader,
-          onLoadRef = _param.onLoadRef,
-          onLoadingCompleteRef = _param.onLoadingCompleteRef,
-          setBlurComplete = _param.setBlurComplete,
-          setShowAltText = _param.setShowAltText,
-          onLoad = _param.onLoad,
-          onError = _param.onError,
+      const ImageElement = _param => {
+        var {
+            imgAttributes,
+            heightInt,
+            widthInt,
+            qualityInt,
+            className,
+            imgStyle,
+            blurStyle,
+            isLazy,
+            fill,
+            placeholder,
+            loading,
+            srcString,
+            config,
+            unoptimized,
+            loader,
+            onLoadRef,
+            onLoadingCompleteRef,
+            setBlurComplete,
+            setShowAltText,
+            onLoad,
+            onError
+          } = _param,
           rest = _object_without_properties_loose(_param, [
             "imgAttributes",
             "heightInt",
@@ -627,7 +548,7 @@
               loading: loading,
               style: _extends({}, imgStyle, blurStyle),
               ref: (0, _react).useCallback(
-                function(img) {
+                img => {
                   if (!img) {
                     return;
                   }
@@ -660,8 +581,8 @@
                   onError
                 ]
               ),
-              onLoad: function(event) {
-                var img = event.currentTarget;
+              onLoad: event => {
+                const img = event.currentTarget;
                 handleLoading(
                   img,
                   srcString,
@@ -671,7 +592,7 @@
                   setBlurComplete
                 );
               },
-              onError: function(event) {
+              onError: event => {
                 // if the real image fails to load, this will ensure "alt" is visible
                 setShowAltText(true);
                 if (placeholder === "blur") {
@@ -687,12 +608,8 @@
         );
       };
       function defaultLoader(param) {
-        var config = param.config,
-          src = param.src,
-          width = param.width,
-          quality = param.quality;
+        let { config, src, width, quality } = param;
         if (false) {
-          var hasMatch, parsedSrc, missingValues;
         }
         if (src.endsWith(".svg") && !config.dangerouslyAllowSVG) {
           // Special case to make svg serve as-is to avoid proxying
@@ -720,7 +637,7 @@
       /***/
     },
 
-    /***/ 1356: /***/ function(__unused_webpack_module, exports) {
+    /***/ 746: /***/ function(__unused_webpack_module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -728,15 +645,11 @@
       });
       exports.getImageBlurSvg = getImageBlurSvg;
       function getImageBlurSvg(param) {
-        var widthInt = param.widthInt,
-          heightInt = param.heightInt,
-          blurWidth = param.blurWidth,
-          blurHeight = param.blurHeight,
-          blurDataURL = param.blurDataURL;
-        var std = blurWidth && blurHeight ? "1" : "20";
-        var svgWidth = blurWidth || widthInt;
-        var svgHeight = blurHeight || heightInt;
-        var feComponentTransfer = blurDataURL.startsWith("data:image/jpeg")
+        let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL } = param;
+        const std = blurWidth && blurHeight ? "1" : "20";
+        const svgWidth = blurWidth || widthInt;
+        const svgHeight = blurHeight || heightInt;
+        const feComponentTransfer = blurDataURL.startsWith("data:image/jpeg")
           ? "%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1'/%3E%3C/feComponentTransfer%3E%"
           : "";
         return "%3Csvg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 "
@@ -756,7 +669,7 @@
       /***/
     },
 
-    /***/ 3281: /***/ function(
+    /***/ 8710: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -775,10 +688,10 @@
         }
       });
 
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/compiled/react/jsx-runtime.js
-      var jsx_runtime = __webpack_require__(690);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/image.js
-      var next_image = __webpack_require__(1769);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/dist/compiled/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(1761);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_bah4pvzs5m2jsombgoz6nngonm/node_modules/next/image.js
+      var next_image = __webpack_require__(3608);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
       /* harmony default export */ var nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -808,7 +721,7 @@
       /***/
     },
 
-    /***/ 3561: /***/ function(
+    /***/ 6052: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -823,7 +736,7 @@
        * This source code is licensed under the MIT license found in the
        * LICENSE file in the root directory of this source tree.
        */
-      var f = __webpack_require__(9453),
+      var f = __webpack_require__(1058),
         k = Symbol.for("react.element"),
         l = Symbol.for("react.fragment"),
         m = Object.prototype.hasOwnProperty,
@@ -858,7 +771,7 @@
       /***/
     },
 
-    /***/ 690: /***/ function(
+    /***/ 1761: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
@@ -866,19 +779,19 @@
       "use strict";
 
       if (true) {
-        module.exports = __webpack_require__(3561);
+        module.exports = __webpack_require__(6052);
       } else {
       }
 
       /***/
     },
 
-    /***/ 1769: /***/ function(
+    /***/ 3608: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(9258);
+      module.exports = __webpack_require__(4558);
 
       /***/
     }
@@ -889,7 +802,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(7735);
+      return __webpack_exec__(7865);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 2047: /***/ function(
+    /***/ 1239: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__(1795);
+          return __webpack_require__(1871);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1795: /***/ function(
+    /***/ 1871: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -31,9 +31,7 @@
         }
         /* harmony export */
       });
-      var Page = function() {
-        return "Hello world \uD83D\uDC4B";
-      };
+      const Page = () => "Hello world \uD83D\uDC4B";
       var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
@@ -46,7 +44,7 @@
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
     /******/ __webpack_require__.O(0, [888, 179], function() {
-      return __webpack_exec__(2047);
+      return __webpack_exec__(1239);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [644],
   {
-    /***/ 9279: /***/ function(
+    /***/ 485: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/link",
         function() {
-          return __webpack_require__(9180);
+          return __webpack_require__(809);
         }
       ]);
       if (false) {
@@ -18,23 +18,17 @@
       /***/
     },
 
-    /***/ 561: /***/ function(module, exports) {
+    /***/ 6647: /***/ function(module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports.getDomainLocale = getDomainLocale;
-      var basePath =
+      const basePath =
         /* unused pure expression or super */ null && (false || "");
       function getDomainLocale(path, locale, locales, domainLocales) {
         if (false) {
-          var finalLocale,
-            proto,
-            domain,
-            target,
-            detectDomainLocale,
-            normalizeLocalePath;
         } else {
           return false;
         }
@@ -54,14 +48,9 @@
       /***/
     },
 
-    /***/ 8551: /***/ function(module, exports, __webpack_require__) {
+    /***/ 1917: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      var _slicedToArray = __webpack_require__(553) /* ["default"] */.Z;
-      var _typeOf = __webpack_require__(2359)["default"];
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -71,16 +60,16 @@
       var _object_without_properties_loose = __webpack_require__(
         5997
       ) /* ["default"] */.Z;
-      var _react = _interop_require_default(__webpack_require__(9453));
-      var _router = __webpack_require__(24);
-      var _addLocale = __webpack_require__(5244);
-      var _routerContext = __webpack_require__(1636);
-      var _appRouterContext = __webpack_require__(7083);
-      var _useIntersection = __webpack_require__(3855);
-      var _getDomainLocale = __webpack_require__(561);
-      var _addBasePath = __webpack_require__(6021);
+      var _react = _interop_require_default(__webpack_require__(1058));
+      var _router = __webpack_require__(8939);
+      var _addLocale = __webpack_require__(1349);
+      var _routerContext = __webpack_require__(4992);
+      var _appRouterContext = __webpack_require__(9005);
+      var _useIntersection = __webpack_require__(6441);
+      var _getDomainLocale = __webpack_require__(6647);
+      var _addBasePath = __webpack_require__(2193);
       ("use client");
-      var prefetched = {};
+      const prefetched = {};
       function prefetch(router, href, as, options) {
         if (false || !router) return;
         if (!(0, _router).isLocalURL(href)) return;
@@ -88,13 +77,11 @@
         // We need to handle a prefetch error here since we may be
         // loading with priority which can reject but we don't
         // want to force navigation since this is only a prefetch
-        Promise.resolve(router.prefetch(href, as, options)).catch(function(
-          err
-        ) {
+        Promise.resolve(router.prefetch(href, as, options)).catch(err => {
           if (false) {
           }
         });
-        var curLocale =
+        const curLocale =
           options && typeof options.locale !== "undefined"
             ? options.locale
             : router && router.locale;
@@ -102,7 +89,7 @@
         prefetched[href + "%" + as + (curLocale ? "%" + curLocale : "")] = true;
       }
       function isModifiedEvent(event) {
-        var target = event.currentTarget.target;
+        const { target } = event.currentTarget;
         return (
           (target && target !== "_self") ||
           event.metaKey ||
@@ -124,9 +111,9 @@
         isAppRouter,
         prefetchEnabled
       ) {
-        var nodeName = e.currentTarget.nodeName;
+        const { nodeName } = e.currentTarget;
         // anchors inside an svg have a lowercase nodeName
-        var isAnchorNodeName = nodeName.toUpperCase() === "A";
+        const isAnchorNodeName = nodeName.toUpperCase() === "A";
         if (
           isAnchorNodeName &&
           (isModifiedEvent(e) || !(0, _router).isLocalURL(href))
@@ -135,17 +122,17 @@
           return;
         }
         e.preventDefault();
-        var navigate = function() {
+        const navigate = () => {
           // If the router is an NextRouter instance it will have `beforePopState`
           if ("beforePopState" in router) {
             router[replace ? "replace" : "push"](href, as, {
-              shallow: shallow,
-              locale: locale,
-              scroll: scroll
+              shallow,
+              locale,
+              scroll
             });
           } else {
             // If `beforePopState` doesn't exist on the router it's the AppRouter.
-            var method = replace ? "replace" : "push";
+            const method = replace ? "replace" : "push";
             // Apply `as` if it's provided.
             router[method](as || href, {
               forceOptimisticNavigation: !prefetchEnabled
@@ -161,34 +148,26 @@
       }
       /**
        * React Component that enables client-side transitions between routes.
-       */ var Link = /*#__PURE__*/ _react.default.forwardRef(
+       */ const Link = /*#__PURE__*/ _react.default.forwardRef(
         function LinkComponent(props, forwardedRef) {
           if (false) {
-            var hasWarned,
-              optionalProps,
-              optionalPropsGuard,
-              requiredProps,
-              requiredPropsGuard,
-              createPropError;
           }
-          var children;
-          var hrefProp = props.href,
-            asProp = props.as,
-            childrenProp = props.children,
-            prefetchProp = props.prefetch,
-            passHref = props.passHref,
-            replace = props.replace,
-            shallow = props.shallow,
-            scroll = props.scroll,
-            locale = props.locale,
-            onClick = props.onClick,
-            onMouseEnter = props.onMouseEnter,
-            onTouchStart = props.onTouchStart,
-            _legacyBehavior = props.legacyBehavior,
-            legacyBehavior =
-              _legacyBehavior === void 0
-                ? Boolean(true) !== true
-                : _legacyBehavior,
+          let children;
+          const {
+              href: hrefProp,
+              as: asProp,
+              children: childrenProp,
+              prefetch: prefetchProp,
+              passHref,
+              replace,
+              shallow,
+              scroll,
+              locale,
+              onClick,
+              onMouseEnter,
+              onTouchStart,
+              legacyBehavior = Boolean(true) !== true
+            } = props,
             restProps = _object_without_properties_loose(props, [
               "href",
               "as",
@@ -215,58 +194,47 @@
               children
             );
           }
-          var p = prefetchProp !== false;
-          var router = _react.default.useContext(_routerContext.RouterContext);
+          const p = prefetchProp !== false;
+          let router = _react.default.useContext(_routerContext.RouterContext);
           // TODO-APP: type error. Remove `as any`
-          var appRouter = _react.default.useContext(
+          const appRouter = _react.default.useContext(
             _appRouterContext.AppRouterContext
           );
           if (appRouter) {
             router = appRouter;
           }
-          var ref = _react.default.useMemo(
-              function() {
-                var ref = _slicedToArray(
-                    (0, _router).resolveHref(router, hrefProp, true),
-                    2
-                  ),
-                  resolvedHref = ref[0],
-                  resolvedAs = ref[1];
-                return {
-                  href: resolvedHref,
-                  as: asProp
-                    ? (0, _router).resolveHref(router, asProp)
-                    : resolvedAs || resolvedHref
-                };
-              },
-              [router, hrefProp, asProp]
-            ),
-            href = ref.href,
-            as = ref.as;
-          var previousHref = _react.default.useRef(href);
-          var previousAs = _react.default.useRef(as);
+          const { href, as } = _react.default.useMemo(() => {
+            const [resolvedHref, resolvedAs] = (0, _router).resolveHref(
+              router,
+              hrefProp,
+              true
+            );
+            return {
+              href: resolvedHref,
+              as: asProp
+                ? (0, _router).resolveHref(router, asProp)
+                : resolvedAs || resolvedHref
+            };
+          }, [router, hrefProp, asProp]);
+          const previousHref = _react.default.useRef(href);
+          const previousAs = _react.default.useRef(as);
           // This will return the first child, if multiple are provided it will throw an error
-          var child;
+          let child;
           if (legacyBehavior) {
             if (false) {
             } else {
               child = _react.default.Children.only(children);
             }
           }
-          var childRef = legacyBehavior
+          const childRef = legacyBehavior
             ? child && typeof child === "object" && child.ref
             : forwardedRef;
-          var ref1 = _slicedToArray(
-              (0, _useIntersection).useIntersection({
-                rootMargin: "200px"
-              }),
-              3
-            ),
-            setIntersectionRef = ref1[0],
-            isVisible = ref1[1],
-            resetVisible = ref1[2];
-          var setRef = _react.default.useCallback(
-            function(el) {
+          const [setIntersectionRef, isVisible, resetVisible] = (0,
+          _useIntersection).useIntersection({
+            rootMargin: "200px"
+          });
+          const setRef = _react.default.useCallback(
+            el => {
               // Before the link getting observed, check if visible state need to be reset
               if (previousAs.current !== as || previousHref.current !== href) {
                 resetVisible();
@@ -283,29 +251,22 @@
             },
             [as, childRef, href, resetVisible, setIntersectionRef]
           );
-          _react.default.useEffect(
-            function() {
-              var shouldPrefetch =
-                isVisible && p && (0, _router).isLocalURL(href);
-              var curLocale =
-                typeof locale !== "undefined"
-                  ? locale
-                  : router && router.locale;
-              var isPrefetched =
-                prefetched[
-                  href + "%" + as + (curLocale ? "%" + curLocale : "")
-                ];
-              if (shouldPrefetch && !isPrefetched) {
-                prefetch(router, href, as, {
-                  locale: curLocale
-                });
-              }
-            },
-            [as, href, isVisible, locale, p, router]
-          );
-          var childProps = {
+          _react.default.useEffect(() => {
+            const shouldPrefetch =
+              isVisible && p && (0, _router).isLocalURL(href);
+            const curLocale =
+              typeof locale !== "undefined" ? locale : router && router.locale;
+            const isPrefetched =
+              prefetched[href + "%" + as + (curLocale ? "
Post job cleanup.
[command]/usr/bin/git version
git version 2.37.3
Temporarily overriding HOME='/home/runner/work/_temp/f5482b45-09a6-43b3-b086-5887228d2d7c' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/next.js/next.js
[command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
[command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
http.https://github.com/.extraheader
[command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
Cleaning up orphan processes
Commit: f448865773858767e6b87d1e6f82faae61539bac

@leerob
Copy link
Member

leerob commented Oct 18, 2022

Woohoo!

@styfle styfle marked this pull request as ready for review October 19, 2022 00:08
Copy link
Member

@leerob leerob left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docs LGTM

@kodiakhq kodiakhq bot merged commit cff9fc9 into canary Oct 19, 2022
@kodiakhq kodiakhq bot deleted the breaking-change-browserslist-swc branch October 19, 2022 01:38
Kikobeats pushed a commit to Kikobeats/next.js that referenced this pull request Oct 24, 2022
…egacyBrowsers: false` (vercel#41529)

Remove `browsersListForSwc` since it is enabled by default now, and disable `legacyBrowsers` by default.

This PR also bumps the default browserslist to the following:

- Chrome 64+
- Edge 79+
- Firefox 67+
- Opera 51+
- Safari 12+

See related RFC:
- Closes vercel#33227 

Co-authored-by: JJ Kasper <22380829+ijjk@users.noreply.github.com>
Belco90 added a commit to octochangelog/octochangelog-webapp that referenced this pull request Oct 24, 2022
Belco90 added a commit to octochangelog/octochangelog-webapp that referenced this pull request Oct 27, 2022
Belco90 added a commit to octochangelog/octochangelog-webapp that referenced this pull request Oct 28, 2022
Belco90 added a commit to octochangelog/octochangelog-webapp that referenced this pull request Nov 1, 2022
Belco90 added a commit to octochangelog/octochangelog-webapp that referenced this pull request Nov 1, 2022
* Bump version to canary (preview of the next major)

* Remove non-existing browserListForSwc config option

vercel/next.js#41529

* Rename future/image module to image

* Re-enable swc minify config option

* Remove swcMinify option

It's true by default on Next.js v13

* Update links

Mainly adds legacyBehavior to avoid removing the anchor child.

Auomatically transformed by Next.js codemode

* Bump Next.js ecosystem to official v13

* Regenerate lock

* Update Next.js ecosystem

* Bump happo-cypress to v4.0.1

* Update lock

* Bump Next.js ecosystem
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants